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 $ – 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 Příjem požadavků na registraci od uživatelů Udržuje tabulky uživatelů na Location Server 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 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 Kontrola vstupu – kdo může volat koho, záznamy volání Služby 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, voic , 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, , … Převod E.164 čísel na URI → Používá DNS → 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 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 200 OK 3yz Redirection 300 Multiple choices 301 moved permanently 302 moved temporarily 4yz Client error 400 bad request 401 Unauthorized 482 Loop Detected 486 Busy here 5yz Server failure 500 server internal error 6yz global error 600 Busy Everywhere
SIP - příklad Př. vytvoření spojení
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