Technická univerzita v Košiciach

Fakulta elektrotechniky a informatiky

Katedra elektroniky a multimediálnych telekomunikácií

Multimediálna elektronická učebnica v programe Toolbook - Prenos hlasu v IP sieťach

 

Diplomová práca

Pavol Sakáč

Vedúci diplomovej práce:

prof. Ing. Stanislav Marchevský, Csc.

Konzultant diplomovej práce:

prof. Ing. Stanislav Marchevský, Csc.

Košice 2009


 

Abstrakt

Cieľom tejto diplomovej práce je opísať spôsob prenášania hlasu prostredníctvom IP sietí, tzv. VoIP a vytvoriť k tejto téme multimediálnu učebnicu v prostredí Toolbook. Popisujú sa v nej všetky technológie potrebné na zabezpečenie prenosu hlasu, ako prevod hlasu do digitálnej formy, TCP/IP model a jeho štruktúra, hlasové kodeky, prenosové protokoly UDP (User Datagram Protocol) a RTP (Real-time Transport Protocol), šírka pásma potrebná na uskutočnenie hovorov, signalizačné protokoly SIP (Session Initiation Protocol) a H.323 a ich detailný popis činnosti a koexistencia VoIP s klasickými telefónnymi sieťami (PSTN). Tiež sa popisujú problémy pri prenášaní hlasu prostredníctvom IP sietí, hlavne oneskorenie, strata paketov, jitter, a určité riešenia v podobe QoS (Quality of Service). Spomenuté sú tiež niektoré populárne VoIP siete ako Skype a sú načrtnuté trendy budúceho vývoja VoIP.

 

Abstract

The purpose of this work is to describe the process of transferring voice over IP networks (VoIP) and also create a multimedia book about this subject in the Toolbook program. It discusses all necessary technologies for this purpose – voice digitizing, TCP/IP model and its structure, voice codecs, transfer protocols UPD (User Datagram Protocol) and RTP (Real-time Transport Protocol), bandwidth needed for transferring calls, signaling protocols SIP (Session Initiation Protocol) and H.323 along with their detailed functions and VoIP interoperability with public switched telephone network. Then it discusses problems affiliated with transferring voice over IP networks, especially the delay in transfer, packet loss, jitter and certain solutions in form of QoS (Quality of Service). It also mentions popular VoIP networks like Skype and it also discusses future trends in VoIP development.


Obsah

Zoznam obrázkov. 10

Zoznam tabuliek. 11

Zoznam symbolov a skratiek. 12

Úvod. 14

1... Základné informácie o VoIP.. 15

1.1    Výhody VoIP. 15

1.2    Nevýhody VoIP. 15

2... Princípy VoIP.. 16

2.1    Digitalizácia a kódovanie hlasu. 16

2.1.1     Hlasové kodeky a ich kvalita. 17

2.2    Prenos po IP sieti 19

2.2.1     TCP/IP model (TCP a UDP) 20

2.2.2     Prenos dát 22

2.2.3     Protokoly RTP, RTCP, SRTP a SRTCP. 23

2.2.4     Šírka pásma hovoru. 24

2.3    Možné scenáre spojenia. 24

2.3.1     Firemné prostredie. 25

2.3.2     Domáci užívateľ. 25

2.3.3     Koexistencia s PSTN.. 26

2.3.3.1     Brány. 26

2.3.3.2     ENUM... 27

2.3.3.3     Princíp ušetrenia nákladov s VoIP. 28

2.3.3.4     Problém tiesňových čísel 29

2.4    Koncové zariadenia. 29

2.4.1     Hardwarové VoIP telefóny. 29

2.4.1.1     Zapojenie do IP siete. 30

2.4.1.2     Napájanie. 31

2.4.1.3     Funkcie. 31

2.4.2     Softwarové telefóny. 32

2.4.3     Analógové telefóny. 32

2.4.4     VoIP servery a brány. 32

3... Signalizačné protokoly. 34

3.1    H.323. 34

3.1.1     Sieťové komponenty. 34

3.1.1.1     Terminály. 35

3.1.1.2     Brány (gateways) 35

3.1.1.3     Gatekeeper 35

3.1.1.4     MCU.. 35

3.1.1.5     Zóny. 36

3.1.2     Protokoly a štandardy H.323. 36

3.1.2.1     H.225.0 – Signalizácia hovorov, RAS. 36

3.1.2.2     H.245 – Signalizácia pre média. 36

3.1.3     Charakteristiky a požiadavky na komponenty H.323. 37

3.1.3.1     Terminály. 37

3.1.3.2     Brány. 37

3.1.3.3     Gatekeeper 38

3.1.4     Príklad priebehu spojenia (Call flow) 39

3.2    SIP. 42

3.2.1     Sieťové komponenty. 42

3.2.1.1     User agent - UA.. 42

3.2.1.2     Proxy server 42

3.2.1.3     Registrar server 43

3.2.1.4     Location service (lokalizačná služba) 43

3.2.1.5     Redirect server 43

3.2.2     Popis prokolu. 43

3.2.2.1     SIP adresa. 43

3.2.2.2     Správy v SIP (požiadavky a odpovede) 44

3.2.2.3     SDP protokol 46

3.2.2.4     Príklad priebehu spojenia. 48

3.3    Problém prechodu cez NAT. 49

3.4    SIP verzus H.323. 50

4... Vplyvy na kvalitu hovoru. 51

4.1    Oneskorenie. 51

4.2    Jitter 51

4.3    Strata paketov. 52

4.4    Echo. 52

4.5    QoS. 52

5... Populárne VoIP riešenia. 55

5.1    Skype. 55

5.1.1     Princíp fungovania. 55

5.1.2     Podpora OS a hardwaru. 55

5.1.3     Výhody. 55

5.1.4     Nevýhody. 55

5.2    Ostatné implementácie. 55

6... Stav VoIP a budúci vývoj 56

6.1    VoIP na Slovensku. 56

6.2    Trendy VoIP. 56

7... Multimediálna učebnica v prostredí Toolbooku. 57

8... Záver. 58

Zoznam použitej literatúry. 59

Prílohy. 60

. 52

 

Zoznam symbolov a skratiek

A/D              Analog/Digital – prevod analógového signálu na digitálny

ASCII          American Standard Code for Information Interchange – štandard kódovania znakov

ATA            Analogue Telephone Adapter – adaptér pre pripojenie analógových telefónov do VoIP siete

b                   bit, jednotka informácie v digitálnych systémoch s hodnotou 0 alebo 1

B                  byte, často používaná počítačová jednotka kapacity, ktorá obsahuje 8 bitov

CRLF          Carriage Return, Line Feed – dvojznakový spôsob označenia konca riadku v počítačových systémoch

D/A              Digital/Analog – prevod digitálneho signálu na analógový

DNS             Domain Name System – hierarchický systém pomenovania klientov v Internete

DSCP          Differentiated Services Code Point – označenie dôležitosti paketov v IP sieti

DSL             Digital Subscriber Line – technológia prenosu digitálnych dát po telefónnej sieti

DSP             Digital Signal Processor – procesor na spracovanie digitálnych signálov

E.164           Odporúčanie číslovania telefónnych zariadení (formát telefónnych čísel)

ENUM         E.164 NUmber Mapping – spôsob mapovania telefónnych čísel na Internete

FIFO            First In, First Out – spôsob radenia paketov v IP sieti

FXO             Foreign eXchange Office - telefónne rozhranie

FXS             Foreign eXchange Station – telefónne rozhranie

GK               GateKeeper – logický komponent H.323 štandardu

GW              GateWay – brána, logický komponent H.323 štandardu

H.225.0        Protokol na signalizáciu hovorov a RAS signalizáciu v H.323

H.245           Protokol určený na signalizáciu pre média v H.323

H.323           VoIP signalizačný protokol

HTTP          Hypertext Transfer Protocol – aplikačný protokol používaný na prenos stránok a súborov na Internete

IETF            Internet Engineering Task Force – organizácia vyvíjajúca Internetové štandardy

IP                 Internet Protocol – protokol používaný na prenos dát na Internete

ISDN           Integrated Services Digital Network – systém na prenos dát po telefónnej sieti

ITU              International Telecommunication Union – organizácia vyvíjajúca telefónne štandardy

LAN            Local Area Network – sieť pokrývajúca malú oblasť

MCU           Multipoint Control Unit – logický komponent H.323 poskytujúci konferenčné hovory

MOS            Mean Opinion Score – číslo udávajúce subjektívnu kvalitu hovoru

NAPTR       Name Authority PoinTer – typ DNS záznamu

NAT            Network Address Translation – systém prekladania IP adries

OSI              Open Systems Interconnection reference model – systém komunikácie na princípe vrstiev

PBX             Private Branch Exchange – pobočková ústredňa

PCM            Pulse-Code Modulation – spôsob digitálnej reprezentácie analógového signálu

POE             Power Over Ethernet – spôsob napájania sieťových prvkov po sieťových kábloch

PSTN           Public Switched Telephone Network – verejná telefónna sieť

PTR             PoinTer Record – typ DNS záznamu

Q.931           Spojový protokol ISDN

QoS              Quality of Service – systém poskytovania istej garancie kvality pri prenose po IP sieti

RAS             Registration, Admission, Status – protokol H.323  

RFC             Request For Comments – publikovanie vlastných štandardov na Internete

RTCP          RTP Control Protocol – protokol doplňujúci RTP

RTP             Real-time Transport Protocol – protokol na prenos časovo kritických dát po Internete

SDP             Session Description Protocol – protokol na výmenu mediálnych schopností zariadení

SIP               Session Initiation Protocol - signalizačný protokol na vytváranie a kontrolu relácií

SMTP          Simple Mail Transfer Protocol – protokol na prenos emailových správ

TCP             Transmission Control Protocol – protokol na vytváranie spoľahlivých spojení po IP sieťach

UA               User Agent – logický komponent SIP protokolu

UAC            User Agent Client – časť UA SIP protokolu

UAS             User Agent Server – časť UA SIP protokolu

UDP             User Datagram Protocol – bezspojový protokol na prenos dát po IP sieťach

URI              Uniform Resource Identifier – spôsob označovania zdrojov na Internete

UTF-8          Unicode Transformation Format – spôsob kódovania znakov na počítačoch

VoIP            Voice over Internet Protocol – prenos hlasu po IP sieťach

WAN           Wide Area Network – sieť pokrývajúca veľkú oblasť, napr. Internet


Úvod

Telefónna sieť dokázala v 20. storočí pokryť takmer celý svet. Vybudovali sa jednoúčelové prenosové sústavy, ktoré prenášali hovory buď v analógovej forme, alebo neskôr v digitálnej. Umožnila jednoduchú komunikáciu medzi ľuďmi pomocou telefónnych čísel. To prispelo k rýchlemu rozvoju modernej spoločnosti a tiež aj začiatku globalizácie. Súčasne s vývojom telefónie sa však vyvíjali aj počítače. Najprv to boli veľké sálové počítače, ktoré neboli veľmi početné. Až s nástupom tranzistorov a integrovaných obvodov v 60. rokoch sa začali miniaturizovať a zvyšovať ich počet. V 80. rokoch, kedy boli uvedené prvé osobné počítače, sa začali vo veľkom rozširovať do všetkých možných miest. Súčasne vznikala aj potreba tieto počítače prepojiť do siete. Vznikali prvé protokoly a štandardy, ako TCP/IP model, ktoré to umožňovali a vznikla aj celosvetová IP sieť Internet. V 90. rokoch bol založený World Wide Web, ktorý umožnil poskytovanie web stránok, obrázkov a pod. tak, ako ho poznáme dnes. Odvtedy nastal exponenciálny rast používateľov pripojených na Internet a zároveň ešte rýchlejšie rástla aj jeho kapacita. Koncom 90. rokov, keď  to už začala prenosová kapacita Internetu umožňovať, vznikli prvé štandardy, ako napr. SIP a H.323, ktoré umožňovali a stále umožňujú prenos hlasu po Internete. To bol zlomový bod v oblasti prenosu hlasu. Dodnes sa zvyšuje počet prenesených minút, ktoré prúdia po Internete.

Prenos hlasu po IP sieti však má aj svoje problémy, ktoré vyplývajú z povahy IP siete, ktorá bežne negarantuje žiadne kvalitatívne parametre, ktoré boli garantované v PSTN, kde každý hovor mal pevne vyhradené pásmo. IP siete sú skôr prenosové médium na všetky možné druhy dát a teda hlasové dáta musia s ostatnými typmi dát súťažiť.

Cieľom práce je opísať v dostatočnej miere na pochopenie proces prenosu hlasu po sieťach IP - vysvetliť základy IP siete, spôsob digitalizácie hlasu a kódovanie hlasovými kodekmi, ako je možné VoIP prepojiť s PSTN, opísať najpoužívanejšie protokoly H.323 a SIP, spomenúť tiež problémy pri prenose hlasu po IP sieti, opísať spôsob istej garancie kvality hovoru v IP sieti (QoS) a na záver povedať niečo o populárnych VoIP implementáciách a načrtnúť budúci vývoj VoIP. Po uskutočnení týchto cieľov zároveň ich spracovať v menšom rozsahu do formy multimediálnej učebnice v prostredí Toolbook.

 

1         Základné informácie o VoIP

Voice over IP (doslovný preklad - hlas po IP) – VoIP – je spôsob prenosu hlasu po IP sieťach. Pre obyčajného volajúceho však spôsob prenosu nie je dôležitý. Pre neho je väčšinou dôležitá cena hovoru a pri profesionálnom použití aj spoľahlivosť. Cena pri použití VoIP väčšinou aj je nižšia, ako u klasických operátorov, aj keď aj klasický operátori sa začínajú prispôsobovať. Cena môže byť niekedy aj nulová. Je to väčšinou v prípade, že volá v rámci jedného VoIP poskytovateľa. Ostatné hovory do klasickej siete PSTN a do sietí iných VoIP operátorov zvyknú byť nízke, do celého sveta niekedy za rovnakú cenu.

Pre profesionálne použitie je tiež VoIP veľmi vhodné za predpokladu, že poskytuje porovnateľnú spoľahlivosť. Firmám pri potrebe hlasovo prepojiť svoje pobočky netreba prenajímať drahé okruhy od klasických poskytovateľov telefónnych služieb, ale stačí zaplatiť za prístup do siete Internet, po ktorom je možno posielať VoIP dáta.

1.1      Výhody VoIP

Ako bolo skôr písané, hlavnou výhodou je cena. Tá je porovnateľne nižšia, ako u klasických operátorov, prípadne nulová za určitých podmienok. Ďalej je to možnosť využitia služieb na rôznych fyzických miestach, kde je pripojenie na Internet, pri zachovaní toho istého čísla. To zase ponúkajú aj mobilní operátori, avšak za vyššie ceny. Z PSTN siete je možno si vybrať pred volaním operátora chceme použiť na zostavenie hovoru, a to predvoľbou pred číslom.

Pre VoIP existujú tiež rôzne nadštandardné služby, ktoré sú niekedy aj bezplatné, napr. možnosť použitia viacerých čísel, video hovory, hlasové schránky, zobrazenie volajúceho čísla, a pod.

1.2      Nevýhody VoIP

Asi hlavnou nevýhodou je závislosť na kvalite Internetového pripojenia. To môže výrazne ovplyvniť kvalitu hovoru. Oneskorenie, šírka pásma a premenlivosť oneskorenia sú hlavné parametre, ktoré môžu ovplyvniť kvalitu hovoru. Spoľahlivosť je tiež menšia, ako u PSTN, ktorá má veľmi dobrú históriu v tejto oblasti. Požadujeme predsa službu (VoIP), ktorá beží na ďalšej službe (Internet) a teda pravdepodobnosť nefunkčnosti sa zvyšuje, keďže zlyhať môže aj Internet, aj VoIP poskytovateľ, nezávisle na sebe. Niektorí poskytovatelia VoIP tiež nepodporujú volanie na tiesňové linky, popr. majú isté obmedzenia.

2         Princípy VoIP

VoIP vo všeobecnosti pracuje na princípe „múdrych“ koncových zariadení (angl. smart devices), napr. fyzický VoIP telefón, a „hlúpej“ siete (angl. dumb network), t.j. koncové zariadenia si samostatne vyjednávajú podmienky vytvorenia spojenia a jeho riadenia a obsahujú väčšinu alebo všetku logiku potrebnú k uskutočneniu hovoru, pričom úlohou siete je väčšinou len transport dát (v prípade VoIP - hlasových dát), pomoc pri nájdení volaného koncového  zariadenia, prípadne poskytovaním prepájania s inými hlasovými sieťami (napr. PSTN).

Koncové zariadenie má v sebe všetky potrebné prvky na to, aby mohlo komunikovať po sieti s iným koncovým zariadením aj úplne samostatne, bez iných aktívnych VoIP serverov. V tom sa líši od PSTN, kde koncové zariadenia sú prakticky len analógové prístroje („hlúpe“), ktoré len posielajú analógové hlasové a signalizačné signály do ústrední, ktoré sa ďalej starajú o spojenie s iným koncovým zariadením („múdra“ sieť).

Zjednodušene sa proces prenosu hlasu po IP sieti sa skladá z týchto krokov:

1.      Digitalizácia hlasu - prevod hlasu mikrofónom na analógový elektrický signál a jeho prevod pomocou A/D prevodníka na digitálne dáta

2.      Kompresia dát pomocou hlasového kodeku

3.      Vytvorenie paketov z výstupných dát kodeku

4.      Prenos po IP sieti pomocou príslušných protokolov

5.      Príjem paketov a ich spracovanie cieľovým zariadením

6.      Dekompresia hlasovým kodekom

7.      Prevod digitálnych dát späť na analógové elektrické signály prevodníkom D/A a ich prevod na zvuk slúchadlom

Podrobnejšie informácie o týchto krokoch sú v ďalších kapitolách

 

Obr. 1    Prenos reči po IP sieti

 

2.1      Digitalizácia a kódovanie hlasu

Na to, aby sme mohli prenášať hlas po sieti, musíme ho najskôr zachytiť mikrofónom a následne previesť na do digitálnej formy. Nebudem sa venovať analógovej časti zachytávania hlasu, keďže tento proces je mimo rozsahu tejto práce. Dôležitá je však časť prevodu analógového signálu do digitálnej podoby. Na to sa používa prevodník A/D.

Keďže ľudský hlas pri normálnej konverzácií obsahuje široké spektrum frekvencií, zistilo sa v tradičnej telefónii pri rôznych výskumoch, že 90 percent hlasovej informácie (t.j. zrozumiteľnosť reči) sa nachádza vo frekvenčnom pásme od 300 Hz do 3400 Hz. Preto aj A/D prevodník vzorkuje analógové signály z mikrofónu frekvenciou 8 kHz (t.j. odoberá vzorku z analógového signálu každých 125 µs), ktorej veľkosť je odvodená z Nyquist-Shannonovej podmienky vzorkovania - analógový signál musí byť vzorkovaný aspoň dvojnásobnou frekvenciou ako je najvyššia frekvencia prítomná v analógovom signáli. V tomto prípade bola z praktických dôvodov zvolená horná hranica 4 kHz.

Druhým parametrom A/D prevodníka je počet bitov na vzorku, ktoré sa používajú pri kvantovaní. To znamená, že po vzorkovaní sa každá vzorka prevedie z nekonečného počtu vstupných úrovní, ktoré charakterizujú analógový signál, na konečný počet úrovní, ktoré sú zakódované binárnym kódom.

Parameter počtu bitov na vzorku je ovplyvnený pomerne vysokým dynamickým rozsahom reči. Tu sa môže využívať ten istý proces, ktorý je známy z klasickej telefónie: µ-Law používaný v USA a Japonsku, alebo A-law, používaný iných štátoch. µ-Law využíva 8 bitov na vzorku (256 úrovní), avšak dynamický rozsah prevodníka nie je lineárny, ale logaritmický, tiež nazývaný ako kompandovanie, zobrazený na Obr. 2. Nižšie hodnoty v dynamickom rozsahu majú väčšiu hustotu kvantizačných úrovní a naopak vyššie hodnoty ju majú menšiu.

Jeho výhodou je, že zvyšuje pomer signál/šum, teda aj zrozumiteľnosť reči, pri nižšom dátovom toku ako by bol potrebný pri lineárnom A/D prevodníku. Je ekvivalentom v tomto parametri lineárnemu prevodníku so 14-bitmi.

 

