ソースを参照

电信软电话

miaofuhao 5 年 前
コミット
56b4f2e886
共有3 個のファイルを変更した41 個の追加24 個の削除を含む
  1. 2 1
      CallCenterWeb.UI/Script/Common/huayi.config.js
  2. 37 21
      CallCenterWeb.UI/js/main.js
  3. 2 2
      CallCenterWeb.UI/js/softphone.js

+ 2 - 1
CallCenterWeb.UI/Script/Common/huayi.config.js

5
     //callcenter_url: "http://localhost:7456/",         //生产环境 前端Web站IP和端口
5
     //callcenter_url: "http://localhost:7456/",         //生产环境 前端Web站IP和端口
6
     callcenter_url: "https://api.zzdx.800100.com.cn:8033/",      //生产环境 前端Web站IP和端口
6
     callcenter_url: "https://api.zzdx.800100.com.cn:8033/",      //生产环境 前端Web站IP和端口
7
     socket_ip: "sip.800100.com.cn",//WebSocket通讯ip
7
     socket_ip: "sip.800100.com.cn",//WebSocket通讯ip
8
+    mqqt_ip: "sip.800100.com.cn:8083",//WebSocket通讯ip   wss://sip.800100.com.cn:8084/mqtt
8
     socket_port: "9443",    //WebSocket通讯端口
9
     socket_port: "9443",    //WebSocket通讯端口
9
-    mqqt_port: 8083,
10
+    mqqt_port: 8083, //8083
10
     menuworktime: 30000,    //菜单工单数量刷新间隔
11
     menuworktime: 30000,    //菜单工单数量刷新间隔
11
     indextime: 60000,     //首页报表刷新间隔
12
     indextime: 60000,     //首页报表刷新间隔
12
 	sip_uri_:"sip:"+$.cookie("extno")+"@sip.800100.com.cn", 
13
 	sip_uri_:"sip:"+$.cookie("extno")+"@sip.800100.com.cn", 

+ 37 - 21
CallCenterWeb.UI/js/main.js

5
 	"extenSet": $.cookie("extno"),
5
 	"extenSet": $.cookie("extno"),
6
 	"ClientId": $.cookie("User"),
6
 	"ClientId": $.cookie("User"),
7
 	"TimeOut": 5,
7
 	"TimeOut": 5,
8
-	"KeepAlive": 100,
8
+	"KeepAlive": 10,
9
 	"CleanSession": false,
9
 	"CleanSession": false,
10
 	"SSL": false
10
 	"SSL": false
11
 }
11
 }
12
+var incomState=1;
12
 var obj = {};
13
 var obj = {};
13
 //连接mqqt
14
 //连接mqqt
14
 function Connect() {
15
 function Connect() {
16
+	//client = new Paho.Client(huayi.config.mqqt_ip, $.cookie("User") )
15
 	client = new Paho.Client(huayi.config.socket_ip, huayi.config.mqqt_port,$.cookie("User"), )
17
 	client = new Paho.Client(huayi.config.socket_ip, huayi.config.mqqt_port,$.cookie("User"), )
16
 	client.onConnectionLost = onConnectionLost; //连接断开
18
 	client.onConnectionLost = onConnectionLost; //连接断开
17
 	client.onMessageArrived = onMessageArrived; //接收消息
19
 	client.onMessageArrived = onMessageArrived; //接收消息
23
 			clientId: option.ClientId //标识
25
 			clientId: option.ClientId //标识
24
 		},
26
 		},
25
 		timeout: option.TimeOut, //连接超时时间
27
 		timeout: option.TimeOut, //连接超时时间
26
-		keepAliveInterval: option.KeepAlive, //心跳间隔
28
+		keepAliveInterval: 10, //心跳间隔
27
 		cleanSession: option.CleanSession, //是否清理Session
29
 		cleanSession: option.CleanSession, //是否清理Session
28
 		useSSL: option.SSL, //是否启用SSL
30
 		useSSL: option.SSL, //是否启用SSL
29
 		onSuccess: onConnect, //连接成功回调事件
31
 		onSuccess: onConnect, //连接成功回调事件
63
 //接收消息事件
65
 //接收消息事件
