webRTC对接文档

1.应用场景

该软电话工具条可以实现对通话状态的显示与控制,同时依靠浏览器和电脑的语音通话设备实现通话功 能。

注意:针对此模式,坐席接听方式请选择为webRTC模式,该模式下坐席登陆电话条后即可实现呼叫功能。

1.集成webRTC模式时浏览器建议用谷歌浏览器70及70版本以上

2.webRTC集成环境必须要https环境下,不支持http环境

登录对接指南(http://www.7moor.com/interface)→查询账号信息→输入账户名 账户编号:接口需要传的 account 字段

2.功能介绍

界面操作–在这个界面上可以进行电话外呼,通话保持,转接,咨询,坐席忙碌空闲状态设置。

外呼–通过嵌入软电话条的js代码,在你们的系统界面,点击用户的号码,可以直接呼出去。

来电弹屏事件–来电会触发弹屏事件,你们可以根据我们返回的参数进行来电弹屏操作。

坐席正常登陆情况下需要观察两个现象。电话条秒数处于正常计时,显示“链接成功”字样。秒数正常代表坐席登陆电话条正常,“链接成功”代表坐席网络连接通话服务正常。

模板界面如下(可以通过修改css文件改变软电话条界面的样式):

3.功能对接

3.1 模板使用指南

解压找到html下的login.html文件,输入账号密码加载软电话页面,进入页面后就可以拨打。

注:先参照对接说明修改proxy_url地址才能正常使用

将包下面的文件拷贝到您的项目中,找到html下的main.html文件,将main.html文件中的内容拷贝到你们需要加入软电话条界面的页面中

注:根据不同账号,js/moortools.js代码中的proxy_url参数需要用户自己修改,参数查询请到对接数据查询根据开通的账号获得地址

moorCall.moortools.m7BeginLogon = function (loginName, password, extenType, agentStatus) {
    var config = {
        Monitor: false,
        proxy_url: "https://pbx-bj-ali3.7moor.com",//在用户中心查询到的地址,如:https://pbx-bj-ali2.7moor.com
        extenType: extenType,
        password: password,
        User: loginName,
        busyType: agentStatus
    };
    moorCall.moortools.m7initPhone(config);
};

源码下载:edb_bar.rar

注意: webrtc模式还需更改qhbUrl,可在群内找技术支持咨询

3.2 方法使用指南(弹屏对接)

我们提供一个文件,js下的objectDeclare.js,当有事件发生时就会触发里面方法。 如:来电触发到m7Ring方法,并传入参数。 具体参数含义如下表格所示:

参数名 描述
originCallNo 主叫号码
originCalledNo 被叫号码
Agent 座席工号
ivrkey 来电用户的按键信息,比如 1004@1-1005@2(1004、1005为节点编号) 表示用户先按 1 再按 2后电话才接到座席
callSheetId 通话记录编号,唯一标识当前通话的一个id,可以通过此id找到对应的通话记录
callerProvince 省(主叫号码对应省的中文名称)
callerCity 市(中文名称)
offeringTime 来电时间
queue 队列号
queueName 队列名称

3.3 通话记录对接指南

贵方提供一个http url地址,我们会通过get请求方式,将通话记录实时的推送到到这个地址。 详细信息见文档对外事件推送

4.报错提示

含义
404 密码,账号,或者proxy_url不正确,请先确认一下这三个信息
406 坐席license版本问题,您登陆坐席的版本不支持使用软电话条
601 您的账户通话座席登录数已达最大或者已经到期,请使用无通话方式登录或联系管理员
602 您的账户无通话座席登录数已达最大或者已经到期,请使用网关/直线方式登录或联系管理员
603 账户license到期,请联系管理员
500 请求参数传递有误 例如:busytype传的数字,应为字符串
失效 失效是指不存在对应登录方式的接听设备。请检查耳麦等设备是否连接正常)

5.常用方法

1.来电弹屏:来电的时候会触发objectDeclare.js中的m7Ring: function 方法,可以在这个方法中写自己的弹屏逻辑。

2.排队人数:想要展示排队人数,在objectDeclare.js中的EvtMonitorQueue: function这个方法中通过queueItem.queueWaitCount;可以获取到。

3.转技能组:在main.html页面中调用javascript:phone.transfer('技能组编号','skillgroup', {})

4.外呼振铃:在外呼振铃的时候要做逻辑处理可以在objectDeclare.js中的onDialing: function方法中进行处理。

5.接听方法:接听的时候会触发objectDeclare.js中的EvtConnected: function方法。

6.挂机方法:挂机的时候会触发objectDeclare.js中的onHangup: function方法。

7.外呼自定义参数:在m7Phonebar.js中的dialout方法中的Async: "true",下面新加两个参数开启功能。HasCdrVar:true,ActionID:'自定义参数',自定义的参数必须是动态变化的,如果需要用查询通话接口获取该参数,可传递字符串格式,HasCdrVar:true,ActionID:'aaa:bbb'

8.自定义满意度:在m7PhoneBarinvestigate方法里面var context = self.accountId + "-节点编号-satisfaction",把对应的节

9.软电话条注销方法:先调用moortools.js中的m7logout可以实现注销。

10.转ivr菜单:更改电话条m7PhoneBar.jsm7Phone_toMenu 方法,exten 传节点ID,转ivr菜单配置好后节点ID自动生成,可找技术人员提供

6.WebRTC对接常见(注意)问题:

1.webRTC依赖于网络环境,如果网络环境不好会出现坐席状态失效的情况,可尝试刷新浏览器或更换网络,也可查看坐席状态旁的wifi标识,时刻观察坐席到通话服务器的网络状况。

2.webRTC中main,html的页面“重连”必须先点击“销毁”,在点击“重连”,退出也许保持该顺序,先调用销毁方法,在调用电话条退出方法。

3.通话时需要允许浏览器获取语音权限,否则无法正常拨打电话。同时需要保证电脑语音设备正常(可通过qq,微信语音测试是否正常),不正常可以下载驱动软件更新一下电脑声卡驱动。

7.版本更新说明

版本更新 2020.03.24

  • 网络监测功能,检测坐席端网络到通话服务器的稳定性,以便于排查网络问题。

  • 外呼时检查通话设备是否可用,若不可用则给出对应提示。

版本更新 2020.07.16

  • 新增静音按钮。

  • 新增拨号盘。