> ## Documentation Index
> Fetch the complete documentation index at: https://docs.famulor.io/llms.txt
> Use this file to discover all available pages before exploring further.

# BYO SIP-Trunk

> Verbinde deinen eigenen SIP-Anbieter und nutze deine bestehenden Nummern

Du hast schon Nummern und einen SIP-Anbieter (Twilio, Telnyx, Plivo, Easybell oder einen beliebigen standardkonformen Trunk)? Dann verbinde sie direkt, ohne etwas portieren zu müssen.

Anbieterspezifische FQDN-Richtung, Inbound-Authentifizierung und Signalisierungs-Allowlists findest du in den [SIP-Anbieter-Anleitungen](/de/telephony/providers/overview).

## Checkliste für die Einrichtung

1. **Kopiere die Plattform-SIP-URI** aus **Settings → Numbers → Add a number → Add SIP integration** (oder Carrier import). Wähle eine **SIP region** (Standard: global), damit die eingehende Signalisierung dort endet, wo du sie brauchst (z. B. EU).
2. Hinterlege diese URI bei deinem Anbieter als **Origination / Forwarding Destination** für deine Nummern.
3. Erstelle den Trunk in der Plattform (Formular unten) – eingehende Authentifizierung + ausgehende Terminierung.
4. Weise die Nummern den Assistenten zu, teste den Empfang eingehender Anrufe und führe anschließend einen ausgehenden Testanruf durch.

## Trunk-Typ

| Typ                    | Wann verwenden                                                                  | Nummern                                                                                                                                                                                                                                                                      |
| ---------------------- | ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Phone number (DID)** | Die meisten Carrier (empfohlen)                                                 | Eine E.164-DID auf dem Trunk; aufgeführt unter **Numbers**                                                                                                                                                                                                                   |
| **SIP Extension**      | Der Carrier verlangt eine nationale oder Extension-artige ausgehende Anrufer-ID | Für das eingehende Matching ist eine explizite **Primary DID** erforderlich – vollständige E.164-Nummer (`+…`) **oder** nationale Ziffern ohne Ländervorwahl (z. B. `0741926265`). Das ist kein Wildcard; rein nationale Primärnummern werden nicht unter Numbers aufgeführt |

## Eingehend (Anrufe empfangen)

* **Your phone number (DID)** – die öffentliche E.164-Nummer, die Kunden anrufen; muss mit dem übereinstimmen, was der Carrier an die Plattform-SIP-URI weiterleitet.
* **Inbound authentication**
  * **SIP username/password** – nur, wenn der Carrier ausdrücklich Digest-Zugangsdaten an das Weiterleitungsziel sendet.
  * **Provider source IPs** – verwenden, wenn der Carrier ohne nachgelagertes Digest zum Plattform-FQDN weiterleitet und stabile SIP-Signalisierungs-IPs/CIDRs veröffentlicht. Keine Medienbereiche oder zu weit gefassten Netze verwenden.
* Beim Anbieter: an die kopierte Plattform-SIP-URI weiterleiten bzw. von dort originieren.

Eingehende Anrufe werden genau wie bei Marketplace-Nummern dem von dir zugewiesenen Assistenten zugeordnet.

## Ausgehend (Anrufe tätigen)

* **Termination address** – nur der SIP-Host des Anbieters (z. B. `sip.telnyx.com`). Ohne `sip:`-Präfix, ohne Port.
* **Transport** – `AUTO` (empfohlen), `UDP`, `TCP` oder `TLS`. Secure Trunking nutzt immer TLS.
* **Outbound region** – von wo aus die Plattform den Anruf startet. Bevorzuge **Automatic** oder das Land, das deinen Kunden bzw. dem Carrier-POP am nächsten liegt.
* **Outbound calling number format** – wie die FROM-Nummer an den Carrier gesendet wird. Muss zur Einstellung des Carriers passen (z. B. Telnyx Origination Number Format):
  * International mit `+` (für die meisten empfohlen)
  * International ohne `+`
  * National (ohne Ländercode)
* **Credentials**
  * **Shared** (empfohlen) – ein Benutzername/Passwort für eingehend und ausgehend.
  * **Separate** – unterschiedliche Zugangsdaten für eingehend und ausgehend, falls der Carrier das verlangt.
* **Outbound authentication** – Benutzername/Passwort (empfohlen). Die Plattform hat **keine statischen ausgehenden IPs**, weshalb IP-Allowlists beim Carrier meist fehlschlagen. Nutze „no credentials“ nur, wenn der Carrier ausgehende Anrufe ausdrücklich ohne Authentifizierung zulässt.

Ausgehende Anrufe und [Kampagnen](/de/campaigns/overview) können anschließend deinen Trunk und deine Anrufer-IDs nutzen.

## Erweitert

Klappe **Advanced** auf, wenn du einen BYO-Trunk erstellst oder bearbeitest:

