= 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 }}}