|
|
@@ -42,8 +42,8 @@ func HandleAMI(event map[string]string) {
|
|
|
lfshook.NewLogger().Infof("===Cab cab interrupt PAD and====== ")
|
|
|
|
|
|
//InterruptRunningTask("C2C")
|
|
|
- Hangup("3211")
|
|
|
- Hangup("3281")
|
|
|
+ Hangup("2311")
|
|
|
+ Hangup("2381")
|
|
|
time.Sleep(time.Millisecond * 100) //wait endpoimt release
|
|
|
}
|
|
|
}
|
|
|
@@ -70,7 +70,11 @@ func HandleAMI(event map[string]string) {
|
|
|
|
|
|
} else if utils.IsIO(event["CallerIDNum"]) { // CPA
|
|
|
if priority.CheckPriority("CPA") {
|
|
|
- if active.RadioFault == 0 {
|
|
|
+
|
|
|
+ lfshook.NewLogger().Infof("========event:%s ========devide:%d", event["Event"], active.TrainDevide)
|
|
|
+ if active.TrainDevide == 1 || active.RadioFault == 1 { // 列车没有断开的情况下限制如下;列车断开之后CPA无任何限制
|
|
|
+ lfshook.NewLogger().Infof("===active.TrainDevide == 1 || active.RadioFault == 1====")
|
|
|
+ } else {
|
|
|
if active.ActivedCab == "" { //No active Signal on both side,Hangup caller
|
|
|
Hangup(event["CallerIDNum"])
|
|
|
} else if active.ActivedCab == "1" && event["CallerIDNum"] == "1411" {
|
|
|
@@ -78,7 +82,7 @@ func HandleAMI(event map[string]string) {
|
|
|
} else if active.ActivedCab == "8" && event["CallerIDNum"] == "1481" {
|
|
|
Hangup(event["CallerIDNum"])
|
|
|
}
|
|
|
- } //Radio 故障时CPA无任何发起限制
|
|
|
+ }
|
|
|
|
|
|
//hangup others if priority is higher
|
|
|
InterruptRunningTask("CPA") //CPA interrupt other
|
|
|
@@ -538,17 +542,33 @@ func HandleAMI(event map[string]string) {
|
|
|
priority.OCCAnswer = 1
|
|
|
|
|
|
time.Sleep(time.Millisecond * 300)
|
|
|
- if active.ActivedCab == "1" && ExtenStatus("1411") == "Idle" { //check active and OCC status
|
|
|
|
|
|
- alstatus.AlarmStatus(event["CallerIDNum"], "connect")
|
|
|
- go RedirectInQueue(event["Channel"], "1411", "pad-page-occ-icp", event["CallerIDNum"]) //PAD Page(OCC+ICPs)
|
|
|
- go Dial("0401", "0512", "pad-rule-pacus-occ", "ano1", "ano1", "1") // PACUs dial OCC1
|
|
|
+ if active.TrainDevide == 0 { //列车没有断开
|
|
|
+ if active.ActivedCab == "1" && ExtenStatus("1411") == "Idle" { //check active and OCC status
|
|
|
|
|
|
- } else if active.ActivedCab == "8" && ExtenStatus("1481") == "Idle" {
|
|
|
+ alstatus.AlarmStatus(event["CallerIDNum"], "connect")
|
|
|
+ go RedirectInQueue(event["Channel"], "1411", "pad-page-occ-icp", event["CallerIDNum"]) //PAD Page(OCC+ICPs)
|
|
|
+ go Dial("0401", "0512", "pad-rule-pacus-occ", "ano1", "ano1", "1") // PACUs dial OCC1
|
|
|
+
|
|
|
+ } else if active.ActivedCab == "8" && ExtenStatus("1481") == "Idle" {
|
|
|
|
|
|
- alstatus.AlarmStatus(event["CallerIDNum"], "connect")
|
|
|
- go RedirectInQueue(event["Channel"], "1481", "pad-page-occ-icp", event["CallerIDNum"]) //PAD Page(OCC+ICPs)
|
|
|
- go Dial("0401", "0512", "pad-rule-pacus-occ", "ano8", "ano8", "8") // PACUs dial OCC8
|
|
|
+ alstatus.AlarmStatus(event["CallerIDNum"], "connect")
|
|
|
+ go RedirectInQueue(event["Channel"], "1481", "pad-page-occ-icp", event["CallerIDNum"]) //PAD Page(OCC+ICPs)
|
|
|
+ go Dial("0401", "0512", "pad-rule-pacus-occ", "ano8", "ano8", "8") // PACUs dial OCC8
|
|
|
+ }
|
|
|
+ } else { //列车断开模式下
|
|
|
+ if active.ActivedCab == "1" && ExtenStatus("1411") == "Idle" { //check active and OCC status
|
|
|
+
|
|
|
+ alstatus.AlarmStatus(event["CallerIDNum"], "connect")
|
|
|
+ go RedirectInQueue(event["Channel"], "1411", "pad-page-occ-icp", event["CallerIDNum"]) //PAD Page(OCC+ICPs)
|
|
|
+ go Dial("0401", "0512", "pad-rule-pacus-occ", "ano1", "ano1", "1") // PACUs dial OCC1
|
|
|
+
|
|
|
+ } else if active.ActivedCab == "8" && ExtenStatus("1481") == "Idle" {
|
|
|
+
|
|
|
+ alstatus.AlarmStatus(event["CallerIDNum"], "connect")
|
|
|
+ go RedirectInQueue(event["Channel"], "1481", "pad-page-occ-icp", event["CallerIDNum"]) //PAD Page(OCC+ICPs)
|
|
|
+ go Dial("0401", "0512", "pad-rule-pacus-occ", "ano8", "ano8", "8") // PACUs dial OCC8
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
lfshook.NewLogger().Infof("====PAD-OCC Priority false===")
|