Qualche giorno fa mi è venuta l’idea di collegare un centralino asterisk che ho in ufficio e che uso come test con il mio centralino di casa.
Allora pongo la domanda al mio caro amico Walter esperto di Asterisk e lui mi risponde cosi:
Certo che si può fare (a patto che i centralini da collegare abbiano una connessione adsl, o comunque a banda larga)
basta usare IAX che è il protocollo di interconnessione nativo di asterisk.
Poi mi spiegava che questo protocollo ha una serie di vantaggi in confronto al piu tiffuso dei protolli.. SIP
1) può incapsulare tutto il traffico in un unico canale
2) usa una sola porta di comunicazione
3) l’attraversamento delle NAT è nativo, e non da problemi
4) permette di selezionare il punto di arrivo nel dialplan di destinazione sin dall’origine
5) permette l’autenticazione su chiave pubblica
comunque tante altre piccole funzionalità che nell’insieme lo rendono imbattibile.
Mi sono studiato la configurazione e alla fine non è stata molto difficile.
Veniamo al sodo abbiamo due centralini (Hardy e Karmic in perfetto stile Ubuntu) di cui vado ad illustrare iax.conf:
Hardy
iax.conf:
[general]
bindport=4569
bindaddr=0.0.0.0
language=it
bandwidth=medium
disallow=all
allow=gsm
allow=g729
allow=alaw
jitterbuffer=no
forcejitterbuffer=no
autokill=yes
requirecalltoken=no
mailboxdetail=yes
minregexpire=360
maxregexpire=3600
username=ubuntu
secret=linux
auth=plaintext
host=karmic.mydomain.it
context=fromiax
peercontext=fromiax
qualify=yes
transfer=yes
Karmic
iax.conf:
[general]
bindport=4569
bindaddr=0.0.0.0
language=it
bandwidth=medium
disallow=all
allow=gsm
allow=g729
allow=alaw
jitterbuffer=no
forcejitterbuffer=no
autokill=yes
requirecalltoken=no
mailboxdetail=yes
minregexpire=360
maxregexpire=3600
username=ubuntu
secret=linux
auth=plaintext
host=hardy.mydomain.it
context=fromiax
peercontext=fromiax
qualify=yes
transfer=yes
Le righe da inserire in extensions.conf a questo punto sono abbastanza semplici e logiche;
Hardy
extensions.conf
[uscita]
exten => _88XXX,1,Dial(IAX2/karmic/${EXTEN:2})
exten => _X.,n,Goto(interni,${EXTEN},1)
Karmic
extensions.conf
[uscita]
exten => _88XXX,1,Dial(IAX2/hardy/${EXTEN:2})
exten => _X.,n,Goto(interni,${EXTEN},1)
Come potete vedere nel primo esempio per chiamare un interno remoto basta seleziona 88 + l’interno, mentre il secondo esempio è la rotta in entrata che cambia il Caller ID per distinguere chi chiama, e poi inoltra la chiamata nel contesto interni che è il contesto in cui si trovano i miei interni.
Spero possa essere utile a molti.
By
Frank
Interessante articolo, una domanda per legare i due centralini immagino che bind= debba recare l’indirizzo del centralino remoto a cui collegarsi?
con bind indichi su quale interfaccia deve rimanere in ascolto
Ciao, interessante. Se ho il traffico in ingresso su hardy e la chiamata viene ruotata verso Karmic ho problemi di latenza? Come ti è sembrata la qualità su semplici adsl?
Grazie
ciao
Prima di tutto scusami pe rla formattazione ma sono passato da WordPress 2 a 3 ed il restore del backup mi ha formattato male gli articoli e li devo sistemare
cmq ho attiva la soluzione su diversi clienti e i tempi di latenza sono abbastanza buoni usando il codec g729 poi ovviamente per evitare problemi conviene sempre dividere il traffico voip da quello normale e se possibile configurare un traffic shaper.
bene,
sono tutti su shdsl con bmg 4+4 quindi spero di non aver problemi di latenza.
sto per collegare 5 trixbox in vpn anellare
Grazie per le info.
Ciao