بناء PJSIP trunk في Asterisk: تسجيل رقم من SMS Conecta

آخر تحديث 2026-09-30 · كتبه فريق SMS Conecta (SMSConecta Inc.)

الإجابة السريعة: لتوصيل Asterisk بـ SMS Conecta، أضف خمسة أقسام في pjsip.conf لتشكيل trunk واحد: قسم registration يشير إلى sip.smsconecta.com، وقسم auth باسم مستخدم وكلمة مرور SIP، وقسم aor، وقسم endpoint مقيَّد بـ ulaw وalaw، وقسم identify يطابق خادمنا. ثم وجّه رقم DID في extensions.conf واتصل للخارج عبر الـ endpoint.

هذا هو المسار الخالص لـ Asterisk الموجَّه لمن يديرون ملفات الإعداد بأنفسهم مباشرة. ويتبع تنظيم الـ trunk في أمثلة res_pjsip الرسمية، مع تعبئة قيم SMS Conecta فيه.

01

ما تحتاج إليه

  • ✓ رقم من SMS Conecta مع اسم مستخدم وكلمة مرور SIP الخاصين به، من صفحة الرقم في لوحة التحكم.
  • ✓ Asterisk مع تحميل res_pjsip (أي إصدار مدعوم حاليًا).
  • ✓ وصول إلى سطر الأوامر لتحرير /etc/asterisk/pjsip.conf وextensions.conf، وAsterisk CLI للاختبار.
02

قيم SMS Conecta المستخدمة في الإعداد

الإعدادالقيمة
خادم SIP / المسجِّل / النطاقsip.smsconecta.com
بروتوكول النقل والمنفذUDP أو TCP 5060؛ وTLS 5061
اسم المستخدم<SIP_USERNAME> (من صفحة الرقم في لوحة التحكم)
كلمة المرور<SIP_PASSWORD> (من الصفحة نفسها)
المصادقةDigest (اسم مستخدم + كلمة مرور)، قائمة على التسجيل
الترميز (Codecs)G.711 µ-law (PCMU) وG.711 A-law (PCMA)
DTMFRFC 2833 (أحداث RTP) أو SIP INFO
الرقم الوارد (DID)<YOUR_NUMBER> بصيغة E.164
03

pjsip.conf: النقل والـ trunk

الصق هذا في pjsip.conf واستبدل القيم المؤقتة بما يخصك. تجاوز كتلة transport إن كان لديك نقل UDP جاهز أصلًا. ولـ TCP أو TLS، أنشئ النقل المطابق واستخدم المنفذ 5061 مع TLS.

يعتمد قسم identify على مطابقة عنوان مصدر حركة SIP القادمة منا؛ ويحلّ Asterisk اسم المضيف عند تحميل الإعدادات.

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
; behind NAT also set:
; external_media_address=<PUBLIC_IP>
; external_signaling_address=<PUBLIC_IP>
; local_net=192.168.0.0/16

[smsconecta]
type=registration
transport=transport-udp
outbound_auth=smsconecta-auth
server_uri=sip:sip.smsconecta.com:5060
client_uri=sip:<SIP_USERNAME>@sip.smsconecta.com
contact_user=<YOUR_NUMBER>
retry_interval=60

[smsconecta-auth]
type=auth
auth_type=userpass
username=<SIP_USERNAME>
password=<SIP_PASSWORD>

[smsconecta]
type=aor
contact=sip:sip.smsconecta.com:5060
qualify_frequency=60

[smsconecta]
type=endpoint
transport=transport-udp
context=from-smsconecta
disallow=all
allow=ulaw,alaw
dtmf_mode=rfc4733
outbound_auth=smsconecta-auth
aors=smsconecta
from_user=<SIP_USERNAME>
from_domain=sip.smsconecta.com
callerid=<YOUR_NUMBER>
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes

[smsconecta]
type=identify
endpoint=smsconecta
match=sip.smsconecta.com
04

extensions.conf: خطة الاتصال الواردة والصادرة

تصل المكالمات الواردة إلى السياق from-smsconecta حيث يكون رقمك هو التحويلة المطلوبة. أما النمط الصادر فيرسل الأرقام المطلوبة مبدوءة بعلامة زائد عبر الـ trunk.

في السطر الصادر، ${EXTEN} هو متغير القناة في Asterisk الذي يحمل الرقم المطلوب. غيّر 1001 لتحويلتك أو مجموعة الرنين الخاصة بك.

[from-smsconecta]
; inbound: DID = your SMS Conecta number
exten => <YOUR_NUMBER>,1,NoOp(Inbound call on SMS Conecta DID)
 same => n,Dial(PJSIP/1001,30)
 same => n,Hangup()
; catch other DID formats (with or without +)
exten => _X.,1,Goto(from-smsconecta,<YOUR_NUMBER>,1)

[from-internal]
; outbound: dial +<country code><number>
exten => _+X.,1,Set(CALLERID(num)=<YOUR_NUMBER>)
 same => n,Dial(PJSIP/${EXTEN}@smsconecta,60)
 same => n,Hangup()
05

