---
title: "Über SIP verbinden (keine Telefonnummer)"
description: "Leiten Sie Anrufe direkt von Ihrer PBX, Ihrem Anbieter oder Ihrer SIP-Anwendung an einen ThunderPhone-Agenten weiter – mit einer einmaligen SIP-URI pro Anruf oder einer permanenten SIP-Adresse."
---

Wenn Ihr eigenes System bereits Telefonnummern verwaltet (eine TK-Anlage, eine Contact-Center-Plattform oder ein Netzbetreiber-Konto, in dem Sie Nummern wechseln), können Sie Anrufe über einfaches SIP an einen ThunderPhone Sprachagenten senden. Sie importieren oder kaufen keine Nummer bei ThunderPhone. Ihr System wählt eine SIP-Adresse, und der Agent nimmt den Anruf an.

Es gibt zwei Arten von SIP-Adressen:

| | **SIP-URI pro Anruf** | **SIP-Endpunkt** |
|---|---|---|
| Sieht aus wie | `sip:c-<token>@sip.thunderphone.com` | `sip:agent-<id>-<letters>@sip.thunderphone.com` |
| Erstellt mit | `POST /v1/calls/register-sip`, einmal pro Anruf | `POST /v1/sip-endpoints`, einmal |
| Authentifizierung | Das Einmal-Token in der Adresse | SIP-Digest-Benutzername + Passwort (und optional eine Quell-IP-Allowlist) |
| Geeignet für | Apps, die bereits vor dem Weiterleiten eines Anrufs eine API aufrufen; Variablen pro Anruf | TK-Anlagen und Netzbetreiber, die einen Trunk einfach auf ThunderPhone routen sollen |
| Gültig für | 5 Minuten, einen Anruf | Bis Sie ihn löschen |

Beide Arten leiten an einen Sprachagenten in Ihrer Organisation weiter und werden im Anrufverlauf wie jeder andere eingehende Anruf angezeigt.

## SIP-URI pro Anruf

### 1. Anruf registrieren

```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` (optional) ist die Nummer, die der Anrufer auf Ihrer Seite gewählt hat. Sie wird im Anrufverlauf als Ziel des Anrufs gespeichert, und der Agent sieht sie als seine eigene Nummer.
- `variables` (optional) füllen `{{placeholders}}` im Prompt des Agenten, genauso wie bei [ausgehenden Anrufen](/de/guides/call-variables).
- `call_id` ist die ID, die der Anruf im Anrufverlauf (`GET /v1/calls/{call_id}`) erhält, sobald er verbunden ist.

### 2. URI wählen

Senden Sie den Anruf innerhalb von 5 Minuten an `sip_uri`. Die URI funktioniert nur für einen Anruf: Sobald ein Anruf sie verwendet hat, ist sie verbraucht, selbst wenn dieser Anruf schnell endet.

Mit Twilio geben Sie beispielsweise dieses TwiML für den Anruf zurück, den Sie übergeben möchten:

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

Wählen Sie die URI von einer TK-Anlage aus als SIP-Ziel. Es werden kein Benutzername und kein Passwort benötigt; das Token ist die Berechtigung. Behandeln Sie die URI daher wie ein Passwort, bis sie verwendet wurde.

## SIP-Endpunkt (permanente Adresse)

### 1. Erstellen Sie den Endpunkt

