> 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**
>
> Innan du följer den här guiden kan du läsa [guiden om SIP- trunkar](/docs/sv/eleven-agents/phone-numbers/sip-trunking) för att förstå hur ElevenLabs stöder SIP-
> trunkar och anpassade SIP-rubriker.

## Översikt

Den här guiden förklarar hur du integrerar ElevenAgents med Five9 Virtual Contact Center (VCC) med Five9 AI Agent Connect. Five9 överför ett aktivt samtal till ett ElevenLabs-telefonnummer, ElevenLabs-agenten hanterar konversationen och ElevenLabs skickar routing- eller dispositionsdata tillbaka till Five9 så att Five9-flödet kan fortsätta.

## Så fungerar Five9-integrationen

Five9 AI Agent Connect använder en extern överföring via SIP, där samtalskontext utbyts genom anpassade SIP-`X-`-rubriker i båda riktningarna:

1. **Inkommande överföring**: Five9 IVR External Transfer Module överför samtalet till ett ElevenLabs-telefonnummer och skickar samtalskontext som SIP-`X-`-rubriker i INVITE.
2. **Konversation**: ElevenLabs besvarar samtalet och dirigerar det till rätt agent, valfritt via en routeragent, och hanterar sedan konversationen med den som ringer.
3. **Returväg**: När konversationen avslutas lägger ElevenLabs till routing- och dispositionsdata i SIP BYE som `X-`-rubriker.
4. **Routing efter AI**: Five9 mappar de returnerade rubrikerna till samtalsvariabler och fortsätter samtalsflödet, till exempel genom att överföra till en mänsklig agent, avsluta samtalet eller registrera en disposition.

## Krav

Innan du konfigurerar Five9-integrationen ska du säkerställa att du har:

1. En aktiv Five9 VCC-domän med AI Agent Connect aktiverat.
2. Administratörsåtkomst till Five9-konfigurationen, eller ett Five9-implementeringsteam som kan göra ändringarna.
3. Ett ElevenLabs-konto och en [agent](/docs/sv/eleven-agents/quickstart) som kan hantera de överförda samtalen.
4. Ett [SIP-trunktelefonnummer](/docs/sv/eleven-agents/phone-numbers/sip-trunking) som har importerats till ElevenLabs och ska användas som Five9:s överföringsdestination.

> **Note**
>
> AI Agent Connect är ett betalt tillägg till Five9 VCC och är inte aktiverat som standard. Kontakta din Five9-
> kundansvariga för att aktivera det för din domän innan du påbörjar den här integreringen.

> **Note**
>
> Båda teamen bör komma överens om telefonnumret för överföring, rubriknamnen som skickas i respektive riktning,
> routningsvärdena och testplanen innan konfigurationen börjar.

## Konfigurera ElevenLabs

#### Importera telefonnumret för överföring

Följ [guiden om SIP-trunkar](/docs/sv/eleven-agents/phone-numbers/sip-trunking) för att importera telefonnumret som Five9 ska överföra samtal till. Anpassade SIP-rubriker och BYE-rubriker kräver ett SIP-trunktelefonnummer.

Importera numret i E.164-format med landskoden `+1` (till exempel `+18005550100`). Five9 skickar överföringen i detta format och en avvikelse gör att överföringen misslyckas.

#### Tilldela en agent

