コード例 #1
0
ファイル: diaglteeventparser.py プロジェクト: Mrnmap/MobSent
    def parse_event_lte_rrc_ul_msg(self, radio_id, ts, arg1, arg2):
        osmocore_log_hdr = util.create_osmocore_logging_header(
            timestamp=ts,
            process_name=b'Event',
            pid=1610,
        )

        gsmtap_hdr = util.create_gsmtap_header(
            version=2, payload_type=util.gsmtap_type.OSMOCORE_LOG)

        channel_ul_map = {5: "CCCH", 6: "DCCH"}

        message_type_map = {
            0x01: "RRCConnectionRequest",
            0x84: "RRCConnectionSetupComplete",
            0x89: "ULInformationTransfer",
        }

        if arg1 in channel_ul_map.keys():
            channel = channel_ul_map[arg1]
        else:
            channel = "Unknown"

        if arg2 in message_type_map.keys():
            message_type = message_type_map[arg2]
        else:
            message_type = "Unknown ({:2x})".format(arg2)

        log_content = "LTE_RRC_UL_MSG: channel={}, message_type={}".format(
            channel, message_type).encode('utf-8')

        self.parent.writer.write_cp(
            gsmtap_hdr + osmocore_log_hdr + log_content, radio_id, ts)
コード例 #2
0
ファイル: diaglteeventparser.py プロジェクト: Mrnmap/MobSent
    def parse_event_lte_rrc_state_change(self, radio_id, ts, arg1):
        osmocore_log_hdr = util.create_osmocore_logging_header(
            timestamp=ts,
            process_name=b'Event',
            pid=1606,
        )

        gsmtap_hdr = util.create_gsmtap_header(
            version=2, payload_type=util.gsmtap_type.OSMOCORE_LOG)

        rrc_state_map = {
            1: "RRC_IDLE_NOT_CAMPED",
            2: "RRC_IDLE_CAMPED",
            3: "RRC_CONNECTING",
            4: "RRC_CONNECTED",
            7: "RRC_CLOSING",
        }
        if arg1 in rrc_state_map.keys():
            rrc_state = rrc_state_map[arg1]
        else:
            rrc_state = "{:02x}".format(arg1)

        log_content = "LTE_RRC_STATE_CHANGE: rrc_state={}".format(
            rrc_state).encode('utf-8')

        self.parent.writer.write_cp(
            gsmtap_hdr + osmocore_log_hdr + log_content, radio_id, ts)
コード例 #3
0
ファイル: qualcommparser.py プロジェクト: yurguis/scat
    def parse_diag_ext_msg(self, pkt, radio_id):
        # 79 | 00 | 00 | 00 | 00 00 1c fc 0f 16 e4 00 | e6 04 | 94 13 | 02 00 00 00
        # cmd_code, ts_type, num_args, drop_cnt, TS, Line number, Message subsystem ID, ?
        # Message: two null-terminated strings, one for log and another for filename
        xdm_hdr = pkt[0:20]
        xdm_hdr = struct.unpack('<BBBBQHHL', xdm_hdr)
        pkt_ts = util.parse_qxdm_ts(xdm_hdr[4])
        pkt_body = pkt[20 + 4 * xdm_hdr[2]:]
        pkt_body = pkt_body.rstrip(b'\0').rsplit(b'\0', maxsplit=1)

        if len(pkt_body) == 2:
            src_fname = pkt_body[1]
            log_content = pkt_body[0]
        else:
            src_fname = b''
            log_content = pkt_body[0]

        osmocore_log_hdr = util.create_osmocore_logging_header(
            timestamp=pkt_ts,
            subsys_name=str(xdm_hdr[6]).encode('utf-8'),
            filename=src_fname,
            line_number=xdm_hdr[5])

        gsmtap_hdr = util.create_gsmtap_header(
            version=2, payload_type=util.gsmtap_type.OSMOCORE_LOG)

        self.writer.write_cp(gsmtap_hdr + osmocore_log_hdr + log_content,
                             radio_id, pkt_ts)
