搭建百度Mrcp Server与Freeswitch

搭建百度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 守护进程
  • 须有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 

# 重新编译安装
cd ..
sh bootstrap.sh

如果出现以下提示,表示安装成功:

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非系统命令,说明守护进程安装失败,请检查守护进程,安装教程如下:
wget --no-check-certificate http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar zxf daemontools-0.76.tar.gz
cd admin/daemontools-0.76/
sed -i 's/extern int errno;/#include <errno.h>/1' ./src/error.h
sudo ./package/install

启动daemontools工具,&表示后台运行 :

/command/svscanboot &

然后运行ps -ef | grep svs查看运行状态:

root     23697 20807  0 11:36 pts/0    00:00:00 /bin/sh /command/svscanboot
root     23699 23697  0 11:36 pts/0    00:00:00 svscan /service
root     23702 20807  0 11:36 pts/0    00:00:00 grep --color=auto svs

参考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 - 中国晚上好


原创文章,转载请注明 :搭建百度Mrcp Server与Freeswitch的mod_unimrcp对接实现智能客服 - pytorch中文网
原文出处: https://www.ptorch.com/news/206.html
问题交流群 :168117787

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值