Brak rejestracji VoIP – jak zdiagnozować przyczynę?

Wireshark - pomaga w diagnozie
1.8kviews

W życiu zawodowym integrator spotyka się czasem z sytuacją, gdy coś nie działa tak, jak tego oczekuje. Zgodnie z prawem Murphy’ego zazwyczaj jest to wtedy, gdy system trzeba bardzo szybko uruchomić, a klient patrzy na ręce.

Brak rejestracji VoIP – analiza przypadku

Chciałbym opisać przykład jednego z naszych integratorów, który miał za zadanie skonfigurować PBX Server Libra z usługą Platan SIP trunk. Po rozprowadzeniu instalacji według projektu instalator rozpoczął konfigurację systemu. Praca szła dobrze do momentu, gdy dodał nową linię miejską VoIP i wpisał ustawienia konta Platan SIP trunk zgodnie z informacjami otrzymanymi od opiekuna regionu. Pozostała ostatnia czynność, tzn. sprawdzenie, czy konto jest zalogowane. Tu spotkała go przykra niespodzianka – konto nie zalogowało się do operatora. Co robić w takich przypadkach?

 

Co zrobić, gdy konto SIP się nie rejestruje?

Integrator rozpoczął weryfikację i po kolei:

  • sprawdził poprawność wprowadzonych danych konta VoIP;
  • sprawdził poprawność ustawień sieciowych otrzymanych od administratora sieci;
  • wykonał testy LAN/WAN dostępne w oprogramowaniu serwera Libra;
  • uruchomił logowanie sygnalizacji VoIP na PBX Serverze Libra.

Pierwsze trzy operacje wykazały poprawność ustawień, dopiero w sygnalizacji VoIP integrator zaobserwował, że ramki rejestracyjne są wysyłane do operatora, ale zwrotnie żadna ramka od operatora z żądaniem rejestracji albo jej odrzuceniem nie trafiała do systemu. Integrator poprosił o pomoc administratora sieci. Ten stwierdził, że sprawdził sieć, i oświadczył, że niczego nie blokuje, a transmisja powinna przebiegać poprawnie.

Integrator zwrócił się do nas z prośbą o wsparcie w dalszej diagnozie. Po otrzymaniu zdalnego dostępu dla serwisu fabrycznego sprawdziliśmy ponownie poprawność wprowadzonych ustawień. Następnie zaleciliśmy podłączenie switcha zarządzanego przy Librze oraz za NAT-em klienta, aby wykonać logi oprogramowaniem Wireshark.

Wireshark – program komputerowy, którego zadaniem jest przechwytywanie i nagrywanie danych przepływających w sieci.

 

Jak oprogramowanie Wireshark może pomóc w diagnozie?

Zastosowanie oprogramowania Wireshark pozwala na sprawdzenie transmisji pakietów w różnych miejscach sieci, np. przy urządzeniu, przed switchem, do którego jest podłączone urządzenie, lub za routerem (w sieci Internet). Dostępne narzędzia diagnostyczne w centrali oraz w telefonie VoIP badają pakiety danych, które docierają do tego urządzenia lub są z niego wysyłane. Nie dają natomiast informacji o tym, co dzieje się za kolejnymi aktywnymi lub pasywnymi urządzeniami sieciowymi.

Po stronie wewnętrznej otrzymaliśmy następujące logi w programie Wireshark:

Brak rejestracji VoIP - zrzut ekranu wykonany przy pomocy oprogramowania Wireshark. Widać, że ramki rejestracyjne są wysyłane przez serwer telekomunikacyjny do operatora VoIP.
Brak rejestracji VoIP – zrzut ekranu wykonany przy pomocy oprogramowania Wireshark. Widać, że ramki rejestracyjne są wysyłane przez serwer telekomunikacyjny do operatora VoIP.

Na logu widać tylko jednostronną komunikację z żądaniem rejestracji PBX Servera Libra, nie ma żadnych odpowiedzi.

Po stronie routera otrzymaliśmy log w postaci:

Brak rejestracji VoIP - zrzut ekranu wykonany przy pomocy oprogramowania Wireshark. Widać, że po wysyłce ramek rejestracyjnych do operatora VoIP przez serwer telekomunikacyjny przychodzi odpowiedź z żądaniem autoryzacji (401 Unauthorized).
Brak rejestracji VoIP – zrzut ekranu wykonany przy pomocy oprogramowania Wireshark. Widać, że po wysyłce ramek rejestracyjnych do operatora VoIP przez serwer telekomunikacyjny przychodzi odpowiedź z żądaniem autoryzacji (401 Unauthorized).

W tym logu widać, że:

  • rejestracja jest wysyłana,
  • otrzymujemy informację od operatora z żądaniem autoryzacji,
  • to żądanie nie dociera do serwera.

Poprosiliśmy o podłączenie niezależnego dostępu do Internetu, najlepiej na routerze z LTE, i sprawdzenie, czy centrala zarejestruje się na nim u operatora. Po takim podłączeniu konto SIP zalogowało się od razu do operatora, co ostatecznie przekonało klienta, że problem był po stronie sieci wewnętrznej. Po zamianie ustawień sieci konto SIP z PBX Servera Libra zarejestrowało się poprawnie.

 

Inne przyczyny braku rejestracji VoIP

W tym wypadku problem leżał po stronie ustawień sieciowych. Jakie mogą być inne przyczyny braku rejestracji konta SIP? Najczęściej są to po prostu błędnie wprowadzone dane do rejestracji. W większości przypadków, aby zarejestrować konto SIP, wystarczy wpisać trzy parametry:

  • adres serwera rejestracji,
  • login,
  • hasło.

Jeśli wpiszemy błędnie login lub hasło, to w statusie linii VoIP w IP PBX Serverze Proxima i PBX Serverze Libra otrzymamy informację o braku połączenia jak na zrzucie poniżej:

Status konta miejskiego VoIP z błędnie wprowadzonym loginem lub hasłem w ProximaWeb / LibraWeb.
Status konta miejskiego VoIP z błędnie wprowadzonym loginem lub hasłem w ProximaWeb / LibraWeb.

W takim przypadku w logach oprogramowania Wireshark otrzymamy informację o:

  • wysłanej rejestracji na podany adres serwera rejestracji (Request: REGISTER),
  • otrzymaniu odpowiedzi z żądaniem autoryzacji (Status: 401 Unauthorized),
  • wysłaniu ramki z autoryzacją (Request: REGISTER),
  • odpowiedź o odrzuceniu rejestracji (Status: 401 Unauthorized).
Przykładowy log w programie Wireshark, jeśli konto VoIP nie jest zarejestrowane z powodu wprowadzenia błędnego loginu lub hasła.
Przykładowy log w programie Wireshark, jeśli konto VoIP nie jest zarejestrowane z powodu wprowadzenia błędnego loginu lub hasła.

Dokładniejsze informacje dotyczące przyczyn braku rejestracji otrzymamy, jeśli skorzystamy z wbudowanego narzędzia w oprogramowaniu ProximaWEB / LibraWEB: Diagnostyka VoIP → Logowanie sygnalizacji VoIP. Po wpisaniu błędnego loginu pojawi się informacja o odrzuceniu rejestracji dla konta SIP, która będzie wyglądała następująco:

Przykład logu sygnalizacji VoIP dla konta SIP z błędnie wprowadzonym loginem. ProximaWeb / LibraWeb
Przykład logu sygnalizacji VoIP dla konta SIP z błędnie wprowadzonym loginem. ProximaWeb / LibraWeb

Gdy zostanie wpisane błędne hasło, wówczas w logach programu ProximaWeb / LibraWeb otrzymamy informację o odrzuceniu rejestracji i prośbę o sprawdzenie zgodności konfiguracji:

Przykład logu sygnalizacji VoIP dla konta SIP z błędnie wprowadzonym hasłem. ProximaWeb / LibraWeb.
Przykład logu sygnalizacji VoIP dla konta SIP z błędnie wprowadzonym hasłem. ProximaWeb / LibraWeb.

 

Sygnalizacja poprawnie zalogowanego konta VoIP

Po wprowadzeniu poprawnych danych do logowania konta SIP otrzymamy informację w statusie linii miejskiej o zarejestrowaniu konta.

