root 1 тиждень тому
батько
коміт
2fec841da5

+ 4 - 1
internal/app/ami/action/call.go

@@ -227,7 +227,10 @@ func InterruptRunningTask(toRunTask string) string {
 		time.Sleep(time.Millisecond * 200)
 	case "EMG":
 		//kick EMG members
-		if toRunTask != "C2C" {
+		if toRunTask == "EMG" {
+			ConfbridgeKick(task.ConfbridgeID, "all")
+			alstatus.PaStatus("", "EMG", "end")
+		} else if toRunTask != "C2C" {
 			EMGConfbridgeKick(task.ConfbridgeID)
 			alstatus.PaStatus("", "EMG", "end")
 		} else if toRunTask == "C2C" {

+ 14 - 0
internal/app/ami/action/index.go

@@ -83,6 +83,10 @@ func HandleAMI(event map[string]string) {
 					}
 
 				} else {
+					if priority.TaskCreating == "PA" {
+						priority.TaskCreating = ""
+					}
+					utils.LoggerDebug.Printf("PA calling failed , check priority return false !")
 					Hangup(event["CallerIDNum"]) //lowwer priority ,hangup caller
 				}
 
@@ -119,6 +123,9 @@ func HandleAMI(event map[string]string) {
 						time.Sleep(time.Millisecond * 100) //wait endpoint release
 					}
 				} else {
+					if priority.TaskCreating == "CPA" {
+						priority.TaskCreating = ""
+					}
 					utils.LoggerDebug.Printf("CPA calling failed , check priority return false !")
 					Hangup(event["CallerIDNum"]) //lowwer priority ,hangup caller
 				}
@@ -160,6 +167,9 @@ func HandleAMI(event map[string]string) {
 
 			} else { // hangup caller; C2C start failed
 				//lfshook.NewLogger().Infof("CabCab  hangup caller %s", event["CallerIDNum"])
+				if priority.TaskCreating == "C2C" {
+					priority.TaskCreating = ""
+				}
 				utils.LoggerDebug.Printf("C2C calling failed , check priority return false !")
 				Hangup(event["CallerIDNum"])
 			}
@@ -654,6 +664,10 @@ func HandleAMI(event map[string]string) {
 				}
 
 			} else {
+				if priority.TaskCreating == "PAD-OCC" {
+					priority.TaskCreating = ""
+				}
+				utils.LoggerDebug.Printf("PAD-OCC calling failed , check priority return false !")
 				lfshook.NewLogger().Infof("====PAD-OCC Priority false===")
 			}
 

+ 28 - 4
internal/app/stc/broadcast/stc-broadcast.go

@@ -183,6 +183,9 @@ func processPacket(packet []byte) {
 				}
 				StationAnn(packet)
 			} else {
+				if priority.TaskCreating == "STN" {
+					priority.TaskCreating = ""
+				}
 				alstatus.PaStatus("", "STN", "refuse")
 			}
 		}
@@ -205,6 +208,9 @@ func processPacket(packet []byte) {
 				}
 				SpecialAnn(packet)
 			} else {
+				if priority.TaskCreating == "SPC" {
+					priority.TaskCreating = ""
+				}
 				alstatus.PaStatus("", "SPC", "refuse")
 			}
 		}
@@ -228,6 +234,9 @@ func processPacket(packet []byte) {
 				}
 				EmgMsg(packet)
 			} else {
+				if priority.TaskCreating == "EMG" {
+					priority.TaskCreating = ""
+				}
 				alstatus.PaStatus("", "EMG", "refuse")
 			}
 		}
@@ -254,13 +263,16 @@ func processPacket(packet []byte) {
 				}
 				DcsAnn(packet)
 			} else {
+				if priority.TaskCreating == "DCS" {
+					priority.TaskCreating = ""
+				}
 				alstatus.PaStatus("", "DCS", "refuse")
 			}
-		}
 
-		time.Sleep(3 * time.Second)
-		if priority.TaskCreating == "DCS" {
-			priority.TaskCreating = ""
+			time.Sleep(3 * time.Second)
+			if priority.TaskCreating == "DCS" {
+				priority.TaskCreating = ""
+			}
 		}
 
 	case 0x09: // SELF CHECK
@@ -277,6 +289,9 @@ func processPacket(packet []byte) {
 				}
 				SelfCheck(packet)
 			} else {
+				if priority.TaskCreating == "CHK" {
+					priority.TaskCreating = ""
+				}
 				alstatus.PaStatus("", "CHK", "refuse")
 			}
 		}
@@ -299,6 +314,9 @@ func processPacket(packet []byte) {
 				}
 				ToneTest(packet)
 			} else {
+				if priority.TaskCreating == "VOL" {
+					priority.TaskCreating = ""
+				}
 				alstatus.PaStatus("", "VOL", "refuse")
 			}
 		}
@@ -353,6 +371,9 @@ func processPacket(packet []byte) {
 
 				AlarmHandleTMS(packet)
 			} else {
+				if priority.TaskCreating == "PAD-TMS" {
+					priority.TaskCreating = ""
+				}
 				alstatus.PaStatus("", "PAD-TMS", "refuse")
 			}
 		} else { //hangup + hold
@@ -419,6 +440,9 @@ func processPacket(packet []byte) {
 
 				AlarmHandleICP(packet)
 			} else {
+				if priority.TaskCreating == "PAD-ICP" {
+					priority.TaskCreating = ""
+				}
 				alstatus.PaStatus("", "PAD-ICP", "refuse")
 			}
 		} else { //hangup + hold