Brief an agent on a vendor's Diameter extensions
Your task
Your telecom backend needs a parser for one vendor's extended Diameter, a signaling protocol that network nodes use to talk to each other. The extensions are documented only in a 200-page PDF and 12 packet captures from the vendor's lab. Last month an agent's parser handled standard messages well and quietly misread every vendor field.
Write the brief you would give the agent, and say what you attach to it.
What you know:
- a Diameter message is a 20-byte header, then a list of AVPs, each a code, flags, a length and data padded to 4 bytes; the V flag means a 4-byte vendor id follows the length
- section 7 of the PDF lists the vendor's 38 AVPs with codes and data types
- 2 of them break the usual rules: AVP 2011 holds a 3-byte big-endian counter, and AVP 2019's length does not count its vendor id
- the parser is Python, and Wireshark can decode the standard parts of the captures
Then, in a few sentences: why did the first parser get standard fields right and vendor fields wrong?