Komunikacja SIP

Sygnalizacja SIP wymieniana pomiędzy serwerem VoIP a użytkownikiem VOIP

Działanie telefonii VoIP wykorzystującej protokół SIP, jest oparte na wymianie komunikatów pomiędzy użytkownikiem a serwerem usługowym w modelu klient-serwer. Użytkownicy są określani jako agenci (UA – User Agent) zarówno po stronie urządzenia końcowego jak i po stronie serwera, ale w nomenklaturze związanej z architekturą protokołu SIP, wyróżniamy dwie role:

  • rola użytkownika końcowego, którym jest UAC (User Agent Client), czyli agent, który wysyła żądania,
  • rola użytkownika po stronie serwera, którym jest UAS (User Agent Server), czyli agent, który odpowiada na żądania.

 

Zauważyć tu należy, że każde urządzenie, a szczególnie serwer usługowy, pełni rolę zarówno UAC jaki i UAS, ponieważ w procesie realizacji żądania od użytkownika końcowego, może przekazywać dalej otrzymane żądania do innych serwerów usługowych i otrzymywać od nich odpowiedzi w celu zrealizowania żądania od danego użytkownika końcowego.

W architekturze elementów dla protokołu SIP, występują również różne rodzaje serwerów, które de facto mogą działać na jednej fizycznej maszynie, niemniej z punktu widzenia logiki, pełnią różne funkcje:

  • Registrar Server – serwer rejestracji użytkowników,
  • Location Server – przechowuje informacje pod jakim adresem IP znajdował się ostatnio użytkownik, tworzy bazę danych z której generuje odpowiedzi na pytania z Proxy Server’a i Redirect Server’a,
  • Proxy Server – odbiera i odpowiada na żądania użytkownika, logicznie jest podzielony na Outbound Proxy Server (wysyłanie żądań) i Inbound Proxy Serwer (odbieranie odpowiedzi), oprócz tego może być serwerem stanowym (Stateful Proxy Server), który pamięta ścieżkę wymiany komunikacji pomiędzy agentami oraz bezstanowym (Stateless Proxy Server), który  nie realizuje procesu zapamiętywania ścieżki wymiany komunikacyjnej,
  • Redirect Server – realizuje przekierowania użytkowników na inne serwery.

 

Ważnym elementem w całej architekturze elementów dla protokołu SIP są serwery DNS, dzięki którym możliwe jest ustalenie pod jakim adresem IP znajduje się użytkownik, do którego ma zostać wykonane połączenie telefoniczne, jeśli jest on zarejestrowany w innej domenie niż użytkownik, który zainicjował to połączenie.

 

Aby połączenie telefoniczne mogło być nawiązane, w komunikacji pomiędzy urządzeniami, wykorzystywane są wiadomości będące zapytaniami, które w nomenklaturze protokołu SIP nazywane są metodami (SIP Request) oraz komunikaty będące odpowiedziami na zapytania w postaci konkretnych kodów (SIP Response). Kody podzielone są na sześć grup oznaczających dany rodzaj zdarzenia, z których każda grupa zawiera swoją podgrupę ze szczegółowymi kodami oznaczającymi konkretną odpowiedź na przesłane uprzednio zapytanie. Listę metod i grupy kodów dla odpowiedzi przedstawiono poniżej.

 

SIP Request – żądania wysyłane w komunikacji sygnalizacyjnej pomiędzy urządzeniami VoIP, służące do inicjowania konkretnego działania przez drugą stronę połączenia:

  • INVITE: zaproszenie do nawiązania połączenia (sesji),
  • ACK: potwierdzenie przyjęcia zaproszenia do nawiązania połączenia, na podstawie uprzednio wysłanego żądania INVITE,
  • BYE: zakończenie rozmowy (sesji),
  • CANCEL: anulowanie bieżącego żądania,
  • OPTIONS: sprawdzenie możliwości realizacji danego żądania po stronie serwera lub UA odbierającego to żądanie, ale bez realizacji tego żądania,
  • REGISTER: żądanie rejestracji użytkownika w serwerze usług VoIP (Registrar Server) z jednoczesnym wskazaniem lokalizacji użytkownika w Sieci,

 

Lista dodatkowych żądań, które rozszerzają możliwości komunikacji SIP:

  • PRACK: tymczasowe potwierdzenie zanim nastąpi ostateczne potwierdzenie ACK,
  • SUBSCRIBE: żądanie informacji o stanie sesji oraz o statusie użytkowników, działa w połączeniu z NOTIFY,
  • NOTIFY: informacja o zdarzeniu, na przykład o nowym, nadchodzącym połączeniu, jeśli użytkownik może przyjmować połączenia oczekujące lub informacja o stanie danego użytkownika typu: dostępny, zajęty, zaraz wracam,
  • PUBLISH: przekazanie informacji do serwera o nowym zdarzeniu lub zmianie statusu,
  • INFO: przesłanie informacji dodatkowej, na przykład wysłanie informacji w czasie trwania sesji o braku zmiany modyfikacji przebiegu tej sesji (połączenia) lub przeniesienie dodatkowych cyfr (wybranie numeru wewnętrznego) w kodzie DTMF,
  • REFER: zainicjowanie wykonania transferu połączenia do trzeciej strony,
  • MESSAGE: wysłanie wiadomości tekstowej z wykorzystaniem sygnalizacji SIP,
  • UPDATE: modyfikacja parametrów sesji (połączenia) w czasie jej nawiązywania lub podczas jej trwania, bez jej przerwania.

 

SIP Response – odpowiedzi wysyłane w wymianie sygnalizacyjnej pomiędzy urządzeniami VoIP w postaci trzycyfrowych komunikatów do których przypisane są konkretne znaczenia.

 

Podstawowe grupy komunikatów obejmują:

  • komunikaty 1xx – komunikaty informacyjne,
  • komunikaty 2xx – komunikaty pozytywnych odpowiedzi,
  • komunikaty 3xx – komunikaty o przekierowaniach odpowiedzi,
  • komunikaty 4xx – komunikaty o błędach odpowiedzi od strony użytkownika,
  • komunikaty 5xx – komunikaty o błędach odpowiedzi od strony serwera,
  • komunikaty 6xx – komunikaty o błędach globalnych.

Zobacz również:


Dodatkowe informacje dotyczące prezentowanego tekstu i grafik: Ten teks i grafiki są autorskimi tekstami i grafikami redakcji Operatorzy.pl. Jeśli chcesz wykorzystać ten tekst lub grafikę w swoich materiałach, podaj źródło i link do strony źródłowej serwisu Operatorzy.pl.