• Wprowadzenie do technologii VOIP
    Wprowadzenie do technologii VoIP — obraz nagłówka

Wprowadzenie do technologii VoIP

VOIP to skrót od „Voice Over IP” (głos przez IP).

Większość użytkowników zna systemy publicznej komutowanej sieci telefonicznej (PSTN), które umożliwiają kontaktowanie się z osobami z całego świata przez wybranie sekwencji cyfr. Technologia VOIP oferuje rozwiązanie alternatywne, w którym transmisja głosu przetworzonego do postaci cyfrowej odbywa się z użyciem sieci IP, takich jak firmowe sieci intranet, a czasami także publiczny Internet.
 
Na pierwszy rzut okna technologia sieci PSTN od ponad 100 lat nie uległa poważniejszym zmianom. Wprowadzono szereg modyfikacji i udoskonaleń, takich jak wybieranie tonowe czy identyfikacja dzwoniącego, ale od strony użytkownika dzwonienie nadal wymaga wybrania (ostatnio już za pomocą klawiatury) sekwencji cyfr i zaczekania na połączenie z osobą, której numer się wybrało. W ostatnich latach zaszły jednak znaczne zmiany w mechanizmach zaplecza technicznego, które sprawia, że takie połączenia są w ogóle możliwe.
 
Technologia VOIP nie jest szczególnie nowa. Część dokumentacji i patentów liczy sobie już kilkadziesiąt lat, a pierwsze programy obsługujące VOIP były dostępne już w 1991 r. Podstawy są dość proste. Można powiedzieć, że do przesyłania głosu używana jest ta sama technologia, co przy strumieniowaniu muzyki przez Internet. Głos wychwycony przez mikrofon jest zamieniany przez kartę dźwiękową na postać cyfrową. Cyfrowy dźwięk jest następnie poddawany kompresji przez kodek audio. Polega to na usunięciu niepotrzebnej części danych przy zachowaniu czytelności odtwarzanego dźwięku, tak aby objętość strumienia zmniejszyła się do rozmiarów pozwalających przesyłać go przez sieć w czasie rzeczywistym. Słowo codec (kodek) to skrót od „enCODer/DECoder” (koder/dekoder). Urządzenia nadawcy kodują dźwięk, który następnie przez sieć trafia do urządzeń odbiorcy, gdzie jest dekodowany i odtwarzany w głośnikach lub słuchawkach. 
 
 
 
Jedynym wymogiem jest, aby obydwa komputery używane do komunikacji miały zainstalowane właściwe kodeki i aby istniało między nimi odpowiednio szybkie połączenie sieciowe.
 
Nadają się do tego zwykłe komputery w standardowej konfiguracji z mikrofonem, kartą dźwiękową, słuchawkami i dostępem do łącza szerokopasmowego.
 
 
Przed nawiązaniem połączenia obie strony muszą oczywiście uzgodnić także, jaki kodek będzie używany, tak aby strumień audio poddany kompresji przez jedną stronę mógł zostać pomyślnie zdekompresowany przez drugą. Każdy posiadacz cyfrowego odtwarzacza muzycznego wie, że kodeki ulegają ciągłym zmianom — internetowe sklepy muzyczne oferują skompresowane pliki w formacie mp3, wma, ogg, mp4 i aac, które różnią się od siebie. Część odtwarzaczy pozwala słuchać ich wszystkich, część tylko niektórych, a inne potrafią odtworzyć tylko jeden typ pliku. 
 
Na szczęście w telefonii VOIP istnieje płaszczyzna porozumienia, dzięki której systemy są na ogól w stanie uzgodnić używanie takiego kodeka, który będzie zrozumiały dla obydwu stron. W systemach telefonii często używa się kodeków G.711, G.729 i G.726, choć istnieje też wiele innych, na przykład kodeki systemów zastrzeżonych. Istnieją dwie podstawowe różnice między tymi kodekami. Pierwsza z nich to różnica ilości zasobów procesora, jakiej potrzebują do przeprowadzenia kompresji i dekompresji. Zależy od tego rodzaj sprzętu, jaki musi być zainstalowany w systemie (komputerze, centrali PBX lub telefonie). Drugą jest wielkość strumienia lub pliku skompresowanego dźwięku, od której zależy, jaką przepustowość musi mieć łącze, aby dane mogły być przesyłane między stronami rozmowy. To z kolei ma wpływ na kształt infrastruktury sieciowej. 
 
