A1200E on DAHDI User Manual


 
          OpenVox Communication Co.Ltd 
 
 
 
Contents 
General Safety Instructions 
Test Environments 
Chapter 1 Overview 
1.1 What is Asterisk 
1.2 What is A1200E 
Chapter 2 Hardware Setup 
2.1 Power supply 
2.2 Slot compatibility 
2.3 Timing cable 
2.4 FXO and FXS modules 
2.5 Span 
2.6 Hardware setup procedure 
Chapter 3 Software Installation and Configuration 
3.1 Download 
3.2 Installation 
3.3 Configuration 
Chapter 4 Reference 
Appendix A Specifications 
Appendix B PIN Assignments


 General Safety Instructions

 
CAUTION

  1. The computers that have A1200E card installed must comply with the country's specific safety regulations.
  2. Only service personnel should go to install A1200E card.
  3. Before installing A1200E card, please unplug the power cord and remove the cover from your PC.
  4.  For avoiding personal injuries and damages to your machine and A1200E card, make sure bracket of the card is secured to the PC's chassis ground by fastening the card with a screw.
  5. 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.
  6. To reduce the risk of damage or injury, please follow all steps or procedures as instructed.


 
Test Environments

 CentOS-5.6
Kernel version: 2.6.18-238.12.1.el5
DAHDI: dahdi-linux-complete-current
Asterisk: 1.8.0
Hardware: OpenVox A1200E 



Chapter 1 A1200E 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 A1200E

 A1200E is the industrial first 12 port analog card with 12 interchangeable FXS/FXO modules design. It can eliminate the requirement for separate channel banks or access gateways.
The A1200E contains 12 module banks. Each bank supports one analog interface. The module banks may be filled with up to 12 FXO or FXS modules enabling the creation of any combination of ports. Scaling of an analog card solution is accomplished by simply adding additional cards.
A1200E 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. 


 Key benefits

  • Modular Design: Up to 12 FXS, FXO or mixed FXS/FXO ports per card. Each port can be set as FXO or FXS via plugging different modules in it
  • LEDs display the board's status
  • Low CPU Payload : Below 25% with 5 A1200E cards(60 ports in total) after driver installed, on a Celereon D 2.53GHz
  • Extending the system by adding more modules
  • Easy to use: the modules are Pin to Pin compatible with Digium's X100M and S100M. Users are also able to apply Digium's X100M/S100M modules on this card, or setup our FXO-100/ FXS-100 modules on TDM400P
  • Excellent choice of upgrade Digium's TDM400P based Asterisk system to A1200E, achieving 96 ports density or more in one PC, and protecting users' investment by directly utilizing their investment on modules of TDM400P
  • RoHS compliant
  • Certificates: CE, FCC, A-Tick
  • trixbox TM Officially Certified
  • Elastix® Officially Certified


Features

  • Supports PCI 2.2 or above, 3.3 V and 5 V PCI slots
  • Power consuming: less than 37W (with full 12 port FXS modules),less than 7W (with full 12 port FXO modules)
  • Industry standard full size length PCI card
  • Open source driver working with zaptel, DADHI and so on.




Chapter 2 A1200E Hardware Setup

There are some points that should be paid attention to when setting up A1200E. 

 2.1 Power supply

The board should be powered when any FXS module is installed, please connect the power source with A1200E board by a specific connector. 

 2.2 Slot compatibility

A1200E is compatible with 32-bit 5.0V PCI slot, 64-bit 3.3V PCI slot or 64-bit 5.0V PCI slot except PCI-E slot; you should confirm your slot type and insert A1200E into any type of PCI slot as previously described. 
 

                                                  Figure 2 PCI-E and PCI slots 
 

2.3 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

2.4 FXO and FXS modules

FXO (Foreign eXchange Office) is the office end of the line, and FXS (Foreign eXchange Station) is the station end, there is so much difference between them, they can be identified by color, the former ones are red and the latter ones are green. FXO modules us+e FXS signaling while FXS modules use FXO signaling. FXO modules correspond to FXO interfaces which receive power (battery) and ring signals, and FXS modules correspond to FXS ports which provides power (battery) and generates ring signals. 

2.5 Span

 
                                                               Figure 3 Span 

2.6 Hardware setup procedure

  • Power off your PC, remember unplug the AC power cable
  • Insert A1200E into a 3.3V or 5.0V PCI slot vertically
  • Put timing cable appropriately if nesessary
  • Please plug PSTN lines into FXO ports and extension telephone lines into FXS ports
  • Fix the board by a screw
  • Power on PC
  • After power on, three rows in total 12 LEDs of the board left will be light which reflect channels' status, one LED corresponds to a module.

  

