GB/T 28181 engineering

GB/T 28181 diagnostics: SIP dialogs, SDP media and Catalog XML

A syntactically valid message can still fail at transaction, dialog, profile or media layers. This guide correlates those layers without exposing credentials or real endpoints.

Redact while preserving protocol structure

Never share Authorization values, nonces, passwords, real device identifiers, vehicle traces or public media endpoints. Replace identifiers with same-width synthetic values and use documentation-range addresses. Preserve line endings, header order where relevant, body encoding and Content-Length so the redacted message remains useful for byte-level diagnosis.

Group a flow by transport connection, Call-ID, dialog tags, branch and CSeq. Pasted order is not a reliable timeline unless it follows capture timestamps. Keep UDP retransmissions visible and distinguish them from separate business requests.

Validate SIP syntax, transaction and dialog separately

Parse the start line and required headers first, then match responses to request transactions using branch, method and CSeq. Dialog establishment additionally depends on Call-ID and tags. A message can parse correctly yet arrive in an invalid transaction state, carry a mismatched CSeq or target the wrong dialog.

Content-Length counts encoded body octets after the empty line. Multibyte XML, changed newlines and byte-order marks create mismatches that character counts miss. Recalculate after every body edit and compare the declared media type with the actual XML or SDP content.

Connect SDP to observed media

Read session-level and media-level connection scope, media port, transport, payload type mapping, direction and SSRC-related attributes. Dynamic RTP payload types receive meaning from rtpmap or the negotiated profile. Compare the resulting address, port, payload and clock with the actual packet flow rather than assuming the offer or answer was implemented.

NAT, relays and platform policy can make the observed endpoint differ from a private signaling address. Diagnose reachability only on systems you control. An SSRC conversion validates numeric representation; assignment and live/playback meaning still come from the selected GB/T edition and platform registration rules.

Validate XML commands and pagination

For Catalog and other MANSCDP XML bodies, validate well-formedness, encoding, command type, sequence number, device identity and required elements. Compare SumNum, DeviceList Num and actual Item count. Catalog results can span multiple messages, so one response is not necessarily the complete inventory.

A digit-only device ID can pass syntax while remaining unassigned or inconsistent with registration. Interpret code segments through licensed documents and project data, and preserve leading zeros. Do not expose real device inventories in test cases.

Correlate the first failed invariant

Build an incident timeline from signaling request through response, SDP negotiation, media arrival and teardown. Record the first failed invariant and keep a redacted regression flow. A later black screen or timeout is evidence, but the earliest reproducible transaction, address, length or packet-sequence failure is the better root-cause candidate.