D230E/DE230E on DAHDI User Manual

 

 

 

 

Contents

 

General Safety Instructions

Test Environments

Chapter 1 Overview

1.1 What is Asterisk

1.2 What is D230E/DE230E

Chapter 2 Hardware Setup

2.1 Span type setup

2.2 CardID switch setup

2.3 Slot compatibility

2.4 Timing cable

Chapter 3 Software Installation and Configuration

3.1 Download

3.2 Installation

3.3 Configuration

Chapter 4 Reference

Appendix A Specifications

 

 

 

 

 

 

General Safety Instructions

 

 

   CAUTION

  1. 1.        The computers that have D230E/DE230E card installed must comply with the country’s specific safety regulations.

 

  1. Only service personnel should go to install D230E/DE230E card.

 

  1. Before installing D230E/DE230E card, please unplug the power cord and remove the cover from your PC.

 

  1. For avoiding personal injuries and damages to your machine and

D230E/DE230E card, make sure bracket of the card is secured to the PC’s chassis ground by fastening the card with a screw.

 

  1. Electrical Surges, ESD are very destructive to the equipment. To avoid it, make sure there is a low impedance discharge path from your computer to chassis ground.

 

  1. To reduce the risk of damage or injury, please follow all steps or procedures as instructed.

 

 

 

 

 

Test Environments

CentOS-5.5

Kernel version: 2.6.18-194. el5

DAHDI: dahdi-linux-complete-2.4.0+2.4.0

Asterisk: asterisk-1.8.5.0

Libpri: libpri-1.4.11.5

Hardware: OpenVox D230E/DE230E

 

 

 

 

Chapter 1 Overview

1.1 What is Asterisk

The Definition of Asterisk is described as follows:

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 standard-based telephony equipment using relatively cost-effective hardware. Asterisk provides Voicemail services with Directory, Call Conferencing, Interactive Voice Response, Call Queuing. It supports for three-way calling, caller ID services, ADSI, IAX, SIP, H323 (as both client and gateway), MGCP (call manager only) and SCCP/Skinny (voip-info.org).

 

Figure 1 Topology

1.2 What is D230E/DE230E

The D230E/DE230E is an upgrade product of the D210E/DE210E. They support T1, E1, and J1 environments and is selectable on a per-card or per-port basis. D230E/DE230E is 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. DE230E 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.

 

The Octasic® DSP-based EC module enables users to eliminate echo tails up to 128ms or 1024 taps across all 64 channels in E1 mode or 48 channels in T1/J1 modes. Further, this module takes advantage of the Octasic® Voice Quality Enhancement to provide superior sound quality on all calls. D230E/DE230E 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. D230E/DE230E 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.

 

Target Applications

  • Voice-over Internet Protocol (VoIP) Services
  • Complex IVR Trees
  • "Meet-Me" Bridge Conferencing
  • Calling Card Platforms
  • VoIP Gateways (support SIP, H.323, and IAX)
  • Legacy PBX/IVR Services
  • Voice/Data Router (replace expensive routers)
  • PRI/Switch Compatibility-Network or CPE

 

 

 

Chapter 2 Hardware Setup

There are some points that should be paid attention to when setting up D230E/DE230E.

 

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

 

2.2 CardID switch setup

If want to install more than one card of D230E/DE230E in a PC, you should take care of the card ID switch. There are two pieces of rules you must obey:

  • The first card must be set to 0, which is a card that will be initialized (i.e. installing driver) firstly when the system boot up. And the second should be set to 1, and so on.
  • At most cases, Linux will initialize PCI devices according to their slot order. The slot nearest to the CPU will be initialized firstly and the far end slot will be initialized at last. That is to say, the card which is nearest to the CPU ID should be set to 0 if there is more than one D230E/DE230E on your machine.

2.3 Slot compatibility

D230E/DE230E is compatible with PCI-E ×1, ×2, ×4, ×8 and ×16 slot. You should confirm your slot type firstly and then insert D230E/DE230E into a PCI-E slot as previously described. Some slots are described like that.

 


Figure 2 PCI-E and PCI slots

 

2.4 Timing cable

If you have just one card in the system, all channels on that card have already run under the same clock source, so timing cable is unnecessary. But if there are more than one card, using timing cable has some advantages. Before using the clock line, each card works on its own clock, therefore precision of the clock is limited; each card will send /receive voice data at different speeds. In voice usage, this small issue can be omitted, but in data communication such as Fax/Modem, it will cause big problems. Data loss will cause communication broken or fax broken. Timing cable will force all cards to work at the same clock source, send data at the same speed, as a result no data will lost.

If you found J914 (input) and J915 (output) interfaces on the card, it means the card supports clock line, for details, please refer to HERE.

 

 

 

Chapter 3 Software Installation and Configuration

D230E/DE230E supports DAHDI software driver on Linux. To make full D230E/DE230E, you should download, compile, install and configure Libpri, DAHDI and Asterisk.

 

3.1 Download

DAHDI software packages are available on OpenVox official website or Digium. Some patches should be added while the driver source is from Digium, therefore, it is recommended that downloading the DAHDI driver package from OpenVox official website.

 

Gain DAHDI source package from OpenVox:

http://downloads.openvox.cn/pub/drivers/dahdi-linux-complete/releases/1.3.2/openvox_dahdi-linux-complete-2.4.0+2.4.0.tar.gz

Get asterisk software package from Digium official website:

http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.5.0.tar.gz

Get libpri software package from digium official website:

http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.5.tar.gz

 

Execute the following commands under the directory of /usr/src/ in generally, the former three below are used for downloading these three packages and the later three are for unzipping them.

 

