How To Install And Configure Dahdi From Debian Stretch Repo ?

Home » Asterisk Tutorial » How To Install And Configure Dahdi From Debian Stretch Repo ?
Asterisk Tutorial, Asterisk Users 8 Comments

After all these years installing from source, I’m giving Dahdi package installation a try on a recent Stretch box.

Note: Sangoma’s USBfxo is a low-cost development tool kit, ideal for those just getting started with Asterisk® or those who just want a simple external solution. The USBfxo is easy to install. There is no need to open up the computer to insert an interface card. Simply plug it in, and set up your Asterisk system; configure Sangoma’s Wanpipe® drivers, as you would with any Sangoma card, and you’re set to go. You can even connect multiple USBfxos in one system. TheUSBfxo fully supports Asterisk on Linux systems and includes Zaptel/DAHDI drivers.

Google over the web, I didn’t find too many doc on this topic.

1. Is this one [1] up-to-date? Reading Stretch I would say a single asterisk-dahdi would be enough to install asterisk dahdi and libpri.

2. On my box, the following fails. What would you suggest ? Re-base everything on Jessie ? apt-get install linux-headers-`uname -r`

3. How is dahdi started-stopped in Stretch ? (I can’t find any /etc/init.d/dahdi file after apt-get install asterisk-dahdi).

Best regards


8 thoughts on - How To Install And Configure Dahdi From Debian Stretch Repo ?

  • Not exactly.

    Almost. Except the kernel modules. For those:

    apt install dahdi-source
    # also install module-assistant, if it wasn’t installed already
    m-a a-i dahdi
    # Should also install linux-headers-`uname -r`, IIRC

    That should not happen. What is the output of uname -r #?

    Started: should be automatically at boot. Waht hardware device do you have?

  • 2017-03-14 13:08 GMT+01:00 Tzafrir Cohen :

    # uname -r

    # apt-get install linux-headers-`uname -r`
    … E: Couldn’t find any package by glob ‘linux-headers-4.8.0-2-686-pae’

    # apt-cache show linux-headers-4.8
    … N: Couldn’t find any package by glob ‘linux-headers-4.8’

    # apt-cache show linux-headers-4.9
    Package: linux-headers-4.9.0-2-686
    Source: linux

    It looks like linux-headers-4.8 are currently missing in Stretch repo though currently installed kernel is 4.8. This issue seems quite independant from asterisk, anyway.

    I started all over with a Jessie box. Relating to [1], I could positively run:
    # m-a a-i dahdi

    But # dahdi_genconf required a reboot to run OK. Though this worries me as I need to script the whole install process, I can leave it aside at the moment.

    Shall I find an /etc/init.d/dahdi file or equivalent ?
    If positive which command produces this file ?
    I would expect dahdi-linux or dahdi packages to install these file.

    # dahdi_hardware pci:0000:04:05.0 wctdm24xxp+ d161:8007 HA8-0000

  • You probably started working on this box a while ago. Streetch’s current kernel is 4.9.0-2 (it changed shortly before the freeze). It is now frozen and won’t change (barring a really good reason).

    I recommend to go back to Stretch and just upgrade the kernel. In other words: keep the software up-to-date.

    Certainly not. See below.

    Traditionally dahdi has been shipped with a modprobe.d configuration file to blacklist all of the PCI cards. This was because the order in which they were loaded was not well-defined.

    This is irrelevant on a system with a single device. And anyway, irrelevant in a system configured (as is in the Debian packages) with auto_assign_spans=0 . In such a system, devices register automatically, but their spans are not assigned span and channel numbers unless they are configured in /etc/dahdi/assigned-spans.conf .

    So try:

    dahdi_span_assignment auto

    Another reason that the init file was removed is because there is no need to assign DAHDI spans before asterisk is started: if the channels are configured with Asterisk, they will appear when assigned (using a script in /usr/share/dahdi/span_config.d/).

  • 2017-03-14 15:26 GMT+01:00 Tzafrir Cohen :

    This “dahdi_span_assignments auto” stratement was missing in my installation script.

    This one is now:

    apt-get -s install asterisk-dahdi module-assistant linux-headers-$(uname -r) dahdi-source
    m-a a-i dahdi
    modprobe ${DAHDI_MODULES}
    dahdi_span_assignments auto

    … edit asterisk and dahdi config files

    dahdi_cfg -vvvvvvvvv

    Thank you very much for letting me know about this dahdi_span_assignments command.

    May I add I’ve still got no /etc/init.d/dahdi file or equivalent though dahdi channels seems OK within Asterisk ?
    I’ll learn a bit deeper into dahdi_span_assignments to clarify my further questions, if any.

  • Thanks to Tzafrir help, Now I have an Asterisk-Dahdi system installed from Stretch repository. This system has a Digium HX8 card with BRI modules, Asterisk 13.14.0, Dahdi
    2.11.1. BRI spans appears as up and active but I’ve not tested them yet:
    CLI> pri show spans PRI span 1/0: Up, Active PRI span 2/0: Up, Active PRI span 3/0: Up, Active

    I’m still having some questions:

    1. I can’t find any /etc/init.d/dahdi file in my newly built system so
    “service dahdi status” (or systemctl status dahdi) fails with:
    Unit dahdi.service could not be found. Shall I worry about this ?

    2. Where can Dahdi 2.11.1 Changelog file be found ?
    In ?

    Best regards

    2017-03-20 16:25 GMT+01:00 Olivier :

  • No. As I mentioned, that is meaningless.

    There are various commands that show the status at various levels:

    lsmod | grep ^wctdm24xxp dahdi_hardware | grep ‘wctdm24xxp\+’
    dahdi_span_assignments list lsdahdi asterisk -rx ‘pri show spans’

    What exactly do you consider as “status of dahdi”?

    git log #?

    The tarball has no changelog and thus it is not packaged. Sorry.

  • Hello Tzafrir,

    Am 2017-03-21 um 11:23 schrieb Tzafrir Cohen:
    So it is no longer possible to make changes on dahdi parameters without rebooting the machine ?

    I think in the early days it was possible something like this:

    make a change in /etc/dahdi/system.conf asterisk -rx “module unload”
    service dahdi stop service dahdi start asterisk -rx “module load”



  • There should be no need for a reboot. Long live your system.

    What kind of change? Technically it would only take running ‘dahdi_cfg’
    to apply that change. However that may not be enough. Depending on the specific change.

    It only got faster. No need to deconfigure anything in Asterisk (This happens on its own. At least on Asterisk >= 13). No need to unload and re-load any modules (And why would you? Just to run dahdi_cfg?).

    But anyway, if merely running dahdi_cfg is not enough, try:

    dahdi_span_assignment remove
    dahdi_span_assignment add # or: auto

    This should also configure DAHDI and register spans with Asterisk
    (again: >= 13). If there are still problems with asterisk:

    asterisk -rx “dahdi restart”