---
title: "Koble til via SIP (uten telefonnummer)"
description: "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 samtale** | **SIP-endepunkt** |
|---|---|---|
| Ser ut som | `sip:c-<token>@sip.thunderphone.com` | `sip:agent-<id>-<letters>@sip.thunderphone.com` |
| Opprettes med | `POST /v1/calls/register-sip`, én gang per samtale | `POST /v1/sip-endpoints`, én gang |
| Autentisering | Engangstokenet i adressen | SIP-digest-brukernavn + passord (og eventuelt en tillatelsesliste for kilde-IP) |
| Passer for | Apper som allerede kaller et API før de overfører en samtale; variabler per samtale | PBX-er og operatører som bare skal peke en trunk mot ThunderPhone |
| Gyldig i | 5 minutter, én samtale | Til 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

```bash
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"}
  }'
```

```json
{
  "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](/nb/guides/call-variables).
- `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:

```xml
<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

```bash
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"}'
```

```json
{
  "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"
}
```

<Warning>
  `password` returneres bare én gang, når endepunktet opprettes. Lagre det
  umiddelbart i PBX- eller operatørkonfigurasjonen din. Hvis du mister det, kan du rotere det
  med `POST /v1/sip-endpoints/{id}/rotate-password`.
</Warning>

### 2. Pek systemet ditt til det

Konfigurer en SIP-trunk eller destinasjon med:

| Innstilling | Verdi |
|---|---|
| SIP-URI | endepunktets `sip_uri` |
| Brukernavn / passord | `username` / `password` (digest-autentisering; ThunderPhone utfordrer hvert anrop) |
| Transport | TCP på port 5060 eller TLS på port 5061 (anbefalt), eller UDP på port 5060 |
| Kodeker | G.711 (PCMU/PCMA) eller G.722 |

<Note>
  Foretrekk TCP eller TLS. UDP fungerer fra offentlige adresser og de fleste NAT-er, men
  bak en «symmetrisk» NAT (som bruker en ny port for hver destinasjon) kan
  agentens avslutninger og overføringer kanskje ikke nå systemet ditt. En tillatelsesliste
  for kilde-IP-er (nedenfor) krever også TCP eller TLS. Med TLS forblir SIP-signaleringen
  kryptert også forbi `sip.thunderphone.com`, helt frem til serverne som
  håndterer anropet.
</Note>

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:

```bash
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.

<Warning>
  Tillatelseslisten kontrolleres bare for anrop over TCP eller TLS. En UDP-kildeadresse
  kan forfalskes, så et endepunkt med en tillatelsesliste avviser alle anrop som
  kommer over UDP. Send anrop til det med `;transport=tcp` (port 5060) eller over
  TLS (port 5061).
</Warning>

## 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](https://www.twilio.com/docs/voice/api/refer-to-twilio)).
- **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](/nb/guides/pricing).

## 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](/api-reference/sip-addresses).
