搭建百度Mrcp Server与Freeswitch的mod_unimrcp对接实现智能客服

Song • 1608 次浏览 • 1 个回复 • 2018年09月01日

媒体资源控制协议(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 守护进程
  • 须有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.2gcc,可以按照一下方法:

cd ${SERVER_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 KeySecret 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/mrcpserver.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 - 中国晚上好


原创文章,转载请注明 :搭建百度Mrcp Server与Freeswitch的mod_unimrcp对接实现智能客服 - pytorch中文网
原文出处: https://ptorch.com/news/206.html
问题交流群 :168117787
提交评论
要回复文章请先登录注册
用户评论
  • Song Song 2017-07-16 12:00:58 回复

    安装完supervise;第一次启动失败也可以查看端口占用:

    lsof -i:8060
Pytorch是什么?关于Pytorch! 配置Freeswitch(mod_unimrcp)与百度Mrcp Server实现实时语音识别(ASR)