Articole & Tutoriale VoIP

Despre VoIP - Cum ne conectam?

14 Feb 2007

In partea a doua a articolului Despre VoIP vom prezenta posibilitatile de conectare pentru liniile sau telefoanele analogice.

Vom mentiona pasii necesari pentru instalarea placilor telefonice analogice precum si configurarea lor.

Ce placi telefonice folosim pentru conectarea unei linii sau extensii analogice?

Conectarea unei linii sau extensii analogice se face prin utilizarea unei placi telefonice cu suport analogic. Astfel de placi sunt produse de Digium (www.digium.com) in cadrul gamei TDM si de catre Sangoma (www.sangoma.com), prin gama A200 si A400. Placile sunt compatibile PCI 2.2 si suporta module de tip FXO si FXS, prin care se pot conecta linii telefonice sau telefoane analogice la un PC.

Ce inseamna FXS si FXO?

FXS reprezinta prescurtarea de la "Foreign Exchange Station" iar FXO prescurtarea de la "Foreign Exchange Office". O interfata (sau modul) FXS initiaza si trimite impulsurile electrice necesare apelului catre o interfata (sau modul) FXO. Un exemplu de echipament cu interfata FXO este aparatul telefonic, care "suna" in momentul in care primeste un apel de la un echipament cu interfata FXS (de exemplu o centrala telefonica).

In cazul utilizarii unui PBX care foloseste aplicatia Asterisk si in care s-a instalat o placa telefonica cu suport analogic echipata cu module FXO si FXS, linia externa se conecteaza la un modul de tip FXO iar telefonul la modul de tip FXS. Cand modulul FXO primeste un impuls electric de apel el va transmite aceasta informatie catre aplicatia Asterisk. In functie de intructiunile de rutare, aplicatia Asterisk poate decide sa transmita aceasta informatia catre un modul FXS. Acesta il transmite catre aparatul telefonic conectat la el.

Cum se instaleaza o placa analogica intr-un PC?

  • Se opreste alimentarea cu curent a calculatorului
  • Se introduce placa in slotul PCI de 3.3 V sau de 5 V (este necesar un slot PCI 2.2)
  • Se conecteaza cablul de alimentare, de la sursa principala a computerului, in conectorul corespunzator situat pe placa (in cazul in care se folosesc porturi FXS)
  • Se porneste calculatorul.

Dupa aceasta etapa se descarca driverele Zaptel pentru placile Digium, acestea fiind insa incluse de obicei in distributia Asterisk. Pentru placile Sangoma sunt necesare si descarcarea driverelor Wanpipe dezvoltate de Sangoma. Ultimul pas reprezinta modificarea fisierelor de configuratie zaptel.conf si zapata.conf pentru a asigura integrarea placilor cu aplicatia Asterisk.

Configuratia zaptel.conf

Fiind localizat in directorul /etc, prin acest fisier se configureaza detaliile hardware ale placii telefonice. Sunt specificati astfel urmatorii parametrii:

  • tipul fiecarui modul instalat pe placa telefonica
  • caracteristicile pentru generarea tonurilor de apel si de linie
  • Fiecare modul va deveni un canal Zap prin care se va putea primi sau genera apeluri.

Mai jos este prezentat un exemplu de configurare pentru o placa TDM22B (doua module FXO si doua module FXS).

zaptel.conf

Folosim localizare Grecia
defaultzone=gr
loadzone=gr;
Folosim semnalizare FXS Kewlstart pentru comunicarea cu;
;echipamentele conectate la modulele FXO
fxs_ks=1-2
;Folosim semnalizare FXO Kewlstart pentru comunicarea cu
;echipamentele conectate la modulele FXS
fxo_ks=3-4
      

Verificarea configuratiei se face folosind utilitarul ztcfg (localizat uzual in directorul /sbin).

#ztcfg -vvv
Zaptel Configuration
======================
Channel map:
Channel 01: FXS Kewlstart (Default) (Slaves: 01)
Channel 02: FXS Kewlstart (Default) (Slaves: 02)
Channel 03: FXO Kewlstart (Default) (Slaves: 03)
Channel 04: FXO Kewlstart (Default) (Slaves: 04)
4 channels configured.
      

