Vous êtes sur la page 1sur 14

V.

Dobrot` COMUNICATII UNIFICATE IN INTERNET

Laborator CUI Nr.6:

Aplica]ii VoIP folosind standardele SIP si IAX


1. Arhitectura Asterisk 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 kbps (GSM 6.10), 2.4 kbps (LPC-10) sau variabil (doar decodare MP3). Pentru po[ta
Copyright Virgil Dobrota 2010, All rights reserved 1

V. Dobrot` COMUNICATII UNIFICATE IN INTERNET

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).

Figura 2. Arhitectura Asterisk, conform http://www.digium.com Din punct de vedere hardware interfe]ele sunt de dou` tipuri:
a) Interfe]e Pseudo-TDM compatibile Zaptel [i Dialogic (Intel): sunt fie solu]ii

proprietare ale firmei Digium (http://www.digium.com) pentru PSTN, T1/E1, PRIISDN etc., fie Intel (sub marca Dialogic). Chiar dac` nu se instaleaz` nici o interfa]` fizic` este nevoie de driver Zaptel 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 PseudoTDM. |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.

Copyright Virgil Dobrota 2010, All rights reserved

V. Dobrot` COMUNICATII UNIFICATE IN INTERNET Tehnologie WAN Modem Satelit BRI-ISDN DSL Modem cablu E1/ PRI-ISDN ATM Canale de voce 1 1 (uplink) 5 (downlink) 2 2 4 (uplink) 410 (downlink) 2 4 (uplink) 5 48 (downlink) 30 circa 2,500 Rata de transfer 56 kbps 56 kbps (uplink) 512 kbps (downlink) 128 kbps 128 kbps 8 Mbps > 128 Mbps (uplink) < 6 Mbps (downlink) 2048 kbps 155.5 Mbps

Tabelul 1. Tehnologii WAN pentru VoIP cu Asterisk 2. Telefoane software X-Lite folosind standardul SIP Telefoanele software X-Lite v3.0 pentru Windows [i Linux, produse de CounterPath Solutions, Inc. (http://www.xten.com) 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 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
Copyright Virgil Dobrota 2010, All rights reserved 3

V. Dobrot` COMUNICATII UNIFICATE IN INTERNET

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 (deviceoriented) !!!. Numai pentru a evita conflictele \ntre echipele din laborator se propune totu[i urm`toarea asignare:
Nr. echipa 1 2 3 4 5 6 7 8 9 10 Adresa IP 172.27.208.162/24 172.27.208.161/24 172.27.208.160/24 172.27.208.159/24 172.27.208.158/24 172.27.208.157/24 172.27.208.156/24 172.27.208.155/24 172.27.208.154/24 172.27.208.152/24 Telefon SIP 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 Telefon IAX 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010

Tabelul 2. Asignare numere SIP pentru sta]iile din laborator

Figura 3. Configurare X-Lite v3.0 cu SIP: utilizator, parol`, proxy server


Display Name User name Password Authorization User name Domain

Identificator abonat chem`tor (de exemplu: 1005) Nume utilizator SIP sau num`r de telefon (de exemplu: 1005) Parola utilizatorului (de exemplu 1234, care nu apare \n clar) Autorizarea utilizatorului poate fi cerut` uneori (de exemplu: 1005) 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)
Copyright Virgil Dobrota 2010, All rights reserved 4

V. Dobrot` COMUNICATII UNIFICATE IN INTERNET


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 |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

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

Copyright Virgil Dobrota 2010, All rights reserved

V. Dobrot` COMUNICATII UNIFICATE IN INTERNET

3. Telefoane software ZoIPer folosind standardele SIP [i IAX Pentru a testa [i protocolul proprietar IAX este nevoie de un alt telefon software denumit ZoIPer (cu acest nume comercial din iulie 2007), fiind disponibil [i \ntr-o versiune gratuit` de la adresa http://www.zoiper.com/zwin.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.

Figura 6. Configurare ZoIPer: utilizator IAX cu num`rul 2005

Figura 7. Configurare ZoIPer: utilizator SIP cu num`rul 1005


Copyright Virgil Dobrota 2010, All rights reserved 6

V. Dobrot` COMUNICATII UNIFICATE IN INTERNET

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:

Figura 8. Configurare ZoIPer: alegere dispozitive audio (soundblaster)

Figura 9. Configurare ZoIPer: alegere codecuri audio (recomandabil cel pu]in GSM, u-law, a-law)
Copyright Virgil Dobrota 2010, All rights reserved 7

V. Dobrot` COMUNICATII UNIFICATE IN INTERNET

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.

Figura 10. Configurare ZoIPer: \nregistrare/[tergere client 1005 (SIP) 4. Telefoane hardware Linksys WIP 330 folosind standardul SIP Telefonul IP Linksys WIP 330 dispune doar de interfa wireless IEEE 802.11b/g cu WEP, WPA-PSK i suport urmtoarele protocoale: TCP, IP, DNS, SDP, ARP, ICMP, DHCP. Pentru VoIP sunt folosite SIPv2, SDP i codecurile de voce G.711, G.729A. Ca faciliti suplimentare pentru acest telefon putem meniona c dispune de un browser de web i de asemenea permite vizualizarea imaginilor de la o camer` wireless (de exemplu Linksys WVC54GC).

Figura 11. Telefon VoIP wireless de tip Linksys WIP330 cu SIP

Copyright Virgil Dobrota 2010, All rights reserved

V. Dobrot` COMUNICATII UNIFICATE IN INTERNET

Figura 12. Configurare WIP 330: meniu configurare re]ea

Figura 13. Configurare WIP 330: meniu configurare cont 1000

Copyright Virgil Dobrota 2010, All rights reserved

V. Dobrot` COMUNICATII UNIFICATE IN INTERNET

5. Configurare Asterisk |n directorul /etc/asterisk se g`sesc fi[ierele de configurare pentru Asterisk.


; Note: If your SIP devices are behind a NAT and your Asterisk ; server isn't, try adding "nat=1" to each peer definition to ; solve translation problems. [general] context=default srvlookup=yes disallow=all allow=ulaw allow=alaw allow=gsm allow=ilbc [1000] type=friend host=dynamic secret=1234 qualify=yes context=internal dtmfmode=rfc2833 mailbox=1000 [1001] type=friend host=dynamic secret=1234 qualify=yes context=internal dtmfmode=rfc2833 mailbox=1001 [...] [1012] type=friend host=dynamic secret=1234 qualify=yes context=internal dtmfmode=rfc2833 mailbox=1012

Figura 14. Configurare Asterisk: /etc/asterisk/sip.conf


[[general] disallow=all allow=ulaw allow=alaw allow=gsm allow=ilbc [2000] type=friend host=dynamic secret=1234 context=internal Copyright Virgil Dobrota 2010, All rights reserved 10

V. Dobrot` COMUNICATII UNIFICATE IN INTERNET


qualify=yes dtmfmode=rfc2833 mailbox=2000 [2001] type=friend host=dynamic secret=1234 context=internal qualify=yes dtmfmode=rfc2833 mailbox=2001 [...] [2012] type=friend host=dynamic secret=1234 context=internal qualify=yes dtmfmode=rfc2833 mailbox=2012

Figura 15. Configurare Asterisk: /etc/asterisk/iax.conf Apelurile sosite pe interfe]e sunt prelucrate de c`tre nucleul de comuta]ie conform planului de apeluri. Acesta este realizat prin intermediul fi[ierului /etc/asterisk/extensions.conf. S-au definit servicii SIP la numerele 10001012, servicii IAX la numerele 2000-2012, voice-mail la 500, conferin]` la 800, testare microfon/difuzor \n ecou la 611, pronun]are numere de la 9 la 0 la 123 etc. De men]ionat c` placa Zaptel permite conectarea PBX IP Asterisk la centrala Alcatel Omni PCX 4400, [i \n felul acesta se pot efectua urm`toarele tipuri de apeluri: a) din centrala Alcatel Omni PCX 4400 spre Asterisk (num`r de apel 1569) b) din Asterisk spre centrala Alcatel Omni PCX 4400 (orice num`r de apel din re]eaua academic`, de exemplu 1264) c) din re]eaua public` PSTN spre Asterisk (num`r de apel 0264401569) d) din re]eaua de telefonie mobil` GSM spre Asterisk (num`r de apel 0264401569)
[general] static=yes writeprotect=n [incoming] include => internal exten => s,1,Answer() exten => s,2,Background(vm-enter-num-to-call) [macro-voicemail] exten => s,1,VoiceMail(u${MACRO_EXTEN}@default) exten => s,2,VoiceMail(b${MACRO_EXTEN}@default) [internal] exten => 100,1,Answer() exten => 100,2,SetMusicOnHold(default) Copyright Virgil Dobrota 2010, All rights reserved 11