Systemy VOIP nie byłyby użyteczne, gdyby nie wyposażono ich w mechanizm nawiązywania połączeń i zarządzania nimi, który na przykład potrafiłby wywołać zdalny komputer, sprawdzić, czy akceptuje on połączenie, a gdy rozmówca będzie chciał zakończyć rozmowę — zamknąć połączenie. W tym miejscu wszystko staje się bardziej skomplikowane od prostego przesyłania strumienia audio, ponieważ technologia VOIP pozwala na dwukierunkową komunikację, a nawet nawiązywanie połączeń konferencyjnych. Zarządzanie połączeniem, które obejmuje rozpoczęcie sesji, zestawienie i przerwanie połączenia, to obszar, na którym między poszczególnymi systemami VOIP występują bardzo duże różnice. Obaj uczestnicy komunikacji VOIP muszą używać takich samych lub wzajemnie zgodnych systemów.
 
Większość osób korzystających z Internetu w domu nie ma stałego adresu internetowego. To tak, jakby mieć numer telefonu, który od czasu do czasu się zmienia, dlatego co do zasady domowe systemy VOIP nie wywołują bezpośrednio drugiego komputera. Zamiast tego każdy użytkownik usługi rejestruje się na serwerze pośredniczącym, który przez cały czas trwania połączenia pamięta jego adres IP. Na komputerze każdego użytkownika może zostać zainstalowana niewielka aplikacja, która pozwala zarządzać tymi danymi na serwerze.
 
Kolejnym argumentem za korzystaniem z serwera pośredniczącego jest to, że ułatwia on działanie łączności VOIP przez zapory sieciowe. Wiele zapór blokuje wszystkie przychodzące z Internetu dane, które nie zostały przesłane w odpowiedzi na określone żądanie. Uniemożliwia to bezpośrednie wywołanie drugiego komputera. Nie żądał on żadnych danych od komputera wywołującego, więc wywołanie jest blokowane. 
 
Oprogramowanie do połączeń VOIP ustanawia połączenie z serwerem, otwierając kanał komunikacji, przez który inne komputery mogą je wywoływać. Serwer może później nadal pośredniczyć w komunikacji lub przekazać informacje, które pozwolą na ustanowienie bezpośredniego połączenia między komputerami i kontynuowanie rozmowy za pośrednictwem utworzonego w ten sposób kanału.
 
Standardy
Istnieje szereg standardów komunikacji wykorzystujących technologię. Można je podzielić na dostępne dla każdego standardy otwarte oraz systemy zastrzeżone. Do pierwszej z tych kategorii można zaliczyć standardy H.323 i SIP, podczas gdy Skype wykorzystuje własny, zastrzeżony system.
 
H.323 jest standardem telekonferencji, który został opracowany przez organizację International Telecommunications Union (ITU). Umożliwia grupom liczącym dwóch lub więcej uczestników korzystanie z całkowicie multimedialnych transmisji audio, wideo oraz danych i został zaprojektowany do działania w dużych sieciach. H.323 jest protokołem niezależnym od sieci: można z niego korzystać w sieciach używających innych protokołów niż TCP/IP. H.323 jest nadal istotnym protokołem, ale z uwagi na trudności w stosowaniu go do komunikacji przez zapory sieciowe, których zadaniem jest ochrona komputera wraz z licznymi aplikacjami, zaprzestano używania go w konsumenckich produktach VOIP. Najlepiej nadaje się on do używania w dużych organizacjach, które dysponują zasobem wiedzy pozwalającej przezwyciężyć takie problemy.
 
SIP (Session Initiation Protocol) to standardowy protokół sygnalizacyjny organizacji Internet Engineering Task Force (IETF), który jest używany do obsługi telekonferencji, w systemach telefonii, funkcjach informujących o obecności i powiadamiających o zdarzeniach, a także w komunikatorach. Oferuje mechanizmy pozwalające zestawiać połączenia i zarządzać nimi, ale nie obsługuje przesyłania danych audio ani wideo. Obecnie jest to prawdopodobnie najpopularniejszy protokół do zarządzania telefonią internetową. Podobnie jak w przypadku innych protokołów IETF opis SIP zawarty jest w szeregu dokumentów RFC (Request For Comments), głównie w dokumencie RFC 3261.
 
Rozwiązania VOIP bazujące na protokole SIP mogą przesyłać zakodowane dane dźwiękowe na wiele różnych sposobów. W większości przypadków stosuje się protokół RTP (Real-time Transport Protocol), którego opis znajduje się w dokumencie RFC 3550. Protokoły SIP i RTP najczęściej wykorzystują UDP, który jako protokół bezpołączeniowy może sprawiać problemy z określonymi rodzajami routerów i zapór. Dlatego, aby można było z nich korzystać, telefony SIP muszą wykorzystywać także protokół STUN (zdefiniowany w dokumencie RFC 3489), który pozwala klientom znajdującym się za routerem NAT na znalezienie zewnętrznego adresu IP i wykrycie typu urządzenia NAT. Dzięki protokołowi STUN umieszczenie programowego lub sprzętowego rozwiązania VOIP wykorzystującego SIP za zaporą w domu lub małej firmie powinno być proste, ale w praktyce nadal bywa kłopotliwe.