搭建百度Mrcp Server与Freeswitch的mod_unimrcp对接实现智能客服
媒体资源控制协议(MRCP
)是基于客户端/服务器模型的网络协议。MRCP
允许客户端应用程序控制驻留在服务器中的媒体服务资源。该协议的第一个版本作为信息文件发布,而其后续版本MRCPv2
目前是一个提议的标准。百度MrcpServer
提供了在unimrcp
中集成百度ASR
语音识别,提供给Freeswitch
或者Asterike
调用实现智能客服!
一、搭建MrcpServer
环境需求:
- Linux 64位 centos 6u3
- gcc: 482 以上libc,CXX11,百度提供gcc4.8.2压缩包,存放于libs目录下,解压后执行bootstrap.sh完成默认配置;
yum install gcc
- curl : 7.33,安装方法
yum install curl
- ssl : 1.0.1i,安装方法
yum install mod_ssl
- daemontools 守护进程,安装方法为ubuntu/centeos下安装daemontools
- 须有root账户权限运行,curl、ssl服务器未安装或版本不够,请自行安装或升级。
搭建MrcpServer
方法如下
cd ~
# 下载MrcpServer安装包
wget http://tianzhi-public.bj.bcebos.com/MrcpServerV1.2.tar.gz
# 解压安装包
tar xvzf MrcpServerV1.2.tar.gz
# 前往解压后的安装包
cd unimrcp
# 编译安装
sh bootstrap.sh
如果安装失败,提示请切换至root
账号,手动执行ln -s /root/unimrcp/libs/gcc482 /opt/compiler/gcc-4.8.2
,程序将自动查找/opt/compiler/gcc-4.8.2
的gcc
,可以按照一下方法:
cd /root/unimrcp/libs/
# 解压安装gcc
tar xvzf /root/unimrcp/libs/gcc482.tar.gz
# 创建/opt/compiler/gcc-4.8.2目录
mkdir -p /opt/compiler/gcc-4.8.2
# 创建gcc-4.8.2软链接
sudo ln -s /root/unimrcp/libs/gcc482 /opt/compiler/gcc-4.8.2
如果出现以下提示,表示安装成功:
bootstrap: 使用百度自带gcc4.8.2初始化客户环境
初始化成功
建议设置contab定时任务拆分日志:[1 * * * * sh /root/unimrcp/bin/splitLog.sh]
二、参数配置
从官方文档啊我们可以看出目录结构,只需在${SERVER_ROOT}/conf/recogplugin.json
修改API Key
和Secret Key
。
其他参数,无特殊需求,无需修改,保持现状。
"app.appKey": "API Key", "app.appSecret": "Secret Key",
三、使用mrcpserver
每次替换MrcpServer
安装包,都需要在${SERVER_ROOT}/
目录,root
权限下执行sh bootstrap.sh
,主要功能:完成百度自带gcc4.8.2
的环境配置。
启动: 在${SERVER_ROOT}/bin目录执行
./control start
停止: 在${SERVER_ROOT}/bin目录执行
./control stop
重启: 在${SERVER_ROOT}/bin目录执行
./control restart
查看服务状态:在${SERVER_ROOT}/bin目录执行
./control status
服务启动中遇到的问题:
若执行control start
失败,请按照以下步骤排查服务
-
1、在
${SERVER_ROOT}/bin
目录执行[root@xxx bin]$ ./unimrcpserver bash: ./unimrcpserver: /opt/compiler/gcc-4.8.2/lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory,
说明
bootstrap.sh
执行失败,请移步压缩包自带README
文件,手动完成gcc4.8.2
的配置。 -
2、若单独启动
unimrcpserver
正常,命令行直接输入supervise
,若supervise
非系统命令,说明守护进程安装失败,请检查守护进程,安装教程看这里daemontools的安装、简介。
四、配置外网ip、修改端口号
conf/unimrcpserver.xml
配置中配置外网ip方法,配置并打开以下参数注释
<sip-uas id="SIP-Agent-1" type="SofiaSIP">
<sip-ip>本机内网地址</sip-ip>
<sip-ext-ip>本机外网地址</sip-ext-ip>
</sip-uas>
sip
端口修改:
<sip-port>8060</sip-port>替换成设置参数
rtp ip&端口范围修改:
<rtp-factory id="RTP-Factory-1">
<rtp-ip>10.10.0.1</rtp-ip> 本机内网ip
<rtp-ext-ip>a.b.c.d</rtp-ext-ip> 本机外网ip
<rtp-port-min>5000</rtp-port-min> rtp端口下限
<rtp-port-max>6000</rtp-port-max> rtp端口上限
</rtp-factory>
五、日志切分
日志格式切分采用crontab
切分,若想切分日志。定时执行{SERVER_ROOT}/bin/splitLog.sh
配置示例 1 * * * * sh /usr/local/unimrcp/control/splitLog.sh
更多Freeswitch
内容参考:FreeSWITCH - 中国晚上好
用户评论
更多相关好文
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
cannot import name 'CUDA_HOME' from 'mmcv.utils' 2021-12-05
-
vgg的loss一轮达到ln(1/n)阈值,如何解决 2021-11-21
-
如何下载使用utils库 2021-10-27
热门文章
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
python/MySQL分页查询方法与性能优化 2021-06-23
-
mitmproxy & python 忽略所有的https/ssl请求 2021-04-19
-
如何使用邮件/邮箱推广微信公众号/小程序? 2021-01-28
栏目最新文章
公告提示
- pytorch中文文档
- pytorch官方文档
提交评论