V. Dobrot` COMUNICATII UNIFICATE IN INTERNET


exten => 100,3,WaitMusicOnHold(20) exten => 100,4,Hangup exten exten exten exten exten exten => => => => => => 123,1,Set(COUNT=10) 123,2,GotoIf($[${COUNT} > 0]?:10) 123,3,SayNumber(${COUNT}) 123,4,Set(COUNT=$[${COUNT} - 1]) 123,5,Goto(2) 123,10,Hangup()

exten => 611,1,Answer() exten => 611,2,Playback(demo-echotest) exten => 611,3,Echo() exten => 500,1,VoiceMailMain() exten => 600,1,Answer() exten => 600,2,Playback(hello-world) exten => 600,3,Hangup() exten exten exten exten => => => => 800,1,Playback(conf-thereare) 800,2,MeetMeCount(800) 800,3,Playback(conf-peopleinconf) 800,4,MeetMe(800)

exten => 1000,1,Dial(SIP/1000,20) exten => 1000,2,VoiceMail(u1000@default) exten => 1000,102,VoiceMail(b1000@default) exten => 1001,1,Dial(SIP/1001,20) exten => 1001,2,VoiceMail(u1001@default) exten => 1001,102,VoiceMail(b1001@default) [...] exten => 1012,1,Dial(SIP/1012,20) exten => 1012,2,VoiceMail(u1012@default) exten => 1012,102,VoiceMail(b1012@default) exten => 2000,1,Dial(IAX2/2000,20) exten => 2000,2,VoiceMail(u2000@default) exten => 2000,102,VoiceMail(b2000@default) exten => 2001,1,Dial(IAX2/2001,20) exten => 2001,2,VoiceMail(u2001@default) exten => 2001,102,VoiceMail(b2001@default) [...] exten => 2012,1,Dial(IAX2/2012,20) exten => 2012,2,VoiceMail(u2012@default) exten => 2012,102,VoiceMail(b2012@default) exten => 4000,1,Queue(markq) exten => 4001,1,AgentCallbackLogin(,,${CALLERIDNUM}@internal) exten => 4002,1,AgentCallbackLogin(,,l) exten => _XXXX,1,Dial(Zap/1/${EXTEN})

Figura 16. Configurare Asterisk: /etc/asterisk/extensions.conf


Copyright Virgil Dobrota 2010, All rights reserved 12

V. Dobrot` COMUNICATII UNIFICATE IN INTERNET

