SIP Session Initiation Protocol Jiří Ledvina Projektování distribuovaných systémů
Úvod
Protokol aplikační úrovně Řídicí protokol (signalizační) pro
Vytváření Modifikaci Ukončování spojení mezi dvěma účastníky
Protokol pro všechno (vize) Internet telefon Distribuce multimédií Multimediální konference RFC3261 Henning Schulzrine, Columbia University
IMS IP Multimedia Subsystem
Architektura pro přenos IP multimediálních služeb koncovým uživatelům Využití mobilních sítí (GPRS) Později podpora pro GPRS, WirelessLAN, CDMA2000, pevné linky Součástí je i SIP
Architektura IMS
Historie VoIP
1977 – první publikace o VoIP (přenos zvuku paketovými sítěmi) 1995 – první proprietární řešení na trhu, počátek standardizace SIP Konec 90. let – střet H.323 a SIP, SIP pro IMS 2001 – první SIP telefony pod $100 2002 – RFC3261, bitva SIP kontra H.323 končí, SIP router 2004 – zákaznické adaptéry – freenet, 1x1, sipphone 2005 – ústup velkých poskytovatelů (T-mobile, T-online) Nyní – vývoj, výroba, dolaďování
SIP 2007
Technologie pro telefonování Další RT aplikace
Přenos zpráv Hry
hardphone, softphone, dual phones, … Gateway Servery All-IP technologie
Přehled protokolů
SIP – použité protokoly
Komponenty SIP
SIP zařízení UA – User Agents (SIP TELEFONY) SIP Server – registrar, proxy, redirect (vše v jednom) SIP PSTN brány – napojení na telefonní sítě Aplikační servery (média servery) Komunikace klient – server port 5060
Komponenty SIP
SIP registrar
SIP proxy server
Přepíná signalizaci navazování spojení Bezestavový nebo stavový Transparentní vzhledem ke koncovým stanicím Podporuje další služby (přepínání hovorů, větvení)
SIP redirect server
Příjem požadavků na registraci od uživatelů Udržuje tabulky uživatelů na Location Server
Redirekce volání na ostatní servery Měl by být využit pro dobře škálovatelnou distribuci zatížení
Typicky realizováno v jednom serveru
SIP - příklad
SIP proxy
Základní prvek SIP sítí Svazují SIP komponenty (telefony, brány) Implementují směrování
SIP proxy - funkce
Bezpečnost
Služby
Kontrola vstupu – kdo může volat koho, záznamy volání Pomocné služby – zmeškané hovory, přesměrování, filtrování hovorů, utajení volajícího, …
Směrování
Nalezení správného příjemce pro volání Brána, voicemail, SIP-telefon, …
SIP - proxy
Syntaktická kontrola požadavku Převod na formát E.164 (pokud to jde) Vyhodnocení zvláštních služeb (112) Ověření volajícího Provedení služeb volajícího (anonym) Kontrola oprávněnosti požadavku vzhledem k právům volajícího Vyhledání příjemce Provedení služeb (forwardování, přepnutí hovoru, …) Případné forwardování do PSTN
Proxy - služba ENUM
Převod číselného kódu na IP adresu příjemce, e-mail, … Převod E.164 čísel na URI +420377632445 →
[email protected] Používá DNS 420377632445 → 5.4.4.2.3.6.7.7.3.0.2.4.e164.arpa
Proxy - služba větvení
Větvení požadavku pro více cílů
Paralelně, sériově
Proxy –služba přesměrování
Server konfigurován pro redirekci příchozích volání jinam Příklad je migrující příjemce Redirekce může být povolena případ od případu
Struktura SIP zpráv
Metody SIP (RFC3261)
INVITE – inicializace relace
SIP adresa
sip:
[email protected]
ACK – potvrzení spojení CANCEL – rušení probíhajícího INVITE BYE – ukončení relace REGISTER – spojení permanentní adresy s umístěním OPTIONS – nastavení vlastností Další, rozšiřující metody
INFO, UPDATE, NOTIFY, MESSAGE
Příklad záhlaví SIP zprávy
Proxy (záznam cesty)
Odesílatel
Kontakt
Typ zprávy
SIP – kódy odpovědi
2yz success
300 Multiple choices 301 moved permanently 302 moved temporarily
4yz Client error
400 bad request 401 Unauthorized 482 Loop Detected 486 Busy here
SIP - příklad Př. vytvoření spojení
5yz Server failure
200 OK
3yz Redirection
500 server internal error
6yz global error
600 Busy Everywhere
Navázání spojení = proxy
Navázání spojení - redirect
SIP Instant messaging
RFC3428, RFC3682 Využití mechanizmu SIP pro doručování krátkých zpráv Metoda MESSAGE – zpracování jako INVITE