首页 > 其他分享 >Freeswitch 对接 unimrcpserver ASR调用

Freeswitch 对接 unimrcpserver ASR调用

时间:2023-02-08 09:25:00浏览次数:47  
标签:ASR fs 配置文件 unimrcp unimrcpserver freeswitch Freeswitch 加载

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]

标签:ASR,fs,配置文件,unimrcp,unimrcpserver,freeswitch,Freeswitch,加载
From: https://www.cnblogs.com/kn-zheng/p/17100483.html

相关文章

  • FreeSwitch Hangup-Cause电话挂断原因速查
    Freeswitch官网太慢了,经常还打不开,把电话挂断原因大全复制一份到这里,方便日常查看ITU-TQ.850CodeSIPEquiv.EnumerationCauseDescription0 UNSPECIFIEDUnspec......
  • freeswitch笔记(9)-esl outbound中如何放音采集按键?
    关于这个功能,esl-client上给出的源码示例极具误导性,根本跑不起来,见: https://github.com/esl-client/esl-client/blob/master/src/test/java/OutboundTest.java 正确姿......
  • freeswitch笔记(8)-esl outbound 填坑笔记
    github上的esl-client已经N年未更新了,上面有一堆bug,记录一下: 一、内存泄露org.freeswitch.esl.client.transport.message.EslFrameDecoder这个类,使用了netty的ByteBuf......
  • freeswitch笔记(7)-放音控制
    来电时,播放音乐是一个很常用的功能,下面是一些相关的命令:一、单次播放playback1originateuser/1000 &playback(ivr/8000/ivr-welcome_to_freeswitch.wav)......
  • freeswitch笔记(6)-会议功能简介
    电话会议是一个常用功能,freeswitch当然支持,下面是基本用法:一、发起会议1conference test bgdialuser/1004上面的命令表示,发起1个名为test的会话,......
  • freeswitch笔记(5)-小型呼叫中心设计思路
    这一篇用esl实战一把,利用eslclient来实现一个小型呼叫中心的原型,先看看下面这张图: 企业通常会对外公布一个400之类的服务电话,当用户拨打这个电话时,实际上背后是一堆客......
  • freeswitch笔记(4)-esl inbound模式的重连及内存泄露问题
    eslinboundclient,内部有一个canSend()方法:123publicbooleancanSend(){    return channel!=null&&channel.isConnected()&&authenticated......
  • FreeSwitch:send_dtmf/uuid_send_dtmf发送按键注意事项
    很多时候我们打电话到公司前台,会听到类似“欢迎致电XXX,办公电话请直拨分机,咨询XX请按1,咨询YY请按2”这样的语音提示。在一些特定流程中,系统自动发起呼叫打到前台,希望实现自......
  • freeswitch批量添加用户
    默认情况下,freeswitch内置了1000-1019这20个用户,如果需要添加更多用户,可以按如下步骤操作:一、复制用户文件\FreeSWITCH\conf\directory\default 下有1000.xml~1019.xm......
  • freeswitch: 如何指定主叫显示号码
    一、origiante时指定主叫号码正常情况下,如果在freeswitch控制台,输入类似下面 命令:originateuser/1000 &park被叫收到振铃提示时,显示的号码类似下面......