Five9

Przekazuj rozmowy z Five9 VCC do ElevenAgents za pomocą Five9 AI Agent Connect.

Zanim skorzystasz z tego przewodnika, przeczytaj przewodnik po trunkingu SIP, aby dowiedzieć się, jak ElevenLabs obsługuje trunki SIP i niestandardowe nagłówki SIP.

Omówienie

Ten przewodnik wyjaśnia, jak zintegrować ElevenAgents z Five9 Virtual Contact Center (VCC) za pomocą Five9 AI Agent Connect. Five9 przekazuje trwającą rozmowę na numer telefonu ElevenLabs, agent ElevenLabs obsługuje rozmowę, a ElevenLabs zwraca dane routingu lub dyspozycji do Five9, aby przepływ Five9 mógł być kontynuowany.

Jak działa integracja z Five9

Five9 AI Agent Connect używa zewnętrznego przekierowania przez SIP, a kontekst połączenia jest wymieniany w obu kierunkach przez niestandardowe nagłówki SIP X-:

  1. Przekierowanie przychodzące: moduł Five9 IVR External Transfer Module przekazuje połączenie na numer telefonu ElevenLabs, wysyłając kontekst połączenia jako nagłówki SIP X- w INVITE.
  2. Rozmowa: ElevenLabs odbiera połączenie i kieruje je do właściwego agenta, opcjonalnie przez agenta routera, a następnie prowadzi rozmowę z dzwoniącym.
  3. Ścieżka powrotna: gdy rozmowa się kończy, ElevenLabs dołącza dane routingu i dyspozycji do SIP BYE jako nagłówki X-.
  4. Routing po AI: Five9 mapuje zwrócone nagłówki na zmienne połączenia i kontynuuje flow, np. przekierowując do konsultanta, kończąc połączenie lub zapisując dyspozycję.

Wymagania

Przed konfiguracją integracji z Five9 upewnij się, że masz:

  1. Aktywną domenę Five9 VCC z włączonym AI Agent Connect.
  2. Dostęp administratora do konfiguracji Five9 albo zespół wdrożeniowy Five9, który wprowadzi zmiany.
  3. Konto ElevenLabs i agenta do obsługi przekazywanych połączeń.
  4. Numer telefonu trunku SIP zaimportowany do ElevenLabs jako cel przekierowań Five9.

AI Agent Connect to płatny dodatek do Five9 VCC i nie jest domyślnie włączony. Przed rozpoczęciem integracji skontaktuj się ze swoim opiekunem konta Five9, aby włączyć go dla swojej domeny.

Oba zespoły powinny przed rozpoczęciem konfiguracji uzgodnić numer przekierowania, nazwy nagłówków wysyłanych w obu kierunkach, wartości routingu i plan testów.

Konfiguracja ElevenLabs

1

Zaimportuj numer przekierowania

Postępuj zgodnie z przewodnikiem po trunkingu SIP, aby zaimportować numer telefonu, na który Five9 będzie przekazywać połączenia. Niestandardowe nagłówki SIP i nagłówki BYE wymagają numeru telefonu trunku SIP.

Zaimportuj numer w formacie E.164 z kodem kraju +1 (na przykład +18005550100). Five9 wysyła przekierowanie w tym formacie, a niezgodność spowoduje niepowodzenie przekierowania.

2

Przypisz agenta

Jeśli jeden agent obsługuje wszystkie połączenia z Five9, przypisz go bezpośrednio do numeru telefonu w panelu Numerów telefonów.

Jeśli kilku agentów korzysta z jednego numeru przekierowania, przypisz zamiast tego agenta routera i postępuj zgodnie z sekcją Kierowanie do wielu agentów przez jeden numer.

3

Skonfiguruj zwracane nagłówki

Zmapuj zmienne dynamiczne ustawiane przez agenta podczas rozmowy na nazwy nagłówków SIP BYE oczekiwane przez Five9. Zobacz Konfiguracja nagłówków BYE.

4

Wykonaj połączenia testowe

Wykonaj połączenia testowe z Five9 i potwierdź, że nagłówki przychodzące trafiają jako zmienne dynamiczne, a nagłówki BYE są zwracane zgodnie z oczekiwaniami. Wartości nagłówków przychodzących znajdziesz w historii rozmowy na karcie Phone Call.

Kierowanie do wielu agentów przez jeden numer

Aby kierować połączenia do kilku agentów ElevenLabs przez jeden numer przekierowania Five9, przypisz do numeru telefonu agenta routera i ustaw, aby Five9 wysyłał docelowego agenta w nagłówku takim jak X-AgentID.

Przychodzące nagłówki X- są dostępne jako zmienne dynamiczne, więc X-AgentID jest dostępny dla agenta routera jako {{sip_agentid}}. Skonfiguruj agenta routera za pomocą narzędzia przekierowania agenta i dodaj regułę przekierowania dla każdej oczekiwanej wartości X-AgentID, mapując ją na agenta, który ma odebrać połączenie.

Dzięki temu nie musisz konfigurować osobnego numeru telefonu dla każdego agenta.

Nagłówki wysyłane z Five9 do ElevenLabs

Five9 może wysyłać metadane połączenia jako nagłówki SIP X- w INVITE. Nazwy nagłówków są normalizowane przez usunięcie prefiksu X-, zmianę na małe litery, zastąpienie myślników podkreśleniami i dodanie prefiksu sip_.

NagłówekZmienna dynamicznaOpis
X-CallANI{{sip_callani}}Numer telefonu dzwoniącego.
X-CallDNIS{{sip_calldnis}}Wybrany numer telefonu.
X-CallID{{sip_callid}}Unikalny identyfikator połączenia Five9.
X-CallSessionID{{sip_callsessionid}}Identyfikator bieżącej sesji.
X-CallCampaign{{sip_callcampaign}}Nazwa kampanii Five9.
X-AgentID{{sip_agentid}}Docelowy agent ElevenLabs używany do routingu przez agenta routera.