コード例 #4
0
ファイル: diaglteeventparser.py プロジェクト: bedrankara/scat
    def parse_event_lte_rrc_state_change_trigger(self, radio_id, ts, arg1):
        osmocore_log_hdr = util.create_osmocore_logging_header(
            timestamp = ts,
            process_name = b'Event',
            pid = 1994,
        )

        gsmtap_hdr = util.create_gsmtap_header(
            version = 2,
            payload_type = util.gsmtap_type.OSMOCORE_LOG)

        log_content = "LTE_RRC_STATE_CHANGE_TRIGGER: {:02x}".format(arg1).encode('utf-8')

        self.parent.writer.write_cp(gsmtap_hdr + osmocore_log_hdr + log_content, radio_id, ts)
コード例 #5
0
ファイル: diaglteeventparser.py プロジェクト: bedrankara/scat
    def parse_event_lte_rrc_timer_status(self, radio_id, ts, arg_bin):
        osmocore_log_hdr = util.create_osmocore_logging_header(
            timestamp = ts,
            process_name = b'Event',
            pid = 1605,
        )

        gsmtap_hdr = util.create_gsmtap_header(
            version = 2,
            payload_type = util.gsmtap_type.OSMOCORE_LOG)

        log_content = "LTE_RRC_TIMER_STATUS: {}".format(' '.join('{:02x}'.format(x) for x in arg_bin)).encode('utf-8')

        self.parent.writer.write_cp(gsmtap_hdr + osmocore_log_hdr + log_content, radio_id, ts)
コード例 #6
0
ファイル: diaglteeventparser.py プロジェクト: bedrankara/scat
    def parse_event_lte_ml1_phr_report(self, radio_id, ts, arg1, arg2):
        osmocore_log_hdr = util.create_osmocore_logging_header(
            timestamp = ts,
            process_name = b'Event',
            pid = 1938,
        )

        gsmtap_hdr = util.create_gsmtap_header(
            version = 2,
            payload_type = util.gsmtap_type.OSMOCORE_LOG)

        log_content = "LTE_ML1_PHR_REPORT: {:02x} {:02x}".format(arg1, arg2).encode('utf-8')

        self.parent.writer.write_cp(gsmtap_hdr + osmocore_log_hdr + log_content, radio_id, ts)
コード例 #7
0
ファイル: diaglteeventparser.py プロジェクト: bedrankara/scat
    def parse_event_lte_emm_timer_expiry(self, radio_id, ts, arg1):
        osmocore_log_hdr = util.create_osmocore_logging_header(
            timestamp = ts,
            process_name = b'Event',
            pid = 1632,
        )

        gsmtap_hdr = util.create_gsmtap_header(
            version = 2,
            payload_type = util.gsmtap_type.OSMOCORE_LOG)

        log_content = "LTE_RRC_EMM_TIMER_EXPIRY: {:02x}".format(arg1).encode('utf-8')

        self.parent.writer.write_cp(gsmtap_hdr + osmocore_log_hdr + log_content, radio_id, ts)
コード例 #8
0
ファイル: diaglteeventparser.py プロジェクト: bedrankara/scat
    def parse_event_lte_emm_outgoing_msg(self, radio_id, ts, arg1):
        osmocore_log_hdr = util.create_osmocore_logging_header(
            timestamp = ts,
            process_name = b'Event',
            pid = 1630,
        )

        gsmtap_hdr = util.create_gsmtap_header(
            version = 2,
            payload_type = util.gsmtap_type.OSMOCORE_LOG)

        log_content = "LTE_RRC_EMM_OUTGOING_MSG: {}".format(arg1).encode('utf-8')

        self.parent.writer.write_cp(gsmtap_hdr + osmocore_log_hdr + log_content, radio_id, ts)
コード例 #9
0
ファイル: diaglteeventparser.py プロジェクト: bedrankara/scat
    def parse_event_lte_rrc_paging_drx_cycle(self, radio_id, ts, arg1, arg2):
        osmocore_log_hdr = util.create_osmocore_logging_header(
            timestamp = ts,
            process_name = b'Event',
            pid = 1614,
        )

        gsmtap_hdr = util.create_gsmtap_header(
            version = 2,
            payload_type = util.gsmtap_type.OSMOCORE_LOG)

        log_content = "LTE_RRC_PAGING_DRX_CYCLE: {:02x} {:02x}".format(arg1, arg2).encode('utf-8')

        self.parent.writer.write_cp(gsmtap_hdr + osmocore_log_hdr + log_content, radio_id, ts)
