OpenVox A800E Dahdi cn

From Wiki

Jump to: navigation, search

Contents

A800E 用户手册

第一章 概述

1. A800E简介
A800E系列板卡是深圳开源通信有限公司自主开发的模拟电话接口产品,它被设计成小到中型的商用PBX。例如,每个A800E须使用FXO-100 或 FXS-100来组成一个可行的系统。FXO-100 和 FXS-100模块同样兼容X100M和S100M。

2. 硬件相关信息:
1) 工作温度:0 to 70°C
2) 储藏温度:- 40 to 125°C
3) 湿度:10 TO 90% NON-CONDENSING
4) 电压:3.3V,5V,12V/3REN,
5) 最大消耗功率:1.7W,4W,23.2W

3. 什么是Asterisk
Asterisk是一个VoIP PBX系统,它是一个运行在Linux环境下的纯软件实施方案。Asterisk是一种功能非常齐全的应用程序,提供了许多电信功能,能够把你的x86机器变成你自己的交换机,还能够当作一台企业级的商用交换机。Asterisk让人激动的事情是它在小企业预算可承受的范围内提供了商业交换机的功能和可伸缩性。

第二章 安装与配置

1.检查zaptel和asterisk所必备的包:

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

如果有些包没有的话使用以下命令安装:

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

注意:如果发现卡上有J914(input)和J915(output)两个接口,表示此卡具有时钟线,请参考以下网址进行配置:

http://bbs.openvox.cn/viewthread.php?tid=873&extra=page%3D1

接下来就是安装dahdi和asterisk,请按照以下步骤来安装:
1)启动CentOS 5.3, 进入系统,在命令行下输入 lspci –vvvv

00:0c.0 Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
Subsystem: Unknown device 9100: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 185
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-

如果能看到"Network controller: Tiger Jet Network Inc"这个输出就表示卡已经被识别

2)接下来就是要下载dahdi 和 asterisk,从以下网址下载:
www.asterisk.org
存放到/usr/src/目录下,解压

3) 下载A800P的驱动并修改Kbuild
2.1. 拷贝 opvxa1200.c 到 /usr/src/dahdi-linux-XX/driver/dahdi/.
2.2. 修改 /usr/src/dahdi-linux-XX/driver/dahdi/Kbuild:
2.3. 找到Kbuild中找到“obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM) += wctdm.o”这一行
2.4. 添加一行到

obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM)       += opvxa1200.o

保存修改好的Kbuild文件

4)依次在目录 /usr/src/dahdi-linux.x.x 运行以下命令:

make
make install 

5) 依次在目录 /usr/src/dahdi-tools.x.x 运行以下命令:

make
make install 

6)依次在目录 /usr/src/asterisk-1.6.x.x 运行以下命令:

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

7)检测和装在模块opvxa1200 运行命令: dahdi_genconf 这个命令会配置/etc/dahdi/system.conf文件,用户在运行完这个命令后要确定/etc/asterisk/dahdi-channels.conf 这个文件被包含在/etc/asterisk/chan_dahdi.conf文件中,如果没有包含的话请运行以下命令:
echo "#include dahdi-channels.conf" >> /etc/asterisk/chan_dahdi.conf

8)修改成中国制式
修改system.conf文件的以下两项:

loadzone = cn
defaultzone = cn

修改asterisk/indications.conf:

country = cn

运行以下命令:

service dahdi stop
modprobe dahdi
modprobe opvxa1200 opermode=CHINA
dahdi_cfg -vvvv

9)以下是一些配置文件的内容: system.conf

# Span 1: OPVXA1200/0 "OpenVox A1200P Board 1" (MASTER)
fxsks=1
fxsks=2
fxoks=3
fxoks=4
# channel 5, WCTDM, no module.
# channel 6, WCTDM, no module.
# channel 7, WCTDM, no module.
# channel 8, WCTDM, no module.

# Global data
loadzone        = cn
defaultzone     = cn

chan_dahdi.conf

[trunkgroups]

[channels]
context=from-pstn
signalling=fxs_ks
rxwink=300              ; Atlas seems to use long (250ms) winks
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
faxdetect=incoming
echotraining=800
rxgain=0.0
txgain=0.0
callgroup=1
pickupgroup=1

;Uncomment these lines if you have problems with the disconection of your analog lines
;busydetect=yes
;busycount=3


immediate=no

#include dahdi_additional.conf
#include dahdi-channels.conf

dahdi-channels.conf

; Span 1: OPVXA1200/0 "OpenVox A1200P Board 1" (MASTER)
;;; line="1 OPVXA1200/0/0"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 1
context=default

;;; line="2 OPVXA1200/0/1"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 2
context=default

;;; line="3 OPVXA1200/0/2"
signalling=fxo_ks
callerid="Channel 3" <6003>
mailbox=6003
group=5
context=from-internal
channel => 3
callerid=
mailbox=
group=
context=default

;;; line="4 OPVXA1200/0/3"
signalling=fxo_ks
callerid="Channel 4" <6004>
mailbox=6004
group=5
context=from-internal
channel => 4
callerid=
mailbox=
group=
context=default

10) 开启asterisk进行测试
运行命令: asterisk -vvvvvvvvgc
进入asterisk控制台后输入命令: dahdi show channels
显示当前的通道:

zhu*CLI> dahdi show channels
Chan Extension  Context         Language   MOH Interpret
pseudo          default                    default
      1         from-pstn                  default
      2         from-pstn                  default
      3         from-internal              default
      4         from-internal              default

接下来是配置拨号规则,在此我们会设置一个模拟电话接S口, 一个外线PSTN, 一个SIP电话
进入/etc/asterisk/sip.conf中,在文件末尾加一段:

[500]
type = friend
username = 500
secret = 500
host = dynamic
context = from-internal

asterisk/extension.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 1
exten => 200,2,Hangup

exten => 500, 1, Dial(SIP/500)
exten => 500, 2, Hangup

测试环境:

Centos-5.3 
Kernel version: 2.6.18-128.el5 
dahdi-linux: 2.2.0
dahdi-tools: 2.2.0 
Asterisk: 1.6.0.10 
Hardware: OpenVox A800E

第三章 参考

www.openvox.com.cn

www.digium.com

www.asterisk.org

www.voip-info.org

www.asteriskguru.com


OpenVox A800P 用户手册

Language:   English   中文
Personal tools