Obr. 2    Kompandovanie dynamického rozsahu

 

Vzorkovanie rýchlosťou 8 kHz a kompandované kvantovanie pomocou 8 bitov dáva výsledný dátový tok 8 x 8 = 64 kbit/s. Celý tento proces je používaný v štandardizovanom kodeku G.711, ktorý sa používa v klasickej digitálnej telefónii už od sedemdesiatych rokov 20. storočia na prenos v digitálnych ústredniach.

2.1.1       Hlasové kodeky a ich kvalita

Termín kodek je skratka z der – dekodér. Každý kodek definuje spôsob kódovania a dekódovania hlasu. Kodeky sa používajú na zníženie potrebného dátového toku, ktorý bude prenášaný sieťou. Všetky hlasové kodeky sú stratové, t.j. po zakódovaním strácajú informácie o pôvodnom signáli a nemožno už dekódovaním dostať pôvodný signál v presnej podobe. Každý hlasový kodek má vlastný spôsob kompresie a použitie daného kodeku je dané kompromisom medzi výslednou kvalitou (zrozumiteľnosťou), veľkosťou potrebného dátového toku na prenos zakódovaného hlasu, výpočtovou náročnosťou kódovania a dekódovania a oneskorením, ktoré daný kodek spôsobuje. Všetky tieto parametre okrem zrozumiteľnosti sa dajú objektívne zistiť. Zrozumiteľnosť je však problém, pretože jej posúdenie je viac menej založené na subjektívnom názore ľudí, ktorí neposudzujú rovnako. Preto boli vypracované určité metódy, ktoré umožňujú posúdiť kvalitu na základe určitých pravidiel. Existuje viac metód, najpoužívanejšie sú však MOS a E-Model.

Metóda MOS je založená na subjektívnom názore ľudí, ktorí používajú daný kodek v reálnom prostredí. Je to asi najpresnejšia metóda, pretože práve názor ľudí je dôležitejší, ako akékoľvek papierové parametre. Je to však časovo a cenovo náročná metóda. Kvalita je udávaná reálnym číslom v rozsahu 1 až 5, kde 5 znamená najlepšia vnímaná kvalita a 1 najhoršia. MOS je štandardizovaný inštitúciou ITU do P.800 štandardu.

Ďalšou metódou je E-model, ktorý zahŕňa aj reálne prenosy medzi koncovými zariadeniami a počíta s celkovým názorom, ktorý by užívateľ mal z prenosu po sieti, t.j. ráta so stratami paketov, oneskorením, jitterom, šumom prostredia, z ktorého sa uskutočňuje hovor a inými parametrami. Výsledným parametrom tohto modelu je číslo nazývané R-faktor. Jeho hodnota je v rozsahu od 0 po 100, kde 100 znamená najlepšia kvalita a 0 najnižšia. Táto metóda je tiež štandardizovaná do štandardu G.107 od ITU.

V Tab. 1 sú uvedené rozsahy daných metód a kvality daných rozsahov, ktoré vyplývajú z toho, ako ich ohodnotili testovaní ľudia a tiež prevod medzi jednotlivými metódami. Vplyv oneskorenia jednotlivých kodekov bude popísaný v inej kapitole.

 

Tab. 1    Hodnotenie kvality hlasu podľa MOS a E-Modelu

MOS

R-faktor

Kvalita hlasu

Spokojnosť používateľov

4,3 – 5,0

90 R – 100 R

Najlepšia

Veľmi spokojní

4,0 – 4,3

80 R – 90 R

Vysoká

Spokojní

3,6 – 4,0

70 R – 80 R

Priemerná

Niektorí sú spokojní

3,1 – 3,6

60 R – 70 R

Nízka

Veľa nespokojných

2,6 – 3,1

50 R – 60 R

Nedostatočná

Všetci nespokojní

 

Existuje viac hlasových kodekov, no vybrané nasledujúce hlasové kodeky sú štandardizované inštitúciou ITU a často sa využívajú vo VoIP telefónii:

·         G.711 – ako bolo už skôr spomenuté, je to PCM kodek založený na kompandovaní (logaritmický priebeh kvantovania) s dátovým tokom         64 kb/s a vzorkovacou frekvenciou 8 kHz. Definuje dva rôzne kompresné algoritmy – jeden na základe µ-Law (používaný v Severnej Amerike) a A-Law (zvyšok sveta).

·         G.723.1 – používa dve rôzne kompresné metódy MPC-MLQ (Multipulse LPC with Maximum Likelihood Quantization) s dátovým tokom 6,3 kb/s  alebo ACELP (Algebraic code excited linear prediction) s dátovým tokom 5,3 kb/s.

·         G.726 – používa ADPCM (Adaptive Differential Pulse Code Modulation) s bitovými rýchlosťami 16, 24, 32 a 40 kb/s, pričom najčastejšie sa používa 32 kb/s.

·         G.728 – používa LD-CELP (Low-Delay Code Excited Linear Prediction) pri dátovom toku 16 kb/s.

·         G.729 – používa kompresiu CS-ACELP (Conjugate Structure Algebraic Code-Excited Linear Prediction) s dátovým tokom 8 kb/s.

·         G.729a – rovnaká kompresia ako G.729 (CS-ACELP) pri nižšej náročnosti na výpočet ako G.729 pri nižšej kvalite.

Porovnanie detailnejších parametrov týchto kodekov je v Tab. 2.

 

 

Tab. 2    Porovnanie hlasových kodekov zoradených podľa MOS

Kodek

Algoritmus

Dátový tok [kb/s]

Výpočtová náročnosť [MIPS]

MOS

R-faktor

G.711

PCM

64

0,34

4,1

82,6

G.729

CS-ACELP

8

20

3,92

77,2

G.723.1

MPC-MLQ

6.3

16

3,90

76,6

G.726

ADPCM

32

14

3,85

75,3

G.729a

CS-ACELP

8

10,5

3,70

71,5

G.723.1

ACELP

5,3

16

3,65

70,3

G.728

LD-CELP

16

30

3,61

69,4

 

Hlasové kodeky sú naprojektované tak, aby ich výstupom boli krátke zhluky ich parametrov, ktoré sú dlhé niekoľko milisekúnd, väčšinou v rozsahu 5 až 30 ms. Jedným dôvodom je zníženie času prenosu hlasu, ktorý je potrebný na to, aby sa hlas preniesol od hovoriacej strane k počúvajúcej strane. Druhým dôvodom je to, aby sa zmestili do určitého limitu jedného paketu, ktorý sa prenáša v IP sieti.

2.2      Prenos po IP sieti

Sieť IP, na ktorej tiež beží Internet, netreba predstavovať. Jej základný princíp je v prenose malých balíčkov dát, ktoré sa nazývajú pakety. Tento typ prenosu je definovaný štandardom TCP/IP, ktorý je základom Internetu. Vďaka otvorenosti protokolov, decentralizovanej povahe Internetu a nezávislosti na prenosovom médiu, sa explozívne rýchlo rozšíril do všetkých kútov sveta a umožňuje relatívne lacný a rýchly prenos dát.

Na Obr. 3 je zobrazená mapa Internetu z roku 2005, dostupná z [20], v ktorej každá čiara označuje prepojenie medzi dvoma IP adresami. Mapa zobrazuje len okolo 30% z celého Internetu. Je z nej očividné, že sieť je vysoko decentralizovaná.

IP sieť je sieť typu best effort, t.j. negarantuje bezchybný prenos dát ani žiadne iné parametre. Túto úlohu prenecháva protokolom, ktoré bežia na tejto sieti vo vyšších vrstvách a starajú sa o bezchybné doručenie dát (napr. TCP), alebo to negarantujú vôbec v prípadoch, kedy je dôležitejší čas prenosu oproti bezchybnosti dát (napr. protokol UDP, ktorý je využívaný na prenos hlasu vo VoIP).

 

Obr. 3    Mapa Internetu

 

2.2.1       TCP/IP model (TCP a UDP)

TCP/IP model je nazvaný podľa v ňom dvoch najdôležitejších protokolov TCP (Transmission Control Protocol) a IP (Internet Protocol). Je odvodený z OSI protokolového modelu, ktorý má sedem vrstiev, avšak v TCP/IP modeli boli niektoré vrstvy skombinované a tak TCP/IP model pozostáva zo štyroch vrstiev. Každá vrstva má za úlohu riešiť iné problémy s prenosom dát a poskytovať prenosové služby protokolom vo vyšších vrstvách. Vyššie vrstvy majú jednoduchšie ovládanie ako nižšie a umožňujú programátorom jednoduchú komunikáciu bez znalosti nižších vrstiev, ktoré sú pre nich vo všeobecnosti transparentné.

Tieto vrstvy sa zvyknú označovať rôzne, preto uvediem aj iné názvy a tiež aj anglické. Od najvyššej po najnižšiu sú to:

1.      Aplikačná vrstva (Application layer)

2.      Transportná vrstva (Transport layer)

3.      Sieťová vrstva, Internetová (Internet layer, Internetwork layer)

4.      Linková vrstva,  Vrstva sieťového rozhrania (Network interface layer, Link layer)

 

Obr. 4    TCP/IP model

 

Každá vrstva má svoje protokoly, ktoré na nej fungujú.

Linková vrstva je najnižšia vrstva. Definuje spôsob akým sú dáta fyzicky prenášané po danom prenosovom médiu a špecifikuje potrebný hardware a požiadavky naň. Jednotlivé protokoly definujú spôsob prenášania dát po rôznych médiách – optické a kovové káble - ethernet, bezdrôtovo - WLAN, atď.

 Sieťová vrstva je zodpovedná za prideľovanie adries a smerovanie (routing). Na tejto vrstve bežia protokoly IP. Každý používateľ v IP sieti musí mať pridelenú IP adresu, aby mohol komunikovať s ostatnými zariadeniami v sieti.

IP protokol má v súčasnosti dve verzie – IPv4 a IPv6.

IPv4 je momentálne najrozšírenejšia verzia a hlavný rozdiel medzi oboma verziami je v štruktúre adries. IPv4 adresa sa skladá zo 4 Bytov (32 bitov), v textovej forme ako 4 čísla oddelené bodkou v rozsahu 0 – 255, napríklad „49.57.77.254“. Všetky tieto a ďalšie informácie sú uložené v hlavičke protokolu zobrazenú na Obr. 5. Jej minimálna veľkosť je 20 Bytov (160 bitov).  

 

Obr. 5    Datagram protokolu IPv4

 

V Obr. 5 sú jednotlivé parametre sú zoradené do viacriadkovej tabuľky pre lepšie pochopenie. V skutočnosti sú tieto parametre v reálnom datagrame za sebou a v obrázku to znamená, že každý začiatok nového riadku je pokračovaním konca predošlého riadku, pričom toto udáva číslo posunu od prvého bitu datagramu v každom riadku tabuľky v prvom stĺpci.

Stručne popíšem jednotlivé parametre v hlavičke v poradí, v akom sú v hlavičke, pričom v hranatej zátvorke je dĺžka daného parametru v bitoch:

·         Verzia [4b] – Určuje verziu IP protokolu (hodnota 4 pre IPv4).

·         Dĺžka hlavičky [4b] – Určuje dĺžku hlavičky datagramu v počte 32 bitových slov.

·         Typ služby [8b] – Obsahuje informáciu o dôležitosti datagramu, t.j. ako sa má s ním zachádzať. Veľmi dôležitý parameter pre VoIP, pretože umožňuje preferovať VoIP pakety pred ostatnými paketmi a tak umožniť menšie oneskorenie pri prenášaní.

·         Celková dĺžka paketu vrátane hlavičky [16b] – určuje dĺžku celého datagramu aj s hlavičkou v bytoch, maximum 65536B.

·         Identifikácia [16b] – používa sa najmä na identifikáciu fragmentovaných datagramov

·         Príznaky [3b] – Prvý bit je rezervovaný. Druhý určuje, či môže byť datagram fragmentovaný alebo nie. Tretí bit určuje, či je daný datagram fragment z väčšieho datagramu alebo nie.

·         Posun fragmentu [13b] – Ak je tento datagram fragment väčšieho datagramu, určuje sa v tomto parametri posun od začiatku pôvodného fragmentu v 8 bytových blokoch

·         Doba životnosti datagramu [8b] – Určuje dobu, počas ktorej je datagram platný v sekundách, pričom každý router v ceste ho zníži o daný čas, avšak doby menšie ako 1s za zaokrúhlia na sekundy, teda každý router v ceste zníži tento parameter o 1 a v prípade, že dosiahla jeho hodnota nulu, zahodí sa a ďalej neposiela.

·         Protokol [8b] – Určuje typ protokolu, ktorý sa prenáša v dátovej časti číselným kódom.

·         Kontrolný súčet hlavičky [16b] – Zabezpečuje kontrolu integrity hlavičky a v prípade, že sa nezhoduje, je datagram zahodený.

·         IP adresa odosielateľa [32b] – Obsahuje adresu odosielateľa datagramu

·         IP adresa príjemcu [32b] - Obsahuje adresu príjemcu datagramu

·         Doplnkové parametre  - nepovinný parameter, často nevyužívané

·         Dáta  - Obsahuje dáta, ktoré vytvoril protokol z vyššej vrstvy, napr. UDP.

Dĺžka adresy je hlavný problém IPv4 - spôsobuje nedostatok voľných adries. Tento protokol vznikol začiatkom 80 rokov, kedy bola situácia vo svete počítačov úplne iná a nepredpokladal sa taký explozívny nárast počtu počítačov. Keďže adresa je dlhá 32 bitov, počet všetkých možných adries je 232, t.j. okolo 4 miliárd, avšak reálne použiteľných je len okolo 3706 miliónov kvôli rôznym vyhradeným adresám. Koncom roku 2008 bolo podľa [1] použitých už 2765 miliónov adries, čo ponecháva len 942 miliónov voľných adries, pričom len za rok 2008 bolo pridelených 198 miliónov nových adries a trend prideľovania nových adries každým rokom narastá. Sú teda obavy, že počet voľných adries sa vyčerpá týmto tempom do 3-4 rokov. Tento problém pomohol dočasne oddialiť systém prekladania adries NAT, kde sa pod jednou adresou viditeľnou z Internetu môže nachádzať veľké množstvo počítačov, ktoré majú privátne adresy a teda nemožno sa na nich pripojiť priamo z Internetu. Tento systém však spôsobuje problémy vo sfére VoIP a budem sa o ňom baviť v inej kapitole.

IPv4 obsahuje štyri hlavné protokoly: Address Resolution Protocol (ARP), Internet Protocol (IP), Internet Control Message Protocol (ICMP), Internet Group Management Protocol (IGMP). Nebudem sa im podrobne venovať, pretože to je nad rámec tejto práce.

IPv6 je nasledovník IPv4. Bol definovaný v roku 1998. Rieši problém s nedostatkom adries u IPv4 a to použitím adresy dlhej 128 bitov, čo umožňuje počet adries 2128 = okolo  3.4*1038. Príklad IPv6 adresy:

5447:1ad2:05a3:1234:a35d:12a0:cdef:0000

kde každý znak je hexadecimálne číslo (0 – 9, a – f) okrem deliaceho znaku „:“. Nie je spätne kompatibilný s IPv4 a preto potrvá ešte dlhý čas, kým sa rozšíri. Bude to s veľkou pravdepodobnosťou až v čase vyčerpania IPv4 adries.

IPv6 sa tiež skladá z protokolov Internet Control Message Protocol for IPv6 (ICMPv6), Neighbor Discovery (ND), Multicast Listener Discovery (MLD).

Transportná vrstva je súbor protokolov, ktoré sa starajú o vytváranie spojení pre aplikačnú vrstvu a komunikáciu prostredníctvom paketov. Hlavné protokoly na tejto vrstve sú TCP a UDP. 

TCP (Transmission Control Protocol) je protokol na vytváranie spojení typu bod-bod, ktoré sú spojovo orientované a poskytujú spoľahlivú komunikáciu. Spojovo orientované znamená, že sa najprv vytvorení spojenie medzi dvoma klientami a až potom sa posielajú dáta. Spoľahlivá komunikácia znamená, že tento protokol sa uistí, že všetky dáta boli bezchybne prijaté príjemcom a v prípade chyby môže vysielanie paketov opakovať. To však znamená, že je optimalizovaný na spoľahlivé doručenie a nie na čas doručenia, čo je v prípade VoIP nevýhoda.

UDP (User Datagram Protocol) je opakom TCP – ponúka bezspojovú, nespoľahlivú komunikáciu typu bod-bod, bod-multibod. Nevytvára spojenie s príjemcom, iba odošle pakety nazývané niekedy datagramy a nestará sa o to, či boli doručené. To ho predurčuje na použitie v časovo kritických aplikáciách ako je napr. VoIP, keďže má menšie oneskorenie a neopakuje už raz odoslané pakety, ktoré by v prípade VoIP nemalo zmysel po určitom čase dekódovať. Jeho pakety bývajú tiež menšie ako pakety TCP. Keďže je vo VoIP veľmi využívaný, ukážeme si jeho štruktúru.

 

Obr. 6    UDP datagram

 

Na Obr. 6 je zobrazený datagram UDP protokolu. Najprv si definujme čo je port – je to virtuálny kanál, ktorý odlišuje aplikáciu, ktorá datagram poslala alebo ktorej je určený na vyššej aplikačnej vrstve. Takto môže komunikovať viac aplikácií simultánne z jednej IP adresy. Hlavička UDP datagramu obsahuje spolu 64 bitov (8 Bytov). Prvých 16 bitov definuje zdrojový port (maximálny počet portov 65536), z ktorého bol datagram odoslaný. Ďalších 16 bitov definuje cieľový port, kde bude doručený na cieľovej stanici. Nasledujúcich 16 bitov určuje dĺžku UDP datagramu aj s hlavičkou v bytoch, čo značí, že je vždy minimálne 8B dlhá a maximálna veľkosť v IPv4 sieti je    65 507 B. Posledných 16 bitov tvorí kontrolný súčet, ktorý slúži na overenie, či správa došla bezchybne. Počíta sa z celého datagramu, vrátane hlavičky. Je však nepovinný, čo môže ušetriť výkon procesora. Zvyšnú časť datagramu tvoria binárne dáta, ktorých dĺžka je určená v hlavičke.

Ako vidno, je to jednoduchý protokol s krátkou hlavičkou, čo umožňuje rýchlejšie prenosy a úsporu prenosového pásma.

Aplikačná vrstva je najvyššia vrstva a najabstraktnejšia zo všetkých. Má najviac protokolov kvôli jednoduchosti jej obsluhovania oproti nižším vrstvám. Slúži na komunikáciu medzi aplikáciami, ktoré poznajú dané protokoly. Príkladom protokolov sú HTTP, FTP, DNS, RTP, atď. Na tejto vrstve bežia tiež VoIP protokoly, ako SIP, H.323 a iné.

2.2.2       Prenos dát

Celý TCP/IP model funguje na princípe „obaľovania“ dát z vyšších vrstiev vrstvami nižšími. Príklad tohto procesu je na Obr. 7, kde je zobrazený prenos dát z kodeku G.729 s použitím RTP protokolu a UDP. V aplikačnej vrstve sa vytvoria dáta, ktoré je potrebné preniesť do iného klienta na sieti. Tieto dáta spracuje transportná vrstva a pridá hlavičku protokolu UDP. K týmto dátam sa pridá v sieťovej vrstve hlavička protokolu IP. Nakoniec sa pridá v linkovej vrstve hlavička a päta a celý tento súbor dát sa nazýva ethernetový rámec (frame). Tento rámec sa potom prenáša po prenosovom médiu binárne.

 

Obr. 7    Predávanie dát nižším vrstvám v TCP/IP modeli (veľkosti rámcov v mierke)

 

Rámec je ďalej presúvaný pomocou smerovačov (router) po sieti, ako to je zobrazené na Obr. 8. V smerovači sa väčšinou dekóduje rámec po sieťovú vrstvu, v ktorej je informácia o zdrojovej a cieľovej IP adrese a táto informácia určuje smerovaču kde má daný rámec nasmerovať, aby došiel k cieľu. Smerovač má topológiu siete uloženú v smerovacej tabuľke (routing table) a na základe nej vie, kam má rámce posielať. V cieľovom klientovi sa po prijatí rámca postupne presúva opačným smerom, t.j. z linkovej vrstvy až do aplikačnej po odstránení hlavičiek a piet.

