ThunderPhone 2.0 on nüüd saadaval.Iseteenindusena alates 2 senti/min.Loe uudist

Developer cookbook

Ühenda SIP-i kaudu (telefoninumbrita)

Suuna kõned oma PBX-ist, operaatorilt või SIP-rakendusest otse ThunderPhone

Kui sinu süsteem juba haldab telefoninumbreid (PBX, kontaktikeskuse platvorm või operaatorikonto, kus numbreid vahetad), saad kõned suunata ThunderPhone'i häälagendile tavalise SIP-i kaudu. Sa ei impordi ega osta ThunderPhone'is numbrit. Sinu süsteem valib SIP-aadressi ja agent vastab.

SIP-aadresse on kahte tüüpi:

Kõnepõhine SIP URISIP-lõpp-punkt
Näeb välja nagusip:c-<token>@sip.thunderphone.comsip:agent-<id>-<letters>@sip.thunderphone.com
LuuaksePOST /v1/calls/register-sip, üks kord iga kõne kohtaPOST /v1/sip-endpoints, üks kord
AutentimineAadressis olev ühekordne tokenSIP digesti kasutajanimi + parool (ja soovi korral lähte-IP lubatud loend)
SobibRakendustele, mis kutsuvad juba enne kõne edasi suunamist API-t; kõnepõhised muutujadPBX-idele ja operaatoritele, mis peaksid lihtsalt ThunderPhone'i suunas „trunki osutama”
Kehtib5 minutit, üks kõneKuni selle kustutad

Mõlemad tüübid suunavad sinu organisatsioonis ühele agendile ning mõlemad kuvatakse kõneajaloos nagu mis tahes muu sissetulev kõne.

Kõnepõhine SIP URI

1. Registreeri kõne

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 (valikuline) on number, mille helistaja sinu poolel valis. See salvestatakse kõneajaloos kõne sihtnumbrina ning agent näeb seda oma numbrina.
  • variables (valikuline) täidavad agendi viibas olevad {{placeholders}} samamoodi nagu väljuvate kõnede puhul.
  • call_id on ID, mis kõnel on kõneajaloos (GET /v1/calls/{call_id}), kui see ühendub.

2. Vali URI

Saada kõne sip_uri-le 5 minuti jooksul. URI töötab ainult ühe kõne jaoks: kui kõne on seda kasutanud, on see ära kasutatud, isegi kui kõne lõpeb kiiresti.

Näiteks Twilio puhul tagasta edasi antava kõne jaoks järgmine TwiML:

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

PBX-ist vali URI SIP-sihtkohana. Kasutajanime ega parooli pole vaja; token on autentimisteave, seega käsitle URI-d paroolina, kuni seda on kasutatud.

SIP-lõpp-punkt (püsiaadress)

1. Loo lõpp-punkt

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. Suuna oma süsteem sellele

Seadista SIP-trunk või sihtkoht järgmiste väärtustega:

SeadistusVäärtus
SIP URIlõpp-punkti sip_uri
Kasutajanimi / paroolusername / password (digest-autentimine; ThunderPhone esitab kontrollpäringu iga kõne puhul)
TransportTCP pordil 5060 või TLS pordil 5061 (soovitatav) või UDP pordil 5060
KoodekidG.711 (PCMU/PCMA) või G.722

Need transpordi- ja koodekiseaded kehtivad ka kõnepõhiste URI-de puhul. Mõlema aadressitüübi puhul on olulised kaks võrgudetaili:

  • Järgi Record-Route'i. Pärast esimest INVITE-i saadetakse ülejäänud kõne signalisatsioon (ACK, kõne lõpetamine, edastamised) konkreetsele ThunderPhone'i serverile, mis vastas ja mis on nimetatud Record-Route päises (sip-1.thunderphone.com või sip-2.thunderphone.com või selle IP-aadress). Kui piirad väljaminevat SIP-i, luba lisaks hostile sip.thunderphone.com ka järgmised hostid: 172.170.39.202 (sip), 13.86.104.121 (sip-1) ja 20.80.98.90 (sip-2).
  • Heli liigub mujale. sip.thunderphone.com edastab ainult signalisatsiooni. Luba meedia (RTP) SDP-vastuses määratud aadressidele ja portidele.

Iga sellele aadressile tehtud kõne jõuab lõpp-punkti häälagendini, olenemata sellest, millise numbri helistaja sinu poolel valis. Sa ei impordi kunagi numbreid, seega ei nõua nende vahetamine sinu poolel ThunderPhone'is muudatusi.

Edasta valitud number (valikuline)

Et salvestada, millise sinu numbri helistaja valis, saada see INVITE-is X-Original-To päises (näiteks X-Original-To: +14155550142) või standardses Diversion päises. ThunderPhone salvestab selle kõne sihtkohana.

