ThunderPhone 2.0 er lansert.Kom i gang selv – fra 2¢/min.Les mer om lanseringen

Developer cookbook

Koble til via SIP (uten telefonnummer)

Send samtaler til en ThunderPhone-stemmeagent direkte fra PBX-en, operatøren eller SIP-applikasjonen din, med en engangs-SIP-URI per samtale eller en permanent SIP-adresse.

Hvis ditt eget system allerede håndterer telefonnumre (en PBX, en kontaktsenterplattform eller en operatørkonto der du roterer numre), kan du sende samtaler til en ThunderPhone-stemmeagent over vanlig SIP. Du importerer eller kjøper ikke et nummer på ThunderPhone. Systemet ditt ringer en SIP-adresse, og agenten svarer.

Det finnes to typer SIP-adresser:

SIP-URI per samtaleSIP-endepunkt
Ser ut somsip:c-<token>@sip.thunderphone.comsip:agent-<id>-<letters>@sip.thunderphone.com
Opprettes medPOST /v1/calls/register-sip, én gang per samtalePOST /v1/sip-endpoints, én gang
AutentiseringEngangstokenet i adressenSIP-digest-brukernavn + passord (og eventuelt en tillatelsesliste for kilde-IP)
Passer forApper som allerede kaller et API før de overfører en samtale; variabler per samtalePBX-er og operatører som bare skal peke en trunk mot ThunderPhone
Gyldig i5 minutter, én samtaleTil du sletter det

Begge typene ruter til én agent i organisasjonen din, og begge vises i samtalehistorikken som alle andre innkommende samtaler.

SIP-URI per samtale

1. Registrer samtalen

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 (valgfritt) er nummeret innringeren ringte til på din side. Det lagres som samtalens destinasjon i samtalehistorikken, og agenten ser det som sitt eget nummer.
  • variables (valgfritt) fyller ut {{placeholders}} i agentens prompt, på samme måte som for utgående samtaler.
  • call_id er id-en samtalen får i samtalehistorikken (GET /v1/calls/{call_id}) når den kobles til.

2. Ring URI-en

Send samtalen til sip_uri innen 5 minutter. URI-en fungerer bare for én samtale: Når en samtale har brukt den, er den brukt opp, selv om samtalen avsluttes raskt.

Med Twilio kan du for eksempel returnere denne TwiML-en for samtalen du vil overføre:

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

Fra en PBX ringer du URI-en som en SIP-destinasjon. Du trenger ikke brukernavn eller passord; tokenet er legitimasjonen, så behandle URI-en som et passord til den har blitt brukt.

SIP-endepunkt (fast adresse)

1. Opprett endepunktet

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. Pek systemet ditt til det

Konfigurer en SIP-trunk eller destinasjon med:

InnstillingVerdi
SIP-URIendepunktets sip_uri
Brukernavn / passordusername / password (digest-autentisering; ThunderPhone utfordrer hvert anrop)
TransportTCP på port 5060 eller TLS på port 5061 (anbefalt), eller UDP på port 5060
KodekerG.711 (PCMU/PCMA) eller G.722

Disse transport- og kodekinnstillingene gjelder også for URI-er per anrop. To nettverksdetaljer er viktige for begge adressetypene:

  • Følg Record-Route. Etter den første INVITE-en går resten av anropets signalering (ACK, avslutning, overføringer) til den spesifikke ThunderPhone-serveren som svarte, og som er angitt i Record-Route-headeren (sip-1.thunderphone.com eller sip-2.thunderphone.com, eller IP-adressen). Hvis du begrenser utgående SIP, må du tillate disse vertene i tillegg til sip.thunderphone.com: 172.170.39.202 (sip), 13.86.104.121 (sip-1) og 20.80.98.90 (sip-2).
  • Lyden går et annet sted. sip.thunderphone.com frakter bare signalering. Tillat medier (RTP) til adressene og portene i SDP-svaret.

Alle anrop til adressen når endepunktets agent, uansett hvilket nummer innringeren ringte på din side. Du importerer aldri numre, så å rotere dem på din side krever ingen endring i ThunderPhone.

Send det oppringte nummeret (valgfritt)

