freeswitch 部署的系统版本:Centos6.9 x64
unimrcp 部署版本:Red Hat6.4 x86(32)
**
对接前提: freeswitch 已经编译并且安装了mod_unimrcp 模块 unimrcp 已经部署好
**
如果以上的两个都没问题我们就可以对接了
一 :进行配置文件
先配置unimrcp服务器
如果顺利安装好平台,会在该路径下可以找到配置文件
vim unimrcpserver.xml
配置ip,如果不配置会默认使用本地127
配置sip协议的ip和port
配置mrcp v2 协议
改ip 端口默认就可以,你想改也可以 但是注意不要冲突
配置rtp
启动unimrcpserver
/usr/local/unimrcp/bin/unimrcpserver 启动后即可按到加载的配置文件信息,注意这里是控制台启动,后台也可以,图个方便
二:配置freeswitch
先用fs_cli 连接fs 输入show module
查看模块是否已经被加载,(因为fs支持热更新)我们先看模块能不能被成功加载如果能再进行配置
如果不能成功被加载,请看fs的日志
/usr/local/freeswitch-1.6.20/log ,为何不能被加载,或者在控制台看启动日志 上面会写
不想看太长的日志?你也可以直接在控制台输入load mod_unimrcp 就会出现模块的信息
顺利加载完是这样的,有个警告不用管
接下来就是配置 mod_nuimrcp 模块
进入fs 安装的目录下的etc文件夹
默认是/usr/local/freeswitch/etc 下
进入mrcp_profiles 目录
该目录有很多xml文件是各种服务器的配置文件具体请参考官方文档,但是我们现在只是测试mrcpv2协议,所以我们可以把所有的xml文件 放到另个文件夹里,避免fs 加载进去,只加载我们想要的那个配置文件,当然,也可以不用管,但这里测试,我还是喜欢按我自己的方式来
mkdir back //新创建一个文件夹
mv ./*.xml back
然后创建一个mrcp2的配置文件
vi unimrcpserver-mrcp-v2.xml
打开编辑
cd 到fs的安装目录 进入 grammar 文件夹,如果没有请自行创建
cd /usr/local/freeswitch/grammar
vi hello.gram 创建一个新的语法,给语音识别时用 必须以.gram 结尾!!!
写入
可以直接下载我提供的语法文件,拷贝到该目录下即可,如果对接unimrcp的话
这个语法文件其实是可以为空的
然后
cd 到路由文件夹,配置路由
vi default.xml
添加
或者:delect_speech data=“unimrcp:unimrcpserver-mrcp2-203 hello hello”
这个调用更方便,可以随意指定配置文件
或者:detect_speech data=“unimrcp {Speed-Vs-Accuracy=0.80,start-input-timers=false,Sensitivity-Level=0.85}hello”
这个不能指定配置文件,但可以指定参数
这里特别注意:detect_speech ,
如果这里不搞好,会出现无法互通的情况,一定要注意,另外也有可能是端口ip或
防火墙的原因,导致无法互通
因为是在本地fs 默认的目录下加载语法文件,所以不能在填写语法文件名和路径时加上
.gram,这是官方文档给的说明,或者更简单也可以直接填语法文件的名字,不要带后缀,
前提是语法文件在fs的目录下
,否则会提示语法加载失败
配置完成开始测试!!!
先在fs注册一个用户
点击拨打 0001
然后看在控制台看freeswitch 的日志,就可以很清楚地看到过程
语法加载
接收成功
识别中
识别完成
最后附上官方文档
mod_unimrcp:
detect_speeh:
笔记有什么不对的地方 请联系我
我邮箱:[email protected]