Protokoły sygnalizacji
w sieciach telefonii IP
SIP
Tematyka wykładu
1.
Wprowadzenie
2.
Funkcje SIP
3.
System SIP
4.
Transakcje SIP – wymiana komunikatów
5.
Podsumowanie
Wprowadzenie
Protokół SIP (ang. Session Initiation Protocol), to
protokół warstwy aplikacji, który używany jest do
ustanowienia, utrzymywania i zrywania sesji
multimedialnych. Do tego rodzaju sesji zaliczamy:
telefonię internetową,
konferencje multimedialne,
aplikacje, które wykorzystują dźwięk, obraz i
dane.
Standaryzacja SIP
Standard SIP opisano w 2002 r (proponowany standard)
RFC 3261 SIP: Session Initiation Protocol
Uaktualnienia:
RFC 3265: Session Initiation Protocol (SIP)-Specific Event Notification
RFC 3853: S/MIME Advanced Encryption Standard (AES) Requirement for the Session Initiation Protocol (SIP)
RFC 4320: Actions Addressing Identified Issues with the Session Initiation Protocol's (SIP) Non-INVITE
Transaction
RFC 4916: Connected Identity in the Session Initiation Protocol (SIP)
RFC 5393: Addressing an Amplification Vulnerability in Session Initiation Protocol (SIP) Forking Proxies
RFC 5621: Message Body Handling in the Session Initiation Protocol (SIP)
RFC 5626: Managing Client-Initiated Connections in the Session Initiation Protocol (SIP)
RFC 5630: The Use of the SIPS URI Scheme in the Session Initiation Protocol (SIP)
RFC 5922: Domain Certificates in the Session Initiation Protocol (SIP)
RFC 5954: Essential Correction for IPv6 ABNF and URI Comparison in RFC 3261
RFC 6026: Correct Transaction Handling for 2xx Responses to Session Initiation Protocol (SIP) INVITE
Requests
RFC 6141: Re-INVITE and Target-Refresh Request Handling in the Session Initiation Protocol (SIP)
Funkcje SIP
Lokalizacja użytkownika
Lokalizacja użytkownika
Dostępność użytkownika
Dostępność użytkownika
Możliwości użytkownika
Możliwości użytkownika
Konfiguracja połączenia
Konfiguracja połączenia
Obsługa połączenia
Obsługa połączenia
System SIP
Agenci
użytkowników
Agenci
użytkowników
Serwery sieciowe
Serwery sieciowe
Agenci użytkowników
User –
Agent
Client
Inicjuje żądania
SIP
Inicjuje żądania
SIP
Działa jako
dzwoniący
agent
użytkownika
Działa jako
dzwoniący
agent
użytkownika
User –
Agent
Server
Odbiera żądania
i zwraca
odpowiedzi w
imieniu
użytkownika
Odbiera żądania
i zwraca
odpowiedzi w
imieniu
użytkownika
Działa jako
agent
wydzwaniany
przez
użytkownika
Działa jako
agent
wydzwaniany
przez
użytkownika
Serwery sieciowe
Serwer
pośredniczą
cy (ang.
proxy
server)
Interpretuje
nagłówki
żądań
klientów
Interpretuje
nagłówki
żądań
klientów
Przekazuje
nagłówki
żądań do
innych
serwerów
Przekazuje
nagłówki
żądań do
innych
serwerów
Serwer
przekierow
ań (ang.
redirect
server)
Akceptuje
żądania SIP
Akceptuje
żądania SIP
Wysyła
odpowiedzi
do klienta
Wysyła
odpowiedzi
do klienta
Rejestrator
SIP (ang.
registrar)
zbiera i
archiwizuje
informacje
na temat
użytkownikó
w SIP
zbiera i
archiwizuje
informacje
na temat
użytkownikó
w SIP
Adresowanie
Adresy SIP często nazywa się również adresami
URL SIP (ang. Universal Resource Locators SIP).
Przyjmują następującą formę:
uzytkownicy@host
Część identyfikująca użytkownika może być może
być nazwą użytkownika albo numerem telefonu.
Przykłady adresów URL SIP:
sip: tomasz.palys@wat.edu.pl
sip: 226839401@196.102.1.1
Lokalizacja serwera
Bezpośred
nia
Lokalizacja
ułatwiona - znany
adres IP
Lokalizacja
ułatwiona - znany
adres IP
Pośrednia
Określenie adresu i
portu IP serwera
proxy:
• Wysłanie do serwera
DNS zapytania o adres IP
• Odczytanie IP z adresu
URL SIP
Określenie adresu i
portu IP serwera
proxy:
• Wysłanie do serwera
DNS zapytania o adres IP
• Odczytanie IP z adresu
URL SIP
W pierwszej
kolejności UDP a
później TCP
W pierwszej
kolejności UDP a
później TCP
Trapezowa architektura
SIP
Lokalizacja użytkownika
Przez serwer przekierowań – serwer przekazuje
pełną listę lokalizacji i pozwala klientowi
zlokalizować użytkownika bezpośrednio;
Przez serwer proxy SIP – może równolegle
próbować adresów, aż do pomyślnego
nawiązania połączenia.
Transakcje SIP
Wszystkie żądania i odpowiedzi związane z
pewnym działaniem nazywamy transakcją SIP.
Komunikaty SIP
SIP, to protokół tekstowy, którego składnia
komunikatu i pola są identyczne z protokołem
HTTP
(ang.
Hypertext
Transfer
Protocol).
Komunikaty SIP są wysyłane za pośrednictwem TCP
lub UDP.
Istnieją dwa rodzaje komunikatów SIP:
żądania inicjowane przez klientów,
odpowiedzi zwracane przez serwery.
Komunikaty żądań
INVITE
• Użytkownik lub usługa zapraszana jest do
uczestnictwa w sesji. Zawiera opis sesji a w
przypadku połączeń dwukierunkowych strona
dzwoniąca wskazuje typ mediów. Pozwala otworzyć
sesję konwersacji z ograniczoną liczbą
komunikatów i pełnych obiegów.
ACK
• Korespondują z żądaniem INVITE. Reprezentują one
ostateczne potwierdzenie systemu końcowego i
zamykają transakcję zainicjowaną za pomocą
INVITE. Jeśli strona dzwoniąca dołącza opis sesji, to
w sesji nie używa się żadnych dodatkowych
parametrów. Jeśli opis sesji nie jest dołączony, to
parametry INVITE są używane jako domyślne.
Komunikaty żądań
OPTIONS
• Wysyłanie dodatkowych zapytań i gromadzenie
informacji o możliwościach agentów użytkowników i
serwerów sieciowych. Żądanie to nie jest używane do
ustanawiania sesji.
BYE
• Używa się go do zamknięcia połączenia
REGISTER
• Rejestrowanie informacji związanych z lokalizacją na
serwerach SIP.
CANCEL
• Anulowanie wszystkich żądań w trakcie przetwarzania.
Komunikaty odpowiedzi
informacyjne
• 100 – próbowanie (ang. Trying)
• 180 – dzwonienie (ang. Ringing)
Komunikaty odpowiedzi
Pomyślne
• 200 – OK
Przekierowania
• 305 – użyj proxy
Błąd klienta
• 400 – błędne żądanie
Błąd serwera
• 503 – usługa niedostępna
Ogólne awarie
• 606 – brak akceptacji
Transakcja SIP
Transakcja SIP
Usługa lokalizacji
Podsumowanie
W systemie SIP mamy do czynienia z dwoma
komponentami:
agenci użytkowników,
serwery sieciowe.
Agenci użytkowników, to aplikacje systemu
końcowego klienta:
UAC (ang. User – Agent Client),
UAS (ang. User – Agent Server, UAS ).
Serwery sieciowe:
Serwer proxy,
Serwer przekierowań.
Podsumowanie
Adresy SIP często nazywa się również adresami
URL SIP.
SIP, to protokół tekstowy, komunikaty SIP są
wysyłane za pośrednictwem TCP lub UDP.
Istnieją dwa rodzaje komunikatów SIP:
żądania inicjowane przez klientów,
odpowiedzi zwracane przez serwery.