Digium Asterisk Hardware Device Interface - Dahdi

Dahdi is the newer telephony drivers used in versions starting with Asterisk 1.6. Think of Zaptel as version 1 and Dahdi as Version 2. Dahdi is the new improved Zaptel with a name change due to trademark infringement. Here's information on how to configure and troubleshoot Dahdi interfaces.

This is a Dahdi mind map

The Dahdi mind map is an interactive flowchart that has dahdi configuration and troubleshooting. I suggest that you start by clicking on the indicated button. You can navigate around by clicking and dragging the background.

The order of loading of conf files for Dahdi is:

1. /etc/dahdi/system.conf - This file contains the Linux hardware configuration

2. /etc/asterisk/chan_dahdi.conf - This file holds global configurations and will contain "#INCLUDE"s to the following Dahdi conf files.

3. /etc/asterisk/dahdi_channels.conf - This is auto generated by dahdi_genconf and may contain FXS/FXO channel information. The trick is to run dahdi_genconf with the "-f" option so that it knows about FreePBX and doesn't automatically generate extensions.

4. /etc/asterisk/chan_dahdi_additional.conf - This conf contains the FXS extensions information created by FreePBX.

5. /etc/asterisk/chan_dahdi_custom.conf - This is manually created and edited by you for FXO and E1/T1 trunks

6. There may be several other chan_dahdi files present. The dahdi standard is a "loose"standard and a lot of liberties are being taken.

Configuration Tutorials

The following webpages walk you through configuring Dahdi devices. There are two steps in configuring a Dahdi device: hardware and the software. The hardware is configured under the Linux side and the software is configured under the Asterisk side. When the two are configured correctly, then Asterisk will be able to talk to the Dahdi device. The one thing to know is that the Dahdi interface is like a house of cards, if there is one small type (error) then the house of cards will fall down and nothing will work! It is about the details!

This is a new Webmin - Dahdi HW Module under developement that will aid in configuring Dahdi and Asterisk.

Here's how to set up POTS phone extensions

You've heard of FXS ports, here's how to configure your FXS port for use with a POTS phone.

Setting up a FXO line trunk

If you want to connect the Asterisk PBX to the local phone line. The FXO port is what you need to use.

Configuring a T1 Line

How to configure a T1 line to work with a channel bank using Dahdi. Channel banks allow a multiple of different connections to the outside world. Here's instructions on how to configure Asterisk to use a channel bank.

Connect two PBXs using a T1 ISDN PRI trunk and Dahdi

This example configures two PBXs to talk together using an ISDN PRI connection. Asterisk trunks and outbound/inbound routes are configured.

No Asterisk CLI Dahdi Help?

The first test when things go wrong is to see if there is Dahdi help available in the Asterisk CLI>. This gives us a clue whether the hardware and software configurations match. Here's how to troubleshoot your Dadhi configuration when there is no Asterisk CLI Dahdi help options showing.

Testing Dahdi Hardware

How to verify that your Dahdi hardware is working correctly

Performance Testing Dahdi Hardware

Now that your Dahdi hardware is working, better test it to make sure your getting the best performance possible.

Please donate to support the cost of buying new hardware, thanks.

Return to


Copyright December, 2012 Eugene Blanchard