ThunderPhone 2.0 je tu.Začnite sami, už od 2 ¢/min.Prečítať oznámenie

Developer cookbook

Pripojenie cez SIP (bez telefónneho čísla)

Posielajte hovory hlasovému agentovi ThunderPhone priamo z vašej pobočkovej ústredne, od poskytovateľa alebo z aplikácie SIP pomocou jednorazového SIP URI pre každý hovor alebo trvalej adresy SIP.

Ak váš vlastný systém už spracúva telefónne čísla (PBX, platforma kontaktného centra alebo účet u operátora, kde čísla rotujete), môžete hovory posielať hlasovému agentovi ThunderPhone cez bežný SIP. Do ThunderPhone číslo neimportujete ani nekupujete. Váš systém vytočí adresu SIP a agent odpovie.

Existujú dva druhy adries SIP:

SIP URI pre jednotlivý hovorSIP koncový bod
Vyzerá akosip:c-<token>@sip.thunderphone.comsip:agent-<id>-<letters>@sip.thunderphone.com
Vytvorené pomocouPOST /v1/calls/register-sip, raz pre každý hovorPOST /v1/sip-endpoints, raz
AutentifikáciaJednorazový token v adresePoužívateľské meno a heslo SIP digest (a voliteľne zoznam povolených zdrojových IP adries)
Vhodné preAplikácie, ktoré už volajú API pred presmerovaním hovoru; premenné pre jednotlivé hovoryPBX a operátorov, ktorí majú jednoducho „nasmerovať trunk“ na ThunderPhone
Platné5 minút, jeden hovorKým ho neodstránite

Oba druhy smerujú k jednému agentovi vo vašej organizácii a oba sa v histórii hovorov zobrazujú ako každý iný prichádzajúci hovor.

SIP URI pre jednotlivý hovor

1. Zaregistrujte hovor

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 (voliteľné) je číslo, ktoré volajúci vytočil na vašej strane. Uloží sa ako cieľ hovoru v histórii hovorov a agent ho vidí ako svoje vlastné číslo.
  • variables (voliteľné) vyplnia {{placeholders}} vo výzve agenta, rovnako ako pri odchádzajúcich hovoroch.
  • call_id je ID, ktoré bude mať hovor v histórii hovorov (GET /v1/calls/{call_id}), keď sa spojí.

2. Vytočte URI

Pošlite hovor na sip_uri do 5 minút. URI funguje len pre jeden hovor: po použití hovoru je neplatné, aj keď sa daný hovor rýchlo skončí.

Napríklad v službe Twilio vráťte pre hovor, ktorý chcete odovzdať, tento TwiML:

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

Z PBX vytočte URI ako cieľ SIP. Nie je potrebné žiadne používateľské meno ani heslo; token je prihlasovací údaj, preto s URI zaobchádzajte ako s heslom, kým nebolo použité.

Koncový bod SIP (trvalá adresa)

1. Vytvorte koncový bod

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. Nasmerujte naň svoj systém

Nakonfigurujte trunk SIP alebo cieľ s týmito hodnotami:

NastavenieHodnota
URI SIPsip_uri koncového bodu
Používateľské meno / heslousername / password (digest autentifikácia; ThunderPhone vyzve na autentifikáciu pri každom hovore)
TransportTCP na porte 5060 alebo TLS na porte 5061 (odporúčané), prípadne UDP na porte 5060
KodekyG.711 (PCMU/PCMA) alebo G.722

Tieto nastavenia transportu a kodekov platia aj pre URI jednotlivých hovorov. Pre oba typy adries sú dôležité dva sieťové detaily:

  • Dodržiavajte Record-Route. Po prvom INVITE sa zvyšná signalizácia hovoru (ACK, ukončenie, prepojenia) odosiela na konkrétny server ThunderPhone, ktorý odpovedal a je uvedený v hlavičke Record-Route (sip-1.thunderphone.com alebo sip-2.thunderphone.com, prípadne jeho IP adresa). Ak obmedzujete odchádzajúce SIP, povoľte tieto hostiteľské servery aj sip.thunderphone.com: 172.170.39.202 (sip), 13.86.104.121 (sip-1) a 20.80.98.90 (sip-2).
  • Zvuk smeruje inde. sip.thunderphone.com prenáša iba signalizáciu. Povoľte médiá (RTP) na adresy a porty v odpovedi SDP.

Každý hovor na túto adresu sa spojí s agentom koncového bodu bez ohľadu na to, aké číslo volajúci vytočil na vašej strane. Čísla nikdy neimportujete, takže ich zmena na vašej strane nevyžaduje žiadnu zmenu v ThunderPhone.

Odovzdanie vytočeného čísla (voliteľné)

