VoIP: Penggunaan DAHDI
From: http://www.voip-info.org/wiki/view/DAHDI
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
Subversion Release
svn co http://svn.digium.com/svn/dahdi/linux/trunk dahdi-kernel
and
svn co http://svn.digium.com/svn/dahdi/tools/trunk dahdi-tools
Or a shortcut (if you just want to get it working, not if you want to work on it). It pulls the above two through svn:externals .
http://svn.digium.com/svn/dahdi/linux-complete/trunk
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
/etc/dahdi/system.conf /etc/asterisk/chan_dahdi.conf /etc/dahdi/system.conf
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 .
/etc/dahdi/init.conf
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:
/etc/dahdi/modules
A list of modules to load. Replaces the variable MODULES from the above configuration file.
/etc/dahdi/genconf_parameters
Fine--tuning parameters for dahdi_genconf (replaces zapconf and also deprecates genzaptelconf).
Architecture
The package is composed of two sub-packages:
Kernel
Include kernel modules and minila helper files (firmwares)
Tools
The userspace tools to control DAHDI spans/channels:-
dahdi_cfg The DAHDI Configurator, which parses system.conf
dahdi_genconf 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.
dahdi_hardware Displays listing of DAHDI hardware detected
dahdi_monitor 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
dahdi_scan Generates a list of things DAHDI channels, with some details
dahdi_test Measures accuracy of the FXO/FXS board software digital signal processing
dahdi_tool A nice tool to see what your boards are doing.
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:
Detect your hardware
# lspci -n
You should see something like this for TDM410
00:09.0 0200: d161:8005 (rev 11) ---- for TDM410
Edit /etc/dahdi/system.conf
vi /etc/dahdi/system.conf
loadzone = us defaultzone = us
check
vi /etc/dahdi/system.conf
fxsks=3,4 fxoks=1,2 echocanceller=mg2,1-4
save the file and run modprobe as root
modprobe wctdm24xxp dahdi_cfg -vv dmseg
[ 961.484269] wctdm24xxp 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 [ 961.940405] Port 1: Installed -- AUTO FXO (FCC mode) [ 962.576453] Port 2: Installed -- AUTO FXO (FCC mode) [ 964.209579] Port 3: Installed -- AUTO FXS/DPO [ 965.838703] Port 4: Installed -- AUTO FXS/DPO [ 965.842700] VPM100: Not Present [ 965.846981] Found a Wildcard TDM: Wildcard TDM410P (4 modules)
dahdi_genconf
vi /etc/asterisk/chan_dahdi.conf
#include /etc/asterisk/dahdi-channels.conf
vi /etc/asterisk/dahdi-channels.conf
signalling=fxs_ks callerid=asreceived group=0 context=from-pstn channel => 1 callerid= group= context=default
signalling=fxo_ks callerid="Channel 3" <4003> mailbox=4003 group=5 context=from-internal channel => 3 callerid= mailbox= group= context=default
- Restart dahdi to unload and reload all modules and drivers
asterisk:~# /etc/init.d/dahdi restart
- 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. ... [channels] # include /etc/asterisk/dahdi-channels.conf ...
- Restart asterisk
asterisk:~# /etc/init.d/asterisk restart
- 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
- 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 asterisk*CLI>
Referensi
- http://www.voip-info.org/wiki/view/DAHDI
- http://www.asterisk.org/zaptel-to-dahdi
- http://docs.tzafrir.org.il/dahdi-linux/
- http://docs.tzafrir.org.il/dahdi-tools/