ThunderPhone 2.0 jau čia.Viską atlikite savarankiškai – nuo 2 ct/min.Skaityti pranešimą

Developer cookbook

Prisijunkite per SIP (be telefono numerio)

Siųskite skambučius į ThunderPhone agentą tiesiai iš savo PBX, ryšio teikėjo ar SIP programos, naudodami vienkartinį kiekvieno skambučio SIP URI arba nuolatinį SIP adresą.

Jei jūsų sistema jau tvarko telefono numerius (PBX, kontaktų centro platforma arba operatoriaus paskyra, kurioje keičiate numerius), galite siųsti skambučius į ThunderPhone agentą per paprastą SIP. Jums nereikia importuoti ar pirkti numerio ThunderPhone sistemoje. Jūsų sistema surenka SIP adresą, o agentas atsiliepia.

Yra dviejų tipų SIP adresai:

Vieno skambučio SIP URISIP galinis taškas
Atrodo taipsip:c-<token>@sip.thunderphone.comsip:agent-<id>-<letters>@sip.thunderphone.com
Sukuriamas naudojantPOST /v1/calls/register-sip, vieną kartą kiekvienam skambučiuiPOST /v1/sip-endpoints, vieną kartą
AutentifikavimasVienkartinis prieigos raktas adreseSIP digest naudotojo vardas ir slaptažodis (bei pasirinktinai šaltinio IP leidžiamųjų sąrašas)
TinkaProgramoms, kurios jau kviečia API prieš perduodamos skambutį; kintamiesiems pagal skambutįPBX sistemoms ir operatoriams, kurie turi tik „nukreipti magistralę“ į ThunderPhone
Galioja5 minutes, vienam skambučiuiKol jį ištrinate

Abu tipai nukreipia į vieną agentą jūsų organizacijoje, o skambučių istorijoje abu rodomi kaip bet kuris kitas įeinantis skambutis.

Vieno skambučio SIP URI

1. Užregistruokite skambutį

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 (pasirinktinis) yra numeris, kurį skambinantysis surinko jūsų sistemoje. Jis saugomas kaip skambučio paskirties numeris skambučių istorijoje, o agentas jį mato kaip savo numerį.
  • variables (pasirinktiniai) užpildo {{placeholders}} agento raginime, taip pat kaip ir išeinamuosiuose skambučiuose.
  • call_id yra ID, kurį skambutis turės skambučių istorijoje (GET /v1/calls/{call_id}), kai tik bus sujungtas.

2. Surinkite URI

Nusiųskite skambutį į sip_uri per 5 minutes. URI veikia tik vienam skambučiui: kai skambutis jį panaudoja, jis nebegalioja, net jei tas skambutis greitai baigiasi.

Pavyzdžiui, naudodami Twilio, grąžinkite šį TwiML skambučiui, kurį norite perduoti:

<Response>
  <Dial>
    <Sip>sip:c-1790372992.Qm3xT8vLk2PzR7nYw4HbJa.uF6sD1gK9eW2cX5vB8nM0q@sip.thunderphone.com;transport=tcp</Sip>
  </Dial>
</Response>

Iš PBX surinkite URI kaip SIP paskirties vietą. Nereikia naudotojo vardo ar slaptažodžio; prieigos raktas yra kredencialas, todėl iki jo panaudojimo URI laikykite slaptažodžiu.

SIP galinis taškas (nuolatinis adresas)

1. Sukurkite galinį tašką

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. Nukreipkite į jį savo sistemą

Sukonfigūruokite SIP magistralę arba paskirties vietą naudodami:

NustatymasReikšmė
SIP URIgalinio taško sip_uri
Naudotojo vardas / slaptažodisusername / password (santraukos autentifikavimas; ThunderPhone tikrina kiekvieną skambutį)
TransportasTCP per 5060 prievadą arba TLS per 5061 prievadą (rekomenduojama), arba UDP per 5060 prievadą
KodekaiG.711 (PCMU/PCMA) arba G.722

Šie transporto ir kodekų nustatymai taip pat taikomi kiekvieno skambučio URI. Abiejų tipų adresams svarbios dvi tinklo detalės:

  • Vadovaukitės Record-Route. Po pirmojo INVITE likusi skambučio signalizacija (ACK, skambučio nutraukimas, peradresavimai) siunčiama į konkretų atsakiusį ThunderPhone serverį, nurodytą Record-Route antraštėje (sip-1.thunderphone.com arba sip-2.thunderphone.com, arba jo IP adresas). Jei ribojate išeinantį SIP, leiskite šiuos prieglobos kompiuterius kartu su sip.thunderphone.com: 172.170.39.202 (sip), 13.86.104.121 (sip-1) ir 20.80.98.90 (sip-2).
  • Garsas keliauja kitur. sip.thunderphone.com perduoda tik signalizaciją. Leiskite medijos srautą (RTP) į SDP atsakyme nurodytus adresus ir prievadus.

Kiekvienas skambutis šiuo adresu pasiekia galinio taško balso agentą, nesvarbu, kokį numerį skambinantysis surinko jūsų pusėje. Niekada neimportuojate numerių, todėl jų keitimas jūsų pusėje nereikalauja jokių ThunderPhone pakeitimų.

