Dlaczego opcja SIP ALG w routerach powoduje problemy komunikacji w SIP.

Co to jest SIP ALG?

SIP ALG oznacza Application Layer Gateway i jest powszechny we wszystkich komercyjnych routerach. Jego celem jest zapobieganie niektórym problemom powodowanym przez zapory routera poprzez sprawdzanie ruchu VoIP (pakietów) iw razie potrzeby modyfikowanie go.

Wiele routerów ma domyślnie włączoną funkcję SIP ALG.

Istnieją różne rozwiązania dla klientów SIP za NATem, niektóre z nich po stronie klienta (STUN, TURN, ICE), inne są po stronie serwera (Proxy RTP jako RtpProxy, MediaProxy).

Ogólnie mówiąc, ALG działa zazwyczaj na routerze lub bramie LAN po stronie klienta. W niektórych scenariuszach niektóre rozwiązania po stronie klienta nie są poprawne, na przykład STUN z symetrycznym routerem NAT. Jeśli serwer proxy SIP nie zapewnia rozwiązania NAT po stronie serwera, rozwiązanie ALG może mieć miejsce.

ALG rozumie protokół używany przez określone aplikacje, które obsługuje (w tym przypadku SIP), i wykonuje protokół inspekcji pakietów przez nią. Router NAT z wbudowanym SIP ALG może ponownie zapisywać informacje w komunikatach SIP (nagłówki SIP i ciało SDP), umożliwiając ruch sygnalizacji i dźwięku między klientem za NAT a punktem końcowym SIP.

Jak to może wpłynąć na VoIP?

Mimo że SIP ALG ma na celu pomóc użytkownikom posiadającym telefony na prywatnych adresach IP (klasa C 192.168.XX), w wielu przypadkach jest on źle wdrażany i faktycznie powoduje więcej problemów niż rozwiązuje. SIP ALG modyfikuje pakiety SIP w nieoczekiwany sposób, uszkadzając je i czyniąc je nieczytelnymi. Może to spowodować nieoczekiwane zachowanie, takie jak brak rejestracji telefonów i nieudane połączenia przychodzące.

Dlatego jeśli występują problemy, zalecamy sprawdzenie ustawień routera i wyłączenie SIP ALG, jeśli jest włączone.

  • Brak połączeń przychodzących: po włączeniu UA wysyła żądanie REGISTER do serwera proxy, aby można było go zlokalizować i odbierać połączenia przychodzące. Ten REGISTER jest modyfikowany przez funkcję ALG (jeśli nie, użytkownik nie byłby osiągalny przez proxy, ponieważ wskazywał prywatny adres IP w nagłówku REGISTER „Kontakt”). Typowe routery po prostu utrzymują „połączenie” UDP przez chwilę (30-60 sekund), więc po tym czasie przekierowanie portu jest zakończone i pakiety przychodzące są odrzucane przez router. Wiele serwerów proxy SIP utrzymuje utrzymanie UDP, wysyłając OPCJE lub komunikaty NOTIFY do UA, ale robią to po wykryciu UA jako NAT podczas rejestracji. Router SIP ALG przepisuje żądanie REGISTER do serwera proxy, który nie wykrywa NAT i nie wykonuje
  • Przełamywanie sygnalizacji SIP: Wiele rzeczywistych wspólnych routerów z wbudowanym SIP ALG niepoprawnie modyfikuje nagłówki SIP i ciało SDP, przerywając SIP i uniemożliwiając komunikację. Niektóre z nich zastępują całość, przeszukując prywatny adres we  wszystkich  nagłówkach i treści SIP i zastępując je publicznym mapowanym adresem routera (na przykład, zastępując adres prywatny, jeśli pojawia się w nagłówku „Call-ID”, co nie ma sensu w ogóle). Wiele routerów SIP ALG uszkadza komunikat SIP podczas zapisywania do niego (tj. Brakowało średnika „;” w parametrach nagłówka). Pisanie niepoprawnych wartości portów większych niż 65536 jest również powszechne w wielu z tych routerów.
  • Wyłącza rozwiązania po stronie serwera: Nawet jeśli nie potrzebujesz rozwiązania NAT po stronie klienta (Twoje proxy SIP zapewnia rozwiązanie NAT dla serwera), jeśli twój router ma włączoną funkcję SIP ALG, która przerywa sygnalizację SIP, spowoduje to komunikację z Twoim serwerem proxy niemożliwy.

Wyłączyłem SIP ALG, ale nadal mam problemy …

Jeśli po wyłączeniu SIP ALG nadal występują problemy, sprawdź konfigurację zapory.


