Short for "Digium Asterisk Hardware Device Interface"

The Change

DAHDI is the new name for 'Zaptel' as of May 19th 2008.
The post at http://blogs.digium.com/2008/05/19/zaptel-project-being-renamed-to-dahdi/ details the reason for the change. Asterisk 1.4 releases later than 1.4.21, and all releases of Asterisk 1.6, will automatically use DAHDI in preference to Zaptel, even if Zaptel is still installed on the system.

Details should be available at http://www.asterisk.org/zaptel-to-dahdi

Git Repositories

git clone git://git.asterisk.org/dahdi/linux dahdi-linux


git clone git://git.asterisk.org/dahdi/tools dahdi-tools

Conversion from Zaptel

Digium resources regarding zaptel to dahdi migration http://www.asterisk.org/node/48481
/etc/zaptel.conf Becomes /etc/dahdi/system.conf
/etc/asterisk/zapata.conf Becomes /etc/asterisk/chan_dahdi.conf

Configuration Files



Sample system.conf

Note that unlike zaptel.conf, you have to explicitly set the echo canceller for each channel.

There are a number of other configuration files under /etc/dahdi .


Replaces /etc/default/zaptel (on Debians) and /etc/sysconfig/zaptel (on most other systems) - this is a shell script snippet that is sourced by the dahdi init.d script. All values there are optional (no need to explicitly define TELEPHONY=no). The variable MODULES, however, is no longer read from it. IT is read from:


A list of modules to load. Replaces the variable MODULES from the above configuration file.


Fine--tuning parameters for dahdi_genconf (replaces zapconf and also deprecates genzaptelconf).


The package is composed of two sub-packages:


Include kernel modules and minila helper files (firmwares)


The userspace tools to control DAHDI spans/channels:-


The DAHDI Configurator, which parses system.conf


Generates /etc/dahdi/system.conf, so it's better that you don't hand edit system.conf. Uses /etc/dahdi/genconf_parameters to define it's actions.


Displays listing of DAHDI hardware detected


Monitors signal level on analog channel allows you to record audio from it
Usage: dahdi_monitor <channel num> -v -m -o -p -l limit -f FILE -s FILE -r FILE1 -t FILE2 -F FILE -S FILE -R FILE1 -T FILE2
example :- dahdi_monitor 1 -vv
note: extremly usefull, but otherwise not mentioned, that the raw format output is 8Khz 16bit signed. Use sox to convert to a wav. sox -r 8000 -s -w rx.raw rx.wav


Generates a list of things DAHDI channels, with some details


Measures accuracy of the FXO/FXS board software digital signal processing


A nice tool to see what your boards are doing.

See also

Sample installation

After compiling and installing of dahdi and asterisk, you have to perform some further steps to use your hardware.
This example will show you a few steps how to get asterisk and two Digium cards enabled:

1.) Detect your hardware
  # (this will generate /etc/dahdi/system.conf and  /etc/asterisk/dahdi-channels.conf)
 asterisk:~# dahdi_genconf

2.) Read systm.conf file and configure the kernel
 asterisk:~# dahdi_cfg -v

3.) Restart dahdi to unload and reload all modules and drivers
  asterisk:~#  /etc/init.d/dahdi restart

4.) Point file chan_dahdi.conf to /etc/asterisk/dahdi-channels.conf
  # open chan_dahdi.conf and include it under the section [channels]
  # NOTE: You can edit and configure /etc/asterisk/dahdi-channels.conf at any time 
  # to set up your specific options there.
  #include /etc/asterisk/dahdi-channels.conf

5.) Restart asterisk
  asterisk:~#  /etc/init.d/asterisk restart

5.a) Verify your current system status. You should get some output like this:
  asterisk*CLI> dahdi show status
  Description                              Alarms     IRQ        bpviol     CRC4      
  Wildcard TDM410P Board 1                 OK         0          0          0         
  Wildcard TDM800P Board 2                 OK         0          0          0    

5.b) Verify your configured channels
  asterisk*CLI> dahdi show channels
    Chan Extension  Context         Language   MOH Interpret       
  pseudo            default                    default             
       1            from-pstn       de         default             
       2            from-pstn       de         default             
       3            from-pstn       de         default             
       4            from-pstn       de         default             
       5            from-pstn       de         default             
       6            from-pstn       de         default             
       7            from-pstn       de         default             
       8            from-pstn       de         default             
       9            from-pstn       de         default             
      10            from-pstn       de         default             
      11            from-pstn       de         default             
      12            from-pstn       de         default             

Created by: bcnit, Last modification: Wed 01 of Jan, 2014 (16:20) by tzafrir
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+