Jak sprawdzić czy mój internet wystarczy dla VOIP?

Czym właściwie jest VOIP?

VOIP – Voice Over Internet Protocol to bardzo ogólnie mówiąc technologia umożliwiająca wykonywanie połączeń głosowych (i nie tylko bo również video) poprzez protokół internetowy.

Z czego składa się system voip? Jakie potrzebujesz urządzenia? Jaką infrastrukturę?

 

System VOIP składa się przede wszystkim z centrali telefonicznej VOIP a mówiąc profesjonalnie z Soft Switcha, czyli takiego serwera, który nadzoruje komunikację głosową pomiędzy użytkownikami telefonii oraz z końcówkami, tak zwanymi endpointami, które dostarczają użytkownikowi końcowemu numer podłączony do centrali. Takie endpointy możemy mieć w dwóch postaciach – w postaci hardphonu czyli mówiąc kolokwialnie, typowego telefonu na biurku – czy to podłączonego po kablu czy po wifi, lub w postaci softphonu czyli aplikacji instalowanej na telefonie z androidem, ioSem czy na PC – nie ma znaczenia. Sposób podłączenia telefonu dla centrali nie ma znaczenia, zawsze jest to po prostu endpoint z numerem, który wcześniej skonfigurowaliśmy.

Więc sprawa prosta, albo sprzętowy telefon, na biurko („po kablu”) np. taki:

albo do ręki bezprzewodowy (po wifi)

albo w formie aplikacji (telefon, komputer, tablet – nie ma znaczenia na każdą platformę są softphony, darmowe i płatne).

Skupmy się teraz jednak bardziej na sercu systemu VOIP czyli na samej centrali telefonicznej. Możliwości realizacji takiego serwera jest kilka.

– Pierwszym i chyba najpopularniejszym jest oczywiście centrala telefoniczna sprzętowa w postaci urządzenia, które podłączamy do naszej sieci.

– Drugim rozwiązaniem, dość często wybieranym przez klientów jest centrala telefoniczna instalowana jako system operacyjny na wirtualnej maszynie w środowisku virtualizacyjnym takim jak np. Hype-V (Microsoft), wykorzystywany w większych środowiskach VMWare ( IBM ), czy RedHatowy KVM. Po instalacji centrali, mamy wirtualną maszynę (czyli taki wirtualny komputer), który świadczy usługi głosowe.

Patrząc z punktu widzenia sposobu połączenia do centrali, działa ona dokładnie tak jak sprzętowa centrala włożona do szafy – z tą różnicą, ze virtualnie

– Trzecim rozwiązaniem jest centrala telefoniczna SaaS, (Software As A Service) czyli jako usługa świadczona przez firmę hostingową, providera (czyli dostawcy usługi), jest to rozwiązanie popularnie nazywane „chmurą”, czy po prostu „centralą w chmurze”. Polega to na tym, że gdzieś na świecie znajduje się serwer (z virtualną maszyną) na której uruchomiona jest centrala telefoniczna do której mamy dostęp przez internet Publiczny.

Jakie są wady i zalety poszczególnych rozwiązań poruszę w innym artykule, będzie też film na ten temat. Natomiast dzisiaj chciałbym się skupić na samej technologii VOIP.

 

A więc mamy już telefony i softphony (czyli endpointy), mam centralę telefoniczną ( urządzenie, virtualna maszyna, usługa w chmurze ), aby jednak możliwe było w końcu wykonanie połączenia z jednego miejsca do drugiego konieczny jest ostatni element systemu VOIP, o którym niestety bardzo często się zapomina – mianowicie infrastruktura sieciowa.

No bo skoro „… Over IP” to natychmiast przychodzi nam na myśl łącze internetowe, jego szybkość, parametry? (tylko jakie?) Klienci często kontaktują się ze mną z prośbą o wsparcie w doborze rozwiązania VOIP mając wątpliwości czy „ich łącze internetowe” ma „wystarczającą prędkość” do tego aby możliwe było wykonanie połączenia głosowego na satysfakcjonującym poziomie.

Niestety wokół VOIPa narosło wiele mitów związanych z jego jakością, u wielu ludzi usługa VOIP kojarzy się z rozmowami z pogłosem jak w łodzi podwodnej, metalicznym głosem jak u robota, czy po prostu zrywaniem połączenia, trzaskami, komunikacją słyszaną tylko w jedną stronę itp. Właśnie ostatni element, czyli infrastruktura sieci ma wpływ na to jaką jakość połączenia ostatecznie osiągniemy. I faktycznie, o ile początki usługi VOIP to rok 1995 (USA) o tyle w Polsce pojawiła się kilka lat później. Czasy kiedy protokół TCP/IP dopiero raczkował, strony internetowe wyglądały tak:

W internecie przesyłaliśmy głównie tekst, łącza internetowe dostarczane przez operatorów w Polsce osiągały prędkość zawrotną maksymalnie kilku Megabitów na sekundę (przynajmniej dla przeciętnego użytkownika instytucjonalnego), podczas gdy dla jednej rozmowy VOIP zapewnić powinniśmy pasmo na poziomie około 100kbps, trudno więc było wtedy spodziewać się jakości głosu na poziomie HD. Wiele firm próbowało migrować z tradycyjnych rozwiązań PSTN czy ISDN na VOIPa i niejednokrotnie kończyło się to powrotem do klasycznej telefonii, bo klienci skarżyli się na jakość rozmów.

