Videokonferenční klient

Autoři

Ing. Martin Zukal, Ing. Petr Číka, Ph.D.

Stažení

Software je k dispozici na vyžádání.

Popis

Celý videokonferenční modul je rozdělen do dvou částí:

  • SIP a SDP Stack – zajišťuje komunikaci prostřednictvím protokolů SIP a SDP.
  • Media Stack – založený na WebRTC (viz dále), poskytuje funkce pro vytváření a ovládání multimediálních streamů.

Signalizace je řešena pomocí protokolů SIP a SDP. Protokol SIP slouží k navázání, modifikaci a ukončení spojení a protokol SDP se používá pro popis multimediálních dat, která jsou během relace posílána. Prohlížeč však není schopen odesílat SIP zprávy a není proto schopen navázat spojení se SIP serverem. Tento nedostatek lze odstranit s využitím protokolu WebSocket, který umožňuje obousměrnou komunikaci mezi prohlížečem a serverem a to v reálném čase. Podpora protokolu WebSocket je již implementována ve všech moderních prohlížečích. Pro přenos rámců protokolu WebSocket se využívá již existujícího HTTP spojení. Pomocí protokolu WebSocket se naváže spojení s WebSocket bránou a SIP zprávy jsou pak vkládány do WebSocket rámců, které se odesílají WebSocket bráně. Brána SIP zprávy z WebSocket rámců vyjme, předá je SIP serveru a ten je odešle již jako standardní SIP zprávy na požadovanou adresu. WebSocket brána se nachází na fyzicky stejném zařízení jako SIP server, ale je možné vytvořit i distribuovanou technologii, kde brána a SIP server běží na různých zařízeních.

WebRTC je programové rozhraní (API), které umožňuje webovým prohlížečům komunikovat v reálném čase. Typickými aplikacemi komunikujícími v reálném čase jsou audio/video hovory, sdílení souborů atd. Multimediální data jsou v případě WebRTC přenášena pomocí protokolu RTP, který je pro tyto účely běžně používán. WebRTC také podporuje nejrůznější síťové technologie (např. použití NATu – Network Address Translation) a umožňuje sestavit spojení pomocí mechanismů STUN a ICE. Co se týče podporovaných kodeků, tak WebRTC podporuje otevřené kodeky jako iSAC (pro streamované audio), iLBC (pro hlas) a video kodek VP8.

Vzhledem k tomu, že WebRTC i podpora protokolu WebSocket je přímou součástí prohlížeče, byl jako programovací jazyk pro vývoj videokonferenčního modulu zvolen jazyk JavaScript, který umožňuje přistupovat k funkcím prohlížeče. Pro tvorbu grafického uživatelského rozhraní je použito HTML5 tak, aby byla aplikace spustitelná v běžném prohlížeči bez nutnosti instalace dalších pluginů. Tím bude zajištěna i přenositelnost mezi jednotlivými platformami, neboť webový prohlížeč je dnes k dispozici na všech platformách a to včetně mobilních zařízení (s operačním systémem Apple nebo Android).

Obrázek ukazuje, že prostřednictvím SIP serveru je možné se spojit s jakýmkoli SIP klientem (běžícím na mobilním zařízení, v běžném PC nebo na notebooku). Prostřednictvím brány do klasické telefonní (PSTN) sítě je možné uskutečnit i hovor s uživateli běžných telefonních přístrojů.

Licence

Pro jednání o licenčních podmínkách tohoto softwaru je za VUT pověřen pracovník Centra pro transfer technologií VUT v Brně Ing. Jiří Kouřil, Kounicova 966/67a, Veveří, 60200, Brno, Česká republika, kouril@ro.vutbr.cz.