OpenVox D230P Dahdi en

From Wiki

Jump to: navigation, search

Chapter 1 Overview

What is D230P?

     The D230P/DE230P is an upgrade product of the DE210P. It’s supposed to be the most advanced 2 port T1/E1/J1 asterisk® card with superior quality in the open source community. The leading innovation ensures users to adjust the interrupts frequency to reduce the CPU load up to 70% and adjust the interrupt number to avoid interrupt number sharing or conflict.

     D230P/DE230P offers an on-board Octasic® DSP-based echo cancellation module. It supports T1, E1, and J1 environments and is selectable on a per-card or per-port basis.

     D230P/DE230P supports industry standard telephony and data protocols, including Primary Rate ISDN (both N. American and Standard Euro) protocol families for voice, PPP, Cisco, HDLC, and Frame Relay data modes. Both line-side and trunk-side interfaces are supported.

     D230P/DE230P works with Asterisk®, Elastix®, FreeSWITCH™, PBX in a Flash, trixbox®, Yate™ and IPPBX/IVR projects as well as other Open Source and proprietary PBX, Switch, IVR, and VoIP gateway applications.

Chapter 2 Hardware Setting

1.Span Type Setup

    Each DIP switch controls one span configuration for E1 or T1.Setting DIP1 to ON means SPAN1 will be E1.Setting DIP1 to OFF means SPAN1 will be T1.The example sets all 2 Spans to E1.

2.CardID Switch Setup

   If there is only one card in PCI slot,CardID switch should be set to 0,otherwise set to different values of each card by order.

Chapter 3 Software Installation and Configure

1.Checking the D230P/DE230P hardware by command: lspci -v

01:02.0 Class ff00: Digium, Inc. Unknown device 1420 (rev 01)
Subsystem: Unknown device 0005:0000
Flags: bus master, slow devsel, latency 64, IRQ 225
Memory at dedf0000 (32-bit, non-prefetchable) [size=32K]

Then run #cat /proc/interrupts.If the card’s IRQ is shared with other hardwares,you can change the IRQ to another.You can refer this link: http://downloads.openvox.cn/pub/misc/opvx-update_user_manual_en.pdf.

2.Downloading libpri,dahdi,asterisk

#wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.5.tar.gz
#wget http://downloads.openvox.cn/pub/drivers/dahdi-linux-complete/openvox_dahdi-linux-complete-current.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-1.6.2.12.tar.gz


3.Before installing libpri, dahdi and asterisk, make sure that all supporting packages have been installed in system.

Note that if there is no kernel source in the system, user should install them. User can run yum again: yum install kernel-devel. If user uses this command yum will install the sources for your current version of the kernel.

It is time to check for the availability of some other packages:

rpm -q bison
rpm -q bison-devel
rpm -q ncurses
rpm -q ncurses-devel
rpm -q zlib
rpm -q zlib-devel
rpm -q openssl
rpm -q openssl-devel
rpm -q gnutls-devel
rpm -q gcc
rpm -q gcc-c++

If any of those packages are not installed install them by using yum

yum install bison
yum install bison-devel
yum install ncurses
yum install ncurses-devel
yum install zlib
yum install zlib-devel
yum install openssl
yum install openssl-devel
yum install gnutls-devel
yum install gcc
yum install gcc-c++

4.Compiling

assuming the three packages are stored in /usr/src directory. User should compile those packages as following in order:

1)Install libpri:

cd /usr/src/libpri-1.4.11.5
make && make install

2)Install dahdi:

cd /usr/src/dahdi-linux-complete-2.4.0+2.4.0
make && make install && make config

3)Install asterisk:

cd /usr/src/asterisk-1.6.2.12
./configure && make && make install && make sample

5.Configure

1)Loading wct4xxp driver for D230P

service dahdi stop
modprobe dahdi
modprobe wct4xxp
dahdi_genconf

2)Checking the configure files

The command "dahdi_genconf" will automatically generate /etc/dahdi/system.conf and /etc/asterisk/dahdi-channels.conf.User should modify these two files according to your environment.

If using DE230P,user should disable echocanceller mg2 in system.conf like the following:

# Autogenerated by /usr/sbin/dahdi_genconf on Wed Jan 12 16:36:41 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: TE2/0/1 "T2XXP (PCI) Card 0 Span 1" (MASTER)
span=1,1,0,ccs,hdb3
# termtype: te
bchan=1-15,17-31
dchan=16
#echocanceller=mg2,1-15,17-31

# Span 2: TE2/0/2 "T2XXP (PCI) Card 0 Span 2"
span=2,2,0,ccs,hdb3
# termtype: te
bchan=32-46,48-62
dchan=47
#echocanceller=mg2,32-46,48-62

# Global data

loadzone = us
defaultzone = us

Edit /etc/asterisk/dahdi-channels.conf :

; Autogenerated by /usr/sbin/dahdi_genconf on Wed Jan 12 16:36:41 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: TE2/0/1 "T2XXP (PCI) Card 0 Span 1" (MASTER)
group=0,11
context=from-pstn
switchtype = euroisdn
signalling = pri_cpe
channel => 1-15,17-31
context = default
group = 63

; Span 2: TE2/0/2 "T2XXP (PCI) Card 0 Span 2"
group=0,12
context=from-pstn
switchtype = euroisdn
signalling = pri_cpe
channel => 32-46,48-62
context = default
group = 63


Check the chan_dahdi.conf under /etc/asterisk and make sure dahdi-channels.conf has been included into chan_dahdi.conf.If not,run the command:

echo “#include dahdi-channels.conf”>>/etc/asterisk/chan_dahdi.conf

Edit the dialplan (/etc/asterisk/extensions.conf)

[from-pstn]
exten => s,1,Answer() // answer the inbound call
exten => s,n,Playback(cc_welcome) //please message
exten => s,n,Hangup()

[from-internal]
exten => _X.,1,Dial(dahdi/g0/${EXTEN})
exten => _X.,n,Hangup

Then run:

dahdi_cfg -vv

If using DE230P,user can run "dmesg" and find the EC module has been detected as below:

VPM450: echo cancellation for 64 channels
VPM450: hardware DTMF disabled.
VPM450: Present and operational servicing 2 span(s)

3.Starting asterisk

asterisk -vvvvvvgc

Under asterisk console,run "dahdi show channels",If dahdi channels can be shown,it means channels have been loaded into asterisk.

*CLI> dahdi show channels
Chan Extension 	Context 	Language 	MOH Interpret 	Blocked State
pseudo 		default 			default 	In Service
1 		from-pstn 			default 	In Service
2 		from-pstn 			default 	In Service
3 		from-pstn 			default 	In Service
4 		from-pstn 			default 	In Service
5 		from-pstn 			default 	In Service
6 		from-pstn 			default 	In Service
7 		from-pstn 			default 	In Service

......
62 		from-pstn 			default 	In Service

Then run "pri show spans" and make sure pri is up and active.

*CLI> pri show spans
PRI span 1/0: Provisioned, Up, Active
PRI span 2/0: Provisioned, Up, Active 

If using DE230P,when making an outbound call user can find EC status is ON as the following,otherwise it would be OFF.

*CLI> dahdi show channel 1
Channel: 1
File Descriptor: 19
Span: 1
Extension:
Dialing: no
Context: from-pstn
Caller ID:
Calling TON: 0
Caller ID name:
Mailbox: none
Destroy: 0
InAlarm: 0
Signalling Type: ISDN PRI
Radio: 0
Owner: DAHDI/1-1
Real: DAHDI/1-1
Callwait: <None>
Threeway: <None>
Confno: -1
Propagated Conference: -1
Real in conference: 0
DSP: yes
Busy Detection: no
TDD: no
Relax DTMF: no
Dialing/CallwaitCAS: 0/0
Default law: alaw
Fax Handled: no
Pulse phone: no
DND: no
Echo Cancellation:
128 taps
currently ON
Wait for dialtone: 0ms
PRI Flags: Call
PRI Logical Span: Implicit
Actual Confinfo: Num/0, Mode/0x0000
Actual Confmute: No
Hookstate (FXS only): Onhook

Test Environment:

Centos 5.5
Kernel Version:2.6.18-194.el5
Libpri:1.4.11.5
Dahdi:dahdi-linux-complete-2.4.0+2.4.0
Asterisk:1.6.2.12
Hardware:OpenVox DE230P

Personal tools