Używaj tych zmiennych w promptach agenta, pierwszych wiadomościach i narzędziach, aby personalizować rozmowę.

Zarezerwowane nagłówki X-Call-ID i X-Caller-ID są mapowane na systemowe zmienne dynamiczne system__call_sid i system__caller_id. Five9 wysyła nagłówki bez myślnika: X-CallID i X-CallANI, które są normalizowane odpowiednio do sip_callid i sip_callani. Przed użyciem ich w promptach sprawdź podczas połączeń testowych, które zmienne są wypełniane.

Nagłówki zwracane z ElevenLabs do Five9

ElevenLabs zwraca dane routingu i raportowania w SIP BYE. Poniższe nazwy nagłówków to zalecana konwencja dla Five9 AI Agent Connect:

NagłówekOpis
X-RouteTypeDziałanie, które powinno wykonać Five9, np. SkillTransfer.
X-RouteValueCel działania, np. nazwa umiejętności Five9.
X-RouteReasonKontekst decyzji o routingu, np. intencja klienta.
X-ConversationIdIdentyfikator rozmowy ElevenLabs do korelacji logów.

Możesz zwrócić dowolny dodatkowy nagłówek X-, którego potrzebuje twój flow Five9. Wartość każdego nagłówka pochodzi ze zmiennej dynamicznej agenta, więc agent musi ustawić te zmienne podczas rozmowy.

Konfiguracja nagłówków BYE

Nagłówki BYE zwracają do Five9 końcowe wartości zmiennych dynamicznych agenta. Zmapuj każdą nazwę zmiennej dynamicznej na nazwę nagłówka za pomocą attributes_to_headers w inbound_trunk_config numeru telefonu. Możesz mapować zarówno zmienne ustawiane przez agenta, jak i systemowe zmienne dynamiczne, takie jak system__conversation_id:

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",
}
),
)

Wartość nagłówka to wartość zmiennej dynamicznej na końcu rozmowy, w tym wartości ustawione podczas połączenia przez narzędzia agenta lub nadpisania webhooków. Połączenie, w którym agent ustawia route_type na SkillTransfer, a route_value na billing_support, generuje następujące nagłówki BYE:

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

Five9 przekierowuje wtedy dzwoniącego do umiejętności billing_support.

Zalecane wartości routingu

Utrzymuj proste i przewidywalne wartości X-RouteType, aby flow Five9 mógł bezpośrednio na ich podstawie tworzyć rozgałęzienia.

X-RouteTypePrzykładowe X-RouteValueOpis
SkillTransferbilling_supportPrzekieruj połączenie do określonej kolejki umiejętności Five9.
PhoneTransfer+18005550199Przekieruj połączenie na zewnętrzny numer telefonu.
HangupPusteZakończ połączenie po interakcji z AI.
DispositionOnlyResolvedZakończ połączenie i zapisz konkretną dyspozycję.

Konfiguracja Five9

Twój zespół wdrożeniowy Five9 zwykle:

  1. Włącza AI Agent Connect dla domeny Five9.
  2. Konfiguruje flow przekierowania Five9 IVR.
  3. Dodaje numer telefonu ElevenLabs jako cel przekierowania.
  4. Konfiguruje External Transfer Module.
  5. Konfiguruje wychodzące nagłówki X- wysyłane do ElevenLabs.
  6. Konfiguruje przychodzące nagłówki X- zwracane przez ElevenLabs.
  7. Mapuje zwrócone nagłówki na zmienne połączenia Five9.
  8. Konfiguruje logikę routingu po AI, która tworzy rozgałęzienia na podstawie tych zmiennych.
  9. Testuje połączenia end-to-end.

Rozwiązywanie problemów

  • Potwierdź, że numer telefonu ElevenLabs jest zaimportowany jako numer trunku SIP i ma przypisanego agenta.
  • Sprawdź, czy cel przekierowania skonfigurowany w Five9 External Transfer Module odpowiada zaimportowanemu numerowi.
  • Sprawdź, czy firewall zezwala na ruch sygnalizacyjny SIP na skonfigurowanym transporcie i porcie oraz czy porty RTP nie są blokowane.
  • Potwierdź, że Five9 wysyła nagłówki z prefiksem X- w INVITE.
  • Sprawdź znormalizowaną nazwę zmiennej. X-AgentID staje się {{sip_agentid}}, a nie {{X-AgentID}} ani {{agent_id}}.
  • Sprawdź historię rozmowy na karcie Phone Call, aby zobaczyć, które nagłówki dotarły.
  • Niestandardowe nagłówki nie mogą nadpisywać zmiennych systemowych system__call_sid i system__caller_id.
  • Sprawdź, czy attributes_to_headers jest ustawione w inbound_trunk_config dla numeru telefonu odbierającego połączenie.
  • Potwierdź, że klucze są nazwami zmiennych dynamicznych, a wartości nazwami nagłówków, a nie odwrotnie.
  • Upewnij się, że agent faktycznie ustawia te zmienne dynamiczne podczas rozmowy. Nieustawiona zmienna nie generuje wartości nagłówka.
  • Potwierdź, że Five9 wysyła X-AgentID przy każdym przekazywanym połączeniu.
  • Sprawdź, czy każda wartość X-AgentID ma pasującą regułę przekierowania u agenta routera.
  • Sprawdź, czy reguły przekierowania agenta routera odwołują się do {{sip_agentid}}.

Przydatne linki