كيفية ربط Asterisk بـ Bitcall الدليل الشامل لمصادقة SIP لعام 2026
كيفية ربط Asterisk بـ Bitcall الدليل الشامل لمصادقة SIP لعام 2026
دليل شامل ومبسّط للمبتدئين لربط خادم Asterisk بـ Bitcall باستخدام مصادقة اسم المستخدم وكلمة المرور عبر SIP — تم اختباره والتحقق منه على Ubuntu 24.04 مع Asterisk 20.

ما ستحتاج إليه
خادم VPS يعمل بنظام Ubuntu 22.04 أو 24.04 LTS.
حساب Bitcall نشط: انتقل إلى panel.bitcall.io
بيانات اعتماد SIP الخاصة بـ Bitcall: اسم المستخدم، كلمة المرور، والنطاق.
وصول SSH إلى خادمك.
عن ماذا يتحدث هذا المقال
يرشدك هذا الدليل خطوة بخطوة لربط نظام Asterisk PBX بشبكة Bitcall الصوتية السحابية عبر تسجيل SIP. ستقوم بتهيئة إما محرك chan_sip القديم أو محرك chan_pjsip الحديث، والتحقق من التسجيل، وإعداد خطة اتصال صادر، وإجراء أول مكالمة تجريبية — كل ذلك من سطر الأوامر. لا يُشترط وجود خبرة سابقة بـ Asterisk.
المرحلة 1: تحضير الخادم [خطوة في سطر الأوامر]
قبل تثبيت أي شيء، تأكد من أن خادمك جاهز.
الخطوة 1 اتصل بخادمك:
ssh root@your-server-ipالخطوة 2 تحقق من إصدار Ubuntu:
lsb_release -aيجب أن ترى Ubuntu 22.04 أو 24.04 LTS. كلاهما يعمل بشكل مثالي.
الخطوة 3 قم بتثبيت الأدوات الأساسية:
apt install -y curl wget nano net-toolsهذه أدوات مساعدة صغيرة مطلوبة أثناء التثبيت. إذا كانت مثبتة بالفعل، فسيؤكد الأمر ذلك ببساطة وينتقل لن ينكسر شيء.
المرحلة 2: تثبيت Asterisk [خطوة في سطر الأوامر]
الخطوة 4 قم بتثبيت Asterisk:
apt install -y asteriskيقوم هذا بتثبيت Asterisk الإصدار 20 تلقائيًا. يستغرق من 2 إلى 5 دقائق. سترى الكثير من النصوص تتمرر — هذا طبيعي، فقط انتظر حتى ينتهي.
الخطوة 5 تأكد من أن Asterisk يعمل:
asterisk -rx "core show version"يجب أن ترى: Asterisk 20.x.x
المرحلة 3: تهيئة Bitcall الخيار أ: chan_sip (sip.conf) [خطوة في سطر الأوامر]
استخدم هذا الخيار إذا كان نظامك يحمّل وحدة chan_sip القديمة. هذا هو محرك SIP الكلاسيكي الذي يأتي مع Asterisk.
الخطوة 6 انتقل إلى مجلد تهيئة Asterisk:
cd /etc/asteriskهذا هو المجلد الذي يحتوي على جميع ملفات تهيئة Asterisk.
الخطوة 7 — أضف سطر التسجيل إلى sip.conf:
يقوم هذا الأمر بإضافة سطر التسجيل تلقائيًا في المكان الصحيح داخل قسم [general] — لا حاجة لفتح الملف أو تعديله يدويًا:
sed -i '/^\[general\]/a register => your-bitcall-username:your-bitcall-password@your-bitcall-domain' /etc/asterisk/sip.conf⚠️ استبدل
your-bitcall-usernameوyour-bitcall-passwordوyour-bitcall-domainببيانات اعتماد Bitcall الحقيقية الخاصة بك من panel.bitcall.io.
تحقق من أنه تمت الإضافة بشكل صحيح:
grep "register =>" /etc/asterisk/sip.confيجب أن ترى سطر التسجيل الخاص بك في المخرجات.
CAUTION
يجب أن يكون سطر register => داخل قسم [general] في sip.conf. يتعامل أمر sed أعلاه مع هذا تلقائيًا. إذا أضفته يدويًا، تأكد من وضعه مباشرة بعد [general] — إذا وُضع خارجه، سيتجاهله Asterisk بصمت ويعرض "0 SIP registrations."
الخطوة 8 — أضف كتلة تهيئة peer لـ Bitcall:
قم بتشغيل هذا الأمر لإلحاق تفاصيل اتصال Bitcall تلقائيًا في نهاية sip.conf:
cat >> /etc/asterisk/sip.conf << 'EOF'
[bitcall]
type=peer
host=your-bitcall-domain
port=5060
username=your-username
secret=your-password
fromuser=your-username
fromdomain=your-bitcall-domain
insecure=invite
qualify=yes
dtmfmode=rfc2833
disallow=all
allow=ulaw
allow=alaw
nat=yes
canreinvite=noEOF
⚠️ استبدل
your-bitcall-domainوyour-bitcall-usernameوyour-bitcall-passwordببيانات اعتماد Bitcall الحقيقية الخاصة بك.
NOTE
يجب أن يكون السطر الأخير EOF فقط — هذا يخبر الأمر "لقد انتهيت، احفظ الآن." ينفّذ فورًا.
الخطوة 9 — أضف خطة الاتصال الصادر إلى extensions.conf:
cat >> /etc/asterisk/extensions.conf << 'EOF'
[outbound-bitcall]
exten => _X.,1,Set(CALLERID(num)=your-caller-id)
same => n,Dial(SIP/${EXTEN}@bitcall,60)
same => n,Hangup()EOF
⚠️ استبدل
your-caller-idبمعرّف المتصل (Caller ID) الصالح من حسابك على Bitcall بالتنسيق الدولي — مثلاً+33612345678.
الخطوة 10 — أعد تحميل Asterisk:
asterisk -rx "reload"يخبر هذا Asterisk بإعادة قراءة جميع ملفات التهيئة. بدون هذه الخطوة، يتم تجاهل تعديلاتك تمامًا.
الخطوة 11 — تحقق من التسجيل:
asterisk -rx "sip show registry"يجب أن ترى مخرجات مثل هذه:
Host Username Refresh State Reg.Timeyour-bitcall-domain:5060 your-user 285 Registered Mon, 23 Mar 2026 13:05:51
1 SIP registrations.IMPORTANT
إذا رأيت 0 SIP registrations، فالسبب الأكثر شيوعًا هو أن سطر register => موجود خارج قسم [general]. ارجع إلى الخطوة 7 وتحقق من موضعه.
المرحلة 4: تهيئة Bitcall الخيار ب: PJSIP (pjsip.conf) [خطوة في سطر الأوامر]
استخدم هذا الخيار إذا كان نظامك يشغّل Asterisk 16 أو أحدث chan_pjsip هو المعيار الحديث لـ Asterisk.
IMPORTANT
تعارض المنفذ: يمكن لمحرك SIP واحد فقط استخدام المنفذ 5060 في كل مرة. إذا قررت استخدام PJSIP، تأكد من أن chan_sip معطّل أو منقول إلى منفذ مختلف.
الخطوة 12 أضف كتل تهيئة PJSIP:
قم بتشغيل هذا الأمر لإنشاء ملف pjsip.conf جديد بجميع كتل الاتصال المطلوبة:
cat > /etc/asterisk/pjsip.conf << 'EOF'
; === BitCall PJSIP Configuration ===
[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0:5060
[bitcall]
type=registration
outbound_auth=bitcall-auth
server_uri=sip:your-bitcall-domain
client_uri=sip:your-bitcall-username@your-bitcall-domain
retry_interval=60
contact_user=your-bitcall-username
[bitcall-auth]
type=auth
auth_type=userpass
username=your-bitcall-username
password=your-bitcall-password
[bitcall-aor]
type=aor
contact=sip:your-bitcall-domain
[bitcall-endpoint]
type=endpoint
transport=transport-udp
aors=bitcall-aor
auth=bitcall-auth
context=outbound-bitcall
disallow=all
allow=ulaw
allow=alaw
outbound_auth=bitcall-auth
[bitcall-identify]
type=identify
endpoint=bitcall-endpoint
match=your-bitcall-domainEOF
⚠️ استبدل
your-bitcall-domainوyour-bitcall-usernameوyour-bitcall-passwordببيانات اعتماد Bitcall الحقيقية الخاصة بك.
الخطوة 13 — أضف خطة الاتصال الصادر لـ PJSIP:
cat >> /etc/asterisk/extensions.conf << 'EOF'
[outbound-bitcall]
exten => _X.,1,Set(CALLERID(num)=your-caller-id)
same => n,Dial(PJSIP/${EXTEN}@bitcall-endpoint)
same => n,Hangup()EOF
⚠️ استبدل
your-caller-idبرقمك الصالح بالتنسيق الدولي.
الخطوة 14 أعد تشغيل Asterisk:
على عكس chan_sip، تتطلب تغييرات نقل PJSIP (مثل الربط بالمنفذ 5060) إعادة تشغيل كاملة:
asterisk -rx "core restart now"الخطوة 15 تحقق من تسجيل PJSIP:
asterisk -rx "pjsip show registrations"يجب أن ترى مخرجات مثل هذه:
<Registration/ServerURI...> <Auth...> <Status...>=======================================================================
bitcall/sip:your-bitcall-domain bitcall-auth Registered
قم بإجراء أول مكالمة تجريبية [خطوة في سطر الأوامر]
الآن بعد أن قمت بتهيئة Asterisk (عبر الخيار أ أو الخيار ب)، قم بتشغيل أحد هذه الأوامر مباشرة في سطر أوامر SSH لاختبار الاتصال:
لـ chan_sip (الخيار أ):
asterisk -rx "channel originate SIP/bitcall/+33612345678 application Playback hello-world"لـ PJSIP (الخيار ب):
asterisk -rx "channel originate PJSIP/+33612345678@bitcall-endpoint application Playback hello-world"⚠️ استبدل
+33612345678برقم هاتفك المحمول.
ما يجب أن يحدث:
يرن هاتفك.
عندما تجيب، تسمع رسالة "hello world" الصوتية.
هذا يؤكد أن Bitcall يعالج حركة مرور Asterisk الخاصة بك بنجاح.
استكشاف المشاكل الشائعة وإصلاحها
المشكلةالسببالحل [خطوة في سطر الأوامر]0 SIP registrations (chan_sip)سطر register => خارج [general]تحقق بـ grep "register =>" /etc/asterisk/sip.conf. انقله داخل [general].تم رفض تسجيل SIPبيانات اعتماد خاطئةتحقق من اسم المستخدم/كلمة المرور من لوحة Bitcall. تأكد من عدم وجود مسافات أو أخطاء إملائية.فشل ربط المنفذ 5060محركا SIP على نفس المنفذأوقف chan_sip أولاً: asterisk -rx "module unload chan_sip.so".صوت أحادي الاتجاهمشكلة NAT / SIP ALGلـ chan_sip، عيّن nat=yes. عطّل SIP ALG على جهاز التوجيه/الجدار الناري.المكالمة تنقطع بسرعةinsecure=invite مفقودأضف insecure=invite إلى تهيئة peer/endpoint الخاصة بك.لم يُعثر على Endpoint / Peerاسم غير مطابق في extensions.confتحقق من أن المعرّف يطابق التهيئة تمامًا (bitcall مقابل bitcall-endpoint).
مرجع سريع: التبديل بين chan_sip و PJSIP
TIP
بما أن محرك واحد فقط يمكنه استخدام المنفذ 5060، استخدم هذه الأوامر للتبديل الدائم بنقرة واحدة.
للتبديل من chan_sip → PJSIP:
sed -i '/\[modules\]/a noload => chan_sip.so' /etc/asterisk/modules.conf
asterisk -rx "core restart now"
asterisk -rx "pjsip show registrations"ثم حدّث سلسلة Dial في extensions.conf لاستخدام PJSIP/.
للتبديل من PJSIP → chan_sip:
sed -i '/noload => chan_sip.so/d' /etc/asterisk/modules.conf
sed -i '/\[modules\]/a noload => res_pjsip.so' /etc/asterisk/modules.conf
asterisk -rx "core restart now"
asterisk -rx "sip show registry"ثم حدّث سلسلة Dial في extensions.conf للرجوع إلى Dial(SIP/...).
النتيجة المتوقعة
يعرض Asterisk حالة Registered على نطاق Bitcall الخاص بك في مخرجات الحالة (sip show registry أو pjsip show registrations). يتم توجيه المكالمات الصادرة عبر خط Bitcall trunk باستخدام معرّف المتصل (Caller ID) الذي قمت بتهيئته. مكالمتك التجريبية الأولى تجعل هاتفك يرن وتشغّل رسالة "hello world" — مما يؤكد الاتصال الكامل من البداية إلى النهاية بين خادم Asterisk الخاص بك وشبكة Bitcall الصوتية السحابية.
التعليق الاجتماعي
🔧 نظام Asterisk PBX الخاص بك + Bitcall = بنية تحتية صوتية لا تُقهر. تسجيل SIP. تهيئة PJSIP. خطط اتصال صادر. الدليل الشامل والمبسّط للمبتدئين لربط Asterisk 20 بـ Bitcall — تم اختباره على Ubuntu 24.04. ☁️ توقف عن التخمين. ابدأ بالاتصال.
How to Set Up Bitcall as a Carrier in Vicidial
كيفية إعداد Bitcall كخط SIP Trunk في 3CX
في هذه الصفحة
ما ستحتاج إليه
المرحلة 1: تحضير الخادم [خطوة في سطر الأوامر]
المرحلة 2: تثبيت Asterisk [خطوة في سطر الأوامر]
المرحلة 3: تهيئة Bitcall الخيار أ: chan_sip (sip.conf) [خطوة في سطر الأوامر]
المرحلة 4: تهيئة Bitcall الخيار ب: PJSIP (pjsip.conf) [خطوة في سطر الأوامر]
قم بإجراء أول مكالمة تجريبية [خطوة في سطر الأوامر]
استكشاف المشاكل الشائعة وإصلاحها
مرجع سريع: التبديل بين chan_sip و PJSIP
النتيجة المتوقعة
التعليق الاجتماعي