“FreeSWITCH-1.6以上+Sangoma 数字语音板卡安装方式”的版本间的差异
(→两种FreeSWITCH+freetdm模块的安装方式) |
(→两种FreeSWITCH+freetdm模块的安装方式) |
||
第64行: | 第64行: | ||
1)下载Sangoma官方提供的FreeSWITCH+freetdm的软件包,通过此支持包安装FreeSWITCH和FreeTDM。<br/> | 1)下载Sangoma官方提供的FreeSWITCH+freetdm的软件包,通过此支持包安装FreeSWITCH和FreeTDM。<br/> | ||
<pre> | <pre> | ||
− | + | 从Sangoma官方服务器下载Freeswtich + Sangoma FreeTDM tar 文件,注意,如果此链接失效,请及时联系我们技术支持或者查看官方最新的发布版本: | |
ftp://ftp.sangoma.com/linux/freeswitch/public_fs_merge_v1.6.tgz | ftp://ftp.sangoma.com/linux/freeswitch/public_fs_merge_v1.6.tgz | ||
− | + | 对tar文件解压 | |
− | |||
tar -xvf public_fs_merge_v1.6.tgz | tar -xvf public_fs_merge_v1.6.tgz | ||
− | + | 在解压文件路径下可以进行FreeSWITCH和freetdm的编译。用户可以参考解压文件中的命令执行编译-"sangoma-public-fs-compile.txt" 。 | |
</pre> | </pre> | ||
2) 安装FreeSWITCH源代码以后,下载freetdm补丁,对FreeSWITCH添加freetdm模块的方式来安装FreeSWITCH和FreeTDM模块。 | 2) 安装FreeSWITCH源代码以后,下载freetdm补丁,对FreeSWITCH添加freetdm模块的方式来安装FreeSWITCH和FreeTDM模块。 | ||
<pre> | <pre> | ||
− | + | 使用Sangoma的FreeTDM 模块,把freetdm模块手动添加到Freeswitch代码中,用户通过补丁的方式添加模块代码,然后进行FreeSWITCH的编译或者重新编译。 | |
− | + | 这里,需要用户手动拷贝源代码到freeswitch的支持包路径下。 | |
1. Download our FreeTDM source code. Copy and paste below line into your Linux command line to start download. | 1. Download our FreeTDM source code. Copy and paste below line into your Linux command line to start download. | ||
第81行: | 第80行: | ||
2. Copy the freetdm code to Freeswitch directory. | 2. Copy the freetdm code to Freeswitch directory. | ||
− | a) mv <freeswitch_source_code_dir>/libs/freetdm /tmp/freetdm.bkup.junk | + | a) mv <freeswitch_source_code_dir>/libs/freetdm /tmp/freetdm.bkup.junk // 执行备份,如果无需备份,可忽略此步骤。 |
− | b) cp -r <downloaded_freetdm_dir> <freeswitch_source_code_dir>/libs/freetdm | + | b) cp -r <downloaded_freetdm_dir> <freeswitch_source_code_dir>/libs/freetdm // 把下载的文件拷贝到freeswitch 源代码相应路径下。 |
− | 3. | + | 3. 使用此脚本对其代码进行补丁处理,这样,FreeSWITCH就会支持了FreeTDM模块: |
Sangoma FS-1.6 Patch Apply Script | Sangoma FS-1.6 Patch Apply Script | ||
2018年8月18日 (六) 16:58的版本
安装FreeSWITCH-1.6 和Sangoma 数字语音卡必须经过以下几个步骤。请用户在安装之前详细阅读。此中文文档内容更新速度可能滞后,所以请用户首先查看Sangoma 官方文档来进行安装部署。在安装FreeSWITCH-1.6时,用户安装几个核心的软件包就可以支持Sangoma 语音卡:
1)Sangoma 语音卡的驱动(Wanpipe)。
2)Sangoma 的PRI 协议包(libsng_isdn),如果用户是模拟语音卡,无需安装此支持包。
3)FreeSWITCH包含FreeTDM应用模块来支持PSTN的呼叫。这里,用户要注意,从FreeSWITCH-1.6以后,Sangoma 更新了freetdm模块的安装方式,它可以支持两种安装方式:
1)通过Sangoma 官方的一个含有FreeSWITCH和freetdm的包来下载安装。
2)通过对FreeSWITCH打补丁的方式,添加一个FreeTDM模块。
具体的官方文档链接如下:
https://wiki.freepbx.org/display/PC/Telephony+Cards+for+FreeSWITCH
下载Sangoma板卡wanpipe驱动支持包
Sangoma 官方建议在Linux平台安装Sangoma语音板卡。
Sangoma 板卡用户必须注意,请在安装编译驱动之前,必须确认成功安装驱动支持包;否则会出现编译失败或者报错。
请访问此链接,查看不同平台Redhat Distributions/Ubuntu/Debian 6 Distributions的安装包:
https://wiki.freepbx.org/display/PC/Telephony+Cards+for+FreeSWITCH
安装过程中,请务必留意几个方面的问题:
1)确认每个支持包安装成功。
2) 确认内核开发包和目前正在使用的内核版本完全一致。否则不能安装语音板卡驱动程序,建议用户最好安装光盘中的内核开发包,不要使用yum从网上安装。使用yum安装经常导致内核开发包版本和内核版本不一致的问题,切记。
3) Sangoma E1 板卡安装仅仅需要安装3个软件包:wanpipe 板卡驱动,libsng_isdn和FreeSWITCH软交换。
4) Sangoma 和FreeSWITCH集成,相关的配置文件包括:
4.1) Sangoma 板卡配置文件,在/etc/wanpipe 目录下,包含:
每个端口配置文件(每个端口配置文件以:wanpipeX.conf 命名),日志文件,启动顺序配置文件。
4.2)Freetdm.conf 文件,配置板卡数据,默认路径是:/usr/local/freeswitch/conf/freetdm.conf
4.3)FreeSWITCH 应用层配置文件默认路径:/usr/local/freeswtich/conf/autoload_configs/freetdm.conf.xml
安装Wanpipe/PRI协议栈/Freeswitch
Wanpipe驱动安装
执行命令 cd /usr/src,下载最新的wanpipe 版本
wget ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-current.tgz tar xfz wanpipe-current.tgz // 减压tar 文件 cd wanpipe-<version>.tgz // 进入到这个文件夹 make freetdm // 编译freetdm make install // 安装编译的模块
执行命令 wanrouter hwprobe,检测sangoma 硬件信息(显示A101,如果是其他型号,显示相应产品信息)
------------------------------- | Wanpipe Hardware Probe Info | ------------------------------- 1 . AFT-A101-SH : SLOT=2 : BUS=4 : IRQ=217 : CPU=A : PORT=1 : HWEC=0 : V=41 Card Cnt: A101=1
libsng_isdn PRI安装
如果支持PRI, 用户必须下载Sangoma的ISDN支持包,分别支持32位,64位系统:
32-bit library: ftp://ftp.sangoma.com/linux/libsng_isdn/libsng_isdn-current.i686.tgz 64-bit library: ftp://ftp.sangoma.com/linux/libsng_isdn/libsng_isdn-current.x86_64.tgz tar xfz libsng_isdn-current.<arch>.tgz // 减压到 /usr/src 路径下 cd libsng_isdn-<version>.<arch> // 进入到 文件夹 make install // 执行编译安装命令
两种FreeSWITCH+freetdm模块的安装方式
用户在安装FreeSWITCH-1.6加Sangoma语音卡时,Sangoma 提供了两种安装方式,用户可以轻松安装相关的FreeTDM模块。
1)下载Sangoma官方提供的FreeSWITCH+freetdm的软件包,通过此支持包安装FreeSWITCH和FreeTDM。
从Sangoma官方服务器下载Freeswtich + Sangoma FreeTDM tar 文件,注意,如果此链接失效,请及时联系我们技术支持或者查看官方最新的发布版本: ftp://ftp.sangoma.com/linux/freeswitch/public_fs_merge_v1.6.tgz 对tar文件解压 tar -xvf public_fs_merge_v1.6.tgz 在解压文件路径下可以进行FreeSWITCH和freetdm的编译。用户可以参考解压文件中的命令执行编译-"sangoma-public-fs-compile.txt" 。
2) 安装FreeSWITCH源代码以后,下载freetdm补丁,对FreeSWITCH添加freetdm模块的方式来安装FreeSWITCH和FreeTDM模块。
使用Sangoma的FreeTDM 模块,把freetdm模块手动添加到Freeswitch代码中,用户通过补丁的方式添加模块代码,然后进行FreeSWITCH的编译或者重新编译。 这里,需要用户手动拷贝源代码到freeswitch的支持包路径下。 1. Download our FreeTDM source code. Copy and paste below line into your Linux command line to start download. -> git clone -b public_v1.6-merge https://git.freepbx.org/scm/core/freetdm.git 2. Copy the freetdm code to Freeswitch directory. a) mv <freeswitch_source_code_dir>/libs/freetdm /tmp/freetdm.bkup.junk // 执行备份,如果无需备份,可忽略此步骤。 b) cp -r <downloaded_freetdm_dir> <freeswitch_source_code_dir>/libs/freetdm // 把下载的文件拷贝到freeswitch 源代码相应路径下。 3. 使用此脚本对其代码进行补丁处理,这样,FreeSWITCH就会支持了FreeTDM模块: Sangoma FS-1.6 Patch Apply Script NOTE: Once script is successfully executed "sangoma-public-fs-compile.txt" file is generated. User can refer to this file in order to get the details with respect to How to compile (sangoma + Public) merged FreeTDM with public Freeswitch
两种方式可安装FreeSWITCH,通过git安装,或者http下载源代码:
git clone git://git.freeswitch.org/freeswitch.git //如果通过git安装,请提前安装git工具 wget http://files.freeswitch.org/freeswitch-snapshot.tar.gz ./bootstrap.sh // 执行安装配置环境设置 #libs/freetdm/mod_freetdm // 打开modules.conf 文件,找到这一行,删除注释符#,保存文件 ./configure // 默认安装文件到 /usr/local/freeswitch make // 执行编译 make install // 安装文件
配置设置文件
配置Wanpipe and mod_freetdm
执行工具 wancfg_fs,脚本命令将自动检测设置sangoma语音板卡和pri协议配置文件。
- cd /usr/sbin/, 执行安装脚本: ./wancfg_fs
- /etc/wanpipe/wanpipe#.conf // 系统生产相应的每个端口的配置文件wanpipe1-wanpipe#
- /usr/local/freeswitch/conf/freetdm.conf // FreeTDM 配置文件
- FreeSwtich mod_freetdm 模块配置文件
/usr/local/freeswtich/conf/autoload_configs/freetdm.conf.xml
'''执行脚本安装过程中,中国用户需要选择的选项''',请小心操作: Select media type->E1 // 支持中国E1 Select linecode-> HDB3 // E1接口支持两种线路编解码格式:AMI格式和HDB3格式。默认HDB3 Select framing-> NCRC4 // 是否需要支持CRC4 校验,如果不支持选择此项。大多数中国客户使用NCRC4 Select Clock-> Normal Select Signalling type-> PRI CPE // '''运营商端上NET 网络侧,本地必须选择CPE 用户侧''' Select switchtype -> EuroISDN Select Configure port for full use->yes Select Dialplan context-> PSTN // 注意,到这一步,一个端口就算配置完成了,脚本会重复配置 第2 口,3口,如果是16E1的话,执行到16口,直到配置完所有的板卡端口。 Configuration complete-> Yes Dahdi and Wanpepe configuration complete-> 选择 2 would you like to continue->Yes would you like wanrouter to start on system boot-> yes
配置FreeSWITCH和mod_freetdm接口模块
为了使得FreeTDM正确加载,修改/usr/local/freeswitch/conf/autoload_configs/ 目录下的modules.conf.xml文件
修改下面一行
<!-- <load module="mod_freetdm"/> -->
修改后:
<load module="mod_freetdm"/>
检查Sangoma 物理接入状态,检查ftdm信令状态
1)检查物理状态,可以通过Sangoma 驱动底层工具查看物理状态,线路,远端告警信息:
http://wiki.voip88.com/index.php/Sangoma_wanpipemon_T1/E1_line_alarms_%E7%BA%BF%E8%B7%AF%E5%91%8A%E8%AD%A6%E6%8E%92%E6%9F%A5%E5%B7%A5%E5%85%B7
2) 或者通过FreeSWITCH CLI命令,执行以下命令查看端口状态和信令:
2.1 ftdm sangoma_isdn l1_stats wp1, 返回结果显示:connected, disconnected
2.2 ftdm sangoma_isdn show_spans, 如果物理连接正常,信令正常,显示UP,active。
呼入呼出拨号规则举例
拨号规则的语法:
通过指定的端口呼出: "freetdm/<span_name>/a/<destination_number>" 通过指定的呼出组呼出: "freetdm/<group_name>/a/<destination_number>"
测试之前,请使用Xlite在freeswitch注册一个分机1001,默认密码1234. 注意修改配置文件,需要重新加载模块
呼出举例:通过分机拨打9186653XXXX呼出到186653XXXX. 在freeswitch 的配置文件dialplan/default.xml添加
<extension name="outgoing"> <condition field="destination_number" expression="^9(.+)$"> // 拨9前缀呼出。 <action application="bridge" data="freetdm/wp1/a/$1"/> </condition> </extension>
呼入举例:E1呼入以后转到分机1001.在/dialplan/public/00_inbound_did.xml中修改成如下:
<include> <extension name="public_did"> <condition field="destination_number" expression="^(.+)$"> <action application="set" data="domain_name=$${domain}"/> <action application="transfer" data="1001 XML default"/> // E1 呼入以后转到分机1001 </condition> </extension> </include>
PRI 命令检测
Layer 1 驱动层信息
使用方法: l1_stats <span name> 举例: ftdm sangoma_isdn l1_stats wp1
Protocol Status检测
如何检测PRI 端口状态: 使用: show_spans 举例: ftdm sangoma_isdn show_spans // 显示UP/Down Active/Inactive <pre> Protocol trace信息 <pre> 如何打开 Q921 trace: 使用: trace q921 <span name> 举例: ftdm sangoma_isdn trace q921 wp1
如何打开 Q931 trace: 使用: trace q931 <span name> 举例: ftdm sangoma_isdn trace q931 wp1
如何关闭所有traces信息: 使用: trace disable <span name> 举例: ftdm sangoma_isdn trace disable wp1
无回令音或者不能透传彩令
解决办法,在呼出之前加answer 应用。
FreeSwitch ftdm 命令集
To see a list of your configured spans, at the CLI type * ftdm list // 显示端口列表 To see detailed information about a specific span * ftdm dump <span_id> To see detailed information about a specific channel on span * ftdm dump <span_id> <chan_id> To start a span (this terminates FS with sangoma_isdn when you stopped the span before) * ftdm start <span_id> // 启动一个端口 To stop a span * ftdm stop <span_id> // 停止一个端口 To get a pcap trace (I guess it doesn't work currently) * ftdm q931_pcap <span_id> on|off [pcapfilename without suffix] (this command shouldn't be defined in mod_freetdm, but in ftmod_isdn I guess) To enable/disable DTMF detection on whole span or certain channel * ftdm dtmf on|off <span_id> [<chan_id>] // 开启DTMF检测,支持Sangoma 带回声硬件DTMF检测 To enable a trace on whole span or certain channels * ftdm trace <path where to save files per channel> <span_id> [<chan_id>] To disable a trace on whole span or certain channels * ftdm notrace <span_id> [<chan_id>] To adjust gains on whole span or certain channels * ftdm gains <rxgain> <txgain> <span_id> [<chan_id>] // 调整 端口曾益 rx 代表接收 tx 代表呼出 * ftdm sangoma_isdn trace <q921|q931> <span_name> Call this for both q921 and q931 to have both decoded To disable decoding of q921 and q931 messages on a span * ftdm sangoma_isdn trace disable <span_name> To get layer 1 statistics from span (derived from wanpipe I guess) * ftdm sangoma_isdn l1_stats <span_name> To get a short status report of each span * ftdm sangoma_isdn show_spans
常见问题排查
1) Sangoma E1 语音板卡最大支持16E1 PRI免费,不支持SS7。
2)启动顺序:先启动Sangoma语音板卡,然后再启动FreeSWITCH。
3)卸载顺序:先停止FreeSWITCH,然后再停止Sangoma板卡驱动。
3)如何排查Sangoma物理连接,此链接包括了每个参数的具体含义
http://wiki.voip88.com/index.php/Sangoma_wanpipemon_T1/E1_line_alarms_%E7%BA%BF%E8%B7%AF%E5%91%8A%E8%AD%A6%E6%8E%92%E6%9F%A5%E5%B7%A5%E5%85%B7
4)为了快速解决客户问题,Sangoma 一般要求客户提供系统相关日志文件。Sangoma 支持系统打包工具,如何获得整体打包的log日志:
http://wiki.voip88.com/index.php/Sangoma_%E7%B3%BB%E7%BB%9F%E6%8E%92%E6%9F%A5%E6%97%A5%E5%BF%97%E6%89%93%E5%8C%85%E5%B7%A5%E5%85%B7
注:此日志工具仅支持Linux平台。
5)确认已经连接了运营商线路,物理连接检查Disconnected,参考:
http://wiki.sangoma.com/troubleshooter-boards-pri-Wanpipe-Driver-status-shows-Disconnected
6) 线缆线序,E1板卡使用标准的RJ48接口,线序图例,查看:
http://wiki.sangoma.com/Pinouts
7) Sangoma 板卡本身不附送120欧姆-75欧姆转接头,我们发货时会附送此转接头。
8) 如何使用FreeSWITCH的ESL,参考:
http://wiki.sangoma.com/FreeSWITCH-ESL
9) Freetdm.conf 配置举例:
http://wiki.sangoma.com/wanpipe-freeswitch-config-freetdm-isdn
10) Sangoma FreeSWITCH 修改排查文件:
http://wiki.sangoma.com/Freeswitch-Troubleshooting-Information-a101-2-4-8