SIP

From NMS
Revision as of 10:58, 9 February 2007 by Ernekerz1 (Talk | contribs) (SIP Adresace)

Jump to: navigation, search

SIP (Session Initiation Protocol) je takzvaným signalizačním protokolem, který se používá pro navázání spojení v moderních síťových technologiích. Použití může nalézt všude, kde je potřeba v reálném čase navazovat spojení přes Internet (respektive jakoukoli síť), například video konference, hlasový přenos, přenos textových zpráv, atd. Aplikační protokoly odpovědné za tyto činnosti spolupracují s protokolem SIP, který jim poskytuje způsob vytvoření infrastruktury pro komunikaci mezi koncovými body na Internetu (tzv. User Agents).

Nejznámější aplikací protokolu SIP je IP telefonie. Obecně přenos hlasových služeb přes datovou strukturu se nazývá Void over Data (VoD), jelikož ale naprostá většina takových služeb je implementována nad protokolem IP, vžívá se celkově pro telefonii vedenou přes datovou infrastrukturu pojem Voice over IP (VoIP).

SIP je sice aplikační protokol, ale není žádným způsobem vertikálně orientován, proto musí spolupracovat s dalšími protokoly, jako například s Real-time Transport Protocol (RTP) který se používá k přenosu samotných dat v reálném čase a zajišťuje specifikovanou míru spolehlivosti (QoS - Quality of Service), nebo s Media Gateway Control Protocol (MEGACO) umožňující ovládat tzv. brány mezi datovou infrastrukturou a infrastrukturou klasických telefonních linek (Public Switched Telephone Network - PSTN).

Funkce SIP

SIP umožňuje vytvoření, modifikaci a ukončení spojení mezi různými User Agents (UA) na Internetu. Hlavní výhodou je, že tyto UA nemusí být stále na stejném místě, ale třeba být pokaždé připojeny jinde i jiným způsobem připojení a tedy i s jinou IP adresou, ale SIP tyto změny monitoruje.

Protokol podporuje 5 různých aspektů tvorby, spravování a ukončování spojení:

  • Lokace uživatele - potřeba určit konečný bod spoje (tj. kde se uživatel nachází v daném okamžiku)
  • Dostupnost uživatele - určení, zda volaná strana je dostupná, jinak také, zda je ochotna přijmout spojení
  • Podporované vlastnosti - určení, přes jaké médium se bude spojení uskutečňovat
  • Nastavení spojení - nastavení parametrů pro spojení
  • Údržba spojení - zahrnuje přesměrování či ukončení spojení, či volání služeb

Architektura SIP

Zařízení jsou v protokolu SIP rozdělena do následujících kategorií:

  • SIP User Agents (koncová zařízení uživatelů)
    • User Agent Client - zařízení, které inicializuje spojení
    • User Agent Server - zařízení, které spojení přijímá

Poznámka: Díky této architektuře je možné používat architekturu klient/server.

  • SIP network Server

Hlavní funkcí SIP serveru je překládání SIP adres a tím lokalizace uživatelů na síti. Servery mohou fungovat v tzv. stavovém a bezstavovém modu. Ve stavovém modu si server ukládá odkud přišly jednotlivé požadavky stejně tak jako kam posílá odpovědi či kam přeposílá tyto požadavky. Proto při opakovém požadavku dokáže tento požadavek vyřídit rychleji. Bezstavový server si neuchovává žádné informace a proto je pro něj každý požadavek jako nový a unikátní. Z tohoto důvodu se bezstavové servery používají spíše na páteřní síti, kdežto stavové servery se používají spíše blíže k jednotlivým uživatelům. Další funkcí SIP serverů je rozdvojování příchozího hovoru, což umožňuje volání nejen jednoho, ale více uživatelů najednou.

Navázání hovoru

SIP Adresace

Protokol SIP používá tzv. Uniform Resource Identifier (URI) pro adresaci. Prefixem pro takové URI je sip nebo sips při použití zabezpečeného spojení přes TLS. Příkladem adresovaných objektů jsou:

  • uživatel online služby
  • emailová schránka
  • brána do PSTN sítě
  • skupina v organizaci

Formát URI je specifikován v [2396]. Obecně má tuto podobu:

sip:uzivatel:heslo@host:port;uri-parametry?hlavicky

Povinné jsou ale pouze specifikace protokolu (sip) a dále uživatel a host. Význam částí uzivatel a heslo jsou zřejmé. Část host je obvykle zadána ve formátu jména domény, ke které konkrétní uživatel spadá, ale je možné použít i adresu IP verze 4 i verze 6. Port identifikuje port na který má být požadavek odeslán (obvykle pak na tomto portu běží služba obsluhující SIP requesty). URI parametry jsou zadávány pomocí "jmeno_parametru=hodnota_paramatru", v případě mnohonásobných parametrů, každá dvojice je oddělena středníkem. Hlavičky jsou řešené stejně jako paramatry, akorát jsou od parametrů odděleny otazníkem. Navíc existuje speciální hlavička body, která umožňuje definovat i tělo zprávy. Celý tento mechanismus zajišťuje snadný mechanismus posílání celých zpráv i s hlavičkami.

Příklady

sip:john@doe.com;maddr=239.255.255.1;ttl=15
sip:letec@czech.com
sips:Bob@okounel.com?subject=project%20x&priority=urgent
sip:emil:emilpass@zizkov.com;transport=tcp

Typy spojení

Příklad komunikace

SIP v. H.323

SIP a Skype ?

SIP v komerčním použití

SIP na FJFI

Užitečné odkazy

Zdroje