Tyle historii.

Dziś internet wygląda jednak inaczej. Prędkości łączy internetowych mierzymy w Gigabitach na sekundę, a więc tysiąc razy więcej, mamy dużo bardziej zaawansowane i szybciej działające mechanizmy routowania pakietów pomiędzy operatorami, czy mechanizmy zarządzania ich ruchem pod kątem nadanych przez nas priorytetów usług (QOS), MPLS, BGP. Czy to jednak rozwiązuje wszystkie problemy VOIPa? Niestety nie. Prędkość łącza internetowego to nie wszystko, nie jest to jedyny i nie najważniejszy parametr, który jest konieczny do zapewnienia aby jakość rozmowy była na wysokim poziomie. Po za tym sieć to nie tylko łącze internetowe a cała infrastruktura wraz z każdym jej elementem, od serwera na końcu świata począwszy a na telefonie na biurku kończąc i przyjmuje się (o tym należy pamiętać) że sieć działa z prędkością najsłabszego i najwolniejszego elementu jaki wchodzi w jej skład.

Co jest więc ważne aby komunikacja głosowa mogła przebiegać niezakłócona z zadowalającą jakością?

Po pierwsze trzeba sobie uświadomić, że głos (lub video) w komunikacji sieciowej to wiązka pakietów, a mówiąc ściślej – datagramów przesyłanych z pewną prędkością, każdy o odpowiedniej wielkości, niosący ze sobą porcję komunikacji, jeden po drugim z punktu A do punktu B i odwrotnie. Istotne jest więc przede wszystkim to, aby host B do którego wysyłane są datagramy, a więc np. nasz rozmówca po drugiej stronie otrzymał te datagramy:

– w takiej kolejności w jakiej je wysłaliśmy;

– w przewidywanym czasie i z odpowiednią prędkością;

– w odpowiednich odstępach czasu;

– w takiej samej ilości w jakiej zostały wysłane;

– do odpowiedniego hosta, dla którego faktycznie zostały zaadresowane.

Aby Ci to wytłumaczyć posłużę się schematem typowego rozwiązania jakie spotkać można w większości firm, w tym prawdopodobnie i w Twojej.

Najczęściej spotykany scenariusz w mniejszych firmach, lokalach usługowych czy nawet sklepach. Właściwie rozwiązanie bardzo podobne do tego jakie mamy w większości domów: czyli sieć oparta o router, najczęściej z wbudowanym accesspointem „rozsiewającym” sieć WIFI, do tego routera mamy podłączonego operatora dostarczającego internet, komputery i inne urządzenia podłączone zazwyczaj do switcha, lub bezpośrednio do routera za pomocą kabla typu „skrętka”, natomiast telefony, tablety i laptopy korzystają z WIFI.

Który z tych elementów ma więc wpływ na jakość połączenia głosowego? Odpowiedź brzmi każdy!

Od tego jaki router na styku sieci zastosowałeś, czy posiada jakiekolwiek mechanizmy bardziej zaawansowanego zarządzania ruchem, czy ma możliwość jakiejkolwiek analizy tego co dzieje się w sieci, jeśli już dzieje się coś złego, czy po prostu jest to najtańszy router z marketu?

Idąc dalej, wpływ na jakość połączenia może mieć okablowanie, to czy nie jest w zbyt małej odległości od przewodów 230V, lub innych urządzeń, które mogły by powodować indukowanie zakłóceń na przewodzie,

To w jakiej jest kondycji, często okablowanie położone na ziemi, często deptane przez pracowników, w którym pary przewodów poprzecinane trzymają się ledwo co jakiś czas powodując rozłączanie urządzeń.

Jak wyglądają moduły gniazd na zakończeniach kablowych pod biurkami itp.

To jak wygląda konfiguracja niektórych mechanizmów zarządzania ruchem sieciowym na twoim routerze jak chociażby NAT czyli mówiąc prosto mechanizm tłumaczenia adresów IP sieci lokalnej na rozpoznawalne w internecie, tak aby komunikacja wysłana z Twojego telefonu na biurku była w stanie wrócić do niego.

Jeśli chcesz korzystać z telefonów bezprzewodowych, lub softphonów na smartfonach czy tabletach to znaczenie ma również jakość sieci wifi, ustawienie kanałów (szczerze powiedziawszy bardzo rzadko konfigurując router z wifi w warunkach amatorskich ktokolwiek przywiązuje do tego uwagę), to na jakich kanałach nadają anteny sąsiadów, czy nie zakłócamy się wzajemnie, czy antena oraz cały router ułożone są w odpowiedniej płaszczyźnie przewidzianej przez producenta (często router wisi gdzieś na kablach zupełnie bezwładnie propagując sieć w powietrze albo w ziemię).

