---
title: "Anslut via SIP (inget telefonnummer)"
description: "Skicka samtal till en ThunderPhone-röstagent direkt från din PBX, operatör eller SIP-applikation, med en SIP-URI för engångsbruk per samtal eller en permanent SIP-adress."
---

Om ditt eget system redan hanterar telefonnummer (en PBX, en kontaktcenterplattform eller ett operatörskonto där du roterar nummer) kan du skicka samtal till en ThunderPhone-agent via vanlig SIP. Du importerar eller köper inget nummer på ThunderPhone. Ditt system ringer upp en SIP-adress och agenten svarar.

Det finns två typer av SIP-adresser:

| | **SIP-URI per samtal** | **SIP-slutpunkt** |
|---|---|---|
| Ser ut som | `sip:c-<token>@sip.thunderphone.com` | `sip:agent-<id>-<letters>@sip.thunderphone.com` |
| Skapas med | `POST /v1/calls/register-sip`, en gång per samtal | `POST /v1/sip-endpoints`, en gång |
| Autentisering | Engångstoken i adressen | SIP digest-användarnamn + lösenord (och valfritt en tillåtelselista för käll-IP) |
| Passar för | Appar som redan anropar ett API innan de överför ett samtal; variabler per samtal | PBX:er och operatörer som bara ska "peka en trunk" mot ThunderPhone |
| Gäller i | 5 minuter, ett samtal | Tills du tar bort den |

Båda typerna dirigerar till en agent i din organisation, och båda visas i samtalshistoriken som alla andra inkommande samtal.

## SIP-URI per samtal

### 1. Registrera samtalet

```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` (valfritt) är numret som uppringaren ringde till hos dig. Det
  lagras som samtalets destination i samtalshistoriken, och agenten ser det som
  sitt eget nummer.
- `variables` (valfritt) fyller i `{{placeholders}}` i agentens prompt, på
  samma sätt som för [utgående samtal](/sv/guides/call-variables).
- `call_id` är det id som samtalet får i samtalshistoriken
  (`GET /v1/calls/{call_id}`) när det ansluts.

### 2. Ring URI:n

Skicka samtalet till `sip_uri` inom 5 minuter. URI:n fungerar endast för ett samtal:
när ett samtal har använt den är den förbrukad, även om samtalet avslutas snabbt.

Med Twilio kan du till exempel returnera denna TwiML för samtalet du vill överföra:

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

Från en PBX ringer du URI:n som en SIP-destination. Inget användarnamn eller lösenord
behövs; token är autentiseringsuppgiften, så behandla URI:n som ett lösenord tills den
har använts.

## SIP-slutpunkt (permanent adress)

### 1. Skapa slutpunkten

```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` returneras bara en gång, när slutpunkten skapas. Spara det
  omedelbart i konfigurationen för din PBX eller operatör. Om du förlorar det,
  rotera det med `POST /v1/sip-endpoints/{id}/rotate-password`.
</Warning>

### 2. Peka ditt system mot den

Konfigurera en SIP-trunk eller destination med:

| Inställning | Värde |
|---|---|
| SIP-URI | slutpunktens `sip_uri` |
| Användarnamn / lösenord | `username` / `password` (digestautentisering; ThunderPhone utmanar varje samtal) |
| Transport | TCP på port 5060 eller TLS på port 5061 (rekommenderas), eller UDP på port 5060 |
| Kodekar | G.711 (PCMU/PCMA) eller G.722 |

<Note>
  Föredra TCP eller TLS. UDP fungerar från offentliga adresser och från de flesta
  NAT:ar, men bakom en "symmetrisk" NAT (en som använder en ny port för varje
  destination) kanske agentens nedkopplingar och överföringar inte når ditt
  system. En tillåtelselista för käll-IP-adresser (nedan) kräver också TCP eller
  TLS. Med TLS förblir SIP-signaleringen krypterad även efter
  `sip.thunderphone.com`, hela vägen till servrarna som hanterar samtalet.
</Note>

Dessa transport- och kodekinställningar gäller även för URI:er per samtal. Två
nätverksdetaljer är viktiga för båda adressvarianterna:

- **Följ Record-Route.** Efter den första INVITE:n går resten av samtalets
  signalering (ACK, nedkoppling, överföringar) till den specifika ThunderPhone-server
  som svarade, vilken anges i `Record-Route`-huvudet
  (`sip-1.thunderphone.com` eller `sip-2.thunderphone.com`, eller dess IP-adress).
  Om du begränsar utgående SIP ska du tillåta dessa värdar samt
  `sip.thunderphone.com`: `172.170.39.202` (`sip`), `13.86.104.121`
  (`sip-1`) och `20.80.98.90` (`sip-2`).
- **Ljudet går någon annanstans.** `sip.thunderphone.com` hanterar endast
  signalering. Tillåt media (RTP) till adresserna och portarna i SDP-svaret.