Nota:

S-a folosit localizarea "Grecia" deoarece specificatiile tonurilor romanesti nu sunt inca incluse in distributia standard Asterisk. Acestea pot fi customizate prin intermediul fisierului de configuratie indications.conf, localizat in directorul /etc/asterisk.

Configuratia zapata.conf

Fiind localizat in directorul /etc/asterisk, prin acest fisier se configureaza interactiunea dintre placa telefonica si aplicatia Asterisk prin specificarea parametrilor fiecarui canal Zap.

Mai jos este prezentat un exemplu de configurare pentru aceeasi placa TDM22B.

zapata.conf

[channels]
;Folosim detectie Caller ID
usecallerid=yes
;Folosim detectia tonurilor de fax pentru ambele sensuri
faxdetect=both
;
;Contextul folosit pentru apelurile primite
context=extern
;Folosim semnalizare de tip FXS Kewlstart (identic cu cea setata in zaptel.conf)
signaling=fxs_ks
;Modificam amplificarea semnalului audio, in dB
rxgain=2.0
txgain=2.0
;Grupam cele doua canale de intrare
group=1
;Specificam canalele pentru care sunt valibile setarile de mai sus
channel=1-2
;
;Contextul folosit pentru extensii
context=intern
;Folosim semnalizare de tip FXO Kewlstart (identic cu cea setata in zaptel.conf)
signaling=fxo_ks
;Daca nu modificam valoarea amplificarii, aceasta se "mosteneste"
rxgain=0
txgain=0
channel=3-4
      

Ce este un context?

Printr-un context se defineste logica de tratare a unui apel de catre aplicatia Asterisk. Intreaga colectie de contexte este referita ca dialplan. Contextele sunt specificate in fisierul extensions.conf, localizat in directorul /etc/asterisk. Un exemplu este prezentat mai jos, pentru cele doua contexte specificate in configuratia zapata.conf

extensions.conf

[extern]
;Pauza necesara finalizarii detectiei CallerID
exten => s,1,Wait(2)
;Trimitem apelul catre ambele telefoane, cu setarea unui timp de
;raspuns de maxim 20 secunde si cu posibilitatea de transfer a apelului
exten => s,n,Dial(Zap/3&Zap/4,15,t)
;Daca nu se raspunde in 20 de secunde se raspunde si se preia un mesaj
;destinatia fiind casutele vocale 11 si 12
exten => s,n,Answer
exten => s,n,VoiceMail(11&12)
;Se reda promptul de "La revedere" si se incheie apelul
exten => s,n,Playback(Goodbye)
exten =>s,n,Hangup
[intern]
;Apelarea aplicatiei ecou prin*00
exten => *00,1,Echo
;Apelarea aplicatiei MusicOnHold prin *01, durata maxima de 5 minute
exten => *01,1,WaitMusicOnHold(300)
;Configuram extensiile interne 11 si 12, fara timp minim de raspuns
exten => 11,1,Dial(Zap/3)
exten => 12,1,Dial(Zap/4)
;Configuram rutarea apelurilor externe, linia 1 este Romtelecom
exten => _XXXXXXX,1,Dial(Zap/1/${EXTEN})
exten => _02XXXXXXXX,1,Dial(Zap/1/${EXTEN})
exten => _03XXXXXXXX,1,Dial(Zap/2/${EXTEN})
;Oricare alt apel din Romania poate sa fie efectuat pe prima linie "libera"
exten => _0XXXXXXXXX,1,Dial(Zap/g1/${EXTEN}
;Apelurile externe necesita o autorizare
exten => _00X.,1,Authenticate(456)
exten => _00X.,2,Dial(Zap/2/${EXTEN})
;Alegere manuala a liniei: prefix 81 pentru linia 1, prefix 82 pentru linia 2
exten => _81X.,1,Dial(Zap/1/${EXTEN:2})
exten => _82X.,1,Dial(Zap/2/${EXTEN:2})
      

Asteptam comentariile si sugestiile dumneavoastra pe adresa info@modulo.ro cat si pe forumul VOIP - totul despre voice over ip, cu subiectul Cum ne conectam.