Our community of experts have been thoroughly vetted for their expertise and industry experience. Experts with Gold status have received one of our highest-level Expert Awards, which recognize experts for their valuable contributions.
Published:
Browse All Articles > Who's your DAHDI? How to go from Zaptel to DAHDI in 5 Easy Steps.
The Zaptel people (www.zaptel.com) got kind of annoyed with the fact that they were getting bombarded with searches for the zaptel driver system for Asterisk (not to mention they own the trademark on zaptel). So, they kindly requested that Digium change their package. See: Digium's blog entry for more on why. Digium did, and the result is the new Digium Asterisk Hardware Device Interface.
This raises several questions for people trying to make the switch. The documentation for DAHDI is a little esoteric. There is not a document out there that takes you through the process of upgrading to the new version in a down-and-dirty, "I need to get this done, now" kind of manner.
So I have created one: The top 5 quandaries and their answers on moving from Zaptel to DAHDI.
1. Where do I get the new packages?
Hopefully, you have read my other article entitle How to Install Asterisk on Ubuntu 9.04 / 9.10 from Scratch. There are several things in it that you will have had to have done in order to get DAHDI to work. For the sake of completeness, and to keep you from having to open multiple tabs in your browser, here are the bare-bones requirements for DAHDI:
cd /usr/src/#Setup the systemapt-get install subversionapt-get install makeapt-get install linux-source kernel-packageapt-get install linux-kernel-headersapt-get install linux-headersapt-get install linux-headers-2.6.28-11-server #<-- or whatever matches your version.#Install other needed stuffaptitude install libconfig-tiny-perl libcupsimage2 libcups2 libmime-lite-perllibemail-date-format-perl libfile-sync-perl libfreetype6 libspandsp1libtiff-tools libtiff4 libjpeg62 libmime-types-perl libpaper-utils psutilslibpaper1 ncurses ncurses-dev libncurses-dev libncurses-gst ncurses-term libnewtlibnewt-dev libnewt-pic libxml2 libxml2-dev libspandsp-dev libspandsp1# Get DAHDI Kernelsvn co http://svn.digium.com/svn/dahdi/linux/trunk dahdi-kernel# Get DAHDI Toolssvn co http://svn.digium.com/svn/dahdi/tools/trunk dahdi-tools
Then it's easy, just change to the /usr/src/dahdi-kernel directory, and run make, make install. After that, you'll need to change to the /usr/src/dahdi-tools directory, and run make, make install again to install the tools.
2. What happened to zaptel.conf and zapata.conf?
They have been replaced. They have been reincarnated into easy-to-use versions of themselves.
zaptel.conf was used to tell the system and the drivers what to do. zapata.conf was used to tell Asterisk how to talk to the driver. They have both been combined into a single file: /etc/dahdi/system.conf.
Syntactically, configuration of this file is roughly the same as the zaptel.conf and zapata.conf files. Defining spans, channels and the like are nearly identical.
The upside of the new DAHDI system is that there is not a lot of hand coding required to configure DAHDI, which is a drastic improvement over the old zaptel system. dahdi-tools can be used to configure just about everything.
3. Where did the zaptel tools go?
Zaptel tools have been upgraded as well. Here are the new equivalents to the old tools:
4. Great. So how do I configure this blasted thing?
In three easy steps:
1. Use dahdi_genconf to generate /etc/dahdi/system.conf, and then add / remove anything that is incorrect. This does a pretty good job of detecting your hardware, but always re-confirm before proceeding to avoid headaches.
2. Use dahdi_cfg -v to read the system.conf file, and configure the kernel.
3. Restart dadhi to unload and reload all the modules and drivers (/etc/init.d/dahdi restart).
4. Restart Asterisk
5. How do I tell if it is running?
In the Asterisk CLI, type dahdi show status. You should get some output like this:
voip*CLI> dahdi show statusDescription Alarms IRQ bpviol CRC4 Fra Codi OWildcard TDM400P REV I Board 5 OK 0 0 0 CAS Unk Y
The Meetme application, as of Asterisk v1.6.x still uses DAHDI not only for timing, but for the entire mixing application and process. See Russel Bryant's Blog Post on Why. So, in order to get your conferencing to work, you have to install DAHDI and get the pseudo (dummy) channel / device working. Follow the steps above, and you should have no problem getting it to work: even if you don't have telephony hardware installed!
Our community of experts have been thoroughly vetted for their expertise and industry experience. Experts with Gold status have received one of our highest-level Expert Awards, which recognize experts for their valuable contributions.
Our community of experts have been thoroughly vetted for their expertise and industry experience. Experts with Gold status have received one of our highest-level Expert Awards, which recognize experts for their valuable contributions.
Comments (1)
Commented:
Excellent "Use it Now" kind of Article.
Thank you for putting it together.
Big "Yes" vote above.
younghv