```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>
  Das `password` wird nur einmal zurückgegeben, wenn der Endpunkt erstellt wird. Speichern Sie es
  sofort in Ihrer PBX- oder Carrier-Konfiguration. Wenn Sie es verlieren, rotieren Sie es
  mit `POST /v1/sip-endpoints/{id}/rotate-password`.
</Warning>

### 2. Richten Sie Ihr System darauf aus

Konfigurieren Sie einen SIP-Trunk oder ein Ziel mit:

| Einstellung | Wert |
|---|---|
| SIP-URI | Die `sip_uri` des Endpunkts |
| Benutzername / Passwort | `username` / `password` (Digest-Authentifizierung; ThunderPhone fordert diese bei jedem Anruf an) |
| Transport | TCP auf Port 5060 oder TLS auf Port 5061 (empfohlen) oder UDP auf Port 5060 |
| Codecs | G.711 (PCMU/PCMA) oder G.722 |

<Note>
  Bevorzugen Sie TCP oder TLS. UDP funktioniert von öffentlichen Adressen und den meisten NATs aus, aber
  hinter einem „symmetrischen“ NAT (der für jedes Ziel einen neuen Port verwendet) erreichen
  die Auflegevorgänge und Weiterleitungen des Agenten Ihr System möglicherweise nicht. Eine
  Zulassungsliste für Quell-IP-Adressen (unten) erfordert ebenfalls TCP oder TLS. Über TLS bleibt die
  SIP-Signalisierung auch hinter `sip.thunderphone.com` verschlüsselt – bis zu den Servern,
  die den Anruf verarbeiten.
</Note>

Diese Transport- und Codec-Einstellungen gelten auch für URIs pro Anruf. Zwei Netzwerkdetails
sind für beide Adresstypen wichtig:

- **Folgen Sie Record-Route.** Nach dem ersten INVITE geht die übrige
  Signalisierung des Anrufs (ACK, Auflegen, Weiterleitungen) an den spezifischen ThunderPhone-Server,
  der geantwortet hat und im Header `Record-Route`
  (`sip-1.thunderphone.com` oder `sip-2.thunderphone.com` oder dessen IP-Adresse) angegeben ist.
  Wenn Sie ausgehendes SIP einschränken, erlauben Sie neben
  `sip.thunderphone.com` auch diese Hosts: `172.170.39.202` (`sip`), `13.86.104.121`
  (`sip-1`) und `20.80.98.90` (`sip-2`).
- **Audio wird anderswo übertragen.** `sip.thunderphone.com` überträgt nur die Signalisierung.
  Erlauben Sie Medienverkehr (RTP) zu den im SDP-Answer angegebenen Adressen und Ports.

Jeder Anruf an diese Adresse erreicht den Agenten des Endpunkts, unabhängig davon, welche Nummer Ihr
Anrufer auf Ihrer Seite gewählt hat. Sie importieren niemals Nummern, daher erfordert deren Rotation auf
Ihrer Seite keine Änderung in ThunderPhone.

### Übermitteln Sie die gewählte Nummer (optional)

Um zu erfassen, welche Ihrer Nummern der Anrufer gewählt hat, senden Sie sie im INVITE in einem
Header `X-Original-To` (zum Beispiel `X-Original-To: +14155550142`) oder in einem
standardmäßigen Header `Diversion`. ThunderPhone speichert sie als Ziel des Anrufs.

Das Ziel wird in dieser Reihenfolge ausgewählt: die beim Registrieren einer URI pro Anruf angegebene
`to_number`, dann eine Nummer in `X-Original-To`, dann eine in `Diversion`.
Falls keine dieser Angaben eine Nummer liefert, wird für einen Endpunkt
`sip:agent-12-jhxmginwjx` (die Adresse des Endpunkts) oder für eine URI pro Anruf
`sip:call` angezeigt.

Mit Twilio können Sie den Header zur SIP-URI hinzufügen:
`sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142`.

### Quell-IP-Adressen einschränken (optional)

Setzen Sie `allowed_source_cidrs`, um zusätzlich zu Benutzername und Passwort nur Anrufe von Ihren
eigenen Signalisierungsadressen zu akzeptieren:

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

Anrufe von jeder anderen Adresse werden abgewiesen, bevor sie den Agenten erreichen. Verwenden Sie die
Adressen, von denen Ihr System SIP-Signalisierung sendet (bei einem Carrier wie Twilio dessen veröffentlichte
Signalisierungs-IP-Bereiche), nicht Ihre Medienadressen.

<Warning>
  Die Zulassungsliste wird nur für Anrufe über TCP oder TLS geprüft. Eine UDP-Quelladresse
  kann gefälscht werden, daher weist ein Endpunkt mit Zulassungsliste jeden Anruf ab, der über UDP
  eingeht. Senden Sie Anrufe mit `;transport=tcp` (Port 5060) oder über
  TLS (Port 5061) an ihn.
</Warning>

## Was Anrufer und Ihr System sehen

- **Anrufer-ID:** Der Benutzerteil des `From`-Headers wird als Anrufer gespeichert.
  Eine Telefonnummer (Ziffern, optional mit `+`, Leerzeichen, Bindestrichen, Punkten oder
  Klammern) wird zu E.164 normalisiert; alles andere, beispielsweise ein SIP-Benutzername,
  wird unverändert gespeichert. Es werden maximal 32 Zeichen gespeichert, und ein fehlender Anrufer wird
  als `anonymous` gespeichert.
- **Abgelehnte Anrufe:** Eine unbekannte oder abgelaufene URI pro Anruf erhält SIP
  `404 Not Found`. Eine bereits verwendete URI pro Anruf, ein deaktivierter Endpunkt oder eine
  Quelle außerhalb der Zulassungsliste (einschließlich jedes UDP-Anrufs an einen Endpunkt mit
  Zulassungsliste) wird getrennt, bevor der Agent startet: Ihr System kann den
  Anruf als fehlgeschlagen sehen oder die Verbindung herstellen, die dann sofort endet. Diese
  Ablehnungen erstellen keinen Eintrag im Anrufverlauf. Wenn Ihrer Organisation Guthaben fehlt oder
  sie ihr Ausgabenlimit erreicht hat, wird der Anruf abgelehnt und im Anrufverlauf als
  fehlgeschlagener Anruf ohne Berechnung angezeigt. Um einen Versuch pro Anruf zu wiederholen, registrieren Sie eine neue URI.
- **Weiterleitungen:** Die Cold Transfers des Agenten funktionieren (ThunderPhone sendet ein SIP
  `REFER`, das Ihr System akzeptieren muss). Warm Transfers sind bei Anrufen an SIP-Adressen nicht verfügbar,
  weil keine ThunderPhone-Nummer als Anrufer-ID für den zweiten Gesprächsabschnitt angezeigt werden kann. Bei Twilio
  verbindet das obige TwiML den Agenten, verarbeitet jedoch keine Weiterleitungen: Fügen Sie
  `referUrl="https://YOUR_SERVER/sip-transfer"` zu `<Dial>` hinzu und lassen Sie diesen Webhook
  `ReferTransferTarget` auslesen und TwiML zurückgeben, das das Weiterleitungsziel anruft (siehe Twilios
  [SIP-REFER-Leitfaden](https://www.twilio.com/docs/voice/api/refer-to-twilio)).
- **Textnachrichten:** Die SIP-Adresse und die gewählte Nummer können keine Textnachrichten senden.
  Der Agent kann während eines Anrufs an eine SIP-Adresse nur dann Textnachrichten senden, wenn eine separate
  SMS-fähige Nummer für Textnachrichten eingerichtet ist; andernfalls ist sein SMS-Tool
  nicht verfügbar.
- **Registrierung:** ThunderPhone akzeptiert kein SIP `REGISTER`. Senden Sie Anrufe an
  die Adresse; registrieren Sie sich nicht dafür.

## Preise

Anrufe an SIP-Adressen werden zum normalen Minutenpreis des Agenten abgerechnet. Es fällt keine
Gebühr für eine Telefonnummer an, da keine ThunderPhone-Nummer den Anruf führt. Ihr
eigener Anbieter rechnet seine Seite des Anrufs wie üblich ab. Siehe
[Preise](/de/guides/pricing).

## Testen

1. Erstellen Sie wie oben eine URI pro Anruf oder einen Endpunkt.
2. Rufen Sie diese URI über Ihr System oder über ein beliebiges SIP-Softphone an (geben Sie bei einem Endpunkt
   den Benutzernamen und das Passwort ein).
3. Öffnen Sie nach dem Auflegen den Anruf unter **Anrufe** im Dashboard oder rufen Sie ihn
   mit `GET /v1/calls/{call_id}` ab. Angezeigt werden der Anrufer, das Ziel
   (siehe die Reihenfolge unter „Die gewählte Nummer übergeben“) und das Transkript.

API-Details: [API-Referenz für SIP-Adressen](/api-reference/sip-addresses).
