Davidliu пре 2 месеци
родитељ
комит
44ff04025e
1 измењених фајлова са 8 додато и 1 уклоњено
  1. 8 1
      src/core/callcenter/esl/client.py

+ 8 - 1
src/core/callcenter/esl/client.py

@@ -539,7 +539,8 @@ class OutboundClient:
                     whitelist = self.server.get_whitelist()
                     self.server.logger.info('call incoming call_id=%s, device_id=%s, bucket=%s', call_id, device_id, bucket.name)
                     self.server.logger.info('call incoming caller_number=%s, whitelist=%s', caller_number, json.dumps(whitelist))
-                    if caller_number in whitelist:
+
+                    if self.in_whitelist(caller_number, whitelist):
                         # 检查白名单
                         _bucket_call_type = 0
                         self.answer(con, call_id, device_id)
@@ -580,6 +581,12 @@ class OutboundClient:
                     # Ignore the error if socket is already closed
                     pass
 
+        def in_whitelist(self, caller_number, whitelist):
+            for x in whitelist:
+                if caller_number in x or caller_number in x:
+                    return True
+            return False
+
         def answer(self, con, call_id, device_id, timeouts=30):
             con.execute("answer", "", device_id)
             # con.execute("bgapi", f"uuid_setvar {device_id} {sipHeaderCallId} {call_id}", device_id)