Nie mogę wyłączyć SIP-ALG? Jak Circumnavigate wszystkich dostawców sieci złamało implementację SIP ALG

  • Włącz TLS w punktach końcowych SIP , VoiceHost obsługuje TLS, który maskuje sygnalizację SIP od ciekawskich funkcji ALG.
  • Włącz IPv6 na punktach końcowych SIP. W praktyce nie jest to realistyczna opcja dla użytkowników wymagających mobilności, ale w przypadku lokalizacji statycznych powoduje to usunięcie wymogu (musi być obsługiwany przez dostawcę usług internetowych). Większość dostawców Internetu nie obsługuje w pełni czystego protokołu IPv6
  • Zmień Router  Oczywiście ostatnia szansa, jeśli wszystko inne zawiedzie.

Jak wyłączyć SIP ALG?

Większość routerów domowych / mieszkaniowych ma interfejs sieciowy. Zazwyczaj jest to 192.168.1.1, ale po prostu sprawdź bramę domyślną, wpisując ipconfig w wierszu polecenia systemu Windows lub ifconfig w systemach Linux z dowolnego podłączonego urządzenia w tej samej sieci LAN.
Jeśli twój router nie ma interfejsu internetowego, najprawdopodobniej będziesz potrzebować klienta Telnet do zalogowania się.
Jeśli nie masz zainstalowanego klienta telnet, zalecamy Smartty (smartty.sysprogs.com)
Połącz się telnetem z adresem IPv4 swojej bramy i naciśnij ponownie Enter.
Asus Routery
Wyłącz opcję SIP Passthrough w obszarze Advanced Settings / WAN -> NAT Passthrough.
Jeśli twój router nie ma tej opcji, SIP ALG może zostać wyłączony przez Telnet.

nvram get nf_sip
(It should return a „1”)

nvram set nf_sip=0
nvram commit
Reboot

AVM Fritz! Box
SIP ALG nie może być wyłączony. (Zobacz powyżej, jak to obejść)
Zapory ogniowe Barracuda
Przejdź do Zapora> Reguły zapory> Niestandardowe reguły dostępu do zapory
Kliknij pole wyboru „Wyłączone” obok dowolnych reguł o nazwach LAN-2-INTERNET-SIP i INTERNET-2-LAN-SIP
To wyłącza SIP ALG.
Miliard
Przejdź do interfejsu internetowego
-> Wybierz Konfiguracja
-> Wybierz NAT
-> Wybierz ALG
-> Wyłącz SIP ALG
BT (Homehubs)
SIP ALG nie może być wyłączony w ustawieniach BT HomeHubs, ale można go wyłączyć za pomocą BT Business Hub w wersji 3 i wyższych.
D-Link
W ustawieniach „Zaawansowane” -> „Konfiguracja poziomu aplikacji (ALG)” odznacz opcję „SIP”.
DD-WRT
Brak dostępnej funkcji ALG – rozważ użycie publicznego serwera STUN
DrayTek
Urządzenia DrayTek Vigor 2760, opcję można znaleźć w zwykłym interfejsie w Sieci -> NAT -> ALG.

Jeśli twoje urządzenie nie ma interfejsu internetowego, będziesz potrzebować klienta telnet.

Zostaniesz poproszony o podanie nazwy użytkownika i / lub hasła. Są to te same dane uwierzytelniające, które są używane do uzyskania dostępu do interfejsu internetowego routera.

Następnie wpisz następujące polecenia:

sys sip_alg 0
sys commit

W Draytek Vigor2750 i Vigor2130 użyj tych poleceń zamiast:

kmodule_ctl nf_nat_sip disable
kmodule_ctl nf_conntrack_sip disable

EE
Huawei E5330

Przejdź do interfejsu internetowego
Kliknij Ustawienia.
Wprowadź wymaganą nazwę użytkownika i hasło, a następnie kliknij Zaloguj się.
Uwaga: Domyślna nazwa użytkownika i hasło to admin.
Kliknij listę rozwijaną Zabezpieczenia.
Kliknij Ustawienia SIP ALG.
Odznacz pole Włącz SIP ALG.
Kliknij Zastosuj.

Fortinet
Fortigate:

Wyłączenie SIP ALG w profilu VoIP
SIP jest domyślnie włączone w profilu VoIP. Jeśli używasz profilu VoIP dla SCCP, możesz użyć następującego polecenia, aby wyłączyć SIP w profilu VoIP.

config voip profile
edit VoIP_Pro_2
config sip
set status disable
end

Huawei
Ustawienie SIP ALG jest zwykle dostępne w menu Security.

  1. Vodafone / Huawei (HHG2500)
  2. TalkTalk / Huawei (HG633)
  3. EE / Huawei (E5330)
Juniper
Wpisz następujące polecenie w CLI
Aby sprawdzić, czy aktualnie włączone lub wyłączone jest uruchomienie, pokaż status alg bezpieczeństwa dopasuj łyk
Aby wyłączyć bieg:

configure
set security alg sip disable
commit

