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}} പൂരിപ്പിക്കുന്നു; ഔട്ട്ബൗണ്ട് കോളുകൾ പോലെതന്നെ.
  • കണക്റ്റ് ചെയ്തുകഴിഞ്ഞാൽ കോൾ ചരിത്രത്തിൽ (GET /v1/calls/{call_id}) കോളിനുണ്ടാകുന്ന ഐഡിയാണ് 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 trunk അല്ലെങ്കിൽ destination കോൺഫിഗർ ചെയ്യുക:

ക്രമീകരണംമൂല്യം
SIP URIഎൻഡ്‌പോയിന്റിന്റെ sip_uri
ഉപയോക്തൃനാമം / പാസ്‌വേഡ്username / password (digest authentication; ThunderPhone ഓരോ കോളിനെയും challenge ചെയ്യും)
ട്രാൻസ്‌പോർട്ട്പോർട്ട് 5060-ൽ TCP അല്ലെങ്കിൽ പോർട്ട് 5061-ൽ TLS (ശുപാർശചെയ്യുന്നത്), അല്ലെങ്കിൽ പോർട്ട് 5060-ൽ UDP
കോഡെക്കുകൾG.711 (PCMU/PCMA) അല്ലെങ്കിൽ G.722

ഈ ട്രാൻസ്‌പോർട്ട്, കോഡെക്ക് ക്രമീകരണങ്ങൾ ഓരോ കോളിനുമുള്ള URI-കൾക്കും ബാധകമാണ്. രണ്ട് തരത്തിലുള്ള വിലാസങ്ങൾക്കും താഴെയുള്ള രണ്ട് നെറ്റ്‌വർക്ക് വിശദാംശങ്ങൾ പ്രധാനമാണ്:

  • Record-Route പിന്തുടരുക. ആദ്യ INVITE-നുശേഷം, കോളിന്റെ ശേഷിക്കുന്ന signalling (ACK, കോൾ അവസാനിപ്പിക്കൽ, ട്രാൻസ്ഫറുകൾ) മറുപടി നൽകിയ നിർദിഷ്ട ThunderPhone സെർവറിലേക്കാണ് പോകുന്നത്. ആ സെർവറിന്റെ പേര് Record-Route header-ൽ (sip-1.thunderphone.com അല്ലെങ്കിൽ sip-2.thunderphone.com, അല്ലെങ്കിൽ അതിന്റെ IP വിലാസം) നൽകിയിരിക്കും. നിങ്ങൾ outbound SIP നിയന്ത്രിക്കുന്നുണ്ടെങ്കിൽ, sip.thunderphone.com-നൊപ്പം ഈ ഹോസ്റ്റുകളും അനുവദിക്കുക: 172.170.39.202 (sip), 13.86.104.121 (sip-1), 20.80.98.90 (sip-2).
  • ഓഡിയോ മറ്റൊരിടത്തേക്കാണ് പോകുന്നത്. sip.thunderphone.com signalling മാത്രം വഹിക്കുന്നു. SDP മറുപടിയിലുള്ള വിലാസങ്ങളിലേക്കും പോർട്ടുകളിലേക്കും മീഡിയ (RTP) അനുവദിക്കുക.

നിങ്ങളുടെ ഭാഗത്ത് കോളർ ഡയൽ ചെയ്ത നമ്പർ ഏതായാലും, വിലാസത്തിലേക്കുള്ള എല്ലാ കോളും എൻഡ്‌പോയിന്റിന്റെ ഏജന്റിലേക്ക് എത്തും. നിങ്ങൾ ഒരിക്കലും നമ്പറുകൾ ഇറക്കുമതി ചെയ്യില്ല; അതിനാൽ നിങ്ങളുടെ ഭാഗത്ത് അവ മാറ്റുന്നതിന് ThunderPhone-ൽ മാറ്റമൊന്നും ആവശ്യമില്ല.

ഡയൽ ചെയ്ത നമ്പർ കൈമാറുക (ഐച്ഛികം)

കോളർ നിങ്ങളുടെ ഏത് നമ്പറിലേക്കാണ് ഡയൽ ചെയ്തതെന്ന് രേഖപ്പെടുത്താൻ, INVITE-ൽ ഒരു X-Original-To header-ൽ (ഉദാഹരണത്തിന് X-Original-To: +14155550142) അല്ലെങ്കിൽ ഒരു സ്റ്റാൻഡേർഡ് Diversion header-ൽ അത് അയയ്ക്കുക. ThunderPhone അത് കോളിന്റെ destination ആയി സൂക്ഷിക്കും.

ഈ ക്രമത്തിലാണ് destination തിരഞ്ഞെടുക്കുന്നത്: ഓരോ കോളിനുമുള്ള URI രജിസ്റ്റർ ചെയ്യുമ്പോൾ നൽകിയ to_number, തുടർന്ന് X-Original-To-യിലുള്ള നമ്പർ, തുടർന്ന് Diversion-ലുള്ള നമ്പർ. ഇവയൊന്നും നമ്പർ നൽകുന്നില്ലെങ്കിൽ, എൻഡ്‌പോയിന്റിനായി അത് sip:agent-12-jhxmginwjx (എൻഡ്‌പോയിന്റിന്റെ വിലാസം) ആയും, ഓരോ കോളിനുമുള്ള URI-ക്കായി sip:call ആയും കാണിക്കും.

Twilio ഉപയോഗിച്ച് നിങ്ങൾക്ക് SIP URI-യിലേക്ക് header ചേർക്കാം: sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142.

ഉറവിട IP-കൾ നിയന്ത്രിക്കുക (ഐച്ഛികം)

ഉപയോക്തൃനാമത്തിനും പാസ്‌വേഡിനും പുറമേ, നിങ്ങളുടെ സ്വന്തം signalling വിലാസങ്ങളിൽ നിന്നുള്ള കോളുകൾ മാത്രം സ്വീകരിക്കാൻ 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 signalling അയയ്ക്കുന്ന വിലാസങ്ങളാണ് ഉപയോഗിക്കേണ്ടത് (Twilio പോലുള്ള ഒരു കാരിയറിന്, അതിന്റെ പ്രസിദ്ധീകരിച്ച signalling 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 റഫറൻസ്.