> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Five9

> **Note**
>
> Lesen Sie vor dieser Anleitung den [Leitfaden für SIP-Trunking ](/docs/de/eleven-agents/phone-numbers/sip-trunking), um zu verstehen, wie ElevenLabs SIP-
> Trunks und benutzerdefinierte SIP-Header unterstützt.

## Überblick

Dieser Leitfaden erklärt, wie Sie ElevenAgents über Five9 AI Agent Connect in das Five9 Virtual Contact Center (VCC) integrieren. Five9 leitet einen aktiven Anruf an eine ElevenLabs-Telefonnummer weiter, der ElevenLabs-Agent führt das Gespräch, und ElevenLabs übergibt Routing- oder Dispositionsdaten an Five9 zurück, damit der Five9-Ablauf fortgesetzt werden kann.

## So funktioniert die Five9-Integration

Five9 AI Agent Connect verwendet eine externe Weiterleitung über SIP. Der Anrufkontext wird dabei über benutzerdefinierte SIP-`X-`-Header in beide Richtungen ausgetauscht:

1. **Eingehende Weiterleitung**: Das Five9 IVR External Transfer Module leitet den Anruf an eine ElevenLabs-Telefonnummer weiter und sendet den Anrufkontext als SIP-`X-`-Header im INVITE.
2. **Gespräch**: ElevenLabs nimmt den Anruf an, leitet ihn an den richtigen Agenten weiter – optional über einen Router-Agenten – und führt anschließend das Gespräch mit dem Anrufer.
3. **Rückweg**: Wenn das Gespräch endet, fügt ElevenLabs Routing- und Dispositionsdaten als `X-`-Header zum SIP BYE hinzu.
4. **Routing nach der KI-Interaktion**: Five9 ordnet die zurückgegebenen Header Anrufvariablen zu und setzt den Anruffluss fort, etwa durch Weiterleitung an einen Live-Agenten, Beenden des Anrufs oder Erfassen einer Disposition.

## Voraussetzungen

Stellen Sie vor der Einrichtung der Five9-Integration sicher, dass Sie über Folgendes verfügen:

1. Eine aktive Five9-VCC-Domain mit aktiviertem AI Agent Connect.
2. Administratorzugriff auf die Five9-Konfiguration oder ein Five9-Implementierungsteam, das die Änderungen vornimmt.
3. Ein ElevenLabs-Konto und einen [Agenten](/docs/de/eleven-agents/quickstart) für die weitergeleiteten Anrufe.
4. Eine in ElevenLabs importierte [SIP-Trunk-Telefonnummer](/docs/de/eleven-agents/phone-numbers/sip-trunking), die als Five9-Weiterleitungsziel verwendet wird.

> **Note**
>
> AI Agent Connect ist ein kostenpflichtiges Add-on für Five9 VCC und standardmäßig nicht aktiviert. Wenden Sie sich an Ihren Five9
> Account Manager, um es vor Beginn dieser Integration für Ihre Domain zu aktivieren.

> **Note**
>
> Beide Teams sollten sich vor Beginn der Konfiguration auf die Weiterleitungsnummer, die in jede Richtung gesendeten Header-Namen,
> die Routing-Werte und den Testplan einigen.

## ElevenLabs-Einrichtung

#### Weiterleitungsnummer importieren

Folgen Sie dem [Leitfaden für SIP-Trunking](/docs/de/eleven-agents/phone-numbers/sip-trunking), um die Telefonnummer zu importieren, an die Five9 Anrufe weiterleitet. Benutzerdefinierte SIP-Header und BYE-Header erfordern eine SIP-Trunk-Telefonnummer.

Importieren Sie die Nummer im E.164-Format mit der Landesvorwahl `+1` (zum Beispiel `+18005550100`). Five9 sendet die Weiterleitung in diesem Format. Bei einer Abweichung schlägt die Weiterleitung fehl.

#### Agenten zuweisen

