|
@@ -305,8 +305,8 @@ func AlarmHandle(data []byte) {
|
|
|
carr := data[12]
|
|
carr := data[12]
|
|
|
pos := data[13]
|
|
pos := data[13]
|
|
|
exten := fmt.Sprintf("24%c%c", carr, pos)
|
|
exten := fmt.Sprintf("24%c%c", carr, pos)
|
|
|
|
|
+ PacuNum := fmt.Sprintf("21%c%c", carr, pos)
|
|
|
|
|
|
|
|
- lfshook.NewLogger().Logger.Infof("================ICP Answer PAD================:%s ", exten)
|
|
|
|
|
key := suppressKey(exten, handler)
|
|
key := suppressKey(exten, handler)
|
|
|
|
|
|
|
|
//Drop other handler in 2 sec
|
|
//Drop other handler in 2 sec
|
|
@@ -324,7 +324,7 @@ func AlarmHandle(data []byte) {
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 设置2秒后删除该 key,允许下次通过
|
|
|
|
|
|
|
+ // 设置1秒后删除该 key,允许下次通过
|
|
|
time.AfterFunc(1*time.Second, func() {
|
|
time.AfterFunc(1*time.Second, func() {
|
|
|
suppressedExts.Delete(key)
|
|
suppressedExts.Delete(key)
|
|
|
lfshook.NewLogger().Logger.Debugf("Suppression released for key: %s", key)
|
|
lfshook.NewLogger().Logger.Debugf("Suppression released for key: %s", key)
|
|
@@ -333,20 +333,28 @@ func AlarmHandle(data []byte) {
|
|
|
switch handler {
|
|
switch handler {
|
|
|
case 0x01: //answer(ICP+Alarm+PACU)
|
|
case 0x01: //answer(ICP+Alarm+PACU)
|
|
|
//NotifyPaiu(exten, "answer")
|
|
//NotifyPaiu(exten, "answer")
|
|
|
|
|
+
|
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("================ICP Answer PAD================:%s ", exten)
|
|
|
if active.CabNum == "1" {
|
|
if active.CabNum == "1" {
|
|
|
- err := action.RedirectInQueue(exten, "0402", "ani-rule", "1") // 1车ICP接听PAIU
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- lfshook.NewLogger().Logger.Infof("=========Cab1=======ICP Answer PAD====ERR============ : %+v", err.Error())
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ action.Dial(PacuNum, "0402", "ani-rule", PacuNum, exten, "1") // PACU dial ICP
|
|
|
} else {
|
|
} else {
|
|
|
- err := action.RedirectInQueue(exten, "0402", "ani-rule", "8") // 8车ICP接听PAIU
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- lfshook.NewLogger().Logger.Infof("=========Cab8=======ICP Answer PAD====ERR============ : %+v", err.Error())
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ action.Dial(PacuNum, "0402", "ani-rule", PacuNum, exten, "8") // PACU dial ICP
|
|
|
|
|
+ }
|
|
|
|
|
+ //invite PACU join in
|
|
|
|
|
+ //action.Hangup("PACU")
|
|
|
|
|
+ //action.ChanSpy("PACU", exten, false, true)
|
|
|
|
|
+
|
|
|
|
|
+ case 0x04: //answer(PACU+Alarm+OCC)
|
|
|
|
|
+ if active.CabNum == "1" {
|
|
|
|
|
+ action.Dial(PacuNum, "0401", "ano-rule", PacuNum, exten, "1") // PACU dial OCC
|
|
|
|
|
+ } else {
|
|
|
|
|
+ action.Dial(PacuNum, "0401", "ano-rule", PacuNum, exten, "8") // PACU dial OCC
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
//invite PACU join in
|
|
//invite PACU join in
|
|
|
//action.Hangup("PACU")
|
|
//action.Hangup("PACU")
|
|
|
//action.ChanSpy("PACU", exten, false, true)
|
|
//action.ChanSpy("PACU", exten, false, true)
|
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("================OCC Answer PAD================:%s ", exten)
|
|
|
case 0x02: //hold 重新放回队列里面
|
|
case 0x02: //hold 重新放回队列里面
|
|
|
NotifyPaiu(exten, "hold")
|
|
NotifyPaiu(exten, "hold")
|
|
|
|
|
|
|
@@ -358,6 +366,11 @@ func AlarmHandle(data []byte) {
|
|
|
case 0x03: //hangup
|
|
case 0x03: //hangup
|
|
|
//NotifyPaiu(exten, "hangup")
|
|
//NotifyPaiu(exten, "hangup")
|
|
|
action.Hangup(exten)
|
|
action.Hangup(exten)
|
|
|
|
|
+ if active.CabNum == "1" {
|
|
|
|
|
+ action.Hangup("2311") //1 车接听
|
|
|
|
|
+ } else {
|
|
|
|
|
+ action.Hangup("2381") //8 车接听
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|