Prenos od jedného odosielateľa k jednému príjemcovi sa nazýva unicast. V IP sieti je však aj možnosť posielať pakety od jedného odosielateľa viacerým prijímateľom. Jednou takou možnosťou je multicast, ktorý umožňuje odosielateľovi poslať pakety len raz a smerovače sa už postarajú o kopírovanie a prenos týchto paketov k príjemcom, ktorí o to prejavili záujem.

 

Obr. 8    Presúvanie rámcov po sieti

 

2.2.3       Protokoly RTP, RTCP, SRTP a SRTCP

RTP (Real-time Transport Protocol) je binárny protokol aplikačnej vrstvy navrhnutý na prenos časovo kritických dát po IP sieti, primárne pre streamované audio a video dáta, ako napr. internetové rádio, televízia, a pod. Je pre tieto vlastnosti využívaný často vo VoIP. Podporuje komunikáciu bod-bod primárne pomocou UDP transportného protokolu (aj keď je vo všeobecnosti nezávislý od protokolov v nižších vrstvách) a tiež aj bod-multibod. Vo VoIP sa však používa len bod-bod komunikácia. Tento protokol neposkytuje žiadne záruky spoľahlivého príjmu ani kvality. Hlavička tohto protokolu má 12 bytov. Nebudem ju detailne opisovať, avšak spomeniem, že v hlavičke sa nachádza jeden dôležitý, 7 bitový parameter pre VoIP – Payload type, ktorý číselne označuje typ dát, ktoré sú prenášané týmto protokolom. Napríklad kodek PCM má číslo 0.

RTCP (Real-Time Control Protocol) je podporný protokol k RTP, ktorý poskytuje pravidelné odosielanie spätnej väzby o kvalite spojenia, ktoré je nadviazané prostredníctvom RTP protokolu. Umožňuje tak odosielateľovi zistiť, či príjemca dát prijíma dáta v dostatočnej kvalite a v prípadne znížiť dátový tok alebo upraviť iné parametre protokolu RTP tak, aby bol príjemca spokojný.  Tento protokol neprenáša žiadne užívateľské dáta.

 V praxi tieto protokoly pracujú na odlišných portoch, väčšinou RTP na párnom porte a RTCP na ďalšom nepárnom porte.

V prípade, že je potrebné zabezpečiť prenos obsahu, ako napr. hovoru VoIP, je možné použiť novší protokol SRTP (Secure Real-time Transport Protocol). Je navrhnutý podobne ako RTP, ale poskytuje možnosť kryptovania a overenia integrity správy, t.j. v prípade použitia vo VoIP znemožňuje odpočúvanie hovoru a zároveň aj poskytuje overenie, že daný hovor je skutočne odosielaný zo zdroja, za ktorý sa vydáva. K tomuto protokolu je tiež podporný protokol SRTCP (Secure Real-time Control Protocol) obdobne ako v RTP je podporný protokol RTCP.

2.2.4       Šírka pásma hovoru

V praxi pri plánovaní VoIP siete je potrebné poznať dátové toky, ktoré spôsobujú jednotlivé kodeky a protokoly, aby sa mohol naplánovať maximálny počet hovorov, ktorý bude môcť „tiecť“ po danej linke definovanej kapacity, aby nedochádzalo k zníženiu kvality všetkých hovorov pri prekročení kapacity linky. Výsledný dátový tok, ktorý bude po sieti prúdiť nezávisí len od kodeku, ale aj od toho, aký protokol sa použije na aplikačnej vrstve, transportnej a sieťovej vrstve. Tie spôsobujú tzv. overhead, alebo po slovensky nadbytočný dátový tok, ktorý nenesie žiadne hlasové informácie, ale je nevyhnutný kvôli spôsobu fungovania IP siete a preto musí byť prenesený.

Predpokladajme, že VoIP spojenie sa uskutočňuje po ethernetovom pripojení (čo je najčastejší prípad) a to patrí do najnižšej vrstvy TCP/IP modelu – linkovej vrstvy. Linková vrstva sa však reálne skladá z dvoch vrstiev OSI modelu – pričom najnižšia vrstva, ktorá definuje priamo prenos po fyzickom médiu, má rôzny overhead pri rôznych typoch fyzických médií a rýchlostí, teda nebudeme ju započítavať v týchto výpočtoch a budeme počítať len s konštantným overheadom druhej, vyššej vrstvy. Ďalej predpokladajme, že budeme používať protokol RTP (protokol RTCP započítavať nebudeme), ktorý bude prenášaný cez protokol UDP pri použití IP protokolu. RTP má veľkosť hlavičky 12 bytov, teda to bude aj jeho overhead. Podobne UDP má overhead 8 bytov a IP 20 bytov. Overhead ethernetu je 18 bytov, ktoré spolu tvorí hlavička a päta. Spolu je teda overhead pri prenose po ethernete 58 bytov na jeden paket. V skratke ho budem ďalej nazývať ethernetový overhead.

 

Tab. 3    Dátová rýchlosť jedného hovoru v jednom smere

Kodek

Dátový tok [kb/s]

Veľkosť jednej vzorky [B]

Vzorkovací interval [ms]

Dĺžka hlasového obsahu v jednom pakete [ms]

Počet paketov za sekundu

Dátový tok na fyzickej vrstve ethernetu [kb/s]

Overhead

G.711

64

80

10

20

50

87,2

36%

G.723.1

5,3

20

30

30

34

20,8

292%

6.3

24

30

30

34

21,9

247%

G.726

32

20

5

20

50

55,2

70%

G.728

16

10

5

30

34

31,5

96%

G.729 G.729a

8

10

10

20

50

31,2

290%

 

V Tab. 3 sú zobrazené údaje o výsledných dátových tokoch po ethernete pri uskutočnení hovoru v jednom smere pre rôzne kodeky. Ako vidíme z výsledných dátových tokov, je ethernetový overhead pri kodekoch s menším dátovým tokom oveľa vyšší, ako pri použití kodekov s vyšším dátovým tokom. Je to spôsobené tým, že hoci kodeky majú menší dátový tok, posielajú svoje parametre zhruba v rovnakých intervaloch (20-30ms) kvôli zmenšeniu oneskorenia, ale ethernetový overhead v bytoch zostáva konštantný. Napríklad kodek G.729 posiela v jednom pakete dve, 10 ms  dlhé vzorky, pričom jedna vzorka má veľkosť 10 bytov a teda v jednom pakete je 20 ms hlasových parametrov a 20 bytov hlasových dát. K tomu pripočítame 58 bytov ethernetového overheadu a spolu je to 78 bytov dát potrebných preniesť každých 20 ms. Za 1 sekundu sa takto prenesie 50 paketov, čo dáva konečný dátový tok 3,9 kB/s, alebo po prevode do kilobitov 31,2 kb/s (vynásobiť 8). Z tohto dátového toku je však len 8 kb/s skutočných parametrov kodeku, zvyšných 23,2 kb/s tvorí ethernetový overhead. Pre porovnanie, kodek G.711 má tiež tok 50 paketov za sekundu a 23,2 kb/s ethernetový overhead, ale dátový tok 64 kb/s a teda výsledný dátový tok 87,2kb/s.

V reálnom prípade treba počítať aj so spätným dátovým tokom od druhého účastníka s ktorým voláme, teda v prípade použitia rovnakých kodekov v priamom aj spätnom smere sa tento dátový tok vynásobí dvoma, alebo pri použití iných kodekov sa spočítajú toky v oboch smeroch. Linka by mala byť teda v najlepšom prípade symetrická, alebo v prípade nesymetrickej linky sa maximálny počet hovorov určí podľa tej pomalšej strany (väčšinou je to upload). Tiež netreba zabúdať na dátový tok signalizačných protokolov, napr. SIP, ktorý som v tomto prípade neuvažoval.

2.3      Možné scenáre spojenia

VoIP už prešlo značným vývojom za posledné roky a dnes už je to dostatočne vyvinutá technológia a je populárne vymieňať vo veľkom staré telefónne prístroje a ústredne novými na báze VoIP, pričom nové siete sa poväčšine už budujú len na princípe VoIP. Tento prechod je však postupný a začína väčšinou v centrálach, kde môžu priniesť najvyššie úspory, pričom koncové zariadenia väčšinou bežia cez konvertory, ktoré prekladajú klasický telefónny signál do VoIP siete. Tie sú postupne vymieňané za VoIP telefóny, ktoré sú zapojené do spoločnej dátovej siete, ktorá už väčšinou existuje v danej lokalite a teda má aj natiahnuté káble, čo zjednodušuje pripojenie VoIP telefónov. Takéto telefónne siete, ktoré bežia zároveň na starých telefónnych prístrojoch a zároveň poskytujú aj dátový prístup, sa nazývajú konvergované siete. Firmy majú väčšinou iné požiadavky ako domáci používatelia. Vo firmách môže byť snaha ponechať si staré telefónne zariadenia pri prechode na VoIP, do ktorých boli investované značné prostriedky. To je samozrejme možné uspokojiť rôznymi konvertormi a bránami, ktoré prepoja starú telefónnu sieť s dátovou sieťou, na ktorej beží VoIP. Domáci užívateľ však nemá problém sa zbaviť starého telefónu aby ušetril na cenách hovorov, ktoré mu poskytne VoIP sieť. V nasledujúcich príkladoch ukážem niekoľko bežných prípadov zapojenia VoIP siete, ktoré sa najčastejšie vyskytujú.

2.3.1       Firemné prostredie

Firmy majú väčšinou nakúpené staré PSTN zariadenia, ktorých sa nechcú veľmi zbavovať, pretože ich stáli nemalé prostriedky. Taktiež môžu poskytovať istú zálohu v prípade zlyhania IP siete. Jeden z prípadov je na Obr. 9, kde sú prepojené dve firemné, geograficky oddelené pobočky. Je to klasický príklad konvergovanej siete.

 

Obr. 9    Príklad firemného zapojenia VoIP siete

 

V tejto sieti sa využívajú aj staré komponenty klasickej telefónnej siete, ako PBX a analógové telefóny, zároveň tiež VoIP telefóny, VoIP servery, počítače a iné prvky siete IP. Klasická telefónna sieť (PSTN) je prepojená s VoIP sieťou pomocou VoIP brán, o ktorých bude hovorené ďalej. IP sieť, do ktorej sú zapojené aj VoIP telefóny a servery, počítače a iné zariadenia, podporuje rozoznávanie hlasových paketov a poskytuje im rýchlejšie smerovanie pre zabezpečenie kvality hovorov (QoS). Analógové telefóny môžu byť pripojené do VoIP siete pomocou VoIP konvertorov, o ktorých sa bude diskutovať podrobnejšie ďalej.

Cesta, po ktorej sa vydá daný hovor z či už VoIP telefónu alebo klasického telefónu, by mala byť cesta s najmenšou cenou hovoru, t.j. v prípade volania na firemné telefóny sa hovor vyberie cestou po IP sieti, ktorú spravuje firma, teda teoreticky zadarmo (prakticky však má udržiavanie tejto siete svoje reálne náklady). V iných prípadoch môže byť hovor poslaný do klasickej PSTN siete, ktorá má rôznu tarifikáciu podľa geografickej polohy volaného. V prípade výpadku IP siete môžu byť hovory posielané aj prostredníctvom PSTN siete, ak to dané riadiace komponenty siete podporujú.

2.3.2       Domáci užívateľ

V domácom prostredí sa v poslednej dobe vyskytuje rušenie pevných liniek v prospech mobilných telefónov, alebo vymieňanie analógových telefónov za VoIP telefóny, ktoré môžu byť poskytované aj samotným poskytovateľom internetu, ktorý je tak zároveň aj poskytovateľom VoIP služieb. Zákazník  tak môže platiť výhodné ceny za kompletný balík, ktorý mu poskytne internet aj telefónnu linku, ktorá má zároveň nízke ceny za volania. Toto riešenie môžu tiež využívať aj malé firmy, ktoré nemajú veľký počet telefónov. VoIP však môže byť poskytované ľubovoľným poskytovateľom a je na zákazníkovi, ktorého si vyberie, dôležité je mať kvalitné pripojenie na internet s nízkym oneskorením. Tomu vyhovujú xDSL prípojky, káblový internet, pevné pripojenie prostredníctvom LAN. Pripojenia na mobilnom princípe, ako GPRS, EDGE, HSDPA a pod, ktoré majú relatívne vysoké oneskorenie nie sú veľmi vhodné na VoIP použitie.  Príkladom je zapojenie na Obr. 10.

V niektorých krajinách (vrátane Slovenska) poskytujú niektorí internetoví poskytovatelia internet cez vysokorýchlostnú sieť (napr. LAN), v niektorých prípadoch aj optickú sieť priamo do domácnosti, čo im umožňuje poskytovať internet, hlasové služby a aj digitálnu televíziu v jednom balíku za relatívne výhodnú cenu. Tiež to umožňuje poskytovať doplnkové vysokorýchlostné dátové služby, ako napr. virtuálnu požičovňu filmov. Tento balík je väčšinou nazývaný triple play.

 

Obr. 10  Príklad zapojenia domácej VoIP siete

 

2.3.3       Koexistencia s PSTN

VoIP zo začiatku fungovalo len medzi počítačmi v rámci Internetu, avšak po istom čase po väčšom rozšírení a vytvorení VoIP štandardov sa objavila možnosť prepojiť sa s PSTN. Vznikli tak brány (gateway), ktoré spojenie týchto dvoch sietí umožňujú. Dnes sa už bežne v praxi používajú a  rôzne produkty sú dostupné od veľkého množstva výrobcov.

2.3.3.1            Brány

Brány vo VoIP sieti poskytujú vo všeobecnosti prepojenie medzi klasickými telefónnymi štandardmi a VoIP štandardmi. Konvertujú v reálnom čase analógové alebo digitálne rozhrania PSTN, ako napr. rozhrania FXS, FXO, do paketovej formy (vrátane signalizácie) cez ethernetové rozhranie do VoIP siete a opačne. Môžu tiež poskytovať pridané služby ako presmerovanie hovorov a pod.

Brány môžu napríklad plniť funkciu virtuálneho telefónu, ktorý je pripojený do PSTN a poskytovať ostatným VoIP zariadeniam prístup do telefónnej siete. Zo strany PSTN sa chová ako analógový telefón a zo strany VoIP siete ako VoIP server.

Vo firemnom prostredí zase po prekonvertovaní jadra siete na princíp VoIP, ktorá ušetrila dosť veľké množstvo prostriedkov na telefónnych účtoch, ostalo plno starých telefónnych prístrojov, ktoré sú využívané prakticky len na klasické volania a teda nie je veľmi ekonomické ich zahadzovať, pretože ich užívatelia by nové VoIP telefóny využívali prakticky tak isto, ako využívali staré telefóny, t.j. vytočia telefónne číslo a očakávajú, že budú spojení s druhou stranou. Ušetrenie nákladov za nové VoIP telefóny umožňujú VoIP konvertory. Tie majú klasické FXS konektory, do ktorých sa pripoja analógové telefóny a cez ktoré tieto telefóny napájajú a starajú sa o signalizáciu a tiež ethernetové porty na pripojenie do IP siete. Takto sa zo strany VoIP siete chovajú ako skutočné VoIP telefóny.

2.3.3.2            ENUM

V PSTN existuje spôsob adresovania účastníkov pomocou telefónnych čísel, ktorý určuje medzinárodný číslovací plán E.164. Ten priraďuje každému účastníkovi jedinečné číslo na základe určitých pravidiel. Napríklad telefónne číslo      +421 55 8877 124 sa skladá z čísla krajiny (+421), čísla oblasti v krajine (55) a čísla účastníka v nej (8877124). Tento spôsob číslovania je potrebné integrovať do VoIP, kde to umožní preklad telefónnych čísel volaných užívateľov do názvov, ktoré používajú VoIP protokoly na identifikovanie VoIP užívateľov. Teda umožniť užívateľom VoIP mať klasické telefónne číslo, na ktoré sa môžu dovolať aj účastníci PSTN. Túto úlohu plní ENUM (E.164 NUmber Mapping), tiež nazývaný telephone number mapping – mapovanie telefónnych čísel.

ENUM je podobný systému DNS (Domain Name System), ktorý na Internete prekladá názvy domén na IP adresy. DNS funguje na aplikačnej vrstve v modeli TCP/IP. Napr. doména „www.tuke.sk“ má IP adresu „147.232.3.80“. DNS sa používa z toho dôvodu, že je jednoduchšie si zapamätať názov zložený z písmen („www.tuke.sk“) ako názov zložený z IP adresy („147.232.3.80“), keďže znalosť IP adresy je nevyhnutnosťou na komunikáciu po Internete. IP adresa sa získava z tzv. DNS serverov hierarchicky, t.j. najprv sa opýtame známych tzv. root DNS serverov, ktorých IP adresy máme lokálne uložené, kde sa nachádza „www.tuke.sk“. Root DNS server nám odošle správu s IP adresou DNS servera, ktorý je zodpovedný za domény s príponou „sk“ a tohto serveru sa znovu opýtame, akú má adresu „www.tuke.sk“. Ten nám znovu zašle IP adresu DNS servera, ktorý spravuje doménu „tuke.sk“. Tohto servera sa nakoniec opýtame na adresu „www.tuke.sk“ a ten má lokálne uloženú IP adresu „www.tuke.sk“ („147.232.3.80“), ktorú nám zašle a môžeme teda začať komunikovať s daným cieľom, keďže máme jeho IP adresu. IPv4 adresu zodpovedajúcu doméne nám DNS servery pošlú ak ich žiadame o tzv. A záznam (Address record) o danej doméne.  

DNS server môže však poskytovať aj iné typy záznamov. Napríklad môže poskytovať aj adresu emailového serveru, ktorý patrí pod doménu „tuke.sk“, t.j. v prípade, že chceme poslať email adrese „webmaster@tuke.sk“, zistí náš emailový server po odoslaní nášho emailu naň, že aká je adresa emailového serveru, ktorý spravuje doménu „tuke.sk“. Na túto otázku sa opýtame DNS servera, ktorý spravuje doménu „tuke.sk“ a to požiadaním o záznam MX (Mail Exchange record). Ten nám vráti adresu emailového servera spravujúceho doménu „tuke.sk“, ktorá je v tomto prípade „mail.tuke.sk“.

Kvôli ENUM spomeniem aj ďalší DNS záznam – PTR (PoinTer Record), tiež známy ako reverzný IP záznam. Ten umožňuje získať názov domény z IP adresy, teda presne opačne, ako funguje záznam typu A. Napríklad chceme zistiť, aký názov domény patrí IP adrese „147.232.3.80“. Zostavíme teda požiadavku, ktorú odošleme na DNS server. IP adresa sa najprv prevedie do formátu špeciálnej domény s príponou „.in-addr.arpa“, pričom sa IP adresa prepíše v opačnom poradí, ako je normálne zapísaná, t.j. štvrté číslo bude prvé, tretie bude druhé, druhé bude tretie, a prvé bude štvrté. Výsledkom je v našom prípade doména „80.3.232.147.in-addr.arpa“. DNS serveru sa teda opýtame na PTR záznam tejto špeciálnej domény „80.3.232.147.in-addr.arpa“. Ten nám v tomto prípade odpovie adresou „www.tuke.sk“.

Existuje aj viac typov záznamov, ktoré môže DNS server poskytovať, ale nebudem sa nimi v tejto práci zaoberať.

ENUM je poskytovaný zväčša DNS servermi s ENUM podporou (napr. BIND), ktoré poskytujú aj preklady pre potreby Internetu a funguje na veľmi podobnom princípe ako PTR záznamy v DNS, avšak namiesto mapovania IP adries na domény poskytuje mapovanie telefónny čísel na URI (Uniform Resource Identifier) adresy rôznych protokolov, ako napr. SIP adresy („sip:peter.gulicka@tuke.sk“), emailové adresy („mailto:peter.gulicka@tuke.sk“), web adresy. Môže teda poskytnúť na základe telefónneho čísla viac kontaktných informácií o volanej osobe a teda aj spôsobov, ako sa s ňou spojiť.  

 

Obr. 11  Príklad zistenia SIP adresy v ENUM

 

