> 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.

# Trunking SIP

## Omówienie

Trunking SIP (Session Initiation Protocol) pozwala połączyć obecną infrastrukturę telefoniczną bezpośrednio z ElevenLabs Agents.
Dzięki tej integracji wszyscy klienci mogą korzystać z obecnych systemów telefonicznych i zaawansowanych możliwości głosowej AI od ElevenLabs.

Trunking SIP pozwala:

* Połączyć centralę Private Branch Exchange (PBX) lub system telefoniczny obsługujący SIP z platformą głosowej AI ElevenLabs
* Kierować połączenia do agentów AI bez zmian w obecnej infrastrukturze telefonicznej
* Obsługiwać połączenia przychodzące i wychodzące
* Korzystać z szyfrowanego transportu TLS i szyfrowania mediów dla większego bezpieczeństwa

> **Tip**
>
> Nie znasz SIP? Zobacz [dokumentację SIP](/docs/pl/eleven-agents/phone-numbers/sip-reference), aby poznać
> proste definicje terminów używanych w tym przewodniku, takich jak SIP, SBC, SDP, RTP
> i MTU.

> **Note**
>
> **Serwery SIP ze statycznym IP**
>
> ElevenLabs oferuje serwery SIP ze statycznymi adresami IP dla klientów Enterprise, którzy ze względów bezpieczeństwa wymagają list dozwolonych adresów IP.
>
> Nasza infrastruktura ze statycznym IP używa bloku adresów /24 zawierającego 256 adresów rozproszonych po kilku regionach (USA, UE, Indie i Singapur). W konfiguracji firewalla musisz dodać do listy dozwolonych cały blok /24.
>
> W domyślnym środowisku (USA/międzynarodowym) użyj `sip-static.rtc.elevenlabs.io` jako punktu końcowego SIP.
> W odizolowanych regionach użyj `sip-static.rtc.<region>.residency.elevenlabs.io`, gdzie `<region>` to kod regionu przechowywania danych (na przykład `eu`, `in` lub `sg`). Przy korzystaniu z tych punktów końcowych cały ruch będzie pochodził wyłącznie z danego regionu. Lista dozwolonych adresów dla konkretnych regionów nie jest dostępna. Listę dostępnych regionów znajdziesz w sekcji [przechowywanie danych](/docs/pl/overview/administration/data-residency).
>
> Ta funkcja jest dostępna dla kont Enterprise i może zostać włączona podczas wersji próbnych Enterprise do celów testowych. Aby poprosić o dostęp, napisz do wsparcia na [support@elevenlabs.io](mailto:support@elevenlabs.io) lub skontaktuj się z opiekunem konta. Więcej informacji uzyskasz, [kontaktując się z działem sprzedaży](https://elevenlabs.io/contact-sales?utm_source=docs\&utm_medium=referral\&utm_campaign=static_ip_sip).

## Jak działa trunking SIP

Trunking SIP tworzy bezpośrednie połączenie między twoją infrastrukturą telefoniczną a platformą ElevenLabs:

1. **Połączenia przychodzące**: Połączenia z trunku SIP są kierowane na platformę ElevenLabs za pomocą skonfigurowanego adresu SIP INVITE.
2. **Połączenia wychodzące**: Połączenia inicjowane przez ElevenLabs są kierowane do twojego trunku SIP za pomocą skonfigurowanej nazwy hosta, dzięki czemu twoi agenci mogą wykonywać połączenia wychodzące.
3. **Uwierzytelnianie**: Bezpieczeństwo połączenia dla sygnalizacji zapewnia uwierzytelnianie digest (nazwa użytkownika/hasło) lub uwierzytelnianie na podstawie listy kontroli dostępu (ACL) i źródłowego adresu IP sygnalizacji.
4. **Sygnalizacja i media**: Początkowe zestawianie połączenia (sygnalizacja) obsługuje kilka protokołów transportowych, w tym TLS dla szyfrowanej komunikacji. Po zestawieniu połączenia właściwe dane audio (strumień RTP) mogą być szyfrowane zgodnie z ustawieniami szyfrowania mediów.

## Bezpieczeństwo transportu: certyfikaty i zestawy szyfrów

Gdy używasz transportu TLS, obie strony wykonują uzgadnianie TLS, zanim dojdzie do wymiany sygnalizacji SIP. Podczas uzgadniania weryfikują certyfikat i negocjują zestaw szyfrów. Strona przyjmująca połączenie działa jako serwer TLS i przedstawia certyfikat; strona otwierająca połączenie działa jako klient TLS i go weryfikuje. ElevenLabs wymaga TLS 1.2 lub nowszego.

Role zależą od kierunku połączenia:

* **Połączenia przychodzące do ElevenLabs**: Twój system otwiera połączenie, więc ElevenLabs działa jako serwer TLS. ElevenLabs przedstawia ważny certyfikat dla `sip.rtc.elevenlabs.io`, a twój system weryfikuje go jako klient TLS.
* **Połączenia wychodzące z ElevenLabs**: ElevenLabs otwiera połączenie z skonfigurowanym adresem, więc twój serwer SIP lub SBC działa jako serwer TLS. Twój system musi przedstawić ważny, zaufany certyfikat, który ElevenLabs weryfikuje jako klient TLS.

Upewnij się, że obie strony ufają swoim certyfikatom i mają co najmniej jeden wspólny zestaw szyfrów. W przeciwnym razie uzgadnianie TLS zakończy się niepowodzeniem przed zestawieniem połączenia. Definicje tych terminów znajdziesz w [dokumentacji SIP](/docs/pl/eleven-agents/phone-numbers/sip-reference#authentication-and-security).

### Kolejne połączenia

Niektóre żądania w trakcie dialogu, takie jak `BYE` lub `REFER`, mogą wymagać nowego połączenia TLS, gdy pierwotne połączenie zostało już zamknięte. Zachowanie certyfikatów dla tych kolejnych połączeń różni się od początkowego zestawiania połączenia:

* **Kolejne połączenia do ElevenLabs**: Twój system ustanawia połączenie z adresem nagłówka `Contact` zwróconym w odpowiedzi, który wskazuje konkretny serwer SIP w formie `<ip>.hosts.rtc.elevenlabs.io`. Ten serwer przedstawia certyfikat ważny dla `*.hosts.rtc.elevenlabs.io`, który twój system weryfikuje jako klient TLS.
* **Kolejne połączenia z ElevenLabs**: Gdy ElevenLabs inicjuje połączenie TLS dla `BYE` lub `REFER`, łączy się z adresem w najwyższym nagłówku `Via`, którym często jest adres IP. Twój system zazwyczaj zwraca certyfikat ważny dla w pełni kwalifikowanej nazwy domeny (FQDN), a nie dla tego adresu IP. Aby zweryfikować ten certyfikat, skonfiguruj pole **Zdalne domeny** w ustawieniach numeru telefonu. Jeśli dowolna domena, dla której otrzymany certyfikat jest ważny, pasuje do skonfigurowanej zdalnej domeny, weryfikacja się powiedzie; w przeciwnym razie zakończy się niepowodzeniem.

> **Tip**
>
> Jeśli wychodzące żądania `BYE` lub `REFER` przez TLS nie przechodzą weryfikacji certyfikatu, dodaj FQDN,
> dla którego wystawiono certyfikat serwera SIP, do pola **Zdalne domeny** w ustawieniach numeru telefonu.

## Wykonywanie połączeń do trunku SIP ElevenLabs

Podczas inicjowania połączeń z platformą ElevenLabs musisz używać właściwego formatu URI SIP. URI trunku SIP ElevenLabs zależy od transportu, którego chcesz użyć do sygnalizacji:

* **TCP**: `sip:sip.rtc.elevenlabs.io:5060;transport=tcp`
* **TLS**: `sip:sip.rtc.elevenlabs.io:5061;transport=tls`
* **UDP**: `sip:sip.rtc.elevenlabs.io:5060;transport=udp` (eksperymentalne; używaj tylko do testów, nie na produkcji)

Aby wykonać połączenie, utwórz pełny URI SIP zawierający identyfikator. Na przykład, aby zadzwonić na numer `+19991234567` przez TCP:

```
sip:+19991234567@sip.rtc.elevenlabs.io:5060
```

Gdzie:

* `+19991234567` to identyfikator (zwykle numer telefonu w formacie E.164)
* Identyfikatorem może być też dowolna wartość tekstowa, na przykład `1000` lub `john`

> **Warning**
>
> **Częsty błąd**: Nie inicjuj połączeń bezpośrednio z `sip@sip.rtc.elevenlabs.io:5060` bez
> identyfikatora. URI SIP musi zawierać numer telefonu lub identyfikator po prefiksie `sip:`
> i przed symbolem `@`.

> **Info**
>
> **Format URI SIP**: [URI SIP](https://en.wikipedia.org/wiki/SIP_URI_scheme) ma format
> `sip:identifier@domain:port`, gdzie identyfikator jest wymagany, aby poprawnie przekierować połączenie.

## Wymagania

Przed skonfigurowaniem trunkingu SIP upewnij się, że masz:

1. Centralę PBX lub system telefoniczny zgodny z SIP
2. Numery telefonów, które chcesz połączyć z ElevenLabs
3. Dostęp administratora do konfiguracji trunku SIP
4. Odpowiednie ustawienia firewalla zezwalające na ruch SIP
5. **Obsługę TLS**: Aby zwiększyć bezpieczeństwo, upewnij się, że dostawca trunku SIP obsługuje transport TLS
6. **Zgodność kodeków audio**:
   Twój system musi obsługiwać co najmniej jeden kodek audio G.722 lub G.711 (PCMU albo PCMA) albo umożliwiać ponowne próbkowanie audio po twojej stronie. Nie zależy to od formatu audio skonfigurowanego dla agenta przy bezpośrednich połączeniach websocket.

## Konfiguracja trunkingu SIP

#### Przejdź do sekcji Numery telefonów

Przejdź do [sekcji Numery telefonów](https://elevenlabs.io/app/agents/phone-numbers) w panelu ElevenLabs Agents.

#### Zaimportuj trunk SIP

Kliknij przycisk „Importuj numer”, a następnie wybierz „Z trunku SIP”, aby otworzyć okno konfiguracji.

![Menu importu numeru z opcją Z trunku SIP](/docs/_fern-img/5c6e4969f3ae086d4876674a1399e3f1f2b964d15b955d5f46ad95da655829fb.webp)

#### Wprowadź podstawową konfigurację

Uzupełnij podstawową konfigurację, podając następujące informacje:

* **Etykieta**: Opisowa nazwa numeru telefonu
* **Numer telefonu**: Numer telefonu w formacie E.164 do połączenia (np. +15551234567)

![Podstawowa konfiguracja trunku SIP z polami Etykieta i Numer telefonu](/docs/_fern-img/682cc9b519dc50553e4849c528837ae3f6ff9ebeef005464004474d201cccb95.webp)

#### Skonfiguruj ustawienia połączeń przychodzących

Skonfiguruj, jak ElevenLabs obsługuje połączenia przychodzące do twojego trunku SIP, w tym szyfrowanie mediów i kontrolę dostępu:

* **Szyfrowanie mediów**: Skonfiguruj szyfrowanie strumieni mediów RTP:
  * **Wyłączone**: Brak szyfrowania mediów
  * **Dozwolone**: Zezwala na szyfrowane strumienie mediów
  * **Wymagane**: Wymusza szyfrowane strumienie mediów
* **Dozwolone numery** (opcjonalnie): Numery telefonów uprawnione do dzwonienia na ten numer. Pozostaw puste, aby zezwolić wszystkim numerom.
* **Dozwolone źródłowe adresy IP** (opcjonalnie): Działa tylko dla transportu TCP/TLS, nie UDP. Adresy IP lub zakresy CIDR, które mogą wysyłać połączenia do tego trunku. Pozostaw `0.0.0.0/0`, aby zezwolić na wszystkie adresy.
* **Zdalne domeny** (opcjonalnie): Podaj domeny FQDN serwerów SIP, z których inicjujesz połączenia, na przykład `example.pstn.twilio.com`. Te domeny służą do weryfikacji certyfikatu TLS. Pozostaw to pole puste, jeśli nie używasz TLS.
* **Uwierzytelnianie** (opcjonalnie): Podaj dane uwierzytelniania digest, które będą używane do uwierzytelniania połączeń przychodzących.
  * **Nazwa użytkownika trunku SIP**: Nazwa użytkownika do uwierzytelniania SIP digest
  * **Hasło trunku SIP**: Hasło do uwierzytelniania SIP digest

![Ustawienia konfiguracji połączeń przychodzących, w tym szyfrowanie mediów, dozwolone numery, dozwolone źródłowe adresy IP, zdalne domeny i uwierzytelnianie](/docs/_fern-img/83a3ee6dd135f8f0206c08703ade8324d7993d88cc0572eaa1f65246313ccf90.webp)

#### Skonfiguruj ustawienia połączeń wychodzących

Skonfiguruj, gdzie ElevenLabs ma wysyłać połączenia dla twojego numeru telefonu:

* **Adres**: Nazwa hosta lub adres IP, na który wysyłany jest SIP INVITE (np. `sip.telnyx.com`). Powinna to być tylko nazwa hosta lub adres IP, a nie pełny URI SIP. Jeśli używasz TLS, użyj nazwy hosta z ważnym certyfikatem.
* **Typ transportu**: Wybierz protokół transportowy dla sygnalizacji SIP:
  * **TCP**: Standardowy transport TCP
  * **TLS**: Szyfrowany transport TLS dla większego bezpieczeństwa
  * **UDP**: Transport bezpołączeniowy (eksperymentalny; na produkcji używaj TCP lub TLS)
* **Szyfrowanie mediów**: Skonfiguruj szyfrowanie strumieni mediów RTP:
  * **Wyłączone**: Brak szyfrowania mediów
  * **Dozwolone**: Zezwala na szyfrowane strumienie mediów
  * **Wymagane**: Wymusza szyfrowane strumienie mediów
* **Włączone kodeki**: Kodeki oferowane w SDP dla połączeń wychodzących (G.722, PCMU, PCMA). Przydatne, gdy dostawca SIP obsługuje tylko określone kodeki.
* **Własne nagłówki** (opcjonalnie): Dodaj własne nagłówki SIP dołączane do połączeń wychodzących. Kliknij „Dodaj nagłówek”, aby wprowadzić nazwę i wartość nagłówka wymaganą przez dostawcę; możesz dodać wiele nagłówków. Własne nagłówki można wykorzystać do przekierowywania i identyfikacji połączeń, rozliczeń i śledzenia oraz wymagań specyficznych dla dostawcy.
* **Uwierzytelnianie** (opcjonalnie): Podaj dane uwierzytelniania digest, jeśli wymaga ich dostawca trunku SIP.

  * **Nazwa użytkownika trunku SIP**: Nazwa użytkownika do uwierzytelniania SIP digest
  * **Hasło trunku SIP**: Hasło do uwierzytelniania SIP digest

  Jeśli pozostawisz te pola puste, użyte zostanie uwierzytelnianie oparte na liście kontroli dostępu (ACL), co wymaga dodania adresów IP ElevenLabs do listy dozwolonych w ustawieniach dostawcy.

![Ustawienia konfiguracji połączeń wychodzących, w tym adres, typ transportu, szyfrowanie mediów, włączone kodeki, własne nagłówki i uwierzytelnianie](/docs/_fern-img/91e0283cb11362220b862856c2365c56fb47388f1b618007c1902d4515390253.webp)

> **Tip**
>
> **Dobra praktyka bezpieczeństwa**: Używaj transportu TLS z wymaganym szyfrowaniem mediów dla maksymalnego bezpieczeństwa. Dzięki temu sygnalizacja i media są szyfrowane end-to-end.

> **Info**
>
> **Metody uwierzytelniania**:
>
> * **Uwierzytelnianie digest**: Używa nazwy użytkownika i hasła do bezpiecznego uwierzytelniania (zalecane)
> * **Uwierzytelnianie ACL**: Używa listy dozwolonych adresów IP do kontroli dostępu
>
> **Zdecydowanie zalecamy uwierzytelnianie digest**, ponieważ zapewnia lepsze bezpieczeństwo bez polegania na liście dozwolonych adresów IP, którą trudno zarządzać przy dynamicznych adresach IP.

> **Note**
>
> Pole **Adres** określa, dokąd ElevenLabs będzie wysyłać połączenia wychodzące od twoich agentów AI. Wprowadź tylko nazwę hosta lub adres IP, bez prefiksu protokołu `sip:`.

#### Zakończ konfigurację

Kliknij „Importuj”, aby zakończyć konfigurację.

## Dane klienta i personalizacja

Aby zapewnić poprawne przekazywanie i śledzenie metadanych połączeń, uwzględnij poniższe własne nagłówki SIP w ładunku webhooka i żądaniu SIP INVITE:

* **X-CALL-ID**: Unikalny identyfikator połączenia
* **X-CALLER-ID**: Identyfikator strony dzwoniącej

Te nagłówki pozwalają systemowi połączyć metadane połączenia z rozmową i zapewnić kontekst do personalizacji.

### Obsługa nagłówka zapasowego

Jeśli powyższe standardowe nagłówki nie są obecne, system automatycznie wyszuka specyficzny dla Twilio nagłówek SIP:

* **sip.twilio.callSid**: Unikalny identyfikator połączenia Twilio

Ten mechanizm zapasowy zapewnia zgodność z Elastic SIP Trunking od Twilio bez konieczności zmian w konfiguracji.

### Przepływ przetwarzania

Gdy odpowiednie metadane zostaną otrzymane przez dowolny z obsługiwanych nagłówków, `caller_id` i/lub `call_id` są dostępne w [webhooku inicjowania rozmowy](/docs/pl/eleven-agents/customization/personalization#conversation-initiation-webhooks) oraz jako [systemowe zmienne dynamiczne](/docs/pl/eleven-agents/customization/personalization/dynamic-variables#system-dynamic-variables).

### Własne nagłówki przychodzące jako zmienne dynamiczne

Własne nagłówki SIP `X-` z połączeń przychodzących trunkingu SIP są automatycznie udostępniane w rozmowie jako [zmienne dynamiczne](/docs/pl/eleven-agents/customization/personalization/dynamic-variables).

Nazwy nagłówków są normalizowane przez usunięcie prefiksu `X-`, zmianę nazwy na małe litery, zastąpienie łączników podkreśleniami i dodanie prefiksu `sip_`. Na przykład `X-Contact-ID` staje się `{{sip_contact_id}}`, a `X-Campaign-ID` staje się `{{sip_campaign_id}}`.

Używaj tych zmiennych w promptach agentów, pierwszych wiadomościach i narzędziach, aby personalizować rozmowę na podstawie kontekstu przekazanego przez dzwoniącego. Wartości są też widoczne w historii rozmowy na karcie **Połączenie telefoniczne**.

> **Note**
>
> Zarezerwowane nagłówki, takie jak `X-Call-ID` i `X-Caller-ID`, nadal są mapowane na `system__call_sid` i
> `system__caller_id`. Własne nagłówki przychodzące nie mogą nadpisywać tych zmiennych systemowych.

### Nagłówki BYE ze zmiennych dynamicznych

Gdy połączenie się kończy, ElevenLabs wysyła SIP BYE, aby zakończyć dialog. Możesz dołączyć własne nagłówki do tego BYE, mapując [zmienne dynamiczne](/docs/pl/eleven-agents/customization/personalization/dynamic-variables) na nazwy nagłówków w konfiguracji trunku SIP.

Ustaw `attributes_to_headers` w `inbound_trunk_config` lub `outbound_trunk_config` podczas [tworzenia](/docs/pl/api-reference/phone-numbers/create) lub [aktualizowania](/docs/pl/api-reference/phone-numbers/update) numeru telefonu trunku SIP przez API. Każdy wpis mapuje nazwę zmiennej dynamicznej na nazwę nagłówka SIP, który ma zostać dołączony do BYE:

```json
"inbound_trunk_config": {
  "attributes_to_headers": {
    "dynamic_variable_name": "bye_header_name"
  }
}
```

Wartość nagłówka to końcowa wartość zmiennej dynamicznej na końcu rozmowy. Wartości ustawione podczas połączenia — przez narzędzia agenta, nadpisania webhooka lub inne aktualizacje w czasie działania — są uwzględniane w BYE.

Na przykład, jeśli `attributes_to_headers` zawiera `"disposition_code": "X-Disposition"`, a zmienna dynamiczna `disposition_code` ma wartość `resolved` po zakończeniu rozmowy, BYE zawiera `X-Disposition: resolved`.

## Przypisywanie agentów do numerów telefonów

Po zaimportowaniu numeru telefonu trunku SIP możesz przypisać go do agenta ElevenLabs:

1. Przejdź do sekcji Numery telefonów w panelu ElevenAgents
2. Wybierz zaimportowany numer telefonu trunku SIP
3. Kliknij „Przypisz agenta”
4. Wybierz agenta, który ma obsługiwać połączenia na ten numer

## Rozwiązywanie problemów

#### Problemy z połączeniem

Jeśli masz problemy z połączeniem:

1. Sprawdź konfigurację swojego trunku SIP zarówno po stronie ElevenLabs, jak i dostawcy
2. Sprawdź, czy zapora zezwala na ruch sygnalizacyjny SIP na skonfigurowanym protokole transportu i porcie (5060 dla TCP, 5061 dla TLS) oraz czy nie zastosowano listy dozwolonych adresów
3. Potwierdź, że nazwa hosta adresu ma poprawny format i jest dostępna
4. Przetestuj połączenie z danymi uwierzytelniania digest i bez nich
5. Jeśli używasz transportu TLS, sprawdź, czy certyfikaty TLS dostawcy są ważne i poprawnie skonfigurowane
6. Wypróbuj różne typy transportu (TCP lub TLS; obsługa UDP jest eksperymentalna), aby wykluczyć problemy specyficzne dla TLS

**Ważne informacje o architekturze sieci:**

* ElevenLabs obsługuje ruch SIP z wielu serwerów SIP za wspólnym adresem `sip.rtc.elevenlabs.io`
* Te serwery SIP komunikują się bezpośrednio z twoim serwerem SIP
* Żądania SIP mogą pochodzić z różnych adresów IP ze względu na naszą rozproszoną infrastrukturę
* Jeśli twoja polityka bezpieczeństwa wymaga dodania ruchu przychodzącego do listy dozwolonych adresów, skontaktuj się z naszym zespołem wsparcia.

#### Błędy uwierzytelniania

Jeśli połączenia nie dochodzą do skutku przez problemy z uwierzytelnianiem:

1. Ponownie sprawdź nazwę użytkownika i hasło trunku SIP, jeśli używasz uwierzytelniania digest
2. Sprawdź logi dostawcy trunku SIP pod kątem konkretnych komunikatów błędów uwierzytelniania
3. Sprawdź, czy niestandardowe nagłówki, jeśli są skonfigurowane, spełniają wymagania dostawcy
4. Przetestuj uproszczoną konfigurację (bez niestandardowych nagłówków), aby wykluczyć problemy z uwierzytelnianiem

#### Problemy z TLS i szyfrowaniem

Jeśli masz problemy z transportem TLS lub szyfrowaniem mediów:

1. Sprawdź, czy dostawca trunku SIP obsługuje transport TLS na porcie 5061
2. Sprawdź ważność certyfikatu, daty wygaśnięcia i łańcuchy zaufania
3. Jeśli używasz szyfrowania mediów „Required”, sprawdź, czy dostawca obsługuje szyfrowanie mediów SRTP
4. Zanim użyjesz „Required”, przetestuj szyfrowanie mediów „Allowed”, aby wykluczyć problemy z szyfrowaniem
5. Wypróbuj transport TCP, aby wykluczyć problemy specyficzne dla TLS (obsługa UDP jest eksperymentalna)
6. Skontaktuj się z dostawcą trunku SIP, aby potwierdzić obsługę TLS i SRTP

#### Problemy z niestandardowymi nagłówkami

Jeśli masz problemy z niestandardowymi nagłówkami:

1. Sprawdź dokładne nazwy i wartości nagłówków wymagane przez dostawcę
2. Sprawdź, czy wielkość liter w nazwach nagłówków ma znaczenie
3. Upewnij się, że wartości nagłówków nie zawierają znaków specjalnych wymagających escapowania
4. Najpierw przetestuj konfigurację bez niestandardowych nagłówków, a potem dodawaj je stopniowo
5. W przypadku zmiennych dynamicznych dla przychodzących niestandardowych nagłówków potwierdź, że nagłówki używają prefiksu `X-`, i sprawdź kartę **Phone Call** w historii rozmowy
6. Sprawdź dokumentację dostawcy dotyczącą obsługiwanych niestandardowych nagłówków

#### Brak dźwięku lub dźwięk tylko w jedną stronę

Jeśli połączenie zostaje nawiązane, ale nie ma dźwięku albo dźwięk działa tylko w jedną stronę:

1. Sprawdź, czy zapora zezwala na ruch UDP dla strumienia mediów RTP (zwykle porty 10000–60000)
2. Ponieważ RTP używa dynamicznych adresów IP, upewnij się, że reguły zapory nie są ograniczone do konkretnych statycznych adresów IP
3. Sprawdź problemy z translacją adresów sieciowych (NAT), które mogą blokować strumień RTP
4. Jeśli używasz szyfrowania mediów „Required”, upewnij się, że oba punkty końcowe obsługują SRTP
5. Przetestuj szyfrowanie mediów „Disabled”, aby wykluczyć problemy z dźwiękiem związane z szyfrowaniem

#### Problemy z jakością dźwięku

Jeśli jakość dźwięku jest słaba:

1. Upewnij się, że sieć ma wystarczającą przepustowość (co najmniej 100 Kbps na połączenie) oraz niskie opóźnienia i jitter dla ruchu UDP
2. Sprawdź przeciążenie sieci lub utratę pakietów, szczególnie na ścieżce UDP
3. Sprawdź, czy ustawienia kodeków są zgodne po obu stronach
4. Jeśli używasz szyfrowania mediów, upewnij się, że oba punkty końcowe sprawnie obsługują przetwarzanie SRTP
5. Przetestuj różne ustawienia szyfrowania mediów, aby wykluczyć problemy z jakością

#### Połączenie nie kończy się po wysłaniu żądania BYE (odpowiedź 481)

Odpowiedź 481 na BYE zwykle oznacza, że żądanie dotarło do serwera SIP, który nie ma stanu dialogu dla tego połączenia.
Często dzieje się tak, gdy początkowe połączenie TCP zostało już zamknięte, a BYE jest ponownie wysyłane na ogólny wspólny adres (np. `sip.rtc.elevenlabs.io`)
zamiast na konkretny identyfikator URI `Contact` zwrócony w odpowiedzi 200 OK.

1. Przy ponownym ustanawianiu połączenia TCP dla BYE zawsze kieruj żądanie na adres `Contact` z odpowiedzi INVITE, aby dotarło do tego samego serwera SIP, który obsłużył dialog.
2. Unikaj wysyłania BYE na wspólny adres `sip.rtc.elevenlabs.io`, ponieważ żądanie może trafić do innego węzła SIP, który odrzuci je odpowiedzią 481.

> **Note**
>
> Sprawdź [sekcję 8.1.1.8 RFC 3261](https://datatracker.ietf.org/doc/html/rfc3261#section-8.1.1.8), aby poznać normatywne zasady dotyczące nagłówków Contact i routingu dialogów.

## Ograniczenia i uwagi

* Obsługa wielu równoczesnych połączeń zależy od poziomu subskrypcji. Włącz [kolejkowanie połączeń](/docs/pl/eleven-agents/guides/call-queueing), aby po osiągnięciu limitu oczekujący rozmówcy byli wstrzymywani zamiast odrzucani
* Funkcje nagrywania połączeń i analityki są dostępne, ale mogą wymagać dodatkowej konfiguracji
* Możliwości wykonywania połączeń wychodzących mogą być ograniczone przez dostawcę trunku SIP
* **Obsługa TLS**: upewnij się, że dostawca trunku SIP obsługuje TLS 1.2 lub nowszy na potrzeby szyfrowanego transportu
* **Szyfrowanie mediów**: obsługa SRTP różni się zależnie od dostawcy; sprawdź zgodność przed wymuszeniem szyfrowania
* **Format audio**: Wdrożenie SIP ElevenLabs wysyła i odbiera audio przy użyciu kodeków PCMU lub PCMA (G.711, 8 kHz) albo G.722 (16 kHz). Nie zależy to od formatu audio skonfigurowanego w agencie dla bezpośrednich połączeń websocket. Twój system trunku SIP musi natywnie obsługiwać jeden z tych kodeków albo wykonywać resampling zgodnie z wymaganiami systemu

## FAQ

#### Czy mogę używać obecnych numerów telefonu z ElevenLabs?

Tak, trunking SIP pozwala połączyć obecne numery telefonu bezpośrednio z
ElevenAgents ElevenLabs bez ich przenoszenia.

#### Którzy dostawcy trunków SIP są zgodni z ElevenLabs?

ElevenLabs jest zgodne z większością standardowych dostawców trunków SIP, w tym Twilio, Vonage, Sinch,
Infobip, Telnyx, Exotel, Plivo, Bandwidth i innymi obsługującymi standardy protokołu SIP. Transport TLS
i szyfrowanie mediów SRTP są obsługiwane dla większego bezpieczeństwa.

#### Czy powinienem używać transportu TLS dla lepszego bezpieczeństwa?

Tak, transport TLS jest zdecydowanie zalecany w środowiskach produkcyjnych. Zapewnia szyfrowaną
sygnalizację SIP, co zwiększa bezpieczeństwo połączeń. W połączeniu z wymaganym szyfrowaniem mediów
zapewnia kompleksową ochronę komunikacji. Przed włączeniem TLS zawsze sprawdź, czy dostawca trunku SIP
go obsługuje.

#### Czym różnią się typy transportu?

* **TCP**: niezawodna, ale nieszyfrowana sygnalizacja - **TLS**: szyfrowana i niezawodna sygnalizacja
  (zalecana w środowisku produkcyjnym) - **UDP**: bezpołączeniowa sygnalizacja, obecnie eksperymentalna

> **Note**
>
> Transport UDP jest eksperymentalny i przeznaczony wyłącznie do testów. W środowisku produkcyjnym
> i aplikacjach wymagających wysokiego poziomu bezpieczeństwa zawsze używaj transportu TLS.

#### Do czego służą niestandardowe nagłówki?

Niestandardowe nagłówki SIP pozwalają dołączać do połączeń wychodzących informacje specyficzne dla dostawcy. Typowe
zastosowania obejmują routing połączeń, kody rozliczeniowe, identyfikację dzwoniącego oraz spełnianie konkretnych
wymagań dostawcy.

#### Ile równoczesnych połączeń jest obsługiwanych?

Liczba równoczesnych połączeń zależy od planu subskrypcji. Plany Enterprise zwykle pozwalają
na większą liczbę równoczesnych połączeń. Po osiągnięciu limitu rozmówcy przychodzący są odrzucani,
chyba że dla agenta włączono [kolejkowanie połączeń](/docs/pl/eleven-agents/guides/call-queueing). W takim
przypadku oczekują z dźwiękiem oczekiwania i są łączeni, gdy zwolni się miejsce.

#### Czy mogę warunkowo kierować połączenia do różnych agentów?

Tak, możesz użyć reguł routingu obecnego systemu PBX, aby kierować połączenia na różne numery
telefonu, z których każdy jest połączony z innym agentem ElevenLabs.

#### Czy podczas importowania numerów telefonu muszę zachować format z początkowym +?

Tak, format numeru telefonu musi być spójny między identyfikatorem URI SIP a konfiguracją importowanego
numeru telefonu. Jeśli dzwonisz na URI SIP z początkowym + (np.
`sip:+19991234567@sip.rtc.elevenlabs.io:5060`), musisz też zaimportować numer telefonu z
początkowym + (np. `+19991234567`). Podobnie, jeśli dzwonisz bez początkowego +, zaimportuj numer
bez niego. Niezgodne formaty uniemożliwią poprawny routing połączeń.

#### Czy obsługujecie wyszukiwanie rekordów SRV dla SIP?

Tak, ElevenLabs udostępnia rekordy NAPTR i SRV do wykrywania serwerów SIP zgodnego z RFC 3263.

## Kolejne kroki

* [Dokumentacja SIP: słownik terminów SIP i sieciowych](/docs/pl/eleven-agents/phone-numbers/sip-reference)
* [Dowiedz się, jak tworzyć agentów ElevenLabs](/docs/pl/eleven-agents/quickstart)