OpenVox DE410P Asterisk 1.8 on Dahdi en

From Wiki

Jump to: navigation, search

Chapter 1 Overview

1. What is DE410P?

The DE410P is a bundling of our leading D410P product and our new EC100 Octasic DSP-based echo cancellation module. The EC100 provides a certified carrier-grade algorithm that has been labeled a benchmark for echo cancellation for OpenVox.

With the improved I/O speed, the card reduces CPU usage and increased card density per server. DE410P is fully compatible with Asterisk applications. The open source driver supports an API interface for custom application development. DE410P supports industry standard telephony and data protocols, including:
1) Primary Rate ISDN (both N. American and Standard Euro) protocol families for voice
2) PPP, Cisco, HDLC, and Frame Relay data modes.

About OpenVox EC100-128 Module

The OpenVox EC100-128 enables users to eliminate echo tails up to 128ms or 1024 taps across all 128 channels in E1 mode or 96 channels in T1/J1 modes. Further, this module takes advantage of the Octasic Voice Quality Enhancement to provide superior sound quality on all calls.

Benefits:
World recognized & deployed best voice quality

Features: 128ms tail/channel (on all channel densities)
Octasic Music Protection
Adaptive Noise Reduction
Automatic Level Control (G.169)
Field upgradeable algorithm
V.25 / V.8 answer tone (w/ and w/o phase reversal)
DTMF as per Q.24

Certificates: CE, FCC

2. What is Asterisk:

The Definition of Asterisk is described as follow: Asterisk is a complete PBX in software. It runs on Linux,BSD,Windows (emulated) and provides all of the features you would expect from a PBX and more. Asterisk does voice over IP in four protocols, and can interoperate with almost all standards-based telephony equipment using relatively inexpensive hardware. Asterisk provides:
1) Voicemail services with Directory
2) Call Conferencing
3) Interactive Voice Response
4) Call Queuing
5) Support for three-way calling, caller ID services
6) ADSI, IAX, SIP, H.323, MGCP and SCCP/Skinny.

Chapter 2 Card Installation and Configuration

1. Hardware Installation and Setup

Before inserting the DE410P card in to PCI slot, customer should set the jumpers correctly. Please check:
1) SPAN Type Setup
Jumper P5 can be adjusted for each span at E1 or T1 mode.

2. Software Installation and Setup

D410P supports original dahdi wct4xxp driver. There are few steps to install wct4xxp drivers.

2.1 Checking card DE410P

Run the command: lspci –vvvv, user can say the following info:

00:0c.0 Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
Subsystem: Unknown device 79fe:0001
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (250ns min, 32000ns max)
Interrupt: pin A routed to IRQ 201
Region 0: I/O ports at b800 [size=256]
Region 1: Memory at febfe000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=55mA PME(D0+,D1-,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

2.2 Checking and Installing the packages

Note:
If there is no kernel source in the system, user should install it. Run command: yum install kernel-devel. If the kernel is smp kernel, please run this command: yum install kernel-smp-devel.

rpm -q kernel-devel
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 missing any package, please install that.

yum install bison
yum install kernel-devel
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++

2.3 Downloading and Compiling libpri,dahdi and asterisk

To make the asterisk and dahdi running, users have to download libpri, please dahdi and asterisk from http://downloads.asterisk.org/pub/telephony/
Here, assuming that the packages are stored in /usr/src directory. User compile these packages as following in order.

2.3.1 Install libpri:

cd /usr/src/libpri
make clean
make
make install

2.3.2 Install dahdi-linux-complete, go to /usr/src/dahdi-linux-complete-xx, run:

make
make install 
make config

2.3.3 Install asterisk, go to /usr/src/asterisk-1.8.XX, run:

cd /usr/src/asterisk-1.8.XX
./configure
make
make install
make samples 

2.4 Loader driver Load the driver by these commands:

modprobe dahdi  ; load dahdi driver
modprobe wct4xxp opermode=YOUR COUNTRY; load the driver with your country 
dahdi_genconf  ;Generate configure files
dahdi_cfg –vvvv ; start channels

The command dahdi_genconf will automatically generate the /etc/dahdi/system.conf and /etc/asterisk/dahdi-channels.conf.
Note: the dahdi-channels.conf should be included in /etc/asterisk/chan_dahdi.conf
if not, please run a command to include that file:
echo "#include dahdi-channels.conf" >> /etc/asterisk/chan_dahdi.conf

2.5 Configuration

1) Edit he file /etc/dahdi/system.conf,please disable the software echocanceller mg2, edit it as the following:

span=1,1,1,ccs,hdb3
# termtype: te
bchan=1-15,17-31
dchan=16
#echocanceller=mg2,1-15,17-31
# Span 2: TE4/0/2 "T4XXP (PCI) Card 0 Span 2"
span=2,2,1,ccs,hdb3
# termtype: te
bchan=32-46,48-62
dchan=47
#echocanceller=mg2,32-46,48-62
# Span 3: TE4/0/3 "T4XXP (PCI) Card 0 Span 3"
span=3,3,0,ccs,hdb3,crc4
# termtype: te
bchan=63-77,79-93
dchan=78
#echocanceller=mg2,63-77,79-93
# Span 4: TE4/0/4 "T4XXP (PCI) Card 0 Span 4"
span=4,4,0,ccs,hdb3,crc4
# termtype: te
bchan=94-108,110-124
dchan=109
#echocanceller=mg2,94-108,110-124

# Global data
loadzone        = cn
defaultzone     = cn

2) The file dahdi-channels.conf should looks like the following:

group=0,11
context=from-pstn
switchtype = euroisdn
signalling=pri_cpe
channel => 1-15,17-31

group=0,12
context=from-pstn
switchtype = euroisdn
signalling=pri_cpe 
channel => 32-46,48-62

group=0,13
context=from-pstn
switchtype = euroisdn
signalling = pri_cpe
channel => 63-77,79-93

group=0,14
context=from-pstn
switchtype = euroisdn
signalling = pri_cpe
channel => 94-108,110-124

3) edit the dialplan(/etc/asterisk/extensions.conf)

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

[from-internal]
exten => 200,1,Dial(dahdi/1/outgoing_number) // dial 200 to dialout from dahdi channel 1
exten => 200,2,Hangup

4) Check the echocancel module

run command: dmesg | grep VPM
if you find the output like this,the module is working:
VPM450: Present and operational servicing 4 span(s)

5) Start asterisk by run: asterisk -vvvgc, under asterisk console, run

"dahdi show channels", There should be some channels. if there is no channels, please check the chan_daid.conf, make sure the content in the chan_dahdi.conf is correct.
"pri show spans", make sure that pri is up and active.

If there is no any problem with "dahdi show channels" and "pri show spans", users should be able to make inbound and outbound calls.

Test tools:

Centos-5.5
Kernel version: 2.6.18-194.el5 
dahdi-linux-complete: 2.3.0.1+2.3.0
Asterisk: 1.8.0 
Hardware: OpenVox DE410P

Chapter 3 References

www.openvox.cn

www.digium.com

www.asterisk.org

www.voip-info.org

www.asteriskguru.com

Personal tools