Príklad použitia ENUM na zistenie adresy SIP cieľového zariadenia vo VoIP pri volaní z PSTN:  účastník volá z PSTN siete na číslo +421900123456, ktoré je priradené VoIP telefónu vo VoIP sieti. Po príchode hovoru do VoIP brány, ktorá je na rozhraní PSTN a VoIP siete, brána potrebuje zistiť SIP adresu zariadenia, ktorému je priradené volané číslo a tak požiada DNS server, aby vrátil záznamy VoIP zariadenia s volaným  číslom, tzv. NAPTR záznam (Name Authority PoinTer). Požiadavka, ktorú brána pošle DNS serveru, je sformovaná do domény podobne ako pri PTR záznamoch z DNS, teda obrátením poradia telefónnych číslic, pridaním bodiek medzi nimi a pridaním špeciálnej domény „.e164.arpa“, t.j. v našom prípade „6.5.4.3.2.1.0.0.9.1.2.4.e164.arpa“. DNS obratom vráti NAPTR záznam, ktorý obsahuje SIP adresu cieľového telefónu – „sip:peter.gulicka@tuke.sk“. Brána teda vie kde sa má napojiť a uskutočniť tak hovor z PSTN siete do cieľového zariadenia vo VoIP sieti.

Záznam NAPTR však môže obsahovať aj viac typov záznamov a každý z nich má priradenú určitú prioritu. Môže obsahovať napríklad aj niekoľko SIP adries, ďalšie telefónne čísla, na ktorých môže byť daný cieľ dostupný, alebo aj emailovú adresu, kde môže byť poslané oznámenie o neprijatom hovore v prípade, že všetky ostatné adresy zlyhali. Na adresy alebo telefónne čísla s vyššími prioritami sa brána skúsi napojiť ako prvé a v prípade zlyhania spojenia sa skúšajú ďalšie podľa ich priorít od najvyššej priority po najnižšiu. Umožňuje to teda jednému telefónnemu číslu mať viac fyzických telefónov, či už klasických alebo VoIP,  napr. jeden v práci, jeden doma a presmerovať tak hovor tam, kde je to práve aktuálne.

2.3.3.3            Princíp ušetrenia nákladov s VoIP

VoIP môže ušetriť náklady na hovor pri uskutočňovaní diaľkových hovorov, napríklad do iného mesta, alebo do iného štátu a je to dôvod prečo sú hovory VoIP operátorov také lacné do skoro celého sveta.

V PSTN sú hovory spoplatňované podľa dĺžky hovoru a vzdialenosti (miestne najlacnejšie, medzimestské drahšie a medzinárodné najdrahšie). Internet naopak ponúka dátový prístup prakticky do celého sveta bez obmedzení, je neutrálny. Platíme len za šírku pásma, poprípade za množstvo prenesených dát. Keďže Internet je dostupný prakticky vo všetkých mestách, kde je aj PSTN, vzniká možnosť preskočiť medzimestské a medzinárodné tarifikácie tým, že v každom meste je umiestnená VoIP brána napojená na Internet a do lokálnej PSTN. Takto môžu byť hovory do celého sveta cez VoIP tarifikované za cenu porovnateľnú s cenou miestneho hovoru.

Ukážme si príklad takejto úspory nákladov pri volaní z Košíc do New Yorku, zobrazenom na Obr. 12. Používajme klasické analógové telefóny pripojené do PSTN siete na oboch stranách. Ak by sme chceli volať len pomocou PSTN do New Yorku, platili by sme tarifikáciu medzinárodného hovoru, ktorá je vo všeobecnosti najvyššia zo všetkých tarifikácii. Keďže v našom meste je poskytovateľ VoIP, ktorý má lokálne pripojené svoje zariadenia, využijeme možnosť volať cez neho tým, že vytočíme pred volaným číslom určitú predvoľbu, ktorá zabezpečí, že hovor pôjde cez tohto operátora. Hovor je tak tarifikovaný ako miestny, odkiaľ je ďalej prepojený cez VoIP operátora do Internetu a do miestneho VoIP operátora v New Yorku, ktorý ďalej hovor uskutoční po miestnej linke cieľovému účastníkovi. Takto sa môžeme vyhnúť medzinárodnej tarifikácii.

 

Obr. 12  Ušetrenie nákladov za diaľkové hovory pomocou VoIP

 

Ďalšie ušetrenie nákladov je samozrejme možné pri kompletnom vynechaní PSTN siete zo spojenia ako je to znázornené na Obr. 13. Je to možné vtedy, ak sú obaja účastníci pripojení k VoIP poskytovateľom. Keďže hlas je prenášaný len prostredníctvom Internetu, sú náklady na zostavenie takého hovoru minimálne. V praxi však majú VoIP poskytovatelia nastavenú jednotnú tarifikáciu, ktorá nezávisí od toho, či pri medzinárodných hovoroch je cieľová stanica v PSTN alebo vo VoIP sieti. VoIP poskytovateľa však stojí hovor rozdielne ak je cieľ vo VoIP alebo je v PSTN, ale výsledná cena pre zákazníka je jednotná, pretože poskytovateľ podľa štatistiky volaní vie nastaviť tarifikáciu tak, aby bol ziskový.

 

Obr. 13  Ďalšie ušetrenie nákladov vynechaním PSTN

 

2.3.3.4            Problém tiesňových čísel

VoIP operátori musia po zavolaní na tiesňové čísla (v SR č. 112) presmerovať volajúceho na najbližšiu záchrannú službu, políciu alebo hasičov. To môže spôsobovať problém u VoIP, keďže zákazník sa teoreticky môže prihlásiť na svoje VoIP konto všade, kde je dostupný internet. Používanie tiesňových čísel preto nie je odporúčané pri volaní cez VoIP, keďže operátor môže, ale aj nemusí toto presmerovanie robiť. V SR zvyknú lokálni operátori toto presmerovanie robiť na základe zákazníkovej adresy a nepovoľujú používanie ich VoIP služieb mimo tejto adresy.

2.4      Koncové zariadenia

V tejto kapitole si ukážeme ako vyzerajú bežné VoIP zariadenia, s ktorými sa bežný používateľ môže stretnúť pri používaní služieb VoIP.

2.4.1       Hardwarové VoIP telefóny

Hardwarové VoIP telefóny sú podobné klasickým telefónom, avšak ponúkajú väčšinou aj pridané funkcie, ktoré neboli možné pri klasických telefónoch. Ponuka VoIP telefónov je v dnešnej dobe obrovská a nie je problém si vybrať ten, ktorý nám bude vyhovovať či už podľa ich funkcií a parametrov, alebo podľa vzhľadu. Niekoľko druhov je zobrazených na Obr. 14.

 

Obr. 14  Rôzne podoby VoIP telefónov

 

 

Väčšinou podporujú SIP protokol a niekoľko najčastejších hlasových kodekov, ako  G.711 a G.729. Niektoré podporujú aj video hovory. Existujú tiež aj špecializované telefóny, napr. rôzne Skype telefóny, ktoré podporujú VoIP službu Skype.

Hardwarové VoIP telefóny sú v princípe počítače a majú väčšinou aj vlastný operačný systém a procesor, kde sú jednotlivé funkcie telefónu implementované softwarovo, poprípade hardwarovo pre výpočtovo náročné funkcie. To umožňuje podobne jednoduché aktualizácie softwaru ako na PC – cez internet. Týmto spôsobom sú možné rýchle opravy prípadných chýb. Niektorí VoIP operátori môžu robiť aktualizácie softwaru telefónu automaticky bez zásahu zákazníka.

2.4.1.1            Zapojenie do IP siete

Spôsob pripojenia telefónov do IP siete je buď pomocou ethernetových prípojok alebo bezdrôtovo pomocou Wireless LAN (WLAN) sietí. Na Obr. 14 sú zobrazené oba typy takýchto telefónov. Bezdrôtové pripojenie má výhodu mobility všade tam, kde je dostupná WLAN sieť, napr. vo firemnom prostredí sa môže zamestnanec voľne pohybovať po firemných priestoroch a stále byť dostupný. Väčšina hardwarových VoIP telefónov má v sebe zabudovaný trojportový ethernetový prepínač (zobrazené na Obr. 15), t.j. dva externé porty a jeden vnútorný, na ktorý je pripojený samotný telefón. To je veľká pomoc v prípade, že máme už do LAN siete zapojený počítač a chceme tiež zapojiť náš nový VoIP telefón. Do jedného portu na telefóne zapojíme už existujúci kábel, ktorý bol doteraz zapojený do počítača a do druhého portu zapojíme kábel s ktorým sa prepojí počítač. Ušetríme tak miesto, náklady a ďalší napájací adaptér, ktoré by inak boli potrebné na zapojenie prepínača v prípade, že by VoIP telefón nemal v sebe integrovaný ethernetový prepínač.

 

Obr. 15  Vnútorné zapojenie VoIP telefónu so zabudovaným prepínačom

 

2.4.1.2            Napájanie

Napájanie VoIP telefónov je kapitola sama o sebe. Kým klasický analógový telefón nepotreboval žiadne samostatné napájanie, pretože bol napájaný z telefónnej linky, VoIP telefóny zvyčajne potrebujú externé napájanie v podobe adaptéra, ktorý sa zapojí do elektrickej siete. Existuje však aj možnosť napájania telefónov priamo cez ethernet – tzv. Power Over Ethernet (POE), ktorý definuje štandard IEEE 802.3af. Tento štandard používa dva zo štyroch párov vodičov nachádzajúcich sa v ethernetových kábloch na doručenie jednosmerného napájacieho napätia s nominálnou hodnotou 48V. Maximálny výkon prenášaný po kábloch je okolo 15W, pričom len asi 13W je využiteľných na konci vedenia v najhoršom prípade kvôli odporu ethernetových káblov. V praxi sa používajú väčšinou priamo prepínače s podporou POE, t.j. dodávajú napájanie do všetkých portov, ktoré obsahujú. Káble z takýchto prepínačov sú potom rozvedené po budove, kde sú vyvedené do zásuviek. Do týchto zásuviek sa môže napojiť priamo VoIP telefón a z VoIP telefónu sa môže potom napojiť na LAN sieť aj počítač cez zabudovaný prepínač vo VoIP telefóne. Výhoda tohto riešenia je, že nie je potrebný ďalší napájací adaptér pre VoIP telefón. Ušetríme aj miesto na káble. V prípade, že je centrálny prepínač, ktorý dodáva POE, elektricky zálohovaný, môžu v prípade výpadku napájania VoIP telefóny fungovať ďalej. Pripravovaná nová verzia POE IEEE 802.3at bude môcť dodávať až výkon do 60W.

 

Obr. 16  Princíp Power Over Ethernet

 

Nastavovanie väčšiny VoIP telefónov sa robí buď priamo cez zabudovaný displej alebo v prípade, že to telefón podporuje, tak cez web rozhranie. Niektoré telefóny umožňujú aj správu hovorov cez web rozhranie, ako nahrávanie, presmerovanie, a pod.

2.4.1.3            Funkcie

Aby mohli výrobcovia odlíšiť svoje výrobky na trhu, musia vo všeobecnosti do svojich výrobkov pridávať funkcie a inak ich zlepšovať. Pri VoIP telefónoch to znamená väčšinou podpora okrem základných komunikačných funkcií aj pridané funkcie, ktoré umožnia buď zvýšiť komfort pre domáceho užívateľa, alebo pre firemného zvýšiť produktivitu práce. Niekoľko takých funkcií:

·         Konferenčné hovory – umožní viacerým užívateľom komunikovať v reálnom čase.

·         Skrátená voľba – umožní vytočiť preddefinované číslo jedným tlačidlom alebo krátkou číselnou kombináciou

·         Automatické zdvihnutie hovoru – zdvihne hovor hneď po príchode bez čakania. Vhodné pre call centrá na zníženie doby čakania zákazníkov.

·         Presmerovanie hovorov – umožňuje presmerovať hovory na iné číslo, či už počas hovoru, keď sme obsadení, alebo ak sme neprítomní pri telefóne.

·         Priame predanie hovorov – umožňuje spojiť dvoch volajúcich v prípade, že zavolajú v iných časoch.

·         Okamžité presmerovanie do hlasovej pošty – presmeruje hovor bez zvonenia telefónu do hlasovej pošty.

·         Viacúrovňová priorita – umožňuje priorizovať určité hovory nad inými kvôli bezpečnosti alebo iným dôvodom

·         Parkovanie hovorov – umožňuje zaparkovať hovor na jednom telefóne a prijať ho z druhého telefónu vytočením parkovacieho čísla

2.4.2       Softwarové telefóny

Softwarové telefóny bežia na počítačoch, kde používajú ako hlasový vstup  mikrofón zapojený do zvukovej karty a výstup buď reproduktory, slúchadlá alebo rôzne špecializované headsety pre profesionálne použitie v call centrách. Pripojenie môže byť realizované aj prostredníctvom bluetooth headsetov, ktoré sa používajú najmä na mobilných telefónoch, ale fungujú aj na počítačoch s bluetooth podporou. V poslednej dobe sú dostupné aj VoIP klienty aj na tzv. smartphonoch s vlastnými operačnými systémami (Symbian, Windows Mobile, Android a iné), ak tieto telefóny majú prístup k dátovým sieťam (3G, EDGE). To sa však nie veľmi páči mobilným operátorom, ktorí tak sú oberaní o zisky a vyskytli sa aj prípady blokovania prístupu na populárne VoIP služby (ako Skype) mobilnými operátormi.

Softwarových VoIP implementácií je v dnešnej dobe obrovský počet, či už firemných riešení alebo pre bežných užívateľov. Väčšina populárnych instant messengerov má zabudovanú podporu pre VoIP, ako napr. ICQ, Windows Live Messenger, Skype a pod, pričom podporujú väčšinou aj video hovory. Tieto programy poskytujú volania zadarmo medzi užívateľmi týchto sietí a k tomu poskytujú aj dodatkové platené služby na volanie do PSTN za nízke ceny do celého sveta. Fungujú väčšinou na uzavretých protokoloch.

Implementácie štandardných VoIP protokolov, ako SIP, sú tiež dostupné vo veľkom množstve, pričom veľká časť z týchto programov je typu open source a  zadarmo, je potrebné si len nájsť správneho SIP poskytovateľa.

Nevýhodou softwarového telefónu je potreba mať zapnutý počítač aby sme mohli prijímať hovory.

2.4.3       Analógové telefóny

Analógové telefóny nemusíme pri prechode do VoIP vyhadzovať. Môžeme ich ďalej používať aj vo VoIP sieti. To nám umožňujú tzv. analógové telefónne adaptéry - ATA (Analogue Telephone Adapter), do ktorých sa pripoja analógové telefóny cez FXS rozhranie, ktoré simuluje signalizáciu ústredne a digitalizuje hlasové signály z nich a tiež poskytuje aj napájanie. Poskytuje tak simulované klasické telefónne rozhranie. Do IP siete sa pripojí pomocou ethernetového rozhrania a zo strany IP siete sa chová ako skutočný IP telefón. Príklad takého adaptéra je na Obr. 17. Niektoré adaptéry umožňujú pripojenie ku počítaču aj cez USB port na použitie so softwarovým VoIP telefónom.

 

Obr. 17  Príklad VoIP adaptéra

 

2.4.4       VoIP servery a brány

VoIP servery sú často implementované softwarovo oproti hardwarovým zariadeniam v PSTN. Umožňuje to rýchlejšiu implementáciu potrebných funkcií. Bežne podporujú aj konektivitu s PSTN pomocou prídavného hardwaru.

Typickým príkladom takého servera je Asterisk. Je to open-source implementácia klasickej PBX v PSTN a tiež VoIP služieb, pričom na použitie len VoIP služieb nepotrebuje žiaden hardware. PSTN použitie vyžaduje prídavné karty do počítača, či už s digitálnymi alebo analógovými rozhraniami. Môže potom fungovať ako brána medzi PSTN a VoIP sieťami. Podporuje aj rôzne funkcie bežne dostupné v drahých PBX – konferenčné hovory, hlasovú poštu, interaktívne hlasové menu a desiatky iných vymenovaných v [9]. Asterisk podporuje aj video hovory a štandardné VoIP protokoly: H.323, SIP, a pod. a tiež špeciálny protokol IAX (Inter-Asterisk Exchange) na prepájanie jednotlivých ústrední Asterisk. Štandardné hlasové kodeky sú zdarma podporované, avšak niektoré (napr. G.729) musia byť dokúpené. Veľkou výhodou je aj možnosť pridávať vlastné funkcie do Asterisku pomocou prídavných softwarových modulov a tým vlastne zvyšovať možnosti tohto systému bez potreby nového hardwaru. Podporuje väčšinu unixových systémov (Linux, FreeBSD), neoficiálne aj Windows.  Konfigurácia je výhradne pomocou textových konfiguračných súborov, avšak existujú aj neoficiálne grafické rozhrania. Ďalšou výhodou je aj otvorenosť a veľká komunita používateľov prispievajúcich svojimi modulmi a odchytávaním chýb a tým vlastne zlepšujú Asterisk.

Ďalším VoIP a PSTN softwarovým systémom je Cisco Unified Communication Manager (CUCM). Tento je proprietárny, uzavretý a platený. Podporuje štandardné VoIP protokoly H.323, SIP, MGCP a neštandardné proprietárne, ako SCCP (Skinny Client Control Protocol). Beží na Cisco certifikovaných serveroch pod systémom Windows (serverové edície) a poskytuje podobné funkcie ako Asterisk. Konfigurácia je primárne pomocou jednoduchého web rozhrania, ktoré zvládne aj zatiaľ neskúsený správca. Podporuje aj rôzne redundantné a distribuovane zoskupovania serverov, ktoré zabezpečia najvyšší výkon a nepretržitú spoľahlivú prevádzku.

Okrem týchto dvoch hlavných systémov existuje aj niekoľko ďalších, medzi open-source bezplatnými napr. FreeSWITCH, Mysipswitch, a iné; medzi platenými napr. 3CX IP PBX. Málo ktoré však majú takú hardwarovú a softwarovú podporu ako Asterisk a CUCM.

3         Signalizačné protokoly

Na zostavenie, riadenie a ukončenie hovorov v sieťach VoIP, tak ako v sieťach PSTN, potrebujeme určitú signalizáciu. Na to slúžia signalizačné protokoly. Vo VoIP sieťach sa najviac používajú protokoly H.323 a SIP. Oba slúžia na dosiahnutie podobných cieľov, ale ich riešenia sú rozdielne.

3.1      H.323

H.323 je štandard vytvorený ITU, ktorý špecifikuje protokoly, komponenty a procedúry určené na poskytovanie multimediálnych komunikačných služieb po všeobecných paketových sieťach vrátane IP, ktoré negarantujú kvalitu prevádzky. Môže slúžiť na prenášanie zvuku v reálnom čase, zvuku a videa alebo aj dát. Zahŕňa všetko potrebné na zostavenie funkčnej VoIP siete, a to: signalizáciu, kodeky, spôsob prenosu dát, riadenie a pod. Orientuje sa predovšetkým na profesionálne nasadanie reálnymi telekomunikačnými operátormi a podporuje aj rôzne spoplatňovania hovorov a iné potrebné funkcie vyžadované telekomunikačnými operátormi, avšak je možné ho použiť v zjednodušenej verzii aj v bežných domácich zariadeniach.

Prvá verzia H.323 vyšla v roku 1996 a zaoberala sa primárne prenosom po LAN  (Local Area Network) sieťach, ale v praxi sa ihneď začal používať aj vo väčších sieťach, ako WAN (Wide Area Network). To bolo aj zohľadnené v ďalších verziách, ktoré vychádzali postupne v nasledujúcich rokoch a v roku 2006 vyšla zatiaľ posledná, šiesta verzia. Všetky nové verzie sú spätne kompatibilné s predchádzajúcimi. Bol to tiež prvý štandard, ktorý využíval protokol RTP na prenos dát.

 H.323 môže byť implementovaný v rôznych prostrediach, napr. pre VoIP bude implementovaná len zvuková časť, pri video telefonovaní zase zvuková a video časť, ďalej zvuk + dáta, alebo aj všetky tri, teda zvuk + video + dáta. H.323 podporuje aj viacbodovú prevádzku (multipoint), vrátane konferencií.

Tento štandard je tiež súčasťou „rodiny“ protokolov H.32x, ktoré riešia prenos multimediálneho obsahu cez rôzne typy sietí:

·         H.320 – popisuje spôsob prenosu cez ISDN siete

·         H.321 spolu s H.310 – popisuje prenos cez B-ISDN (širokopásmový ISDN)

