Dokumentacja SIP
Słownik terminów SIP, sieciowych i audio używanych przy konfiguracji trunkingu SIP z ElevenLabs Agents.
Przegląd
SIP trunking łączy twoją obecną infrastrukturę telefoniczną z ElevenLabs Agents. Jego konfiguracja obejmuje protokoły, ustawienia sieci i formaty audio, które używają specjalistycznej terminologii.
Ta strona wyjaśnia te terminy prostym językiem. Korzystaj z niej podczas czytania przewodnika po SIP trunking lub rozwiązywania problemów z połączeniem.
Terminy są podzielone na następujące kategorie:
- Protokoły — standardy obsługujące sygnalizację i audio.
- Transport i sieć — sposób, w jaki pakiety przemieszczają się między systemami.
- Elementy infrastruktury — systemy obsługujące połączenia.
- Sygnalizacja połączeń — komunikaty, które rozpoczynają i kończą połączenie.
- Uwierzytelnianie i bezpieczeństwo — sposób weryfikacji i szyfrowania połączeń.
- Audio i kodeki — sposób kodowania i przesyłania mowy.
- Adresowanie i routing — sposób, w jaki połączenia trafiają do celu.
- Konfiguracja ElevenLabs — ustawienia specyficzne dla panelu ElevenLabs.
Protokoły
SIP (Session Initiation Protocol)
Protokół sygnalizacyjny, który rozpoczyna, modyfikuje i kończy sesje komunikacji w czasie rzeczywistym, takie jak rozmowy głosowe. SIP ustala, kto do kogo dzwoni i jak ma być przesyłane audio, ale nie przesyła samego audio. Jest zdefiniowany w RFC 3261.
SDP (Session Description Protocol)
Format tekstowy przenoszony w komunikatach SIP, który opisuje media połączenia: jakie kodeki obsługuje każda strona, adresy IP i porty strumienia audio oraz parametry szyfrowania. Oba punkty końcowe używają SDP, aby uzgodnić wspólną konfigurację przed rozpoczęciem przesyłania audio.
RTP (Real-time Transport Protocol)
Protokół przesyłający właściwe audio połączenia po jego zestawieniu przez SIP. Pakiety RTP są przesyłane jako ciągły strumień i są wrażliwe na opóźnienia oraz utratę, dlatego jakość audio zależy od warunków sieciowych.
SRTP (Secure RTP)
Szyfrowana wersja RTP. Gdy szyfrowanie mediów jest włączone, strumień audio jest chroniony przez SRTP, więc nie można go przechwycić podczas transmisji. Aby szyfrowane media działały, oba punkty końcowe muszą obsługiwać SRTP.
RTCP (RTP Control Protocol)
Protokół towarzyszący RTP, który raportuje statystyki, takie jak utrata pakietów i jitter, dzięki czemu punkty końcowe mogą monitorować jakość połączenia.
Transport i sieć
UDP (User Datagram Protocol)
Szybki, bezpołączeniowy transport, który wysyła pakiety bez gwarancji dostarczenia ani kolejności. Audio RTP jest przesyłane przez UDP, ponieważ w przypadku mowy na żywo niskie opóźnienie jest ważniejsze niż bezbłędne dostarczenie.
Transport UDP dla sygnalizacji SIP jest eksperymentalny w ElevenLabs. W ruchu produkcyjnym używaj TCP lub TLS, a UDP wybieraj tylko do testów.
TCP (Transmission Control Protocol)
Zorientowany na połączenie transport, który gwarantuje uporządkowane i niezawodne dostarczanie. ElevenLabs obsługuje TCP dla sygnalizacji SIP na porcie 5060.
TLS (Transport Layer Security)
Warstwa szyfrowania działająca na TCP. Transport TLS szyfruje sygnalizację SIP, więc poświadczenia i metadane połączeń nie mogą zostać odczytane podczas transmisji. ElevenLabs obsługuje TLS dla sygnalizacji na porcie 5061.
MTU (Maximum Transmission Unit)
Największy rozmiar pakietu w bajtach, który łącze sieciowe może przenieść bez dzielenia go na mniejsze części. Gdy komunikat SIP przez UDP przekracza MTU, może zostać pofragmentowany lub odrzucony, co może powodować błędy zestawiania połączeń. Sygnalizacja SIP wysyłana przez TCP lub TLS unika tego problemu, ponieważ te transporty niezawodnie obsługują duże komunikaty.
NAT (Network Address Translation)
Technika używana przez routery do współdzielenia jednego publicznego adresu IP przez wiele urządzeń w sieci prywatnej. NAT może uniemożliwić dotarcie audio RTP do właściwego urządzenia, co często powoduje jednostronne lub brakujące audio.
Opóźnienie
Czas między wysłaniem a odebraniem audio. Wysokie opóźnienie sprawia, że rozmowy brzmią nienaturalnie, ponieważ każda strona dłużej czeka, by usłyszeć drugą.
Jitter
Różnice w czasie docierania pakietów audio. Wysoki jitter powoduje przerywane lub zniekształcone audio, nawet gdy ogólne opóźnienie jest akceptowalne.
Utrata pakietów
Procent pakietów audio, które nigdy nie docierają. Nawet niewielka utrata pakietów obniża jakość audio, ponieważ RTP nie retransmituje utraconych pakietów.
Port
Numerowany punkt końcowy adresu IP, który identyfikuje konkretną usługę. Sygnalizacja SIP używa portu 5060 dla TCP i 5061 dla TLS; media RTP zwykle używają szerokiego zakresu dynamicznie przydzielanych portów.
Elementy infrastruktury
SBC (Session Border Controller)
Urządzenie lub usługa działająca na granicy sieci w celu zarządzania i zabezpieczania ruchu SIP. SBC realizuje zadania takie jak ochrona przed nieautoryzowanym dostępem, normalizacja komunikatów SIP między systemami, które różnie implementują protokół, oraz zarządzanie przejściem przez NAT. Wielu dostawców SIP trunking umieszcza SBC między swoją siecią a twoją.
PBX (Private Branch Exchange)
Prywatny system telefoniczny, który kieruje połączenia w organizacji i łączy je z liniami zewnętrznymi. PBX z obsługą SIP może połączyć się z ElevenLabs przez SIP trunk.
SIP trunk
Wirtualne połączenie między twoim systemem telefonicznym a usługą głosową, które obsługuje wiele jednoczesnych połączeń przez internet zamiast fizycznych linii telefonicznych. SIP trunk łączy twój PBX lub dostawcę z ElevenLabs.
Sygnalizacja połączeń
SIP INVITE
Komunikat SIP, który żąda nowego połączenia. INVITE zawiera identyfikator miejsca docelowego i opis SDP możliwości mediów osoby dzwoniącej.
200 OK
Odpowiedź SIP potwierdzająca powodzenie żądania. W przypadku INVITE odpowiedź 200 OK zawiera SDP strony odbierającej oraz adres Contact, który identyfikuje dokładny serwer obsługujący połączenie.
BYE
Komunikat SIP, który kończy ustanowione połączenie. BYE należy wysłać na adres Contact zwrócony w odpowiedzi 200 OK, aby dotarł do tego samego serwera, który obsłużył połączenie.
Nagłówek Contact
Pole w odpowiedzi SIP, które identyfikuje dokładny serwer i adres dla kolejnych komunikatów w tym samym połączeniu. ElevenLabs obsługuje ruch SIP z wielu serwerów za wspólnym adresem sip.rtc.elevenlabs.io, więc wysyłanie późniejszych żądań, takich jak BYE, na ten wspólny adres zamiast na adres Contact może spowodować, że trafią na inny serwer.
Dialog
Wspólny stan utrzymywany przez dwa punkty końcowe przez czas trwania połączenia. Jeśli komunikat, taki jak BYE, dotrze do serwera, który nie ma informacji o dialogu, serwer go odrzuci.
Kody odpowiedzi
Trzycyfrowe liczby wskazujące wynik żądania SIP, podobne do kodów statusu HTTP. Kody z zakresu 1xx są tymczasowe i raportują postęp: 100 (Trying) potwierdza odebranie i przetwarzanie żądania, a 180 (Ringing) sygnalizuje, że odbiorca jest powiadamiany. Odpowiedzi końcowe informują o wyniku: 200 (OK) oznacza sukces, 401 i 407 wskazują, że wymagane jest uwierzytelnienie, a 481 oznacza, że serwer nie ma pasującego dialogu dla żądania.
Uwierzytelnianie i bezpieczeństwo
Uwierzytelnianie Digest
Metoda uwierzytelniania, która weryfikuje połączenie za pomocą nazwy użytkownika i hasła bez wysyłania hasła otwartym tekstem. ElevenLabs zaleca uwierzytelnianie Digest, ponieważ nie zależy ono od stałych adresów IP.
ACL (Access Control List)
Metoda uwierzytelniania oparta na dopuszczaniu zaufanych adresów IP. Przy uwierzytelnianiu ACL system akceptuje ruch SIP tylko z zatwierdzonych adresów źródłowych. Zarządzanie nią może być trudniejsze, gdy adresy IP się zmieniają.
Szyfrowanie mediów
Ochrona stosowana do strumienia audio RTP przy użyciu SRTP. ElevenLabs oferuje trzy ustawienia: Disabled (bez szyfrowania), Allowed (szyfruje, gdy obsługują to obie strony) oraz Required (odrzuca połączenia, których nie można zaszyfrować).
Certyfikat
Cyfrowy dokument X.509, który potwierdza tożsamość serwera podczas uzgadniania TLS. Strona, która akceptuje połączenie, działa jako serwer TLS i przedstawia certyfikat; strona, która otwiera połączenie, działa jako klient TLS i weryfikuje go względem zaufanego urzędu certyfikacji, sprawdzając nazwę hosta i datę wygaśnięcia. Role różnią się zależnie od kierunku połączenia:
- Połączenia przychodzące do ElevenLabs: twój system otwiera połączenie, więc ElevenLabs działa jako serwer TLS i przedstawia certyfikat dla
sip.rtc.elevenlabs.io, który twój system weryfikuje. - Połączenia wychodzące z ElevenLabs: ElevenLabs otwiera połączenie, więc twój serwer SIP lub SBC działa jako serwer TLS i musi przedstawić ważny, zaufany certyfikat, który ElevenLabs weryfikuje.
Pakiet szyfrów
Zestaw algorytmów używanych przez połączenie TLS do wymiany kluczy, szyfrowania danych i weryfikacji integralności. Podczas uzgadniania klient TLS oferuje obsługiwane pakiety szyfrów, a serwer TLS wybiera jeden wspólny. ElevenLabs wymaga TLS 1.2 lub nowszego. W przypadku połączeń przychodzących do ElevenLabs, ElevenLabs (jako serwer TLS) wybiera pakiet; w przypadku połączeń wychodzących z ElevenLabs, twój system (jako serwer TLS) go wybiera. Obie strony muszą mieć wspólny nowoczesny pakiet szyfrów, inaczej uzgadnianie nie powiedzie się przed połączeniem rozmowy.
Audio i kodeki
Kodek
Algorytm, który kompresuje audio do transmisji i dekompresuje je po drugiej stronie. Aby połączenie miało audio, oba punkty końcowe muszą obsługiwać wspólny kodek.
G711
Szeroko obsługiwany, nieskompresowany kodek przesyłający audio z częstotliwością próbkowania 8 kHz. To najbardziej kompatybilny wybór dla systemów telefonicznych.
G722
Szerokopasmowy kodek przesyłający audio z częstotliwością próbkowania 16 kHz, oferujący wyraźniejszą mowę niż G711, gdy obsługują go oba punkty końcowe.
Częstotliwość próbkowania
Liczba pomiarów audio na sekundę, wyrażana w kilohercach (kHz). Wdrożenie SIP ElevenLabs wysyła i odbiera audio jako G711 przy 8 kHz lub G722 przy 16 kHz. Systemy używające innych częstotliwości muszą ponownie próbkować audio.
DTMF (Dual-Tone Multi-Frequency)
Tony powstające po naciśnięciu klawiszy na klawiaturze telefonu, używane do nawigacji po automatycznych menu. Zobacz wejście DTMF, aby dowiedzieć się, jak agenci odbierają cyfry z klawiatury, oraz odtwórz ton klawisza, aby dowiedzieć się, jak agenci wysyłają DTMF.
Adresowanie i routing
SIP URI
Adres używany do dotarcia do celu SIP, zapisywany jako sip:identifier@domain:port. Na przykład sip:+19991234567@sip.rtc.elevenlabs.io:5060 kieruje połączenie do identyfikatora +19991234567. Identyfikator jest wymagany, aby można było skierować połączenie.
E.164
Międzynarodowy standard formatowania numerów telefonów, składający się z początkowego +, kodu kraju i numeru abonenta, na przykład +15551234567. Format musi być zgodny w twoim SIP URI i zaimportowanym numerze telefonu.
Rekordy NAPTR i SRV
Typy rekordów DNS, które pozwalają systemowi SIP wykryć, których serwerów, transportów i portów użyć dla domeny. ElevenLabs publikuje rekordy NAPTR i SRV dla wykrywania serwerów zgodnego z RFC 3263.
Konfiguracja ElevenLabs
Typ transportu
Protokół wybrany dla sygnalizacji SIP w panelu. ElevenLabs obsługuje TCP (port 5060) i TLS (port 5061). TLS jest zalecany w środowisku produkcyjnym, ponieważ szyfruje sygnalizację.
Konfiguracja przychodząca
Ustawienia określające, jak połączenia przychodzące z twojego SIP trunk trafiają do ElevenLabs, w tym typ transportu i szyfrowanie mediów stosowane do połączeń przychodzących.
Konfiguracja wychodząca
Ustawienia określające, jak ElevenLabs wysyła połączenia do twojego systemu, w tym Address (nazwę hosta lub adres IP bez prefiksu sip:), na który dostarczany jest SIP INVITE.
Niestandardowe nagłówki
Dodatkowe pola nagłówka SIP z prefiksem X-, które możesz dołączać do połączeń na potrzeby routingu, identyfikacji lub wymagań specyficznych dla dostawcy. Przychodzące niestandardowe nagłówki są też dostępne jako zmienne dynamiczne w rozmowie. Nagłówki wychodzącego INVITE konfigurujesz za pomocą statycznego pola headers w outbound_trunk_config.
User-to-User Information (UUI)
Niewielki ładunek aplikacji wymieniany w nagłówku SIP User-to-User (RFC 7433), często używany przez platformy contact center, takie jak Talkdesk i Genesys Cloud. W połączeniach przychodzących, gdy INVITE zawiera nagłówek User-to-User, jego wartość jest dostępna dla agenta jako dwie zmienne dynamiczne: {{sip_uui_raw}} (surowa wartość nagłówka) i {{sip_uui_data}} (zdekodowany ładunek — zdekodowany szesnastkowo, z usuniętym oktetem rozróżniającym protokół, gdy nagłówek zawiera purpose=isdn-uui). W połączeniach wychodzących UUI jest dołączane do transferów SIP REFER kierowanych do SIP URI przez ustawienie uui reguły transferu — zobacz Transfer na numer.
Atrybuty do nagłówków
Ustawienie dostępne tylko przez API w inbound_trunk_config i outbound_trunk_config, które mapuje nazwy zmiennych dynamicznych na nazwy nagłówków SIP dla żądań BYE. Każdy klucz to nazwa zmiennej dynamicznej, a każda wartość to nazwa nagłówka do uwzględnienia po zakończeniu połączenia. Wartością nagłówka jest końcowa wartość zmiennej na koniec rozmowy. Zobacz Nagłówki BYE ze zmiennych dynamicznych.
Zdalne domeny
Ustawienie numeru telefonu zawierające domeny akceptowane przez ElevenLabs podczas weryfikacji certyfikatu TLS dla kolejnych inicjowanych połączeń (na przykład BYE lub REFER). Ponieważ ElevenLabs często łączy się z adresem IP pobranym z najwyższego nagłówka Via, a nie z nazwą hosta, nie może dopasować certyfikatu tylko według nazwy hosta. Jeśli dowolna domena, dla której odebrany certyfikat jest ważny, pasuje do skonfigurowanej zdalnej domeny, weryfikacja się powiedzie; w przeciwnym razie zakończy się niepowodzeniem. Zobacz kolejne połączenia.
Statyczne serwery SIP IP
Opcja dla Enterprise zapewniająca punkty końcowe SIP ze stałymi zakresami IP dla klientów, których polityki bezpieczeństwa wymagają dopuszczania adresów IP. Szczegóły znajdziesz w przewodniku po SIP trunking.