Draft: draft-ietf-perc-double

Commentary: This PR refactors the packet format in -double to be friendlier to implementations using double - unaware base transforms . Move the OHB to the payload of the packet Arrange the inner tag , OHB , and outer tag so that appending / truncation are the only transormations needed in the encryption / decryption process Remove support for E2E - protected header extensions , so that implementations do n't need header - processing logic
Paragraph (version A):
Any SRTP packet processed following these procedures MAY contain an
Original Header Block (OHB) RTP header extension.
Paragraph (version A):
The OHB contains the original values of any modified header fields
and MUST be placed after any already-existing RTP header extensions.
Placement of the OHB after any original header extensions is
important so that the receiving endpoint can properly authenticate
the original packet and any originally included RTP header
extensions.  The receiving endpoint will authenticate the original
packet by restoring the modified RTP header field values and header
extensions.  It does this by copying the original values from the OHB
and then removing the OHB extension and any other RTP header
extensions that appear after the OHB extension.
Paragraph (version A):
The Media Distributor is only permitted to modify the extension (X)
bit, payload type (PT) field, and the RTP sequence number field.
Paragraph (version A):
The OHB extension is either one octet in length, two octets in
length, or three octets in length.  The length of the OHB indicates
what data is contained in the extension.
Paragraph (version A):
Note that "R" indicates a reserved bit that MUST be set to zero when
sending a packet and ignored upon receipt.  ID is the RTP Header
Extension identifier negotiated in the SDP.
Paragraph (version A):
If a Media Distributor modifies an original RTP header value, the
Media Distributor MUST include the OHB extension to reflect the
changed value, setting the X bit in the RTP header to 1 if no header
extensions were originally present.  If another Media Distributor
along the media path makes additional changes to the RTP header and
any original value is already present in the OHB, the Media
Distributor must extend the OHB by adding the changed value to the
OHB.  To properly preserve original RTP header values, a Media
Distributor MUST NOT change a value already present in the OHB
extension.
Paragraph (version B):
The Original Header Block (OHB) contains the original values of any
modified header fields.  In the encryption process, the OHB is
appended to the RTP payload.  In the decryption process, the
receiving endpoint uses it to reconstruct the original RTP header, so
that it can pass the proper AAD value to the inner transform.
Paragraph (version B):
The OHB can reflect modifications to the following fields in an RTP
header: the payload type, the sequence number, and the marker bit.
All other fields in the RTP header MUST remain unmodified; since the
OHB cannot reflect their original values, the receiver will be unable
to verify the E2E integrity of the packet.
Paragraph (version B):
In particular, an all-zero OHB config octet (0x00) indicates that
there have been no modifications from the original header.