·         H.322 – prenos po LAN sieťach s garantovanou prenosovou rýchlosťou

·         H.323  –  prenos po LAN sieťach s negarantovanou prenosovou rýchlosťou

·         H.324 – prenos po analógových telefónnych linkách, používaný v 3G mobilných sieťach

3.1.1       Sieťové komponenty

Štruktúrne je H.323 zostavený z komponentov, ktoré keď sa zapoja do siete, tak umožňujú multimediálne komunikácie spôsobom bod-bod alebo aj bod-multibod.

 

 

Obr. 18  Príklad zapojenia komponentov v sieti H.323

 

Tieto komponenty sú:

·         Terminály

·         Gateways - GW (brány)

·         Gatekeepers - GK (správcovia brán)

·         Multipoint control units - MCU (konferenčné jednotky)

Terminály, GW a MCU sa niekedy nazývajú ako koncové body (endpoints) a GK ako riadiaci prvok siete. Každý prvok siete má svoju špecifickú úlohu, ktorú v sieti plní. Na Obr. 18 je zobrazený príklad zapojenia týchto komponentov v sieti H.323.

3.1.1.1            Terminály

Komponentom, s ktorým sa koncový užívateľ najskôr stretne, je terminál. Ten môže byť v rôznych podobách, napr. hardwarový VoIP telefón, softwarový VoIP telefón na počítači, alebo video telefón a pod. Jeho úlohou je obojsmerne multimediálne komunikovať. Terminál musí podporovať aspoň prenos zvuku, video  a dátové prenosy sú nepovinné. Podporuje tiež multibodovú komunikáciu, t.j. konferenčné hovory.      

3.1.1.2            Brány (gateways)

Jedným z hlavných cieľov pri vývoji tohto štandardu bola možnosť komunikácie s inými sieťami, napr. PSTN, aby mohli tieto siete byť aj reálne integrované, t.j. aby neexistovali len samostatne bez možnosti komunikácie s ostatnými sieťami. To je dosiahnuté použitím brán. Brány prekladajú signalizácie potrebné na zostavenie a zrušenie hovorov z iného typu siete do H.323 signalizácie a konvertovaním multimediálnych informácií (napr. hlas) do formátu vhodného pre sieť H.323. Brány nie sú potrebné pri sieti zloženej len z H.323 prvkov.

3.1.1.3            Gatekeeper

GK je nepovinný komponent H.323 siete, avšak v prípade prítomnosti je to najdôležitejšia časť siete, pretože ostatné prvky musia všetku svoju aktivitu hlásiť GK. V sieti plní dôležité funkcie pre profesionálne nasadenie, ako adresovanie (preklad E.164 telefónnych čísiel na IP adresy), autorizáciu a autentifikáciu terminálov a brán, smerovanie hovorov, účtovanie hovorov, spravovanie prenosového pásma a riadenie prístupu do siete a iné. GK sám o sebe hovory neprenáša, slúži len na kontrolovanie a spravovanie ostatných prvkov siete, aby nedošlo napr. k preťaženiu prideleného pásma v sieti, neoprávneného využívanie siete a iné.

3.1.1.4            MCU

MCU slúži na vytváranie konferenčných hovorov medzi troma a viac účastníkmi. Existujú dve možnosti zapojenia: centralizované a decentralizované zapojenie, zobrazené tiež na Obr. 19.

Centralizované zapojenie je nasledovné: terminály účastníkov sa na MCU napoja a MCU ich potom prepojí, t.j. dátové toky hovorov idú priamo cez MCU. MCU dokáže zistiť podporované protokoly jednotlivých terminálov konferenčného hovoru a na základe tejto informácie potom v prípade, že terminály používajú iné kodeky, vie   prekódovať jednotlivé hovory tak, aby mohol každý terminál v konferencii prijímať hovor v kodeku, ktorý je podporovaný terminálom. To je však výpočtovo náročná úloha a aj preto MCU bývajú najdrahším komponentom siete. MCU je kvôli  tomu tiež rozdelený na dve časti – povinný je MC (Multipoint Controller) a nepovinný MP (Multipoint Processor). MC má na starosti úvodne zistenie podporovaných kodekov jednotlivých terminálov a zostavenie spojenia na základe toho. MP je jednotka, ktorá sa stará o mixovanie a prekódovanie dátových tokov od a k jednotlivým terminálom a môže byť implementovaná hardwarovo kvôli výkonu.

Obr. 19  MCU – centralizovaná a decentralizovaná prevádzka

V prípade decentralizovaného zapojenia sa multimediálne dáta neposielajú do MCU, ale posielajú si ich medzi sebou terminály so zabudovanou MP pomocou sieťového multicastu (kap. 2.2.2). Stále však terminály komunikujú s MC v MCU, aby MCU vedela, koľko simultánnych tokov dokážu terminály spracovať.

3.1.1.5            Zóny

V prípade použitia GK sa sieť H.323 delí na zóny, pričom zóna je zostavená vždy len z jedného gatekeepera,  jedného a viac terminálov a ľubovoľného počtu brán a MCU, ktoré sú poprepájane ľubovoľnou topológiou do siete.

3.1.2       Protokoly a štandardy H.323

H.323 používa binárne protokoly a iné štandardy vo svojej štruktúre. Tieto protokoly a štandardy nemusia byť používané len v H.323. Hlavné z nich:

·         Audio kodeky

·         Video kodeky

·         H.225.0 a jeho protokoly:

o        RAS (Registration, Admission, Status) - registrovanie, prístup a stav

o        Signalizácia hovorov

·         H.245 signalizácia pre média

·         RTP a RTCP

Audio kodeky sú popísané v kapitole 2.1.1. Video kodekom sa venovať nebudem. Tak isto RTP a RTCP boli popísané v kapitole 2.2.3.

3.1.2.1            H.225.0 – Signalizácia hovorov, RAS

H.225.0 definuje signalizáciu hovorov a RAS signalizáciu.

Signalizácia hovorov slúži na zostavenie, riadenie a ukončenie hovorov medzi dvoma koncovými bodmi. To sa uskutočňuje po vyhradenom kanále. Tento kanál je vytvorený medzi dvoma koncovými bodmi alebo medzi koncovým bodom a gatekeeperom. Táto signalizácia je založená na protokole Q.931, ktorý sa používa v ISDN na signalizáciu hovorov.

RAS je protokol, ktorý slúži na komunikáciu medzi koncovými bodmi (terminály, brány) a gatekeepermi. RAS je používaný na nasledujúce účely:

·         Gatekeeper discover (GRQ) – nájdenie gatekeepera pri napr. pripojení do siete. Koncové body tak zistia do ktorého gatekeepera sa majú zaregistrovať

·         Registrácia koncových bodov – používa sa na registráciu koncových bodov do zóny gatekeeperom

·         Povolenie koncovým pristúpiť do siete – povolí alebo nepovolí koncovým bodom existovať v zóne

·         Lokalizácia koncového bodu –  zistenie transportnej adresy koncového bodu a priradenie aliasu alebo E.164 čísla

·         Iné, napr. zmeny prideľovania pásma a zmeny stavov, ako napr. vyradenie koncového bodu zo siete

Správy RAS sa posielajú po vlastnom RAS kanáli. Tento kanál sa zostaví medzi koncovým bodom a gatekeeperom ešte pred akýmkoľvek iným kanálom. RAS sa nepoužíva v neprítomnosti gatekeepera.

3.1.2.2            H.245 – Signalizácia pre média

H.245 je signalizácia, ktorá slúži na výmenu riadiacich správ medzi koncovými bodmi a tieto správy sú prenášané po H.245 riadiacich kanáloch, ktoré sú otvorené permanentne, nezávisle od mediálnych kanálov. Hlavné typy týchto správ sú nasledujúce:

·         Terminal Capability Set (TCS) – oznamovanie schopností terminálov v oblasti kodekov, ktoré dokáže terminál vysielať a prijímať a vyjednanie kodeku, ktorý sa bude používať na komunikáciu.

·         Master Slave Determination – určí sa, kto je Master a kto je Slave. Je to potrebné to určiť pri niektorých príkazoch, ktoré povoľujú len jednému z nich ich vydávať

·         Open and Close Logical Channel - Otvorenie a zatvorenie logických kanálov, ktorými sa budú prenášať mediálne dáta, pričom tieto kanály sú jednosmerné, t.j. na príjem hlasu sa používa jeden logický kanál a na vysielanie iný

·         Iné správy

3.1.3       Charakteristiky a požiadavky na komponenty H.323

Každý komponent siete má nejaké určité minimálne požiadavky na protokoly a štandardy, ktoré musí podporovať podľa podmienok v štandarde H.323, aby s ním bol kompatibilný.

3.1.3.1            Terminály

Každý terminál H.323 musí podporovať aspoň tieto funkcie:

·         H.245 pre výmenu mediálnych schopností (kodekov) a tiež vytváranie mediálnych kanálov

·         H.225 pre signalizáciu hovorov

·         RAS na registráciu a ďalšie prístupové povolenia gatekeeperom

·         RTP a RTCP na prenos multimediálnych paketov

·         Audio kodek G.711

Na Obr. 20 je zobrazený kompletný protokolový model H.323 pre terminál. Nepovinné komponenty terminálu sú video kodeky, dátové protokoly a podpora MCU.

 

Obr. 20  Protokolový model terminálu

 

3.1.3.2            Brány

Ako bolo už skôr písané, brány poskytujú preklad signalizácie a mediálnych formátov medzi rôznymi sieťami. Protokolový model brány je zobrazený na Obr. 21. Na strane H.323 beží na bráne protokol H.245, ktorý sa stará o výmenu schopností koncových bodov, ďalej H.225, ktorý sa stará o hovorovú signalizáciu spolu s protokolom RAS, ktorý sa stará o registrovanie a iné funkcie gatekeeperom. Terminály tak komunikujú s bránou pomocou týchto protokolov, ktoré brána preloží transparentne (terminály o tom nevedia, zo strany H.323 siete sa javí cieľ ako H.323 terminál, aj keď je v skutočnosti v inej sieti) do formátu, ktorý používa sieť na druhej strane brány, napr. pri ISDN protokol Q.931 na hovorovú signalizáciu a iné. Brána môže podporovať aj viacero súčasných hovorov medzi H.323 a inou sieťou.

Brány sú logickými komponentmi H.323 a v praxi môžu byť implementované v jednom fyzickom serveri spolu s ostatnými komponentmi (gatekeeperom a MCU).

 

Obr. 21  Protokolový model brány

3.1.3.3            Gatekeeper

Keďže gatekeeper nie je povinná súčasť siete H.323, v jeho neprítomnosti sa koncové body nikde neregistrujú, ale v prípade, že je v sieti prítomný, musia sa všetky koncové body registrovať u gatekeepera. Ten ich potom spravuje. Definované má niektoré funkcie, ktoré musí podporovať:

·         Preklad adries (Address Translation) – hovory pochádzajúce z H.323 siete môžu používať alias ako adresa cieľového terminálu a hovory pochádzajúce mimo H.323 môžu používať napr. telefónne číslo vo formáte E.164 ako adresu terminálu. Úlohou prekladu adries je preložiť tieto formy adries do sieťovej adresy (napr. v IP sieti 192.168.3.15:874), čo umožní pripojenie ku cieľovému koncovému bodu pomocou tejto adresy.

·         Riadenie prístupu (Admission Control) – táto funkcia kontroluje prístup koncových bodov do H.323 siete. Môže im pomocou správ RAS povoliť alebo zamietnuť prístup do siete.

·         Spravovanie prenosového pásma (Bandwidth Control) – funkcia kontroluje práve používané množstvo prenosového pásma prebiehajúcimi hovormi a v prípade, že by nový hovor prekročil vopred pridelenú veľkosť pásma, tak pomocou RAS správ je tento hovor zamietnutý, aby nedošlo k zníženiu kvality prebiehajúcich hovorov.

·         Správa zóny (Zone Management) – poskytovanie vyššie uvedených funkcií pre všetky terminály, brány a MCU, ktoré sa nachádzajú v zóne riadenej gatekeeperom.

 

Obr. 22  Gatekeeper - protokolový model

 

Gatekeeper môže poskytovať aj nepovinné funkcie:

·         Signalizácia riadenia hovoru (Call-Control Signaling)

·         Autorizácia hovorov (Call Authorization) – možnosť blokovať hovory terminálov podľa zvláštnych pravidiel, napr. časové obmedzenia a pod.

·         Spravovanie hovorov (Call Management) – gatekeeper môže dohliadať na aktívne hovory v zóne, ktorú spravuje a uskutočňovať určité kroky na vyrovnanie zaťaženia siete

3.1.4       Príklad priebehu spojenia (Call flow)

Uvediem príklad priameho hovoru v sieti H.323 medzi dvoma terminálmi (T1 a T2) s prítomnosťou gatekeepera.

Nadviazanie spojenia:

 

Obr. 23  Nadviazanie spojenia

 

1.      T1 zašle RAS registračnú správu „ACK“ do gatekeepera, pričom žiada o priamu signalizáciu hovoru

2.      Gatekeeper povolí prístup T1 správou „ACF“ a povolí priamu signalizáciu hovoru

3.      T1 zašle správu H.225.0 signalizácie hovoru do T2, v ktorej žiada o spojenie

4.      T2 odpovedá správou „call proceeding“, ktorá znamená, že sa pokračuje v zostavovaní hovoru

5.      T2 sa registruje u gatekeepera rovnako, ako T1

6.      Gatekeeper povolí prístup T2

7.      T2 oznámi T1, že nastalo spojenie poslaním H.225.0 správy „alerting“

8.      T2 potvrdí nadviazanie spojenia poslaním H.225.0 správy „connect“ do T1 a hovor je nadviazaný

 

Výmena schopností terminálov cez H.245:

 

Obr. 24  Výmena schopností terminálov cez H.245

 

9.      Nadviaže sa riadiaci kanál H.245 medzi T1 a T2 priamo a T1 zašle správu „TerminalCapabilitySet“ do T2 na výmenu kodekových schopností.

10.  T2 potvrdí schopnosti T1 poslaním správy „TerminalCapabilitySetAck“

11.  T2 obdobne zašle správu „TerminalCapabilitySet“ do T1

12.  T1 potvrdí schopnosti T2 správou „TerminalCapabilitySet“ do T2

13.  T1 vytvorí mediálny kanál s T2 zaslaním správy „openLogicalChannel“ do T2. Transportná adresa RTCP kanálu je v tejto správe.

14.  T2 potvrdí vytvorenie jednosmerného kanálu z T1 do T2 zaslaním správy do „openLogicalChannelAck“ do T1. V správe je tiež transportná adresa priradená T2, na ktorú má posielať T1 RTP dáta.

15.  T2 tiež vytvorí mediálny kanál s T1 poslaním správy „openLogicalChannel“ do T1 s priloženou transportnou adresou RTCP kanálu

16.  T1 obdobne potvrdí vytvorenie jednosmerného kanálu z T2 do T1 zaslaním správy „openLogicalChannelAck“ s transportnou adresou priradenou T1 na posielanie RTP dát od T2. Takto už je nadviazané obojsmerné spojenie

 

Prenos RTP tokov a RTCP správ:

 

Obr. 25  Prenos RTP tokov a RTCP správ

 

17.  T1 zasiela po dobu trvania hovoru mediálne dáta do T2 pomocou RTP toku

18.  T2 obdobne zasiela po dobu trvania hovoru mediálne dáta do T1 pomocou RTP toku

19.  T1 zasiela správy RTCP do T2

20.  T2 obdobne zasiela správy RTCP do T1

 

 

Zrušenie hovoru:

Obr. 26  Zrušenie hovoru

 

21.   T2 začne s rušením hovoru poslaním správy H.245 „EndSessionCommand“ do T1

22.  T1 zruší hovor a potvrdí to T2 zaslaním H.245 správy „EndSessionCommand“

23.  T2 dokonči zrušenie hovoru zaslaním správy H.245 „Release Complete“ do T1

24.  T1 a T2 sa odpoja od gatekeepera zaslaním RAS správy „DRQ“ do gatekeepera

25.  Gatekeeper odpojí T1 a T2 a potvrdí to zaslaním „DCF“ správ obom terminálom

 

 

 

 

3.2      SIP

Session Initiation Protocol - SIP vznikol v roku 1996, teda v rovnakom roku ako H.323. Prvú verziu zostavili Henning Schulzrinne a Mark Handley pod RFC 2543, pričom v roku 2002 bola vydaná druhá verzia organizáciou IETF (Internet Engineering Task Force) v dokumente RFC 3261. SIP je textový protokol (ASCII) postavený na podobnom princípe, ako úspešné protokoly HTTP a SMTP, ktoré sú textové a veľmi jednoduché na pochopenie, čo je rozdiel oproti H.323, ktorý je binárny a má korene vo svete telekomunikácií. Spôsob komunikácie je teda typu klient/server, kde klient niečo žiada a server odpovedá na žiadosť určitou odpoveďou.

Podľa RFC 3261 je SIP protokol aplikačnej vrstvy, ktorý má za úlohu zostaviť, meniť a zrušiť multimediálne relácie (sessions), pričom tieto relácie môžu byť napr. hovory v kontexte VoIP, ale nie je obmedzený len na ne. SIP dokáže tiež pozvať nových účastníkov do už existujúcich relácií. SIP tiež podporuje transparentné mapovanie názvov (name mapping) a služby presmerovania (redirection services), ktoré umožňujú používateľom meniť fyzickú polohu pri nezmenenej kontaktnej adrese. Podporuje päť aspektov potrebných na zostavenie a zrušenie komunikácie:

·         Poloha používateľa: zistenie koncového systému, ktorý bude použitý na komunikáciu

·         Dostupnosť používateľa: zistenie ochoty volaného komunikovať

·         Schopnosti požívateľa: zistenie médií a ich parametrov, ktoré budú používané

·         Zostavenie relácie: zvonenie, vytvorenie parametrov relácie na oboch stranách

·         Spravovanie relácie: prenos a zrušenie relácií, zmena parametrov relácií

SIP nie je ako H.323, ktorý zahŕňa kompletné riešenie vrátane rôznych protokolov, kodekov a štandardov, SIP je skôr samostatný komponent, ktorý môže byť použitý na zostavenie multimediálnej komunikačnej architektúry. Vo VoIP zvykne byť používaný spolu s protokolmi RTP na prenos multimediálnych dát a SDP na vyjednanie schopností terminálov v oblasti kodekov. SIP teda sám o sebe neprenáša žiadne multimediálne dáta, len pomáha koncovým bodom sa nájsť a zostaviť spojenia. Je nezávislý na protokoloch transportnej vrstvy (TCP, UDP, ...).

3.2.1       Sieťové komponenty

Komponenty, z ktorých sa SIP štruktúra skladá, sú logické komponenty a väčšinou ich niekoľko je fyzicky implementované v jednom serveri, napr. softwarovo v Asterisk.

3.2.1.1            User agent - UA

UA je koncový bod siete, ktorý dokáže odosielať a prijímať správy SIP, v praxi je to VoIP telefón. Ako bolo v úvode písane, SIP je založený na modeli klient/server, teda aj UA je podľa toho zložený  z dvoch komponentov - User Agent Client (UAC), ktorý odosiela požiadavky a User Agent Server (UAS), ktorý na požiadavky odpovedá. Požiadavky budú popísane v ďalšej kapitole.  Dva UA dokážu medzi sebou komunikovať aj bez ostatných SIP komponentov.

Zoberme si dva SIP telefóny. V prvom telefóne sa vytočí číslo a užívateľ čaká na spojenie. UAC v tomto telefóne vygeneruje požiadavku, že sa chce spojiť s daným číslom a pošle túto požiadavku do UAS, ktorý sa nachádza v druhom telefóne. UAS požiadavku príjme a na základe podmienok zašle odpoveď na ňu do UAC prvého telefónu odpoveď, napr. že druhý telefón zvoní a čaká sa na zdvihnutie slúchadla.

 

Obr. 27  Komunikácia UA v SIP

3.2.1.2            Proxy server

SIP proxy server je komponent, ktorý smeruje SIP požiadavky z UAC do cieľového UAS a tiež odpovede UAS do pôvodných UAC. Takéto požiadavky môžu prejsť cez niekoľko proxy serverov pri ceste k cieľovému UAS, pričom každý z týchto proxy serverov sa rozhoduje, kde tieto požiadavky zašle a tiež pozmení predtým, než ich pošle ďalšiemu proxy serveru. Odpovede UAS potom sú potom nasmerované po tej istej ceste, po ktorej sa dostali k UAS. Proxy servery existujú v dvoch variantoch – tzv. stateless (bezstavové) stateful (stavové).  

