1. HardwareSetting To set theA2410P/AE2410P, user MUST go through these steps: 1) Checking powersupply: Board must be provided power, please plug the power supply cable intopower supply connector. 2) Splitting theRJ45 to RJ11: User has to use a splitter to split RJ45 interface to four RJ11 normaltelephone line. And please connect PSTNline into FXO port and telephone into FXS port. 2. SoftwareInstalltion and Configuration A2410P/AE2410P supports zaptel software device driveron Linux. To use A2410P/AE2410P, user must download, edit, install andconfigure zaptel and asterisk. 2.1Download asterisk, zaptel, driver and firmware 1. Asterisk can bedownloaded from: http://downloads.asterisk.org/pub/telephony/asterisk/releases/ 2. Zaptel can bedownloaded from: 1)
http://downloads.openvox.cn/pub/drivers/zaptel/openvox_zaptel-1.4.12.1.tar.gz
If user download zaptelfrom link 1, jump to 2.3
copy the tar fileto /zaptel-xx/kernel/ 4. If user usesAE2410P, user should download firmware from:
http://downloads.openvox.cn/pub/firmwares/opvx-zaptel-fw-oct6114-032-1.07.01.tar.gz tar –xzvf opvx-zaptel-fw-oct6114-032-1.07.01.tar.gz cp zaptel-fw-oct6114-032.bin/lib/firmware/ mkdir /usr/lib/hotplug/firmware mv zaptel-fw-oct6114-032.bin/usr/lib/hotplug/firmware
2.2 Edit the configure file To edit theconfigure file, user must follow these steps:
1. Add opvxa24xx in /usr/src/zaptel-xx/Makefile add opvxa24xxshown in red
[/color] TOPDIR_MODULES:=pciradiotor2 torisa wcfxo wct1xxp wctdm wcte11xp wcusb zaptel ztd-eth ztd-loc ztdummyztdynamic zttranscode SUBDIR_MODULES:=wct4xxpwctc4xxp xpp wctdm24xxp wcte12xp opvxa24xx
[/color]
2. Add opvxa24xx in /usr/src/zaptel-xx/zaptel.sysconfig
[/color] #MODULES="$MODULESztdummy"
# Zaptel Timing OnlyInterface MODULES="$MODULESxpp_usb"
# Xorcom Astribank Device MODULES="$MODULESopvxa24xx" # OpenVox A2410P -Modular FXS/FXO interface (1-24 ports)
[/color] 3. Add opvxa24xxin /usr/src/zaptel-xx/kernel/xpp/utils/genzaptelconf
[/color] # The rest of thelines are per-channel lines sed -e 1,2d$procfile | \ while read line do
# in case this is a real channel.
chan_num=`echo $line |awk '{print $1}'`
case "$line" in
*WCTDM/* | *\ WRTDM/* | *OPVXA1200/* |*OPVXA24XX/*)
# TDM400P/2400P and similar cards(Sangoma A200, OpenVox A1200)
# this can be either FXS or FXO
[/color] 2.3Installation Before installing zapteland asterisk, please make sure that some supporting packages have been installed. Note that if thereis no kernel source in the system, user should install them. User can run yumagain: yum install kernel-devel. It is time tocheck for the availability of some supporting 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 // confirm GCC-4.0 above
rpm -q gcc-c++
If any of those packages are not installed, please 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 // install GCC-4.0above
yum install gcc-c++ User can install thedriver via the following steps (assuming user has the source code of zapteldevice driver installed in /usr/src/zaptel-XX directory): 1. Checking the A2410P/AE2410Phardware by command: lspci –vvvvv From the following,user can see that there is a device called communication controller interfacebe found.
[/color] 01:01.0Communication controller: Unknown device 1b74:2410 (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 50
Region 0: Memory at dcd00000 (32-bit,non-prefetchable) [size=1M]
[/color] 2. Compiling 1) Install zaptel,execute the commands: cd /usr/src/zaptel-XX ./configure make make install make config
2) Installing asterisk cd /usr/src/asterisk-XX
./configure
make
make install make config
loadzone = us ;Please change to your country
defaultzone = us ;Please change to your country
Edit /etc/asterisk/indications.conf
country = us ;Please change to your country
After loading zaptel and opvxa24xx driver, user should check the zapata.conf and zapata-channels.conf under /etc/asterisk. Please make sure zapata-channels.conf has been included into zapata.conf. If not, run the command:
echo "#include zapata-channels.conf" >> /etc/asterisk/zapata.conf
Make sure that the context in zapata-channels.conf should exist in extensions.conf. File zapata-channels.conf should look like the following:
FXO ports use FXS signaling, the configure file looks like this:
; Autogenerated by /usr/sbin/genzaptelconf -- do not hand edit
; Zaptel Channels Configurations (zapata.conf)
;
; This is not intended to be a complete zapata.conf. Rather, it is intended
; to be #include-d by /etc/zapata.conf that will include the global settings
;
;;; line="6 OPVXA24XX/0/5"
signalling=fxo_ks
callerid="Channel 6" <6006>
mailbox=6006
group=5
context=from-internal
channel => 6
callerid=
mailbox=
group=
context=default
3. Starting asterisk and test calls
Checking the zaptel channel loading from asterisk console:
asterisk –vvvvvvvgc
Entering asterisk console, run command: zap show channels. If zaptel channels can be shown, which means the zaptel channels have been loaded into asterisk.
*CLI> zap show channels
Chan Extension Context Language MOH Interpret
Pseudeo default default
1 from-pstn default
2 from-pstn default
3 from-pstn default
4 from-pstn default
5 from-internal default
6 from-internal default
7 from-internal default
8 from-internal default
9 from-pstn default
10 from-pstn default
11 from-pstn default
12 from-pstn default
13 from-internal default
14 from-internal default
15 from-internal default
16 from-internal default
17 from-pstn default
18 from-pstn default
19 from-pstn default
20 from-pstn default
21 from-internal default
22 from-internal default
23 from-internal default
24 from-internal default
When user makes an inbound call, CLI will show as the following:
-- Starting simple switch on 'Zap/4-1'
-- Executing [s@from-pstn:1] Answer("Zap/4-1", "") in new stack
-- Executing [s@from-pstn:2] BackGround("Zap/4-1", "demo-congrats") in new stack
-- Playing 'demo-congrats.gsm' (language 'en')
-- Executing [s@from-pstn:3] Hangup("Zap/4-1", "") in new stack
== Spawn extension (from-pstn, s, 3) exited non-zero on 'Zap/4-1'
Hungup 'Zap/4-1'
When user makes an outbound call, CLI will show as the following:
-- Starting simple switch on 'Zap/5-1'
-- Executing [910000@from-internal:1] Dial("Zap/5-1", "zap/4/910000") in new stack
-- Called 4/910000
-- Zap/4-1 answered Zap/5-1
-- Native bridging Zap/5-1 and Zap/4-1
-- Hungup 'Zap/4-1'
== Spawn extension (from-internal, 910000, 1) exited non-zero on 'Zap/5-1'
-- Hungup 'Zap/5-1'
The status of channel looks like the following. If user uses AE2410P, EC Status of active channel should be ON; otherwise it would be OFF.
*CLI> zap show channel 4
Channel: 4
File Descriptor: 16
Span: 2
Extension:
Dialing: no
Context: from-pstn
Caller ID:
Calling TON: 0
Caller ID name:
Destroy: 0
InAlarm: 0
Signalling Type: FXS Kewlstart
Radio: 0
Owner: Zap/4-1
Real: Zap/4-1
Callwait:
Threeway:
Confno: -1
Propagated Conference: -1
Real in conference: 0
DSP: yes
Relax DTMF: no
Dialing/CallwaitCAS: 0/0
Default law: ulaw
Fax Handled: no
Pulse phone: no Echo Cancellation: 128 taps, currently ON
Master Channel: 5
Actual Confinfo: Num/5, Mode/0x0009
Actual Confmute: No
Hookstate (FXS only): Offhook
Notes:
Test environments are:
CentOS-5.5
Kernel version: 2.6.18-194.el5
Zaptel: zaptel-1.4.12
Asterisk: 1.4.20
Hardware: OpenVox A2410P/AE2410P