Linksys:
Sprawdź opcję SIP ALG na karcie Administracja w obszarze „Zaawansowane”.
Powinieneś także wyłączyć opcję SPI Firewall.
Mikrotik
Wyłącz pomocnika SIP.
Netgear
Poszukaj pola wyboru „SIP ALG” w ustawieniach „WAN”.

W obszarze „Filtrowanie NAT” usuń zaznaczenie opcji „
Skanowanie portów SIP ALG”, a ochrona DoS również powinna być wyłączona.
Wyłącz STUN w ustawieniach telefonu VoIP.

openwrt
Brak funkcji ALG – rozważ użycie publicznego serwera STUN
PfSense
https://www.voicehost.co.uk/help/pfsense-voip- konfiguracja
SonicWALL Firewall
W zakładce VoIP należy włączyć opcję „Włącz spójny NAT” i odznacz „Włącz transformacje SIP”.
Szczegółowe instrukcje można znaleźć tutaj:  https://www.voicehost.co.uk/help/sonicwall-configuration
Speedtouch
Aby wyłączyć SIP ALG, musisz telnetować się do routera Speedtouch i wpisać:

-> connection unbind application=SIP port=5060
-> saveall

Mów mów
2017/18 Zobacz Huawei (HG633)

  1. Przejdź do interfejsu internetowego
  2. Wybierz „Przekazywanie portów” z menu
  3. Usuń zaznaczenie opcji SIP-ALG z sekcji ALG na dole strony.
Technicolor / Thompson
TG588 TG589 TG582
Otwórz wiersz polecenia – „Start” → „Uruchom” → wpisz „cmd” i naciśnij „Enter”.
W wierszu polecenia wpisz „telnet 192.168.1.254” i naciśnij enter. 192.168.1.254 to domyślny adres IP routera. Jeśli używasz systemu Windows 7/8 / 8.1 / 10, może być konieczne zainstalowanie klienta telnet z „Panelu sterowania” → „Programy i funkcje” → „Włączanie i wyłączanie funkcji Windows”.
Domyślna nazwa użytkownika to „Administrator” i nie ma domyślnego hasła, pozostaw puste.
Wpisz „connection unbind application=SIP port=5060” i naciśnij „Enter”.
Wpisz „saveall” i naciśnij „Enter”.
Wpisz „exit” i naciśnij „Enter”, aby wyjść z sesji telnet.
Pomidor
W zależności od wersji Tomato, SIP ALG można znaleźć w sekcji Advanced, a następnie Conntrack / Netfilter w sekcji Tracking / NAT Helpers. Po znalezieniu sprawdzonego SIP włączono SIP ALG. Usuń zaznaczenie, aby go wyłączyć.
TP-Link
Przejdź do interfejsu sieciowego routerów.
Domyślna nazwa użytkownika to admin, a domyślne hasło to admin.
Po lewej stronie kliknij Advanced Setup, a następnie kliknij NAT, a następnie ALG.
Usuń zaznaczenie pola wyboru SIP Enabled. (Niektóre oprogramowanie sprzętowe TP pokazuje to jako transformacje SIP, co jest tym samym).
Kliknij Zapisz / Zastosuj.
Bramy UBEE
Przejdź do Zaawansowane> Opcje.
Wyłącz (odznacz) SIP.
Wyłącz (odznacz) RTSP.
Kliknij Zastosuj.
Ubiquiti
Użyj drzewa konfiguracji, jeśli jest obsługiwane: system -> conntrack -> modules -> sip -> disable

Alternatywnie możesz włączyć SSH do urządzenia i uruchomić następujące polecenia:

configure
set system conntrack modules sip disable
commit
save
exit

Virgin SuperHub
SIP ALG nie można wyłączyć w ustawieniach SuperHubów.
Zobacz nasze obejścia u góry strony.
Vodafone
2018 r. – Zobacz Huawei (HHG2500)
Vyatta / Brocade:
Wpisz następujące dane w CLI

configure
set system conntrack modules sip disable
commit
save
exit

Watchguard Firewall
Szczegółowe instrukcje można znaleźć tutaj:  https://www.voicehost.co.uk/help/watchguard-firewall-sip-configuration
ZyXEL
W obszarze Sieć lub Zaawansowane -> ALG odznacz opcje Włącz SIP ALG i Włącz transformacje SIP.
Komendy Telnet muszą być używane do wyłączania SIP ALG z niektórymi innymi routerami Zyxel.

  1. Telnet do routera.
  2. Wybierz pozycje menu 24, a następnie 8.
  3. Aby wyświetlić bieżący status SIP ALG, uruchom następujące polecenie:
  4. ip nat service sip active
  5. Aby wyłączyć SIP ALG:
  6. ip nat service sip active 0
ZyXEL (Routery ZyWALL USG)
Przejdź do Ustawienia> Konfiguracja> Sieć> ALG.
Wyłącz SIP ALG.
Włącz Włącz transformacje SIP.
Wyłącz OFF Włącz Konfiguruj limit czasu braku aktywności SIP.