Stateless proxy funguje na princípe jednoduchého preposielania správ. Každú požiadavku prepošle do jediného cieľa podľa smerovacích pravidiel a typu požiadavky. Každú odpoveď pošle spätným smerom, ktorým bola požiadavka odoslaná. Po tom, ako boli správy zaslané, si o nich neuchováva žiadne informácie.

Stateful proxy môže správu preposlať do viacerých cieľov. Kvôli tomu má vlastný UAS, ktorý prijíma požiadavky, ďalej jadro, ktoré sa rozhoduje, čo sa bude robiť s prijatou  požiadavkou a môže mať aj niekoľko UAC, ktoré potom prepošlú požiadavky do viacerých cieľov, kvôli tomu si musí pamäť stavy s každým z týchto cieľov.

3.2.1.3            Registrar server

Registrar server (registračný server) prijíma registračné požiadavky od klientov  a zaznamenáva ich do lokalizačnej databázy, ktorá sa nazýva lokalizačná služba, pre doménu, ktorú tento server spravuje. Tieto požiadavky klienti vysielajú pravidelne, aby bola ich poloha aktuálna. Lokalizačná služba je potom používaná ostatnými servermi za účelom správneho smerovania externých požiadaviek na komunikáciu.

3.2.1.4            Location service (lokalizačná služba)

Lokalizačná služba je databáza, ktorá obsahuje zoznam užívateľov, ktorí sú registrovaní v danej doméne spravovanej lokálnym proxy serverom a registračným serverom. Záznam môže napr. obsahovať práve používanú IP adresu user agenta, ktorej prislúcha daná SIP adresa, alebo aj niekoľko rôznych adries, kde môže byť user agent dostupný.

3.2.1.5            Redirect server

Redirect server presmeruje user agentov odpoveďou typu 3xx do alternatívnych cieľových adries podľa lokalizačnej služby. Používa sa pri potrebe zníženia zaťaženia proxy servera.

 

Obr. 28  Príklad zapojenia komponentov SIP

 

3.2.2       Popis prokolu

V tejto kapitole popíšem ako SIP komunikuje priamo medzi jednotlivými komponentmi a keďže všetky jeho správy sú textového charakteru, sú ľahko zrozumiteľné.

3.2.2.1            SIP adresa

Každý user agent je registrovaný v sieti pomocou SIP adresy, bežne v tvare „uzivatel@host“, napr. „peter.gulicka@tuke.sk“, pričom v tvare URI (Uniform Resource Identifier) má podobu „sip:peter.gulicka@tuke.sk“. Je to podobné emailovej adrese. Najvšeobecnejšia definícia je v tvare:

 

sip[s]:[user:[password]@]host[:port][;uri-parameters[;...]][?headers]

 

kde parametre vnútri zátvoriek [...] sú nepovinné. Adresa môže začínať buď v tvare „sip:“ alebo „sips:“, pričom „sips:“ znamená, že daný hovor musí byť pri volaní kryptovaný.

Povinné parametre:

·         host – označuje názov domény, alebo IP adresy, kde sa nachádza cieľ

Nepovinné parametre:

·         user – označuje konkréntneho užívateľa v danej doméne/IP adrese (IPv4 alebo IPv6)

·         password – heslo, ktoré je spojené s daným užívateľom. Neodporúča sa ho používať

·         port – číslo portu, kde bude požiadavka poslaná

·         uri-parameters – dodatkové parametre oddelené „;“ v tvare                        „názov-parametru=parameter“

·         headers – hlavičky, ktoré sa použijú pri zostavovaní požiadavky

 

Príklady SIP adries:

sip:peter.gulicka@tuke.sk:987

sip:peter.gulicka@tuke.sk ;maddr=239.255.255.1;ttl=15

sip:192.168.0.8

sip:+0823147787@gateway.sk

 

V praxi vo väčšine prípadov SIP poskytovatelia označujú užívateľov priamo ich telefónnymi číslami, ktorými sú dosiahnuteľní z PSTN, napr. ak má užívateľ telefónne číslo +421823147787, kde +421 je predvoľba Slovenskej republiky, 823 je predvoľba operátora „tuke.sk“ a 147787 je číslo užívateľa vnútri operátorovej siete, tak jeho SIP adresa môže byť napr. „sip:147787@tuke.sk“, alebo „sip: +421823147787@tuke.sk“. V prípade, že užívateľ volá zo svojho SIP telefónu a vytočí nejaké telefónne číslo typu E.164 mimo siete operátora, napr. +421942788891, tak telefón zostaví cieľovú SIP adresu podľa vnútorného nastavenia telefónu ako „sip:+421942788891@tuke.sk“, pričom túto adresu s požiadavkou na spojenie odošle proxy serveru, ktorý sa potom postará o preklad E.164 časti volanej SIP adresy pomocou systému ENUM a proxy server už nasmeruje požiadavku buď cez bránu do PSTN alebo cez Internet podľa toho, kde je cieľové číslo umiestnené.

3.2.2.2            Správy v SIP (požiadavky a odpovede)

Ako už bolo spomenuté, SIP pracuje na princípe klient/server, kde klient žiada server o nejakú službu a server odpovedá klientovi odpoveďou, pričom tieto požiadavky a odpovede sa nazývajú správy. Typy požiadaviek a odpovedí v SIP sú v princípe prebraté z protokolu HTTP.

Zoberme si príklad, že voláme zo SIP telefónu, ktorý má SIP adresu „peter.gulicka@tuke.sk“. Chceme zavolať používateľovi, ktorého SIP adresa je „jan.prib@tuke.sk“. Náš telefón, presnejšie UAC časť telefónu vytvorí požiadavku, ktorú odošle volanému SIP telefónu, konkrétne do jeho UAS časti. Táto požiadavka (alebo správa), ktorú volaný telefón prijme, môže mať potom tvar uvedený v Tab. 4.

Tab. 4    Príklad SIP požiadavky

Číslo riadku:

01                   

02                   

03                   

04                   

05                   

06                   

07                   

08                   

09                   

10                   

11                   

12                   

13                   

14                   

15                   

16                   

17                   

 

INVITE sip:jan.prib@tuke.sk SIP/2.0

Via: SIP/2.0/UDP sip.tuke.sk

To: Jan Prib <sip:jan.prib@tuke.sk>

From: Peter Gulicka <sip:peter.gulicka@tuke.sk>

Call-ID: d752af44972c@sip.tuke.sk

CSeq: 101 INVITE

Contact: <sip:peter.gulicka@sip.tuke.sk>

Content-Type: application/sdp

Content-Length: 187

 

v=0

o=user1 51633745 1348648134 IN IP4 16.188.155.140

s=Interactive Conference

c=IN IP4 224.2.4.4/127

t=0 0

m=audio 3456 RTP/AVP 0 22

a=rtpmap:22 application/g723.1

 

Každý riadok v správe musí byť oddelený dvoma znakmi CRLF, ktorý je  v systéme ASCII v hexadecimálnom formáte vyjadrený ako „0D0A“. V systéme Windows je tento znak pridaný do textu po stlačení klávesy Enter, avšak napr. v systéme Linux sa pridá len „0A“, ale SIP vyžaduje „0D0A“.  SIP správa má vo všeobecnosti tento tvar:

Počiatočný riadok

Hlavička správy

(Prázdny riadok CRLF)

[Telo správy]

Počiatočný riadok (Start line) – tento riadok môže mať dva rôzne tvary a to podľa toho, či sa jedná o požiadavku alebo odpoveď. V prípade požiadavky sa skladá z týchto polí, ktoré sú oddelené jednou medzerou:

METÓDA Požadované-URI SIP-Verzia

Metóda - označuje typ požiadavky. Pôvodný RFC 3261 definuje šesť takýchto metód:

REGISTER – žiadosť o zaregistrovanie kontaktných informácií

INVITE – žiadosť o zostavenie spojenia

ACK – potvrdenie prijatia odpovede na INVITE

CANCEL – zrušenie práve prebiehajúcej INVITE

BYE – žiadosť o zrušenie spojenia

OPTIONS – na zisťovanie schopností serverov alebo UA v oblasti podporovaných metód, kodekov a pod. bez zostavenia spojenia

Existujú však aj iné metódy, ktoré sú definované v iných RFC dokumentoch, ale nebudem sa im venovať, pretože sú to doplnkové metódy.

Požadované URI  –  určuje cieľ, ktorému je daná požiadavka určená

Sip verzia – označuje verziu SIP protokolu (staršia z roku 1996: SIP/1.0, novšia z roku 2002: SIP/2.0), ktorú používa odosielateľ požiadavky

V prípade požiadavky z Tab. 4:

01                  INVITE sip:jan.prib@tuke.sk SIP/2.0

sa jedná o požiadavku typu INVITE, cieľ „sip:jan.prib@tuke.sk“ a verzia protokolu SIP/2.0.

V prípade, že sa jedná o odpoveď, ktorú posiela UAS spať do UAC po odoslaní požiadavky, môže mať odpoveď tvar, aký je v Tab.5, kde je odpoveď na požiadavku z prvého príkladu a hovor sa môže začať:

 

 

 

 

 

 

 

Tab. 5    Príklad SIP odpovede

Číslo riadku:

01                   

02                   

03                   

04                   

05                   

06                   

07                   

08                   

09                   

10                   

11                   

12                   

13                   

14                   

15                   

 

SIP/2.0 200 OK

Via: SIP/2.0/UDP sip.tuke.sk

To: Jan Prib <sip:jan.prib@tuke.sk>

From: Peter Gulicka <sip:peter.gulicka@tuke.sk>

Call-ID: d752af44972c@sip.tuke.sk

CSeq: 101 INVITE

Content-Length: 187

 

v=0

o=user1 51633745 1348648134 IN IP4 16.188.155.20

s=Interactive Conference

c=IN IP4 224.2.4.4/127

t=0 0

m=audio 3456 RTP/AVP 0 22

a=rtpmap:22 application/g723.1

 

Všeobecný tvar odpovede je:

SIP-Verzia Stavový-kód Textová-reprezentácia

Sip verzia – určuje verziu SIP, ktorú používa UAS.

Stavový kód – trojčíselná reprezentácia výsledku spracovania požiadavky. Prvé číslo určuje triedu odpovede, zvyšné špecifikujú presnú odpoveď. Tieto triedy sú:

1xx: Informačná (Provisional) – požiadavka bola prijatá a ďalej sa spracúva

2xx: Úspešná (Success) – požiadavka bola úspešne spracovaná

3xx: Presmerovanie (Redirection) – je potrebné vykonať ďalšie úkony na dokončenie požiadavky (napr. znovu opakovať u iného cieľa)

4xx: Chyba klienta (Client error) požiadavka obsahuje zlú syntax, prípadne nemôže ju server prijať

5xx: Serverová chyba (Server Error) – server nevie spracovať inak správnu požiadavku

6xx: Všeobecná chyba (Global failure) – požiadavka nemôže byť nikde spracovaná

Textová reprezentácia – zobrazuje textovú reprezentáciu stavového kódu. Zatiaľ čo stavový kód číta priamo program telefónu, textová reprezentácia slúži na to, aby mohli ľahšie vývojári odhaľovať chyby, teda je určená len pre ľudí.

Napr. odpoveď s číslom „200“ má textovú reprezentáciu „OK“ a znamená, že volaný user agent prijal hovor (zdvihol slúchadlo).

Hlavička správy – skladá sa z rôznych parametrov, ktoré sú vo formáte:

názov-parametra: parameter

pričom parametre sú oddelené opäť CRLF. V príklade z Tab. 4 je hlavička v riadkoch 2 až 9. Po ukončení hlavičky musí nasledovať jeden prázdny riadok, ako je vidno v 10. riadku v našom príklade. Niektoré z parametrov sa môžu nachádzať len v požiadavkách a niektoré len v odpovediach. Týchto parametrov je veľa, spomeniem len tie najdôležitejšie:

Telo správy – je nepovinné. V prípade, že sa v správe nachádza, môže niesť nejaké dáta. Pri VoIP použití väčšinou tieto dáta tvorí SDP protokol, ktorý nesie informácie o schopnostiach daného user agenta v oblasti kodekov. V príklade z Tab. 4 telo správy začína od 11. riadku.

3.2.2.3            SDP protokol

SDP je textový protokol, ktorý plní podobnú úlohu v SIP, akú plní protokol H.245 v štandarde H.323, teda slúži na výmenu schopností terminálov v oblasti kodekov, adresy, porty,  protokoly a iné parametre, ktorými budú prenášané mediálne dáta, t.j. samotný hovor. SDP samotné dáta neprenáša, len vyjedná podmienky, za ktorých budú tieto dáta prenášané. Jeho činnosť je opísaná v RFC 2327 z roku 1998 a revidovanej verzii v RFC 4566  z roku 2006.

SDP pracuje na štýl vytvorenia relácie (Session), v ktorej existuje odosielateľ mediálnych dát, prijímateľ týchto dát a dátové toky prúdiace od odosielateľa k prijímateľovi. Túto reláciu definuje popis relácie (Session Sescription), ktorý je zostavený z textových riadkov vo formáte UTF-8, v ktorých sú parametre a ich hodnoty vo formáte

<typ>=<hodnota>

pričom <typ> je názov parametra, pričom je vždy dlhý len jeden znak z dôvodu zmenšenia veľkosti a <hodnota> je textová hodnota daného parametra. Tento popis relácie je prenášaný v tele správy v SIP protokole, ako je možné vidieť v Tab. 4 od 11. riadku a v Tab. 5 od 9. riadku. Samotne je uvedený tento príklad v Tab. 6.

 

Tab. 6    Príklad SDP popisu relácie

Číslo riadku:

01                   

02                   

03                   

04                   

05                   

06                   

07                   

 

v=0

o=user1 51633745 1348648134 IN IP4 16.188.155.140

s=Interactive Conference

c=IN IP4 224.2.4.4/127

t=0 0

m=audio 3456 RTP/AVP 0 22

a=rtpmap:22 application/g723.1

 

Parametre sú rozdelené do troch typov: Session Description (popis relácie), Time description (popis času) a Media description (popis média), viac v Tab. 7.

 

 

 

 

Tab. 7    Popis parametrov SDP

Session Description: (* označuje nepovinné parametre)

v=

Verzia SDP protokolu

o=

Tvorca relácie a identifikátor relácie

s=

Názov relácie

i=*

Informácie o relácii

u=*

URI o popise relácie

e=*

Emailová adresa

p=*

Telefónne číslo

c=*

Informácie o spojení

b=*

Šírka pásma, ktorá bude použitá pri prenose

z=*

Časová zóna

k=*

Kľúč na šifrovanie

a=*

Dodatočné atribúty relácie

Time description:

t=

Čas, počas ktorého je relácia aktívna

r=*

Počet opakovania

Media description:

m=

Názov média a transportná adresa

i=*

Popis obsahu

c=*

Informácie o spojení

b=*

Informácie o šírke pásma

k=*

Kľúč na šifrovanie

a=*

Atribúty médií (kodeky a pod)

 

 Každý parameter má definovaný formát, ale nebudem sa tomu detailne venovať, pretože to je nad rámec tejto práce.

  

3.2.2.4            Príklad priebehu spojenia

 

Obr. 29  Príklad priebehu spojenia SIP

 

Na Obr. 29 je príklad priebehu spojenia pomocou SIP. Užívateľ so SIP adresou  „sip:peter.gulicka@tuke.sk“, ktorého SIP telefón budem ďalej nazývať T1,  chce zavolať užívateľovi so SIP adresou „sip:jan.prib@voip.sk“ a jeho SIP telefón budem ďalej nazývať ako T2. T1 je zaregistrovaný v sieti „tuke.sk“, ktorú spravuje SIP proxy server „tuke.sk“, ktorú budem ďalej nazývať P1. T2 je zaregistrovaný v sieti  „voip.sk“, ktorú spravuje SIP proxy server „voip.sk“, ktorý budem nazývať P2.

Užívateľ vlastniaci T1 teda chce zavolať užívateľovi, ktorý vlastní telefón T2. T1 ale nevie, že kde sa T2 nachádza v sieti „voip.sk“, tak pošle požiadavku typu „INVITE sip:jan.prib@voip.sk ...“ proxy serveru P1, ktorý spravuje jeho sieť, nech to zistí. Tento server tiež nevie, kde sa T2 nachádza a preto ďalej prepošle túto požiadavku do P2. P1 zatiaľ pošle odpoveď do T1 typu „100 Trying“, ktorá oznámi T1, že požiadavka bola prijatá proxy P1 a ďalej sa spracováva. P2 túto požiadavku od P1 prijme a vyhľadá v lokalizačnej databáze IP adresu T2 a prepošle do T2 požiadavku. P2 zároveň zašle odpoveď typu „100 Trying“ do P1, ktorá opäť indikuje, že požiadavka bola prijatá a ďalej sa spracováva. T2  príjme túto požiadavku a začne zvoniť a zároveň túto skutočnosť oznámi odpoveďou typu „180 Ringing“, ktorá je potom spätne po tej istej ceste od T2 po P2 a P1 doručená do T1. T1 prehraje užívateľovi signál zvonenia a čaká na zdvihnutie slúchadla T2. Po zdvihnutí slúchadla T2 odošle T2 odpoveď typu „200 OK“, ktorá sa opäť rovnako dostane cez P2 a P1 do T1. T1 obratom zašle požiadavku typu „ACK“ priamym spojením do T2, ktoré už vynecháva obe proxy P1 a P2 a hovor môže po vyjednaní parametrov spojenia pomocou SDP protokolu začať. Mediálne dáta prúdia priamo medzi telefónmi bez proxy serverov.

Po skončení hovoru užívateľ telefónu T2 zloží slúchadlo a to spôsobí zaslanie požiadavky typu „BYE“ priamym spojením od T2 do T1, pričom T1 na to odpovedá odpoveďou typu „200 OK“ a hovor sa ukončil.

3.3      Problém prechodu cez NAT

Protokoly H.323 a SIP sa spoliehajú pri vytvorení mediálneho spojenia pomocou RTP paketov na to, že zdrojový a cieľový telefón majú tzv. verejnú IP adresu, t.j. je možné sa na telefón s touto adresou priamo pripojiť z celého Internetu. To však ale nemusí vždy platiť. Ako bolo skôr spomenuté, kvôli problému obmedzeného počtu IPv4 adries, ale aj kvôli snahe zakryť vnútornú sieť pred možnými útokmi z Internetu, sa začal vo veľkom nasadzovať systém prekladania adresy – NAT, ktorý umožňuje veľkému počtu IP klientov zdieľať jednu verejnú IP adresu. Týmto klientom je potom priradená tzv. privátna IP adresa, ktorá je z rozsahu privátnych IP adries, ktoré sú na to určené. Rozsah týchto privátnych adries je nasledujúci:

10.0.0.0 – 10.255.255.255 (16,7+ milióna adries)

172.16.0.0 – 172.31.255.255 (1+ milión adries)

192.168.0.0 – 192.168.255.255 (65536 adries)

IP adresy z týchto rozsahov sa môžu znovu používať ľubovoľne veľa krát, avšak nie sú dosiahnuteľné priamo z Internetu práve kvôli tomu, že IP adresy z týchto rozsahov môžu byť znovu použité neobmedzene veľa krát.

Na Obr. 30 je zobrazený typický scenár zapojenia takejto siete. Počítače a VoIP telefóny sú vo vnútornej sieti a majú priradené adresy z rozsahu, napr. „192.168.0.1“, pričom z Internetu sa javia, ako keby používali adresu „46.95.66.14“. Klienti zvnútra siete sa môžu na Internet pripájať tak, že NAT server prepíše v IP datagramoch potrebné adresy a porty, ktoré potom používajú externé počítače na zaslanie dát späť do NAT a NAT potom tieto dáta posiela vo vnútri siete. Z Internetu sa však nedá pripojiť ani na jeden klient vo vnútri privátnej siete, pripojiť sa je možné len na NAT. To prakticky znemožňuje priamu komunikáciu koncových bodov, na ktorej sú SIP a H.323 závislé.

 

Obr. 30  Typický scenár zapojenia siete s NAT

 

