|
@@ -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)
|