Table of Contents

DAHDI

DAHDI provides the drivers for Digium and other common TDM telephony cards.

DAHDI was previously 'Zaptel'.

Configuration

/etc/dahdi/system.conf

# Autogenerated by /usr/sbin/dahdi_genconf on Mon May 23 20:50:01 2011
# If you edit this file and execute /usr/sbin/dahdi_genconf again,
# your manual changes will be LOST.
# Dahdi Configuration File
#
# This file is parsed by the Dahdi Configurator, dahdi_cfg
#
# Span 1: WCTDM/0 "Wildcard AEX800 Board 1" (MASTER) 
fxsks=1
echocanceller=mg2,1
fxsks=2
echocanceller=mg2,2
fxsks=3
echocanceller=mg2,3
fxsks=4
echocanceller=mg2,4
fxsks=5
echocanceller=mg2,5
fxsks=6
echocanceller=mg2,6
fxsks=7
echocanceller=mg2,7
fxsks=8
echocanceller=mg2,8

# Global data

loadzone	= us
defaultzone	= us

/etc/asterisk/dahdi.conf

[G0]
qualify=no
nat=no
context=from-outside
type=friend
;=description=Analog Trunks via AEX800

/etc/asterisk/dahdi-channels.conf

; Autogenerated by /usr/sbin/dahdi_genconf on Mon May 23 20:50:01 2011
; If you edit this file and execute /usr/sbin/dahdi_genconf again,
; your manual changes will be LOST.
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;

; Span 1: WCTDM/0 "Wildcard AEX800 Board 1" (MASTER) 
;;; line="1 WCTDM/0/0 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-outside
channel => 1
callerid=
group=
context=default

;;; line="2 WCTDM/0/1 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-outside
channel => 2
callerid=
group=
context=default

;;; line="3 WCTDM/0/2 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-outside
channel => 3
callerid=
group=
context=default

;;; line="4 WCTDM/0/3 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=1
context=from-outside
channel => 4
callerid=
group=
context=default

;;; line="5 WCTDM/0/4 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=1
context=from-outside
channel => 5
callerid=
group=
context=default

;;; line="6 WCTDM/0/5 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=1
context=from-outside
channel => 6
callerid=
group=
context=default

;;; line="7 WCTDM/0/6 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=1
context=from-outside
channel => 7
callerid=
group=
context=default

;;; line="8 WCTDM/0/7 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=1
context=from-outside
channel => 8
callerid=
group=
context=default

Old Zaptel (Pre-DAHDI) Info

Recompile Zaptel Modules After Installation or After a Kernel Upgrade

Reference for zaptel stuff is the Digium Users Manual for the card you have.

vi /usr/local/sbin/rebuild_zaptel

change line 56 - directory is 1.4.9.2

rebuild_zaptel

Or the manual way:

wget http://downloads.asterisk.org/pub/telephony/zaptel/zaptel-1.4.12.1.tar.gz
cd /usr/src
tar -zxvf zaptel-1.4.12.1.tar.gz
cd zaptel-1.4.12.1

make clean
./configure
make menuselect

Enable the module you need for your card (wctdm24xxp for AEX800, wctdm for TDM400P) and the firmware needed by your card (VPMADT032 for EC module) and then save those changes.

make
make install
make config

Use 'modprobe' to load the proper module for your card.

Use /usr/local/sbin/genzaptelconf to generate the /etc/zaptel.conf file and verify:

# Span 1: WCTDM/0 "Wildcard AEX800 Board 1" (MASTER) 
fxsks=1
fxsks=2
fxsks=3
fxsks=4
fxsks=5
fxsks=6
fxsks=7
fxsks=8

# Global data

loadzone        = us
defaultzone     = us

With Asterisk stopped, stop and start the zaptel drivers:

service zaptel stop
service zaptel start

Verify channel configuration with:

ztcfg -vv

Use 'dmesg' to verify the proper loading of the zaptel modules.

Edit /etc/asterisk/zapata.conf to your needs:

[channels]
language=en
context=from-outside
switchtype=national
signalling=fxs_ks
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
callgroup=1
pickupgroup=1
immediate=no

group=1
context=from-outside
channel => 1-8		#only include the channels that actually have phone lines connected

Performance Testing

http://www.cadvision.com/blanchas/Asterisk/ZaptelPerformanceTesting.html