Pri použití NAT nemá SIP protokol problém zostaviť reláciu, pretože o preposielanie signalizácie sa starajú proxy servery. Problém nastane, keď sa začne zostavovať mediálne spojenie pomocou SDP protokolu, ktorý sa zasiela v SIP požiadavke. Ako bolo už  pri popise SDP protokolu povedané, posiela sa v jeho parametroch aj transportná adresa, na ktorú sa má druhý telefón pripojiť a posielať hovorové dáta. Táto transportná adresa je ale odvodená z IP adresy, ktorú má telefón priradenú, t.j. ak zašle druhému telefónu, ktorý je v sieti mimo NAT, svoju privátnu adresu (napr. 192.168.1.1), tak druhý telefón sa na túto adresu nevie pripojiť kvôli hore uvedeným dôvodom a teda nemôže ani prebehnúť hovor. Pri H.323 nastáva podobný problém.

Riešení tohto problému je niekoľko. Príklad uvediem pre SIP.

1.      Použitie Aplication Level Gateway spolu s NAT v jednom serveri. ALG rozumie protokolu SIP a SDP, pričom prepisuje transportné adresy v nich tak, aby umožnili sa telefónu spojiť s iným telefónom.

2.      Použitie Session Border Controller – pracuje na rozhraní medzi vnútornou a vonkajšou sieťou, t.j. na tom istom serveri, ako NAT a pracuje podobne, ako proxy server v SIP, avšak prebieha cez neho kompletná komunikácia, vrátane mediálneho toku dát, t.j. telefón vo vnútri siete komunikuje len so SBC a SBC vytvára spojenia do vonkajšej siete podľa požiadaviek telefónu. V SIP je nazvaný ako back-to-back user agent.

3.      Použitie rôznych protokolov, ako STUN (Session Traversal Using NAT), TURN (Traversal Using Relay NAT), ICE (Interactive Connectivity Establishment), ktoré sa snažia všeobecne riešiť problém prechodu cez NAT.

3.4      SIP verzus H.323

SIP mal zo začiatku menšiu podporu, ako H.323, avšak za posledné roky sa veľmi rozšíril a veľký počet VoIP poskytovateľov dnes funguje na báze SIP. Je to hlavne vďaka tomu, že protokol SIP je postavený z elementov, ktoré urobili Internet to, čo je dnes. Je jednoduchý, má krátku dokumentáciu oproti H.323, všetka signalizácia prebieha v textovej forme, a tiež väčšinou stavov a typu adries preberá z overených spôsobov, ako HTTP, SMTP protokolov a URI značenia adries, ktoré sa používajú vo veľkom meradle na Internete a fungujú bez problémov. Podporuje tiež skoro všetky funkcie protokolu H.323. SIP umožňuje tiež vysokú recykláciu zdrojového kódu z ostatných Internetových protokolov.

Jednoduchosť protokolu a blízkosť k Internetu je hlavným dôvodom, prečo sa vo veľkej miere nasadzuje, pretože to vedie k nižšej cene vývoja, keďže odhaľovať chyby v textovom protokole SIP je jednoduchšie, ako v binárnom H.323. Dá sa povedať, že H.323 sa snaží používať „staré“ metódy z telekomunikačných protokolov na báze spájania okruhov, pričom SIP používa novodobé a jednoduché metódy z paketových sietí, ktoré sa už preverili úspechom Internetu a ktoré novodobí vývojári preferujú viac.

4         Vplyvy na kvalitu hovoru

V tejto kapitole budú opísané najčastejšie faktory, ktoré vplývajú na kvalitu hovoru – oneskorenie, jitter, strata paketov a pod. Každý z nich môže spôsobiť zníženie vnímanej kvality volajúcimi. Načrtnuté budú tiež formy riešenia týchto problémov.

4.1      Oneskorenie

Oneskorením sa vo VoIP väčšinou chápe ako doba potrebná na prenos hlasového paketu od zdroja do cieľa, prípadne ako čas, ktorý trvá od momentu vyslovenia hlasu účastníkom hovoru do momentu keď to bude druhý účastník počuť vo svojom slúchadle. Štandardne by takéto oneskorenie nemalo presiahnuť 150 milisekúnd. Nad 150ms už začínajú účastníci hovoru cítiť, že druhej strane nejako trvá odpoveď, čo spomaľuje konverzáciu a hovor trvá dlhšie, čo môže stáť obe strany peniaze.

Zdrojov oneskorenia v prípade VoIP je niekoľko:

1.      Oneskorenie kodeku – toto oneskorenie je spôsobené tzv. algoritmickým oneskorením, ktoré vyplýva zo spôsobu, akým kodek pracuje a tiež aj od výkonu procesoru, ktorý prevádza nekomprimovaný hlas na dáta kodeku. Kvôli tomu zvyknú niektoré telefóny mať aj špecializované DSP (Digital Signal Processor) na minimalizovanie tohto typu oneskorenia. Celkové oneskorenie má najnižšie kodek G.711 (0,75ms), ktorý nepoužíva žiadne predchádzajúce vzorky na výpočet nových. Ostatné kodeky však predchádzajúce vzorky používajú a ich oneskorenie je rádovo vyššie, napr. kodek G.729 má celkové oneskorenie okolo 10ms. Toto oneskorenie je fixné a nedá sa ovplyvniť.

2.      Oneskorenie pri vytvorení paketu - ako bolo už písané v kap. 2.2.4, hlasové kodeky vysielajú svoje parametre v paketoch len v určitých časoch. Napr. kodek G.711 odosiela dve vzorky v jednom pakete  každých 20ms.  Toto oneskorenie je tiež fixné.

3.      Serializačné oneskorenie – súvisí s rýchlosťou rozhrania, po ktorom je hlas prenášaný. Napr. 64kb/s linka dokáže preniesť 64B paket za 8ms, zatiaľ čo 100Mb/s linka dokáže ten istý paket preniesť len za 0,005ms. Toto oneskorenie síce nie je fixné, závisí od rýchlosti rozhrania, ale vo všeobecnosti pri použití rýchlych rozhraní na väčšine cesty paketu je zanedbateľné.

4.      Oneskorenie média – toto oneskorenie je spôsobené fyzikálnymi zákonmi, ktoré určujú akou maximálnou rýchlosťou môže signál prejsť po fyzickom prenosovom médiu, ako napr. optické vlákna alebo kovové káble. Toto oneskorenie je funkciou len vzdialenosti a je citeľné pri veľkých vzdialenostiach, napr. pri satelitnej komunikácii trvá rádiovému signálu až 250ms kým sa dostane zo Zeme na geostacionárny orbit (36500km) k satelitu a ďalších 250ms na návrat na Zem, čo je spolu až 500ms. S týmto oneskorením sa nedá nič robiť.

5.      Oneskorenie radenia paketov (Queuing delay) – toto oneskorenie je spôsobené väčšinou smerovačmi (routers) v ceste paketu od zdroja po cieľ. Smerovač po príchode paketu sa musí rozhodnúť, kde ho nasmeruje, aby úspešne dorazil do cieľa. Toto rozhodnutie však môže robiť len s jedným paketom v každom okamihu. Prichádzajúce pakety sa preto radia do radu (buffer), v ktorom čakajú na to, aby boli spracované. Čas, ktorý čakajú v rade, spôsobuje oneskorenie. Tento rad však môže obsahovať rôzne typy paketov, napr. hlasové pakety, ktoré si vyžadujú okamžité spracovanie, alebo dátové pakety, ktoré bývajú veľké, ale nezáleží na rýchlosti alebo poradí ich spracovania. Tento typ oneskorenia sa ako jediný dá výrazne ovplyvniť a to tak, že prichádzajúce pakety sú spracovávané nie v poradí, v akom prišli, ale podľa ich dôležitosti, t.j. hlasové dáta by mali mať najvyššiu prioritu a spracovať sa ihneď, ako sú smerovačom prijaté. To sa rieši pomocou QoS, ktoré bude popísané ďalej.

Dodatočné oneskorenie pri VoIP hovoroch môže tiež byť spôsobené konverziou z jedného typu siete na druhý, napr. pri PSTN/SIP konverzii v bránach. To môže byť najviac citeľné v prípade, že požívame VoIP operátora na ušetrenie nákladov pri medzinárodných hovoroch z PSTN siete opäť do PSTN siete, t.j. hlasové dáta prechádzajú dvojitou konverziou, najprv z PSTN do siete VoIP a potom v cieli z VoIP do PSTN siete.

4.2      Jitter

Zdrojom oneskorenia môže byť aj tzv. jitter, ktorý znamená premenlivosť času príchodu paketov. Napr. ak kodek posiela pakety každých 20ms, teoreticky by mali prichádzať do cieľa tiež každých 20ms. To však v prípade vyťažených liniek nemusí platiť a pakety môžu prichádzať nerovnomerne, napr. skôr alebo neskôr ako 20ms a tento rozdiel je jitter. To sa musí kompenzovať v tzv. dejitter bufferi, ktorý vyrovnáva rozdiel príchodu paketov.  Tento buffer však spôsobuje ďalšie oneskorenie, pretože sa musí niekoľko paketov držať v rade určitý čas, aby zaistil nepretržitý tok hlasových dát do kodeku, ktorý dekóduje hlasové dáta, inak by kodek nemal čo dekódovať a nastalo by ticho až do príchodu ďalšieho paketu. Tento buffer tak zaisťuje plynulosť hovoru bez prerušenia za cenu zvýšenia oneskorenia. Jeho veľkosť (počet paketov v ňom obsiahnutých) môže byť buď fixná, alebo dynamická, ktorá sa prispôsobuje jitteru na linke, v ktorej je zapojený. Štandardne by mal byť jitter menej ako 30ms.

RTP protokol poskytuje informáciu o časovej súslednosti (timestamp) vo svojich paketoch a je možné podľa toho aj prispôsobiť veľkosť dejitter buffera. To je užitočné aj pre prípad, že pakety dorazia v inom poradí, v akom boli odoslané a môžu byť tak aj spätne zoradené.

Obr. 31  Dejitter buffer

 

4.3      Strata paketov

Keďže Internet nie je spoľahlivá sieť, ale sieť typu best effort, očakáva sa aj možnosť straty paketov. Dôvodov môže byť viac – nespoľahlivosť linky, preťažené smerovače, ktoré začnú zahadzovať pakety v prípade preplnenia ich radu, alebo iné javy. Strata paketov je väčšinou náhodného charakteru a nedá sa predvídať.

Na prenos hlasu sa používa vo VoIP protokol UDP, ktorý neopakuje pakety v prípade ich nedorazenia do cieľa, čo by ani nemalo zmysel vo VoIP. Za stratené pakety sa vo VoIP použití považujú pakety, ktoré nie len že vôbec nedorazili, ale aj pakety, ktoré dorazili neskoro (nad určitý limit) a kodek musí túto stratu nejako zakryť. Toto zakrytie strát sa nazýva v angličtine packet loss concealment. Metódy sú rôzne, niektoré kodeky jednoducho ignorujú stratu (G.711) a to znamená ticho počas doby, po ktorej by bol tento paket prehraný. Niektoré interpolujú hlas z predchádzajúcich paketov alebo môžu prehrať posledný dorazený paket ešte raz. Štandardne by mala byť strata paketov pod 1% počas celého hovoru.

4.4      Echo

Echo, alebo ozvena, je nežiaduci efekt, ktorý spôsobujú vo VoIP samotné telefóny tým, že zachytávajú mikrofónom aj časť zvuku reproduktoru. Výsledkom toho je, že hovoriaci počuje to, čo práve povedal s istým časovým oneskorením vo svojom reproduktore, čo je nepríjemné pre hovoriaceho. Jeho hlas teda putuje z jeho telefónu do cieľového telefónu, kde je reprodukovaný a časť hlasu je poslaná späť. Čas, za ktorý k nemu jeho hlas späť dorazí, je teda zhruba dvojnásobok oneskorenia pri prenose hlasu v jednom smere. V prípade, že tento celkový čas je menej ako 25ms, tak je to pre hovoriaceho nevnímateľné. Vo VoIP je však 25ms prakticky nedosiahnuteľné, už len kvôli tomu, že hlasové kodeky majú minimálne 20ms oneskorenie v jednom smere a k tomu sa pripočítavajú ďalšie oneskorenia a to sa potom ešte zdvojnásobí pri ceste späť.

Vo VoIP to rieši tzv. potlačovač echa (echo canceller), ktorý funguje na princípe odčítania časovo posunutého odoslaného hlasu z prijatého, pričom toto časové posunutie môže byť zisťované priamo počas hovoru a systém sa tak vie dynamicky prispôsobiť. Bývajú integrované vo VoIP ústredniach, napr. v Asterisku. Potlačovače echa sú však mimoriadne náročné na výpočtový výkon a čím je echo dlhšie, tým vyššia je potreba výpočtového výkonu. Niekedy bývajú implementované v hardwarových kartách pomocou DSP, ktoré tak znížia zaťaženie procesoru v serveroch.

 

Tab. 8    Odporúčaná kvalita IP siete pre VoIP použitie

Oneskorenie v jednom smere:

<150ms

Jitter:

<30ms

Stratovosť paketov:

<1%

 

4.5      QoS

QoS (Quality of Service) znamená v oblasti IP sietí poskytovanie rôznej priority paketom, ktoré prúdia po IP sieti zo zdroja do cieľa.

Ako už bolo skôr uvedené, VoIP telefóny sú často zapojené v jednej sieti spolu s počítačmi a inými zariadeniami do Internetu a zároveň táto sieť pracuje v normálnom režime na princípe best effort a negarantuje teda žiadne kvalitatívne parametre (Tab. 8), ktoré by mali byť v prípade VoIP splnené. VoIP telefóny a počítače tak súperia o voľné prenosové pásmo či už do Internetu alebo do lokálnej siete. VoIP hovor však nepotrebuje vysokú prenosovú kapacitu, býva len rádovo v desiatkach kilobitov za sekundu. Čo však potrebuje, je konštantná šírka pásma, nízke oneskorenie, nízky jitter a čo najmenšiu stratovosť paketov počas celej doby hovoru. Počítače  však zvyknú mať nárazové dátové toky (burst), napr. pri čítaní web stránok sa šírka pásma využije v najvyššej možnej miere len pri načítaní stránky a do načítania ďalšej stránky býva šírka pásma nevyužitá. Môže však ísť aj o dátové prenosy, ktoré maximálne vyťažia kapacitu linky počas dlhšej doby, napr. sťahovanie súborov. Pakety VoIP hovoru tak musia v týchto situáciách, keď nevyužívajú samotne kapacitu linky, s ostatnými paketmi súťažiť o prenosové pásmo.

Rozhodovanie o tom, ktoré pakety budú kedy odoslané, prebieha v smerovačoch (aj prepínačoch), ktoré sú v ceste paketov zo zdroja k cieľu. Ich východiskové nastavenie radenia paketov je typu FIFO (First In First Out), t.j. prvý paket, ktorý sa dostane do smerovača, ho opúšťa tiež ako prvý.

Najjednoduchšou formou dosiahnutia dostatočnej kvality prenosu pre VoIP je jednoducho ponechanie systému best effort a zároveň zvýšiť kapacitu siete tak, aby bola aj v najhorších prípadoch len z časti vyťažená. To umožní smerovanie paketov prakticky bez čakania. Na tomto princípe funguje Internet na chrbticových linkách (linky, ktorými sú prepojení poskytovatelia Internetu) v dnešnej dobe. Všetky pakety na Internete sú si rovné.

 

Obr. 32  Príklad preferovania VoIP paketov pri radení

 

Ak však máme obmedzenú šírku pásma, napr. domáce pripojenie cez DSL linku okolo 2Mb/s, ľahko sa môže stať, že ju napr. pri sťahovaní súborov úplne vyťažíme. Pri uskutočnení hovoru cez VoIP telefón po tej istej linke iným užívateľom sa začnú naplno prejavovať problémy s kvalitou hovoru – prudko sa zvýši oneskorenie, jitter a môžu nastať aj vysoké straty paketov. V tomto prípade je dobré začať radiť pakety podľa ich dôležitosti na zariadení, ktoré nás pripája do linky s obmedzeným pásmom, napr. DSL modem, popr. WLAN router. VoIP pakety by mali mať najvyššiu prioritu a mali by byť okamžite po prijatí smerovacím zariadením odoslané na úkor ostatných paketov, aby boli zaistené kvalitatívne parametre pre VoIP hovory. Existujú dva spôsoby riešenia QoS v takýchto prípadoch:

1.      Integrated Services (IntServ) – pracuje na princípe striktného vyhradenia pásma na základe požiadania aplikáciami. Aplikácia požiada vyhradenie pásma pomocou protokolu RVSP (Resource Reservation Protocol) a po odsúhlasení sa počas celej cesty paketov udržiava vyhradené pásmo. To má však nevýhodu, pretože na každom smerovači v ceste musí bežať IntServ a má to zlú škálovateľnosť, pretože pri obrovskom množstve spojení by to príliš zaťažovalo sieť, preto sa veľmi nepoužíva, iba ak v lokálnych sieťach.

2.      Differentiated Services (DiffServ) – pracuje na princípe označovania paketov do rôznych tried podľa ich dôležitosti a následné manipulovanie s nimi podľa toho. Každý smerovač v ceste paketu potom musí pracovať s paketmi podľa tých istých pravidiel, aby sa zachovala kvalita spojenia.

DiffServ využíva parameter Type of Service v IPv4 hlavičke (Obr. 5). Tento je dlhý 8 bitov. Prvé tri sa označujú ako IP precedence (IP priorita) a umožňujú tak 8 rôznych tried, avšak 6. a 7. trieda je rezervovaná a nemala by sa používať, preto efektívnych je 6 tried (0-5). Možnosť viacerých tried umožňuje kód DSCP (Differentiated Services Code Point), ktorý používa prvých 6 bitov, teda 64 tried.

 

Obr. 33  Parameter Typ služby v IPv4 datagrame

 

Kód DSCP je rozdelený do štyroch tried, ktoré sa nazývajú PHB (Per-Hop Behaviours) a indikujú, ako by sa malo pri každom preskoku paketu zo smerovača na smerovač s paketom zachádzať. Tieto triedy sú:

·         Default (predvolená) – binárna hodnota 000000. Trieda best effort, t.j. bez QoS.

·         Expedited Forwarding (urýchlené predávanie) – binárna hodnota 101110. Táto trieda má najvyššiu prioritu a zaisťuje nízke oneskorenie a najnižšie straty paketov. V tejto triede beží VoIP. Takéto pakety by nemali prekračovať 30% z celkovej kapacity, lebo by mohli úplne vyraďovať ostatné pakety s nižšou prioritou.

·         Assured Forwarding (zaistené predávanie) – rozdelený na 12 tried podľa priority straty paketov a poskytuje garantovanie doručenia paketu za istých podmienok.

·         Class selectors (voľby triedy) – táto trieda je kvôli spätnej kompatibilite so sieťovými zariadeniami nepodporujúcimi DSCP a používa len prvé tri bity ako IP precedence.

Pakety sa po príchode do smerovača najprv klasifikujú podľa pravidiel do tried, napr. VoIP UDP RTP pakety podľa portov, na ktorých bežia. Potom sa pakety podľa toho označkujú kódom DSCP alebo len IP priorita. Ďalej sa pakety riadia do radov podľa triedy a určuje sa algoritmom, ktorý paket kedy rad opustí. Pakety v rade s najvyššou prioritou opúšťajú ako prvé na úkor ostatných radov s nižšou prioritou. Príklad takého mechanizmu je na Obr. 34. Ďalej sa môžu aplikovať ešte rôzne metódy kontroly pásma a pod.

 

Obr. 34  Príklad mechanizmu radenia paketov podľa priority

 

 

 

5         Populárne VoIP riešenia

Na Internete sa v poslednom čase objavili rôzne riešenia od rôznych výrobcov, ktoré poskytujú volanie zadarmo v rámci vlastnej siete aj s možnosťou dovolať sa aj do PSTN za nízke tarify. Fungujú väčšinou na neštandardných protokoloch.

5.1      Skype

V dnešnej dobe najpopulárnejším VoIP riešením je Skype, ktorý je aktívny od roku 2003. Je to softwarový program určený pre počítače s rôznymi operačnými systémami, aj s podporou rôznych mobilných zariadení, ako PDA a niektorými mobilnými telefónmi. Umožňuje volať v rámci vlastnej siete zadarmo, volania do PSTN sú spoplatňované relatívne nízkymi tarifami. Koncom roku 2008 ho používalo aktívne cez 33 miliónov používateľov, pričom celkový počet používateľov presiahol 400 miliónov. Samozrejmosťou je podpora konferenčných hovorov. Medzi ďalšie zaujímavé služby patrí tiež hlasová schránka, video konferencie, chat a prenos súborov.

