|
@@ -98,9 +98,21 @@ func HandleAMI(event map[string]string) {
|
|
|
alstatus.OccPad("end")
|
|
alstatus.OccPad("end")
|
|
|
break
|
|
break
|
|
|
} else { //OCC queue is not empty
|
|
} else { //OCC queue is not empty
|
|
|
- if active.CabNum == "1" && active.Actived && ExtenStatus("1411") == "Idle" { //check active and OCC status
|
|
|
|
|
|
|
+ var extOCC1 model.Extension
|
|
|
|
|
+ _, er := mysql.DBOrmInstance.Where("exten = ?", "1411").Get(&extOCC1)
|
|
|
|
|
+ if er != nil {
|
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("update special voice to exten err : %+v", er.Error())
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ var extOCC8 model.Extension
|
|
|
|
|
+ _, er = mysql.DBOrmInstance.Where("exten = ?", "1481").Get(&extOCC8)
|
|
|
|
|
+ if er != nil {
|
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("update special voice to exten err : %+v", er.Error())
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if active.CabNum == "1" && active.Actived && extOCC1.Status == "Idle" { //check active and OCC status
|
|
|
Dial("0401", "0512", "pad-rule-pacus-occ", "ano1", event["CallerIDNum"], "1") // PACUs dial OCC1
|
|
Dial("0401", "0512", "pad-rule-pacus-occ", "ano1", event["CallerIDNum"], "1") // PACUs dial OCC1
|
|
|
- } else if active.CabNum == "8" && active.Actived && ExtenStatus("1481") == "Idle" {
|
|
|
|
|
|
|
+ } else if active.CabNum == "8" && active.Actived && extOCC8.Status == "Idle" {
|
|
|
Dial("0401", "0512", "pad-rule-pacus-occ", "ano8", event["CallerIDNum"], "8") // PACUs dial OCC8
|
|
Dial("0401", "0512", "pad-rule-pacus-occ", "ano8", event["CallerIDNum"], "8") // PACUs dial OCC8
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -140,12 +152,24 @@ func HandleAMI(event map[string]string) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//first caller goto OCC
|
|
//first caller goto OCC
|
|
|
|
|
+ var extOCC1 model.Extension
|
|
|
|
|
+ _, er := mysql.DBOrmInstance.Where("exten = ?", "1411").Get(&extOCC1)
|
|
|
|
|
+ if er != nil {
|
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("update special voice to exten err : %+v", er.Error())
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ var extOCC8 model.Extension
|
|
|
|
|
+ _, er = mysql.DBOrmInstance.Where("exten = ?", "1481").Get(&extOCC8)
|
|
|
|
|
+ if er != nil {
|
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("update special voice to exten err : %+v", er.Error())
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if utils.IsPAIU(event["CallerIDNum"]) && event["Queue"] == "0301" && priority.OCCAnswer == 0 { // The first PAD to OCC ,caller is PAD
|
|
if utils.IsPAIU(event["CallerIDNum"]) && event["Queue"] == "0301" && priority.OCCAnswer == 0 { // The first PAD to OCC ,caller is PAD
|
|
|
- if active.CabNum == "1" && active.Actived && ExtenStatus("1411") == "Idle" { //check active and OCC status
|
|
|
|
|
|
|
+ if active.CabNum == "1" && active.Actived && extOCC1.Status == "Idle" { //check active and OCC status
|
|
|
priority.OCCAnswer = 1
|
|
priority.OCCAnswer = 1
|
|
|
alstatus.OccPad("start")
|
|
alstatus.OccPad("start")
|
|
|
Dial("0401", "0512", "pad-rule-pacus-occ", "ano1", event["CallerIDNum"], "1") // PACUs dial OCC1
|
|
Dial("0401", "0512", "pad-rule-pacus-occ", "ano1", event["CallerIDNum"], "1") // PACUs dial OCC1
|
|
|
- } else if active.CabNum == "8" && active.Actived && ExtenStatus("1481") == "Idle" {
|
|
|
|
|
|
|
+ } else if active.CabNum == "8" && active.Actived && extOCC8.Status == "Idle" {
|
|
|
priority.OCCAnswer = 1
|
|
priority.OCCAnswer = 1
|
|
|
alstatus.OccPad("start")
|
|
alstatus.OccPad("start")
|
|
|
Dial("0401", "0512", "pad-rule-pacus-occ", "ano8", event["CallerIDNum"], "8") // PACUs dial OCC8
|
|
Dial("0401", "0512", "pad-rule-pacus-occ", "ano8", event["CallerIDNum"], "8") // PACUs dial OCC8
|
|
@@ -201,7 +225,7 @@ func HandleAMI(event map[string]string) {
|
|
|
break
|
|
break
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //ICP-TMS answer PAD, PACU idle
|
|
|
|
|
|
|
+ /* //ICP-TMS answer PAD, PACU idle
|
|
|
if utils.IsPACU(event["ConnectedLineNum"]) && event["Exten"] == "0403" { //PAD ansered by ICP-TMS; PACU Page() ICPs connected
|
|
if utils.IsPACU(event["ConnectedLineNum"]) && event["Exten"] == "0403" { //PAD ansered by ICP-TMS; PACU Page() ICPs connected
|
|
|
lfshook.NewLogger().Infof("====PAD answered by ICP-TMS:%s===PACU idle==", event["ConnectedLineName"])
|
|
lfshook.NewLogger().Infof("====PAD answered by ICP-TMS:%s===PACU idle==", event["ConnectedLineName"])
|
|
|
alstatus.AlarmStatus(event["ConnectedLineName"], "connect")
|
|
alstatus.AlarmStatus(event["ConnectedLineName"], "connect")
|
|
@@ -217,7 +241,7 @@ func HandleAMI(event map[string]string) {
|
|
|
alstatus.AlarmStatus(event["ConnectedLineName"], "connect")
|
|
alstatus.AlarmStatus(event["ConnectedLineName"], "connect")
|
|
|
break
|
|
break
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ */
|
|
|
case "ChanSpyStart":
|
|
case "ChanSpyStart":
|
|
|
lfshook.NewLogger().Infof("=========%s", event["Event"])
|
|
lfshook.NewLogger().Infof("=========%s", event["Event"])
|
|
|
//PAD answered by ICP ; PAD whisper ICP
|
|
//PAD answered by ICP ; PAD whisper ICP
|
|
@@ -279,22 +303,24 @@ 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"]) && 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
|
|
|
|
|
|
|
+ case "BridgeEnter": // TMS-ICP answer PAD; PACU connect ICP
|
|
|
|
|
+ lfshook.NewLogger().Infof("=========event:%s callerid:%s", event["Event"], event["CallerIDNum"])
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
- }*/
|
|
|
|
|
|
|
+ if utils.IsPACU(event["CallerIDNum"]) && utils.IsPAIU(event["CallerIDName"]) { //ICP and PACU connected
|
|
|
|
|
+ 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 Dial("0403", "2311", "chanspy-rule", "ICP8-ICP1", "ICP8-ICP1", "8") // ICP8 whisper ICP1
|
|
|
|
|
+ //goto ChanSpyStart, PAD whisper ICP8
|
|
|
|
|
+ } else if active.CabNum == "8" && active.Actived {
|
|
|
|
|
+ go Dial("0403", "2381", "chanspy-rule", "ICP8-ICP1", "ICP8-ICP1", "8") // ICP1 whisper ICP8
|
|
|
|
|
+ //goto ChanSpyStart, PAD whisper ICP1
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if utils.IsPAIU(event["CallerIDNum"]) {
|
|
|
|
|
+ lfshook.NewLogger().Infof("====send pad status=====")
|
|
|
|
|
+ alstatus.AlarmStatus(event["CallerIDNum"], "connect") // PAD connect ICP-TMS
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|