6. Rezultate experimentale
Fiecare echipa va rula pe sta]ia proprie c=te un client SIP (X-Lite [i ZoIPer) [i IAX

(ZoIPer). Se vor realiza urm`toarele convorbiri: EXPERIMENT 1 2 3 4 5 6 7 8 Client surs` SIP (propria sta]ie) SIP (propria sta]ie) SIP (propria sta]ie) IAX (propria sta]ie) SIP (propria sta]ie) IAX (propria sta]ie) GSM (telefon mobil) GSM (telefon mobil) Client destina]ie SIP (propria sta]ie) SIP (alt` echip`) IAX (propria sta]ie) IAX (alt` echip`) PSTN (abonat 1569) PSTN (abonat 1569) SIP (propria sta]ie) IAX (propria sta]ie)

Copyright Virgil Dobrota 2010, All rights reserved

13

V. Dobrot` COMUNICATII UNIFICATE IN INTERNET

7. Raport de activitate NUME {I PRENUME _______________________________GRUPA ________


Laborator CUI Nr.6: Aplica]ii VoIP folosind standardele SIP [i IAX

Comenzi Terminale SIP software X-Lite/ZoIPer Terminale IAX software ZoIPer Terminal SIP software X-Lite/ZoIPer Terminal IAX software ZoIPer Terminale SIP software X-Lite/ZoIPer Terminale IAX software ZoIPer Terminale SIP software X-Lite/ZoIPer Terminale IAX software ZoIPer Terminale SIP software X-Lite/ZoIPer Terminale SIP software X-Lite/ZoIPer DATA:
SEMN~TURA:

Experiment 1,2 (SIP-SIP) 4 (IAX-IAX) 3 (SIP-IAX) 3 (SIP-IAX) Conferin]` Conferin]` Voice-mail Voice-mail 5,6 (PSTN-IP) 7,8 GSM-PSTNIP

Comanda efectuat`

Comentariu asupra rezultatelor experimentului

Copyright Virgil Dobrota 2010, All rights reserved

14

Vous aimerez peut-être aussi