Połączenia głosowe przez IP są wrażliwe przede wszystkim na jedno: opóźnienie. 200 ms zwłoki i Twoja rozmowa zamienia się w niezręczną wymianę zdań, gdzie obie strony ciągle mówią jednocześnie. Dlatego wybór odpowiedniego proxy do ruchu SIP ma większe znaczenie niż w prawie każdym innym scenariuszu użycia.
Dlaczego zwykłe proxy nie zadziała
Połączenia SIP obejmują dwa oddzielne strumienie. Sygnalizacja (zestawianie połączenia, dzwonienie, rozłączanie) przechodzi przez TCP lub UDP na porcie 5060. Właściwy głos — dźwięk, który słyszysz — jest przesyłany jako pakiety RTP po UDP na dynamicznie przypisywanych portach.
Proxy HTTP lub HTTPS obsługuje ruch webowy. Nie rozumie UDP i nie jest w stanie przekazywać pakietów głosowych. Jeśli spróbujesz skierować softphone VoIP, taki jak Zoiper czy Linphone, przez proxy HTTP, sygnalizacja może częściowo zadziałać, ale dźwięku nie będzie. Połączenie zostaje nawiązane na papierze, ale pozostaje ciche.
Do połączeń SIP potrzebujesz serwera proxy SIP obsługującego SOCKS5 z UDP relay. Ten protokół tuneluje zarówno sygnalizację, jak i strumień głosowy przez proxy, zachowując integralność całego połączenia.
Jak naprawdę działa SOCKS5 z obsługą UDP relay
Gdy Twój softphone lub centrala PBX — niezależnie czy to Asterisk, FreePBX, czy klient desktopowy taki jak Zoiper — kieruje ruch przez proxy SOCKS5 z obsługą UDP, serwer proxy obsługuje obie warstwy:
- Sygnalizacja SIP: INVITE, ACK, BYE — wszystkie komunikaty, które zestawiają i kończą połączenia
- Media RTP: właściwe pakiety audio przesyłane w obu kierunkach
Proxy rozwiązuje również problemy z NAT. SIP został zaprojektowany do bezpośredniej komunikacji peer-to-peer i osadza prywatne adresy IP w wiadomościach sygnalizacyjnych. Za NAT-em te adresy są nieosiągalne z zewnątrz. Wychodzące proxy SIP przepisuje połączenie tak, aby obie strony mogły normalnie wymieniać audio — bez serwerów STUN, bez skomplikowanych reguł firewalla.
Gdzie to ma znaczenie
Centra obsługi telefonicznej działające międzynarodowo to najczęstszy przypadek. Twoi agenci są w jednym kraju, a Twoje numery telefonów i trunki SIP w innym. Routing połączeń przez proxy w regionie danego numeru utrzymuje niskie opóźnienia i sprawia, że ruch wygląda dla dostawcy jak lokalny.
Firmy obsługujące wiele trunków SIP czasem potrzebują osobnego IP na trunk — dostawcy śledzą, które adresy IP łączą się z ich systemami, a współdzielenie jednego adresu między wieloma trunkami może wywołać alerty o oszustwach. Dedykowane proxy na każdy trunk utrzymuje porządek.
Blokady VoIP to kolejny przypadek. Niektóre sieci i kraje ograniczają lub całkowicie blokują ruch SIP. Przekierowanie przez proxy w lokalizacji bez ograniczeń pozwala to obejść — sieć widzi zwykły zaszyfrowany ruch zamiast pakietów SIP.
Na co zwrócić uwagę przy wyborze proxy do połączeń
Opóźnienie to wszystko. Przy web scrapingu 500 ms na zapytanie jest w porządku. Przy rozmowie telefonicznej wszystko powyżej 150 ms w jedną stronę staje się odczuwalne. Proxy datacenter wygrywają tutaj — znajdują się w centrach danych z bezpośrednimi trasami i minimalną liczbą przeskoków. Proxy rezydenckie lub mobilne dodają dodatkowe punkty przekazywania, które zwiększają opóźnienie.
Stabilność jest równie ważna. Proxy, które zrywa połączenie na pół sekundy podczas scrapingu, to żaden problem — skrypt ponawia próbę. W trakcie rozmowy to zerwane połączenie. Statyczne IP na niezawodnej infrastrukturze eliminują ten problem.
FineProxy oferuje pełne SOCKS5 z UDP relay — zarówno sygnalizacja, jak i głos przechodzą przez jedno połączenie. Infrastruktura datacenter oznacza niskie opóźnienia, a statyczne IP pozostaje takie samo przez cały okres wynajmu. W konfiguracjach wymagających szyfrowania na warstwie sygnalizacji nasze proxy HTTPS z indywidualnymi certyfikatami SSL na każdy IP również to zapewniają.