# VoIP语音板卡 : A810P AE810P 基于DAHDI 用户手册
Created by 董舒, last modified by Dario.hu on 2021 五月 26
深圳市开源通信有限公司
### 目录
[A810P AE810P 基于DAHDI 用户手册#安全说明](#A810PAE810P基于DAHDI用户手册-安全说明)
[A810P AE810P 基于DAHDI 用户手册#测试环境](#A810PAE810P基于DAHDI用户手册-测试环境)
[A810P AE810P 基于DAHDI 用户手册#第一章 概述](#A810PAE810P基于DAHDI用户手册-第一章概述)
[A810P AE810P 基于DAHDI 用户手册#1.1 Asterisk 简介](#A810PAE810P基于DAHDI用户手册-1.1Asterisk简介)
[A810P AE810P 基于DAHDI 用户手册#1.2 A810P/AE810P 简介](#A810PAE810P基于DAHDI用户手册-1.2A810P/AE810P简介)
[A810P AE810P 基于DAHDI 用户手册#第二章 硬件安装](#A810PAE810P基于DAHDI用户手册-第二章硬件安�)
[A810P AE810P 基于DAHDI 用户手册#2.1 电源](#A810PAE810P基于DAHDI用户手册-2.1电源)
[A810P AE810P 基于DAHDI 用户手册#2.2 插槽](#A810PAE810P基于DAHDI用户手册-2.2插槽)
[A810P AE810P 基于DAHDI 用户手册#2.3 时钟线](#A810PAE810P基于DAHDI用户手册-2.3时钟线)
[A810P AE810P 基于DAHDI 用户手册#2.4 FXO、FXS模块](http://wiki.openvox.com.cn)
[A810P AE810P 基于DAHDI 用户手册#2.5 硬件安装](#A810PAE810P基于DAHDI用户手册-2.5硬件安�)
[A810P AE810P 基于DAHDI 用户手册#第三章 软件安装](#A810PAE810P基于DAHDI用户手册-第三章软件安�)
[A810P AE810P 基于DAHDI 用户手册#3.1 下载](#A810PAE810P基于DAHDI用户手册-3.1下载)
[A810P AE810P 基于DAHDI 用户手册#3.2 安装](#A810PAE810P基于DAHDI用户手册-3.2安�)
[A810P AE810P 基于DAHDI 用户手册#3.3 配置](#A810PAE810P基于DAHDI用户手册-3.3配置)
[A810P AE810P 基于DAHDI 用户手册#3.4 EC 模块](#A810PAE810P基于DAHDI用户手册-3.4EC模块)
[A810P AE810P 基于DAHDI 用户手册#第四章 参考目录](#A810PAE810P基于DAHDI用户手册-第四章参考目录)
[A810P AE810P 基于DAHDI 用户手册#附录 A 硬件指标](#A810PAE810P基于DAHDI用户手册-附录A硬件指标)
[附录 B RJ11 引脚分配](#A810PAE810P基于DAHDI用户手册-附录BRJ11引脚分配)
### 安全说明
1. A810P/AE810P 在应用过程中须符合特定的国家安规;
2. 安装A810P/AE810P前,请先关闭电源;
3. 为了防止静电感应对板卡的损伤,请用螺丝将卡挡板扣在PC上,以达到接地的作用;
4. 安装过程中,静电环必不可少;
5. 请按指导步骤操作。
### 测试环境
硬件板卡:OpenVox A810P/AE810P
操作系统:CentOS-5.6
内核版本:2.6.18-238.12.1.el5
DAHDI: dahdi-linux-complete-current
Asterisk:16
[](/pages/createpage.action?spaceKey=VOIPVC&title=%E7%AC%AC%E5%9B%9B%E7%AB%A0+A400E+%E5%8F%82%E8%80%83%E7%9B%AE%E5%BD%95&linkCreation=true&fromPageId=1214075)
# 第一章 概述
### 1.1 Asterisk简介
Asterisk是一个开放源代码的软件VoIP PBX系统,它是一个运行在Linux环境下的纯软件实施方案。Asterisk是一种功能非常齐全的应用程序,提供了许多电信功能,能够把x86机器变成用户交换机,还能够当作一台企业级的商用交换机。Asterisk的优势还在于它为小企业在预算可承受的范围内提供了商业交换机的功能,并且具有很强的可扩展性。
![](1214075_files/image3.png)
图1 Asterisk应用拓扑
### 1.2 A810P/AE810P简介
OpenVox A810P/AE810P 是一款绿色无铅的8口FXO/FXS模拟接口产品,能为通信系统带来优质的语音通话质量。A810P/AE810P与可互换的FXO-400 和 FXS-400组成一个系统,且用户可以根据需求选择FXO/FXS模块数量,无需另外搭配单独的信道组合器和网关接入产品。A810P/AE810P底板上能安装8个模块,每个模块对应一个RJ11接口,每个接口支持一路模拟信号接入。
A810P/AE810P能运行在Asterisk^®^, Elastix^®^, FreeSWITCH^™^, trixbox^®^, Yate^™^ 以及 IPPBX/IVR等开源操作系统上传输清晰的语音,可以作SOHO或中小型企业的PBX, IVR,以及VoIP语音网关等应用。
典型应用
当需要接入4路PSTN线及4部模拟电话机时,用户可按下图安装模块。FXS模块对应的接口连接电话机,FXO模块对应的接口连接PSTN线。
![](1214075_files/image4.png)
图 2 典型应用
主要特性
- 全球通用
- 支持现场固件升级
- 卓越的硬件设计及稳定性
- 支持Bus Master操作速度高达132Mbytes/sec
- 可扩展性:只需要安装其它语音板卡即可升级系统
- 稳定性的固件使I/O加速,极大程度地降低了CPU负载
- 支持业界最高品质Octasic回声消除DSP,每通道独立的128ms 或1024taps 回声消除功能
- RoHS
认证
- CE, FCC, A-Tick
- trixbox ^TM^
- Elastix^®^
# 第二章 硬件安装
### 2.1 电源
由于PCI插槽不能提供FXO-400、FXS-400模块所需功率,因此用户需要通过12V 4-PIN的连接器给板卡提供外加电源。若没有提供外加电源,则导致模块不能被系统识别。
### 2.2 插槽
A810P/AE810P 兼容工业标准的32-bit 5.0V、 64-bit 3.3V以及 64-bit 5.0V的 PCI 插槽,不兼容任何类型的 PCI-E 插槽。用户首先需要确认插槽类型,将 A810P/AE810P 垂直插入任何一种 PCI 插槽。下图描述了四种插槽形状。
![](1214075_files/image5.png)
图 3 PCI及PCI-E插槽
### 2.3 时钟线
如果用户只有一张卡,那么这张卡上的所有通道都运行在同一时钟频率下,此时,不需要时钟线。如果用户同时安装多张卡在一台机器上,此时时钟线可以带来很多好处。如果不用时钟线,每张模拟卡运行在各自的时钟频率下收发数据,精确度受到影响。在语音传输过程中,这个问题可以忽略不计,但在传真及调制解调器等数据传输中,可能产生不可估量的影响。数据丢失将导致通信中断甚至崩溃。时钟线可以使所有的卡都工作在同一时钟源下,收发数据速率相同,不会丢失数据。
如果用户能在卡上找到J914(输入)及J915(输出)接口,则表示此卡支持时钟线。关于时钟线的使用请参考链接[HERE](http://bbs.openvox.cn/viewthread.php?tid=874&extra=page%3D1)。
### 2.4 FXO、FXS模块
FXO、FXS模块有下述简单区别:
- FXO为红色模块,FXS为绿色模块,一个FXO-400或FXS-400支持4路模拟线路;
- FXO模块对应的端口为FXO口,连接PSTN线,使用FXS信令;而FXS对应的端口为FXS口,连接模拟分机,使用FXO信令;
### 2.5 硬件安装
- 关闭电源;
- 检查是否需要时钟线;
- 确认插槽类型为PCI,将A810P/AE810P垂直插入插槽;
- 请将PSTN线连接FXO口,模拟分机连接FXS口;
- 固定板卡,接地;
- 供电。
![](1214075_files/image6.png)
图 4 硬件安装
注意: 在上述操作过程中,静电环是必不可少的,安装或卸下板卡在断电之后方可进行。 连接硬件前请先检查PSTN线路及电话机是否可用。确定硬件安装正确之后,即可开始软件安装。
# 第三章 软件安装
### 3.1 下载
DAHDI的源码包在Digium及OpenVox网站上均可获得。若从Digium官方网站下载驱动,则需要添加补丁,因此建议用户从OpenVox网站上下载DAHDI。 接下来我们以Asterisk-16、dahdi-linux-complete-current为例详细解说软件安装过程。
从OpenVox官方网站上下载DAHDI源码包:
[http://downloads.openvox.cn/pub/drivers/dahdi-linux-complete/openvox\_dahdi-linux-complete-current.tar.gz](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](http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz)
通常在目录/usr/src/ 下运行如下指令,下载并解压DAHDI和Asterisk:
\# wget [http://downloads.openvox.cn/pub/drivers/dahdi-linux-complete/openvox\_dahdi-linux-complete-current.tar.gz](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](http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz)
# tar -xvzf openvox\_dahdi-linux-complete-current.tar.gz
\# tar -xvzf [asterisk-16-current.tar.gz](http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz)
### 3.2 安装
1. 硬件检测
\# lspci –vvvv
通过上述指令检查系统是否识别A810P/AE810P。若检测到A810P/AE810P,则在输出结果中将显示"Communication controller",如图所示:
![](1214075_files/image7.png)
图 5 硬件检测
如果系统没有检测到A810P/AE810P,请关闭电源,清扫PCI插槽或者将卡插入其它相同类型的插槽重新检测。
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 kernel-devel
在上述依赖包的检测过程中,如果该依赖包已经安装,系统会提示已经安装,不会继续安装这个包,用户可以运行下一条指令安装其它包;如果没有安装,则会自动安装直到系统提示安装成功。
debian 系统依赖包和内核安装
#apt-get install bison bison-devel ncurses ncurses-devel zlib zlib-devel openssl openssl-devel gnutls-devel gcc gcc-c++ libxml2 libxml2-devel
#apt-get install linux-headers-\`uname -r\`
#apt-get install libedit-dev
#apt-get install uuid-dev
#apt-get install libxml2-dev
jansson 包下载地址和安装
[http://digip.org/jansson/releases/](http://digip.org/jansson/releases/)
tar -zxf jansson\*
cd jansson\*
./configure --prefix=/usr/ && make clean && make && make install && ldconfig
3\. 安装DAHDI
将路径转换到dahdi-linux-complete-XX源码包目录下 (XX 代表DAHDI版本),运行如下指令安装 DAHDI。
\# cd /usr/src/dahdi-linux-complete-XX
\# make
\# make install
\# make config
注意: 如果运行"make"指令后系统显示报错信息,请参考链接 [HERE](http://bbs.openvox.cn/viewthread.php?tid=1557&extra=page%3D1),在此链接中介绍了如何添加补丁。用户按照说明添加补丁之后,请再一次运行"make",若编译通过则操作后面两条指令,DAHDI安装成功后就开始安装Asterisk。
4. 安装Asterisk
请执行下述指令安装Asterisk:
\# cd ../asterisk-16.x
\# ./configure(如果是64位系统 执行./configure --libdir=/usr/lib64)
\# make
\# make install
\# make samples
提示:运行" make samples"后将在目录 /etc/asterisk下安装标准示例配置文件。作为新手,用户可以执行" make samples"指令,这条指令并非必须执行。因为一旦执行了这条指令之后,系统会自动备份保存以前安装的配置文件,并以新的配置文件取代之。
### 3.3 配置
1. 加载驱动
编译通过后,请运行下述指令加载驱动:
\# modprobe dahdi
\# modprobe opvxa24xx opermode=CHINA
\# dahdi\_genconf
提示:在运行完 "modprobe dahdi" 和"modprobe opvxa24xx opermode=CHINA"两条指令后,如果没有任何提示信息输出,则表示驱动加载成功。"opvxa24xx" 为A810P/AE810P的驱动模块,"opermode"只适用于FXO端口,也就是说对FXS不起作用。用户也可以用其它国家制式取代 "CHINA",请查看文件 ../dahdi-linux-XX/linux/drivers/dahdi/fxo\_modules.h 获得其它通信制式。
正常情况下,执行指令 "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
FXO端口使用FXS信令,而FXS端口则采用FXO信令。下图显示的是一部分基本通道配置文件system.conf:
![](1214075_files/image8.png)
图 6 文件 system.conf
2\. 修改国家制式
为了匹配国家通信制式,需要修改一些参数。例如,在中国,请修改参数loadzone和 defaultzone,如下所示:
loadzone = cn
defaultzone = cn
用户可以在文件 .. /dahdi-XX/tools/zonedata.c中查找国家参数。另外,还有一个参数在/etc/asterisk/indications.conf中也需要修改:
country=cn
文件/etc/asterisk/dahdi-channels.conf 的一部分如图所示:
![](1214075_files/image9.png)
图7 文件dahdi-channels.conf的一部分
修改国家制式后请运行指令:
\# dahdi\_cfg –vvvvvv
这条指令将从文件system.conf中读取并加载参数到硬件中。指令运行的一部分输出结果显示如下图:
![](1214075_files/image10.png)
图 8 通道图
3. 启动Asterisk
\# asterisk -vvvvvgc
如果Asterisk 已运行,则运行"asterisk –r"代替。在CLI界面中, 请运行:
localhost\*CLI> dahdi show channels
![](1214075_files/image11.png)
图 9 通道状态
如果通道显示全部正确,说明DAHDI已成功加载到 Asterisk中,接下来请设置拨号方案。
4. 编写拨号方案
请在extensions.conf文件中编写拨号方案。下图介绍了一个简单的呼入呼出方案:
\# vim /etc/asterisk/extensions.conf
\[from-pstn\]
exten => s,1,Answer()
exten => s,n,Dial(dahdi/1, ,r)
exten => s,n,Hangup()
\[from-internal\]
exten => 200,1,Dial(dahdi/7/outgoing\_number)
exten => 200,2,Hangup()
提示:用户需要将上述拨号方案中的"outgoing\_number"替换成被叫号码。该拨号方案实现如下功能:当内部分机拨200时,呼叫通过通道7(FXO)连接;当呼叫来自PSTN时,Asterisk首先应答,然后通过通道1(FXS)接通内部分机。
设置拨号方案后请运行"asterisk –r", 并在CLI界面中执行指令"reload",接下来就可以拨号了
附件功能
用户可以通过运行指令"cat /proc/interrupts"查看A810P/AE810P是否有独立的中断,若A810P/AE810P与其它设备共享中断,可能导致板卡不能正常工作。如果需要的话,A810P/AE810P允许用户在固件升级过程中修改中断引脚从而避免中断冲突。
### 3.4 EC 模块
执行命令“dmesg | grep VPM” 可以检查是否带有EC模块
\[root@localhost ~\]# dmesg | grep VPM
OpenVox VPM: echo cancellation supports 32 channels
OpenVox VPM: echo cancellation for 32 channels
OpenVox VPM: hardware DTMF disabled.
OpenVox VPM: Present and operational servicing 1 span(s)
按照下列步骤,启用 EC 模块进行回声消除。
步骤1:如下设置 echocanceller=hwec
#vim /etc/dahdi/system.conf
\# Span 1: OPVXA24XX/24 "OpenVox A810 Board 25" (MASTER)
fxoks=1
echocanceller=hwec,1
fxoks=2
echocanceller=hwec,2
fxoks=3
echocanceller=hwec,3
fxoks=4
echocanceller=hwec,4
fxsks=5
echocanceller=hwec,5
fxsks=6
echocanceller=hwec,6
fxsks=7
echocanceller=hwec,7
fxsks=8
echocanceller=hwec,8
\# Global data
loadzone = cn
defaultzone = cn
步骤2:编辑文件 /etc/asterisk/chan\_dahdi.conf,并设置参数 echocancel=yes.
步骤3:执行命令 "dahdi\_cfg -vvv".
当有通话在进行时,执行命令 "lsdahdi", 会发现 EC 被启用
\[root@localhost ~\]# lsdahdi
\### Span 1: OPVXA24XX/24 "OpenVox A810 Board 25" (MASTER)
1 FXS FXOKS (In use) (EC: HWEC - INACTIVE)
2 FXS FXOKS (In use) (EC: HWEC - INACTIVE)
3 FXS FXOKS (In use) (EC: HWEC - INACTIVE)
4 FXS FXOKS (In use) (EC: HWEC - INACTIVE)
5 FXO FXSKS (In use) (EC: HWEC - ACTIVE)
6 FXO FXSKS (In use) (EC: HWEC - INACTIVE) RED
7 FXO FXSKS (In use) (EC: HWEC - INACTIVE) RED
8 FXO FXSKS (In use) (EC: HWEC - INACTIVE) RED
"EC: HWEC" 表示已经启用EC。"ACTIVE" 表示通道 5 有当前通话
# 第四章 参考目录
[www.openvox.cn](http://www.openvox.cn/)
[www.digium.com](http://www.digium.com/)
[www.asterisk.org](http://www.asterisk.org/)
[www.voip-info.org](http://www.voip-info.org/)
[www.asteriskguru.com](http://www.asteriskguru.com/)
温馨提示:
用户在安装和使用过程中遇到任何问题,请在OpenVox论坛或wiki上查找答案、留言。
[OpenVox 论坛](http://bbs.openvox.cn/)
[OpenVox wiki](http://wiki.openvox.cn/index.php/%E9%A6%96%E9%A1%B5)
### 附录 A 硬件指标
• 重量、尺寸
重量(g) : 85g (A810P)
10g (EC模块)
尺寸(mm): 136.3×106.7×16
• 接口
8个工业标准的RJ11接口
PCI: 3.3V或5V PCI 2.2 以上
电源连接头: 12V 4-pin 连接头
•环境
温度: 0 ~50°C (工作) - 40 ~125°C (存储)
湿度: 10 ~90% 非凝结
•功耗
电压: 3.3V/5V/12V,3REN
功率损耗: 8.21W (最小)
88.24W(最大)
• 硬软件配置要求
RAM 128 + MB
Linux kernel 2.4.X 或 2.6.X
CPU 800+ MHZ
### 附录 B RJ11 引脚分配
A810P/AE810P兼容4-pin和6-pin RJ11接口,我们通过下面两个表来说明其引脚分配。
4-pin RJ11
![](1214075_files/image12.png)
6-pin RJ11
![](1214075_files/image13.png)