#_wget_http://downloads.openvox.cn/pub/drivers/dahdi-linux-complete/releases/1.3.2/openvox_dahdi-linux-complete-2.4.0+2.4.0.tar.gz

#_wget_http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.5.0.tar.gz

#_wget_http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.5.tar.gztibpri-1.4.12.tar.gz

#_tar_-xvzf_openvox_dahdi-linux-complete-2.4.0+2.4.0.tar.gz

# tar –xvzf asterisk-1.8.5.0.tar.gz

# tar –zxvf libpri-1.4.11.5.tar.gz

 

3.2 Installation

1. Hardware detection

 

# lspci –vvvv

 

Check the outcome and confirm your system has recognized DE230E. If it has been recognized, "communication controller" will be displayed in the output information like that:

 

Figure 3 Hardware detection

 

If D230E/DE230E is not recognized by the system, you have to power off and take out the card, then try to insert it into other PCI-E slot.

 

2. Software installation

Some dependencies are crucial. If any of them is absent, the software installation process would not go through successfully. Let’s run "yum install XX" (XX stands for the dependency’s name) to check the availability of dependencies.

 

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

# yum install libxml2

 

If there is no kernel source in the system, users should also install it by running like:

# yum install kernel-devel

If the dependency has been installed, system indicates that nothing to do which means you could go to next one directly. Otherwise, the system will keep on installing it.

 

Among libpri, DAHDI and Asterisk, let’s install libpri firstly. Please execute those commands under the directory of /usr/src/ in generally:

 

# cd libpri-XX

# make

# make install

 

Then change to the directory of dahdi-linux-complete-XX (XX represents DAHDI version), then perform commands one by one to install DAHDI.

 

# cd /usr/src/dahdi-linux-complete-XX

# make

# make install

# make config

 

Caution: If there is something wrong after "make", please refer to HERE. In the url link, the moderator introduces you a method how to patch. After patching, save your changes and exit. Then run "make" again, if successfully done, it is time for you to install Asterisk.

 

Please operate those commands to install Asterisk.

 

# cd asterisk-1.8.5.0

# ./configure

# make

# make install

# make samples

 

" make samples" will install the standard sample configuration file in the directory /etc/asterisk. As a freshman, you should perform make samples, that is to say, it is unnecessary to perform make samples every time. Because once performed, it will cover the old sample configuration files you have installed.

 

3.3 Configuration

1. Driver loading

After compiling and installing DAHDI and Asterisk, please load the driver by running:

 

# modprobe dahdi

# modprobe wct4xxp

# dahdi_genconf

 

If there is any error, please trace the cause. Until all errors are clear up, you could execute "dahdi_genconf" again, and then go to the next step. By running "dahdi_genconf", it will generate /etc/dahdi/system.conf and etc/asterisk/dahdi-channels.conf automatically. Checking whether the generated files information agrees with your hardware setup, if not, you should modify to your specific requirements. Do not forget to confirm dahdi-channels.conf is included in chan_dahdi.conf, if not, run command:

 

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

 

A part of system.conf which is one of the basic channel configuration files is displayed.

 

 


Figure 4 A part of system.conf

 

2. Country mode modification

In order to match your country pattern, you need to change parameters loadzone and defaultzone to your country. For example, your system is in CHINA, you would like them change to:

loadzone = cn

defaultzone = cn

 

Some zonedata is available in the file

.. /dahdi-XX/tools/zonedata.c, you can refer to it to match your country mode. Meanwhile, you also need to modify another parameter which is in file /etc/asterisk/indications.conf.

country=cn

 

A part of file /etc/asterisk/dahdi-channels.conf is showed as below. (Modification, if it is not agree with the hardware setup)

Figure 5 A part of dahdi-channels.conf

 

 

After modifying the country mode, please execute the following command:

 

# dahdi_cfg –vvvvvv

 

The command is used for reading and loading parameters in the configuration file system.conf and writing to the hardware. A part of outputs are showed in the following figure.

Figure 6 Channel map

 

 

 

3. Asterisk initiation

 

# asterisk –vvvvvvvgc

 

If asterisk is already activate, run "asterisk –r" instead. In the CLI, please run the following command:

 

localhost*CLI> dahdi show channels


Figure 7 channels show

 

If DAHDI channels are found, it means they have been loaded into Asterisk. You are going to edit dialplan by your requirements.

4. Dialplan edit

Users must make sure that the context "from-pstn" and "from-internal" are in extensions.conf. Here a simple example is given:

 

# vim /etc/asterisk/extensions.conf

 


Figure 8 dial plan

 

Additional function

Users should run command "cat /proc/interrupts" to check D230E/DE230E has independent interrupt. If it shares interrupt with other device, it may cause some problems even cannot work normally. While D230E/DE230E allows users to modify interrupt pin during firmware upgrade for avoiding conflict. Or you can see if the EC module is working as follows:

 

Chapter 4 Reference

www.openvox.cn

www.digium.com

www.asterisk.org

www.voip-info.org

www.asteriskguru.com

 

Tips

Any questions during installation, please consult in our forum or look up for answers from the following websites:

Forum

wiki

 

 

Appendix A Specifications

Weight and size

Weight:  D230E      94g   

        EC2032     10g

Size:    2U Form Factor: 12×6.4×1.8cm3

 

Interfaces

PCI Express 1.0 or above

 

Environments

Temperature Operation:   0 ~50°C

Temperature Storage:   D230E     -65 to 125℃

                    EC2032     -40 to 75℃

Humidity:     10 ~90% NON-CONDENSING

 

Power consumption

Voltage: 3.3V, 5V

 

Hardware and software requirements

RAM 128 + MB

Linux kernel 2.4.X or 2.6.X

CPU 800+ MHZ