Hívás feldolgozás
Ahhoz, hogy valós időben kommunikálni kezdjünk több lépés szükséges, és többféle kommunikációs protokoll segít ennek megvalósításában. Elsőként többféle jelzés és hívás irányítási mód szükséges egy hívás felépítéséhez, módosításához, lebontásához. A csomagkapcsolt technikák közül mi a SIP technológiával foglalkozunk.
Miután a hívás felépült az audió és videó beviteli eszközökről mintavételezést és konvertálást kell végrehajtanunk digitális formátumra. A mintavételezett adatokat RTP protokollkeretbe csomagoljuk. Az RTP egy speciálisan csomagkapcsolt környezetre tervezett adatátviteli forma, ami gyakran UDP átviteli közegben utazik. Lehet az RTP csomagokat TCP átvitellel is szállítani, de a TCP garantált átvitele miatt a folyamat lassabb az időleges újraküldések miatt. A TCP kellő mennyiségű késleltetési időt is hozzáadhat az átvitel során, ami miatt a hang érthetetlenné válhat. Az RTP csomagok átvitele során az RTCP protokollt használjuk az átvitel minőségének megfigyelésére.
Session Initiation Protocol (SIP)
A SIP környezet két elsődleges kategóriába sorolható: SIP kiszolgálókra és SIP felhasználói ügynökökre. SIP kiszolgálóból háromféle van:
- Proxy szerver: A SIP felhasználói ügynök kliens és kiszolgáló közötti interakciókat kezeli. A kommunikáció típusától függően mindkét fajta ügynöki szerepet ellátja. A rajta áthaladó SIP kéréseket továbbítja, de képes módosítani is rajtuk továbbítás előtt.
- Registrar szerver: Fogadja a regisztráló kéréseket, ami IP címeket és SIP címeket (URL címe a felhasználói ügynöknek) is tartalmaz. Képes követni ezáltal a felhasználói ügynökök elhelyezkedését, amelyről a regisztráló kéréseken keresztül szerez tudomást.
- Redirect szerver: Segítségével felépülhet egy közvetlen kapcsolat két SIP ügynök között. A kommunikáció kezdeményezése során egyezteti a SIP címeket, és átadja az illetékeseknek, akik így el tudnak kezdeni kommunikálni.
Ez a három kiszolgáló típus külön alkalmazásokban is, de egyben is megtalálható. A Proxy és a Registrar szervereket együtt Rendezvous (találkozó) szervernek nevezzük.
Felhasználói ügynökből kétféle van: kliens és kiszolgáló. A kliens kezdeményezi a SIP kéréseket, a kiszolgáló pedig fogadja azokat.
A SIP üzenet három részből áll.
| SIP üzenetrész |
Definíció |
| Startvonal |
SIP verzió, kérés vagy válasz jelzése, metódus típusa, SIP cím, vagy általános URL-je a címzettnek. Válasz esetén státusz kód, válasz megfogalmazás. |
| Fejlécek |
Fejléc típust és hozzá tartozó változókat tartalmaz. |
| Üzenetrészek |
Az SDP protokoll által közzétett információt tartalmazza, mint pl.: a SIP közeg média kapacitásának leírása. |
Session Description Protocol (SDP)
Az SDP egy IETF standard, ami leírja a multimédia eszmecserét. A SIP üzenet tartalmazza a közeg leírását, amelyet az SDP definiál. Ez a közeg leírás három részből áll: közeg leírásból, nulla, vagy több idő leírásból és nulla, vagy több média leírásból. A közeg leírása globálisan használt attribútumokat tartalmaz, amellyel definiálni tud mindenféle eszmecserét vagy média folyamot. Az idő leírása tartalmazza a kezdési, befejezési, vagy ismétlési idő információt. A média leírás részleteket közöl a különféle médiafolyamokról.
Audió, videó digitalizálás és tömörítés
Miután a hívás felépült, a SIP segítségével, az adatoknak digitalizáltnak és tömörítettnek kell lenniük. Az analóg módon létrejött audió és videó adatok szabályszerű átviteléhez az analóg hullámalaknak digitális formát kell kapnia, hogy távoli átvitelre alkalmas legyen csomagkapcsolt hálózaton keresztül. Ha már az adat digitális kódú, akkor egy szoftver alapú codec-et (coder - decoder) használunk a tömörítésére, amely jobb hálózati kihasználtságot és hangminőséget biztosít.
Az audió hanghullámok digitalizálása számos lépésből áll. Röviden összefoglalva: elsőként mintavételezés történik, majd a kvantálás (bizonyos intervallumonként konkrét értékek meghatározása) és végül az értékek 8 biten való leírása, majd továbbítása a hálózaton.
Az audió és videó codec-ek meghatározott algoritmus szerint tömörítik a digitális adatot, mielőtt a küldő továbbítaná őket, majd a fogadó kicsomagolja, mielőtt lejátszaná azt.
A codec, a kvantálás és a tömörítési algoritmus határozza meg, hogy mekkora sávszélesség kell a hang és videó adatok átviteléhez.
RTP és RTCP
Miután az adat átvitelre optimalizált formát öntött a digitalizálás és tömörítés után, RTP protokoll szerinti keretet kap. RTP egy valós idejű átviteli protokoll, míg az RTCP, az RTP monitorozására szolgáló technológia.
Az RTP végpont – végpont közötti hálózati átvitelt nyújt a valós idejű alkalmazásoknak, mint amilyen a Windows Messenger és Phone Dialer is. Az RTP információkat tartalmaz a közegről, így az alkalmazás ki tudja küszöbölni a remegést (jitter) és a helytelen csomag sorrendet.
Az RTCP csomagok információt tartalmaznak az RTC közegek minőségéről. Mind a küldő, mind a fogadó használja az RTCP-t, hogy közreműködjön a viszony fenntartásában és a minőség ellenőrzésében. Segítségével a folyamatban lévő zavarokról és csomagveszteségről tudomást lehet szerezni.
Hangminőség garantáló technológiák
A csomagkapcsolt átvitel esetén általában nincs dedikált vonal az adatoknak, így folyamatosan változhat az átvitel minősége. A csomagok lehet, hogy külön útvonalon utaznak a feladó és a címzett között. A következő probléma kiküszöbölő módszerek léteznek:
- Jitter Control: azaz zavar kezelés. Az RTP és RTCP információt nyújt az időbélyegekről, és a közben érkező zavarokról, így az alkalmazás a zavart kompenzálni tudja. Az alkalmazás zavar puffere használja ezeket az értékeket, hogy folyamatos hangkimenetet biztosítson.
- Akusztikus visszhang eltüntetés: acoustic echo canceller (AEC)
- Quality of Service: garantált sávszélesség szolgáltatás
- Hangminőség mérése: az átlagos véleménypont (Mean Opinion Score (MOS)) skála a hangminőség mérésének eszközét nyújtja. A skála 1-től 5-ig tart, ahol az 1-es a gyenge és 5-ös a kitűnő minőségnek felel meg. Egy 16 kHz-es mintavételezésű audió codec kb. 4-es MOS értékkel jellemezhető.