Configurazione di Asterisk con una scheda ISDN BRI (driver Zaptel)

Il driver Zaptel consente di pilotare schede ISDN PRI, BRI e multiBRI. Questa configurazione e` fatta per una scheda ISDN BRI con chipset HFC configurata come TE P2MP. (dio, *adoro* le sigle!) Per dirla in termini umani, si tratta di una configurazione in cui Asterisk si comporta come un centralino a cui e` connessa una linea telefonica ISDN configurata come punto-multipunto (la configurazione classica della singola linea ISDN).

Installazione pacchetto dei driver Zaptel

Questa installazione e` per Debian, se usate altro, installateveli come meglio e` opportuno.

Configurazione del modulo zaphfc

Al momento del caricamento, il modulo zaphfc fa riferimento al file /etc/zaptel.conf per impostare alcuni suoi parametri. Queste sono le impostazioni necessarie per una singola scheda HFC BRI, usata in Italia. Se si cambia qualcosa qui, occorre ricaricare il modulo zaphfc.

# 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

Configurazione di Asterisk

Tutte le configurazioni del driver Zaptel in Asterisk sono in /etc/zapata.conf. Il modulo che asterisk deve caricare (vedi /etc/asterisk/modules.conf e` /usr/lib/asterisk/modules/chan_zap.so.

Questa e` una configurazione che sto testando, quindi prendetela con le pinze. Quelle lunghe.

; file /etc/asterisk/zapata.conf
; 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 TE mode
signalling = bri_cpe_ptmp

; p2p TE mode
;signalling = bri_cpe
; p2mp NT mode
;signalling = bri_net_ptmp
; p2p NT mode
;signalling = bri_net

; Queste dicono che per la Telecom vanno messe cosi`. Io non lo so.
pridialplan = unknown
prilocaldialplan = unknown
nationalprefix = 0
internationalprefix = 00

; Cancellazione dell'eco. Secondo me non serve su ISDN, dovro` provare a disattivarla.
echocancel=yes
echotraining = 100
echocancelwhenbridged=yes

; Se voglio poter discernere gli MSN (se ne ho) sulle chiamate entranti, allora
; immeditate deve essere "no", e nel file estensions.conf dovro` discernere cosa fare per ogni MSN chiamato.
; Altrimenti lo metto a "yes" e nel file extensions.conf ricevero` sempre chiamate alla extension "s" di start.
immediate=no

; 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

Riporto qui un esempio di configurazione di extensions.conf per usare le linee ISDN per chiamare e ricevere, con e senza la distinzione degli MSN chiamati (cioe` dei numeri aggiuntivi, se ne ho, a cui vengo chiamato).

; context "isdn", cosi` come definito in zapata.conf, per le chiamate entranti.
[isdn]

; se ho impostato "immediate=yes" in zapata.conf, tutte le chiamate arrivano
; all'extension "s" di start, quindi per esempio per far suonare
; un telefono SIP quando mi chiamano sulla ISDN usero`:
exten => s,1,Dial(SIP/Int101)

; se ho impostato "immediate=no" in zapata.conf, le chiamate entrano su
; extensions che hanno il numero corrispondente all' MSN chiamato.
; supponendo che io abbia i numeri "051555555" e "051666666", posso discernere
; le chiamate in ingresso ed assegnarne una ad un telefono SIP e una all'altro.
exten => 051555555,1,Dial(SIP/Int101)
exten => 051666666,1,Dial(SIP/Int102)

Per verificare con che numero di estension entrano le chiamate dalla linea ISDN, e` sufficiente abilitare abbastanza debug su Asterisk (con il comando "asterisk -rvvv") e provare a chiamarsi sulla ISDN.