ThunderPhone 2.0 आता लाइव्ह आहे.स्वतःच सुरू करा—2¢/मिनिटपासून.घोषणा वाचा

Developer cookbook

SIP वरून कनेक्ट करा (फोन नंबर नाही)

प्रत्येक कॉलसाठी एकदाच वापरता येणारा SIP URI किंवा कायमचा SIP पत्ता वापरून, तुमच्या PBX, कॅरियर किंवा SIP अॅप्लिकेशनमधून कॉल थेट ThunderPhone एजंटकडे पाठवा.

तुमची स्वतःची प्रणाली आधीच फोन क्रमांक हाताळत असल्यास (PBX, संपर्क-केंद्र प्लॅटफॉर्म किंवा तुम्ही क्रमांक बदलत राहता असे कॅरिअर खाते), तुम्ही साध्या SIP द्वारे ThunderPhone एजंटकडे कॉल पाठवू शकता. तुम्ही ThunderPhone वर क्रमांक आयात किंवा खरेदी करत नाही. तुमची प्रणाली SIP पत्ता डायल करते आणि एजंट उत्तर देतो.

SIP पत्त्यांचे दोन प्रकार आहेत:

प्रति-कॉल SIP URISIP एंडपॉइंट
दिसायलाsip:c-<token>@sip.thunderphone.comsip: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

ही ट्रान्सपोर्ट आणि कोडेक सेटिंग्ज प्रति-कॉल 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 फक्त सिग्नलिंग वाहून नेते. 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.

स्रोत 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 श्रेणी), तुमचे मीडिया पत्ते नाहीत.

कॉल करणाऱ्यांना आणि तुमच्या सिस्टीमला काय दिसते

  • कॉलर 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 नंबर वापरला जात नाही. तुमचा स्वतःचा टेलिकॉम प्रदाता कॉलच्या त्याच्या भागासाठी नेहमीप्रमाणे शुल्क आकारतो. किंमत पहा.

चाचणी करा

  1. वरीलप्रमाणे प्रति-कॉल URI किंवा एंडपॉइंट तयार करा.
  2. तो तुमच्या सिस्टीममधून किंवा कोणत्याही SIP सॉफ्टफोनमधून डायल करा (एंडपॉइंटसाठी, युजरनेम आणि पासवर्ड भरा).
  3. कॉल संपवल्यानंतर, डॅशबोर्डमध्ये कॉल्स अंतर्गत कॉल उघडा किंवा GET /v1/calls/{call_id} वापरून तो मिळवा. त्यात कॉल करणारा, गंतव्य ("डायल केलेला नंबर पास करा" अंतर्गत क्रम पहा) आणि ट्रान्स्क्रिप्ट दिसते.

API तपशील: SIP पत्ते API संदर्भ.