diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2023-03-23 00:27:00 +0100 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2023-04-15 00:10:40 +0200 |
commit | 192f75010b889b54cd9f189b55a8f95bc58d2aa4 (patch) | |
tree | de2af1f61684932eb3bfb2770e458714c15a7067 /doc/sequence_charts | |
parent | ac55f8721a17244d0bc83bb15854933fdb1c2918 (diff) |
more verbose MNCC logging
It is pretty unclear what codec items MNCC sends and receives exactly
when:
* Bearer Capabilities speech versions,
* 'payload message type' and
* the new SDP information
Include these items in MNCC rx and tx logging.
In msc_log_to_ladder.py, in sequence charts generated from an actual
osmo-msc log, also show all MNCC codec items.
Change-Id: I19ccffa2f9b627ad51fffd344ee6e75908d30295
Diffstat (limited to 'doc/sequence_charts')
-rwxr-xr-x | doc/sequence_charts/msc_log_to_ladder.py | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/doc/sequence_charts/msc_log_to_ladder.py b/doc/sequence_charts/msc_log_to_ladder.py index 9bfb9c9c2..b342061a5 100755 --- a/doc/sequence_charts/msc_log_to_ladder.py +++ b/doc/sequence_charts/msc_log_to_ladder.py @@ -591,9 +591,11 @@ class Parse: self.diagram.add_line(Arrow(e, MSC, '<>', '.', 'CC state:\\n%s' % to_state)) return True - def rule_log_mncc_no_rtp(self, m): - r'.*trans\(CC[^) ]* [^ )]+:([^:)]+) callref-([^ ]+) [^)]+\) (tx|rx) (MNCC_[^ ]*)$' - l3type, callref_hex, tx_rx, mncc_msg = m.groups() + RE_LOG_MNCC_RTP_ADDR = re.compile('addr=([^ )]+)') + RE_LOG_MNCC_SDP_ADDR = re.compile('\(SDP ([^ ){]+)') + def rule_log_mncc(self, m): + r'.*trans\(CC[^) ]* [^ )]+:([^:)]+) callref-([^ ]+) [^)]+\) (tx|rx) (MNCC_[^ ]*)(.*)$' + l3type, callref_hex, tx_rx, mncc_msg, infos = m.groups() if self.seen_udtrace_mncc: # If no udtrace is present, take the MNCC logging. @@ -607,27 +609,17 @@ class Parse: except: e = MT - self.diagram.add_line(Arrow(e, MSC, '>' if tx else '<', 'mncc', mncc_msg)) - return True - - def rule_log_mncc_with_rtp(self, m): - r'.*trans\(CC[^) ]* [^ )]+:([^:)]+) callref-([^ ]+) [^)]+\) (tx|rx) (MNCC_[^ ]*) \(RTP=([^){]+)(|{.*})\)$' - l3type, callref_hex, tx_rx, mncc_msg, rtp, codec = m.groups() - - if self.seen_udtrace_mncc: - # If no udtrace is present, take the MNCC logging. - # But if there is udtrace logging available, we should not duplicate those MNCC lines. - return True + for m in Parse.RE_LOG_MNCC_RTP_ADDR.finditer(infos): + addr = m.group(1) + masked_addr = self.mask_value('IP:port', addr); + infos = infos.replace(addr, masked_addr) - tx = (tx_rx == 'tx') + for m in Parse.RE_LOG_MNCC_SDP_ADDR.finditer(infos): + addr = m.group(1) + masked_addr = self.mask_value('IP:port', addr); + infos = infos.replace(addr, masked_addr) - try: - e = self.callrefs_mo_mt.get(callref_hex, MT) - except: - e = MT - - rtp = self.mask_value('IP:port', rtp) - self.diagram.add_line(Arrow(e, MSC, '>' if tx else '<', 'mncc', f'{mncc_msg}\\n{rtp}')) + self.diagram.add_line(Arrow(e, MSC, '>' if tx else '<', 'mncc', f'{mncc_msg}\\n{infos}')) return True RE_MNCC_RTP = re.compile(' ip := ([^, ]+), rtp_port := ([0-9]+),') |