Browse Source

Merge branch 'master' into zyyt

zhoufan 7 months ago
parent
commit
cf2f91d24f

+ 9 - 0
midware-service/src/main/java/midware/service/eslclient/EslCommon.java

@@ -78,6 +78,15 @@ public class EslCommon {
78 78
     }
79 79
 
80 80
     //根据id获取通道
81
+    public static Channel getChanById(String chanId) {
82
+        List<Channel> cs = channels.stream().filter(p -> p.getChanId().equals(chanId)).collect(Collectors.toList());
83
+        if (cs.size() > 0) {
84
+            return cs.get(0);
85
+        }
86
+        return null;
87
+    }
88
+
89
+    //根据号码获取通道
81 90
     public static Channel getChanByNumber(String number) {
82 91
         List<Channel> cs = channels.stream().filter(p -> p.getNumber().equals(number)).collect(Collectors.toList());
83 92
         if (cs.size() > 0) {

+ 6 - 2
midware-service/src/main/java/midware/service/eslclient/EslEventListenerEvent.java

@@ -78,8 +78,12 @@ public class EslEventListenerEvent implements IEslEventListener {
78 78
                 String codec = header.get("variable_ep_codec_string");
79 79
                 boolean isVideo = StringHelper.isNotEmpty(codec) && codec.contains("H264");
80 80
 
81
-                Channel chan = EslCommon.getChanByNumber(chanNames[2]);
82
-                Agent agent = EslCommon.getAgentByExten(chanNames[2]);
81
+                Agent agent = null;
82
+                Channel chan = EslCommon.getChanById(chanId);
83
+                if(EslCommon.existExten(chanNames[2])) {
84
+                    if (chan == null) chan = EslCommon.getChanByNumber(chanNames[2]);
85
+                    agent = EslCommon.getAgentByExten(chanNames[2]);
86
+                }
83 87
                 Session session = EslCommon.getSessionById(callId);
84 88
                 if (callType == 0) callType = EslCommon.existExten(callerNum) ? 2 : 1;
85 89