---
title: "Forbind via SIP (intet telefonnummer)"
description: "Send opkald til en ThunderPhone-agent direkte fra din PBX, operatør eller SIP-applikation med en engangs-SIP-URI pr. opkald eller en permanent SIP-adresse."
---

Hvis dit eget system allerede håndterer telefonnumre (en PBX, en kontaktcenterplatform eller en operatørkonto, hvor du roterer numre), kan du sende opkald til en ThunderPhone-agent via almindelig SIP. Du importerer eller køber ikke et nummer på ThunderPhone. Dit system ringer til en SIP-adresse, og agenten besvarer opkaldet.

Der findes to typer SIP-adresser:

| | **SIP-URI pr. opkald** | **SIP-slutpunkt** |
|---|---|---|
| Ser ud som | `sip:c-<token>@sip.thunderphone.com` | `sip:agent-<id>-<letters>@sip.thunderphone.com` |
| Oprettet med | `POST /v1/calls/register-sip`, én gang pr. opkald | `POST /v1/sip-endpoints`, én gang |
| Godkendelse | Engangstokenet i adressen | SIP-digestbrugernavn + adgangskode (og valgfrit en tilladelsesliste for kilde-IP) |
| Velegnet til | Apps, der allerede kalder et API, før et opkald viderestilles; variabler pr. opkald | PBX'er og operatører, der blot skal "pege en trunk" mod ThunderPhone |
| Gyldig i | 5 minutter, ét opkald | Indtil du sletter det |

Begge typer viderestiller til én agent i din organisation, og begge vises i
opkaldshistorikken som ethvert andet indgående opkald.

## SIP-URI pr. opkald

### 1. Registrer opkaldet

```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` (valgfrit) er det nummer, opkalderen ringede til hos dig. Det
  gemmes som opkaldets destination i opkaldshistorikken, og agenten ser det som
  sit eget nummer.
- `variables` (valgfrit) udfylder `{{placeholders}}` i agentens prompt på samme
  måde som ved [udgående opkald](/da/guides/call-variables).
- `call_id` er det id, opkaldet får i opkaldshistorikken
  (`GET /v1/calls/{call_id}`), når det forbindes.

### 2. Ring til URI'en

Send opkaldet til `sip_uri` inden for 5 minutter. URI'en fungerer kun til ét
opkald: Når et opkald har brugt den, er den opbrugt, også selv om opkaldet
slutter hurtigt.

Med Twilio kan du for eksempel returnere denne TwiML for det opkald, du vil overdrage:

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

Fra en PBX skal du ringe til URI'en som en SIP-destination. Der kræves intet
brugernavn eller adgangskode; tokenet er legitimationsoplysningen, så behandl
URI'en som en adgangskode, indtil den er blevet brugt.

## SIP-endpoint (permanent adresse)

### 1. Opret endpointet

