查看“FreeSWITCH-1.6以上+Sangoma 数字语音板卡安装方式”的源代码
←
FreeSWITCH-1.6以上+Sangoma 数字语音板卡安装方式
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:用户
您可以查看并复制此页面的源代码:
安装FreeSWITCH-1.6 和Sangoma 数字语音卡必须经过以下几个步骤。模拟语音卡也支持此安装步骤,仅无需安装ISDN支持包。请用户在安装之前详细阅读。此中文文档内容更新速度可能滞后或一些链接失效,所以请用户首先查看Sangoma 官方文档来进行安装部署。在安装FreeSWITCH-1.6时,用户安装几个核心的软件包就可以支持Sangoma 语音卡: <br/> 1)Sangoma 语音卡的驱动(Wanpipe)。 <br/> 2)Sangoma 的PRI 协议包(libsng_isdn),如果用户是模拟语音卡,无需安装此支持包。 <br/> 3)FreeSWITCH包含FreeTDM应用模块来支持PSTN的呼叫。这里,用户要注意,从FreeSWITCH-1.6以后,Sangoma 更新了freetdm模块的安装方式,它可以支持两种安装方式: <br/> 1)通过Sangoma 官方的一个含有FreeSWITCH和freetdm的包来下载安装。 <br/> 2)通过对FreeSWITCH打补丁的方式,添加一个FreeTDM模块。 <br/> 具体的官方文档链接如下: https://wiki.freepbx.org/display/PC/Telephony+Cards+for+FreeSWITCH 下面,我们按照具体的步骤一步步安装Sangoma 语音板卡和FreeSWITCH。 =下载Sangoma板卡wanpipe驱动支持包= '''Sangoma 官方建议在Linux平台安装Sangoma语音板卡。'''<br/> Sangoma 板卡用户必须注意,请在安装编译驱动之前,必须确认成功安装驱动支持包;否则会出现编译失败或者报错。安装FreeSWITCH时,需要用户必须安装相应的支持包<br> 请访问此链接,查看不同平台'''Redhat Distributions/Ubuntu/Debian 6 Distributions的安装包''': <pre> https://wiki.freepbx.org/display/PC/Telephony+Cards+for+FreeSWITCH, Sangoma 语音板卡驱动的支持包 </pre> FreeSWITCH 平台安装支持包,平台不同,安装方式可能有所不同,用户必须提前准备。 <pre> https://freeswitch.org/confluence/display/FREESWITCH/Installation+ARCHIVED </pre> 安装过程中,请务必留意几个方面的问题:<br> 1)确认每个支持包安装成功。<br> 2) 确认'''内核开发包和目前正在使用的内核版本完全一致'''。否则不能安装语音板卡驱动程序,建议用户最好安装光盘中的内核开发包,不要使用yum从网上安装。使用yum安装经常导致内核开发包版本和内核版本不一致的问题,切记。<br> 3) Sangoma E1 板卡安装仅仅需要安装3个软件包:'''wanpipe 板卡驱动,libsng_isdn和FreeSWITCH软交换。'''<br/> 4) Sangoma 和FreeSWITCH集成,相关的配置文件包括:<br> 4.1) Sangoma 板卡配置文件,在/etc/wanpipe 目录下,包含:<br/> 每个端口配置文件(每个端口配置文件以:wanpipeX.conf 命名),日志文件,启动顺序配置文件。<br/> 4.2)Freetdm.conf 文件,配置板卡数据,默认路径是:/usr/local/freeswitch/conf/freetdm.conf <br/> 4.3)FreeSWITCH 应用层配置文件默认路径:/usr/local/freeswtich/conf/autoload_configs/freetdm.conf.xml<br/> =安装Wanpipe/PRI协议栈/Freeswitch= ==Wanpipe驱动安装== 执行命令 cd /usr/src,下载最新的wanpipe 版本 <pre> 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 // 安装编译的模块 </pre> 执行命令 wanrouter hwprobe,检测sangoma 硬件信息(显示A101,如果是其他型号,显示相应产品信息) <pre> ------------------------------- | 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 </pre> ==libsng_isdn PRI安装== 如果支持PRI, 用户必须下载Sangoma的ISDN支持包,分别支持32位,64位系统,最新版本可到官方下载。如果用户使用的是模拟语音卡则无需安装此软件包: <pre> 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 // 执行编译安装命令 </pre> ==两种FreeSWITCH+freetdm模块的安装方式== 通常情况下,编译FreeSWITCH可以通过git下载的方式或者tar文件源代码下载安装的方式编译FreeSWITCH和Sangoma freetdm 模块:<br/> 在安装FreeSWITCH之前,用户必须安装所要求的支持包,否则会导致安装失败。请参考官方文档或者其他资源来实现支持包的安装。<br/> <pre> 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 // 打开freeswitch源代码路径下的modules.conf 文件,找到这一行,删除注释符#,保存文件,表示支持Sangoma freetdm 模块编译。 ./configure // 默认安装文件到 /usr/local/freeswitch make // 执行编译 make install // 安装文件 </pre> 用户在安装FreeSWITCH-1.6加Sangoma语音卡时,Sangoma也提供了两种安装方式,用户可以比较简单和灵活地安装相关的FreeTDM模块。<br/> 1)下载Sangoma官方提供的FreeSWITCH+freetdm的软件包,通过此支持包安装FreeSWITCH和FreeTDM。<br/> <pre> 从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" 。 </pre> 2) 安装FreeSWITCH源代码以后,下载freetdm补丁,对FreeSWITCH添加freetdm模块的方式来安装FreeSWITCH和FreeTDM模块。 <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. -> 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模块: 脚本内容如下: #!/bin/bash # This script is to apply sangoma specific patch depending upon if the # same is already present on public freeswitch or not is_patch_present=`git log | grep "320d5f2015976fed9ca282dfeeb2bd3e977e6f76" | wc -l` if [ "$is_patch_present" != "0" ]; then echo "Public freeswitch already has the patch merged. Thus, creating only sangoma-public-fs-compile.txt" patch -p 1 < libs/freetdm/public_freeswitch/README.patch else patch -p 1 < libs/freetdm/public_freeswitch/sangoma-FS-1.6.patch fi 具体链接可访问:https://git.freepbx.org/projects/CORE/repos/freetdm/browse/public_freeswitch/sangoma-FS-1.6-apply_patch.sh?at=public_v1.6-merge 脚本成功执行后,可自动生成sangoma-public-fs-compile.txt文件。然后执行文件中的命令进行编译。 注意:在编译过程中,FreeSWITCH会自动编译freetdm模块,如果没有编译freetdm模块的话,可能需要用户编辑module.conf 文件,添加freetdm模块,找到此行,编辑修改(#../../libs/freetdm/mod_freetdm,修改为../../libs/freetdm/mod_freetdm),然后保存配置, 重新执行./configure,make, make install。 </pre> =配置设置文件= 在确保完成了Sangoma 驱动安装,ISDN支持包和成功编译FreeSWITCH+freetdm模块的流程后,用户可以执行sangoma板卡配置基本来自动配置所有相关参数。<br/> 但是在配置过程中,用户一定要注意选择正确的配置选项,以保证语音卡能够正常工作。我们已经列出了中国用户的示例,请按照示例执行。<br/> 如果配置错误的话,用户也可以重新执行脚本覆盖以前的配置。<br/> ==配置Wanpipe and mod_freetdm== 执行工具 wancfg_fs,脚本命令将自动检测设置sangoma语音板卡和pri协议配置文件,存储路径都是默认路径。<br/> * cd /usr/sbin/, 执行安装脚本: ./wancfg_fs<br/> * /etc/wanpipe/wanpipe#.conf // 系统生产相应的每个端口的配置文件wanpipe1-wanpipe#,这是物理接口配置文件,每个端口对应一个配置文件。<br/> * /usr/local/freeswitch/conf/freetdm.conf // FreeTDM 配置文件,配置PRI的D通道和B通道设置,这是信令接口的配置文件 <br/> * FreeSwtich mod_freetdm 模块配置文件,这是FreeSWITCH的freetdm 具体应用接口的通道配置文件<br/> /usr/local/freeswtich/conf/autoload_configs/freetdm.conf.xml <br/> <pre> '''执行脚本安装过程中,中国用户需要选择的选项''',请小心操作: 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 </pre> ==配置FreeSWITCH和mod_freetdm接口模块== 为了使得FreeTDM正确加载,修改/usr/local/freeswitch/conf/autoload_configs/ 目录下的modules.conf.xml文件<br/> 修改下面一行 <pre> <!-- <load module="mod_freetdm"/> --> </pre> 修改后: <pre> <load module="mod_freetdm"/> </pre> ==检查Sangoma 物理接入状态,检查ftdm信令状态== 加载了freetdm模块后,我们需要确保pri 信令层的状态是正常状态,然后才能测试呼入呼出。<br/> 1)检查物理状态,可以通过Sangoma 驱动底层工具查看物理状态,线路,远端告警信息:<br/> http://freepbx.org.cn/wiki/index.php?title=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命令,执行以下命令查看端口状态和信令:<br/> 2.1 ftdm sangoma_isdn l1_stats wp1, 返回结果显示:connected, disconnected。connected表示物理连接正常。<br/> 2.2 ftdm sangoma_isdn show_spans, 如果物理连接正常,信令正常,显示'''UP,active。''',表示信令正常<br/> ==呼入呼出拨号规则举例== 在确认了物理连接正常,信令正常以后,用户可以配置FreeSWITCH的配置文件来实现呼入呼出的拨打测试。<br/> 对freetdm支持的语法拨号规则的示例: <pre> 通过指定的端口呼出: "freetdm/<span_name>/a/<destination_number>" 通过指定的呼出组呼出: "freetdm/<group_name>/a/<destination_number>" </pre> 测试之前,请使用Xlite在freeswitch注册一个分机1001,默认密码1234. 注意修改配置文件,需要重新加载模块<br/> '''呼出举例''':通过分机拨打9186653XXXX呼出到186653XXXX. 在freeswitch 的配置文件dialplan/default.xml添加 <pre> <extension name="outgoing"> <condition field="destination_number" expression="^9(.+)$"> // 拨9前缀呼出。 <action application="bridge" data="freetdm/wp1/a/$1"/> </condition> </extension> </pre> '''呼入举例''':E1呼入以后转到分机1001.在/dialplan/public/00_inbound_did.xml中修改成如下: <pre> <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> </pre> ==PRI 命令检测== ===Layer 1 驱动层信息=== <pre> 使用方法: l1_stats <span name> 举例: ftdm sangoma_isdn l1_stats wp1 </pre> ===Protocol Status检测=== <pre> 如何检测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 </pre> <pre> 如何打开 Q931 trace: 使用: trace q931 <span name> 举例: ftdm sangoma_isdn trace q931 wp1 </pre> <pre> 如何关闭所有traces信息: 使用: trace disable <span name> 举例: ftdm sangoma_isdn trace disable wp1 </pre> ===无回令音或者不能透传彩令=== 解决办法,在呼出之前加answer 应用。 ===FreeSwitch ftdm 命令集=== <pre> 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 </pre> =启动Sangoma语音板卡和启动FreeSWITCH命令= 如果用户需要启动sangoma语音板卡或者停止FreeSWITCH的运行,用户可以使用以下命令来执行。更多命令查看官方网站。这里,需要提醒用户的是:<br/> 启动顺序:先启动Sangoma语音板卡,然后再启动FreeSWITCH。<br/> 卸载顺序:先停止FreeSWITCH,然后再停止Sangoma板卡驱动。因为FreeSWITCH已经调用了freetdm接口和驱动的信令接口,所以必须先停止FS。<br/> 以下是经常使用的命令:<br/> 1)启动,停止,重新启动Sangoma语音板卡命令分别是:wanrouter start/stop/restart。如果用户需要查看log日志,可以访问/var/log/messages 文件<br/> 2) 启动FreeSWITCH 后台模式:/usr/local/freeswitch/bin/freeswitch -nc<br/> 3)通过ps查看FreeSWITCH运行状态:ps fax |grep freeswitch<br/> 4)进入FreeSWITCH CLI 模式:/usr/local/freeswitch/bin/fs_cli, debug freeswitch<br/> 5)停止FreeSWITCH:/usr/local/freeswitch/bin/freeswitch -stop <br/> =常见问题排查= 1) Sangoma E1 语音板卡最大支持1E1-16E1 PRI免费,SS7是付费模块,本文档不支持SS7安装配置。<br/> 2)'''启动顺序:先启动Sangoma语音板卡,然后再启动FreeSWITCH。'''<br/> 3)'''卸载顺序:先停止FreeSWITCH,然后再停止Sangoma板卡驱动。'''<br/> 3)如何排查Sangoma物理连接,此链接包括了每个参数的具体含义<br/> 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<br/> 4)为了快速解决客户问题,Sangoma 一般要求客户提供系统相关日志文件。Sangoma 支持系统打包工具,如何获得整体打包的log日志:<br/> 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<br/> 注:此日志工具仅支持Linux平台。<br/> 5)确认已经连接了运营商线路,物理连接检查Disconnected,参考:<br/> http://wiki.sangoma.com/troubleshooter-boards-pri-Wanpipe-Driver-status-shows-Disconnected 6) 线缆线序,E1板卡使用标准的RJ48接口,线序图例,查看:<br/> http://wiki.sangoma.com/Pinouts <br/> 7) Sangoma 板卡本身不附送120欧姆-75欧姆转接头,我们发货时会附送此转接头。<br/> 8) 如何使用FreeSWITCH的ESL,参考:<br/> http://wiki.sangoma.com/FreeSWITCH-ESL<br/> 9) Freetdm.conf 配置举例:<br/> http://wiki.sangoma.com/wanpipe-freeswitch-config-freetdm-isdn<br/> 10) Sangoma FreeSWITCH 修改排查文件:<br/> http://wiki.sangoma.com/Freeswitch-Troubleshooting-Information-a101-2-4-8<br/> 11) 如果执行make时,出现 error: libxml/parser.h: No such file or directory,用户需要安装libxml2-dev 支持包,通过yum 安装或源代码编译。 12)如果系统在初始化检测时,发现找到 yasm 时,可以通过源代码安装yasm,参考:http://www.tortall.net/projects/yasm/releases/
返回至
FreeSWITCH-1.6以上+Sangoma 数字语音板卡安装方式
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
合作伙伴
FreePBX官方
IPPBX软硬件
SIP 终端话机
SBC
语音网关,Sangoma语音板卡
工具
链入页面
相关更改
特殊页面
页面信息