OpenVox A800E Dahdi cn
From Wiki
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
