Difference between revisions of "VoIP: Penggunaan DAHDI"

From OnnoWiki
Jump to navigation Jump to search
Line 110: Line 110:
 
  defaultzone    = us
 
  defaultzone    = us
  
check
+
check /etc/dahdi/system.conf
  
 
  vi /etc/dahdi/system.conf
 
  vi /etc/dahdi/system.conf
Line 123: Line 123:
 
  dahdi_cfg -vv
 
  dahdi_cfg -vv
 
  dmseg
 
  dmseg
 +
 +
you should see something like
  
 
  [  961.484269] wctdm24xxp 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
 
  [  961.484269] wctdm24xxp 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
Line 131: Line 133:
 
  [  965.842700] VPM100: Not Present
 
  [  965.842700] VPM100: Not Present
 
  [  965.846981] Found a Wildcard TDM: Wildcard TDM410P (4 modules)
 
  [  965.846981] Found a Wildcard TDM: Wildcard TDM410P (4 modules)
 +
 +
 +
Do
  
 
  dahdi_genconf
 
  dahdi_genconf
 +
 +
 +
Edit
  
 
  vi /etc/asterisk/chan_dahdi.conf  
 
  vi /etc/asterisk/chan_dahdi.conf  
  
 
  #include /etc/asterisk/dahdi-channels.conf
 
  #include /etc/asterisk/dahdi-channels.conf
 +
 +
See
  
 
  vi /etc/asterisk/dahdi-channels.conf
 
  vi /etc/asterisk/dahdi-channels.conf
 +
 +
You should see something like
  
 
  signalling=fxs_ks
 
  signalling=fxs_ks
Line 161: Line 173:
 
  context=default
 
  context=default
  
 +
Restart asterisk
  
  
* Restart dahdi to unload and reload all modules and drivers
+
  # /etc/init.d/asterisk restart
 
 
  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
 
  
  

Revision as of 17:58, 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

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 /etc/dahdi/system.conf

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

you should see something like

[  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)


Do

dahdi_genconf


Edit

vi /etc/asterisk/chan_dahdi.conf 
#include /etc/asterisk/dahdi-channels.conf

See

vi /etc/asterisk/dahdi-channels.conf

You should see something like

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 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