Created by 董舒, last modified by Dario.hu on 2021 六月 23
1. D130E/DE130E 在应用过程中须符合特定的国家安规;
2. 安装 D130E/DE130E 前,请先关闭电源;
3. 为了防止静电感应对板卡的损伤,请用螺丝将卡挡板扣在 PC
上,以达到接地的作用;
4. 安装过程中,静电环必不可少;
5. 请按指导步骤操作。
硬件板卡:OpenVox D130E/DE130E
操作系统:CentOS-5.5
内核版本:2.6.18-194. el5
DAHDI: dahdi-linux-complete-current
Asterisk:asterisk-16
Libpri: libpri-1.4.11.5
D130E/DE130E是目前开源社区最高级的1口T1/E1/J1 PCI 接口语音板卡,提供最优质的语音通话质量。该产品的先进创新不但可以保证用户在调整中断频率后降低系统 CPU 高达 70%的使用率,还可以修改产品中断号,从而避免中断号共享或者冲突。
DE130P 由 D130P 和基于 Octasic® 芯片的硬件回声消除模块组成。每张卡甚至每个物理端口都可以自由选择支持 T1、E1 和 J1 模式。基于 Octasic® 芯片的硬件回声消除模块可以在 E1 模式的 32 个通道或者 T1/J1 模式的 24 个通道上消除回音尾音高达 128ms 或者1024taps。该模块充分地发挥了 Octasic® 语音质量提高功能,保证每一次通话都能够享受完美的音质。
D130E/DE130E 支持行业内标准的电话线路及数据协议,包括PRI ISDN (北美及欧洲标准)的协议、PPP、Cisco、HDLC 及帧中继的数据模式,同时也支持线路和中继接口。
D130E/DE130E 支持 Asterisk®, Elastix®,FreeSWITCH™, PBXin a Flash, trixbox®,Yate™ 及其他 IPPBX/IVR 等开源项目应用。
典型应用
VoIP 服务
IVR 应用
"Meet-Me" 会议桥
电话卡平台
VoIP 网关 (支持 SIP, H.323,和 IAX)
传统 PBX/IVR 服务
语音、数据路由器
每个 DIP 开关控制着一个通道的模式,通过设置 DIP 开关可将通道设置为 E1 或 T1 模式。当设置 DIP1 为 ON 时表示通道一为 E1模式,当设置 DIP1 为 OFF 时表示通道一为 T1 模式。
CardID 这个旋钮控制着同一台机器上卡的编号,如果您的机器上只有一张卡,那么旋钮所对应的值应设为 0;如果同时安装两张D130E 或 DE130E 也就是说安装两张同样的卡,离 CPU 最近的卡的CardID 应调为“0”,较远的应调为“1”,依此类推。旋钮的默认状态为 0。
D130E/DE130E 兼容工业标准的 PCI-E ×1、PCI-E ×2、PCI-E ×4、PCI-E ×8以及PCI-E ×16插槽,不兼容任何类型的 PCI 插槽。用户首先需要确认插槽类型,将D130E/DE130E垂直插入上述任何一种PCI-E插槽。下图描述了四种插槽形状。
DAHDI 的源码包在 Digium 及 OpenVox 网站上均可获得。若驱动从 Digium 官方网站下载,则需要添加补丁,因此建议用户从OpenVox 网站上下载 DAHDI。 接下来我们详细解说软件安装过程。从 OpenVox 官方网站上下载 DAHDI 源码包:
http://downloads.openvox.cn/pub/drivers/dahdi-linux-complete/openvox_dahdi-linux-complete-current.tar.gz
从 Digium 网站上获取 Asterisk:
http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
从 Digium 网站上获取 Libpri:
http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.5.tar.gz
通常在目录 /usr/src/ 下运行如下指令,下载并解压 DAHDI、Asterisk和 Libpri:
#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/asterisk-16-current.tar.gz
#_wget_http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.11.5.tar.gztibpri-1.4.12.tar.gz
#_tar_-xvzf_openvox_dahdi-linux-complete-current.tar.gz
# tar –xvzf asterisk-16-current.tar.gz
# tar –xvzf libpri-1.4.11.5.tar.gz
1. 硬件检测
# lspci –vvvv
通过上述指令检查系统是否识别 D130E/DE130E。若检测到
D130E/DE130E,则输出结果如下所示
20:00.0 Class ff00: Unknown device 1b74:d130 (rev 01)
Subsystem: Unknown device 0005:0000
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
Interrupt: pin A routed to IRQ 16 Region 0: Memory at 91c00000 (32-bit, non-prefetchable)
[size=32K]
如果系统没有检测到 D130E/DE130E,请关闭电源,清扫插槽或者将卡插入其它 PCI-E 插槽重新检测。
2. 依赖包安装
在安装 DAHDI 前请先检查是否所有的依赖包都安装成功,如果依赖包没有安装,将导致后续的软件安装无法顺利进行。请运行如下指令逐个检查。
# 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
如果系统没有安装 kernel-devel,用户需要运行如下指令安装与现有内核相匹配的 kernel-devel:
# yum install kernel-devel-`uname –r`
如果更新源中没有找到匹配的 kernel-devel,那么就需要下载匹配的RPM 包手动安装,或者执行如下指定升级到最新的稳定内核版本:
# yum install kernel kernel-devel
安装完后重启系统应用新的内核,在新内核上继续后面的操作。
在上述依赖包的检测过程中,如果该依赖包已经安装,系统会提示已经安装,不会继续安装这个包,用户可以运行下一条指令安装其它包;
如果没有安装,则会自动安装直到系统提示安装成功。
3. 安装 Libpri
将路径转换到 /usr/src 目录下,运行如下指令安装 Libpri:
# cd libpri-XX
# make
# make install
4. 安装 DAHDI
将路径转换到 dahdi-linux-complete-XX 源码包目录下 (XX 代表DAHDI 版本),运行如下指令安装 DAHDI:
# cd /usr/src/dahdi-linux-complete-XX
# make
# make install
# make config
5. 安装 Asterisk
请执行下述指令安装 Asterisk:
# cd asterisk-16.x
# ./configure
# make
# make install
# make samples
运行"make samples"后将在目录/etc/asterisk下安装标准示例配置文件。作为新手,用户可以执行"makesamples"指令,这条指令并非必须执行。因为一旦执行了这条指令之后,系统会自动备份保存以前安装的配置文件,并以新的配置文件取代之。
1. 加载驱动
编译通过后,请运行下述指令加载驱动:
# modprobe dahdi
# modprobe opvxd115
# dahdi_genconf
在运行完 "modprobe dahdi" 和"modprobe opvxd115 "两条指令后,如果没有任何提示信息输出,则表示加载驱动成功。" opvxd115 " 为 D130E/DE130E 的驱动模块。正常情况下,执行指令 "dahdi_genconf"后,系统 会自动生成 /etc/dahdi/system.conf 和 etc/asterisk/dahdi-channels.conf两个文件。检查生成的配置文件是否符合您的需求,您也可以手动修改相关参数。值得注意的是,确认dahdi-channels.conf 包含在chan_dahdi.conf 中,若没有,请运行指令:
# echo "#include dahdi-channels.conf" >>/etc/asterisk/chan_dahdi.conf
下面显示的是一部分基本通道配置文件 system.conf:
# Span 1: D115/D130/0/1 "D115/D130 (E1|T1) Card 0 Span 1" (MASTER)
span=1,1,0,ccs,hdb3,crc4
# termtype: te
bchan=1-15,17-31
dchan=16
#echocanceller=mg2,1-15,17-31
# Global data
loadzone = us
defaultzone = us
2. 修改国家制式
为了匹配国家通信制式,需要修改一些参数。例如,在中国,请修改参数 loadzone 和 defaultzone,如下所示:
loadzone = cn
defaultzone = cn
用户可以在文件 .. /dahdi-XX/tools/zonedata.c 中查找国家参数。另外,还有一个参数在/etc/asterisk/indications.conf 中也需要修改:
country=cn
文件/etc/asterisk/dahdi-channels.conf 的一部分如图所示:
; Span 1: D115/D130/0/1 "D115/D130 (E1|T1) Card 0 Span 1" (MASTER)
group=0,11
context=from-pstn
switchtype = euroisdn
signalling = pri_cpe
channel => 1-15,17-31
context = default
group = 63
修改国家制式后请运行指令:
# dahdi_cfg –vvvvvv
这条指令将从文件 system.conf 中读取并加载参数到硬件中。指令运行的一部分输出结果显示如下面所示
、
3. 启动 Asterisk
# asterisk -vvvvvgc
如果 Asterisk 已运行,则运行"asterisk –r"代替。在 CLI 界面中, 请运行:
如果通道显示全部正确,说明 DAHDI 已成功加载到 Asterisk 中,接下来请设置拨号方案。
4. 编写拨号方案
请在 extensions.conf 文件中编写拨号方案。下图介绍了一个简单的呼入呼出方案:
# vim /etc/asterisk/extensions.conf
[from-pstn]
exten => s,1,Answer() // answer the inbound call
exten => s,n,Playback(cc_welcome)
exten => s,n,Hangup()
[from-internal]
exten => _X.,1,Dial(dahdi/g0/${EXTEN})
exten => _X.,n,Hangup()
其它功能
用户可以运行 "cat /proc/interrupts" 命令查看D130E/DE130E是否有独立的中断,如果 D130E/DE130E 与其它设备共享中断,会导致
一些问题。D130E/DE130E 支持在固件升级过程中修改中断引脚号,以避免冲突。可以通过下面的命令查看 EC 模块是否工作:
[root@localhost ~]# dmesg | grep VPM
VPM450: echo cancellation for 32 channels
opvxd115 0000:20:00.0: VPM450: hardware DTMF disabled.
opvxd115 0000:20:00.0: VPM450: Present and operational
servicing 1 span(s)
www.openvox.cn
www.digium.com
www.asterisk.org
www.voip-info.org
www.asteriskguru.com
温馨提示:
用户在安装和使用过程中遇到任何问题,请在 OpenVox 论坛或 wiki上查找答案、留言。