---
title: "SIP کے ذریعے کنیکٹ کریں (فون نمبر کے بغیر)"
description: "اپنے PBX، کیریئر یا SIP ایپلیکیشن سے کالز براہِ راست ThunderPhone ایجنٹ کو بھیجیں، ہر کال کے لیے ایک بار استعمال ہونے والی SIP URI یا مستقل SIP ایڈریس کے ساتھ۔"
---

اگر آپ کا اپنا نظام پہلے ہی فون نمبرز سنبھالتا ہے (مثلاً ایک PBX، کانٹیکٹ سینٹر پلیٹ فارم، یا ایسا کیریئر اکاؤنٹ جس میں آپ نمبرز تبدیل کرتے رہتے ہیں)، تو آپ عام SIP کے ذریعے کالز ThunderPhone ایجنٹ کو بھیج سکتے ہیں۔ آپ ThunderPhone پر کوئی نمبر درآمد یا خریدتے نہیں ہیں۔ آپ کا نظام ایک SIP پتہ ڈائل کرتا ہے اور ایجنٹ جواب دیتا ہے۔

SIP پتے کی دو اقسام ہیں:

| | **ہر کال کے لیے SIP URI** | **SIP اینڈ پوائنٹ** |
|---|---|---|
| شکل | `sip:c-<token>@sip.thunderphone.com` | `sip:agent-<id>-<letters>@sip.thunderphone.com` |
| تخلیق کا طریقہ | `POST /v1/calls/register-sip`، ہر کال کے لیے ایک بار | `POST /v1/sip-endpoints`، ایک بار |
| توثیق | پتے میں موجود یک بار استعمال ہونے والا ٹوکن | SIP ڈائجسٹ صارف نام اور پاس ورڈ (اور اختیاری طور پر ماخذ IP اجازت فہرست) |
| موزوں استعمال | ایسی ایپس جو کال منتقل کرنے سے پہلے ہی API کو کال کرتی ہیں؛ ہر کال کے متغیرات | ایسے PBX اور کیریئرز جنہیں صرف ThunderPhone کی طرف "ٹرنک پوائنٹ" کرنا ہو |
| معیاد | 5 منٹ، ایک کال | جب تک آپ اسے حذف نہ کر دیں |

دونوں اقسام آپ کی تنظیم کے ایک ایجنٹ تک روٹ کرتی ہیں، اور دونوں کال ہسٹری میں کسی بھی دوسری آنے والی کال کی طرح ظاہر ہوتی ہیں۔

## ہر کال کے لیے SIP URI

### 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` (اختیاری) ایجنٹ کے prompt میں موجود `{{placeholders}}` کو پُر کرتے ہیں، بالکل اسی طرح جیسے [آؤٹ باؤنڈ کالز](/ur/guides/call-variables) کے لیے۔
- `call_id` وہ شناخت ہے جو کنیکٹ ہونے کے بعد کال ہسٹری میں کال کو حاصل ہوگی (`GET /v1/calls/{call_id}`)۔

### 2. URI ڈائل کریں

5 منٹ کے اندر کال `sip_uri` کو بھیجیں۔ URI صرف ایک کال کے لیے کام کرتا ہے: ایک بار جب کوئی کال اسے استعمال کر لے، تو یہ مزید قابل استعمال نہیں رہتا، خواہ وہ کال جلد ختم ہو جائے۔

مثال کے طور پر Twilio کے ساتھ، جس کال کو آپ منتقل کرنا چاہتے ہیں اس کے لیے یہ TwiML واپس کریں:

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

PBX سے URI کو SIP منزل کے طور پر ڈائل کریں۔ کسی صارف نام یا پاس ورڈ کی ضرورت نہیں ہے؛ ٹوکن ہی تصدیقی ذریعہ ہے، اس لیے URI کو استعمال ہونے تک پاس ورڈ کی طرح محفوظ رکھیں۔

## 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 ٹرنک یا منزل کنفیگر کریں:

| ترتیب | قدر |
|---|---|
| SIP URI | اینڈ پوائنٹ کا `sip_uri` |
| صارف نام / پاس ورڈ | `username` / `password` (ڈائجسٹ توثیق؛ ThunderPhone ہر کال پر چیلنج کرتا ہے) |
| ٹرانسپورٹ | پورٹ 5060 پر TCP یا پورٹ 5061 پر TLS (تجویز کردہ)، یا پورٹ 5060 پر UDP |
| کوڈیکس | G.711 (PCMU/PCMA) یا G.722 |

