====== Installazione di DAHDI su Debian 8 ======
* Installare il sorgente di DAHDI e le parti userspace relative, nonche` il supporto DAHDI in Asterisk:
aptitude install dahdi-source dahdi dahdi-linux asterisk-dahdi
* Compilare DAHDI con module-assistant
m-a a-i dahdi
===== Configurazione di Dahdi con una scheda ISDN singola BRI con chipset HFC =====
* Blaclistare eventuali moduli che possano accedere alla scheda ISDN, tipicamente occorre inserire in ''/etc/modprobe.d/blacklist.conf'' queste righe:
blacklist hfcpci
blacklist mISDN_core
* Creare il file /etc/dahdi/genconf_parameters. Questo file verra` usato da ''dahdi_genconf'' per generare le configurazioni effettive per dahdi.
# toni italiani
lc_country it
# context delle chiamate entranti dalla isdn
context_lines from-dahdi
# gruppo di default nel quale inserire le linee isdn dahdi
group_lines 0
# signalling delle linee (bri o bri_ptmp)
bri_sig_style bri_ptmp
* Verificare, usando ''dahdi_hardware'', se la scheda viene vista e se il driver caricato e` quello giusto. Se vi e` un errore che dice ''driver should be 'zaphfc' but is actually 'hfcpci''', occorre fare un rmmod del driver errato e un modprobe del driver giusto. (ovvero, un modprobe di zaphfc in questo caso)
* Se il driver e` giusto ed e` caricato, ''dahdi_hardware'' dara` un output come questo: ''pci:0000:08:00.0 zaphfc+ 1397:2bd0 HFC-S ISDN BRI card''. Notare il "+" di fianco al nome del driver.
* Creare il file ''/etc/dahdi/modules'' che contiene i moduli da caricare all'avvio dei sistema dahdi. In questo caso, il driver per la scheda HFC:
zaphfc dahdi_transcode dahdi_dummy
* Eseguire ''dahdi_genconf'', il quale generera` due files, uno e` ''/etc/dahdi/system.conf'' e l'altro e` ''/etc/asterisk/dahdi-channels.conf''.
* Se da` errori dicendo che non ci sono canali definiti ("empty configuration - no spans", occorre verificare quanto segue:
* Eseguire ''dahdi_span_assignments auto'' che dovrebbe autoassegnare tutte le schede che hanno un driver caricato ad uno span (in sequenza, immagino), e che genera il file ''/etc/dahdi/assigned-spans.conf''.
* Eseguire ''dahdi_span_assignments list'' per vedere se sono state assegnate le schede. L'output dovrebbe essere tipo questo: ''1:1:1 [] @PCI_Bus_08_Slot_01 /sys/devices/pci0000:00/0000:00:01.0/0000:07:00.0/0000:08:00.0/pci:0000:08:00.0''. Quello che conta e` che all'inizio ci sia scritto "1:1:1" e non "1:-:-".
* Eseguire nuovamente ''dahdi_genconf'' e vedere se non da` piu` errori
* Modificare il file ''/etc/asterisk/chan_dahdi.conf'', che e` assai complesso. Questo che segue e` un esempio che funzionicchia, ma e` tutt'altro che collaudato a fondo e sono sicuro che non sia perfetto.
; chan_dahdi contenente i parametri di localizzazione delle linee
; qui metto le configurazioni che faccio io a mano e che non sono modificate dal dahdi_genconf.
[channels]
language=it
usecallerid=yes
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
group=1
callgroup=1
pickupgroup=1
pridialplan=unknown
prilocaldialplan=unknown
nationalprefix=0
internationalprefix=00
; overlapdial=yes
priindication=outofband
; alla fine, dopo aver settato tutti i parametri, includo (il # all'inizio non e` un commento!)
; il file dahdi-channels.conf, che e` generato da dahdi_genconf.
; VA INCLUSO ALLA FINE altrimenti i parametri impostati sopra non funzionano, perche` la logica di Asterisk
; e` che prima imposti i parametri, poi li applichi al canale che indichi in seguito.
; e siccome i canali sono indicati nel file incluso, questo va incluso alla fine.
#include /etc/asterisk/dahdi-channels.conf
* Eseguire ''dahdi_cfg'' che dovrebbe non riportare alcun output
* Riavviare asterisk e dalla console dovrebbe essere possibile vedere i canali dahdi e l'hardware installato con i comandi che seguono:
linux*CLI> dahdi show status
Description Alarms IRQ bpviol CRC4 Fra Codi Options LBO
HFC-S PCI A ISDN card 0 [TE] OK 0 0 0 CCS AMI YEL 0 db (CSU)/0-133 feet (DSX-1)
linux*CLI> dahdi show channels
Chan Extension Context Language MOH Interpret Blocked State
pseudo default default In Service
1 from-dahdi it default In Service
2 from-dahdi it default In Service