1.转ivr
1.1.操作
客户咨询完问题之后,坐席经常需要客户做一个满意度评价;此时坐席在软电话条上操作转ivr,填写相应的rootactid(根节点流程id)和actid(子节点流程id)
操作如下:
1.2 常见问题
转ivr时候,在软电话条传递参数到acdgate后端,然后acdgate后端去调用平台acd模块时候,出现以下问题:
从上面可以看到gotoFlow时候,ivr的流程节点号转到100节点,然后查找不到对应的rootactid就返回了res=-1。
1.3 解决
我们查看acd的配置,查找acd转ivr时候的节点为:
acdcallinflowno=100
查看ivr的节点配置,发现是:
此时转ivr时候,肯定找不到对应的流程。
我们将acdcallinflowno=200,再次测试:
2、呼叫状态不对问题排查.
2.1前端
前端主要js:
SV-callbanner-common-wscomm-1.0.0.js-->软电话条接续:通过websocket传递信息.
SV-callbanner-common-engine-4.6.2.js-->状态变更页面交互核心组建。
状态变更逻辑:
后端通过websocket传递数据,然后SV-callbanner-common-wscomm-1.0.0.js里面的FlashAgentX.doMessage接受消息:FlashAgentX.doMessage = function(msgbuf)-->
然后调用SV-callbanner-common-engine-4.6.2.js的onCallState0 & onCallState0(_data.body.state)内部调用本文件的showCStateMsg(_state)方法进行展示坐席状态。
2.2 后端
后端主要是:hs.man.AcdStatusThread的线程run方法来定时调度hs.man.AcdStatusEventScaner的doGetStateEvent扫描同步状态给前端的方法。
public void run() {
int cnt = 0;
while (!(this._terminated)) {
try {
int res = 0;
long run_ms = 0L;
if (this._acdOp != null)
{
long start = System.currentTimeMillis();
res = this._acdOp.doGetStateEvent();
run_ms = System.currentTimeMillis() - start;
logger.info("_acdOp.doGetStateEvent");
} else {
logger.error(" new AcdStatusEventScaner error");
}
if (res < 0)
{
Thread.sleep(3000L);
}else{
Thread.sleep(1000L);
}
}catch (InterruptedException ie) {
logger.error("get agc state error " + ie.getMessage());
}
}
}
2.3问题排查实例
当8003坐席组长登录系统并且签入软电话来监听8006坐席(签入软电话)的时候,选择监听时候8003软电话摘机,然后起对应的状态变成了三方,而不是真实的坐席组长状态。如下:
问题排查:8006登入系统配置软电话打电话,8003登录系统配置软电话然后点击监听,弹出列表,然后选择坐席,点击监听,然后摘机,看状态。
ws转变成wss
websocket所在的web服务器使用的是tomcat服务器,开通的端口是8004,但是需要wss协议,所以使用nginx进行wss配置。
server {
listen 80;
listen 443 ssl;
server_name miniprogram.com;
# ssl on;
ssl_certificate /cc/nginx/build/ssl/7979091_miniprogram.com.pem;
ssl_certificate_key /cc/nginx/build/ssl/7979091_miniprogram.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2;
location /AcdGate {
proxy_pass http://127.0.0.1:8004/AcdGate;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
之前使用:
ws://192.168.1.1:8004/AcdGate/softPhone/
现在使用:
wss://miniprogram.com/AcdGate/softPhone/
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。