elif num == 3:
EventMesh.debug_log("phone 6")
EventMesh.publish("set_callnumer_cb",number[0])
-
+WL_timer = osTimer()
+def WL_timer_cb(*args):
+ voiceCall.callAnswer()
def voice_callback(args):
EventMesh.debug_log('voicecall iinfo:{}'.format(args))
if args[0] == 10:
if b == True and size_len > 11:
tmp = tmp[size_len-11:]
+ WLKEY = EventMesh.publish("get_storage_config","WLKEY")
+ if WLKEY == "1" or WLKEY == "2":#开启了白名单
+ on_list_flag = 0
+ phonebook = EventMesh.publish("get_phonebook_list")
+ phonebook_list = phonebook[1]
+ EventMesh.debug_log("voice_callback:phonebook_list{}".format(phonebook_list))
+ try:
+ for value in phonebook_list.values():
+ if value == args[6]:
+ on_list_flag = 1
+ break
+ except Exception as e:
+ usys.print_exception(e)
+ EventMesh.debug_log("voice_callback:on_list_flag{}".format(on_list_flag))
+ if on_list_flag == 1:#在白名单里
+ if WLKEY == "2":
+ WL_timer.start(30000, 0, WL_timer_cb)
+ else:
+ EventMesh.debug_log("voice_callback:不在白名单中,挂断")
+ voiceCall.callEnd()
+ return
EventMesh.publish("set_call_state",2)
EventMesh.publish("dialin_call_event")#电话拨进响铃
# EventMesh.publish("load_screen", {"screen": "incoming_call","meta":str(tmp)})
#EventMesh.publish(constants.PROTOCOL.TIME_SEND)
-#拒接模式来电
-class WLKEY_ProtoCol(ProtoCol):
- """"""
- TYPE = "WLKEY"
- def send(self, event, msg):
- # [XT*334588000000156*0005*WLKEY]
- send_data = self.PID+"*%s*0005*WLKEY"%(self.imei)
- MD5_SIGN = self.pack_MD5_head(send_data)
- data = "[%s%s]"%(str(MD5_SIGN),send_data)
- # EventMesh.debug_log("WLKEY:data:%s"%(data))
- # EventMesh.debug_log("WLKEY!!!!!!!!!!!!!")
- # 通过socket发送到服务器端
- EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
- def recv(self, event, msg):
- """
- @param event:
- @param msg: 接收到的下行数据
- """
- # b'[SZKW*867387060319166*000A*KEYBRD]'
- # EventMesh.debug_log("WLKEY!!!!!!!!!!!!!",msg)
- EventMesh.publish(constants.PROTOCOL.WLKEY_SEND)
#免打扰
class SILENCETIME2_ProtoCol(ProtoCol):
+class WLKEY_ProtoCol(ProtoCol):#白名单开关
+ """
+ 白名单开关
+ [XT*YYYYYYYYYYYYYYY*LEN*WLKEY,ONOFF] ONOFF: 1:开启,0:关闭,2:30秒后自动接听。
+ 实例:[XT*334588000000156*0008*WLKEY,1]
+ 终端回复
+ [XT*YYYYYYYYYYYYYYY*LEN*WLKEY]
+ 实例:[XT*334588000000156*0006*WLKEY]
+ """
+ TYPE = "WLKEY"
+
+ def send(self, event, msg):
+ send_data = self.PID+"*%s*00006*WLKEY"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ #Wechat_log("POWEROFF_ProtoCol:send:%s"%(data))
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND, data)
+
+ def recv(self, event, msg):
+
+ msg = msg[1:-1]
+ msg_tmp = msg.decode('ascii')
+ msg_data = msg_tmp.split(',')
+ EventMesh.debug_log("WLKEY_ProtoCol".format(msg_data[1]))
+ EventMesh.publish("set_storage_config",["WLKEY",msg_data[1]])
+
+
+ EventMesh.publish(constants.PROTOCOL.WLKEY_SEND)
+
+
class ProtoColResolver(object):
def __init__(self):