语音板卡 DAHDI 配置模块
DAHDI 语音板卡配置指南
总览
DAHDI 模块设计的目的是用来管理语音卡的配置。目前,这个模块了Digium, OpenVox, Rhino和sangoma语音卡。DAHDI是语音卡的驱动,作为连接PBX的接口卡,包括模拟卡,数字卡和2B+D数字卡。
登录
- 从菜单顶部点击 Connectivity
- 在下拉菜单中点击DAHDI Config
注意
当用户第一次登陆到 DAHDI 模块时,系统将给出一个提示信息,如果用户继续执行开启模块的流程,手动配置的文件或者默认配置文件可能被覆盖。
点击 Enable 按钮就会开启 DAHDI 模块,并且系统自动检测系统已经安装的语音卡。如果已经开启了语音板卡模块,将不会显示提示。
基本设置
基本设置负责对板卡的全局变量进行设置。大部分用户的系统不会修改这些基本设置,如果修改的全局变量的话,可以手动修改这些文件。
几个主要类别的设置包括
- Global Settings
- System Settings
- Modprobe Settings
- Module Settings
- Sangoma Settings
Global Settings
全局变量的设置主要是针对Asterisk应用层来进行设置,通常情况下不会做任何的修改,如果需要做修改的话,可以在/etc/asterisk/chan_dahdi.conf 中添加一个包含文件,把用户修改的参数设置添加到包含文件中。
Select Language
选择一个对 DAHDI的语言支持,通常情况下默认设置,不会修改。
Enable Busy Detect
忙音检测对FXO相当有用,开启这个参数设置对其线路进行忙音检测,可以避免FXO的咬线问题,或者挂机信号等等问题。开启此参数以后,系统通过检测线路的挂机语音信号,监听线路的提示音,然后挂机。
Busy Detect Count
如果开启此选项,系统将检测挂机之前的检测忙音的次数。默认环境设置为 3, 但是可以调整到6 甚至于8。数字越大,代表在挂机之前检测到时间越长,但是如果设置为小一点的数字,则可能出现随机挂机的现象。
Use Caller ID
是否启用 caller ID
Enable Call Waiting
是否对内部分机开启呼叫等待功能。如果设置为 “yes,” 在忙状态的分机将听到呼叫等待音,可以使用拍叉簧的方式在呼叫用户之间进行呼叫切换。
User Caller ID Presentation
是否对外呼启用 caller ID presentation 服务。
Enable Three Way Calling
对FXS 分机开启3方通话。
Enable Transfer- Support flash
开启拍叉簧转接
Enable Call Forwarding
开启呼叫前转。
Enable Call Return
是否支持从运营商侧使用回呼热键 *69。
Enable Echo Cancelling
注意,如果语音板卡本身支持了硬件回声,这里只能设置为打开或者关闭。没有其他的设置选项可以选择。如果在内核底层已经开启了回声抑制模块,底层设置具有优先级,可以自动覆盖dahdi编译时附带的软件回声抑制模块。
Enable EC when Bridged
通常情况下,在同一个TDM电路路径中没有必要使用回声。但是如果一些环境发生改变时,则可能需要开启echo,例如TDM 桥接环境中。
Enable Echo Training
在很多情况下,当呼叫开始时,如果有回声情况发生时,回声抑制模块不能很快学习适应这个环境。如果开启了 echo training 的话,可能引起语音板卡驱动程序 DAHDI 对此通道有非常短暂的静音,模块会发送一个脉冲信号,通过这个脉冲信号对回声模块反馈一个预设的学习响应,回声模块就可以很快启动,同时支持一个接近于实际回声学习过程,这样让用户不会感觉到有静音状态发生,同时会缩短学习过程。此参数可以设置为 "yes," "no" 或者一个延迟的值(以毫米为单位)。在有一些环境中,设置了echo training 可能导致更糟糕的回声结果!如果用户需要排查回声问题,可以先试试开启或者关闭此设置,通过设置不同的值,使用一个最佳的值。注意,这些设置不适应于硬件回声抑制模块的参数。
Answer Immediately
指定这个通道是否马上应答这个呼叫,或者简单转接到其他的应用程序,例如IVR,或者读取TDMF等等。
Fax Detection
是否支持传真检测功能,启用此模块系统会判断这个呼叫是否是语音呼叫还是传真服务。选项包括 “yes,” “no,” “incoming” 和 “outgoing.” 除非需要检测传真服务,则设置为Yes, 并且 设置为“Incoming”,否则我们建议设置为 “no”。
Receive Gain
接收增益,以db 为单位。正数是提高通道的音量,负数是降低通道音量。
Transmit Gain
发送增益,以db 为单位。正数是提高通道的音量,负数是降低通道音量。
其他板卡全局变量设置
这里可以对语音板卡的其他变量进行自定义设置,使用自定义变量前必须了解相关设置信息。
注意
修改以后,必须点击一下按钮
然后摁页面底部的按钮Load DAHDI/Asteirsk 。以上相关不要去重新启动 Asterisk 或者 DAHDI。
System Settings
这个配置选项支持用户对 DAHDI 路径下的system.conf 文件进行设置。用户基本上无需对此设置进行修改,除非高级用户了解文件配置,需要对设置做出特别的修改。.
Tone Region
选择一个最接近本地国家的语音设置格式。
Other DAHDI System Settings
如果客户有自定义的配置文件,可以在这里添加。用户必须了解自定义选项的含义和使用功能。否则请咨询相关技术人员。
注意
修改以后,需要点击以下按钮
然后摁 Restart DAHDI/Asterisk 按钮。修改这些参数以后,需要重新启动 Asterisk 或者 DAHDI,所有正在进行的呼叫可能丢失。
Modprobe Settings
Modprobe Settings 来控制Linux 操作系统中的板卡驱动管理。用户可以修改内核空间的选项中的值。不同板卡的型号有不同的值设置,用户应该了解自己正在使用的板卡,也仅能修改自己面前安装的板卡选项,请按照硬件厂家的安装指导对相应的测试进行设置。如果不在北美地区的话,请咨询厂家技术人员来设置这些选项。更多linux 内核空间的驱动加载命令使用情况,请查询linux modprobe 命令。
Module Name
指定目前内核空间安装的驱动名称,目前默认的是模拟板卡,如果用户安装了其他型号的板卡,请修改到相应的型号。根据板卡型号的不同,有相应的设置选项,请联系硬件厂家获得详细技术资料。
Custom Settings
Lastly you can include new custom modules at the bottom of the file.
注意
修改以后,请点击以下提示条。
摁 Restart DAHDI/Asterisk 按钮。修改以上配置将要求重新启动 Asterisk 和 DAHDI,所有正在进行的呼叫可能丢失。
Module Settings
在这个模块设置中,用户可以定义安装的语音卡驱动。默认环境下,系统将加载目前经常使用的语音板卡驱动,用户可以关闭不需要的驱动程序或者修改驱动加载顺序。
点击以后,用户可以看到所有自动加载的板卡驱动程序。
用户可以从列表中关闭一些不需要的驱动程序。在现在的例子中,我们已经关闭了一些驱动程序。然后点击保存。
?
用户也可以拖拉驱动程序,重新配置加载的顺序。注意,在一些特殊环境中需要类似的设置,否则无需修改。现在用户可以看到 zaphfc 驱动程序已经上移到了顶部。
注意
完成所有修改,请必须点击以下提示条。
然后摁 Restart DAHDI/Asterisk 按钮。修改以上配置要求重新启动 Asterisk 或者 DAHDI,正在进行的呼叫可能丢失。
Sangoma Settings
Sangoma Settings 部分仅仅对Sangoma 语音卡进行设置。因为Sangoma语音卡有自己的板卡驱动程序,所以用户需要通过此设置来管理这些参数。
Run Wanpipe in DAHDI/DIGIUM Mode
如果用户同时在此系统中安装了其他厂家的语音卡,用户需要设置此选项为 Yes。
T1/E1 Mode
选择语音卡的支持模式,分别为T1或者E1模式,中国为E1模式,一般都不带CRC4。
注意
修改所有配置以后,请点击界面显示的以下按钮
摁Restart DAHDI/Asterisk 按钮。修改以上参数以后,要求重新启动 Asterisk 或者 DAHDI ,所有正在进行的呼叫将可能丢失。
Digital Card Setup
在这个例子中,用户可以看到所有的PRI,BRI和Sangoma的GSM语音卡。
这个系统中,我们安装了一张 Digium T1 Card, 2张Sangoma 2 Port BRI 卡和一张Sangoma GSM 卡
点击每一张卡的编辑按钮可以对板卡的配置进行编辑。这些板卡的设置是动态的设置,根据板卡的不同会有不同的设置环境。点击添加相应的参数,保存设置。
T1/E1/PRI and BRI Settings
General Settings
用户可以根据不同的运营商环境,对板卡进行设置,包括了 signaling 和 switch type,增益等等。
Group Settings
当设置语音卡时,用户可以把通道分拆成不同的组,例如 g0 代表 组 0。在我们的例子中,我们把digium 设置卡1口设置为group 0。我们把Sangoma BRI卡的2个端口设置为 group 1.最后把Sangoma GSM 卡设置为 group 2。 用户可以指定任何端口到任意一个组。最后,在FreePBX 创建中继时,可以根据不同的路由规则选择不同的中继组。
GSM Card
General Settings
在GSM卡设置中,可以定义 signalling type 和并且调整通道的语音增益。
Group Settings
当用户设置语音卡时,可以把通道分拆成不同的组来进行管理,例如设置 g0 代表 group 0。在我们的举例中,我们设置了端口1为 0, 同样设置了sangoma BRI 卡为 group 1, 最后设置了GSM 卡为group 2. 。然后在中继界面设置相应的呼出路由。
注意
用户同样可以对通道分拆,并且设置成一个通道范围支持不同的组,支持不同的公司或者不同的部门。
Analog Card Setup
模拟卡显示的端口在 “Analog” 部分。这些端口可以是 FXO 或者 FXS。
FXO
FXO 用来连接运营商的电话线。
FXS
FXS用来连接公司PBX的物理电话机或者传真机。
在这个实例中,我们的语音卡支持了 FXS 和 FXO 模块。Dahdi 语音板卡驱动将首先加载数字语音卡,然后再加载模拟语音卡,在加载数字语音卡时,设置了数字语音卡的通道从1开始,一直累加上去,所以模拟语音卡的通道是从数字语音卡的通道以后开始累加。在下面的例子中,我们可以看到FXO 端口是从125-128 ,FXS 是从121-124。
FXO Channel Setup
点击相应端口的编辑按钮,界面会显示相应的端口配置参数。现在用户看到的是在一个组0内的端口。
signalling can 可以是 “Kewl Start” 或者 “Loop Start” ,但是大部分环境下使用的是 “Kewl Start"。context 必须是 “from-analog”,所以一般情况下不会修改,除非用户需要自定义,并且了解修改后的系统状态。
这里,因为我们已经设置了0-2的组支持了Digium 数字卡,因此,我们设置 3 FXO 端口在 Group 3。如果这样设置的话,我们总是让PBX 先尝试呼叫 groups 0-2,如果设置卡呼叫失败,则尝试 group 3。
FXS Channel Setup
点击 “Edit” 按钮,会显示相应的FXS设置配置,这里我们还是选择默认的“Kewl Start”。
所有的FXS设置以后,如果PBX 创建分机时,可以选择这些FXS来创建系统需要的分机,这些FXS将映射到PBX的一个分机号码。
注意
这里完成了所有卡的设置,用户需要创建相应的中继路由来管理呼叫。用户在创建中继呼出时,会显示我们相应的dahdi 中继线路。用户只要选择相应的组就完成了dahdi的中继设置。