Asterisk este o central` telefonic` de institu]ie implementat` software, instal=ndu-se pe orice distribu]ie de Linux/Unix (inclusiv pe CentOS). Mark Spencer, principalul autor, a ]inut s` fac` public codul acesteia, astfel c` o comunitate larg` de programatori au fost atra[i de acest concept. Neoficial Asterisk poate fi considerat probabil cel mai puternic, flexibil [i extensibil software de telecomunica]ii OpenSource disponibil pe pia]`. Ideea de la care s-a pornit este c` multe dintre facilit`]ile incluse \ntr-un PBX sunt rar sau chiar deloc folosite, fiind \ns` pl`tite de cump`r`tor. De aceea, Asterisk nu implementeaz` toate func]iile unei centrale, dar fiind distribuit sub licen]` GPL (General Public License) se pot ad`uga oric=nd module software cerute de clien]i.
Figura 1. Interconectarea Asterisk cu alte re]ele
|n afar` de protocoalele de semnalizare binecunoscute (H.323, SIP, MGCP/Megaco) men]ionate \n paragraful precedent, \ntre sistemele PBX IP realizate software se utilizeaz` un protocol proprietar denumit IAX (Inter-Asterisk Exchange Protocol), versiunile 1 [i 2. Arhitectura Asterisk este prezentat` \n Figura 2. La pornire, DML (Dynamic Module Loader) \ncarc` \n mod dinamic modulele software [i ini]ializeaz` driverele (canale, formate fi[iere, codecuri, aplica]ii etc). Apelurile sosite pe interfe]e sunt prelucrate de c`tre nucleul de comuta]ie (PBX Switching Core) conform planului de apeluri (Dial Plan). Alertarea telefoanelor, efectuarea apelurilor sau conectarea la po[ta vocal` sunt posibile datorit` blocului de lansare a aplica]iilor (Application Launcher). Se pot utiliza codecuri audio cu rate de transfer de 128 kbps (liniare pe 16 bi]i), 64 kbps (G.711, legile A [i ), 32 kbps (IMA-ADPCM), 13.3 kbps (iLBC), 12 V. Dobrot` COMUNICATII UNIFICATE IN INTERNET
Copyright Virgil Dobrota 2013, All rights reserved
2 kbps (GSM 6.10), 2.4 kbps (LPC-10) sau variabil (doar decodare MP3). Pentru po[ta vocal` sau pentru inserarea muzicii pe durata a[tept`rii se folosec formate de fi[iere pe 16 bi]i liniar (.raw, .wav), pe 8 bi]i (.pcm), compresie GSM la 8 KHz (.gsm, .WAV), pe 4 bi]i (.vox) sau format g723 cu [tampil` de timp (timestamp). Indiferent de tipul de codec folosit, blocul de transla]ie (Codec Translator) realizeaz` schimbul de informa]ii cu interfe]ele, care ofer` canale fizice (Local, Modem, Phone, Zapata, ISDN) [i canale logice (H.323, SIP, MGCP/Megaco, IAX). Alte detalii de exemplu la http://www.asterisk.org/architecture
Figura 2. Arhitectura Asterisk, conform http://www.digium.com
V. Dobrot` SISTEME DE COMUTA}IE {I RUTARE
Copyright Virgil Dobrota 2013, All rights reserved
3 Din punct de vedere hardware interfe]ele sunt de dou` tipuri:
a) Interfe]e Pseudo-TDM compatibile DAHDI (Digium Asterisk Hardware Drivers Interface, fost Zaptel) [i Dialogic (Intel): sunt fie solu]ii proprietare ale firmei Digium (http://www.digium.com) pentru PSTN, T1/E1, PRI-ISDN etc., fie Intel (sub marca Dialogic). De remarcat c` \n aceast` arhitectur` se folose[te procesorul/procesoarele din PC pentru fluxuri de date, supresie de ecou [i transcodare (\n loc de procesoare de semnal DSP). Se reduce astfel foarte mult pre]ul dar cre[te \nc`rcarea CPU. Digium are \ns` [i solu]ii bazate pe o plac` cu coprocesor care folose[te DSP pentru codecuri G.723 [i G.729. Chiar dac` nu se instaleaz` nici o interfa]` fizic` este nevoie de driver DAHDI pentru a activa serviciul de conferin]`. Nu este neap`rat nevoie s` existe plac` de sunet pe calculatorul care ruleaz` Asterisk (excep]ie cazul \n care pe aceea[i sta]ie se folosesc [i telefoane software).
b) Interfe]e care nu sunt compatibile Zaptel sau Dialogic (Intel): se utilizeaz` pentru conectarea la sistemele telefonice existente care nu lucreaz` cu Pseudo- TDM. |n aceast` categorie intr` pl`ci ISDN compatibile Linux (ISDN4Linux), pl`ci de sunet compatibile OSS/ALSA etc. Dintre produc`tori se remarc` Voicetronix [i QuickNet.
Pentru accesul la Internet se pot alege c=teva din tehnologiile WAN propuse \n Tabelul 1.
Tehnologie WAN Canale de voce Rata de transfer Modem 1 56 kbps Satelit 1 (uplink) 5 (downlink) 56 kbps (uplink) 512 kbps (downlink) BRI-ISDN 2 128 kbps DSL 2 4 (uplink) 410 (downlink) 128 kbps 8 Mbps Modem cablu 2 4 (uplink) 5 48 (downlink) > 128 Mbps (uplink) < 6 Mbps (downlink) E1/ PRI-ISDN 30 2048 kbps ATM circa 2,500 155.5 Mbps Tabelul 1. Tehnologii WAN pentru VoIP cu Asterisk
Telefoanele software X-Lite v4.0 (se pare c` versiunea mai veche 3.0 este mai u[or de utilizat) pentru Windows [i Linux, produse de CounterPath Solutions, Inc. (http://www.counterpath.com/x-lite-4-for-windows-download.html) au fost alese ca exemple pentru demonstrarea aplica]iilor VoIP folosind standardul SIP, \ntruc=t au fost testate cu PBX IP Asterisk. Exist` o mare varietate de implement`ri \n acest V. Dobrot` COMUNICATII UNIFICATE IN INTERNET
Copyright Virgil Dobrota 2013, All rights reserved
4 domeniu, deoarece sistem de semnalizare SIP joac` un rol deosebit de important [i pentru comunica]iile WiFi, Bluetooth, 3G/4G etc. O list` complet` de echipamente SIP hardware [i software se poate ob]ine vizit=nd site-ul http://www.sipcenter.com. Pe l=ng` func]ia de telefon tradi]ional se ofer` suplimentar facilit`]i de punere a apelului \n a[teptare (call hold), transferul apelului (call transfer) [i conferin]` (call conferencing). Se pot face \nregistr`ri multiple la proxy SIP (rol jucat de Asterisk), se pot recep]iona p=n` la 2 apeluri de intrare, codecurile de voce fiind G.711 (A [i ), GSM, iLBC [i Speex. Se asigur` suport pentru firewall NAT (Network Address Translation). |n vederea rut`rii pachetelor emise de dispozitive aflate \n spatele unui firewall NAT sau a unui router se utilizeaz` protocolul STUN (Session Traversal Utilities for NAT). Detalii despre acest protocol se g`sesc \n RFC 5389 (http://www.ietf.org/rfc/rfc5389.txt) care \nlocuie[te vechiul standard RFC 3489 \n care STUN \nsemna Simple Traversal of User Datagram Protocol (UDP) through Network Address Translators. Fa]` de acesta schimb`rile sunt majore, \ntruc=t STUN nu mai este o solu]ie complet` \n sine pentru traversarea NAT. |n esen]` el reprezint` un protocol de strat aplica]ie, care lucreaz` la portul 3478 (de regul` cu UDP, dar este posibil [i cu TCP, sc`z=nd \ns` \n acest caz eficien]a utiliz`rii canalului). Varianta securizat` cu TCP/TLS folose[te portul 5349. O sta]ie VoIP terminal` poate s` ob]in` prin NAT adres` IP [i port cu care s` aib` conectivitate cu alt punct terminal. STUN are [i rol de protocol keep-alive care men]ine aloc`rile f`cute prin NAT (indiferent de varianta utilizat`).
Configurarea X-Lite pentru sta]iile din laborator s-a f`cut \n felul urm`tor: Se intr` \n Menu->System Settings->Sip Proxy [i se alege ca proxy SIP sta]ia care ruleaz` Asterisk: 193.226.17.156. Dac` setarea reu[e[te, pe ecranul telefonului software conectat la server va ap`rea mesajul: Ready, Your username is: 10XX. De remarcat c` abonatul SIP poate fi definit de pe orice sta]ie care are conectivitate prin Internet la serverul proxy SIP [i deci nu depinde de adresa IP a terminalului. Este de fapt unul din marile avantaje ale SIP \n raport cu H.323, \n sensul c` este orientat spre utilizator (user-oriented) [i nu spre dispozitiv (device- oriented) !!!.
V. Dobrot` SISTEME DE COMUTA}IE {I RUTARE
Copyright Virgil Dobrota 2013, All rights reserved
5
Figura 3. Configurare X-Lite v3.0 cu SIP: utilizator, parol`, proxy server |n func]ie de set`rile f`cute pe Asterisk se alege codecul audio corespunz`tor.
Figura 4. Configurare X-Lite cu SIP: serviciul voice-mail disponibil la num`rul de apel 500, topologia bazat` pe descoperirea adresei IP globale
Display Name Identificator abonat chem`tor (de exemplu: 1005) User name Nume utilizator SIP sau num`r de telefon (de exemplu: 1005) Password Parola utilizatorului (de exemplu 1234, care nu apare \n clar) Authorization User name Autorizarea utilizatorului poate fi cerut` uneori (de exemplu: 1005) Domain Domeniul proxy SIP al furnizorului de servicii Internet (\n general: utcluj.ro, dar se va alege aici chiar adresa proxy server SIP: 193.226.17.156) V. Dobrot` COMUNICATII UNIFICATE IN INTERNET
Copyright Virgil Dobrota 2013, All rights reserved
6 Proxy address URL pentru proxy SIP (incluz=nd [i num`rul portului) 193.226.17.156 (portul implicit este 5060) Tabelul 3. Semnifica]ia set`rilor pentru X-Lite v3.0 cu SIP
Figura 5. Configurare X-Lite cu SIP: mod de lucru peer-to-peer, timp de baleiere 300 secunde, interval de actualizare a configur`rii [i re\nregistrare 3600 secunde, se trimit mesaje SIP keep-alives
Pentru a testa [i protocolul proprietar IAX este nevoie de un alt telefon software denumit ZoIPer 2.0, fiind disponibil [i \ntr-o versiune gratuit` de la adresa http://www.zoiper.com/download_list.php. Avantajul major este c` se pot rula simultan clien]i SIP [i IAX, asigur=nd-se interoperabilitatea. Exist` [i variantele ZoIPer Biz, ZoIPer OEM. V. Dobrot` SISTEME DE COMUTA}IE {I RUTARE
Copyright Virgil Dobrota 2013, All rights reserved
7
Figura 6. Configurare ZoIPer: utilizator IAX cu num`rul 2005
Figura 7. Configurare ZoIPer: utilizator SIP cu num`rul 1005
De remarcat c` avantajul de a nu depinde de adresa IP de unde ruleaz` clientul SIP [i/sau IAX este dublat [i de independen]a pachetului Asterisk fa]` de versiunea clientului software. De exemplu abonatul SIP cu num`rul 1005 se poate conecta at=t cu X-Lite c=t [i cu ZoIPer, important fiind s` cunoasc` doar datele contului s`u (nume, parol`, adresa IP proxy server etc). Revenind la ZoIPer, alte configur`ri necesare sunt urm`toarele:
V. Dobrot` COMUNICATII UNIFICATE IN INTERNET
Copyright Virgil Dobrota 2013, All rights reserved
8
Figura 8. Configurare ZoIPer: alegere dispozitive audio (soundblaster)
Figura 9. Configurare ZoIPer: alegere codecuri audio (recomandabil cel pu]in GSM, u-law, a-law)
Pasul urm`tor, valabil at=t pentru SIP, c=t [i pentru IAX este \nregistrarea prin simpla ap`sare a butonului Register. Reu[ita opera]iei poate fi verificat` analiz=nd fi[ierul log. La \ncheierea laboratorului fiecare echip` va proceda la [tergerea clientului \nregistrat din eviden]ele centralei Asterisk, prin ap`sarea butonului Unregister.
V. Dobrot` SISTEME DE COMUTA}IE {I RUTARE
Copyright Virgil Dobrota 2013, All rights reserved
9
Figura 10. Configurare ZoIPer: \nregistrare/[tergere client 1005 (SIP)
4. Exemplu de configurare minimal` Asterisk
|n directorul /etc/asterisk se g`sesc fi[ierele de configurare pentru Asterisk. De exemplu se definesc clien]ii 1000 (SIP) [i 2000 (IAX2).