Open in
SIP کے ذریعے کنیکٹ کریں (فون نمبر کے بغیر)
اپنے 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. کال رجسٹر کریں
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(اختیاری) ایجنٹ کے prompt میں موجود{{placeholders}}کو پُر کرتے ہیں، بالکل اسی طرح جیسے آؤٹ باؤنڈ کالز کے لیے۔call_idوہ شناخت ہے جو کنیکٹ ہونے کے بعد کال ہسٹری میں کال کو حاصل ہوگی (GET /v1/calls/{call_id})۔
2. URI ڈائل کریں
5 منٹ کے اندر کال sip_uri کو بھیجیں۔ URI صرف ایک کال کے لیے کام کرتا ہے: ایک بار جب کوئی کال اسے استعمال کر لے، تو یہ مزید قابل استعمال نہیں رہتا، خواہ وہ کال جلد ختم ہو جائے۔
مثال کے طور پر Twilio کے ساتھ، جس کال کو آپ منتقل کرنا چاہتے ہیں اس کے لیے یہ TwiML واپس کریں:
<Response>
<Dial>
<Sip>sip:c-1790372992.Qm3xT8vLk2PzR7nYw4HbJa.uF6sD1gK9eW2cX5vB8nM0q@sip.thunderphone.com;transport=tcp</Sip>
</Dial>
</Response>PBX سے URI کو SIP منزل کے طور پر ڈائل کریں۔ کسی صارف نام یا پاس ورڈ کی ضرورت نہیں ہے؛ ٹوکن ہی تصدیقی ذریعہ ہے، اس لیے URI کو استعمال ہونے تک پاس ورڈ کی طرح محفوظ رکھیں۔
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 ٹرنک یا منزل کنفیگر کریں:
| ترتیب | قدر |
|---|---|
| SIP URI | اینڈ پوائنٹ کا sip_uri |
| صارف نام / پاس ورڈ | username / password (ڈائجسٹ توثیق؛ ThunderPhone ہر کال پر چیلنج کرتا ہے) |
| ٹرانسپورٹ | پورٹ 5060 پر TCP یا پورٹ 5061 پر TLS (تجویز کردہ)، یا پورٹ 5060 پر UDP |
| کوڈیکس | G.711 (PCMU/PCMA) یا G.722 |
یہ ٹرانسپورٹ اور کوڈیک ترتیبات فی کال 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 سیٹ کریں:
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 حدود)، اپنے میڈیا پتے نہیں۔
کال کرنے والے اور آپ کے سسٹم کو کیا نظر آتا ہے
- کالر 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 گائیڈ دیکھیں)۔ - ٹیکسٹ پیغامات: SIP ایڈریس اور ڈائل کیا گیا نمبر ٹیکسٹ نہیں بھیج سکتے۔ ایجنٹ SIP ایڈریس کال کے دوران صرف اسی صورت ٹیکسٹ کر سکتا ہے جب ٹیکسٹنگ کے لیے اس کا الگ SMS صلاحیت والا نمبر سیٹ اپ ہو؛ بصورت دیگر اس کا SMS ٹول دستیاب نہیں ہوتا۔
- رجسٹریشن: ThunderPhone SIP
REGISTERقبول نہیں کرتا۔ کالز ایڈریس پر بھیجیں؛ اس پر رجسٹر نہ کریں۔
قیمتیں
SIP ایڈریس کالز پر ایجنٹ کی معمول کی فی منٹ شرح کے مطابق بل کیا جاتا ہے۔ فون نمبر کا کوئی چارج نہیں ہے، کیونکہ کال کسی ThunderPhone نمبر کے ذریعے نہیں ہوتی۔ آپ کا اپنا کیریئر حسب معمول کال کے اپنے حصے کا بل کرتا ہے۔ قیمتیں دیکھیں۔
اسے آزمائیں
- اوپر کے مطابق فی کال URI یا اینڈ پوائنٹ بنائیں۔
- اسے اپنے سسٹم سے، یا کسی بھی SIP سافٹ فون سے ڈائل کریں (اینڈ پوائنٹ کے لیے، صارف نام اور پاس ورڈ درج کریں)۔
- کال ختم کرنے کے بعد، ڈیش بورڈ میں کالز کے تحت کال کھولیں، یا اسے
GET /v1/calls/{call_id}کے ذریعے حاصل کریں۔ اس میں کالر، منزل ("ڈائل کیا گیا نمبر منتقل کریں" کے تحت ترتیب دیکھیں) اور ٹرانسکرپٹ دکھائی دیتے ہیں۔
API کی تفصیلات: SIP ایڈریسز API حوالہ۔