For å registrere hvilket av numrene dine innringeren ringte, sender du det i INVITE-en i en X-Original-To-header (for eksempel X-Original-To: +14155550142) eller i en standard Diversion-header. ThunderPhone lagrer det som anropets destinasjon.

Destinasjonen velges i denne rekkefølgen: to_number som ble oppgitt da en URI per anrop ble registrert, deretter et nummer i X-Original-To, deretter ett i Diversion. Hvis ingen av disse oppgir et nummer, vises det som sip:agent-12-jhxmginwjx (endepunktets adresse) for et endepunkt, eller sip:call for en URI per anrop.

Med Twilio kan du legge til headeren i SIP-URI-en: sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142.

Begrens kilde-IP-er (valgfritt)

Sett allowed_source_cidrs for bare å godta anrop fra dine egne signaleringsadresser, i tillegg til brukernavn og passord:

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

Anrop fra andre adresser avvises før de når agenten. Bruk adressene systemet ditt sender SIP-signalering fra (for en operatør som Twilio, deres publiserte IP-områder for signalering), ikke medieadressene dine.

Hva innringere og systemet ditt ser

  • Anrops-ID: brukerdelen av From-headeren lagres som innringer. Et telefonnummer (sifre, eventuelt med +, mellomrom, bindestreker, punktum eller parenteser) normaliseres til E.164; alt annet, for eksempel et SIP-brukernavn, beholdes slik det ble sendt. Maksimalt 32 tegn beholdes, og en manglende innringer lagres som anonymous.
  • Avviste anrop: en ukjent eller utløpt URI per anrop får SIP 404 Not Found. En URI per anrop som allerede er brukt, et deaktivert endepunkt eller en kilde utenfor tillatelseslisten (inkludert alle UDP-anrop til et endepunkt med en tillatelsesliste) kobles fra før agenten starter: systemet ditt kan se at anropet mislykkes, eller at det kobles til og deretter avsluttes umiddelbart. Disse avvisningene oppretter ikke en oppføring i anropshistorikken. Hvis organisasjonen din er tom for kreditt eller har nådd utgiftsgrensen, avvises anropet og vises i anropshistorikken som et mislykket anrop uten kostnad. For å prøve et forsøk per anrop på nytt, registrer en ny URI.
  • Overføringer: agentens blinde overføringer fungerer (ThunderPhone sender en SIP REFER, som systemet ditt må godta). Assisterte overføringer er ikke tilgjengelige for anrop til SIP-adresser, fordi det ikke finnes noe ThunderPhone-nummer å vise som anrops-ID for den andre samtaledelen. Med Twilio kobler TwiML-en over til agenten, men håndterer ikke overføringer: legg til referUrl="https://YOUR_SERVER/sip-transfer" i <Dial>, og la denne webhooken lese ReferTransferTarget og returnere TwiML som ringer overføringsdestinasjonen (se Twilios SIP REFER-veiledning).
  • Tekstmeldinger: SIP-adressen og nummeret det ringes til kan ikke sende tekstmeldinger. Agenten kan sende tekstmeldinger under et anrop til en SIP-adresse bare hvis den har et separat SMS-kompatibelt nummer konfigurert for tekstmeldinger; ellers er SMS-verktøyet utilgjengelig.
  • Registrering: ThunderPhone godtar ikke SIP REGISTER. Send anrop til adressen; ikke registrer deg på den.

Priser

Anrop til SIP-adresser faktureres til agentens vanlige minuttpris. Det er ingen kostnad for telefonnummer, fordi ingen ThunderPhone-numre bærer anropet. Din egen operatør fakturerer sin del av anropet som vanlig. Se Priser.

Test det

  1. Opprett en URI per anrop eller et endepunkt som beskrevet ovenfor.
  2. Ring til den fra systemet ditt eller fra en SIP-softphone (for et endepunkt, oppgi brukernavn og passord).
  3. Etter at du har lagt på, åpner du anropet i Samtaler i dashbordet, eller henter det med GET /v1/calls/{call_id}. Det viser innringeren, destinasjonen (se rekkefølgen under «Send det oppringte nummeret») og transkripsjonen.

API-detaljer: API-referanse for SIP-adresser.