Sihtkoht valitakse järgmises järjekorras: esmalt kõnepõhise URI registreerimisel antud to_number, seejärel number päises X-Original-To, seejärel number päises Diversion. Kui ükski neist numbrit ei anna, kuvatakse lõpp-punkti puhul sip:agent-12-jhxmginwjx (lõpp-punkti aadress) või kõnepõhise URI puhul sip:call.

Twilioga saad päise lisada SIP URI-le: sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142.

Piira allika IP-aadresse (valikuline)

Määra allowed_source_cidrs, et lisaks kasutajanimele ja paroolile võtta kõnesid vastu ainult sinu enda signalisatsiooniaadressidelt:

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

Kõned mis tahes muult aadressilt lükatakse tagasi enne, kui need jõuavad häälagendini. Kasuta aadresse, millelt sinu süsteem saadab SIP-signalisatsiooni (teenusepakkuja, näiteks Twilio, puhul selle avaldatud signalisatsiooni IP-vahemikke), mitte oma meediaaadresse.

Mida helistajad ja sinu süsteem näevad

  • Helistaja ID: päise From kasutajaosa salvestatakse helistajana. Telefoninumber (numbrid, valikuliselt koos märkidega +, tühikud, sidekriipsud, punktid või sulud) normaliseeritakse E.164 vormingusse; kõik muu, näiteks SIP-kasutajanimi, säilitatakse saadetud kujul. Säilitatakse kuni 32 tähemärki ning puuduva helistaja väärtuseks salvestatakse anonymous.
  • Tagasilükatud kõned: tundmatu või aegunud kõnepõhine URI saab SIP-i 404 Not Found. Juba kasutatud kõnepõhine URI, keelatud lõpp-punkt või lubatud loendist väljaspool olev allikas (sealhulgas mis tahes UDP-kõne lubatud loendiga lõpp-punkti) katkestatakse enne häälagendi käivitumist: sinu süsteem võib näha, et kõne ebaõnnestub, või et see ühendub ja lõpeb kohe. Need tagasilükkamised ei loo kõneajaloo kirjet. Kui sinu organisatsioonil pole krediiti või see on saavutanud kululimiidi, lükatakse kõne tagasi ja see kuvatakse kõneajaloos ebaõnnestunud tasuta kõnena. Kõnepõhise katse uuesti proovimiseks registreeri uus URI.
  • Ümbersuunamised: häälagendi külmad ümbersuunamised töötavad (ThunderPhone saadab SIP-i REFER, mille sinu süsteem peab vastu võtma). Soojad ümbersuunamised pole SIP-aadressi kõnede puhul saadaval, sest teise etapi helistaja ID-na kuvamiseks pole ThunderPhone'i numbrit. Twilio puhul ühendab ülaltoodud TwiML häälagendi, kuid ei töötle ümbersuunamisi: lisa referUrl="https://YOUR_SERVER/sip-transfer" elemendile <Dial> ning pane see veebikonks lugema ReferTransferTarget ja tagastama ümbersuunamise sihtkohta helistava TwiML-i (vaata Twilio SIP REFERi juhendit).
  • Tekstisõnumid: SIP-aadress ja valitud number ei saa tekstisõnumeid saata. Häälagent saab SIP-aadressi kõne ajal tekstisõnumeid saata ainult siis, kui sellele on tekstisõnumite jaoks seadistatud eraldi SMS-võimeline number; vastasel juhul pole selle SMS-tööriist saadaval.
  • Registreerimine: ThunderPhone ei aktsepteeri SIP-i REGISTER. Saada kõned aadressile; ära registreeru sellele.

Hinnakujundus

SIP-aadressi kõnede eest esitatakse arve häälagendi tavapärase minutipõhise hinna alusel. Telefoninumbri tasu puudub, sest kõnet ei edastata ThunderPhone'i numbri kaudu. Sinu enda operaator esitab oma kõneosa eest arve tavapärasel viisil. Vaata Hinnakujundust.

Testi seda

  1. Loo eespool kirjeldatud kõnepõhine URI või lõpp-punkt.
  2. Helista sellele oma süsteemist või mis tahes SIP-tarkvaratelefonist (lõpp-punkti puhul sisesta kasutajanimi ja parool).
  3. Pärast kõne lõpetamist ava kõne juhtpaneelil jaotises Kõned või hangi see päringuga GET /v1/calls/{call_id}. Seal kuvatakse helistaja, sihtkoht (vaata järjekorda jaotisest „Edasta valitud number”) ja transkriptsioon.

API üksikasjad: SIP-aadresside API viide.