コード例 #10
0
    def parse_event_diag_process_name_id(self, radio_id, ts, arg_bin):
        osmocore_log_hdr = util.create_osmocore_logging_header(
            timestamp = ts,
            process_name = b'Event',
            pid = 2866,
        )

        gsmtap_hdr = util.create_gsmtap_header(
            version = 2,
            payload_type = util.gsmtap_type.OSMOCORE_LOG)

        diag_id = arg_bin[0]
        diag_process_name = arg_bin[1:].decode('utf-8')

        log_content = "DIAG_PROCESS_NAME: diag_id={}, diag_process_name={}".format(diag_id, diag_process_name).encode('utf-8')

        self.parent.writer.write_cp(gsmtap_hdr + osmocore_log_hdr + log_content, radio_id, ts)
コード例 #11
0
ファイル: diaglteeventparser.py プロジェクト: bedrankara/scat
    def parse_event_lte_rrc_dl_msg(self, radio_id, ts, arg1, arg2):
        osmocore_log_hdr = util.create_osmocore_logging_header(
            timestamp = ts,
            process_name = b'Event',
            pid = 1609,
        )

        gsmtap_hdr = util.create_gsmtap_header(
            version = 2,
            payload_type = util.gsmtap_type.OSMOCORE_LOG)

        channel_dl_map = {
            1: "BCCH",
            2: "PCCH",
            3: "CCCH",
            4: "DCCH"
        }

        message_type_map = {
            0x00: "MasterInformationBlock",
            0x01: "SystemInformationBlockType1",
            0x02: "SystemInformationBlockType2",
            0x03: "SystemInformationBlockType3",
            0x04: "SystemInformationBlockType4",
            0x05: "SystemInformationBlockType5",
            0x06: "SystemInformationBlockType6",
            0x07: "SystemInformationBlockType7",
            0x40: "Paging",
            0x4b: "RRCConnectionSetup",
            0x81: "DLInformationTransfer",
            0x85: "RRCConnectionRelease",
        }

        if arg1 in channel_dl_map.keys():
            channel = channel_dl_map[arg1]
        else:
            channel = "Unknown"

        if arg2 in message_type_map.keys():
            message_type = message_type_map[arg2]
        else:
            message_type = "Unknown ({:2x})".format(arg2)

        log_content = "LTE_RRC_DL_MSG: channel={}, message_type={}".format(channel, message_type).encode('utf-8')

        self.parent.writer.write_cp(gsmtap_hdr + osmocore_log_hdr + log_content, radio_id, ts)
コード例 #12
0
ファイル: diaglteeventparser.py プロジェクト: bedrankara/scat
    def parse_event_lte_emm_incoming_msg(self, radio_id, ts, arg1):
        osmocore_log_hdr = util.create_osmocore_logging_header(
            timestamp = ts,
            process_name = b'Event',
            pid = 1629,
        )

        gsmtap_hdr = util.create_gsmtap_header(
            version = 2,
            payload_type = util.gsmtap_type.OSMOCORE_LOG)

        if type(arg1) == bytes:
            log_content = "LTE_RRC_EMM_INCOMING_MSG: {}".format(binascii.hexlify(arg1)).encode('utf-8')
        else:
            log_content = "LTE_RRC_EMM_INCOMING_MSG: {:02x}".format(arg1).encode('utf-8')

        self.parent.writer.write_cp(gsmtap_hdr + osmocore_log_hdr + log_content, radio_id, ts)
コード例 #13
0
    def parse_event_diag_qshrink_id(self, radio_id, ts, arg_bin):
        osmocore_log_hdr = util.create_osmocore_logging_header(
            timestamp = ts,
            process_name = b'Event',
            pid = 2865,
        )

        gsmtap_hdr = util.create_gsmtap_header(
            version = 2,
            payload_type = util.gsmtap_type.OSMOCORE_LOG)

        diag_id = arg_bin[0]
        diag_uuid = arg_bin[1:]
        diag_uuid_real = uuid.UUID(bytes_le=b'\x00'*16)

        if len(diag_uuid) == 16:
            diag_uuid_real = uuid.UUID(bytes_le=diag_uuid)

        log_content = "DIAG_QSHRINK_ID: diag_id={}, diag_uuid={}".format(diag_id, diag_uuid_real).encode('utf-8')

        self.parent.writer.write_cp(gsmtap_hdr + osmocore_log_hdr + log_content, radio_id, ts)