<Note>
  TCP یا TLS کو ترجیح دیں۔ UDP عوامی پتوں اور زیادہ تر NATs سے کام کرتا ہے،
  لیکن "سمیٹرک" NAT کے پیچھے (جو ہر منزل کے لیے نئی پورٹ استعمال کرتا ہے)
  ایجنٹ کی کال ختم کرنے کی درخواستیں اور ٹرانسفرز آپ کے سسٹم تک نہیں پہنچ
  سکتے۔ سورس-IP اجازت فہرست (نیچے) کے لیے بھی TCP یا TLS درکار ہے۔ TLS پر،
  SIP سگنلنگ `sip.thunderphone.com` کے بعد بھی انکرپٹڈ رہتی ہے، کال ہینڈل کرنے
  والے سرورز تک پورے راستے میں۔
</Note>

یہ ٹرانسپورٹ اور کوڈیک ترتیبات فی کال URIs پر بھی لاگو ہوتی ہیں۔ دونوں قسم کے
پتوں کے لیے نیٹ ورک کی دو تفصیلات اہم ہیں:

- **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` صرف سگنلنگ منتقل کرتا ہے۔
  SDP جواب میں موجود پتوں اور پورٹس کے لیے میڈیا (RTP) کی اجازت دیں۔

پتے پر آنے والی ہر کال اینڈ پوائنٹ کے ایجنٹ تک پہنچتی ہے، چاہے کالر نے آپ کی
جانب سے کوئی بھی نمبر ڈائل کیا ہو۔ آپ کبھی نمبر درآمد نہیں کرتے، اس لیے اپنی
جانب سے انہیں تبدیل کرنے کے لیے ThunderPhone میں کسی تبدیلی کی ضرورت نہیں۔

### ڈائل کیا گیا نمبر منتقل کریں (اختیاری)

یہ ریکارڈ کرنے کے لیے کہ کالر نے آپ کے کون سے نمبر پر کال کی، اسے INVITE میں
`X-Original-To` ہیڈر (مثلاً `X-Original-To: +14155550142`) یا معیاری
`Diversion` ہیڈر میں بھیجیں۔ ThunderPhone اسے کال کی منزل کے طور پر محفوظ
کرتا ہے۔

منزل کا انتخاب اس ترتیب سے ہوتا ہے: فی کال URI رجسٹر کرتے وقت دیا گیا
`to_number`، پھر `X-Original-To` میں موجود نمبر، پھر `Diversion` میں موجود
نمبر۔ اگر ان میں سے کسی سے نمبر نہ ملے تو اینڈ پوائنٹ کے لیے اسے
`sip:agent-12-jhxmginwjx` (اینڈ پوائنٹ کا پتہ) یا فی کال URI کے لیے
`sip:call` کے طور پر دکھایا جاتا ہے۔

Twilio کے ساتھ آپ SIP URI میں ہیڈر شامل کر سکتے ہیں:
`sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142`۔

### سورس IPs محدود کریں (اختیاری)

صارف نام اور پاس ورڈ کے علاوہ، صرف اپنی سگنلنگ کے پتوں سے کالیں قبول کرنے کے
لیے `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>

## کال کرنے والے اور آپ کے سسٹم کو کیا نظر آتا ہے

- **کالر ID:** `From` ہیڈر کا صارف والا حصہ کالر کے طور پر محفوظ کیا جاتا ہے۔
  فون نمبر (ہندسے، اختیاری طور پر `+`، اسپیسز، ڈیشز، نقطوں یا
  بریکٹس کے ساتھ) کو E.164 میں معمول پر لایا جاتا ہے؛ باقی ہر چیز، جیسے SIP صارف نام،
  بھیجی گئی صورت میں رکھی جاتی ہے۔ زیادہ سے زیادہ 32 حروف رکھے جاتے ہیں، اور
  غائب کالر کو `anonymous` کے طور پر محفوظ کیا جاتا ہے۔
