|
@@ -34,16 +34,13 @@ func HandleAMI(event map[string]string) {
|
|
|
switch event["Digit"] {
|
|
switch event["Digit"] {
|
|
|
case "#":
|
|
case "#":
|
|
|
lfshook.NewLogger().Infof("===PA interrupt PAD====== ")
|
|
lfshook.NewLogger().Infof("===PA interrupt PAD====== ")
|
|
|
- lfshook.NewLogger().Infof("====ListAll1=====%+v", priority.RegistryTask.ListAll())
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
InterruptRunningTask("PA")
|
|
InterruptRunningTask("PA")
|
|
|
- lfshook.NewLogger().Infof("====ListAll2=====%+v", priority.RegistryTask.ListAll())
|
|
|
|
|
|
|
+
|
|
|
case "*": //Cab cab interrupt PAD
|
|
case "*": //Cab cab interrupt PAD
|
|
|
lfshook.NewLogger().Infof("===Cab cab interrupt PAD====== ")
|
|
lfshook.NewLogger().Infof("===Cab cab interrupt PAD====== ")
|
|
|
- lfshook.NewLogger().Infof("====ListAll1=====%+v", priority.RegistryTask.ListAll())
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
InterruptRunningTask("C2C")
|
|
InterruptRunningTask("C2C")
|
|
|
- lfshook.NewLogger().Infof("====ListAll2=====%+v", priority.RegistryTask.ListAll())
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -220,7 +217,6 @@ func HandleAMI(event map[string]string) {
|
|
|
lfshook.NewLogger().Infof("====Hangup OCC-PAD=====%+v", event)
|
|
lfshook.NewLogger().Infof("====Hangup OCC-PAD=====%+v", event)
|
|
|
|
|
|
|
|
// OCC hangup detected, hangup other running channels
|
|
// OCC hangup detected, hangup other running channels
|
|
|
- //HangupAllLocalChan()
|
|
|
|
|
InterruptRunningTask("PAD-OCC")
|
|
InterruptRunningTask("PAD-OCC")
|
|
|
|
|
|
|
|
res, _ := QueueStatus("0301", "") // check OCC queue ,if empty PAD end
|
|
res, _ := QueueStatus("0301", "") // check OCC queue ,if empty PAD end
|
|
@@ -246,8 +242,8 @@ func HandleAMI(event map[string]string) {
|
|
|
|
|
|
|
|
break
|
|
break
|
|
|
} else { //OCC queue is not empty
|
|
} else { //OCC queue is not empty
|
|
|
- // HangupAllLocalChan()
|
|
|
|
|
- time.Sleep(time.Millisecond * 300)
|
|
|
|
|
|
|
+
|
|
|
|
|
+ time.Sleep(time.Millisecond * 100) //wait io idle
|
|
|
lfshook.NewLogger().Infof("====Start OCC-PAD===next==%+v", res)
|
|
lfshook.NewLogger().Infof("====Start OCC-PAD===next==%+v", res)
|
|
|
if active.ActivedCab == "1" && ExtenStatus("1411") == "Idle" { //check active and OCC status
|
|
if active.ActivedCab == "1" && ExtenStatus("1411") == "Idle" { //check active and OCC status
|
|
|
time.Sleep(time.Second)
|
|
time.Sleep(time.Second)
|
|
@@ -312,8 +308,9 @@ func HandleAMI(event map[string]string) {
|
|
|
|
|
|
|
|
if priority.PADStart == 1 {
|
|
if priority.PADStart == 1 {
|
|
|
//SetPadTimer()
|
|
//SetPadTimer()
|
|
|
- alstatus.PaStatus(event["CallerIDNum"], "PAD", "end")
|
|
|
|
|
|
|
+ alstatus.PaStatus("", "PAD", "end")
|
|
|
priority.PADStart = 0
|
|
priority.PADStart = 0
|
|
|
|
|
+ priority.PADTMSStart = 0
|
|
|
|
|
|
|
|
//clean confbridge
|
|
//clean confbridge
|
|
|
//PAD-ICP
|
|
//PAD-ICP
|
|
@@ -433,28 +430,12 @@ func HandleAMI(event map[string]string) {
|
|
|
|
|
|
|
|
time.Sleep(time.Millisecond * 300)
|
|
time.Sleep(time.Millisecond * 300)
|
|
|
if active.ActivedCab == "1" && ExtenStatus("1411") == "Idle" { //check active and OCC status
|
|
if active.ActivedCab == "1" && ExtenStatus("1411") == "Idle" { //check active and OCC status
|
|
|
- /*if priority.PADOccStart == 0 {
|
|
|
|
|
- alstatus.OccPad("start")
|
|
|
|
|
- priority.PADOccStart = 1
|
|
|
|
|
- if priority.PADStart == 0 {
|
|
|
|
|
- alstatus.PaStatus(event["CallerIDNum"], "PAD", "start")
|
|
|
|
|
- priority.PADStart = 1
|
|
|
|
|
- }
|
|
|
|
|
- }*/
|
|
|
|
|
|
|
|
|
|
alstatus.AlarmStatus(event["CallerIDNum"], "connect")
|
|
alstatus.AlarmStatus(event["CallerIDNum"], "connect")
|
|
|
go RedirectInQueue(event["Channel"], "1411", "pad-page-occ-icp", event["CallerIDNum"]) //PAD Page(OCC+ICPs)
|
|
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
|
|
go Dial("0401", "0512", "pad-rule-pacus-occ", "ano1", "ano1", "1") // PACUs dial OCC1
|
|
|
|
|
|
|
|
} else if active.ActivedCab == "8" && ExtenStatus("1481") == "Idle" {
|
|
} else if active.ActivedCab == "8" && ExtenStatus("1481") == "Idle" {
|
|
|
- /*if priority.PADOccStart == 0 {
|
|
|
|
|
- alstatus.OccPad("start")
|
|
|
|
|
- priority.PADOccStart = 1
|
|
|
|
|
- if priority.PADStart == 0 {
|
|
|
|
|
- alstatus.PaStatus(event["CallerIDNum"], "PAD", "start")
|
|
|
|
|
- priority.PADStart = 1
|
|
|
|
|
- }
|
|
|
|
|
- }*/
|
|
|
|
|
|
|
|
|
|
alstatus.AlarmStatus(event["CallerIDNum"], "connect")
|
|
alstatus.AlarmStatus(event["CallerIDNum"], "connect")
|
|
|
go RedirectInQueue(event["Channel"], "1481", "pad-page-occ-icp", event["CallerIDNum"]) //PAD Page(OCC+ICPs)
|
|
go RedirectInQueue(event["Channel"], "1481", "pad-page-occ-icp", event["CallerIDNum"]) //PAD Page(OCC+ICPs)
|
|
@@ -688,7 +669,7 @@ func HandleAMI(event map[string]string) {
|
|
|
Running: true,
|
|
Running: true,
|
|
|
}
|
|
}
|
|
|
priority.RegistryTask.Register("PAD-ICP", task)
|
|
priority.RegistryTask.Register("PAD-ICP", task)
|
|
|
-
|
|
|
|
|
|
|
+ lfshook.NewLogger().Infof("=========PAD-ICP answer==ListAll===%+v", priority.RegistryTask.ListAll())
|
|
|
go RedirectInQueue(event["ConnectedLineName"], "2311", "chanspy-rule-whisper", event["ConnectedLineName"]) //PAD chanspy(EqW) ICP1
|
|
go RedirectInQueue(event["ConnectedLineName"], "2311", "chanspy-rule-whisper", event["ConnectedLineName"]) //PAD chanspy(EqW) ICP1
|
|
|
|
|
|
|
|
if ExtenStatus("2381") == "Idle" {
|
|
if ExtenStatus("2381") == "Idle" {
|
|
@@ -709,7 +690,7 @@ func HandleAMI(event map[string]string) {
|
|
|
Running: true,
|
|
Running: true,
|
|
|
}
|
|
}
|
|
|
priority.RegistryTask.Register("PAD-ICP", task)
|
|
priority.RegistryTask.Register("PAD-ICP", task)
|
|
|
-
|
|
|
|
|
|
|
+ lfshook.NewLogger().Infof("=========PAD-ICP answer==ListAll===%+v", priority.RegistryTask.ListAll())
|
|
|
go RedirectInQueue(event["ConnectedLineName"], "2381", "chanspy-rule-whisper", event["ConnectedLineName"]) //PAD chanspy(EqW) ICP8
|
|
go RedirectInQueue(event["ConnectedLineName"], "2381", "chanspy-rule-whisper", event["ConnectedLineName"]) //PAD chanspy(EqW) ICP8
|
|
|
|
|
|
|
|
if ExtenStatus("2311") == "Idle" {
|
|
if ExtenStatus("2311") == "Idle" {
|
|
@@ -776,7 +757,7 @@ func HandleAMI(event map[string]string) {
|
|
|
//lfshook.NewLogger().Infof("=========%s", event["Event"])
|
|
//lfshook.NewLogger().Infof("=========%s", event["Event"])
|
|
|
} else if event["CallerIDName"] == "EMG" && event["Exten"] == "0502" { // EMG broadcast hangup
|
|
} else if event["CallerIDName"] == "EMG" && event["Exten"] == "0502" { // EMG broadcast hangup
|
|
|
|
|
|
|
|
- alstatus.PaStatus(event["CallerIDName"], "EMG", "end")
|
|
|
|
|
|
|
+ alstatus.PaStatus("", "EMG", "end")
|
|
|
|
|
|
|
|
//EMG
|
|
//EMG
|
|
|
taskTmp, ok := priority.RegistryTask.Get("EMG")
|
|
taskTmp, ok := priority.RegistryTask.Get("EMG")
|
|
@@ -795,7 +776,7 @@ func HandleAMI(event map[string]string) {
|
|
|
|
|
|
|
|
} else if event["CallerIDName"] == "STN" && event["Exten"] == "0503" {
|
|
} else if event["CallerIDName"] == "STN" && event["Exten"] == "0503" {
|
|
|
|
|
|
|
|
- alstatus.PaStatus(event["CallerIDName"], "STN", "end")
|
|
|
|
|
|
|
+ alstatus.PaStatus("", "STN", "end")
|
|
|
|
|
|
|
|
//STN
|
|
//STN
|
|
|
taskTmp, ok := priority.RegistryTask.Get("STN")
|
|
taskTmp, ok := priority.RegistryTask.Get("STN")
|
|
@@ -816,7 +797,7 @@ func HandleAMI(event map[string]string) {
|
|
|
|
|
|
|
|
} else if event["CallerIDName"] == "DCS" && event["Exten"] == "0504" {
|
|
} else if event["CallerIDName"] == "DCS" && event["Exten"] == "0504" {
|
|
|
|
|
|
|
|
- alstatus.PaStatus(event["CallerIDName"], "DCS", "end")
|
|
|
|
|
|
|
+ alstatus.PaStatus("", "DCS", "end")
|
|
|
|
|
|
|
|
//DSC
|
|
//DSC
|
|
|
taskTmp, ok := priority.RegistryTask.Get("DCS")
|
|
taskTmp, ok := priority.RegistryTask.Get("DCS")
|
|
@@ -837,7 +818,7 @@ func HandleAMI(event map[string]string) {
|
|
|
|
|
|
|
|
} else if event["CallerIDName"] == "SPC" && event["Exten"] == "0505" {
|
|
} else if event["CallerIDName"] == "SPC" && event["Exten"] == "0505" {
|
|
|
|
|
|
|
|
- alstatus.PaStatus(event["CallerIDName"], "SPC", "end")
|
|
|
|
|
|
|
+ alstatus.PaStatus("", "SPC", "end")
|
|
|
|
|
|
|
|
//SPC
|
|
//SPC
|
|
|
taskTmp, ok := priority.RegistryTask.Get("SPC")
|
|
taskTmp, ok := priority.RegistryTask.Get("SPC")
|
|
@@ -858,7 +839,7 @@ func HandleAMI(event map[string]string) {
|
|
|
|
|
|
|
|
} else if event["CallerIDName"] == "CHK" && event["Exten"] == "0510" {
|
|
} else if event["CallerIDName"] == "CHK" && event["Exten"] == "0510" {
|
|
|
|
|
|
|
|
- alstatus.PaStatus(event["CallerIDName"], "CHK", "end")
|
|
|
|
|
|
|
+ alstatus.PaStatus("", "CHK", "end")
|
|
|
|
|
|
|
|
//CHK
|
|
//CHK
|
|
|
taskTmp, ok := priority.RegistryTask.Get("CHK")
|
|
taskTmp, ok := priority.RegistryTask.Get("CHK")
|
|
@@ -879,7 +860,7 @@ func HandleAMI(event map[string]string) {
|
|
|
|
|
|
|
|
} else if event["CallerIDName"] == "VOL" && event["Exten"] == "0513" {
|
|
} else if event["CallerIDName"] == "VOL" && event["Exten"] == "0513" {
|
|
|
|
|
|
|
|
- alstatus.PaStatus(event["CallerIDName"], "VOL", "end")
|
|
|
|
|
|
|
+ alstatus.PaStatus("", "VOL", "end")
|
|
|
|
|
|
|
|
//VOL
|
|
//VOL
|
|
|
taskTmp, ok := priority.RegistryTask.Get("VOL")
|
|
taskTmp, ok := priority.RegistryTask.Get("VOL")
|
|
@@ -902,7 +883,7 @@ func HandleAMI(event map[string]string) {
|
|
|
case "DialEnd":
|
|
case "DialEnd":
|
|
|
//lfshook.NewLogger().Infof("=========%s", event["Event"])
|
|
//lfshook.NewLogger().Infof("=========%s", event["Event"])
|
|
|
//Cab Cab start
|
|
//Cab Cab start
|
|
|
- if utils.IsICP(event["CallerIDNum"]) && utils.IsICP(event["ConnectedLineNum"]) && event["DialStatus"] == "ANSWER" {
|
|
|
|
|
|
|
+ if utils.IsICP(event["CallerIDNum"]) && event["Exten"] == " 0400" && event["DialStatus"] == "ANSWER" {
|
|
|
|
|
|
|
|
//================================
|
|
//================================
|
|
|
task := priority.TaskInfo{
|
|
task := priority.TaskInfo{
|
|
@@ -967,25 +948,12 @@ func HandleAMI(event map[string]string) {
|
|
|
|
|
|
|
|
case "BridgeEnter": // TMS-ICP answer PAD; PACU connect ICP
|
|
case "BridgeEnter": // TMS-ICP answer PAD; PACU connect ICP
|
|
|
lfshook.NewLogger().Infof("=========event:%s callerid:%s", event["Event"], event["CallerIDNum"])
|
|
lfshook.NewLogger().Infof("=========event:%s callerid:%s", event["Event"], event["CallerIDNum"])
|
|
|
|
|
+
|
|
|
|
|
+ //PAD-OCC start
|
|
|
if utils.IsIO(event["CallerIDNum"]) && utils.IsPAIU(event["ConnectedLineNum"]) {
|
|
if utils.IsIO(event["CallerIDNum"]) && utils.IsPAIU(event["ConnectedLineNum"]) {
|
|
|
if priority.PADOccStart == 0 {
|
|
if priority.PADOccStart == 0 {
|
|
|
alstatus.OccPad("start")
|
|
alstatus.OccPad("start")
|
|
|
-
|
|
|
|
|
priority.PADOccStart = 1
|
|
priority.PADOccStart = 1
|
|
|
- if priority.PADStart == 0 {
|
|
|
|
|
- alstatus.PaStatus(event["CallerIDNum"], "PAD", "start")
|
|
|
|
|
- priority.PADStart = 1
|
|
|
|
|
-
|
|
|
|
|
- task := priority.TaskInfo{
|
|
|
|
|
- RunChannel: event["Channel"],
|
|
|
|
|
- LocalChan: event["Channel"],
|
|
|
|
|
- RunType: "PAD-OCC",
|
|
|
|
|
- Priority: priority.AllTasks.PADTMS.Priority,
|
|
|
|
|
- ConfbridgeID: "",
|
|
|
|
|
- Running: true,
|
|
|
|
|
- }
|
|
|
|
|
- priority.RegistryTask.Register("PAD-OCC", task)
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -993,6 +961,19 @@ func HandleAMI(event map[string]string) {
|
|
|
lfshook.NewLogger().Infof("====BridgeEnter==IN action===%s===ID:%s Name:%s", event["Event"], event["CallerIDNum"], event["CallerIDName"])
|
|
lfshook.NewLogger().Infof("====BridgeEnter==IN action===%s===ID:%s Name:%s", event["Event"], event["CallerIDNum"], event["CallerIDName"])
|
|
|
alstatus.AlarmStatus(event["CallerIDName"], "connect") // Alarm connected
|
|
alstatus.AlarmStatus(event["CallerIDName"], "connect") // Alarm connected
|
|
|
|
|
|
|
|
|
|
+ //=============================
|
|
|
|
|
+ task := priority.TaskInfo{
|
|
|
|
|
+ RunChannel: event["Channel"],
|
|
|
|
|
+ LocalChan: event["Channel"],
|
|
|
|
|
+ RunType: "PAD-TMS",
|
|
|
|
|
+ Priority: priority.AllTasks.PADTMS.Priority,
|
|
|
|
|
+ ConfbridgeID: "",
|
|
|
|
|
+ Running: true,
|
|
|
|
|
+ }
|
|
|
|
|
+ priority.RegistryTask.Register("PAD-TMS", task)
|
|
|
|
|
+
|
|
|
|
|
+ lfshook.NewLogger().Infof("=========PAD-TMS answer==ListAll===%+v", priority.RegistryTask.ListAll())
|
|
|
|
|
+
|
|
|
if active.ActivedCab == "1" {
|
|
if active.ActivedCab == "1" {
|
|
|
go RedirectInQueue(event["CallerIDName"], "2311", "chanspy-rule-whisper", "") //PAD chanspy(EqW) ICP1
|
|
go RedirectInQueue(event["CallerIDName"], "2311", "chanspy-rule-whisper", "") //PAD chanspy(EqW) ICP1
|
|
|
go Dial("0403", event["CallerIDName"], "call-pad-rule", "2381", "2381", "8") //ICP8---call----PAD
|
|
go Dial("0403", event["CallerIDName"], "call-pad-rule", "2381", "2381", "8") //ICP8---call----PAD
|
|
@@ -1003,6 +984,19 @@ func HandleAMI(event map[string]string) {
|
|
|
|
|
|
|
|
} else if utils.IsPAIU(event["CallerIDNum"]) && event["Exten"] == "0405" { // PAD connect ICP-TMS;PACU not available
|
|
} else if utils.IsPAIU(event["CallerIDNum"]) && event["Exten"] == "0405" { // PAD connect ICP-TMS;PACU not available
|
|
|
lfshook.NewLogger().Infof("====send pad status=====")
|
|
lfshook.NewLogger().Infof("====send pad status=====")
|
|
|
|
|
+
|
|
|
|
|
+ //=============================
|
|
|
|
|
+ task := priority.TaskInfo{
|
|
|
|
|
+ RunChannel: event["Channel"],
|
|
|
|
|
+ LocalChan: event["Channel"],
|
|
|
|
|
+ RunType: "PAD-TMS",
|
|
|
|
|
+ Priority: priority.AllTasks.PADTMS.Priority,
|
|
|
|
|
+ ConfbridgeID: "",
|
|
|
|
|
+ Running: true,
|
|
|
|
|
+ }
|
|
|
|
|
+ priority.RegistryTask.Register("PAD-TMS", task)
|
|
|
|
|
+ lfshook.NewLogger().Infof("=========PAD-TMS answer==ListAll===%+v", priority.RegistryTask.ListAll())
|
|
|
|
|
+
|
|
|
alstatus.AlarmStatus(event["CallerIDNum"], "connect") // PAD connect ICP-TMS
|
|
alstatus.AlarmStatus(event["CallerIDNum"], "connect") // PAD connect ICP-TMS
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|