Głównym warunkiem do korzystania z technologii VoIP jest stworzenie standardów, które zapewnią bezproblemową współpracę między urządzeniami poszczególnych producentów. Nad takim standardem pracuje kilka organizacji. Do najważniejszych należą: ITUT, IETF, ETSI, iNOW!, IMTC VoIP Forum oraz MIT’s Te- lephony Consortium.
Obecnie liczą się dwa standardy protokołów sygnalizacyjnych dla telefonii IP:
• H.323,
• IETF Session Initiation Protocol (SIP).
3.2.1. H.323
Protokół H.323 jest najpopularniejszym spośród standardów komunikacyjny dla VoIP. Proces standaryzacji H.323 rozpoczęto ponad 10 lat temu, pierwsza wersja została przyjęta już w 1996 roku. Protokół ten należy do serii H.32x (standardy komunikacyjne), które to opisują połączenia multimedialne dla poszczególnych typów sieci:
• H.320 – cyfrowe wąskopasmowe sieci ISDN,
• H.321 – cyfrowe szerokopasmowe sieci ISDN i ATM,
• H.322 – pakietowe sieci o gwarantowanym pasmie,
• H.323 – pakietowe sieci o niegwarantowanym pasmie,
• H.324 – analogowe sieci POTS.
Prace nad tym standardem trwały nadal i tak w styczniu 1998 roku zatwierdzona została druga wersja standardu H.323, w której oprócz ulepszeń pierwotnej wersji dodatkowo zawarty został sposób generowania połączeń multimedialnych w sieciach WAN (ang. Wide Area Network). Dzięki tym zmianom każdy użytkownik dysponuje szerszym zakresem rozwiązań poprawiających bezpieczeństwo pracy, a także wygodnie zarządzać aplikacjami, które przesyłają dane audio poprzez sieć pakietową.
Natomiast dwa lata później w lutym 2000 roku zatwierdzono kolejną już trzecią wersję H.323. Jednak wersja ta, mimo że jest uniwersalna jest również dość trudna w instalacji oraz co stanowi chyba największy problem nie jest ona kompatybilna z wcześniejszymi wersjami.
W skład protokołu H.323 wchodzi kilka standardów ITU co ilustruje Rysunek 3.7. Protokół ten definiuje:
- rodzaj systemu,
- procedury kontrolne,
- opis medium,
- sygnalizację zgłoszeń [2, 4, 25].
Rysunek 3.7. Architektura protokołu H.323
Źródło: Opracowanie własne na podstawie [25]
Protokół H.323 określa główne komponenty systemu, który przesyła w czasie rzeczywistym dane multimedialne:
terminale – są to użytkownicy, którzy to mogą inicjować oraz odbierać zgłoszenia, a także wysyłać oraz odbierać dwukierunkowy strumień danych. Typowym terminalem jest komputer PC, prócz niego terminalami mogą być specjalne, przeznaczone do tego urządzenia. Każdy terminal musi umożliwiać przesył głosu, inny format czyli obraz i dane występują opcjonalnie;
bramy – ang. gateway, umożliwia komunikowanie się z rozwiązaniami stosującymi inne protokoły (nie stosujące H.323), realizuje łączenie telefonicznej sieci IP z innymi sieciami np. ze standardową siecią telefoniczną. Dlatego też musi posiadać mechanizmy, które zapewnią konwersję wszelkich formatów i będą obsługiwały sieci oparte na wszystkich technologiach;
nadzorca – ang. gatekeeper, jest to element świadczący swe usługi użytkownikom końcowym, choć nie zawsze występujący. Jeśli jedna nadzorca występuje, to do jego zadań należą:
- translacja adresów,
- kontrola zgłoszeń i autoryzacji,
- kontrola pasma,
- administracja strefy, w której występują wszystkie urządzenia jakie zostały zarejestrowane u nadzorcy.
Oprócz wyżej wymienionych zadań opcjonalnie nadzorca może kontrolować połączenia, wymieniać sygnalizację która odnosi się do połączeń oraz poza kontrolą pasma występującą zawsze czasem nadzorca może także nim zarządzać;
jednostki MCU – składa się z 2 elementów: Multipoint Controller (MC), który odpowiedzialny jest za wymianę informacji oraz z kilku Multipoint Processors (MP), których zadaniem jest obsługa strumienia danych. Do zadań jednostki MCU należą:
- zarządzanie zasobami konferencji,
- negocjacja pomiędzy punktami końcowymi,
- oraz czasem także sterowanie strumieniem pakietów danych multimedialnych [28].
3.2.1. Protokół SIP
SIP (ang. Session Initiation Protocol) jest protokołem sygnalizacyjnym, który pracuje w warstwie aplikacji, został opracowany przez Multiparty Multimedia Session Control (MMUSIC), pracującą pod patronatem Internet Engineering Task Force (IETF). Protokół SIP został stworzony w oparciu o HTTP (ang. Hypertext Transfer Protocol – protokół sieci WWW) w celu zestawiania sesji między klientami. A dokładniej, protokół tan ustala adresy IP i numery portów, które to są używane w czasie sesji multimedialnych.
Protokół ten nie jest przeznaczony do transmisji danych, a pakiety danych są przesyłane inną drogą niż pakiety SIP. Jednak ze względu na to, że w użytkownicy bardzo często wraz z głosem chcą przesłać zdjęcia, dane czy też strony WWW. Możliwość taka została uwzględniona i dane te mogą być transportowane razem z pakietami sygnalizacyjnymi [4, 13, 25].
Podobnie jak H.323 protokół SIP także określa główne komponenty systemu, i tak występuje tu:
- terminal SIP – jest to urządzenie końcowe, które może zapoczątkować lub zakończyć sesję SIP. Urządzeniem końcowym może być zarówno telefon, komputer (PC) jak i brama, przy czym każde z tych urządzeń musi obsługiwać protokół SIP;
- server proxy SIP – jest to urządzenie „kontrolujące” rozmowy, a dokładnie dostarczające wiele usług takich jak routing wiadomości SIP pomiędzy terminalami;
- server przekierowań SIP – podobnie jak poprzedni element jest to urządzenie „kontrolujące” rozmowy, lecz jego zadaniem jest przesłanie informacji o wyborze trasy połączenia jeśli terminal takich danych zażąda. W odpowiedzi server ten wysyła dane o zamiennym URI (ang. uniform resource identifier) lub o UAS (ang. destination user-agent server);
- registrar server SIP – jest to urządzenie, które posiada informacje o logicznym położeniu terminala wewnątrz domeny lub poddomeny. Dane te są dynamicznie aktualizowane przy użyciu wiadomości „zameldowania”, która to żąda podania przez terminal aktualnego umiejscowienia;
- services location SIP – jest to dodatkowy element (funkcja), która nie jest samodzielnym urządzeniem. Może być stosowany przez server proxy, przekierowań oraz registrar w celu znalezienia identyfikatora (z unikalnym URI) i „logicznego” położenia urządzenia wewnątrz sieci;
- terminal back-to-back – urządzenie „kontrolujące” rozmowy, które zapewnia ro- uting podobny do tego dostarczanego przez server proxy, ale pozwalającej na zcentralizowaną kontrolę strumieni rozmów w sieci;
- SIP – zorientowane urządzenie sieciowe – urządzenie to posiada „wiedzę” na temat protokołu SIP oraz pozwala na efektywniejszą pracę sieci. Ten typ urządzenia może być firewall’em lub tak zwanym urządzeniem NAT (ang. Ne- twork Address Translation), które pozwala komunikatom SIP przekraczać granicę danej sieci albo zrównoważenie balansu przełączania, który pozwoli na sprawniejszą obsługę zapytań do servera SIP [23].
Architekturę protokołu SIP oprócz niego samego tworzą jeszcze dwa inne protokoły sygnalizacyjne: Session Description Protocol (SDP) i Session Announcement Protocol (SAP).
Protokół SDP stosowany jest przez SIP w celu opisu mediów wdrożonych w terminalu. Podobnie jak protokół SIP, SDP jest tworzony przez IETF a wiadomości, które są przesyłane przy jego użyciu tak samo jak SIP mają charakter tekstowy. Wiadomości te określają specyfikację zakończeń sieciowych.
Protokół SAP natomiast może zostać użyty w celu powiadomienia większej liczby terminali o tym, że otwierana jest sesja. Protokół ten zazwyczaj jest stosowany aby przesłać informacje o dużych konferencjach publicznych albo usługach rozsiew- czych do których należą telewizja internetowa czy też radio. Funkcję tą można również zaimplementować za pomocą samego protokołu SIP, który to ma opcję sygnalizacji multicast.
Dodatkowo architektura SIP zawiera protokół RTSP (ang. Realtime Streaming Protocol), który to służy do kontroli procesu inicjacji orz przesyłania strumienia multimedialnego z serwerów. Nie jest to protokół, który sam dostarcza usługi ale do tego celu stosuje RTP.