Om en enda agent hanterar alla samtal från Five9 tilldelar du den direkt till telefonnumret i [instrumentpanelen för telefonnummer](https://elevenlabs.io/app/agents/phone-numbers).

Om flera agenter delar ett överföringsnummer tilldelar du i stället en routeragent och följer [Dirigera flera agenter via ett nummer](#routing-multiple-agents-through-one-number).

#### Konfigurera returnerade rubriker

Mappa de dynamiska variabler som agenten anger under konversationen till de SIP BYE-rubriknamn som Five9 förväntar sig. Se [Konfigurera BYE-rubriker](#configuring-bye-headers).

#### Gör testsamtal

Ring testsamtal med Five9 och bekräfta att de inkommande rubrikerna kommer fram som dynamiska variabler och att BYE-rubrikerna returneras som förväntat. Inkommande rubrikvärden visas i konversationshistoriken under fliken **Phone Call**.

## Dirigera flera agenter via ett nummer

För att dirigera samtal till flera ElevenLabs-agenter via ett enda Five9-överföringsnummer tilldelar du en **routeragent** till telefonnumret och låter Five9 skicka målagenten i en rubrik som `X-AgentID`.

Inkommande `X-`-rubriker exponeras som [dynamiska variabler](/docs/sv/eleven-agents/customization/personalization/dynamic-variables), så `X-AgentID` är tillgänglig för routeragenten som `{{sip_agentid}}`. Konfigurera routeragenten med verktyget [agentöverföring](/docs/sv/eleven-agents/customization/tools/system-tools/agent-transfer) och lägg till en överföringsregel för varje `X-AgentID`-värde du förväntar dig, och mappa det till agenten som ska ta samtalet.

Detta gör att du slipper tillhandahålla ett separat telefonnummer för varje agent.

## Rubriker som skickas från Five9 till ElevenLabs

Five9 kan skicka metadata om samtal som SIP-`X-`-rubriker i INVITE. Rubriknamn normaliseras genom att ta bort prefixet `X-`, konvertera till gemener, ersätta bindestreck med understreck och lägga till prefixet `sip_`.

| Rubrik            | Dynamisk variabel       | Beskrivning                                                    |
| ----------------- | ----------------------- | -------------------------------------------------------------- |
| `X-CallANI`       | `{{sip_callani}}`       | Telefonnumret till den som ringer.                             |
| `X-CallDNIS`      | `{{sip_calldnis}}`      | Det uppringda telefonnumret.                                   |
| `X-CallID`        | `{{sip_callid}}`        | Unik samtalsidentifierare för Five9.                           |
| `X-CallSessionID` | `{{sip_callsessionid}}` | Identifierare för den aktuella sessionen.                      |
| `X-CallCampaign`  | `{{sip_callcampaign}}`  | Namn på Five9-kampanjen.                                       |
| `X-AgentID`       | `{{sip_agentid}}`       | Målagent i ElevenLabs, används för routing via en routeragent. |

Använd dessa variabler i agentprompter, första meddelanden och verktyg för att anpassa konversationen.

> **Note**
>
> De reserverade rubrikerna `X-Call-ID` och `X-Caller-ID` mappas till de [dynamiska systemvariablerna](/docs/sv/eleven-agents/customization/personalization/dynamic-variables#system-dynamic-variables) `system__call_sid` och
> `system__caller_id`.
> Five9 skickar `X-CallID` och `X-CallANI` utan bindestreck, som i stället normaliseras till `sip_callid` och
> `sip_callani`. Bekräfta vilka variabler som fylls i under testsamtal innan du refererar till
> dem i prompter.

## Rubriker som returneras från ElevenLabs till Five9

ElevenLabs returnerar routing- och rapporteringsdata i SIP BYE. Följande rubriknamn är den rekommenderade konventionen för Five9 AI Agent Connect:

| Rubrik             | Beskrivning                                                        |
| ------------------ | ------------------------------------------------------------------ |
| `X-RouteType`      | Åtgärden Five9 ska vidta, till exempel `SkillTransfer`.            |
| `X-RouteValue`     | Målet för åtgärden, till exempel namnet på en Five9-kunskapsgrupp. |
| `X-RouteReason`    | Kontext för routingbeslutet, till exempel kundens avsikt.          |
| `X-ConversationId` | ElevenLabs konversationsidentifierare för loggkorrelation.         |

Du kan returnera ytterligare `X-`-rubriker som ditt Five9-flöde behöver. Varje rubrikvärde kommer från en dynamisk variabel på agenten, så agenten måste ange dessa variabler under konversationen.

## Konfigurera BYE-rubriker

BYE-rubriker returnerar slutvärdena för agentens dynamiska variabler till Five9. Mappa varje namn på en dynamisk variabel till ett rubriknamn med `attributes_to_headers` i telefonnumrets `inbound_trunk_config`. Både variabler som agenten anger och [dynamiska systemvariabler](/docs/sv/eleven-agents/customization/personalization/dynamic-variables#system-dynamic-variables) som `system__conversation_id` kan mappas:

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

Rubrikvärdet är den dynamiska variabelns värde i slutet av konversationen, inklusive värden som angetts under samtalet via agentverktyg eller webhook-åsidosättningar. Ett samtal som avslutas med att agenten anger `route_type` till `SkillTransfer` och `route_value` till `billing_support` ger följande BYE-rubriker:

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

Five9 dirigerar sedan den som ringer till kunskapsgruppen `billing_support`.

## Rekommenderade routningsvärden

Håll värdena för `X-RouteType` enkla och förutsägbara så att Five9-flödet kan förgrena sig direkt utifrån dem.

| `X-RouteType`     | Exempel på `X-RouteValue` | Beskrivning                                              |
| ----------------- | ------------------------- | -------------------------------------------------------- |
| `SkillTransfer`   | `billing_support`         | Överför samtalet till en specifik Five9-kunskapskö.      |
| `PhoneTransfer`   | `+18005550199`            | Överför samtalet till ett externt telefonnummer.         |
| `Hangup`          | Tomt                      | Avsluta samtalet efter AI-interaktionen.                 |
| `DispositionOnly` | `Resolved`                | Avsluta samtalet och registrera en specifik disposition. |

## Konfigurera Five9

Ditt Five9-implementeringsteam kommer vanligtvis att:

1. Aktivera AI Agent Connect för din Five9-domän.
2. Konfigurera Five9:s IVR-överföringsflöde.
3. Lägga till ElevenLabs-telefonnumret som överföringsdestination.
4. Konfigurera External Transfer Module.
5. Konfigurera utgående `X-`-rubriker som skickas till ElevenLabs.
6. Konfigurera inkommande `X-`-rubriker som returneras av ElevenLabs.
7. Mappa de returnerade rubrikerna till Five9-samtalsvariabler.
8. Konfigurera routningslogiken efter AI som förgrenar sig utifrån dessa variabler.
9. Testa samtal från början till slut.

## Felsökning

#### Överförda samtal kan inte ansluta

* Bekräfta att ElevenLabs-telefonnumret har importerats som ett SIP-trunknummer och har en agent tilldelad.
* Kontrollera att överföringsdestinationen som konfigurerats i Five9 External Transfer Module matchar det importerade numret.
* Kontrollera att brandväggen tillåter SIP-signaltrafik på den konfigurerade transporten och porten, och att RTP-portar inte blockeras.

#### Inkommande rubriker är inte tillgängliga som dynamiska variabler

* Bekräfta att Five9 skickar rubrikerna med prefixet `X-` i INVITE.
* Kontrollera det normaliserade variabelnamnet. `X-AgentID` blir `{{sip_agentid}}`, inte `{{X-AgentID}}` eller `{{agent_id}}`.
* Granska konversationshistoriken under fliken **Phone Call** för att se vilka rubriker som kom fram.
* Anpassade rubriker kan inte åsidosätta systemvariablerna `system__call_sid` och `system__caller_id`.

#### BYE-rubriker saknas eller är tomma

* Kontrollera att `attributes_to_headers` är inställt i `inbound_trunk_config` för telefonnumret som tar emot samtalet.
* Bekräfta att nycklarna är namn på dynamiska variabler och att värdena är rubriknamn, inte tvärtom.
* Se till att agenten faktiskt anger dessa dynamiska variabler under konversationen. En oinställd variabel ger inget rubrikvärde.

#### Routeragenten överför till fel agent

* Bekräfta att Five9 skickar `X-AgentID` vid varje överfört samtal.
* Kontrollera att varje `X-AgentID`-värde har en matchande överföringsregel i routeragenten.
* Kontrollera att routeragentens överföringsregler refererar till `{{sip_agentid}}`.

## Användbara länkar

* [Guide om SIP-trunkar](/docs/sv/eleven-agents/phone-numbers/sip-trunking)
* [SIP-referens](/docs/sv/eleven-agents/phone-numbers/sip-reference)
* [Verktyg för agentöverföring](/docs/sv/eleven-agents/customization/tools/system-tools/agent-transfer)
* [Dynamiska variabler](/docs/sv/eleven-agents/customization/personalization/dynamic-variables)
* [API-referens för uppdatering av telefonnummer](/docs/sv/api-reference/phone-numbers/update)