Session Initiation Protocol

internetový protokol určený pro přenos signalizace v internetové telefonii

SIP (Session Initiation Protocol – česky protokol pro inicializaci relací) je internetový protokol určený pro přenos signalizace v internetové telefonii. Normálně používá UDP port 5060, ale může fungovat i nad TCP/5060.

První verzi protokolu popisoval dokument RFC 2543, současnou druhou verzi popisuje RFC 3261.

Protokol pro zajištění VoIP spojení pracuje v součinnosti s dalšími protokoly. Vlastní přenos hovoru se uskutečňuje pomocí protokolu RTP. Detaily o vlastnostech zahajovaného přenosu popisuje protokol SDP, který je přenášen v těle SIP paketů.

Starší standard pro signalizaci v internetové telefonii H.323, byl vyvinut telekomunikační organizací ITU-T a je oproti SIPu výrazně složitější. Protokol SIP proto vznikl jako reakce na tento standard, a snaží se být co nejjednodušší a založený na Internetem dobře prověřených principech. Proto vychází z osvědčeného protokolu HTTP a je mu velmi podobný. Také využívá položek podobných osvědčeným položkám SMTP protokolu pro posílání e-mailů.

Činnost protokolu

editovat

Pro vytvoření a řízení multimediální relace musí SIP zajistit následujících pět činností:

  • Lokalizace účastníka – nalezení spojení s koncovou stanicí
  • Zjištění stavu účastníka – zjištění, jestli je účastník schopen relaci navázat (může mít obsazeno, přesměrováno atd.)
  • Zjištění možností účastníka – zjištění, jaké jsou možnosti účastníka (typ kodeku, max. přenosová rychlost, audio/video atd.)
  • Vlastní navázání spojení – zde vstupuje do hry také protokol SDP, který popisuje navázané spojení a odkazuje na RTP datový tok
  • Řízení probíhajícího spojení – případné změny vlastností v průběhu relace a činnosti spojené s jejím ukončováním

Metody protokolu

editovat

SIP je textově orientovaný protokol a metody (příkazy) se v něm píší velkými písmeny (podle HTTP, ze kterého vyšel). Mezi základní metody protokolu patří:

  • REGISTER – registrace účastníka na SIP Proxy serveru
  • INVITE – zahájení komunikace o plánované nové relaci
  • ACK – potvrzení zahájení relace
  • CANCEL – přerušení zahajovaní relace ještě před jejím navázáním
  • BYE – ukončení probíhající relace
  • OPTIONS – požádá o informace o možnostech vzdálené strany, aniž by se sestavilo volání

Chybová hlášení

editovat

Chybová hlášení protokolu také vycházejí z HTTP, a proto používají „stovkové“ rozdělení chyb. Vedle číselného označení mají jednotlivé chyby také textovou verzi například 200 – OK, 100 – Trying, 180 – Ringing, 486 – Busy Here atd.

Chyby jsou rozděleny do těchto kategorií:

  • 1xx – průběh – krok probíhá bez problémů, ale ještě není ukončen
  • 2xx – úspěch – krok byl ukončen bez problémů
  • 3xx – přesměrování – krok probíhá, ale ještě se v souvislosti s ním něco očekává
  • 4xx – chyba klienta – požadavek je chybný a nemůže být serverem zpracován
  • 5xx – chyba serveru – požadavek je zřejmě v pořádku, ale chyba je na straně serveru
  • 6xx – fatální chyba – zcela fatální chyba, kterou nelze jakkoliv zpracovat

Příklad SIP komunikace při navázání relace

editovat

SIP zařízení mohou navázat relaci přímo mezi sebou, ale obvyklejší je, že k tomu použijí jeden nebo několik SIP proxy serverů. Tyto servery navíc mohou plnit (a obvykle plní) funkci tzv. SIP registrátora, na kterém se jednotliví účastníci registrují.

 

Externí odkazy

editovat