Wenn ein einzelner Agent alle Anrufe von Five9 bearbeitet, weisen Sie ihn direkt der Telefonnummer im [Telefonnummern-Dashboard](https://elevenlabs.io/app/agents/phone-numbers) zu.

Wenn mehrere Agenten eine Weiterleitungsnummer verwenden, weisen Sie stattdessen einen Router-Agenten zu und folgen Sie der Anleitung unter [Mehrere Agenten über eine Nummer routen](#routing-multiple-agents-through-one-number).

#### Zurückgegebene Header konfigurieren

Ordnen Sie die dynamischen Variablen, die Ihr Agent während des Gesprächs setzt, den SIP-BYE-Header-Namen zu, die Five9 erwartet. Siehe [BYE-Header konfigurieren](#configuring-bye-headers).

#### Testanrufe durchführen

Führen Sie Testanrufe mit Five9 durch und bestätigen Sie, dass die eingehenden Header als dynamische Variablen ankommen und die BYE-Header wie erwartet zurückgegeben werden. Eingehende Header-Werte sind im Gesprächsverlauf auf der Registerkarte **Phone Call** sichtbar.

## Mehrere Agenten über eine Nummer routen

Um Anrufe über eine einzelne Five9-Weiterleitungsnummer an mehrere ElevenLabs-Agenten zu routen, weisen Sie der Telefonnummer einen **Router-Agenten** zu und lassen Sie Five9 den Zielagenten in einem Header wie `X-AgentID` senden.

Eingehende `X-`-Header werden als [dynamische Variablen](/docs/de/eleven-agents/customization/personalization/dynamic-variables) bereitgestellt. Daher steht `X-AgentID` dem Router-Agenten als `{{sip_agentid}}` zur Verfügung. Konfigurieren Sie den Router-Agenten mit dem Tool für [Agentenweiterleitung](/docs/de/eleven-agents/customization/tools/system-tools/agent-transfer) und fügen Sie für jeden erwarteten `X-AgentID`-Wert eine Weiterleitungsregel hinzu, die ihn dem Agenten zuordnet, der den Anruf übernehmen soll.

So müssen Sie nicht für jeden Agenten eine eigene Telefonnummer bereitstellen.

## Von Five9 an ElevenLabs gesendete Header

Five9 kann Anrufmetadaten als SIP-`X-`-Header im INVITE senden. Header-Namen werden normalisiert, indem das Präfix `X-` entfernt, alles kleingeschrieben, Bindestriche durch Unterstriche ersetzt und das Präfix `sip_` hinzugefügt wird.

| Header            | Dynamische Variable     | Beschreibung                                                  |
| ----------------- | ----------------------- | ------------------------------------------------------------- |
| `X-CallANI`       | `{{sip_callani}}`       | Telefonnummer des Anrufers.                                   |
| `X-CallDNIS`      | `{{sip_calldnis}}`      | Gewählte Telefonnummer.                                       |
| `X-CallID`        | `{{sip_callid}}`        | Eindeutige Five9-Anrufkennung.                                |
| `X-CallSessionID` | `{{sip_callsessionid}}` | Kennung für die aktuelle Sitzung.                             |
| `X-CallCampaign`  | `{{sip_callcampaign}}`  | Name der Five9-Kampagne.                                      |
| `X-AgentID`       | `{{sip_agentid}}`       | Ziel-ElevenLabs-Agent, für Routing über einen Router-Agenten. |

Verwenden Sie diese Variablen in Agenten-Prompts, ersten Nachrichten und Tools, um das Gespräch zu personalisieren.

> **Note**
>
> Die reservierten Header `X-Call-ID` und `X-Caller-ID` werden den [Systemvariablen ](/docs/de/eleven-agents/customization/personalization/dynamic-variables#system-dynamic-variables) `system__call_sid` und
> `system__caller_id` zugeordnet. Five9 sendet die Header ohne Bindestrich, `X-CallID` und `X-CallANI`. Diese werden zu `sip_callid` bzw.
> `sip_callani` normalisiert. Prüfen Sie bei Testanrufen, welche Variablen gefüllt werden, bevor Sie
> sie in Prompts verwenden.

## Von ElevenLabs an Five9 zurückgegebene Header

ElevenLabs gibt Routing- und Berichtsdaten über SIP BYE zurück. Die folgenden Header-Namen sind die empfohlene Konvention für Five9 AI Agent Connect:

| Header             | Beschreibung                                                        |
| ------------------ | ------------------------------------------------------------------- |
| `X-RouteType`      | Die Aktion, die Five9 ausführen soll, zum Beispiel `SkillTransfer`. |
| `X-RouteValue`     | Das Ziel der Aktion, zum Beispiel der Name einer Five9-Skill.       |
| `X-RouteReason`    | Kontext für die Routing-Entscheidung, etwa die Absicht des Kunden.  |
| `X-ConversationId` | Die ElevenLabs-Gesprächskennung zur Korrelation von Protokollen.    |

Sie können jeden zusätzlichen `X-`-Header zurückgeben, den Ihr Five9-Ablauf benötigt. Jeder Header-Wert stammt aus einer dynamischen Variable des Agenten. Der Agent muss diese Variablen daher während des Gesprächs setzen.

## BYE-Header konfigurieren

BYE-Header geben die endgültigen Werte der dynamischen Variablen des Agenten an Five9 zurück. Ordnen Sie jeden Namen einer dynamischen Variable mit `attributes_to_headers` in der `inbound_trunk_config` der Telefonnummer einem Header-Namen zu. Sowohl Variablen, die Ihr Agent setzt, als auch [Systemvariablen](/docs/de/eleven-agents/customization/personalization/dynamic-variables#system-dynamic-variables) wie `system__conversation_id` können zugeordnet werden:

**`Python`**

```python title="Python"
import os
from dotenv import load_dotenv
from elevenlabs import ElevenLabs, InboundSipTrunkConfigRequestModel

load_dotenv()

elevenlabs = ElevenLabs(api_key=os.getenv("ELEVENLABS_API_KEY"))

elevenlabs.conversational_ai.phone_numbers.update(
    phone_number_id="phnum_8901k4t9z5defmb8vh3e9361y7nj",
    inbound_trunk_config=InboundSipTrunkConfigRequestModel(
        attributes_to_headers={
            "route_type": "X-RouteType",
            "route_value": "X-RouteValue",
            "route_reason": "X-RouteReason",
            "system__conversation_id": "X-ConversationId",
        }
    ),
)
```

**`JavaScript`**

```typescript title="JavaScript"
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.phoneNumbers.update("phnum_8901k4t9z5defmb8vh3e9361y7nj", {
  inboundTrunkConfig: {
    attributesToHeaders: {
      route_type: "X-RouteType",
      route_value: "X-RouteValue",
      route_reason: "X-RouteReason",
      system__conversation_id: "X-ConversationId",
    },
  },
});
```

**`cURL`**

```bash title="cURL"
curl -X PATCH "https://api.elevenlabs.io/v1/convai/phone-numbers/phnum_8901k4t9z5defmb8vh3e9361y7nj" \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "inbound_trunk_config": {
      "attributes_to_headers": {
        "route_type": "X-RouteType",
        "route_value": "X-RouteValue",
        "route_reason": "X-RouteReason",
        "system__conversation_id": "X-ConversationId"
      }
    }
  }'
```

Der Header-Wert entspricht dem Wert der dynamischen Variable am Ende des Gesprächs, einschließlich der Werte, die während des Anrufs über Agenten-Tools oder Webhook-Überschreibungen gesetzt wurden. Wenn der Agent `route_type` auf `SkillTransfer` und `route_value` auf `billing_support` setzt, entstehen die folgenden BYE-Header:

```
X-RouteType: SkillTransfer
X-RouteValue: billing_support
X-RouteReason: Customer needs help with an invoice
X-ConversationId: conv_7401k6a2b8cxyzmn9pq3r5s7t1uv
```

Five9 leitet den Anrufer dann an die Skill `billing_support` weiter.

## Empfohlene Routing-Werte

Halten Sie die Werte für `X-RouteType` einfach und vorhersehbar, damit der Five9-Ablauf direkt danach verzweigen kann.

| `X-RouteType`     | Beispiel für `X-RouteValue` | Beschreibung                                                    |
| ----------------- | --------------------------- | --------------------------------------------------------------- |
| `SkillTransfer`   | `billing_support`           | Anruf an eine bestimmte Five9-Skill-Warteschlange weiterleiten. |
| `PhoneTransfer`   | `+18005550199`              | Anruf an eine externe Telefonnummer weiterleiten.               |
| `Hangup`          | Leer                        | Anruf nach der KI-Interaktion beenden.                          |
| `DispositionOnly` | `Resolved`                  | Anruf beenden und eine bestimmte Disposition erfassen.          |

## Five9-Einrichtung

Ihr Five9-Implementierungsteam wird in der Regel:

1. AI Agent Connect für Ihre Five9-Domain aktivieren.
2. Den Five9-IVR-Weiterleitungsfluss konfigurieren.
3. Die ElevenLabs-Telefonnummer als Weiterleitungsziel hinzufügen.
4. Das External Transfer Module konfigurieren.
5. Die an ElevenLabs gesendeten ausgehenden `X-`-Header konfigurieren.
6. Die von ElevenLabs zurückgegebenen eingehenden `X-`-Header konfigurieren.
7. Die zurückgegebenen Header Five9-Anrufvariablen zuordnen.
8. Die Routing-Logik nach der KI-Interaktion konfigurieren, die anhand dieser Variablen verzweigt.
9. Anrufe Ende-zu-Ende testen.

## Fehlerbehebung

#### Weitergeleitete Anrufe können nicht verbunden werden

* Bestätigen Sie, dass die ElevenLabs-Telefonnummer als SIP-Trunk-Nummer importiert wurde und ihr ein Agent zugewiesen ist.
* Prüfen Sie, ob das im Five9 External Transfer Module konfigurierte Weiterleitungsziel mit der importierten Nummer übereinstimmt.
* Stellen Sie sicher, dass Ihre Firewall SIP-Signalisierungsverkehr über den konfigurierten Transport und Port zulässt und RTP-Ports nicht blockiert sind.

#### Eingehende Header sind nicht als dynamische Variablen verfügbar

* Bestätigen Sie, dass Five9 die Header mit dem Präfix `X-` im INVITE sendet.
* Prüfen Sie den normalisierten Variablennamen. Aus `X-AgentID` wird `{{sip_agentid}}`, nicht `{{X-AgentID}}` oder `{{agent_id}}`.
* Prüfen Sie den Gesprächsverlauf auf der Registerkarte **Phone Call**, um zu sehen, welche Header angekommen sind.
* Benutzerdefinierte Header können die Systemvariablen `system__call_sid` und `system__caller_id` nicht überschreiben.

#### BYE-Header fehlen oder sind leer

* Prüfen Sie, ob `attributes_to_headers` in `inbound_trunk_config` für die Telefonnummer gesetzt ist, die den Anruf empfängt.
* Bestätigen Sie, dass die Schlüssel Namen dynamischer Variablen und die Werte Header-Namen sind, nicht umgekehrt.
* Stellen Sie sicher, dass der Agent diese dynamischen Variablen tatsächlich während des Gesprächs setzt. Eine nicht gesetzte Variable erzeugt keinen Header-Wert.

#### Router-Agent leitet an den falschen Agenten weiter

* Bestätigen Sie, dass Five9 bei jedem weitergeleiteten Anruf `X-AgentID` sendet.
* Prüfen Sie, ob jeder `X-AgentID`-Wert eine passende Weiterleitungsregel im Router-Agenten hat.
* Stellen Sie sicher, dass die Weiterleitungsregeln des Router-Agenten auf `{{sip_agentid}}` verweisen.

## Nützliche Links

* [Leitfaden für SIP-Trunking](/docs/de/eleven-agents/phone-numbers/sip-trunking)
* [SIP-Referenz](/docs/de/eleven-agents/phone-numbers/sip-reference)
* [Tool für Agentenweiterleitung](/docs/de/eleven-agents/customization/tools/system-tools/agent-transfer)
* [Dynamische Variablen](/docs/de/eleven-agents/customization/personalization/dynamic-variables)
* [API-Referenz zum Aktualisieren von Telefonnummern](/docs/de/api-reference/phone-numbers/update)