SIP: protokół otwartej komunikacji (1)
Zalety protokołu komunikacyjnego SIP dostrzegają już zarówno małe firmy, jak i wielkie przedsiębiorstwa, gdzie dotychczas silną pozycję zajmował standard H.323. W dobie dynamicznego rozwoju systemów VoIP, unified communications (UC) oraz konieczności zapewnienia kompatybilności rozwiązań wielu dostawców, uniwersalność i prostota SIP skazuje wręcz ten protokół na sukces.
SIP (Session Initiation Protocol) jest protokołem warstwy aplikacji, służącym do inicjowania, zrywania oraz zmiany sesji komunikacyjnych między terminalami (obecnie najczęściej -wykorzystywany do realizacji połączeń Voice over IP). Protokół został zaprojektowany przez Henninga Schulzrinne'a na Uniwersytecie Columbia, a jego standaryzacją zajęła się w sierpniu 1999 r. grupa MMUSIC (Multiparty Multimedia Session Control), działająca w ramach IETF. Pierwsza wersja zalecenia (o numerze 2.0) otrzymała nazwę RFC 2543. Dalsze rozszerzenia dotyczące samego protokołu zapisano w dokumencie RFC 3261, a w opracowaniu RFC3329 zawarto wytyczne odnośnie do sposobu negocjacji wyboru metod zabezpieczeń między punktami końcowymi terminali. Inżynierowie Internet Engineering Task Force wciąż rozwijają SIP, w czym chętnie pomagają wiodący dostawcy infrastruktury telekomunikacyjnej. Według prognoz ABI Research, w 2012 r. połowa klientów firm telekomunikacyjnych będzie korzystać przynajmniej z jednej usługi bazującej na protokole SIP.
Znaczenie telefonii VoIP opartej na SIP, w zastosowaniach biznesowych będzie wzrastaćCi ostatni dostrzegli zalety SIP stosunkowo niedawno, zwiększona chęć wdrażania elementów sieci opartych na tym protokole zauważalna jest dopiero od dwóch, trzech lat. Dystans operatorów i firm w podchodzeniu do SIP miał swoje podłoże w silnej pozycji, jaką wypracował sobie jego główny konkurent - standard H.323. Pierwszą wersję H.323 przyjęto w 1996 r., protokół ten jest zatem obecny w telekomunikacji od 13 lat i zyskał opinię stabilnego, dopracowanego oraz wiarygodnego sposobu nawiązywania komunikacji sieciowej. Standard H.323 ma pewne atuty (np. dobra współpraca ze starszymi wersjami urządzeń klienckich, uproszczony i bardzo dokładny billing), ale z biegiem czasu zaczęto zauważać jego wady. Obecnie rynek telekomunikacji IP (VoIP, unified communications) obfituje w rozwiązania różnych producentów (bramki, telefony, terminale), co z jednej strony zwiększa konkurencyjność i pozwala obniżać ceny, ale z drugiej wnosi problem kompatybilności (z czym bardzo dobrze radzi sobie SIP, a czego nie można powiedzieć o H.323). W dobie szukania oszczędności w każdym obszarze nie bez znaczenia pozostaje fakt, że do obsługi H.323 (konwersja z innymi standardami, implementacja w firmie) potrzebni są doświadczeni programiści (stopień skomplikowania jest dość wysoki).
. RtSP (Real-time Streaming Protocol) - do sterowania przesyłem danych multimedialnych (streaming);
. MGCP (Media Gateway Control Protocol) - do kontroli ruchu między bramami medialnymi i sieciami PSTN;
. SDP (Session Description Protocol) - do opisu parametrów sesji.
Zaletą SIP jest także współpraca z innymi protokołami IETF w celu zestawienia np. większych sesji multimedialnych czy połączeń wideokonferencyjnych.
. ACK - potwierdza odebranie odpowiedzi na żądanie INVITE;
. CANCEL - anulowanie żądania trwającego;
. BYE - zakończenie wywołania przez UAC;
. REGISTER - rejestrowanie agenta użytkownika;
. OPTIONS - odpytanie o możliwości serwera i jego funkcje.
Krótkie know-how
Komunikacja w sieci SIP może odbywać się zarówno w najprostszym układzie peer-to-peer, jak i w architekturze klient-serwer. Ta ostatnia wymaga zdefiniowania kilku pojęć, które pomogą zrozumieć, w jaki sposób nawiązywane są sesje za pomocą SIP. Po stronie użytkownika wyróżniamy: agenta SIP (User Agent Client; UAC), czyli telefon IP lub aplikację na komputerze oraz urządzenie pośredniczące, które może działać jako klient i serwer (User Agent Server; UAS). Rolą UAS jest odpowiadanie na zapytania SIP wysyłane przez UAC.
2xx - odpowiedzi pozytywne, mówiące o zaakceptowaniu żądania;
3xx - przekierowanie, realizacja wymaga dalszych działań;
4xx - odpowiedzi błędnych żądań;
5xx - błąd serwera, żądanie nie mogło zostać zrealizowane;
6xx - błąd systemowy, żądanie nie może być zrealizowane przez żaden serwer.
Sposób komunikacji SIP między klientem a serwerem wprost wynika z architektury samego protokołu i jego podobieństwa do specyfiki żądań i odpowiedzi HTTP. Adresowanie zasobów sieciowych w SIP, co należy rozumieć, jako zidentyfikowanie np. użytkownika danej usługi, grupy użytkowników, konkretnej skrzynki pocztowej (e-mail), numeru telefonu w tradycyjnej sieci PSTN lub sieci IP, realizowane jest za pomocą identyfikatora URI (Uniform Resource Indicator). SIP URI jest ciągiem znaków ułożonych analogicznie do adresu e-mail (nazwa użytkownika@nazwa hosta).
Warto w tym miejscu zaznaczyć, że używany przez protokół HTTP identyfikator URL (Uniform Resource Locator) nie jest tożsamy z URI, mimo łudząco podobnych nazw. Oba terminy są obecnie używane wymiennie, co stanowi jednak duże uproszczenie. URL określa jedynie miejsce, w którym dany zasób jest dostępny, natomiast jego rodzaj określa URI. W pewnym sensie URI jest elementem nadrzędnym wobec URL - często jest tak, że URI jest tożsame z URL, ale nie musi być to regułą.
Przykładowe zestawienie sesji przy użyciu protokołu SIPAby zainicjować połączenie, agent UAC wysyła do najbliższego serwera SIP proxy komunikat "INVITE" z adresem odbiorcy połączenia. SIP proxy przeprowadza routing komunikatów SIP (lub SIP redirect od razu informuje klienta, żeby skontaktował się bezpośrednio z innym serwerem), by ustalić adres serwera obsługującego punkt docelowy. Poszukiwania adresata mogą być przeprowadzane zarówno poprzez serwery DNS, jak i ENUM, wiążące numery telefoniczne z adresami sieciowymi. W tym czasie informacje o próbie lokalizacji punktu docelowego połączenia, SIP proxy wysyła do agenta SIP, inicjującego żądanie (odpowiedzi z zakresu 1xx, np. 180 - "ringing", czy 181 - "call is being forwarded"). Docelowy SIP proxy po otrzymaniu zgłoszenia pobiera z serwera lokalizacji (registrar) dane użytkownika, a następnie kieruje do niego żądanie zestawienia sesji. Po pomyślnej wymianie komunikatów zestawiana jest sesja RTP bezpośrednio między dzwoniącym i adresatem.
Informacje o charakterze zestawianej sesji (głos, wideo, dane) są przekazywane za pomocą wspomnianego już protokołu SDP (Session Description Protocol) oraz SAP (Session Announcement Protocol). Wiadomości SDP określają, jakie możliwości muszą mieć terminale końcowe do poprawnego zrealizowania połączenia. Za pomocą SAP można natomiast poinformować większą liczbę użytkowników o otwieranej sesji (telekonferencje, wideokonferencje, telewizja internetowa itp.).
Druga część artykułu: SIP: bezpieczeństwo (2) - tutaj.
O SIP czytaj też tu.
SIP (cz. 2): bezpieczeństwo
Komentarze (0)
- Prawo Moore’a zagrożone?
- Bezpieczeństwo WiFi - bezprzewodowe testy penetracyjne
- Wirtualizacja: obsługa SMB na czterech U
- Prawdziwe powody powstania Microsoft Open Technologies
- Open source: zmierzch ery GPL? Nie do końca...
- ROVER - prosty sposób na słabość BGP?
- Zaawansowane stacje Wi-Fi Ruckus Wireless
- Rozstanie z Javą nie będzie proste
- Google Drive uwypukla słabe strony publicznych chmur obliczeniowych
- Serwery "zombie" w centrum danych
Reklama
Huawei celuje w rynek biznesowy
Huawei nieustannie rozwija się jako dostawca infrastruktury dla branży telekomunikacyjnej. W tym roku chiński koncern zamierza umocnić swoją pozycję również na rynku rozwiązań Enterprise.
Polecane
Koniec Windows XP początkiem problemów?
Microsoft oficjalnie potwierdził, że za dwa lata definitywnie zakończy się era Windows XP - systemu operacyjnego,...
Spokój i luz administratora
Wymagania wobec pracowników działów IT rosną proporcjonalnie do stopnia rozwoju teleinformatyki. Oczekuje się, że...
