OpenVox A810P Dahdi en
From Wiki
OpenVox A810P/AE810P User Manual for dahdi
Chapter 1 Overview
Features
- A810P/A810E is a modular analog telephony interface product.AE810P/AE810E is A810P/A810E with an EC module. It is designed to build IP PBX.A810P/AE810P or
A810E/AE810Emust be make up with FXO-400 and FXS-400 together to build a workable system.
Misc
1. Operation temperature : 0 to 50°C
2. Storage temperature : - 40 to 125°C
3. Humidity:10 TO 90% NON-CONDENSING
Key Benefits
- Low CPU Payload: Firmware acceleration I/O access achieves high stability and highly decreased CPU payload
- Scalable: just add additional cards to extend system
- Bus Master: Operational speed up to 132Mb/s
- Echo cancellation: Support high quality octasic echo cancellation DSP, each channel is independent of 128ms or 1024 taps echo cancellation.
- RoHS compliant
- Certification: CE, FCC
- trixbox Officially Certified
- elastix Officially Certified
What is Asterisk
- 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:
- Voicemail Services with Directory
- Call Conferencing
- Interactive Voice Response
- Call Queuing
- Three-way calling
- Caller ID services
- ADSI, IAX, SIP, H.323, MGCP and SCCP/Skinny
Chapter 2 Software Installation and Configuration
Step 1: Hardware Installation and Setup
You need up to two FXS-400/FXO-400 modules on A810P board. Please supply power and plug PSTN line into FXO port and normal telephone line corresponds to FXS.
Step 2: Software Installation
A810P/AE810P supports dahdi software device driver on Linux. To make full use of A810P/AE810P, you should install Dahdi before asterisk.
Get all necessary software packages
Please confirm that there is kernel source in the system, if not, you should install it by running "yum install kernel-devel". Before installing dahdi and asterisk, please make sure some support packages have been installed, othervise,execute yum like below to install. If the package has been installed, system will indicate you nothing to do.
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
Install dahdi and asterisk
1. Check hardware
Check the A810P/AE810P hardware by command: lspci –vvvvv
01:02.0 Communication controller: Unknown device 1b74:0810 (rev 01)
Subsystem: Unknown device 1b74:0001
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort+ >SERR- <PERR+
Latency: 64, Cache Line Size: 16 bytes
Interrupt: pin A routed to IRQ 225
Region 0: Memory at ded80000 (32-bit, non-prefetchable) [size=512K]
You will see that there is a device called communication controller interface is find.
2. Download asterisk,dahdi and the driver
2.1 Please download asterisk from www.asterisk.org,right here,taking asterisk-1.8.0 for an example:
http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.0.tar.gz.
2.2 There are two methods to download dahdi source.
1) Download dahdi source from openvox website, which has included the driver of A810P/AE810P and need not to modify any files (if you select this method, just skip to step 4 after downloading and decompressing).
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
2) You also can download dahdi through digium official website:
http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.4.0+2.4.0.tar.gz
Besides,you should download the driver patch of A810P/AE810P as well. The patch is located at:
http://downloads.openvox.cn/pub/drivers/dahdi-patches/a2410p/opvxa24xx_dahdi-linux.tar.gz
There is a directory named opvxa24xx after decompressing, please copy the whole to directory of /usr/src/dahdi-linux-xxx/drivers/dahdi/.
The most important thing is that you have to modify some configuration files before starting to compile dahdi, let’s begin.
3. Modify configuration files
3.1 Forward to the directory /usr/src/dadhi-linux-complete-xxx/linux/build_tools, and modify file live_dahdi like this:
# FIXME: better automation of the voicebus
# dependency:
MODULES_LOAD="$MODULES_LOAD voicebus/dahdi_voicebus $mod/$mod"
EXTRA_MODS="$EXTRA_MODS firmware_class"
;;
wct4xxp | wcte12xp | wctc4xp | wcb4xxp | opvxa24xx )
MODULES_LOAD="$MODULES_LOAD $mod/$mod"
;;
3.2 Change directory to /usr/src/dahdi-linux-complete-xxx/linux/drivers/dahdi, and modify file Kbuild like this:
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCT4XXP) += wct4xxp/ obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTC4XXP) += wctc4xxp/ obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM24XXP) += wctdm24xxp/ obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_OPVXA24XX) += opvxa24xx/
3.3 Forward to directory /usr/src/dahdi-linux-complete-xxx/linux/drivers/dahdi, and insert the following info into the file Kconfig near line 156.
config DAHDI_OPVXA24XX
tristate "Openvox 24 ports analog card Support"
depends on DAHDI && PCI
default DAHDI
---help---
This driver provides support for the following OpenVox
Wildcard products:
* A2410P (PCI)
* A1610P (PCI)
* A810P (PCI)
To compile this driver as a module, choose M here: the
module will be called opvxa24xx.
If unsure, say Y.
config DAHDI_WCTE12XP
3.4 Forward to directory /usr/src/dahdi-linux-complete-xxx/tools/xpp/perl_modules/Dahdi/Hardware, and add the following info to the file PCI.pm.
# from opvxa24xx
'1b74:0810' => { DRIVER => 'opvxa24xx', DESCRIPTION => 'OpenVox A810P' },
# from pciradio
3.5 Forward to directory /usr/src/dahdi-linux-complete-xxx/tools/xpp/perl_modules/Dahdi, and modify file Chans.pm like this:
sub probe_type($) {
my $self = shift;
my $fqn = $self->fqn;
my $num = $self->num;
my $type;
if($fqn =~ m:WCTDM/|WRTDM/|OPVXA1200/|OPVXA24XX/:) {
my %maybe;
3.6 Forward to directory /usr/src/dahdi-linux-complete-xxx/tools/, and add the following info to file modules.sample.
wct4xxp #OpenVox A810: up to 8 analog ports openvox
3.7 Forward to directory /usr/src/dahdi-linux-complete-xxx/tools/, and modify blacklist.sample like this:
blacklist opvxa24xx blacklist wctc4xxp blacklist wcb4xxp
4. Install dahdi and asterisk
4.1 Install dahdi by running commands below one and one
cd /usr/src/dahdi-linux-complete-xxx/ make make install make config
If there is something wrong after "make",please refer to
http://bbs.openvox.cn/viewthread.php?tid=1557&extra=page%3D1
4.2 Install asterisk by performing the following commands
cd /usr/src/asterisk-xxx/ ./configure make make install make samples
5. Configure
5.1 Load modules for opvxa24xx:
modprobe dahdi modprobe opvxa24xx opermode=YOUR COUNTRY
openvox_dahdi-linux-complete 2.2.0 or higher versions allow users to adjust how long to initiate once IRQ. You are able to adjust time to initiate IRQ by the following way:
modprobe opvxa24xx opermode=YOUR COUNTRY ms_per_irq=2
ms_per_irq=2 means every 2 millisecond initiate once IRQ. The valid values of ms_per_irq are one of 1,2,4,8,16, and the default value is 1.dahdi-linux-complete-2.4.0 or higher version supports this function.Execute "dmesg" command to check if you have made the EC module worked. 5.2 Check the configuration files Run command “vim /etc/dahdi/genconf_parameters to disable the softecho parameter. If the board is AE810P, please set echo_can to none as following: echo_can none while if it is A810P, just ignore that step above. Then run these commands:
dahdi_genconf dahdi_cfg –vvvv
The command dahdi_genconf will automatically generate the system.conf under directory /etc/dahdi and dahdi-channels.conf under /etc/asterisk. Please check the settings of system.conf, it looks like the following:
# Autogenerated by /usr/sbin/dahdi_genconf on Thu Jul 22 00:56:58 2010 # 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: OPVXA24XX/24 "OpenVox A810 Board 25" (MASTER) fxsks=1 fxsks=2 fxsks=3 fxsks=4 fxoks=5 fxoks=6 fxoks=7 fxoks=8 . -------------------- part of the file # Global data loadzone = us ;please change to your country defaultzone = us ;please change to your country
In order to match your country pattern, you need to change the parameters of loadzone and defaultzone to your country. For example, your system is in CHINA, then, you would like them change to like this:
loadzone = cn defaultzone = cn
Meanwhile, you also need to modify another parameter: country in file /etc/asterisk/indications.conf:
country=cn
After loading dahdi and opvxa24xx driver, you should confirm chan_dahdi.conf and dahdi-channels.conf are under /etc/asterisk. And please make sure dahdi-channels.conf has been included in chan_dahdi.conf. If not, run the command:
echo "#include dahdi-channels.conf" >> /etc/asterisk/chan_dahdi.conf
Make sure that the context in dahdi-channels.conf exists in extensions.conf. File dahdi-channels.conf should look like as the following: FXS ports adopt FXO signalling, the configuration file looks like that:
; Autogenerated by /usr/sbin/dahdi_genconf on Wed Jul 19 18:45:05 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: OPVXA24XX/24 "OpenVox A810 Board 25" (MASTER) ;;; line="1 OPVXA24XX/24/0" signalling=fxo_ks callerid="Channel 1" <4001> mailbox=4001 group=5 context=from-internal channel => 1 callerid= mailbox= group= context=default
While FXO ports use FXS signaling, the configure file looks like this:
;;; line="5 OPVXA24XX/24/4" signalling=fxs_ks callerid=asreceived group=0 context=from-pstn channel => 5 callerid= group= context=default
5.3 Set dialplan by performing command "vim /etc/asterisk/extensions.conf". A example are showed below:
[from-pstn] exten => s,1,Answer() // answer an inbound call exten => s,n,Playback(cc_welcome) // please a message 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
6. Start asterisk and test calls
Check the dahdi channels by loading from asterisk console:
asterisk –vvvvvvvgc
After entering asterisk console, run command "dahdi show channels". If dahdi channels are found, it means they have been loaded into asterisk.
*CLI> dahdi show channels
Chan Extension Context Language MOH Interpret Blocked State
pseudo default default In Service
1 from-internal default In Service
2 from-internal default In Service
3 from-internal default In Service
4 from-internal default In Service
5 from-pstn default In Service
6 from-pstn default In Service
7 from-pstn default In Service
8 from-pstn default In Service
Test environment
Centos-5.6 Kernel version: 2.6.18-238.12.1.el5 dahdi-linux-complete: 2.4.0 Asterisk: 1.8.0 Hardware: OpenVox A810P/AE810P
Some problems with compiling A810P have been summarized and documented into FAQ of A810P, please check that under A810P/AE810P categories.
Chapter 3 Reference
www.openvox.com.cn
www.digium.com
www.asterisk.org
www.voip-info.org
www.asteriskguru.com
Disclaimers
Asterisk? is a registered trademark of Digium, Inc.
