Difference between revisions of "VoIP: Penggunaan DAHDI"

From OnnoWiki
Jump to navigation Jump to search
Line 96: Line 96:
  
 
* Detect your hardware
 
* Detect your hardware
 
 
  
 
  # lspci -n
 
  # lspci -n
Line 108: Line 106:
 
  loadzone        = us
 
  loadzone        = us
 
  defaultzone    = us
 
  defaultzone    = us
 
  
 
check
 
check
Line 135: Line 132:
  
 
  vi /etc/asterisk/chan_dahdi.conf  
 
  vi /etc/asterisk/chan_dahdi.conf  
 +
 +
#include /etc/asterisk/dahdi-channels.conf
  
 
  vi /etc/asterisk/dahdi-channels.conf
 
  vi /etc/asterisk/dahdi-channels.conf

Revision as of 17:52, 7 December 2010

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
00:09.0 0200: d161:8005 (rev 11)  ---- for TDM410


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

Pranala Menarik