Varje samtal till adressen når slutpunktens agent, oavsett vilket nummer
uppringaren slog på din sida. Du importerar aldrig nummer, så att rotera dem på
din sida kräver ingen ändring i ThunderPhone.

### Skicka det slagna numret (valfritt)

För att registrera vilket av dina nummer uppringaren slog skickar du det i
INVITE:n i ett `X-Original-To`-huvud (till exempel `X-Original-To: +14155550142`) eller i ett
standardiserat `Diversion`-huvud. ThunderPhone lagrar det som samtalets destination.

Destinationen väljs i denna ordning: `to_number` som angavs när en URI per
samtal registrerades, sedan ett nummer i `X-Original-To`, sedan ett i
`Diversion`. Om inget av dessa innehåller ett nummer visas det som
`sip:agent-12-jhxmginwjx` (slutpunktens adress) för en slutpunkt, eller
`sip:call` för en URI per samtal.

Med Twilio kan du lägga till huvudet i SIP-URI:n:
`sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142`.

### Begränsa käll-IP-adresser (valfritt)

Ange `allowed_source_cidrs` för att endast acceptera samtal från dina egna
signaleringsadresser, utöver användarnamn och lösenord:

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

Samtal från andra adresser avvisas innan de når agenten. Använd adresserna som
ditt system skickar SIP-signalering från (för en operatör som Twilio, dess
publicerade IP-intervall för signalering), inte dina mediaadresser.

<Warning>
  Tillåtelselistan kontrolleras endast för samtal över TCP eller TLS. En
  UDP-källadress kan förfalskas, så en slutpunkt med en tillåtelselista avvisar
  varje samtal som kommer över UDP. Skicka samtal till den med `;transport=tcp`
  (port 5060) eller över TLS (port 5061).
</Warning>

## Vad uppringare och ditt system ser

- **Uppringar-ID:** användardelen i `From`-huvudet lagras som uppringare.
  Ett telefonnummer (siffror, eventuellt med `+`, mellanslag, bindestreck, punkter eller
  parenteser) normaliseras till E.164; allt annat, till exempel ett SIP-användarnamn,
  behålls som det skickades. Högst 32 tecken behålls, och en saknad uppringare lagras
  som `anonymous`.
- **Avvisade samtal:** en okänd eller utgången URI per samtal får SIP
  `404 Not Found`. En URI per samtal som redan har använts, en inaktiverad slutpunkt eller en
  källa utanför tillåtelselistan (inklusive alla UDP-samtal till en slutpunkt med en
  tillåtelselista) kopplas från innan agenten startar: ditt system kan se att
  samtalet misslyckas eller ansluter och sedan avslutas direkt. Dessa avvisningar
  skapar ingen post i samtalshistoriken. Om din organisation saknar kredit eller har
  nått sin utgiftsgräns avvisas samtalet och visas i samtalshistoriken som ett
  misslyckat samtal utan avgift. Registrera en ny URI för att försöka igen per samtal.
- **Överföringar:** agentens kalla överföringar fungerar (ThunderPhone skickar en SIP
  `REFER`, som ditt system måste acceptera). Varma överföringar är inte tillgängliga för
  samtal till SIP-adresser, eftersom det inte finns något ThunderPhone-nummer att visa som
  uppringar-ID för den andra delen. Med Twilio ansluter TwiML ovan agenten men
  hanterar inte överföringar: lägg till `referUrl="https://YOUR_SERVER/sip-transfer"`
  i `<Dial>`, och låt den webhooken läsa `ReferTransferTarget` och returnera
  TwiML som ringer upp överföringsdestinationen (se Twilios
  [SIP REFER-guide](https://www.twilio.com/docs/voice/api/refer-to-twilio)).
- **Textmeddelanden:** SIP-adressen och det uppringda numret kan inte skicka sms.
  Agenten kan bara skicka sms under ett samtal till en SIP-adress om den har ett separat
  sms-kompatibelt nummer konfigurerat för sms; annars är dess sms-verktyg
  inte tillgängligt.
- **Registrering:** ThunderPhone accepterar inte SIP `REGISTER`. Skicka samtal till
  adressen; registrera dig inte på den.

## Prissättning

Samtal till SIP-adresser debiteras enligt agentens vanliga minutpris. Det finns
ingen avgift för telefonnummer, eftersom inget ThunderPhone-nummer bär samtalet. Din
egen operatör debiterar sin del av samtalet som vanligt. Se
[Prissättning](/sv/guides/pricing).

## Testa

1. Skapa en URI per samtal eller en slutpunkt enligt ovan.
2. Ring upp den från ditt system eller från valfri SIP-mjuktelefon (för en slutpunkt anger
   du användarnamn och lösenord).
3. När du har lagt på öppnar du samtalet under **Samtal** i instrumentpanelen eller hämtar det
   med `GET /v1/calls/{call_id}`. Där visas uppringaren, destinationen
   (se ordningen under "Skicka det uppringda numret") och transkriptionen.

API-information: [API-referens för SIP-adresser](/api-reference/sip-addresses).