- **مسترد شدہ کالز:** نامعلوم یا میعاد ختم شدہ فی کال URI کو SIP
  `404 Not Found` ملتا ہے۔ پہلے سے استعمال شدہ فی کال URI، غیر فعال اینڈ پوائنٹ، یا
  اجازت فہرست سے باہر کا کوئی سورس (بشمول اجازت فہرست والے اینڈ پوائنٹ پر کسی بھی UDP کال کے)
  ایجنٹ شروع ہونے سے پہلے منقطع کر دیا جاتا ہے: آپ کے سسٹم میں کال ناکام نظر آ سکتی ہے،
  یا کنیکٹ ہو کر فوراً ختم ہو سکتی ہے۔ ان مستردیوں سے کال ہسٹری میں کوئی اندراج نہیں بنتا۔
  اگر آپ کی تنظیم کا کریڈٹ ختم ہو گیا ہو یا وہ اپنی اخراجات کی حد تک پہنچ گئی ہو،
  تو کال مسترد کر دی جاتی ہے اور کال ہسٹری میں بغیر کسی چارج کے ناکام کال کے طور پر دکھائی دیتی ہے۔
  فی کال کوشش دوبارہ کرنے کے لیے، نیا URI رجسٹر کریں۔
- **منتقلیاں:** ایجنٹ کی کولڈ منتقلیاں کام کرتی ہیں (ThunderPhone ایک SIP
  `REFER` بھیجتا ہے، جسے آپ کے سسٹم کو قبول کرنا ضروری ہے)۔ وارم منتقلیاں SIP ایڈریس کالز پر دستیاب نہیں ہیں،
  کیونکہ دوسرے مرحلے کے لیے کالر ID کے طور پر دکھانے کو کوئی ThunderPhone نمبر موجود نہیں ہوتا۔
  Twilio کے ساتھ، اوپر دیا گیا TwiML ایجنٹ کو کنیکٹ کرتا ہے مگر منتقلیوں کو سنبھالتا نہیں:
  `<Dial>` میں `referUrl="https://YOUR_SERVER/sip-transfer"` شامل کریں، اور اس ویب ہک سے
  `ReferTransferTarget` پڑھوا کر ایسا TwiML واپس کروائیں جو منتقلی کی منزل ڈائل کرے
  (Twilio کی [SIP REFER گائیڈ](https://www.twilio.com/docs/voice/api/refer-to-twilio) دیکھیں)۔
- **ٹیکسٹ پیغامات:** SIP ایڈریس اور ڈائل کیا گیا نمبر ٹیکسٹ نہیں بھیج سکتے۔
  ایجنٹ SIP ایڈریس کال کے دوران صرف اسی صورت ٹیکسٹ کر سکتا ہے جب ٹیکسٹنگ کے لیے اس کا الگ
  SMS صلاحیت والا نمبر سیٹ اپ ہو؛ بصورت دیگر اس کا SMS ٹول دستیاب نہیں ہوتا۔
- **رجسٹریشن:** ThunderPhone SIP `REGISTER` قبول نہیں کرتا۔ کالز ایڈریس پر بھیجیں؛
  اس پر رجسٹر نہ کریں۔

## قیمتیں

SIP ایڈریس کالز پر ایجنٹ کی معمول کی فی منٹ شرح کے مطابق بل کیا جاتا ہے۔ فون نمبر کا
کوئی چارج نہیں ہے، کیونکہ کال کسی ThunderPhone نمبر کے ذریعے نہیں ہوتی۔ آپ کا اپنا کیریئر
حسب معمول کال کے اپنے حصے کا بل کرتا ہے۔ [قیمتیں](/ur/guides/pricing) دیکھیں۔

## اسے آزمائیں

1. اوپر کے مطابق فی کال URI یا اینڈ پوائنٹ بنائیں۔
2. اسے اپنے سسٹم سے، یا کسی بھی SIP سافٹ فون سے ڈائل کریں (اینڈ پوائنٹ کے لیے،
   صارف نام اور پاس ورڈ درج کریں)۔
3. کال ختم کرنے کے بعد، ڈیش بورڈ میں **کالز** کے تحت کال کھولیں، یا اسے
   `GET /v1/calls/{call_id}` کے ذریعے حاصل کریں۔ اس میں کالر، منزل
   ("ڈائل کیا گیا نمبر منتقل کریں" کے تحت ترتیب دیکھیں) اور ٹرانسکرپٹ دکھائی دیتے ہیں۔

API کی تفصیلات: [SIP ایڈریسز API حوالہ](/api-reference/sip-addresses)۔
