Bläddra i källkod

fix TMS-ICP answer PAD

dujunchen 2 veckor sedan
förälder
incheckning
3b08db82e9
2 ändrade filer med 20 tillägg och 7 borttagningar
  1. 19 6
      internal/app/ami/action/index.go
  2. 1 1
      internal/app/stc/broadcast/stc-broadcast.go

+ 19 - 6
internal/app/ami/action/index.go

@@ -76,9 +76,7 @@ func HandleAMI(event map[string]string) {
 			alstatus.AlarmStatus(event["CallerIDNum"], "queue")
 		}
 
-	case "QueueCallerLeave": // Alarm timeout , redirect to OCC
-
-		if utils.IsPAIU(event["CallerIDNum"]) { // caller is PAD
+		if utils.IsPAIU(event["CallerIDNum"]) && event["Queue"] == "0301" { // caller is PAD
 
 			if active.CabNum == "1" && active.Actived {
 				Dial("0401", "0511", "pad-rule-cab1", "ano-1", event["CallerIDNum"], "1") // PACUs dial OCC1
@@ -86,7 +84,18 @@ func HandleAMI(event map[string]string) {
 				Dial("0401", "0512", "pad-rule-cab8", "ano-8", event["CallerIDNum"], "8") // PACUs dial OCC8
 			}
 		}
-
+		/*
+			case "QueueCallerLeave": // Alarm timeout , redirect to OCC
+				lfshook.NewLogger().Infof("====PAD timeout=====%s", event["Event"])
+				if utils.IsPAIU(event["CallerIDNum"]) { // caller is PAD
+
+					if active.CabNum == "1" && active.Actived {
+						Dial("0401", "0511", "pad-rule-cab1", "ano-1", event["CallerIDNum"], "1") // PACUs dial OCC1
+					} else if active.CabNum == "8" && active.Actived {
+						Dial("0401", "0512", "pad-rule-cab8", "ano-8", event["CallerIDNum"], "8") // PACUs dial OCC8
+					}
+				}
+		*/
 	case "ConfbridgeJoin":
 		lfshook.NewLogger().Infof("=========%s", event["Event"])
 		if utils.IsICP(event["CallerIDNum"]) && event["Exten"] == "0500" { // PA start
@@ -154,14 +163,18 @@ func HandleAMI(event map[string]string) {
 	case "BridgeEnter":
 		lfshook.NewLogger().Infof("=========event:%s   callerid:%s", event["Event"], event["CallerIDNum"])
 		//ICP and PACU connected
-		if utils.IsPACU(event["CallerIDNum"]) { //TMS-ICP connected PACU
+		if utils.IsPACU(event["CallerIDNum"]) && utils.IsPAIU(event["CallerIDName"]) { //TMS-ICP connected PACU
 			lfshook.NewLogger().Infof("====BridgeEnter==IN action===%s===ID:%s   Name:%s", event["Event"], event["CallerIDNum"], event["CallerIDName"])
 			alstatus.AlarmStatus(event["CallerIDName"], "connect") // Alarm connected
+
 			if active.CabNum == "1" && active.Actived {
 				go RedirectInQueue(event["CallerIDName"], "2311", "chanspy-rule", "") // 1车TMS-ICP接听PAIU, PAD whisper ICP
 			} else if active.CabNum == "8" && active.Actived {
 				go RedirectInQueue(event["CallerIDName"], "2381", "chanspy-rule", "") // 8车TMS-ICP接听PAIU, PAD whisper ICP
 			}
+		} else if utils.IsPAIU(event["CallerIDNum"]) {
+			lfshook.NewLogger().Infof("====send pad status=====")
+			alstatus.AlarmStatus(event["CallerIDNum"], "connect") // PAD connect ICP-TMS
 		}
 	}
 }
@@ -180,7 +193,7 @@ func StartAMI(connectOKCallBack func(), handleEvents []func(event map[string]str
 		// lfshook.NewLogger().Infof("ami event on %+v", payload[0])
 		event := payload[0].(map[string]string)
 
-		go HandleAMI(event)
+		HandleAMI(event)
 
 		for _, handle := range handleEvents {
 			go handle(event)

+ 1 - 1
internal/app/stc/broadcast/stc-broadcast.go

@@ -456,7 +456,7 @@ func AlarmHandleTMS(data []byte) {
 			lfshook.NewLogger().Logger.Infof("update special voice to exten err : %+v", er.Error())
 		}
 
-		lfshook.NewLogger().Logger.Infof("================TMS Answer PAD================:%s ", exten)
+		lfshook.NewLogger().Logger.Infof("================TMS Answer PAD:%s===PACU:%s========:%s ====%+v", exten, PacuNum, infoExt)
 		if infoExt.Status == "Idle" {
 			if active.CabNum == "1" && active.Actived {
 				action.Dial("0402", PacuNum, "default", PacuNum, exten, "1") // PACU dial ICP MC1