| Einstellung                           | Bedeutung                                                               | Empfehlung                                                                                                                       |
| ------------------------------------- | ----------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| **Secure trunking (TLS + SRTP)**      | Verschlüsselte Signalisierung + Medien                                  | Aktivieren, wenn der Carrier Secure Trunking / TLS+SRTP unterstützt                                                              |
| **Media encryption**                  | Allow (SRTP bevorzugt) oder Require SRTP                                | Allow, außer Compliance-Vorgaben verlangen Require                                                                               |
| **Custom outbound headers**           | X-\* in ausgehenden INVITEs (max. 10)                                   | Leer lassen, außer die Carrier-Doku verlangt einen Header                                                                        |
| **Inbound headers (200 OK)**          | Custom X-\* im SIP 200 OK                                               | Meist leer                                                                                                                       |
| **Header → attribute maps**           | Ausgewählte SIP-Header-Werte für Assistenten und Tools verfügbar machen | Nur, wenn du Carrier-Metadaten brauchst                                                                                          |
| **Include SIP headers as attributes** | None / alle X-\* / alle Header                                          | **None** (nur zuordnen, was du wirklich brauchst)                                                                                |
| **Media codecs**                      | Zusätzliche SDP-Codecs (PCMU, PCMA, G.722, AMR-WB)                      | Plattform-Standards beibehalten; AMR-WB nur bei Bedarf ergänzen. „Only listed codecs“ vermeiden, außer du kennst die Peer-Codecs |
| **Media / ringing timeouts**          | Optionale Overrides (Sekunden)                                          | Leer lassen (Plattform-Standards), außer zur Fehlersuche                                                                         |

**HD Voice (G.722):** bei Bedarf in den **Telnyx**-Connection-/Codec-Einstellungen aktivieren (unterstützt mit Telnyx, nicht mit Twilio).

## Bestehenden Trunk bearbeiten

Bestehende Trunks bearbeitest du über **Numbers → Configure → Carrier Settings** (nicht über eine separate Trunk-Liste unter Add SIP integration).

## EU-Routing

Wähle für Kunden in der EU beim Erstellen der Connection die **EU SIP region**. Die geltenden regionalen Zusagen findest du in deinem Vertrag und den Unterlagen zur Datenverarbeitung.

## Limits und Verhalten

* E.164-Nummern auf BYO-Trunks zählen zum gleichen Nummernkontingent des Plans wie gekaufte Nummern.
* Anrufe über deinen eigenen Trunk umgehen den zielabhängigen Carrier-Aufschlag der Plattform – dein Anbieter rechnet die Terminierung direkt ab. Plan-Minuten werden trotzdem verbraucht, siehe [Abrechnung](/de/billing/minutes).
* Assistentenfunktionen wie Flows, Warmübergabe und Aufzeichnung funktionieren auf BYO-Trunks identisch.

## Fehlerbehebung

**Ausgehende Anrufe schlagen fehl oder verbinden nicht** – prüfe zuerst Terminierungshost, Transport und Zugangsdaten gegen die Dokumentation deines Anbieters: Ein falscher Transport (UDP statt TLS) oder ein zusätzliches `sip:`-Präfix bzw. ein Port an der Terminierungsadresse ist die häufigste Ursache. Vergleiche danach das Format der ausgehenden Rufnummer und die Codec-Einstellungen mit den Erwartungen des Anbieters. Ändere jeweils nur eine Einstellung und mache danach einen einzelnen Testanruf, damit dir **History** zeigt, welche Änderung das Problem behoben hat.

**Eingehende Anrufe erreichen den Assistenten nicht** – der Anbieter muss Anrufe an den **FQDN** der Plattform senden, niemals an eine rohe IP-Adresse; das Senden an eine IP ist die häufigste Ursache für eingehende Fehlschläge. Bestätige bei Provider source IPs, dass jede aktuelle Signalisierungs-IP oder -CIDR eingetragen ist – eine veraltete oder unvollständige Liste lässt Anrufe stillschweigend scheitern. Prüfe danach, ob die DID exakt dem entspricht, was der Anbieter sendet: Ein SIP-Extension-Trunk benötigt außerdem seine Primary DID, da er kein Wildcard ist.

**Anrufübergaben per SIP REFER schlagen fehl** – bestätige, dass der Zielanbieter SIP REFER tatsächlich unterstützt; das ist nicht bei jedem Carrier der Fall und die häufigste Ursache. Schlägt ein URI-Format fehl, probiere der Reihe nach die Alternativen: mit Port (`sip:+1234567890@sip-server:5060`), ohne Port, dann ein reines `sip:+1234567890`. Schließe auch das Ziel selbst als Ursache aus – prüfe, ob die Zielnummer erreichbar und nicht blockiert ist, bevor du den Trunk verantwortlich machst. Wurde eine Übergabe versucht und ist sie fehlgeschlagen, enthält das Ereignisprotokoll des Anrufs `call_transfer_failed` oder `warm_transfer_failed`; die gemeinsame Fehlerstruktur findest du unter [Eingehende & ausgehende Anrufe](/de/telephony/inbound-outbound#hinweise-bei-fehlern).

Teste eingehende und ausgehende Anrufe unabhängig voneinander – dass der eine funktioniert, bestätigt nicht den anderen. Kommst du nicht weiter? Kontaktiere den Support mit der Call-ID, der genauen Trunk-Konfiguration und – bei Übergabeproblemen – dem SIP-URI-Format, das du ausprobiert hast.

## API und MCP

Erstelle und verwalte Trunks über die Public API (`POST /api/v1/sip-trunks` und verwandte Endpunkte in der API-Referenz) oder mit den MCP-Tools `create_sip_trunk`, `list_sip_trunks`, `get_sip_trunk` und `delete_sip_trunk`. Beide Oberflächen unterstützen dieselben kundenrelevanten Einstellungen wie die UI; Passwörter werden nie zurückgegeben.

<Tip>
  Teste zuerst eingehende Anrufe: Ruf eine deiner Nummern an und prüfe, ob sie unter **History** mit dem richtigen Assistenten auftaucht. Verifiziere ausgehende Anrufe danach mit einem einzelnen Testanruf, bevor du den Trunk in Kampagnen einbindest.
</Tip>
