Open in
الاتصال عبر SIP (من دون رقم هاتف)
أرسِل المكالمات إلى وكيل ThunderPhone مباشرةً من نظام PBX أو شركة الاتصالات أو تطبيق SIP لديك، باستخدام معرّف URI لـ SIP يُستخدم مرة واحدة لكل مكالمة أو عنوان SIP دائم.
إذا كانت منظومتك الخاصة تتعامل بالفعل مع أرقام الهواتف (مثل سنترال PBX أو منصة مركز اتصال أو حساب شركة اتصالات تدوّر فيه الأرقام)، يمكنك إرسال المكالمات إلى وكيل ThunderPhone عبر SIP عادي. لا تستورد رقمًا أو تشتريه على ThunderPhone. تتصل منظومتك بعنوان SIP ويجيب الوكيل.
هناك نوعان من عناوين SIP:
| معرّف SIP لكل مكالمة | نقطة نهاية SIP | |
|---|---|---|
| يبدو كالتالي | sip:c-<token>@sip.thunderphone.com | sip:agent-<id>-<letters>@sip.thunderphone.com |
| يُنشأ باستخدام | POST /v1/calls/register-sip، مرة لكل مكالمة | POST /v1/sip-endpoints، مرة واحدة |
| المصادقة | الرمز المميز أحادي الاستخدام في العنوان | اسم مستخدم وكلمة مرور SIP digest (وقائمة سماح اختيارية لعناوين IP المصدر) |
| مناسب لـ | التطبيقات التي تستدعي واجهة برمجة تطبيقات بالفعل قبل تحويل مكالمة؛ ومتغيرات لكل مكالمة | أنظمة PBX وشركات الاتصالات التي ينبغي لها ببساطة «توجيه خط» إلى ThunderPhone |
| صالح لمدة | 5 دقائق، مكالمة واحدة | حتى تحذفه |
يوجّه كلا النوعين إلى وكيل واحد في مؤسستك، ويظهر كلاهما في سجل المكالمات مثل أي مكالمة واردة أخرى.
معرّف SIP لكل مكالمة
1. سجّل المكالمة
curl -X POST https://api.thunderphone.com/v1/calls/register-sip \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": 12,
"to_number": "+14155550142",
"variables": {"customer_name": "Ada"}
}'{
"call_id": 862197007562,
"sip_uri": "sip:c-1790372992.Qm3xT8vLk2PzR7nYw4HbJa.uF6sD1gK9eW2cX5vB8nM0q@sip.thunderphone.com",
"expires_at": "2026-09-25T21:49:52Z",
"agent_id": 12,
"to_number": "+14155550142"
}to_number(اختياري) هو الرقم الذي اتصل به المتصل من جهتك. يُخزَّن كوجهة المكالمة في سجل المكالمات، ويراه الوكيل باعتباره رقمه الخاص.- تملأ
variables(اختياري) عناصر{{placeholders}}النائبة في موجّه الوكيل، بالطريقة نفسها المتبعة في المكالمات الصادرة. call_idهو المعرّف الذي ستحمله المكالمة في سجل المكالمات (GET /v1/calls/{call_id}) بعد اتصالها.
2. اتصل بالمعرّف
أرسل المكالمة إلى sip_uri خلال 5 دقائق. يعمل المعرّف لمكالمة واحدة فقط:
بمجرد أن تستخدمه مكالمة، يصبح مستهلكًا، حتى إذا انتهت تلك المكالمة بسرعة.
باستخدام Twilio، على سبيل المثال، أعد TwiML التالي للمكالمة التي تريد تحويلها:
<Response>
<Dial>
<Sip>sip:c-1790372992.Qm3xT8vLk2PzR7nYw4HbJa.uF6sD1gK9eW2cX5vB8nM0q@sip.thunderphone.com;transport=tcp</Sip>
</Dial>
</Response>من نظام PBX، اتصل بالمعرّف كوجهة SIP. لا تحتاج إلى اسم مستخدم أو كلمة مرور؛ فالرمز المميز هو بيانات الاعتماد، لذا تعامل مع المعرّف كما لو كان كلمة مرور إلى أن يُستخدم.
نقطة نهاية SIP (عنوان دائم)
1. أنشئ نقطة النهاية
curl -X POST https://api.thunderphone.com/v1/sip-endpoints \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"agent_id": 12, "name": "Main PBX"}'{
"id": 7,
"name": "Main PBX",
"agent_id": 12,
"sip_uri": "sip:agent-12-jhxmginwjx@sip.thunderphone.com",
"username": "tp409667538f83",
"password": "8mJ0…",
"allowed_source_cidrs": [],
"status": "active",
"created_at": "2026-09-25T21:46:18Z"
}2. وجّه منظومتك إليها
اضبط جذع SIP أو وجهة باستخدام:
| الإعداد | القيمة |
|---|---|
| عنوان URI لـ SIP | sip_uri الخاص بنقطة النهاية |
| اسم المستخدم / كلمة المرور | username / password (مصادقة ملخصة؛ يتحداك ThunderPhone في كل مكالمة) |
| النقل | TCP على المنفذ 5060 أو TLS على المنفذ 5061 (موصى به)، أو UDP على المنفذ 5060 |
| برامج الترميز | G.711 (PCMU/PCMA) أو G.722 |
تنطبق إعدادات النقل وبرامج الترميز هذه أيضًا على عناوين URI لكل مكالمة. هناك تفصيلان للشبكة مهمان لكلا نوعي العناوين:
- اتبع Record-Route. بعد أول INVITE، تنتقل بقية إشارات
المكالمة (ACK وإنهاء المكالمة والتحويلات) إلى خادم ThunderPhone المحدد
الذي استجاب، والمسمى في ترويسة
Record-Route(sip-1.thunderphone.comأوsip-2.thunderphone.com، أو عنوان IP الخاص به). إذا كنت تقيّد SIP الصادر، فاسمح بهذه المضيفات بالإضافة إلىsip.thunderphone.com: 172.170.39.202(sip)، و13.86.104.121(sip-1) و20.80.98.90(sip-2). - ينتقل الصوت إلى مكان آخر. يحمل
sip.thunderphone.comالإشارات فقط. اسمح بالوسائط (RTP) إلى العناوين والمنافذ الموجودة في استجابة SDP.
تصل كل مكالمة إلى العنوان إلى وكيل نقطة النهاية، مهما كان الرقم الذي اتصل به المتصل من جهتك. لا تستورد أرقامًا مطلقًا، لذا لا يتطلب تدويرها من جهتك أي تغيير في ThunderPhone.
مرّر الرقم المطلوب الاتصال به (اختياري)
لتسجيل أي من أرقامك اتصل به المتصل، أرسله في INVITE ضمن
ترويسة X-Original-To (مثلًا X-Original-To: +14155550142) أو ضمن
ترويسة Diversion قياسية. يخزّنه ThunderPhone كوجهة للمكالمة.
تُختار الوجهة بهذا الترتيب: to_number المُعطى عند تسجيل عنوان URI لكل مكالمة،
ثم رقم في X-Original-To، ثم رقم في Diversion.
إذا لم يوفر أي منها رقمًا، فسيُعرض كـ sip:agent-12-jhxmginwjx (عنوان
نقطة النهاية) لنقطة النهاية، أو sip:call لعنوان URI لكل مكالمة.
مع Twilio يمكنك إضافة الترويسة إلى عنوان URI لـ SIP:
sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142.
قيّد عناوين IP المصدر (اختياري)
اضبط allowed_source_cidrs لقبول المكالمات من عناوين الإشارات
الخاصة بك فقط، بالإضافة إلى اسم المستخدم وكلمة المرور:
curl -X PATCH https://api.thunderphone.com/v1/sip-endpoints/7 \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"allowed_source_cidrs": ["203.0.113.0/28"]}'تُرفض المكالمات من أي عنوان آخر قبل أن تصل إلى الوكيل. استخدم العناوين التي ترسل منظومتك إشارات SIP منها (وبالنسبة إلى شركة اتصالات مثل Twilio، نطاقات عناوين IP للإشارات المنشورة لديها)، وليس عناوين الوسائط الخاصة بك.
ما يراه المتصل ونظامك
- معرّف المتصل: يُخزَّن جزء المستخدم من ترويسة
Fromبصفته المتصل. يُوحَّد رقم الهاتف (الأرقام، مع إمكانية تضمين+أو المسافات أو الشرطات أو النقاط أو الأقواس) إلى تنسيق E.164؛ ويُحتفَظ بأي قيمة أخرى، مثل اسم مستخدم SIP، كما أُرسلت. يُحتفَظ بحد أقصى قدره 32 حرفًا، ويُخزَّن المتصل المفقود بوصفهanonymous. - المكالمات المرفوضة: يتلقى عنوان URI غير المعروف أو المنتهي الصلاحية لكل مكالمة رد SIP
404 Not Found. يُفصل عنوان URI مستخدم مسبقًا لكل مكالمة، أو نقطة نهاية معطلة، أو مصدر خارج قائمة السماح (بما في ذلك أي مكالمة UDP إلى نقطة نهاية لها قائمة سماح) قبل أن يبدأ الوكيل: قد يرى نظامك فشل المكالمة، أو اتصالها ثم انتهائها فورًا. لا تنشئ حالات الرفض هذه إدخالًا في سجل المكالمات. إذا نفد رصيد مؤسستك أو بلغت حد الإنفاق، تُرفض المكالمة وتظهر في سجل المكالمات كمكالمة فاشلة بلا رسوم. لإعادة محاولة اتصال لكل مكالمة، سجّل عنوان URI جديدًا. - التحويلات: تعمل التحويلات الباردة للوكيل (يرسل ThunderPhone طلب SIP
REFER، الذي يجب أن يقبله نظامك). لا تتوفر التحويلات الدافئة في مكالمات عناوين SIP، لأنه لا يوجد رقم ThunderPhone ليظهر كمعرّف للمتصل لمسار الاتصال الثاني. مع Twilio، يربط TwiML أعلاه الوكيل لكنه لا يعالج التحويلات: أضفreferUrl="https://YOUR_SERVER/sip-transfer"إلى<Dial>، واجعل ذلك الخطاف البرمجي يقرأReferTransferTargetويعيد TwiML يطلب وجهة التحويل (راجع دليل SIP REFER من Twilio). - الرسائل النصية: لا يمكن لعنوان SIP والرقم المطلوب إجراء مراسلات نصية. لا يمكن للوكيل إرسال رسائل نصية أثناء مكالمة بعنوان SIP إلا إذا كان لديه رقم منفصل قادر على SMS ومُعدّ للمراسلة؛ وإلا فلن تكون أداة SMS الخاصة به متاحة.
- التسجيل: لا يقبل ThunderPhone طلبات SIP
REGISTER. أرسل المكالمات إلى العنوان؛ ولا تسجّل فيه.
الأسعار
تُحتسب مكالمات عناوين SIP وفق السعر المعتاد للوكيل لكل دقيقة. لا توجد رسوم على رقم الهاتف، لأن أي رقم ThunderPhone لا يحمل المكالمة. تحاسب شركتك الناقلة جانبها من المكالمة كالمعتاد. راجع الأسعار.
اختبره
- أنشئ عنوان URI لكل مكالمة أو نقطة نهاية كما ورد أعلاه.
- اطلبه من نظامك، أو من أي هاتف برمجي SIP (بالنسبة إلى نقطة النهاية، أدخل اسم المستخدم وكلمة المرور).
- بعد إنهاء المكالمة، افتح المكالمة في المكالمات في لوحة التحكم، أو استرجعها
باستخدام
GET /v1/calls/{call_id}. ستعرض المتصل والوجهة (راجع الترتيب ضمن "مرّر الرقم المطلوب") والنص المفرغ.
تفاصيل API: مرجع API لعناوين SIP.