---
title: "الاتصال عبر SIP (من دون رقم هاتف)"
description: "أرسِل المكالمات إلى وكيل 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. سجّل المكالمة

```bash
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"}
  }'
```

```json
{
  "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}}` النائبة في موجّه الوكيل،
  بالطريقة نفسها المتبعة في [المكالمات الصادرة](/ar/guides/call-variables).
- `call_id` هو المعرّف الذي ستحمله المكالمة في سجل المكالمات
  (`GET /v1/calls/{call_id}`) بعد اتصالها.

### 2. اتصل بالمعرّف

أرسل المكالمة إلى `sip_uri` خلال 5 دقائق. يعمل المعرّف لمكالمة واحدة فقط:
بمجرد أن تستخدمه مكالمة، يصبح مستهلكًا، حتى إذا انتهت تلك المكالمة بسرعة.

باستخدام Twilio، على سبيل المثال، أعد TwiML التالي للمكالمة التي تريد تحويلها:

```xml
<Response>
  <Dial>
    <Sip>sip:c-1790372992.Qm3xT8vLk2PzR7nYw4HbJa.uF6sD1gK9eW2cX5vB8nM0q@sip.thunderphone.com;transport=tcp</Sip>
  </Dial>
</Response>
```

من نظام PBX، اتصل بالمعرّف كوجهة SIP. لا تحتاج إلى اسم مستخدم أو كلمة مرور؛
فالرمز المميز هو بيانات الاعتماد، لذا تعامل مع المعرّف كما لو كان كلمة مرور إلى أن
يُستخدم.

## نقطة نهاية SIP (عنوان دائم)

### 1. أنشئ نقطة النهاية

```bash
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"}'
```

```json
{
  "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"
}
```

<Warning>
  تُعاد `password` مرة واحدة فقط، عند إنشاء نقطة النهاية. خزّنها
  فورًا في إعدادات مقسم PBX أو شركة الاتصالات لديك. إذا فقدتها، فغيّرها باستخدام
  `POST /v1/sip-endpoints/{id}/rotate-password`.
</Warning>

### 2. وجّه منظومتك إليها

اضبط جذع SIP أو وجهة باستخدام:

| الإعداد | القيمة |
|---|---|
| عنوان URI لـ SIP | `sip_uri` الخاص بنقطة النهاية |
| اسم المستخدم / كلمة المرور | `username` / `password` (مصادقة ملخصة؛ يتحداك ThunderPhone في كل مكالمة) |
| النقل | TCP على المنفذ 5060 أو TLS على المنفذ 5061 (موصى به)، أو UDP على المنفذ 5060 |
| برامج الترميز | G.711 ‏(PCMU/PCMA) أو G.722 |

<Note>
  فضّل TCP أو TLS. يعمل UDP من العناوين العامة ومن معظم إعدادات NAT، لكن
  خلف NAT «متماثل» (يستخدم منفذًا جديدًا لكل وجهة) قد لا تصل عمليات إنهاء المكالمات
  والتحويلات الخاصة بالوكيل إلى منظومتك. تتطلب قائمة السماح لعناوين IP المصدر
  (أدناه) أيضًا TCP أو TLS. عبر TLS، تبقى إشارات SIP
  مشفرة بعد `sip.thunderphone.com` أيضًا، وصولًا إلى الخوادم التي
  تعالج المكالمة.
</Note>

تنطبق إعدادات النقل وبرامج الترميز هذه أيضًا على عناوين 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` لقبول المكالمات من عناوين الإشارات
الخاصة بك فقط، بالإضافة إلى اسم المستخدم وكلمة المرور:

```bash
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 للإشارات المنشورة لديها)، وليس عناوين الوسائط الخاصة بك.

<Warning>
  تُفحص قائمة السماح للمكالمات عبر TCP أو TLS فقط. يمكن تزوير عنوان مصدر UDP،
  لذلك ترفض نقطة النهاية التي لديها قائمة سماح كل مكالمة
  تصل عبر UDP. أرسل المكالمات إليها باستخدام `;transport=tcp` (المنفذ 5060) أو عبر
  TLS (المنفذ 5061).
</Warning>

## ما يراه المتصل ونظامك

- **معرّف المتصل:** يُخزَّن جزء المستخدم من ترويسة `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](https://www.twilio.com/docs/voice/api/refer-to-twilio)).
- **الرسائل النصية:** لا يمكن لعنوان SIP والرقم المطلوب إجراء مراسلات نصية.
  لا يمكن للوكيل إرسال رسائل نصية أثناء مكالمة بعنوان SIP إلا إذا كان لديه رقم منفصل
  قادر على SMS ومُعدّ للمراسلة؛ وإلا فلن تكون أداة SMS الخاصة به متاحة.
- **التسجيل:** لا يقبل ThunderPhone طلبات SIP `REGISTER`. أرسل المكالمات إلى
  العنوان؛ ولا تسجّل فيه.

## الأسعار

تُحتسب مكالمات عناوين SIP وفق السعر المعتاد للوكيل لكل دقيقة. لا توجد رسوم على رقم
الهاتف، لأن أي رقم ThunderPhone لا يحمل المكالمة. تحاسب شركتك الناقلة جانبها من
المكالمة كالمعتاد. راجع
[الأسعار](/ar/guides/pricing).

## اختبره

1. أنشئ عنوان URI لكل مكالمة أو نقطة نهاية كما ورد أعلاه.
2. اطلبه من نظامك، أو من أي هاتف برمجي SIP (بالنسبة إلى نقطة النهاية، أدخل
   اسم المستخدم وكلمة المرور).
3. بعد إنهاء المكالمة، افتح المكالمة في **المكالمات** في لوحة التحكم، أو استرجعها
   باستخدام `GET /v1/calls/{call_id}`. ستعرض المتصل والوجهة
   (راجع الترتيب ضمن "مرّر الرقم المطلوب") والنص المفرغ.

تفاصيل API: [مرجع API لعناوين SIP](/api-reference/sip-addresses).