Caution: If any FXS module is setup, you should make power on. During the above processes, an ESD wrist strap is needed. Once power is on, you must not attempt to install or take down the board. If all modules are installed, the modules from 1 to 4 access the uppermost port and the rest modules are grouped by the same manner, in another word, every four modules correspond to a port in hardware then a port is divided into four channels by a splitter. You have to insert the PSTN lines into FXO ports and extension telephone lines into FXS ports. After hard ware setup appropriately, it is time to install software.



Chapter 3 A1200E Software Installation and Configuration

A1200E supports DAHDI software driver on Linux. To make full use of A1200E, you should download, compile, install and configure 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/openvox_dahdi-linux-complete-current.tar.gz
Get Asterisk software package from digium official website: 
http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.0.tar.gz 
Execute the following commands under the directory of /usr/src/ in general, the former two below are used for downloading these two packages and the later two are for unzipping them. 
#_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/releases/asterisk-1.8.0.tar.gz
#_tar_-xvzf_openvox_dahdi-linux-complete-current.tar.gz 

# tar –xvzf asterisk-1.8.0.tar.gz


3.2 Installation

1. Hardware detection

# lspci –vvvv

 


 Check the outcome and confirm your system has recognized A1200E. If it has been recognized, communication controller will be displayed in the output information like that:
 
                                                         Figure 4 Hardware detection 


 If A1200E is not recognized by the system, you have to power off and take out the card, then try to insert it into other PCI 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

#yum install libxml2-devel

Notice: If there is no kernel-devel source in the system, users should run the following command to install the kernel-devel to peer current kernel:

#yum install kernel-devel-`uname –r`

While if there is no matched kernel-devel found, you should download matched RPM package to install it, or execute the following command to update to the latest and stable kernel version:

#yum install kernel kernel-devel After installed, please reboot your machine to apply the new kernel and install the dependencies. 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.

After install the dependencies, please change to the directory 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, you are going to install Asterisk. 
Please operate those commands to install Asterisk.

#cd asterisk-1.8.0

#./configure

#make

#make install

#make samples

Notice: " 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 opvxa1200 opermode=CHINA

#dahdi_genconf

 Notice: After running "modprobe dahdi" or "modprobe opvxa1200 opermode=CHINA", there is not any information displayed if loaded normally and successfully. Opvxa1200 is the driver module name of A1200E. "opermode" applies to FXO port and is invalid for FXS port, and you are allowed to take place of "CHINA" to other mode name which is available in the file: 
../dahdi-linux-XX/linux/drivers/dahdi/fxo_modules.h 


 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


 FXO ports use FXS signaling, while FXS ports adopt FXO signaling. A part of system.conf which is one of the basic channel configuration files is displayed. 

                                      Figure 5A 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

 


Notice: 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 6 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 7 Channel map


3. Asterisk initiation

# asterisk -vvvvvvgc


 If Asterisk is already activate, run "asterisk –r" instead. In the CLI, please run the following command:
localhost*CLI> dahdi show channels

                                   Figure 8 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 9 dial plan


Notice: You should write the destination number instead of the outgoing_number in the above dial plan. The above dial plan achieves that when an extension telephone dials 200, Asterisk will transfer through channel 7 to the destination. While a call comes from PSTN line, Asterisk answers firstly, and then gets through the extension set which connects to channel 1. 
After saving your dialplan, please run "asterisk –r", then execute "reload" in the CLI. Next you are able to make calls. 




Chapter 4 A1200E 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: 161g (5.68oz)
Size: 31.2×11.1×1.8cm (12.56×4.4×0.71 inch)


 • Interfaces
 PCI Bus: 3.3V or 5V bus slot, PCI 2.2 or above
Power Supply Connect: 12V 4-pin connector (When any FXS modules are installed)
Local Loop Access: Industry standard RJ-45 ports connect to four 4-pin or 6-pin RJ-11 port by a specific splitter


 • Environment
Temperature: 0 ~ 50°C (Operation)  40 ~ 125°C (Storage)
Humidity: 10 ~ 90% NON-CONDENSING


 • Power consumption
Voltage: 3.3V, 5V
Power consuming: less than 37W (with full 12 port FXS modules), less than 7W (with full 12 port FXO modules) 


 • Hardware and software requirements
RAM 128 + MB
Linux kernel 2.4.X or 2.6.X
CPU 800+ MHZ


Suggestion
Suggest using at least 300 Watt power supply for your PC, and increased by 30W/twelve FXO ports. 
 

 
 Appendix B PIN Assignments


A FXO or FXS port corresponds to four RJ11 port by a splitter. Either 4-pin or 6-pin RJ11 port is compatible with A1200E, let's illustrate pin assignments of RJ11 port by the following tables. 
                          4-pin RJ11 port 

4-pin RJ11 port

PIN

Description

1

Not used

 

2

Tip

 

3

Ring

 

4

Not used

                         6-pin RJ11 port

6-pin RJ11 port

PIN

Description

1

Not used

 

2

Not used

 

3

Tip

 

4

Ring

 

5

Not used

 

6

Not used


RJ-45 interface


Splitter