64
 function onMessageArrived(data) {
66
 function onMessageArrived(data) {
65
 	console.log(data.payloadString)
67
 	console.log(data.payloadString)
68
+	debugger
66
 	var data = JSON.parse(data.payloadString)[0];
69
 	var data = JSON.parse(data.payloadString)[0];
67
 	if(data) {
70
 	if(data) {
68
 		var rlt = data.Result;
71
 		var rlt = data.Result;
237
 }
240
 }
238
 //来电
241
 //来电
239
 function IncomingBack(data) {
242
 function IncomingBack(data) {
240
-	if(data.CallID!=0){
241
-		var p = '<a href="javascript:;" class="active J_menuTab" data-id="./callScreen/callScreen.html?tel=' + data.Number + '&CallID=' + data.CallID + '">来电弹屏' + data.Number + ' <i class="fa fa-times-circle"></i></a>';
242
-		$(".J_menuTab").removeClass("active");
243
-		var nif = '<iframe class="J_iframe J_iframeNew" name="iframe'+ data.CallID  +'"  width="100%" height="100%" src="./callScreen/callScreen.html?Number=' + data.Number + '&CallID=' + data.CallID + '&ActionID=' + data.ActionID + '" frameborder="0" data-id="./callScreen/callScreen.html?tel=' + data.Number + '&CallID=' + data.CallID + '" seamless></iframe>';
244
-		$(".J_mainContent").find("iframe.J_iframe").hide().parents(".J_mainContent").append(nif);
245
-		$(".J_menuTabs .page-tabs-content").append(p);
246
-		hidTel=data.Number;
247
-		hidCallID=data.CallID;
248
-		hidActionID=data.ActionID;
249
-	}else{
250
-		var timestamp = Date.parse(new Date());
251
-		var p = '<a href="javascript:;" class="active J_menuTab" data-id="./callScreen/callScreen.html?tel=' + data.Number + '&CallID='+timestamp+'">来电弹屏' + data.Number + ' <i class="fa fa-times-circle"></i></a>';
252
-		$(".J_menuTab").removeClass("active");
253
-		var nif = '<iframe class="J_iframe J_iframeNew" name="iframe'+timestamp+'"  width="100%" height="100%" src="./callScreen/callScreen.html?Number=' + data.Number + '&CallID='+timestamp+'" frameborder="0" data-id="./callScreen/callScreen.html?tel=' + data.Number + '&CallID='+timestamp+'" seamless></iframe>';
254
-		$(".J_mainContent").find("iframe.J_iframe").hide().parents(".J_mainContent").append(nif);
255
-		$(".J_menuTabs .page-tabs-content").append(p);
256
-		hidTel=data.Number;
257
-		hidCallID=timestamp;
243
+	incomState++;
244
+	if (incomState==2) {
245
+		if(data.CallID!=0){
246
+			var p = '<a href="javascript:;" class="active J_menuTab" data-id="./callScreen/callScreen.html?tel=' + data.Number + '&CallID=' + data.CallID + '">来电弹屏' + data.Number + ' <i class="fa fa-times-circle"></i></a>';
247
+			$(".J_menuTab").removeClass("active");
248
+			var nif = '<iframe class="J_iframe J_iframeNew" name="iframe'+ data.CallID  +'"  width="100%" height="100%" src="./callScreen/callScreen.html?Number=' + data.Number + '&CallID=' + data.CallID + '&ActionID=' + data.ActionID + '" frameborder="0" data-id="./callScreen/callScreen.html?tel=' + data.Number + '&CallID=' + data.CallID + '" seamless></iframe>';
249
+			$(".J_mainContent").find("iframe.J_iframe").hide().parents(".J_mainContent").append(nif);
250
+			$(".J_menuTabs .page-tabs-content").append(p);
251
+			hidTel=data.Number;
252
+			hidCallID=data.CallID;
253
+			hidActionID=data.ActionID;
254
+		}else{
255
+			var timestamp = Date.parse(new Date());
256
+			var p = '<a href="javascript:;" class="active J_menuTab" data-id="./callScreen/callScreen.html?tel=' + data.Number + '&CallID='+timestamp+'">来电弹屏' + data.Number + ' <i class="fa fa-times-circle"></i></a>';
257
+			$(".J_menuTab").removeClass("active");
258
+			var nif = '<iframe class="J_iframe J_iframeNew" name="iframe'+timestamp+'"  width="100%" height="100%" src="./callScreen/callScreen.html?Number=' + data.Number + '&CallID='+timestamp+'" frameborder="0" data-id="./callScreen/callScreen.html?tel=' + data.Number + '&CallID='+timestamp+'" seamless></iframe>';
259
+			$(".J_mainContent").find("iframe.J_iframe").hide().parents(".J_mainContent").append(nif);
260
+			$(".J_menuTabs .page-tabs-content").append(p);
261
+			hidTel=data.Number;
262
+			hidCallID=timestamp;
263
+		}
258
 	}
264
 	}
265
+	
266
+	
259
 }
267
 }
260
 
268
 
261
 //***************************************************
269
 //***************************************************
277
 //线路状态通知
285
 //线路状态通知
278
 function LineStateAgentBack(data) {
286
 function LineStateAgentBack(data) {
279
 	 var objiframe = $("iframe:visible")
287
 	 var objiframe = $("iframe:visible")
288
+	 if (data.CallDirection=="out") {
289
+	 	hidTel=$.cookie("makeCallPhone")
290
+	 	hidCallID = Date.parse(new Date());
291
+	 }
280
 	//0分机不可用,1空闲,2摘机等待拨号,3正在拨号,4呼出振铃,5来电振铃,6通话中,7播放忙音中,8移除IP分机,9通话保持中
292
 	//0分机不可用,1空闲,2摘机等待拨号,3正在拨号,4呼出振铃,5来电振铃,6通话中,7播放忙音中,8移除IP分机,9通话保持中
281
 	if(data.State == '0') {
293
 	if(data.State == '0') {
282
 		$(".hwzt").text('分机不可用'); //左下角状态显示
294
 		$(".hwzt").text('分机不可用'); //左下角状态显示
292
 		}
304
 		}
293
 		else{
305
 		else{
294
 			$(".hwzt").text('空闲'); //左下角状态显示
306
 			$(".hwzt").text('空闲'); //左下角状态显示
307
+			$(".tooltip_text").text("通话结束...");
308
+			incomState=1;
309
+			clearInter();
295
 			$(".zxzt").removeClass("br").addClass("bl");
310
 			$(".zxzt").removeClass("br").addClass("bl");
296
 		}
311
 		}
297
 		
312
 		
350
 		$(".hwzt").text('通话中'); //左下角状态显示
365
 		$(".hwzt").text('通话中'); //左下角状态显示
351
 		$(".fwzt").removeClass("bl").addClass("br");
366
 		$(".fwzt").removeClass("bl").addClass("br");
352
 		$(".zxzt").removeClass("bl").addClass("br");//20180509 by fanlongfei 增加坐席状态灯
367
 		$(".zxzt").removeClass("bl").addClass("br");//20180509 by fanlongfei 增加坐席状态灯
368
+		calling();
353
 		if(hidTel && hidCallID) {
369
 		if(hidTel && hidCallID) {
354
 			$.post(huayi.config.callcenter_url + 'CallInScreen/UpdateZJ', {
370
 			$.post(huayi.config.callcenter_url + 'CallInScreen/UpdateZJ', {
355
 				callid: hidCallID,
371
 				callid: hidCallID,
365
 		$(".Transfer").addClass("active");
381
 		$(".Transfer").addClass("active");
366
 		$(".Meeting").addClass("active");
382
 		$(".Meeting").addClass("active");
367
 		if(data.CallDirection=="in"){
383
 		if(data.CallDirection=="in"){
368
-			etTimeout (window.frames['iframe'+ hidCallID +''].calling(),500);/*2018-05-19 zhangshuangnan 修改  ps: 因软电话设置为 自动应答 通话时间不计时问题*/
384
+			setTimeout (window.frames['iframe'+ hidCallID +''].calling(),500);/*2018-05-19 zhangshuangnan 修改  ps: 因软电话设置为 自动应答 通话时间不计时问题*/
369
 		} 
385
 		} 
370
 	}
386
 	}
371
 	if(data.State == '7') {
387
 	if(data.State == '7') {

+ 2 - 2
CallCenterWeb.UI/js/softphone.js

1
  var outgoingSession = null,incomingSession = null,currentSession = null,
1
  var outgoingSession = null,incomingSession = null,currentSession = null,
2
- 	 timeStrart=false,thjsTel=false,timeReg,
2
+ 	 timeStrart=false,thjsTel=false,timeReg,signState,
3
  	 videoView = document.getElementById('videoView'),
3
  	 videoView = document.getElementById('videoView'),
4
  	 localStream = null,userAgent = null,
4
  	 localStream = null,userAgent = null,
5
  	 constraints = {
5
  	 constraints = {
96
  				$(".hwzt").text('通话中');
96
  				$(".hwzt").text('通话中');
97
  			}
97
  			}
98
  			thjsTel=true;
98
  			thjsTel=true;
99
- 			calling();
99
+ 			//calling();
100
 // 			if(stringHr_1){
100
 // 			if(stringHr_1){
101
 // 				var p = '<a href="javascript:;" class="active J_menuTab" data-id="./callScreen/callScreen.html?Number=' + stringHr_1+'">来电弹屏<i class="fa fa-times-circle"></i></a>';
101
 // 				var p = '<a href="javascript:;" class="active J_menuTab" data-id="./callScreen/callScreen.html?Number=' + stringHr_1+'">来电弹屏<i class="fa fa-times-circle"></i></a>';
102
 //				$(".J_menuTab").removeClass("active");
102
 //				$(".J_menuTab").removeClass("active");