```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 kun én gang, når endpointet oprettes. Gem den straks
  i konfigurationen af din PBX eller operatør. Hvis du mister den, skal du rotere den
  med `POST /v1/sip-endpoints/{id}/rotate-password`.
</Warning>

### 2. Peg dit system på det

Konfigurer en SIP-trunk eller destination med:

| Indstilling | Værdi |
|---|---|
| SIP-URI | endpointets `sip_uri` |
| Brugernavn / adgangskode | `username` / `password` (digest-godkendelse; ThunderPhone udfordrer hvert opkald) |
| Transport | TCP på port 5060 eller TLS på port 5061 (anbefalet), eller UDP på port 5060 |
| Codecs | G.711 (PCMU/PCMA) eller G.722 |

<Note>
  Foretræk TCP eller TLS. UDP fungerer fra offentlige adresser og fra de fleste NAT'er, men
  bag en "symmetrisk" NAT (en, der bruger en ny port for hver destination) når
  agentens afslutninger og viderestillinger muligvis ikke dit system. En tilladelsesliste
  for kilde-IP-adresser (nedenfor) kræver også TCP eller TLS. Med TLS forbliver
  SIP-signalering krypteret også efter `sip.thunderphone.com`, hele vejen til de
  servere, der håndterer opkaldet.
</Note>

Disse transport- og codec-indstillinger gælder også for URI'er pr. opkald. To netværksdetaljer
er vigtige for begge typer adresser:

- **Følg Record-Route.** Efter den første INVITE sendes resten af opkaldets
  signalering (ACK, afslutning, viderestillinger) til den specifikke ThunderPhone-server,
  der svarede, og som er angivet i `Record-Route`-headeren
  (`sip-1.thunderphone.com` eller `sip-2.thunderphone.com` eller dens IP-adresse).
  Hvis du begrænser udgående SIP, skal du tillade disse værter samt
  `sip.thunderphone.com`: `172.170.39.202` (`sip`), `13.86.104.121`
  (`sip-1`) og `20.80.98.90` (`sip-2`).
- **Lyd går et andet sted hen.** `sip.thunderphone.com` håndterer kun signalering.
  Tillad medier (RTP) til adresserne og portene i SDP-svaret.

Alle opkald til adressen når endpointets agent, uanset hvilket nummer din
opkalder ringede til på din side. Du importerer aldrig numre, så rotation af dem på
din side kræver ingen ændring i ThunderPhone.

### Send det ringede nummer videre (valgfrit)

For at registrere hvilket af dine numre opkalderen ringede til, skal du sende det i INVITE'en i en
`X-Original-To`-header (for eksempel `X-Original-To: +14155550142`) eller i en
standardheader af typen `Diversion`. ThunderPhone gemmer det som opkaldets destination.

Destinationen vælges i denne rækkefølge: `to_number`, der blev angivet, da en URI pr. opkald
blev registreret, derefter et nummer i `X-Original-To`, derefter et i `Diversion`.
Hvis ingen af disse angiver et nummer, vises det som `sip:agent-12-jhxmginwjx` (endpointets
adresse) for et endpoint eller som `sip:call` for en URI pr. opkald.

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

### Begræns kilde-IP-adresser (valgfrit)

Angiv `allowed_source_cidrs` for kun at acceptere opkald fra dine egne signaleringsadresser
ud over brugernavn og adgangskode:

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

Opkald fra alle andre adresser afvises, før de når agenten. Brug de
adresser, som dit system sender SIP-signalering fra (for en operatør som Twilio:
dens offentliggjorte IP-områder til signalering), ikke dine medieadresser.

<Warning>
  Tilladelseslisten kontrolleres kun for opkald over TCP eller TLS. En UDP-kildeadresse
  kan forfalskes, så et endpoint med en tilladelsesliste afviser alle opkald, der
  ankommer over UDP. Send opkald til det med `;transport=tcp` (port 5060) eller via
  TLS (port 5061).
</Warning>

## Hvad opkaldere og dit system ser

- **Opkalds-id:** brugerdelen af `From`-headeren gemmes som opkalderen.
  Et telefonnummer (cifre, eventuelt med `+`, mellemrum, bindestreger, punktummer eller
  parenteser) normaliseres til E.164; alt andet, f.eks. et SIP-brugernavn,
  bevares som sendt. Der bevares højst 32 tegn, og en manglende opkalder gemmes
  som `anonymous`.
- **Afviste opkald:** en ukendt eller udløbet URI pr. opkald får SIP
  `404 Not Found`. En allerede brugt URI pr. opkald, et deaktiveret endpoint eller en
  kilde uden for tilladelseslisten (herunder ethvert UDP-opkald til et endpoint med en
  tilladelsesliste) afbrydes, før agenten starter: dit system kan se
  opkaldet fejle eller forbinde og derefter afslutte med det samme. Disse
  afvisninger opretter ikke en post i opkaldshistorikken. Hvis din organisation
  ikke har mere kredit eller har nået sin forbrugsgrænse, afvises opkaldet og
  vises i opkaldshistorikken som et mislykket opkald uden opkrævning. For at
  prøve et forsøg pr. opkald igen skal du registrere en ny URI.
- **Viderestillinger:** agentens kolde viderestillinger fungerer (ThunderPhone sender en SIP
  `REFER`, som dit system skal acceptere). Varme viderestillinger er ikke tilgængelige for opkald
  til SIP-adresser, fordi der ikke er noget ThunderPhone-nummer at vise som
  opkalds-id for det andet led. Med Twilio forbinder TwiML'en ovenfor agenten,
  men håndterer ikke viderestillinger: Tilføj `referUrl="https://YOUR_SERVER/sip-transfer"`
  til `<Dial>`, og lad den webhook læse `ReferTransferTarget` og returnere
  TwiML, der ringer op til viderestillingsdestinationen (se Twilios
  [SIP REFER-vejledning](https://www.twilio.com/docs/voice/api/refer-to-twilio)).
- **Tekstbeskeder:** SIP-adressen og det opkaldte nummer kan ikke sende tekstbeskeder.
  Agenten kan kun sende tekstbeskeder under et opkald til en SIP-adresse, hvis den har et separat
  SMS-kompatibelt nummer konfigureret til tekstbeskeder; ellers er dens SMS-værktøj
  ikke tilgængeligt.
- **Registrering:** ThunderPhone accepterer ikke SIP `REGISTER`. Send opkald til
  adressen; registrer ikke på den.

## Priser

Opkald til SIP-adresser faktureres til agentens normale pris pr. minut. Der er
ingen opkrævning for telefonnummer, fordi intet ThunderPhone-nummer bærer opkaldet. Din
egen operatør fakturerer sin del af opkaldet som normalt. Se
[Priser](/da/guides/pricing).

## Test det

1. Opret en URI pr. opkald eller et endpoint som beskrevet ovenfor.
2. Ring til den fra dit system eller fra en vilkårlig SIP-softphone (for et endpoint skal du indtaste
   brugernavnet og adgangskoden).
3. Når du har lagt på, skal du åbne opkaldet under **Opkald** i dashboardet eller hente det
   med `GET /v1/calls/{call_id}`. Det viser opkalderen, destinationen
   (se rækkefølgen under "Send det opkaldte nummer") og transskriptionen.

API-detaljer: [API-reference for SIP-adresser](/api-reference/sip-addresses).