خطوة بخطوة: التحميل والاختبار

  1. 1احفظ الملفين ونفّذ pjsip reload وdialplan reload في Asterisk CLI (asterisk -rvvv).
  2. 2نفّذ pjsip show registrations وتأكد من أن smsconecta في حالة Registered.
  3. 3نفّذ pjsip show endpoint smsconecta للتحقق من الترميز وجهة اتصال aor ومطابقة identify.
  4. 4اتصل برقمك من SMS Conecta من هاتف آخر وراقب CLI: يجب أن تدخل المكالمة إلى from-smsconecta وترن التحويلة 1001.
  5. 5اطلب رقمًا دوليًا من تحويلة محلية بصيغة +رمز الدولة، وتأكد من أن الطرف المتصَل به يرى رقمك من SMS Conecta.
06

هوية المتصل في المكالمات الصادرة

اضبط هوية المتصل على الرقم الذي يملك حساب SIP، إما عبر callerid في الـ endpoint أو عبر CALLERID(num) في خطة الاتصال كما هو موضح أعلاه. حافظ على تطابقها مع البيانات المستخدمة في الـ trunk. وتُستهلك المكالمات الصادرة من حصة 1,000 دقيقة المشمولة شهريًا مع الرقم.

07

حل المشكلات

  • ✓ التسجيل 401/403: عدم تطابق في اسم المستخدم أو كلمة المرور، أو أن قسم auth غير مرتبط عبر outbound_auth. نفّذ pjsip set logger on واقرأ تبادل رسائل REGISTER.
  • ✓ رفض المكالمات الواردة كمجهولة أو مع «No matching endpoint found»: قسم identify غائب أو عنوان المصدر لا يطابق. تحقق من أن اسم المضيف يُحلّ على خادمك ثم أعد التحميل.
  • ✓ صوت في اتجاه واحد: اضبط external_media_address وexternal_signaling_address وlocal_net على النقل، وحافظ على تفعيل rtp_symmetric وforce_rport، وافتح نطاق المنافذ المحدد في rtp.conf عند جدار الحماية.
  • ✓ 488 Not Acceptable Here: عدم تطابق في الترميز. حافظ على allow=ulaw,alaw.
  • ✓ DTMF غير ملتقط: حافظ على dtmf_mode=rfc4733 (طريقة أحداث RTP المعرّفة في RFC 2833)؛ ولا تستخدم info إلا إن تطلّبه الطرف الآخر صريحًا.
FAQ

الأسئلة المتكررة

هل يلزم وجود قسمَي registration وidentify معًا؟
نعم. يُعلم التسجيل SMS Conecta بوجهة إرسال مكالماتك، ويمكّن identify Asterisk من مطابقة تلك المكالمات الواردة مع endpoint smsconecta.
هل rfc4733 يعادل DTMF وفق RFC 2833؟
نعم. حدّث RFC 4733 معيار RFC 2833 ويصف نفس طريقة أحداث RTP، وهي ما يعتمده إعداد rfc4733 في Asterisk.
هل يمكن استخدام chan_sip عوضًا عن PJSIP؟
أُزيل chan_sip من إصدارات Asterisk الحالية، لذا يبقى PJSIP المسار المدعوم. وتبقى القيم نفسها صالحة للخادم والبيانات والترميز.
هل TLS قابل للاستخدام مع Asterisk؟
نعم. أنشئ نقل TLS، ووجّه registration وaor إلى المنفذ 5061 مع الإشارة إلى ذلك النقل. أما تشفير الوسائط SRTP فغير متوفر.
كيف أضيف رقمًا ثانيًا من SMS Conecta؟
كرّر أقسام registration وauth وaor وendpoint وidentify باسم جديد وببيانات ذلك الرقم، وأضف رقم DID الخاص به إلى خطة الاتصال.
هل تقدم SMS Conecta واجهة API لـ Asterisk؟
لا. لا توجد واجهة API للعملاء ولا webhooks؛ يتصل Asterisk عبر SIP القياسي ببيانات كل رقم.
→
SRC
✓

كل رقم يأتي جاهزًا بكل ما تحتاجه

  • ✓ استقبال رسائل دون حد أقصى
  • ✓ استقبال مكالمات دون حد أقصى
  • ✓ 500 رسالة صادرة في الشهر
  • ✓ 1000 دقيقة صادرة في الشهر
  • ✓ بيانات SIP لربط أي تطبيق اتصال أو سنترال
  • ✓ تحويل المكالمات لأي جهاز هاتف
  • ✓ أداة اتصال من لوحتك عبر المتصفح
  • ✓ يبقى الرقم ملكك طوال الفترة التي تريدها
  • ✓ ضمان الاستبدال خلال 7 أيام — رقم جديد مجانًا

يبدأ السعر من $1.80/شهريًا · يُسدد سنويًا ($21.60).

ضمان الاستبدال خلال 7 أيام

إذا لم يعمل الرقم معك خلال 7 أيام من الشراء، كأن يرفضه تطبيق ما أو لا تصل الرموز، تستبدله برقم جديد مجانًا بنقرة واحدة من لوحة التحكم، حتى مرتين، سواء استُخدم الرقم أم لا. وإذا لم يُستخدم في أي مكالمة أو رسالة SMS، يمكنك بدلًا من ذلك استرداد المبلغ كاملًا.

تصفح جميع الأرقام →

تتوفر صفحتا إنشاء الحساب والدفع باللغة الإنجليزية حصريًا.