Skype ponúka možnosť vlastnenia klasického telefónneho čísla za poplatok v 20 rôznych štátoch, tzv. SkypeIN. To umožňuje dovolať sa užívateľovi v PSTN. Užívateľ neplatí za prijatie hovoru. Obdobne podporuje v platenej službe SkypeOut možnosť volať do PSTN, pričom ponúka možnosť platby buď predplateným spôsobom, pri ktorom si používateľ predplatí kredit a môže ho použiť na volanie kdekoľvek pri tarifikácii za minúty, alebo môže platiť fixný mesačný poplatok, ktorý mu umožní volať neobmedzene do istých krajín, väčšinou len na pevné linky.

5.1.1       Princíp fungovania

Skype používa vlastnú VoIP implementáciu nazývanú Skype protokol, ktorý nie je verejne prístupný, jeho zdrojový kód je uzavretý, ale princíp funkcie je z väčšej časti známy. Používa rôzne hlasové kodeky podľa rýchlosti pripojenia, najviac ich vlastný kodek SILK. Ten podporuje rýchlosti od 6 do 40kbps pri vzorkovacej frekvencii od štandardnej 8kHz, až po 24kHz, čo poskytuje oveľa vyššiu kvalitu ako klasické telefónne hovory pri 8kHz.

Skype protokol nepracuje na bežnom princípe, ako štandardné protokoly VoIP typu klient/server, ale na princípe peer-to-peer. Tento prístup je bežný v systémoch zdieľania súborov. Skype sieť je decentralizovaná a sa skladá troch komponentov: Supernode, Ordinary node a login server. Supernode (Super uzol) a Ordinary node (Bežný uzol) môže byť ľubovoľný používateľ Skype. Login servery sú spravované len spoločnosťou Skype a plnia správcovské funkcie siete a uchovávajú informácie o používateľoch. Rozdiel medzi Supernode a Ordinary node je v tom, že Supernode sa môže stať každý používateľ siete, ktorý má spusteného softwarového klienta Skype, má dostatočne rýchle a kvalitné pripojenie na Internet a zároveň má verejnú IP adresu, t.j. je voľne dostupný na pripojenie z Internetu. Toto je zásadný rozdiel medzi ostatnými VoIP implementáciami – Supernode poskytuje ostatným používateľom siete Skype, ktorí sú za NAT a rôznymi firewallmi možnosť ich preklenúť a tak komunikovať s ostatnými užívateľmi siete. Každá Supernode teda zdieľa svoje pripojenie na Internet a poskytuje ho iným užívateľom siete, ktorí cez Supernode priamo komunikujú. Sieť Skype by teda bez Supernodes nemohla fungovať, pretože veľký počet používateľov sú za NAT a teda nemohli by medzi sebou komunikovať bez Supernode. Každá Supernode (teda používateľ Skype) vlastne šetrí vlastníkom Skype obrovské náklady za prenosové pásmo, ktoré by inak museli platiť oni.

Všetky dáta a hovory v sieti sú kryptované pomocou štandardných kryptovacích nástrojov - RSA na výmenu kľúčov a AES (Advanced Encryption Stanadard) na kryptovanie dát.

5.1.2       Podpora OS a hardwaru

Skype podporuje rôzne desktopové operačné systémy: Windows, Mac OS X, Linux a tiež aj mobilné systémy používané v mobilných telefónoch a iných zariadeniach, ako Windows Mobile, iPhone, Java mobile, Android a niektoré iné.

Skype je tiež podporovaný niektorými výrobcami hardwarových telefónov, ktoré sa môžu pripojiť do siete podobne, ako klasické VoIP telefóny na báze SIP a pod. Najnovšou službou je však Skype SIP, ktorý funguje ako klasický SIP operátor, t.j. možnosť využívať niektoré služby Skype použitím SIP telefónov.

Použitie v mobilných telefónoch vyvolalo istú nespokojnosť u mobilných operátorov, pretože ich zákazníci nemusia používať ich sieť na volanie. Niektorí operátori Skype preto zablokovali. Nastáva tak podobná situácia, ako bola v 90. rokoch 20. storočia, kedy chceli PSTN operátori v USA VoIP zakázať zákonom.

5.1.3       Výhody

Hlavnými výhodami Skype je teda bezplatná komunikácia medzi používateľmi, väčšinou pri vysokej kvalite hlasu, žiaden problém s preklenutím NAT a firewallov, dostupnosť vo väčšine operačných systémov vrátane mobilných.

5.1.4       Nevýhody

Medzi nevýhody Skype patrí uzavretosť protokolu, ktorá neumožňuje používateľom byť si 100% istý, že je ochrana ich súkromia zaručená. Taktiež niekomu môže vadiť, že sa jeho Internetové pripojenie v prípade, že je jeho klient v Supernode, aktívne využíva, aj keď on sám Skype práve nevyužíva. Ďalšou nevýhodou je nemožnosť volať na tiesňové linky, ktoré Skype nepodporuje a odporúča mať v zálohe klasickú telefónnu linku.

5.2      Ostatné implementácie

VoIP je v dnešnej dobe implementované skoro vo všetkých Instant Messengeroch, ako ICQ, Windows Live Messenger, a iné. Tiež umožňujú bezplatné volania v rámci vlastnej siete a niektoré podporujú aj video hovory. Implementácie sú rôzne, od SIP po uzavreté protokoly. Niektoré umožňujú dovolať sa aj do PSTN a tiež podobne ako Skype vlastniť telefónne číslo.

6         Stav VoIP a budúci vývoj

6.1      VoIP na Slovensku

VoIP na Slovensku je v dnešnej dobe oproti nedávnej minulosti monopolu bývalých Slovenských telekomunikácií (dnes T-Com) už dosť zrelé. VoIP pomocou SIPu ponúkajú rôzni operátori za relatívne nízke ceny, vrátane tých najväčších, ako T-Com. Volania do vlastných sietí sú, ako to býva u VoIP operátorov, bezplatné. VoIP služby sú skôr zaujímavé pre firmy, pretože u domácich používateľov prevláda trend  postupného rušenia pevných liniek v prospech mobilných operátorov, pretože mobilné telefóny vlastní dnes skoro každý jednotlivec a pevné linky už skoro vôbec nevyužívajú. Dvaja najväčší mobilní operátori Orange a T-mobile majú spolu vyše 5,3 milióna zákazníkov, avšak toto číslo zahŕňa aj neaktívnych zákazníkov, popr. zahŕňa aj niektorých zákazníkov viac krát. Mobilní operátori ponúkajú však aj rôzne dátové balíky buď cez staršie technológie ako EDGE, alebo novšie 3G, ktoré umožňujú volať prostredníctvom VoIP operátorov so správnym VoIP klientom v mobilnom telefóne, ako napr. Skype.

Novinkou je však vo veľkom poskytovanie triple play služieb, ktoré ponúkajú VoIP, digitálnu televíziu a Internet v jednom balíku. Ponúkajú to niektorí operátori, napr. Orange, UPC, T-Com a iní. Orange a T-Com si vybudovali a ešte stále budujú vlastnú optickú sieť vo väčších mestách najmä v oblastiach s veľkou hustotou obyvateľstva. Na Slovensku je tak oproti minulosti obrovská ponuka rýchleho Internetu, avšak to platí primárne len pre mestá.

6.2      Trendy VoIP

Konverzia z PSTN na VoIP neustále pokračuje na celkom svete, najmä vo firmách. Očakáva sa zvýšenie poskytovania VoIP služieb poskytovateľmi Internetu, čo sa aj vo všeobecnosti už aj deje. Zlacnenie IP ústrední tiež umožňuje aj menším firmám si ich dovoliť a poskytovať zamestnancom služby, ktoré si mohli doteraz dovoliť len veľké firmy.

Hovorí sa aj o zvýšení kvality hovorov, najmä zväčšením šírky pásma hlasu z 8kHz na 16kHz, alebo až na 24kHz, podobne ako to robí Skype vo svojej sieti. Umožňuje to hlavne veľká kapacita Internetových prípojok a nové spôsoby kódovania. Marketingovo sa zvykne nazývať HD VoIP, kvôli popularite tohto názvu v oblasti televízie, alebo odbornejšie Wideband VoIP. Očakáva sa, že ďalšia generácia VoIP telefónov už bude túto technológiu podporovať. Hlas však bude vo vysokej kvalite len pri volaní do takej siete a s koncovým telefónom, ktorý to bude podporovať, čo samozrejme nebude možné pri volaní do PSTN, kde ostane kvalita na terajšej úrovni.

Zvýšený záujem je tiež o volanie cez VoIP s mobilnými telefónmi, ktoré sa v poslednej dobe zdokonalili čo sa týka výpočtového výkonu a môžu bežať vlastné aplikácie, vrátane VoIP klientov (napr. Skype ako bolo skôr písané) a tak preskočiť drahé tarifikácie mobilných operátorov cez ich vlastné dátové programy, ktorých prenosová rýchlosť stúpa na úrovne v megabitoch za sekundu.

 

7         Multimediálna učebnica v prostredí Toolbooku

Toolbook je vývojové prostredie pre vytváranie tzv. e-learning interaktívnych kníh. Bol vytvorený v roku 1990 firmou SumTotal Systems. Toolbook vo všeobecnosti umožňuje tvorbu interaktívnych kníh buď s offline distribúciou pomocou CDROM v natívnom formáte s príponou „.tbk“, alebo aj pomocou exportu do formátu webových stránok. Poskytuje jednoduchý spôsob vytvorenia interaktívnych prvkov, ako napr. rôzne testy s otázkami a hodnotením, alebo tiež prehrávanie rôznych video a audio formátov. Dostupná je tiež možnosť programovať pomocou jazyka OpenScript, ktorý umožňuje rozšíriť možnosti knihy.

 

Obr. 35  Vývojové prostredie Toolbook

 

Pre fungovanie tejto učebnice je potrebné bežať aspoň na systéme Windows XP a mať nainštalovaný aspoň Internet Explorer 6.0. K vytvoreniu učebnice som použil verziu Toolbooku 9.5 z roku 2008 a exportoval do natívnej učebnice do jedného súboru, ktorý je automatický spustený pomocou Toolbook runtime, t.j. netreba nič inštalovať na spustenie. Knihu je možné spustiť na priloženom CD v hlavnom adresári súborom „__VoIP_start.exe“. Po spustení sa zobrazí úvodná obrazovka po ktorej sa zobrazí obsah učebnice. V spodnom riadku je dostupná navigácia pomocou niekoľkých tlačidiel a ich význam je vysvetlený v návode na používanie, ktorý možno zobraziť po kliknutí na tlačidlo „Pomoc“ vpravo dole.

Učebnica neobsahuje celú diplomovú prácu, ale len vybrané najdôležitejšie informácie. Pre zobrazenie plného znenia textu k danej strane, ktorú aktuálne v učebnici čítame, stačí kliknúť na tlačidlo vľavo dole „Otvoriť dokumentáciu k tejto kapitole“ a otvorí sa webová verzia tejto diplomovej práce v internetovom prehliadači, pričom sa prehliadač presunie na relevantnú kapitolu práce, ktorej zodpovedá strana v učebnici. Kniha tiež obsahuje testy na samopreskúšanie po prečítaní hlavných kapitol o VoIP.

 

 

8         Záver

VoIP sa v dnešnej dobe dostáva uznanie, ktoré si zaslúži. Každým dňom sa zvyšuje počet hovorov uskutočnených pomocou VoIP poskytovateľov. VoIP poskytovateľom tiež postupne rastie konkurencia, keďže poskytovať VoIP služby je oproti PSTN oveľa jednoduchšie. Tým im však aj klesajú marže, čo je dobré pre koncového používateľa, ktorému sa tak znižuje cena, ktorú za hovory platí.

Cieľ opísať v tejto práci prenos hlasu cez IP siete sa podaril v rozumnej miere. Rozsah práce stačí na pochopenie základných princípov, ktoré umožňujú prenos hlasu po IP sieťach. Boli opísané hlasové kodeky, TCP/IP model siete, často používané protokoly vrátane hlavných signalizačných štandardov H.323 a SIP. Boli tiež označené problémy a zdroje týchto problémov ovplyvňujúce vnímanú kvalitu hovoru používateľom, ktoré môžu vzniknúť pri prenose hlasu po nespoľahlivom médiu, ktoré IP sieť je -  problémy ako oneskorenie, jitter, straty paketov, echo, prechod cez NAT a pod. Vysvetlené boli tiež možné riešenia niektorých týchto problémov pri prenose vo forme QoS, ktoré čiastočne dokáže garantovať istú kvalitu hovoru, avšak nemusí stále dosahovať kvalitu PSTN, ktorú roky poznáme. Spomenuli sa tiež niektoré populárne VoIP aplikácie, ktoré majú v súčasnosti milióny užívateľov, napr. Skype, ktorý je momentálne najpopulárnejší aj keď nepoužíva štandardné VoIP protokoly, čo sa mu podarilo užívateľskou prívetivosťou a hlavne aj bezplatnými volaniami v rámci siete.

Na záver boli načrtnuté momentálne trendy, ktoré sa vo VoIP odvetví predpokladajú, ako zvýšenie kvality hovoru zväčšením šírky pásma prenášaných frekvencií hlasu, tiež aj určitý záujem obchádzať drahé mobilné siete mobilných operátorov cez ich vlastné dátové služby.

Vytvorenie učebnice v Toolbooku bolo tiež úspešné. Obsahovo stačí na pochopenie základných princípov VoIP a testové otázky umožňujú aj samopreskúšanie, či študent pochopil danú problematiku.

 

 

 

Zoznam použitej literatúry

   [1]        BEIJNUM, I.: 2008 IPv4 Address Use Report. [online] Publikované 1.1.2009.  Dostupné z  <http://www.bgpexpert.com/addrspace2008.php>

   [2]        BERAN, Václav: VoIP – hlasová komunikace v IP sítích. České Budějovice, 2007. 71 s. Bakalárska práca na Jihočeskej univerzite v Českých Budějoviciach. Vedúci: PaedDr. Petr Pexa

  [3]        BHATIA, M., DAVIDSON, J., KALIDINDI, S., MUKHERJEE, S., PETERS, J. VoIP: An In-Depth Analysis. [online] Publikované 20.10.2006.  Dostupné z  <http://www.ciscopress.com/articles/article.asp?p=606583>

  [4]        CISCO SYSTEMS: Cisco SIP Proxy Server Version 1.0 Administrator Guide. [online] Publikované 2.2.2006.  Dostupné z  <http://www.cisco.com/en/US/docs/voice_ip_comm/sip/proxies/1.0/administration/guide/appbcf.html>

  [5]        CISCO SYSTEMS: Guide Session Initiation Protocol Gateway Call Flows. [online] Publikované 2.2.2006.  Dostupné z  <http://www.cisco.com/en/US/products/sw/iosswrel/ps1831/products_programming_reference_guide_chapter09186a008008733a.html>

  [6]        CISCO SYSTEMS: Guide to Cisco Systems' VoIP Infrastructure Solution for SIP. [online] Publikované 2.2.2006.  Dostupné z  <http://www.cisco.com/en/US/tech/tk652/tk701/technologies_configuration_guide_chapter09186a00800eadf3.html>

  [7]        CISCO SYSTEMS: Voice Over IP - Per Call Bandwidth Consumption. [online] Publikované 2.2.2006.  Dostupné z  <http://www.cisco.com/en/US/tech/tk652/tk698/technologies_tech_note09186a0080094ae2.shtml>

   [8]        CISCO SYSTEMS: Waveform Coding Techniques.  [online] Publikované 2.2.2006.  Dostupné z <http://www.cisco.com/en/US/tech/tk1077/technologies_tech_note09186a00801149b3.shtml>

   [9]        DIGIUM, INC.: Asterisk : The Open Source PBX  Telephony Platform - Features. [online] [Citované 17.3.2009]. Dostupné z <http://www.asterisk.org/support/features>

[10]        EYEBALL NETWORKS INC.: Nat Traversal for IP Communications.  [online] Dostupné z <http://www.nattraversal.com/nattraversal3.htm>

[11]        HEWLETT-PACKARD DEVELOPMENT COMPANY: SIP Messages.  [online] Dostupné z <http://www.docs.hp.com/en/5992-4080/ch01s04.html>

[12]        INTERNATIONAL ENGINEERING CONSORTIUM: H323. [online]   Publikované 6.9.2000. Dostupné z <http://www.iec.org/online/tutorials/h323/index.asp>

[13]        KRESTA, Jaroslav: ENUM - E.164 Number Mapping : Teoretický popis a možnosti využití koncovými uživateli. Brno: Masarykova univerzita, Filozofická fakulta, Ústav české literatury a knihovnictví, 2007. 107 s. Vedoucí bakalářské práce PhDr. Petr Škyřík.

[14]        MICROSOFT CORPORATION: Architectural Overview of the TCP/IP Protocol Suite. [online] Publikované 2.11.2004, posledná aktualizácia 16.4.2007.  Dostupné z  <http://technet.microsoft.com/en-us/library/bb726993.aspx>

[15]        MIKITA, IMRICH: Služba VoIP. Košice, 2002. 140 s. Diplomová práca na Technickej univerzite v Košiciach, Fakulta elektrotechniky a informatiky, Katedra elektroniky a multimediálnych telekomunikácií. Vedúci: prof. Ing. Stanislav Marchevský, Csc.

[16]        POE, R.: 8 VOIP TRENDS TO WATCH IN 2009. [online] Publikované 5.1.2009.  Dostupné z  <http://www.voip-news.com/feature/voip-trends-2009-010509/>

[17]        ROSENBERG, J. A TÍM: SIP: Session Initiation Protocol. [online] Publikované Jún 2002. Dostupné z <http://tools.ietf.org/html/rfc3261>

[18]        SKYPE CORP: SILK.  [online] Dostupné z  <https://developer.skype.com/silk?action=AttachFile&do=get&target=SILKDataSheet.pdf>

[19]        SKYPEFOX: Skype WiFi Phones, Skypefox. [online] Dostupné z <http://www.skypefox.com/skype-wifi-phones.html>

[20]        THE OPTE PROJECT: Maps. [online] Publikované 15.1.2005. Dostupné z  <http://www.opte.org/maps/>

[21]        VOIP-INFO.ORG CONTRIBUTORS. Analog Telephone Adapters. [online]   Publikované 11.2.2009. Dostupné z <http://www.voip-info.org/wiki/view/Analog+Telephone+Adapters>

[22]        VOZŇÁK, M., NEUMAN, M.: Monitoring and Measurement of Voice Quality in VoIP Environment. [online] Publikované 8.12.2006. Dostupné z  <http://www.cesnet.cz/doc/techzpravy/2006/voice-quality/>

[23]        WALLACE, K.: VoIP bez předchozích znalostí. 1. vyd. Brno: Computer press, a.s, 2007. 231 s.

[24]        WIKIPEDIA CONTRIBUTORS: u-law algorithm. [online] Publikované 16.2.2009. Dostupné z <http://en.wikipedia.org/w/index.php?title=%CE%9C-law_algorithm&oldid=271098349>

[25]        WIKIPEDIA CONTRIBUTORS: Power over Ethernet. [online] Publikované 17.3.2009. Dostupné z < http://en.wikipedia.org/w/index.php?title=Power_over_Ethernet&oldid=277988021>

[26]        WIKIPEDIA CONTRIBUTORS: Quality of service. [online] Publikované 15.3.2009. Dostupné z < http://en.wikipedia.org/w/index.php?title=Quality_of_service&oldid=277343186>

[27]        WIKIPEDIA CONTRIBUTORS: TCP/IP model. [online] Publikované 3.3.2009. Dostupné z <http://en.wikipedia.org/w/index.php?title=TCP/IP_model&oldid=274791620>

[28]        WYDRA, J.: Inherent characteristics of data flows. [online] Dostupné z  <http://www.certificationzone.com/cisco/newsletter/SL/nla_03-31-05_Qos.html>

Prílohy

 

Príloha A:        CD médium - Multimediálna elektronická učebnica v programe Toolbook, diplomová práca v elektronickej forme