Poprawnie zalogowane konto VoIP. ProximaWeb / LibraWeb
Poprawnie zalogowane konto VoIP. ProximaWeb / LibraWeb

W oprogramowaniu Wireshark log z poprawnej rejestracji konta VoIP będzie zawierał:

  • wysłanie żądania rejestracji (Request: REGISTER),
  • żądanie autoryzacji przez serwer operatora (Status: 401 Unauthorized),
  • wysłanie autoryzacji do serwera operatora (Request: REGISTER),
  • otrzymanie informacji o poprawnej autoryzacji (Status: 200 OK).
Przykładowy log w programie Wireshark, jeśli konto VoIP jest poprawnie zarejestrowane.
Przykładowy log w programie Wireshark, jeśli konto VoIP jest poprawnie zarejestrowane.

 

W razie problemów z interpretacją logów z programu Wireshark serwis fabryczny Platan służy pomocą naszym instalatorom. Wystarczy przesłać do nas logi z Wiresharka (można dołączyć również logi z serwera Proxima / Proxima plus / Libra) z podaniem daty, godziny oraz numerów biorących udział w analizowanym zdarzeniu. Pomożemy w zdiagnozowaniu nie tylko przyczyn braku rejestracji konta SIP, ale również innych problemów, z jakimi możecie się spotkać podczas korzystania z łączności VoIP.

 

Brak rejestracji VoIP – podsumowanie

Zawsze wszystko lepiej działa, jeśli jest poprawnie skonfigurowane, a najczęstszą przyczyną braku poprawnej rejestracji konta SIP są błędnie wpisane dane (login i hasło). Czasem jednak przyczyna będzie leżeć po stronie ustawień sieciowych, jak było w przypadku naszego integratora, i wtedy niezbędna  będzie ingerencja administratora odpowiedzialnego za firmową sieć LAN.

Do zbadania przyczyn braku rejestracji konta SIP można wykorzystać zarówno narzędzia diagnostyczne wbudowane w oprogramowanie serwerów Proxima i Libra, jak i zewnętrzne oprogramowanie Wireshark, które pozwoli sprawdzić transmisję danych w dowolnym miejscu sieci. Trzeba tylko nauczyć się rozpoznawać, co dane komunikaty oznaczają. Serwis fabryczny Platan wspiera w tym naszych instalatorów.

 

Pisał do Was:
Tomasz Jaroszewski

Korekta:
Joanna Lewandowska

 

PS Jeśli spodobał Ci się ten wpis, pomóż nam go upowszechnić. Udostępnij w mediach społecznościowych, wyślij znajomym. Dziękujemy!

You may also like

One Reply to “Brak rejestracji VoIP – jak zdiagnozować przyczynę?”

  1. Artykuł nie wspomina o innym problemie, jaki również może się zdarzyć i niestety przy obecnej wersji FW nie poradzimy sobie z tym w Primie.
    Wystarczy, że telefon VoIP będzie zachowywał się… całkowicie zgodnie z RFC. A zgodnie z RFC może on wysłać ramkę SIP z zupełnie dowolnego portu źródłowego UDP, jedyną prawidłową wskazówką gdzie pakiet ma trafić, jest nagłówek SIP Contact, „Częstym przypadkiem” jest, że port źródłowy to jest ten sam port co docelowy (Prima tak zachowuje się sama wysyłając komunikaty), lecz RFC tego w żaden sposób nie nakazuje czy nie zakazuje!
    Równie dobrze telefon może słać ramki SIP z wysokich portów typu 50001..50999 i co w tym momencie robi Prima? Otóż – odpowiada 401 Unauthorized na… port źródłowy pakietu UDP, czyli głupota. Telefon się burzy, wysyła ICMP Port Unreachable (zgodnie z rzeczywistością) i próbuje znów prawidłowo, zgodnie ze standardem, wynegocjować rejestrację SIP. I tak dalej, i tak dalej.
    Niestety tutaj pozostaje nam czekać na poprawkę systemu, która usuwa ten problem, a co najmniej wprowadza w ustawieniach linii wewnętrznej VoIP możliwość wyboru, czy honorować nagłówek Contact. Telefon bowiem zachowuje się tu całkowicie zgodnie z RFC.

Dodaj komentarz