<div dir="ltr">Hello,<div><br></div><div>According to RFC6733, the diameter header Command Code field is three octets (i.e 24 bits) but the Erlang diameter header implementation has it defined as a 1 octet field (i.e 8 bits). Why?</div>
<div><br></div><div><br></div><div><br></div><div><b>RFC 6733</b>:</div><div><br></div><div><div>3. Diameter Header</div><div><br></div><div> A summary of the Diameter header format is shown below. The fields</div><div>
are transmitted in network byte order.</div><div><br></div><div> 0 1 2 3</div><div> 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1</div>
<div> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div><div> | Version | Message Length |</div><div> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div>
<div> | Command Flags | Command Code |</div><div> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div><div> | Application-ID |</div>
<div> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div><div> | Hop-by-Hop Identifier |</div><div> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div>
<div> | End-to-End Identifier |</div><div> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div><div> | AVPs ...</div><div> +-+-+-+-+-+-+-+-+-+-+-+-+-</div>
</div><div><br></div><div><b>C:\Program Files\erl6.0\lib\diameter-1.6\include\diameter.hrl:</b><br></div><div><div>-record(diameter_header,</div><div> {version, %% 8-bit unsigned</div><div> length, %% 24-bit unsigned</div>
<div> <b> cmd_code, %% 8-bit unsigned</b></div><div> application_id, %% 24-bit unsigned</div><div> hop_by_hop_id, %% 32-bit unsigned</div><div> end_to_end_id, %% 32-bit unsigned</div>
<div> is_request, %% boolean() R flag</div><div> is_proxiable, %% boolean() P flag</div><div> is_error, %% boolean() E flag</div><div> is_retransmitted}). %% boolean() T flag</div>
</div><div><br></div><div>BR,</div><div>Austin</div></div>