Questa pagina raccoglie diversi appunti presi per me stesso, quando lavoravo allo sviluppo di applicazioni utilizzando Asterisk.
La condivido qui perché penso possa essere utile anche ad altri. Le informazioni risalgono a fine 2019 circa.
Quando si realizza un PBX, integrato con delle linee telefoniche tradizionali, seguire sempre le istruzioni di installazione e configurazione sul manuale della scheda utilizzata.
Per vedere se la scheda è stata caricata e riconosciuta dal driver usare il comando:
dahdi_hardware
Se nell'output del comando è presende l'id della porta PCI e il segno "+" allora è OK.
Con il seguente comando è possibile generare automaticamente la configurazione:
dahdi_genconf
Una volta generata modificare i parametri "loadzone" e "defaultzone" impostando "it", il file di configurazione del driver è /etc/dahdi/system.conf.
Quando si modifica la configurazione del driver, applicare le modifiche con il comando:
dahdi_cfg
Ci sono anche altri files di configurazione relativi però ad Asterisk (quindi non propriamente del driver): /etc/asterisk/chan_dahdi.conf e /etc/asterisk/dahdi_channels.conf. La configurazione di questi file dipende dal tuo sistema telefonico, di solito se ne occupa il software di gestione del PBX (ad esempio FreePBX, non lascio ulteriori riferimenti perché io usavo il nostro software proprietario aziendale, scritto da noi).
Passaggi per l'installazione di una linea analogica
- Installare i drivers DAHDI
- Collegare la scheda PCI
- Generare la configurazione (comando dahdi_genconf)
- Modificare la configurazione generata in modo che sia per l'Italia
- Applicare la configurazione con il comando dahdi_cfg a ogni avvio del PBX se Asterisk non carica i moduli del DAHDI (te ne accorgi perché da CLI i comandi DAHDI non sono disponibili).
Passaggi per l'installazione di una linea ISDN BRI:
- Installare i drivers (DAHDI)
- Collegare la scheda PCI
- Creare un file /etc/modprobe.d/blacklist.conf e inserire "blacklist hfcmulti". Una volta salvato riavviare il PBX.
- Generare la configurazione (comando dahdi_genconf)
- Modificare la configurazione generata in modo che sia per l'Italia
- Applicare la configurazione con il comando dahdi_cfg a ogni avvio del PBX se Asterisk non carica i moduli del DAHDI (te ne accorgi perché da CLI i comandi DAHDI non sono disponibili).
Passaggi per l'installazione di una linea ISDN PRI:
- Installare i drivers (DAHDI)
- Collegare la scheda PCI
- Generare la configurazione (comando dahdi_genconf)
- Modificare la configurazione generata in modo che sia per l'Italia
- Applicare la configurazione con il comando dahdi_cfg a ogni avvio del PBX se Asterisk non carica i moduli del DAHDI (te ne accorgi perché da CLI i comandi DAHDI non sono disponibili).
- Modificare il dahdi.conf sotto /ect/modprobe.d/ con il rifermento al nome dell'hardware, ad esempio: "options wcte43x default_linemode=e1" in modo da caricare il driver del kernel con le giuste opzioni.
Passaggi per l'installazione di una doppia scheda:
- Installare i drivers (DAHDI)
- Collegare la scheda PCI
- Generare la configurazione (comando dahdi_genconf)
- Modificare la configurazione generata in modo che sia per l'Italia
- Applicare la configurazione con il comando dahdi_cfg a ogni avvio del PBX se Asterisk non carica i moduli del DAHDI (te ne accorgi perché da CLI i comandi DAHDI non sono disponibili).
- Utilizzare i comandi "dahdi_span_assignments" e "dahdi_span_assignments list" oppure orinare a mano gli span
Risoluzione dei problemi
La prima cosa da fare è accertarsi che la scheda venga rilevata correttamente, usando il comando dahdi_hardware.
Controllare anche che la configurazione del DAHDI sia ok (vedere /etc/dahdi/system.conf). Per generarla usare dahdi_genconf, per applicarla dahdi_cfg.
Controllare, dalla CLI di Asterisk, lo status del DAHDI con "dahdi show status". Se il comando DAHDI non è disponibile dalla CLI di Asterisk sarà necessario caricare il modulo nei modules.conf.
Controllare che i canali del DAHDI siano stati configurati correttamente con dahdi show channels.
Se si tratta di una PRI (flusso primario) controllare, con pri show spans, che gli spans siano OK. Se qualcosa non va come previso, settare il debug su uno span e usarlo (fare i test con un extension creata ad hoc nel dialplan).
Riferimenti utilizzati:
- Manuali di varie schede OpenVox
- Codice sorgente DAHDI con file README
- Esperienza del mio ex collega Luca
- Esperienza del mio ex collega Alessandro