dujunchen 1 kuukausi sitten
vanhempi
commit
ba9ac4d666

+ 13 - 3
internal/app/ami/action/call.go

@@ -149,7 +149,7 @@ func InterruptRunningTask(toRunTask string) {
 		}
 	}
 
-	//lfshook.NewLogger().Infof("InterruptRunningTask RunningTask:%+v  ", task)
+	lfshook.NewLogger().Infof("InterruptRunningTask RunningTask:%+v  ", task)
 	//same type return
 	if toRunTask == taskName {
 		if toRunTask == "PAD-ICP" || toRunTask == "PAD-TMS" || toRunTask == "PAD-OCC" {
@@ -172,15 +172,25 @@ func InterruptRunningTask(toRunTask string) {
 	}
 
 	switch task.RunType {
+	case "DCS":
+		if toRunTask == "STN" {
+			return
+		}
+	case "STN":
+		if toRunTask == "DCS" {
+			return
+		}
 	case "CPA":
 		//kick CPA members
 		if toRunTask != "C2C" {
 			CPAConfbridgeKick(task.ConfbridgeID)
+			alstatus.PaStatus("", "CPA", "end")
 		}
 	case "EMG":
 		//kick EMG members
 		if toRunTask != "C2C" {
 			EMGConfbridgeKick(task.ConfbridgeID)
+			alstatus.PaStatus("", "EMG", "end")
 		}
 	case "C2C": // Interrupt C2C task running,
 		if toRunTask == "PA" || toRunTask == "PAD-ICP" || toRunTask == "PAD-TMS" {
@@ -209,13 +219,13 @@ func InterruptRunningTask(toRunTask string) {
 			if utils.IsPAIU(ret.CallerIDNum) {
 				lfshook.NewLogger().Infof("====interrupt PAD ==== %+v ", ret)
 
-				if utils.IsICP(ret.ConnectedLineNum) { //redirect pad chanspy channel
+				if ret.ConnectedLineNum == "<unknown>" { //redirect pad chanspy channel
 					err := Redirect(ret.Channel, "0300", "queues-icp-redirect", "", "PAD")
 					if err != nil {
 						lfshook.NewLogger().Infof("InterruptRunningTask Redirect err:%+v", err)
 						return
 					}
-
+					lfshook.NewLogger().Infof("====interrupt PAD =1111=== %+v ", ret)
 					number := strings.Split(strings.Split(ret.Channel, "-")[0], "/")[1]
 					active.NotifyPaiu(number, "hold")
 					//HangupAllLocalChan()

+ 20 - 2
internal/app/ami/action/index.go

@@ -39,9 +39,11 @@ func HandleAMI(event map[string]string) {
 				InterruptRunningTask("PA")
 				time.Sleep(time.Millisecond * 200) //wait endpoimt release
 			case "*": //Cab cab interrupt PAD
-				//lfshook.NewLogger().Infof("===Cab cab interrupt PAD====== ")
+				lfshook.NewLogger().Infof("===Cab cab interrupt PAD and====== ")
 
-				InterruptRunningTask("C2C")
+				//InterruptRunningTask("C2C")
+				Hangup("3211")
+				Hangup("3281")
 				time.Sleep(time.Millisecond * 100) //wait endpoimt release
 			}
 		}
@@ -407,8 +409,10 @@ func HandleAMI(event map[string]string) {
 						if ok {
 							if taskName == "EMG" {
 								EMGConfbridgeReinvite(task.ConfbridgeID)
+								alstatus.PaStatus("", "EMG", "start")
 							} else if taskName == "CPA" {
 								CPAConfbridgeReinvite(task.ConfbridgeID)
+								alstatus.PaStatus("", "CPA", "start")
 							}
 						}
 					}
@@ -859,8 +863,10 @@ func HandleAMI(event map[string]string) {
 			if ok {
 				if taskName == "EMG" {
 					EMGConfbridgeReinvite(task.ConfbridgeID)
+					alstatus.PaStatus("", "EMG", "start")
 				} else if taskName == "CPA" {
 					CPAConfbridgeReinvite(task.ConfbridgeID)
+					alstatus.PaStatus("", "CPA", "start")
 				}
 			}
 
@@ -880,6 +886,7 @@ func HandleAMI(event map[string]string) {
 			if ok {
 				if taskName == "EMG" {
 					EMGConfbridgeReinvite(task.ConfbridgeID)
+					alstatus.PaStatus("", "EMG", "start")
 				}
 			}
 
@@ -919,8 +926,10 @@ func HandleAMI(event map[string]string) {
 			if ok {
 				if taskName == "CPA" {
 					CPAConfbridgeReinvite(task.ConfbridgeID)
+					alstatus.PaStatus("", "CPA", "start")
 				} else if taskName == "EMG" {
 					EMGConfbridgeReinvite(task.ConfbridgeID)
+					alstatus.PaStatus("", "EMG", "start")
 				}
 			}
 
@@ -940,8 +949,11 @@ func HandleAMI(event map[string]string) {
 			if ok {
 				if taskName == "CPA" {
 					CPAConfbridgeReinvite(task.ConfbridgeID)
+					alstatus.PaStatus("", "CPA", "start")
 				} else if taskName == "EMG" {
 					EMGConfbridgeReinvite(task.ConfbridgeID)
+					alstatus.PaStatus("", "EMG", "start")
+					//alstatus.PaStatus("", "EMG", "start")
 				}
 			}
 
@@ -961,8 +973,10 @@ func HandleAMI(event map[string]string) {
 			if ok {
 				if taskName == "CPA" {
 					CPAConfbridgeReinvite(task.ConfbridgeID)
+					alstatus.PaStatus("", "CPA", "start")
 				} else if taskName == "EMG" {
 					EMGConfbridgeReinvite(task.ConfbridgeID)
+					alstatus.PaStatus("", "EMG", "start")
 				}
 			}
 
@@ -982,8 +996,10 @@ func HandleAMI(event map[string]string) {
 			if ok {
 				if taskName == "CPA" {
 					CPAConfbridgeReinvite(task.ConfbridgeID)
+					alstatus.PaStatus("", "CPA", "start")
 				} else if taskName == "EMG" {
 					EMGConfbridgeReinvite(task.ConfbridgeID)
+					alstatus.PaStatus("", "EMG", "start")
 				}
 			}
 
@@ -1003,8 +1019,10 @@ func HandleAMI(event map[string]string) {
 			if ok {
 				if taskName == "CPA" {
 					CPAConfbridgeReinvite(task.ConfbridgeID)
+					alstatus.PaStatus("", "CPA", "start")
 				} else if taskName == "EMG" {
 					EMGConfbridgeReinvite(task.ConfbridgeID)
+					alstatus.PaStatus("", "EMG", "start")
 				}
 			}
 		}

+ 2 - 0
internal/app/stc/broadcast/stc-broadcast.go

@@ -381,6 +381,8 @@ func Active(data [3]byte) {
 		if utils.CheckAsterisk() {
 			utils.ExecCmd("/etc/init.d/asterisk", "stop", "PBX")
 		}
+	} else if master == 1 && active.CabNum == "8" {
+		active.Master = false
 	}
 
 	//Set train info

+ 7 - 2
internal/app/stc/priority/index.go

@@ -141,9 +141,14 @@ func CheckPriority(runType string) bool {
 			case "SPC":
 				return true
 			case "DCS":
-				return true
+				if taskRuning.RunType == "STN" {
+					return false
+				}
+				//return true
 			case "STN":
-				return true
+				if taskRuning.RunType == "DCS" {
+					return false
+				}
 			case "CHK":
 				return true
 			case "VOL":