|
@@ -23,16 +23,10 @@ var Speakers = []string{"2111", "2121", "2131", "2141", "2151", "2161", "2171",
|
|
|
// Function triggered before no cab occupied signal interrupt
|
|
// Function triggered before no cab occupied signal interrupt
|
|
|
func InActiveHangup() {
|
|
func InActiveHangup() {
|
|
|
if active.ActivedCab == "" {
|
|
if active.ActivedCab == "" {
|
|
|
- switch priority.RunningType {
|
|
|
|
|
- case "PA":
|
|
|
|
|
- HangupRunningTask("InActiveHangup")
|
|
|
|
|
- case "CPA":
|
|
|
|
|
- HangupRunningTask("InActiveHangup")
|
|
|
|
|
- case "VOL":
|
|
|
|
|
- HangupRunningTask("InActiveHangup")
|
|
|
|
|
- case "PAD-OCC":
|
|
|
|
|
- HangupRunningTask("InActiveHangup")
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ HangupTask("PA")
|
|
|
|
|
+ HangupTask("CPA")
|
|
|
|
|
+ HangupTask("VOL")
|
|
|
|
|
+ HangupTask("PAD-OCC")
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -90,129 +84,144 @@ func HangupAllExcept(caller string) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-// Hangup all ICP
|
|
|
|
|
-func HangupRunningTask(toRunTask string) {
|
|
|
|
|
|
|
+// Hangup task
|
|
|
|
|
+func HangupTask(TaskName string) {
|
|
|
|
|
+
|
|
|
|
|
+ taskInfo, ok := priority.RegistryTask.Get(TaskName)
|
|
|
|
|
+ if ok {
|
|
|
|
|
+ HangupAllLocalChan()
|
|
|
|
|
+ ConfbridgeKick(taskInfo.ConfbridgeID, "all")
|
|
|
|
|
+ Hangup(taskInfo.RunChannel)
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- lfshook.NewLogger().Infof("===HangupRunningTask=toRuntask=%s==== RunningTask:%s===chan:%s", toRunTask, priority.RunningType, priority.RunningPATaskChan)
|
|
|
|
|
|
|
+// interrupt the running task
|
|
|
|
|
+func InterruptRunningTask(toRunTask string) {
|
|
|
|
|
|
|
|
- //same type return
|
|
|
|
|
- if toRunTask == priority.RunningType {
|
|
|
|
|
|
|
+ taskName, task, ok := priority.RegistryTask.HighestPriorityRunningTask()
|
|
|
|
|
+ if !ok {
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ lfshook.NewLogger().Infof("===InterruptRunningTask=toRuntask=%s==RunningTask:%s===chan:%s", toRunTask, taskName, task.RunChannel)
|
|
|
|
|
|
|
|
|
|
+ //same type return
|
|
|
|
|
+ if toRunTask == taskName {
|
|
|
if toRunTask == "PAD-ICP" || toRunTask == "PAD-TMS" {
|
|
if toRunTask == "PAD-ICP" || toRunTask == "PAD-TMS" {
|
|
|
- lfshook.NewLogger().Infof("===HangupRunningTask=ret==== ")
|
|
|
|
|
|
|
+ lfshook.NewLogger().Infof("===InterruptRunningTask=ret==== ")
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//pad all reset
|
|
//pad all reset
|
|
|
if toRunTask == "AlarmHoldResetAll" {
|
|
if toRunTask == "AlarmHoldResetAll" {
|
|
|
- if !strings.Contains(priority.RunningPATaskChan, "0502@default") {
|
|
|
|
|
- Hangup(priority.RunningPATaskChan)
|
|
|
|
|
- }
|
|
|
|
|
- priority.CleanPriorityTag()
|
|
|
|
|
HangupAllLocalChan()
|
|
HangupAllLocalChan()
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //kick EMG member
|
|
|
|
|
- if active.EMGCONFID != "" {
|
|
|
|
|
- EMGConfbridgeKick(active.EMGCONFID)
|
|
|
|
|
- return
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //kick CPA member
|
|
|
|
|
- //if active.CPACONFID != "" {
|
|
|
|
|
- // CPAConfbridgeKick(active.CPACONFID)
|
|
|
|
|
- // return
|
|
|
|
|
- //}
|
|
|
|
|
|
|
+ switch task.RunType {
|
|
|
|
|
+ case "CPA":
|
|
|
|
|
+ //kick CPA members
|
|
|
|
|
+ taskTmp, ok := priority.RegistryTask.Get("CPA")
|
|
|
|
|
+ if ok {
|
|
|
|
|
+ CPAConfbridgeKick(taskTmp.ConfbridgeID)
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- if priority.RunningPATaskChan != "" {
|
|
|
|
|
|
|
+ case "EMG":
|
|
|
|
|
+ //kick EMG members
|
|
|
|
|
+ taskTmp, ok := priority.RegistryTask.Get("EMG")
|
|
|
|
|
+ if ok {
|
|
|
|
|
+ EMGConfbridgeKick(taskTmp.ConfbridgeID)
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- if priority.RunningType == "C2C" { // Interrupt C2C task running,
|
|
|
|
|
- if toRunTask == "PA" || toRunTask == "PAD-ICP" || toRunTask == "PAD-TMS" {
|
|
|
|
|
- HangupICP()
|
|
|
|
|
- //priority.CleanPriorityTag()
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ case "C2C": // Interrupt C2C task running,
|
|
|
|
|
+ if toRunTask == "PA" || toRunTask == "PAD-ICP" || toRunTask == "PAD-TMS" {
|
|
|
|
|
+ HangupICP()
|
|
|
|
|
+ return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- switch priority.RunningType {
|
|
|
|
|
|
|
+ case "PAD-ICP", "PAD-TMS": // Interrupt PAD task running,
|
|
|
|
|
+ priority.InterruptedPad = "PAD-ICP"
|
|
|
|
|
|
|
|
- case "PAD-ICP", "PAD-TMS": // Interrupt PAD task running,
|
|
|
|
|
- priority.InterruptedPad = priority.RunningType
|
|
|
|
|
- //just in case
|
|
|
|
|
- if toRunTask == "C2C" { //deal in DTMF event
|
|
|
|
|
- lfshook.NewLogger().Infof("===HangupRunningTask==C2C=return==== ")
|
|
|
|
|
- return
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ lfshook.NewLogger().Infof("===InterruptRunningTask==hangup===PAD-ICP==%s==== ", task.RunType)
|
|
|
|
|
+ chans, err := CoreShowChannels()
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ lfshook.NewLogger().Errorf("CoreShowChannels %+v", err)
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- lfshook.NewLogger().Infof("===HangupRunningTask==hangup===PAD-ICP==%s==== ", priority.RunningType)
|
|
|
|
|
- chans, err := CoreShowChannels()
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- lfshook.NewLogger().Errorf("CoreShowChannels %+v", err)
|
|
|
|
|
|
|
+ //1. Redirect the connected PAD to 0300,hangup the other pad channel
|
|
|
|
|
+ for _, ret := range chans {
|
|
|
|
|
+ // Redirect the connected PAD to 0300
|
|
|
|
|
+ if utils.IsPAIU(ret.CallerIDNum) {
|
|
|
|
|
+ if ret.ConnectedLineNum == "<unknown>" { //redirect pad chanspy channel
|
|
|
|
|
+ err := Redirect(ret.Channel, "0300", "queues-icp-redirect", "", "PAD")
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ lfshook.NewLogger().Errorf("Redirect %+v", err)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ number := strings.Split(strings.Split(ret.Channel, "-")[0], "/")[1]
|
|
|
|
|
+ active.NotifyPaiu(number, "hold")
|
|
|
|
|
+ //HangupAllLocalChan()
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- //1. Redirect the connected PAD to 0300,hangup the other pad channel
|
|
|
|
|
- for _, ret := range chans {
|
|
|
|
|
-
|
|
|
|
|
- if utils.IsPAIU(ret.CallerIDNum) {
|
|
|
|
|
- if ret.ConnectedLineNum == "<unknown>" { //redirect pad chanspy channel
|
|
|
|
|
- //lfshook.NewLogger().Infof("===Redirect=Chan===%+v==== ", ret.Channel)
|
|
|
|
|
- err := Redirect(ret.Channel, "0300", "queues-icp-redirect", "", "PAD")
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- lfshook.NewLogger().Errorf("Redirect %+v", err)
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- number := strings.Split(strings.Split(ret.Channel, "-")[0], "/")[1]
|
|
|
|
|
- active.NotifyPaiu(number, "hold")
|
|
|
|
|
- //HangupAllLocalChan()
|
|
|
|
|
- } else if utils.IsPAIU(ret.CallerIDNum) && ret.ChannelStateDesc == "Up" && utils.IsICP(ret.ConnectedLineNum) {
|
|
|
|
|
- lfshook.NewLogger().Infof("===Hangup=Chan===%+v==== ", ret.Channel)
|
|
|
|
|
- Hangup(ret.Channel)
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ for _, ret := range chans {
|
|
|
|
|
+ //hangup pad call ICP channel
|
|
|
|
|
+ if utils.IsPAIU(ret.CallerIDNum) {
|
|
|
|
|
+ if utils.IsPAIU(ret.CallerIDNum) && ret.ChannelStateDesc == "Up" && utils.IsICP(ret.ConnectedLineNum) {
|
|
|
|
|
+ lfshook.NewLogger().Infof("===Hangup=Chan===%+v==== ", ret.Channel)
|
|
|
|
|
+ Hangup(ret.Channel)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- //2. hangup task channel (ICP + PACU)
|
|
|
|
|
- lfshook.NewLogger().Infof("===HangupRunningTask=2. hangup task channel === ")
|
|
|
|
|
- HangupAllLocalChan()
|
|
|
|
|
- //HangupICP()
|
|
|
|
|
- priority.CleanPriorityTag()
|
|
|
|
|
|
|
+ priority.RegistryTask.StopAndUnregister("PAD-ICP")
|
|
|
|
|
+ priority.RegistryTask.StopAndUnregister("PAD-TMS")
|
|
|
|
|
+ //2. hangup task channel (ICP + PACU)
|
|
|
|
|
+ lfshook.NewLogger().Infof("===InterruptRunningTask=2. hangup task channel === ")
|
|
|
|
|
+ HangupAllLocalChan()
|
|
|
|
|
+ HangupICP()
|
|
|
|
|
|
|
|
- case "PAD-OCC": // Interrupt PAD-OCC task running,
|
|
|
|
|
|
|
+ case "PAD-OCC": // Interrupt PAD-OCC task running,
|
|
|
|
|
|
|
|
- if toRunTask == "C2C" {
|
|
|
|
|
- break
|
|
|
|
|
|
|
+ if toRunTask == "C2C" {
|
|
|
|
|
+ HangupICP()
|
|
|
|
|
+ break
|
|
|
|
|
|
|
|
- } else {
|
|
|
|
|
- priority.InterruptedPad = priority.RunningType
|
|
|
|
|
- //1. Redirect all the other pads in 0301 to 0300
|
|
|
|
|
- resCaller, err := QueueStatus("0301", "") // check OCC queue, get entries
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- lfshook.NewLogger().Infof("===QueueStatus==%+v", err)
|
|
|
|
|
- }
|
|
|
|
|
- for _, caller := range resCaller.Entrys {
|
|
|
|
|
- go RedirectInQueue(caller.CallerIDNum, "0300", "queues-icp-redirect", caller.CallerIDNum) // redirect All PAD redirect to ICP queue
|
|
|
|
|
- time.Sleep(time.Millisecond * 100)
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ priority.InterruptedPad = "PAD-OCC"
|
|
|
|
|
+ priority.OCCAnswer = 0
|
|
|
|
|
|
|
|
- //2. Hangup connected PAD
|
|
|
|
|
- lfshook.NewLogger().Infof("===HangupRunningTask=Hangup connected PAD=== ")
|
|
|
|
|
- Hangup(priority.RunningPATaskChan)
|
|
|
|
|
-
|
|
|
|
|
- //3. Hangup OI & ICP
|
|
|
|
|
- HangupIO()
|
|
|
|
|
- HangupAllLocalChan()
|
|
|
|
|
- priority.CleanPriorityTag()
|
|
|
|
|
|
|
+ resCaller, err := QueueStatus("0301", "") // check OCC queue, get entries
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ lfshook.NewLogger().Infof("===QueueStatus==%+v", err)
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- default:
|
|
|
|
|
- lfshook.NewLogger().Infof("===HangupRunningTask=default=== ")
|
|
|
|
|
- if !strings.Contains(priority.RunningPATaskChan, "0502@default") {
|
|
|
|
|
- Hangup(priority.RunningPATaskChan)
|
|
|
|
|
|
|
+ for _, caller := range resCaller.Entrys {
|
|
|
|
|
+ lfshook.NewLogger().Infof("===QueueStatus=entry=%+v", caller)
|
|
|
|
|
+ time.Sleep(time.Millisecond * 50)
|
|
|
|
|
+ RedirectInQueue(caller.CallerIDNum, "0300", "queues-icp-redirect", caller.CallerIDNum) // redirect All PAD redirect to ICP queue
|
|
|
}
|
|
}
|
|
|
- priority.CleanPriorityTag()
|
|
|
|
|
|
|
+
|
|
|
|
|
+ priority.RegistryTask.StopAndUnregister("PAD-OCC")
|
|
|
|
|
+ //2. Hangup connected PAD
|
|
|
|
|
+ lfshook.NewLogger().Infof("===InterruptRunningTask=Hangup connected PAD=== ")
|
|
|
|
|
+ Hangup(task.RunChannel)
|
|
|
|
|
+
|
|
|
|
|
+ //3. Hangup OI & ICP
|
|
|
|
|
+ HangupIO()
|
|
|
|
|
+ HangupAllLocalChan()
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ default:
|
|
|
|
|
+ lfshook.NewLogger().Infof("===InterruptRunningTask=default=== ")
|
|
|
|
|
+ //if !strings.Contains(priority.RunningPATaskChan, "0502@default") {
|
|
|
|
|
+ // Hangup(priority.RunningPATaskChan)
|
|
|
|
|
+ //}
|
|
|
|
|
+ Hangup(task.RunChannel)
|
|
|
|
|
+ ConfbridgeKick(task.ConfbridgeID, "all")
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Hangup all ICP
|
|
// Hangup all ICP
|
|
@@ -413,49 +422,56 @@ func Redirect(channel, dst, dialrule, callerID, callerName string) (err error) {
|
|
|
|
|
|
|
|
func SetPadTimer() {
|
|
func SetPadTimer() {
|
|
|
|
|
|
|
|
- toRunpriority := priority.GetPriorityByKey(priority.InterruptedPad) // 获取之前打断的报警优先级
|
|
|
|
|
- lfshook.NewLogger().Infof("==SetPadTimer====runing:%d==toRun:%d=", priority.RunningTypePriority, toRunpriority)
|
|
|
|
|
|
|
+ toRunPadpriority := priority.GetPriorityByKey(priority.InterruptedPad) // 获取之前打断的报警优先级
|
|
|
|
|
+ //toRunpriority := priority.GetPriorityByKey("PAD-ICP")
|
|
|
|
|
|
|
|
- if priority.RunningTypePriority < toRunpriority || priority.RunningTypePriority == 0 {
|
|
|
|
|
-
|
|
|
|
|
- res, err := QueueStatus("0300", "") // check OCC queue , if empty OCC-PAD start
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- lfshook.NewLogger().Infof("===OCC-QueueStatus==%+v", err)
|
|
|
|
|
|
|
+ _, taskTmp, ok := priority.RegistryTask.HighestPriorityRunningTask()
|
|
|
|
|
+ if ok {
|
|
|
|
|
+ lfshook.NewLogger().Infof("==SetPadTimer====runing:%d==toRun:%d=", taskTmp.Priority, toRunPadpriority)
|
|
|
|
|
+ if taskTmp.Priority < toRunPadpriority { //higher priority task running ,do not set timer
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- if res.Calls != "0" {
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ res, err := QueueStatus("0300", "") // check OCC queue , if empty OCC-PAD start
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ lfshook.NewLogger().Infof("===OCC-QueueStatus==%+v", err)
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- lfshook.NewLogger().Infof("==SetPadTimer==QueueTimer===1====")
|
|
|
|
|
- active.QueueTimer = time.AfterFunc(30*time.Second, func() { // check the PAD 30s timeout
|
|
|
|
|
|
|
+ if res.Calls != "0" {
|
|
|
|
|
+
|
|
|
|
|
+ lfshook.NewLogger().Infof("==SetPadTimer==QueueTimer===1====")
|
|
|
|
|
+ active.QueueTimer = time.AfterFunc(30*time.Second, func() { // check the PAD 30s timeout
|
|
|
|
|
+
|
|
|
|
|
+ res, err := QueueStatus("0301", "") // check OCC queue , if empty OCC-PAD start
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ lfshook.NewLogger().Infof("===OCC-QueueStatus==%+v", err)
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- res, err := QueueStatus("0301", "") // check OCC queue , if empty OCC-PAD start
|
|
|
|
|
|
|
+ if res.Calls == "0" { // OCC queue empty
|
|
|
|
|
+ resCaller, err := QueueStatus("0300", "") // check ICP queue, get entries
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- lfshook.NewLogger().Infof("===OCC-QueueStatus==%+v", err)
|
|
|
|
|
|
|
+ lfshook.NewLogger().Infof("==ICP=QueueStatus==%+v", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
+ sort.Slice(resCaller.Entrys, func(i, j int) bool {
|
|
|
|
|
+ return resCaller.Entrys[i].Position < resCaller.Entrys[j].Position
|
|
|
|
|
+ })
|
|
|
|
|
|
|
|
- if res.Calls == "0" { // OCC queue empty
|
|
|
|
|
- resCaller, err := QueueStatus("0300", "") // check ICP queue, get entries
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- lfshook.NewLogger().Infof("==ICP=QueueStatus==%+v", err)
|
|
|
|
|
- return
|
|
|
|
|
- }
|
|
|
|
|
- sort.Slice(resCaller.Entrys, func(i, j int) bool {
|
|
|
|
|
- return resCaller.Entrys[i].Position < resCaller.Entrys[j].Position
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- for _, caller := range resCaller.Entrys {
|
|
|
|
|
- priority.ICPAnswer = 0
|
|
|
|
|
- //lfshook.NewLogger().Infof("====SetPadTimer==QueueTimer==2=")
|
|
|
|
|
- lfshook.NewLogger().Infof("==SetPadTimer==Redirect to 0301 entry:%s=Pos:%s==", caller.CallerIDNum, caller.Position)
|
|
|
|
|
- //order by pos
|
|
|
|
|
- RedirectInQueue(caller.CallerIDNum, "0301", "queues-occ", caller.CallerIDNum) // redirect All ICP-PAD redirect to OCC queue
|
|
|
|
|
- time.Sleep(time.Millisecond * 100) //200 ms delay
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ for _, caller := range resCaller.Entrys {
|
|
|
|
|
+ priority.ICPAnswer = 0
|
|
|
|
|
+ //lfshook.NewLogger().Infof("====SetPadTimer==QueueTimer==2=")
|
|
|
|
|
+ lfshook.NewLogger().Infof("==SetPadTimer==Redirect to 0301 entry:%s=Pos:%s==", caller.CallerIDNum, caller.Position)
|
|
|
|
|
+ //order by pos
|
|
|
|
|
+ RedirectInQueue(caller.CallerIDNum, "0301", "queues-occ", caller.CallerIDNum) // redirect All ICP-PAD redirect to OCC queue
|
|
|
|
|
+ time.Sleep(time.Millisecond * 100) //200 ms delay
|
|
|
}
|
|
}
|
|
|
- })
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func ConfbridgeKick(confnum, channel string) (res map[string]string, err error) {
|
|
func ConfbridgeKick(confnum, channel string) (res map[string]string, err error) {
|
|
@@ -479,23 +495,21 @@ func ConfbridgeKick(confnum, channel string) (res map[string]string, err error)
|
|
|
return res, nil
|
|
return res, nil
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-/*
|
|
|
|
|
- func CPAConfbridgeKick(confnum string) (res map[string]string, err error) {
|
|
|
|
|
- lfshook.NewLogger().Infof("=======CPAConfbridgeKick==%s", confnum)
|
|
|
|
|
- chans, err := ConfbridgeList(confnum)
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- return nil, errors.New(res["Message"])
|
|
|
|
|
- }
|
|
|
|
|
|
|
+func CPAConfbridgeKick(confnum string) (res map[string]string, err error) {
|
|
|
|
|
+ lfshook.NewLogger().Infof("=======CPAConfbridgeKick==%s", confnum)
|
|
|
|
|
+ chans, err := ConfbridgeList(confnum)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return nil, errors.New(res["Message"])
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- for _, confChan := range chans {
|
|
|
|
|
- lfshook.NewLogger().Infof("======CPAConfbridgeKick==1=%+v", confChan)
|
|
|
|
|
- if !strings.Contains(confChan, "PJSIP/1481") {
|
|
|
|
|
- ConfbridgeKick(confnum, confChan)
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ for _, confChan := range chans {
|
|
|
|
|
+ lfshook.NewLogger().Infof("======CPAConfbridgeKick==1=%+v", confChan)
|
|
|
|
|
+ if !strings.Contains(confChan, "PJSIP/1481") {
|
|
|
|
|
+ ConfbridgeKick(confnum, confChan)
|
|
|
}
|
|
}
|
|
|
- return res, nil
|
|
|
|
|
}
|
|
}
|
|
|
-*/
|
|
|
|
|
|
|
+ return res, nil
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
func CPAConfbridgeReinvite(confID string) {
|
|
func CPAConfbridgeReinvite(confID string) {
|
|
|
lfshook.NewLogger().Infof("=====CPAConfbridgeReinvite==")
|
|
lfshook.NewLogger().Infof("=====CPAConfbridgeReinvite==")
|