4.11 语音菜单

语音菜单(menu)是 一种虚拟通话终端,通过播放语音提示和检测用户按键来实现一些自助服务的功能。比如:你拨打10086等客服电话时听到的"IVR语音导航"、语音验证码等。

基本原理

当一个呼叫和menu接通后,

  1. 播放语音文件: menu 向通话方播放提前录制好的提示音,比如:“欢迎致电XXX,查询余额请按1,业务办理请按2,停复机管理请按3,人工服务请按0”;

  2. 检测和汇报按键: 通话方听到提示音后,输入按键信息,menu检测到按键信息将其汇报给应用服务器。

  3. 做出响应: 应用服务器收到按键信息后,根据具体业务情况判断处理,并向OM发送对应的API,比如:将通话方跳转到下一个menu或转到分机进行人工服务。

三大特点

  1. 播放语音:可以向通话方自动播放一段提前录制好的语音内容,而不用人为参与。
  2. 检查和汇报按键:可以将通话方输入的按键内容(DTMF事件消息)汇报给开发者开发的应用服务器,应用服务器根据按键内容对该呼叫进行 菜单之间的跳转、转人工、信息录入等。
  3. 可同时复用:menu是虚拟的,所以一个菜单可以同时处理很多个呼叫,各个呼叫相互之间不受任何影响。比如来电A转接到 菜单 1后,菜单 1向A播放语音并检查A按键,此时如果来电B也转接到菜单1,菜单1又向B从头开始播放语音并检查B的按键;

应用场景

  1. 语音外呼:menu对外发起呼叫,实现自动语音外呼、批量外呼等;
  2. 内部转接:对呼叫进行内部转接,从一个菜单跳转到其它菜单、分机组、分机等,实现多级IVR(来电语音导航)、客服质量评分等;
  3. 呼分机:菜单呼叫分机,实现自动语音叫醒、语音通知等;
  4. 来/去电转语音信箱:客户听语音,按键,实现语音导航。

配置

使用menu之前需要先进行配置。menu只能通过API进行配置,OM的管理页面上并没有相应的配置项。

语音菜单的身份标识符(id)的有效范围为1~50。

配置的API

<?xml version="1.0" encoding="utf-8" ?>
<Control attribute="Assign">
    <menu id="1">
        <voicefile>welcome</voicefile>
        <repeat>3</repeat>
        <infolength>5</infolength>
        <exit>#</exit>
  </menu>
</Control>

如需同时配置多个语音文件,则每个语音文件之间用加号隔开即可,如:welcome.pcm+connect.pcm,语音文件的播放顺序为从左到右。 如:

<?xml version="1.0" encoding="utf-8" ?>
<Control attribute="Assign">
    <menu id="1">
        <voicefile> welcome.pcm+connect.pcm </voicefile>
    </menu>
</Control>

也可以用数字加语音文件,如

<?xml version="1.0" encoding="utf-8" ?>
<Control attribute="Assign">
    <menu id="1">
        <voicefile> 200+welcome.pcm </voicefile>
    </menu>
</Control>

参数说明

一个菜单的配置由三大部分构成:1)身份标识符 2)语音文件及其播放规则 3)按键汇报规则。

1. 身份标识符(id):使用菜单之前,您需要先进行配置,一台OM最多可配置50个菜单,一个id标示一个菜单,id有效范围为1~50,您必须在该有效范围内配置。

2. 语音文件及其播放规则

  • 文件名称(voicefile):想要向通话方默认播放的语音文件名称(该文件需要提前上传到OM);
  • 循环播放次数(repeat):想要该文件循环播放的次数。

3. 按键汇报规则

  • 单次汇报按键的最大长度(infolength):通话方在该菜单下输入的按键达到指定个数后,OM一次性将这些按键信息汇报给应用服务器,而不必通话方按键一次OM就汇报一次;
  • 输入结束符(exit):通话方在该菜单下输入了表示已输入完毕的某个指定符号(如:#)后,OM立刻将之前检查到的按键一次性汇报给应用服务器,而不必等到通话方输入长度达到infolength。

语音文件的播放说明:

  • 何时开始播放:

    1. 呼叫接通时:菜单发起的呼叫,如:执行完“菜单外呼”和“菜单呼分机”的API请求后,需要等待被叫方接通后,OM才开始自动播放该菜单的语音文件;

    2. 呼叫转接到菜单时:已接通的呼叫,如:来电已经呼入到OM并且已经接通,此时执行“来电转菜单”的API请求,OM就立刻开始自动该菜单的播放语音文件。

  • 何时停止播放:

    1. 完成配置的播放次数:当语音文件的播放次数满足该菜单配置的语音文件播放次数时,停止播放,并向应用服务器汇报语音文件播放完毕的事件消息(EndOfAnn);

    2. 按键打断:当语音播放过程中,通话方输入了按键时,停止播放;

    3. 通话中断:当通话方挂断,或呼叫被转接到其他终端,停止播放。

语音菜单相关接口

示例:配置、删除、查询、来电转menu、去电转menu、menu外呼、menu呼分机。

配置menu

<?xml version="1.0" encoding="utf-8" ?>
<Control attribute="Assign">
    <menu id="1">
        <voicefile>welcome</voicefile>
        <repeat>3</repeat>
        <infolength>5</infolength>
        <exit>#</exit>
    </menu>
</Control>

删除menu

将menu配置请清空,就表示删除该menu;

<?xml version="1.0" encoding="utf-8" ?>
<Control attribute="Assign">
    <menu id="1">
        <voicefile></voicefile>
    </menu>
</Control>

查询menu

<?xml version="1.0" encoding="utf-8" ?>
<Control attribute="Query">
    <menu id="1"/>
</Control>

来电转menu

<?xml version="1.0" encoding="utf-8" ?>
<Transfer attribute="Connect">
    <visitor id="41" />
    <menu id="1"/>
    <voicefile>welcome</voicefile>
</Transfer>

去电转menu

<?xml version="1.0" encoding="utf-8" ?>
<Transfer attribute="Connect">
    <outer id="14" />
    <outer to="13012345678"/>
</Transfer>

menu呼分机

<?xml version="1.0" encoding="utf-8" ?>
<Transfer attribute="Connect">
    <menu id="1"/>
    <ext id="200"/>
</Transfer>

menu呼外部电话

<?xml version="1.0" encoding="utf-8" ?>
<Transfer attribute="Connect">
    <menu id="1"/>
    <outer to="13012345678"/>
</Transfer>

results matching ""

    No results matching ""