Perduokite surinktą numerį (pasirinktinai)

Norėdami įrašyti, kurį iš jūsų numerių surinko skambinantysis, siųskite jį INVITE užklausoje X-Original-To antraštėje (pavyzdžiui, X-Original-To: +14155550142) arba standartinėje Diversion antraštėje. ThunderPhone išsaugo jį kaip skambučio paskirties vietą.

Paskirties vieta parenkama tokia tvarka: to_number, pateiktas registruojant kiekvieno skambučio URI, tada numeris X-Original-To antraštėje, tada numeris Diversion antraštėje. Jei nė viename iš jų nėra numerio, galiniam taškui rodoma sip:agent-12-jhxmginwjx (galinio taško adresas), o kiekvieno skambučio URI rodoma sip:call.

Naudodami Twilio, antraštę galite pridėti prie SIP URI: sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142.

Apribokite šaltinio IP adresus (pasirinktinai)

Nustatykite allowed_source_cidrs, kad skambučiai būtų priimami tik iš jūsų signalizacijos adresų, papildomai prie naudotojo vardo ir slaptažodžio:

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"]}'

Skambučiai iš bet kurio kito adreso atmetami prieš pasiekdami balso agentą. Naudokite adresus, iš kurių jūsų sistema siunčia SIP signalizaciją (tokiam ryšio paslaugų teikėjui kaip Twilio – jo skelbiamus signalizacijos IP adresų diapazonus), o ne medijos adresus.

Ką mato skambintojai ir jūsų sistema

  • Skambintojo ID: From antraštės naudotojo dalis išsaugoma kaip skambintojas. Telefono numeris (skaitmenys, pasirinktinai su +, tarpais, brūkšneliais, taškais ar skliaustais) normalizuojamas į E.164 formatą; visa kita, pavyzdžiui, SIP naudotojo vardas, išsaugoma taip, kaip išsiųsta. Išsaugoma ne daugiau kaip 32 simboliai, o nesant skambintojo išsaugoma anonymous.
  • Atmesti skambučiai: nežinomas arba nebegaliojantis vieno skambučio URI gauna SIP 404 Not Found. Jau panaudotas vieno skambučio URI, išjungtas galinis taškas arba šaltinis už leidžiamųjų sąrašo ribų (įskaitant bet kurį UDP skambutį į galinį tašką su leidžiamųjų sąrašu) atjungiamas prieš pradedant agentui veikti: jūsų sistema gali matyti, kad skambutis nepavyko, arba kad jis prisijungė ir iškart baigėsi. Tokie atmetimai nesukuria skambučių istorijos įrašo. Jei jūsų organizacijai trūksta kredito arba ji pasiekė išlaidų limitą, skambutis atmetamas ir skambučių istorijoje rodomas kaip nepavykęs skambutis be mokesčio. Norėdami pakartoti vieno skambučio bandymą, sukurkite naują URI.
  • Perdavimai: veikia agento akli perdavimai (ThunderPhone siunčia SIP REFER, kurį jūsų sistema turi priimti). Šilti perdavimai SIP adreso skambučiams nepasiekiami, nes nėra ThunderPhone numerio, kurį būtų galima rodyti kaip antrosios skambučio dalies skambintojo ID. Naudojant Twilio, aukščiau pateiktas TwiML prijungia agentą, tačiau neapdoroja perdavimų: prie <Dial> pridėkite referUrl="https://YOUR_SERVER/sip-transfer", o ši žiniatinklio užklausa turi nuskaityti ReferTransferTarget ir grąžinti TwiML, kuris surenka perdavimo paskirties vietą (žr. Twilio SIP REFER vadovą).
  • Tekstiniai pranešimai: SIP adresas ir surinktas numeris negali siųsti tekstinių pranešimų. Agentas gali siųsti tekstinius pranešimus per SIP adreso skambutį tik jei jam nustatytas atskiras SMS funkciją palaikantis numeris, skirtas tekstiniams pranešimams; kitu atveju jo SMS įrankis nepasiekiamas.
  • Registracija: ThunderPhone nepriima SIP REGISTER. Siųskite skambučius į adresą; nesiregistruokite prie jo.

Kainodara

SIP adreso skambučiai apmokestinami įprastu agento minutiniu tarifu. Telefono numerio mokesčio nėra, nes skambučio neaptarnauja joks ThunderPhone numeris. Jūsų ryšio paslaugų teikėjas savo skambučio dalį apmokestina kaip įprasta. Žr. Kainodara.

Išbandykite

  1. Sukurkite vieno skambučio URI arba galinį tašką, kaip nurodyta aukščiau.
  2. Surinkite jį iš savo sistemos arba iš bet kurio SIP programinio telefono (galiniam taškui įveskite naudotojo vardą ir slaptažodį).
  3. Baigę skambutį, atidarykite jį valdymo skydelio skiltyje Skambučiai arba gaukite jį naudodami GET /v1/calls/{call_id}. Jame rodomas skambintojas, paskirties vieta (žr. tvarką skiltyje „Perduokite surinktą numerį“) ir transkriptas.

API informacija: SIP adresų API nuoroda.