Ak chcete zaznamenať, na ktoré z vašich čísel volajúci volal, odošlite ho v INVITE v hlavičke X-Original-To (napríklad X-Original-To: +14155550142) alebo v štandardnej hlavičke Diversion. ThunderPhone ho uloží ako cieľ hovoru.

Cieľ sa vyberá v tomto poradí: to_number zadané pri registrácii URI jednotlivého hovoru, potom číslo v X-Original-To, potom číslo v Diversion. Ak žiadna z týchto možností neposkytne číslo, pre koncový bod sa zobrazí sip:agent-12-jhxmginwjx (adresa koncového bodu) alebo sip:call pre URI jednotlivého hovoru.

V službe Twilio môžete hlavičku pridať do URI SIP: sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142.

Obmedzenie zdrojových IP adries (voliteľné)

Nastavte allowed_source_cidrs, aby sa okrem používateľského mena a hesla prijímali iba hovory z vašich vlastných signalizačných adries:

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

Hovory z akejkoľvek inej adresy sa odmietnu predtým, než sa dostanú k agentovi. Použite adresy, z ktorých váš systém odosiela signalizáciu SIP (pri operátorovi, ako je Twilio, jeho zverejnené rozsahy signalizačných IP adries), nie adresy médií.

Čo vidia volajúci a váš systém

  • ID volajúceho: používateľská časť hlavičky From sa uloží ako volajúci. Telefónne číslo (číslice, voliteľne so znakmi +, medzerami, pomlčkami, bodkami alebo zátvorkami) sa normalizuje na E.164; všetko ostatné, napríklad používateľské meno SIP, sa zachová v odoslanej podobe. Uloží sa najviac 32 znakov a chýbajúci volajúci sa uloží ako anonymous.
  • Odmietnuté hovory: neznáma alebo expirovaná URI pre jednotlivý hovor dostane SIP 404 Not Found. Hovor s už použitou URI pre jednotlivý hovor, na deaktivovaný koncový bod alebo zo zdroja mimo zoznamu povolených (vrátane každého hovoru UDP na koncový bod so zoznamom povolených) sa odpojí pred spustením agenta: váš systém môže vidieť zlyhanie hovoru alebo jeho spojenie a okamžité ukončenie. Pri týchto odmietnutiach sa nevytvorí záznam v histórii hovorov. Ak vaša organizácia nemá dostatok kreditu alebo dosiahla limit výdavkov, hovor sa odmietne a v histórii hovorov sa zobrazí ako neúspešný hovor bez poplatku. Ak chcete zopakovať pokus pre jednotlivý hovor, zaregistrujte novú URI.
  • Presmerovania: priame presmerovania hlasového agenta fungujú (ThunderPhone odošle SIP REFER, ktorý musí váš systém prijať). Asistované presmerovania nie sú pri hovoroch na adresu SIP k dispozícii, pretože neexistuje číslo ThunderPhone, ktoré by sa mohlo zobraziť ako ID volajúceho pre druhú vetvu hovoru. Pri použití Twilia vyššie uvedený TwiML spojí agenta, ale nespracuje presmerovania: pridajte referUrl="https://YOUR_SERVER/sip-transfer" do <Dial> a zabezpečte, aby tento webhook prečítal ReferTransferTarget a vrátil TwiML, ktorý vytočí cieľ presmerovania (pozrite si príručku SIP REFER od Twilia).
  • Textové správy: adresa SIP ani vytočené číslo nemôžu odosielať textové správy. Agent môže počas hovoru na adresu SIP odosielať textové správy iba v prípade, že má na odosielanie správ nastavené samostatné číslo s podporou SMS; inak jeho nástroj SMS nie je k dispozícii.
  • Registrácia: ThunderPhone neprijíma SIP REGISTER. Posielajte hovory na adresu; neregistrujte sa na ňu.

Ceny

Hovory na adresu SIP sa účtujú podľa bežnej sadzby agenta za minútu. Neúčtuje sa žiadny poplatok za telefónne číslo, pretože hovor neprenáša žiadne číslo ThunderPhone. Váš vlastný telekomunikačný poskytovateľ účtuje svoju časť hovoru ako zvyčajne. Pozrite si Ceny.

Vyskúšajte to

  1. Vytvorte URI pre jednotlivý hovor alebo koncový bod podľa vyššie uvedeného postupu.
  2. Vytočte ju zo svojho systému alebo z ľubovoľného SIP softfónu (pri koncovom bode zadajte používateľské meno a heslo).
  3. Po ukončení hovoru ho otvorte v časti Hovory na paneli alebo ho získajte pomocou GET /v1/calls/{call_id}. Zobrazí sa volajúci, cieľové číslo (pozrite si poradie v časti „Odovzdanie vytočeného čísla“) a prepis.

Podrobnosti API: referencia API adries SIP.