Jak widzisz o samym łączu internetowym i operatorze dostarczającym do Twojej firmy internet nawet jeszcze nie wspomniałem, a już elementów w których coś może pójść nie tak jest cała masa.

Zanim zdecydujesz się wdrożyć telefonię głosową opartą o technologię VOIP, zanim podpiszesz umowę czy zakupisz centralę jak możesz sprawdzić czy Twoja infrastruktura jest w stanie zapewnić komunikację konieczną do swobodnego rozmawiania poprzez sieć?

Za pewne pierwszą rzeczą jaką przychodzi Ci na myśl jest zmierzenie prędkości łącza np. za pomocą popularnego speedtest.pl

I słusznie, taki pomiar pokaże Ci nieprawidłowości w konfiguracji parametrów prędkości wysyłania i odbierania, ale to właściwie tyle. Pamiętaj, ze speedtest nie pokazuje prędkości komunikacji Twojego łacza z całym światem, a jedynie z punktu A – Twój komputer do punktu B – server speedtest.pl, który zwykle więksi operatorzy mają swój. Test nie jest więc miarodajny.

Co więc jeszcze możesz zrobić? Możesz wykonać pomiar programem mtr, który pokaże Ci czasy jakie pokonuje pakiet pomiędzy poszczególnymi routerami w sieci, od punktu A do punktu B.

Możesz stwierdzić, czy pakiety docierają w tej samej ilości w jakiej zostały wysłane oraz ile wynoszą opóźnienia i gdzie występują.

Możesz też użyć programu iperf, zasymulować transmisję głosową, a więc komunikację UDP z punktu A (klient) do punktu B (server) i sprawdzić czy datagramy dotarły w odpowiedniej kolejności, czy nie są pofragmentowane, jaki jest czas opóźnienia (latency) pomiędzy datagramami i jaka jest różnica pomiędzy najszybszą i najwolniejszą transmisją tzw. „jitter”

 

Przykład i interpretacja wyników komunikacji na bardzo wysokim poziomie:

Z wykonanego pomiary widać, że:

  1. Wszystkie datagramy dotarły w odpowiedniej kolejności
  2. Parametr „jitter” nie osiągnął prawie nigdy nawet pół milisekundy – wartość referencyjna to poniżej 20ms.
  3. Odsetek utraconych datagramów (czyli takich które nie dotarły w ogóle) wynosi 0,001% – wartość referencyjna to maksymalnie 0,05%

I dla porównania wynik analizy na łączu radiowym o bardzo kiepskich parametrach, z pewnością uniemożliwiających swobodną komunikację głosową:

Przedstawione powyżej wyniki pokazują straty w przesyłanych datagramach momentami w całości

( ostatnia kolumna wartość ( -nan%) to może powodować trzaski, chwilowy brak słyszalności, a w przypadku gdy nastąpi utrata większej ilości kolejnych datagramów, może wywołać tzw. „Timeout” po stronie centrali i doprowadzić do całkowitego zakończenia połączenia.

Informacja taka jak „datagrams received out-of-order” mówi nam o tym, że datagramy dotarły ale nie w takiej kolejności w jakiej zostały wysłane, efektem tego mogą być znaczne zniekształcenia głosu, wrażenie rozmowy z robotem o metalicznym głosie, o czym wspomniałem już wcześniej.

Jak i gdzie wykonać taki test?

Możesz go uruchomić samodzielnie na dowolnym komputerze w sieci ( instancja klient ) do serwera dostępnego publicznie: https://iperf.fr/iperf-servers.php

Lub zlecić pomiar i analizę wraz z opracowaniem wyniku mi.

Kliknij w produkt, ( link przenosi wprost do usługi w moim sklepie ):

 

Zaletą takiego rozwiązania jest to, ze nie musisz się przejmować interpretacją wyników, nie musisz właściwie robić nic, dostajesz gotowe, opracowane wyniki, z którymi możesz dalej pracować np. ze swoim operatorem jeśli okaże się, że problem występuje po stronie sieci WAN.

Test trwa 4 godziny. Polega na tym, że udostępniasz mi dowolny komputer w swojej sieci, uruchamiam na nim specjalny program, który nawiązuje połączenie z serwerem. Odczyty parametrów ściągam z serwera, opracowuje i odsyłam Tobie wraz z ich interpretacją, rekomendacjami co możesz poprawić, zmienić aby było lepiej. Test dla Klientów, którzy wdrożą rozwiązanie zakupione u mnie jest bezpłatny ( kwota za audyt odejmowana jest od kwoty za całe wdrożenie ). Jeśli w teście okaże się, że problem dotyczy jakości Twojego łącza internetowego w cenie usługi otrzymujesz kontakt z Twoim operatorem, zgłoszenie awarii fachową opiekę nad zgłoszeniem i dopilnowanie aby problem został rozwiązany. Finalnie wykonuję kolejny test potwierdzający że wszystko jest już OK, lub działam do skutku, aż Twój operator rozwiąże problem albo oficjalnie i pisemnie stwierdzi, że nie jest w stanie zapewnić Ci usługi na żądanym poziomie a to daje Ci prawo do rozwiązania umowy w trybie natychmiastowym co również pomagam wykonać.