Configurazione BRI/PRI con protocollo pri_net (obsoleto ma contiene informazioni utili)
Questa configurazione serve a connettere telefoni (o centralini) ISDN (o anche analogici, con le schede FXS Digium) ad asterisk. In pratica Asterisk si comporta come una centrale telefonica e non come un apparato utente.
L'installazione del driver zapHFC e` uguale a quella con il protocollo pri_cpe, quindi e` possibile seguire la documentazione riportata in ../Zaptel. Le differenze sono elencate qui di seguito.
Caricamento del modulo zaphfc
Occorre dire al modulo zaphfc che la scheda (o le schede) che stiamo usando vanno configurate in modo NT (emulazione di una centrale telefonica) e non in modo TE (emulazione di un telefono). Per farlo, e` necessario caricare il modulo con il parametro "modes=XX", dove "XX" e` un numero i cui bit alti indicano quali schede vanno in modo NT. Se c'e` una sola scheda, per esempio, "modes=1" e` sufficiente. Per due schede, "modes=3" le mette tutte e due (bit 0 e bit 1 alti) in modo NT. Per un motivo che non mi e` chiaro, il comando modprobe non funziona, e occorre usare insmod. Ad esempio,
insmod /lib/modules/2.6.12k1/zaptel/zaphfc.ko modes=1
Configurazione del file /etc/zaptel.conf
Per una sola scheda, il file /etc/zaptel.conf e` semplice:
# hfc-s pci a span definition # most of the values should be bogus because we are not really zaptel loadzone=it defaultzone=it span=1,1,3,ccs,ami bchan=1-2 dchan=3
Per piu` di una, occorre definire altri "span", cosi`:
span=2,1,3,ccs,ami bchan=4-5 dchan=6
Configurazione del file /etc/asterisk/zapata.conf
Per i canali che dovranno funzionare in modo NT (quindi emulando una centrale telefonica) la configurazione va modificata rispetto alla installazione standard. Prima di tutto occorre dire ad Asterisk che deve usare il protcollo giusto, e poi occorre indicargli che deve accettare i numeri composti dall'utente mentre questo li compone, dato che ai telefoni normali manca il concetto di "fine composizione". Per ulteriori informazioni su questo concetto, vedere qui: http://www.voip-info.org/wiki/index.php?page=Asterisk+Extension+Matching
; Zapata telephony interface ; Configuration file ; Per le schede ISDN con zapata e zaphfc [channels] ; Default language language=it ; Tipo di centrale (per l'italia e` euroisdn) switchtype = euroisdn ; p2mp NT mode (sono una centrale telefonica configurata in punto-multipunto) signalling = bri_net_ptmp ; p2p NT mode ;signalling = bri_net ; il dialplan e` "locale". Credo che non serva a nulla, comunque. pridialplan = local ; Cancellazione dell'eco. echocancel=yes echotraining = 100 echocancelwhenbridged=yes ; quando il telefono compone il numero, devo aspettare che l'utente abbia composto tutte le cifre. ; se metto "immediate=yes" oppure "overlapdial=no" succede che quando l'utente alza il telefono ; vengo direttamente chiamato nel dialplan all'extension "s" e non sono in grado di sapere che numero ; sta componendo l'utente immediate=no overlapdial=yes ; Gruppo 1 (al gruppo 1 faro` apparetenere tutti e due i canali B, in modo da usarli in maniera indifferenziata) group = 1 ; Context a cui arriveranno le chiamate in extensions.conf context=isdn ; Per finire, tutto quello che e` stato detto sopra lo applico ai canali 1 e 2 (i due canali B della mia BRI) channel => 1-2
Configurazione di /etc/asterisk/extensions.conf
Questa e` una configurazione minimale che permette di comporre un numero di qualsiasi lunghezza, e dopo un timeout di 3 secondi (fisso in zaptel) durante i quali l'utente non compone piu` numeri, inoltra la chiamata. Il gioco e` nell' extension "_." che significa "un numero di qualsiasi lunghezza". L'extension "h" viene chiamata quando l'utente del telefono ISDN riattacca, e l'extension "t" in caso di timeout, che si verifica per esempio se chiamo un numero che non esiste.
[isdn] exten =>h,1,Hangup(16) exten =>_.,1,Dial(SIP/${EXTEN}) exten =>_.,102,Busy() exten =>t,1,Busy()
Volendo evitare il timeout, occorrerebbe scrivere esplicitamente tutte le possibili combinazioni di numeri che possono essere chiamati, sia in modo esplicito, sia a mezzo di wildcard nelle extensions. Vedasi http://www.voip-info.org/wiki/index.php?page=Asterisk+Extension+Matching e anche le regole di sorting delle righe dentro ai context, qui: http://www.voip-info.org/wiki/index.php?page=Asterisk+config+extensions.conf+sorting
Cablaggio
Per interconnettere una scheda ISDN HFC con un telefono o un centralino ISDN, occorre un cavo "cross" per l' ISDN.
La piedinatura del cavo "cross" per ISDN e`
3--4 4--3 5--6 6--5
In pratica, si scambiano i due fili centrali (4 e 5) con quelli immediatamente esterni a loro (3 e 6).
Questo cavo richiede terminazione (resistenze da 100 ohm fra i pin 3-6 e 4-5) e qualora l'apparato telefonico voglia alimentazione sul bus S, anche alimentazione. L'alimentazione e` un casino, per fortuna se si connettere un centralino questo tipicamente e` autoalimentato, quindi l'alimentazione non serve.