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ని పిలిచే యాప్‌లు; ప్రతి-కాల్ వేరియబుల్స్ThunderPhone వైపు ట్రంక్‌ను సూచించాల్సిన PBXలు మరియు క్యారియర్‌లు
చెల్లుబాటు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 అనేది కాల్ కనెక్ట్ అయిన తర్వాత కాల్ చరిత్రలో ఉండే 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 చిరునామా మరియు డయల్ చేసిన నంబర్ టెక్స్ట్ సందేశాలను పంపలేవు. ఏజెంట్‌కు టెక్స్టింగ్ కోసం వేరుగా SMS-సామర్థ్యం ఉన్న నంబర్ సెటప్ చేసి ఉంటే మాత్రమే SIP-చిరునామా కాల్ సమయంలో టెక్స్ట్ పంపగలదు; లేకపోతే దాని SMS టూల్ అందుబాటులో ఉండదు.
  • నమోదు: ThunderPhone SIP REGISTERను అంగీకరించదు. ఆ చిరునామాకు కాల్స్ పంపండి; దానికి నమోదు చేయవద్దు.

ధరలు

SIP-చిరునామా కాల్‌లకు ఏజెంట్ సాధారణ నిమిషానికి రేటు ప్రకారం బిల్లు చేస్తారు. కాల్‌ను ThunderPhone నంబర్ నిర్వహించదు కాబట్టి ఫోన్-నంబర్ ఛార్జీ ఉండదు. మీ స్వంత క్యారియర్ తన వైపు కాల్‌కు ఎప్పటిలాగే బిల్లు చేస్తుంది. ధరలు చూడండి.

దీన్ని పరీక్షించండి

  1. పైన పేర్కొన్నట్లుగా ఒక్కో-కాల్ URI లేదా ఎండ్‌పాయింట్‌ను సృష్టించండి.
  2. మీ సిస్టమ్ నుండి లేదా ఏదైనా SIP సాఫ్ట్‌ఫోన్ నుండి దానికి డయల్ చేయండి (ఎండ్‌పాయింట్ కోసం, యూజర్‌నేమ్ మరియు పాస్‌వర్డ్‌ను నమోదు చేయండి).
  3. కాల్ ముగించిన తర్వాత, డ్యాష్‌బోర్డ్‌లోని కాల్‌లులో కాల్‌ను తెరవండి లేదా GET /v1/calls/{call_id}తో దాన్ని పొందండి. ఇందులో కాలర్, గమ్యం ("డయల్ చేసిన నంబర్‌ను పంపండి" కింద ఉన్న క్రమాన్ని చూడండి) మరియు ట్రాన్స్‌క్రిప్ట్ కనిపిస్తాయి.

API వివరాలు: SIP చిరునామాల API రిఫరెన్స్.