Installazione drivers DAHDI su Debian Squeeze
- Installare il sorgente di DAHDI e le parti userspace relative:
aptitude install dahdi-source dahdi dahdi-linux
- Compilare DAHDI con module-assistant
m-a a-i dahdi
Ora tocca alla configurazione, che cambia a seconda di quale hardware si usa, e delle configurazioni dello stesso. Il punto di partenza e` il file /etc/dahdi/genconf_parameters, un esempio del quale si trova in /usr/share/doc/dahdi/examples/genconf_parameters.gz
Configurazione generica e comandi utili
Se vi trovate di fronte a una scheda che non conoscete, questa e` (piu` o meno) la procedura per arrivare ad avere qualcosa di funzionante.
Per vedere quale hardware avete e se e` supportato, potete usare il comando dahdi_hardware che riporta un elenco delle schede che riconosce e indica anche quale driver dovete usare per queste schede. Ad esempio, se l'output e` questo:
pci:0000:08:00.0 wctdm24xxp- d161:8005 Wildcard TDM410P
allora significa che il driver da caricare e` wctdm24xxp. Il "meno" in fondo significa che non e` ancora stato caricato. Potete usare un "modprobe" per caricarlo a mano, cosi` potete procedere. Vale la pena di guardare l'output in dmesg o nel syslog per vedere se il driver fornisce informazioni utili o messaggi di errore.
Per generare una configurazione, dopo aver caricato a mano il driver giusto, potete usare dahdi_genconf. Questo comando genera una configurazione di massima che probabilmente e` tutto meno che perfetta, pero` e` un inizio. Il comando dahdi_genconf utilizza un file di configurazione (se presente) per impostare alcuni parametri. Il file in questione e` /etc/dahdi/genconf_parameters, un esempio del quale si trova in /usr/share/doc/dahdi/examples/genconf_parameters.gz. Se il file non esiste, si applicano i default. Una configurazione "media" per un sistema italiano dove sono collegate solo linee telefoniche (non telefoni) alla scheda potrebbe essere questa:
# toni italiani lc_country it # context delle chiamate entranti dalla scheda dahdi context_lines from-dahdi # gruppo di default nel quale inserire le linee dahdi group_lines 0
In questa configurazione mancano tutti i default "specifici" delle linee (analogiche, ISDN, ecc) che vanno verificati e inseriti correttamente a seconda del tipo di scheda che avete.
- ancora incompleto -
Configurazione di Dahdi senza hardware, solo per il timing
Creare il file /etc/dahdi/genconf_parameters. Questo file verra` usato da dahdi_genconf per generare le configurazioni effettive per dahdi. Il piu` semplice esempio e` per una macchina che non ha hardware ISDN ma usa solo il timing "dummy" e`:
lc_country it
Eseguire dahdi_genconf, il quale generera` due files, uno e` /etc/dahdi/system.conf e l'altro e` /etc/asterisk/dahdi-channels.conf.
Eseguire /etc/init.d/dahdi restart, il quale comando dovrebbe informarci che non essendoci hardware dedicato, si limita a caricare il modulo dummy.
Dal momento che non esistono canali dahdi in questa configurazione, possiamo ignorare i files /etc/asterisk/chan-dahdi.conf e /etc/asterisk/dahdi-channels.conf
Configurazione di Dahdi con una scheda ISDN singola PRI 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.
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, occorrera` ri-eseguirlo una volta caricata la configurazione dell'hardware, dopo il restard di dahdi.
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
Eseguire /etc/init.d/dahdi restart, il quale comando dovrebbe caricare e inizializzare il driver
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
- 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