def __callback_esm_state(self,msg):
"""
Given the ESM message, update ESM state
:param msg: the NAS signaling message that carries EMM state
"""
self.__cur_eps_id = msg.data["EPS bearer ID"]
if self.__cur_eps_id not in self.__esm_status:
self.__esm_status[self.__cur_eps_id] = EsmStatus()
# print self.__cur_eps_id, str(self.__esm_status), str(bearer_type), msg.data["EPS bearer type"], str(msg.data['timestamp'])
self.__esm_status[self.__cur_eps_id].eps_id = int(msg.data["EPS bearer ID"])
self.__esm_status[self.__cur_eps_id].type = int(msg.data["EPS bearer type"])
if self.__esm_status[self.__cur_eps_id].type == 255:
self.__esm_status[self.__cur_eps_id].type = 1
self.__esm_status[self.__cur_eps_id].qos.qci = msg.data["QCI"]
self.__esm_status[self.__cur_eps_id].qos.max_bitrate_ulink = msg.data["UL MBR"]
self.__esm_status[self.__cur_eps_id].qos.max_bitrate_dlink = msg.data["DL MBR"]
self.__esm_status[self.__cur_eps_id].qos.guaranteed_bitrate_ulink=msg.data["UL GBR"]
self.__esm_status[self.__cur_eps_id].qos.guaranteed_bitrate_dlink=msg.data["DL MBR"]
self.__esm_status[self.__cur_eps_id].qos.max_bitrate_ulink_ext=msg.data["UL MBR ext"]
self.__esm_status[self.__cur_eps_id].qos.max_bitrate_dlink_ext=msg.data["DL MBR ext"]
self.__esm_status[self.__cur_eps_id].qos.guaranteed_bitrate_ulink_ext=msg.data["UL GBR ext"]
self.__esm_status[self.__cur_eps_id].qos.guaranteed_bitrate_dlink_ext=msg.data["DL MBR ext"]
self.__esm_status[self.__cur_eps_id].timestamp = msg.data["timestamp"]
self.log_info(self.__esm_status[self.__cur_eps_id].dump())
self.profile.update("LteNasProfile:"+self.__emm_status.profile_id()+".eps.qos:"+bearer_type[self.__esm_status[self.__cur_eps_id].type],
{'qci':self.__esm_status[self.__cur_eps_id].qos.qci,
'max_bitrate_ulink':self.__esm_status[self.__cur_eps_id].qos.max_bitrate_ulink,
'max_bitrate_dlink':self.__esm_status[self.__cur_eps_id].qos.max_bitrate_dlink,
'guaranteed_bitrate_ulink':self.__esm_status[self.__cur_eps_id].qos.guaranteed_bitrate_ulink,
'guaranteed_bitrate_dlink':self.__esm_status[self.__cur_eps_id].qos.guaranteed_bitrate_dlink,
'max_bitrate_ulink_ext':self.__esm_status[self.__cur_eps_id].qos.max_bitrate_ulink_ext,
'max_bitrate_dlink_ext':self.__esm_status[self.__cur_eps_id].qos.max_bitrate_dlink_ext,
'guaranteed_bitrate_ulink_ext':self.__esm_status[self.__cur_eps_id].qos.guaranteed_bitrate_ulink_ext,
'guaranteed_bitrate_dlink_ext':self.__esm_status[self.__cur_eps_id].qos.guaranteed_bitrate_dlink_ext,
})
# broadcast
state = {
'conn state': esm_state[int(msg.data["EPS bearer state"]) - 1],
'timestamp' : str(msg.data['timestamp'])
}
# self.log_info(str(state))
self.broadcast_info('ESM_STATE', state)
lte_nas_analyzer.py 文件源码
python
阅读 21
收藏 0
点赞 0
评论 0
评论列表
文章目录