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 એ 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 હેડરનો user ભાગ કૉલર તરીકે સંગ્રહિત થાય છે. ફોન નંબર (અંકો, વૈકલ્પિક રીતે +, સ્પેસ, ડૅશ, ડૉટ અથવા બ્રૅકેટ્સ સાથે) E.164 માં નોર્મલાઇઝ થાય છે; SIP યુઝરનેમ જેવી અન્ય કોઈપણ વસ્તુ મોકલ્યા મુજબ જ રાખવામાં આવે છે. વધુમાં વધુ 32 અક્ષરો રાખવામાં આવે છે, અને ગેરહાજર કૉલર anonymous તરીકે સંગ્રહિત થાય છે.
  • નકારવામાં આવેલા કૉલ્સ: અજાણ્યો અથવા સમાપ્ત થયેલો પ્રતિ-કૉલ URI SIP 404 Not Found મેળવે છે. પહેલેથી ઉપયોગમાં લેવાયેલો પ્રતિ-કૉલ URI, અક્ષમ કરાયેલ endpoint, અથવા allowlist બહારનો સ્ત્રોત (allowlist ધરાવતા endpoint પરનો કોઈપણ UDP કૉલ સહિત) એજન્ટ શરૂ થાય તે પહેલાં ડિસકનેક્ટ થાય છે: તમારી સિસ્ટમમાં કૉલ નિષ્ફળ દેખાઈ શકે છે, અથવા કનેક્ટ થઈને તરત જ સમાપ્ત થઈ શકે છે. આ નકારણીઓ કૉલ ઇતિહાસમાં એન્ટ્રી બનાવતી નથી. જો તમારી સંસ્થા પાસે ક્રેડિટ સમાપ્ત થઈ ગઈ હોય અથવા તેણે તેની ખર્ચ મર્યાદા પહોંચી લીધી હોય, તો કૉલ નકારવામાં આવે છે અને કૉલ ઇતિહાસમાં કોઈ ચાર્જ વગરના નિષ્ફળ કૉલ તરીકે દેખાય છે. પ્રતિ-કૉલ પ્રયાસને ફરીથી અજમાવવા માટે, નવો URI રજિસ્ટર કરો.
  • ટ્રાન્સફર્સ: એજન્ટના cold ટ્રાન્સફર્સ કાર્ય કરે છે (ThunderPhone SIP REFER મોકલે છે, જેને તમારી સિસ્ટમે સ્વીકારવું જરૂરી છે). SIP-સરનામા કૉલ્સ પર warm ટ્રાન્સફર્સ ઉપલબ્ધ નથી, કારણ કે બીજા leg માટે કૉલર ID તરીકે બતાવવા માટે કોઈ ThunderPhone નંબર નથી. Twilio સાથે, ઉપરનું TwiML એજન્ટને કનેક્ટ કરે છે પરંતુ ટ્રાન્સફર્સ હેન્ડલ કરતું નથી: <Dial> માં referUrl="https://YOUR_SERVER/sip-transfer" ઉમેરો અને તે webhook દ્વારા ReferTransferTarget વાંચીને ટ્રાન્સફર destination ને ડાયલ કરતું TwiML પરત કરાવો (Twilio ની SIP REFER માર્ગદર્શિકા જુઓ).
  • ટેક્સ્ટ સંદેશાઓ: SIP સરનામું અને ડાયલ કરાયેલ નંબર ટેક્સ્ટ મોકલી શકતા નથી. એજન્ટ SIP-સરનામા કૉલ દરમિયાન માત્ર ત્યારે જ ટેક્સ્ટ મોકલી શકે છે જ્યારે ટેક્સ્ટિંગ માટે SMS-સક્ષમ અલગ નંબર સેટ અપ કરેલો હોય; અન્યથા તેનું SMS ટૂલ ઉપલબ્ધ નથી.
  • રજિસ્ટ્રેશન: ThunderPhone SIP REGISTER સ્વીકારતું નથી. કૉલ્સ સરનામા પર મોકલો; તેમાં રજિસ્ટર ન કરો.

કિંમતો

SIP-સરનામા કૉલ્સ માટે એજન્ટના સામાન્ય પ્રતિ-મિનિટ દરે બિલ કરવામાં આવે છે. તેમાં ફોન નંબરનો કોઈ ચાર્જ નથી, કારણ કે કૉલ કોઈ ThunderPhone નંબર દ્વારા વહન થતો નથી. તમારો પોતાનો કૅરિયર કૉલના તેના ભાગ માટે હંમેશની જેમ બિલ કરે છે. જુઓ કિંમતો.

તેનું પરીક્ષણ કરો

  1. ઉપર મુજબ પ્રતિ-કૉલ URI અથવા endpoint બનાવો.
  2. તમારી સિસ્ટમમાંથી અથવા કોઈપણ SIP softphoneમાંથી તેને ડાયલ કરો (endpoint માટે, યુઝરનેમ અને પાસવર્ડ દાખલ કરો).
  3. કૉલ સમાપ્ત કર્યા પછી, ડૅશબોર્ડમાં કૉલ્સ હેઠળ કૉલ ખોલો અથવા તેને GET /v1/calls/{call_id} વડે મેળવો. તેમાં કૉલર, destination ("ડાયલ કરાયેલ નંબર પાસ કરો" હેઠળનો ક્રમ જુઓ) અને ટ્રાન્સક્રિપ્ટ દેખાય છે.

API વિગતો: SIP સરનામાઓ API રેફરન્સ.