VoIP and Hacking | Consulenza Documentazione

ISDN E1 failover con Asterisk e Fonebridge

by admin on Mar.01, 2009, under Asterisk, Linux, Telefonia, VoIP

Nel tradizionale modello implementativo di Asterisk, la connettività T1/E1 viene fornita da schede di interfaccia di tipo PCI presenti su di un singolo server. In tale scenario l’integrità e la disponibilità sono soggette alla affidabilità di quel singolo server. Per molte situazioni reali di tipo mission critical tale approccio risulta inaccettabile.
FoneBRIDGE è un T1/E1 PRI-to-Ethernet Bridge progettato per permettere la realizzazione di sistemi ridondanti basati su Asterisk. FoneBRIDGE termina le linee PRI T1/E1 PRI e comunica direttamente via Ethernet con i servers Asterisk servers, utilizzando il protocollo TDMoE.
In quanto punto di terminazione T1/E1 esternalizzato, foneBRIDGE elimina la necessità di installare interfaccie TDM sui server, e se abbinato con un tool adeguato, può contribuire a fornire una soluzione di failover rapido ed automatico nell’ambito di un cluster di servers.
Il tool più comunemente usato per fornire tale funczionalità in abbinamento con foneBRIDGE ed Asterisk è il tool ‘heartbeat’ (preso dal Linux-HA project www.linux-ha.org. ‘Heartbeat’ monitorizza lo stato di 2 o più nodi (servers) costituenti di un Asterisk cluster. Se rileva un fault, ad esempio quando un nodo primario cessa di rispondere ai messaggi heartbeat, manda in esecuzione degli scripts che attuano un rapido failover su di un server secondario. Tutto ciò avviene in modo trasparente e senza bisogno di alcun intervento manuale da parte dell’utente.
Uno strumento alternativo a ‘heartbeat’, e assimilabile a quest’ultimo per funzionalità, è uCarp, che abbiamo avuto modo di trattare in un precedente articolo.
Lo scenario presentato è uno sviluppo della soluzione trattata in quello stesso articolo, e si può sintetizzare nel modo seguente:

Lato TDM (E1) la connettività viene gestita dal gateway fonebridge (T1/E1 to TDMoE). Il device è configurato e controllato da un piccolo eseguibile (fonulator) installato su entrambi i servers Asterisk. In caso di fault su server1, uCarp farà in modo che server2 diventi Master. La utility fonulator su server2 verrà eseguita e invierà una richiesta di update al gateway fonebridge, riconfigurandolo in modo da comunicare col server di backup. Oltre alla esecuzione di fonulator, attraverso lo start-up script, uCarp intraprenderà tutte le necessarie operazioni per rendere operativo Asterisk su server2. Per assicurare un più rapido fail-over entrambi i servers manterranno il modulo zaptel caricato. Durante il failover solamente fonulator ed asterisk verranno avviati.

Per l’utilizzo di Fonebridge con Asterisk occorre:

Scaricare la versione patched di zaptel reperibile all’indirizzo http://support.red-fone.com/downloads/zaptel/ ovvero:
Posizionarsi nella directory /usr/src

#cd /usr/src
ed impartire:
#wget http://support.red-fone.com/downloads/zaptel/zaptel-1.4.5.1.tar.gz

quindi:
scompattare il codice sorgente zaptel con:

#tar xvzf zaptel-1.4.5.1.tar.gz
compilare ed installare zaptel
#cd zaptel-1.4.5.1
#make clean; make; make install
Scaricare ed installare fonulator, la utility di configurazione di fonebridge  .
#cd /usr/local/sbin
#wget http://support.red-fone.com/downloads/fonulator/fonulator
#chmod a+x fonulator

Configurazione redfone.conf

Il file /etc/redfone.conf viene usato dalla utility fonulator ed invia tutte le informazioni di configurazione al device fonebridge.

[globals]
# IP-address of the IP Configuration port
# Factory defaults are; FB1=192.168.1.254 FB2=192.168.1.253
fb=192.168.1.254
# Which port to use for TDMoE Traffic (1 or 2)
port=1
# Which Asterisk server destination MAC address for TDMoE Traffic?
server1=00:11:22:33:44:55

# E1 PRI SPAN WITH CRC4, SLAVE TO TELCO
[span1]
framing=ccs
encoding=hdb3
crc4
slave

# E1 PRI SPAN WITH CRC4, SLAVE TO TELCO
[span2]
framing=ccs
encoding=hdb3
crc4
slave

Nella sezione globals, fb rappresenta l’indirizz0 MAC del device fonebridge. server è l’indirizzo MAC del server Asterisk.

Configurazione di zaptel.conf

NOTA: Utilizzando un Fonebridge Quad port occorre sempre specificare in zaptel.conf 4 span dynamic anche avendo configurato un solo span sul device. Lo stesso vale per un Dual port. 2 spans Dynamic devono sempre essere specificati anche qualora solamente un solo span sia stato configurato in redfone.conf.

Editare /etc/zaptel.conf ed aggiungere le seguenti linee.

dynamic=ethmf,eth1/00:50:C2:65:D0:2C/0,31,2
dynamic=ethmf,eth1/00:50:C2:65:D0:2C/1,31,1
#
bchan=1-15,17-31
dchan=16
bchan=32-46,48-62
dchan=47
#
# NOTE: La maggior parte dei flussi E1 usa il codec alaw e questo deve essere specificato.
alaw=1-62
#
loadzone = it
defaultzone=it

Una volta configurati redfone.conf e zaptel.conf si possono caricare i necessari moduli zaptel.

# modprobe zaptel
# modprobe ztd_ethmf
Send post as PDF to PDF | PDF Creator | PDF Converter
:, ,

Comments are closed.

Cerchi qualcosa in particolare?

Usa il form qui sotto per cercare nel sito:

Blogroll!

Alcuni links...

Archives

Tutte le entries, in ordine cronologio...