Network Working Group L-E. Jonsson
INTERNET-DRAFT Ericsson
Expires: April 2003 October 25, 2002
Interoperability of RFC 3095
<draft-ietf-rohc-rtp-rfc3095-interoperability-00.txt>
Status of this memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or cite them other than as "work in progress".
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/lid-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This document is a submission of the IETF ROHC WG. Comments should be
directed to the ROHC WG mailing list, rohc@ietf.org.
Abstract
RFC 3095 defines a Proposed Standard protocol for RObust Header
Compression (ROHC). In order to move the standard further to Draft
Standard status, it is required to demonstrate interoperability for
all functionality defined by the RFC. This document outlines those
features to be tested, and also the test status for each feature,
based on reports from interoperability tests or other proof of
interoperability.
Jonsson [Page 1]
INTERNET-DRAFT Interoperability of RFC 3095 October 25, 2002
Table of Contents
1. Introduction..................................................2
2. General ROHC Feature Tests....................................3
3. Profile 0 Feature Tests.......................................4
4. Profile 1 Feature Tests.......................................4
5. Profile 2 Feature Tests......................................12
6. Profile 3 feature Tests......................................12
7. Security Considerations......................................13
8. Acknowledgements.............................................13
9. References...................................................13
10. Author's Address............................................13
1. Introduction
The Internet standards process [RFC-2026] places a number of
requirements on a standards track protocol specification. In
particular, when advancing a protocol from Proposed Standard to Draft
Standard level it is necessary to demonstrate at least two
independent and interoperable implementations, from different code
bases, of all options and features of that protocol. Further, in
cases where one or more options or features have not been
demonstrated in at least two interoperable implementations, the
specification may advance to Draft Standard level only if those
options or features are removed.
The RObust Header Compression (ROHC) framework and initial profiles
was originally specified in RFC 3095 as a Proposed Standard [RFC-
3095]. Since the publication of RFC 3095, the protocol has been
implemented by a number of different parties, who have also performed
interoperability tests to verify both their implementations and the
standard itself.
As part of the process of taking RFC 3095 further to Draft Standard
level, it has become necessary to clearly define what must be tested,
and also collect the test status for each item. This document aims at
providing that, by initially listing all pieces of the RFC 3095
mechanisms which must be subject to interoperability testing. The
intention is further to regularly revise this document with status
information for each item, as interoperability updates are reported
from the community.
1.1. Overview of Test Strategies
This document basically consists of two parts. First, section 2 lists
general, profile independent, pieces to be tested, and then the rest
of the document covers detailed test cases for each profile in
separate sections.
Jonsson [Page 2]
INTERNET-DRAFT Interoperability of RFC 3095 October 25, 2002
All profile test lists have a common structure and covers the
following test case groups:
- Interoperable exchange of all header formats
- Interoperable exchange of feedback data, using all feedback formats
- All possible mode transitions
- Other features, such as various encoding mechanisms that use the
same header formats.
An interoperable exchange includes compression and transmission, but
especially correct interpretation and decompression. Correctness is
assumed to be verified by comparing the uncompressed input header
with the decompressed output. For feedback data, an interoperable
exchange assumes a similar procedure in the opposite transmission
direction. However, since feedback packets are generated by the
decompressor and terminated by the compressor, there are no original
data to compare with output data. Correct interpretation of feedback
data must therefore be ensured by other means. Since robustness is an
important goal of the ROHC scheme, there are several mechanisms that
would not be exceedingly tested without operating on the robustness
limits of those mechanisms. However, it gets extremely complicated to
define test cases covering all potential combinations of compressed
headers, loss scenarios, and the resulting decompression. Therefore,
if not explicitly stated otherwise, tests defined in this document
assume loss-less transmission between compressor and decompressor.
2. General ROHC Feature Tests
Although not yet explicitly defined, the ROHC framework includes a
number of general mechanisms that are common for all profiles. This
section lists test cases for these framework mechanisms (FW).
Test cases for ROHC framework mechanisms:
FW-CID-S. Interoperable exchange of non-padded and non-segmented
ROHC small-CID packets without an ADD-CID octet.
FW-CID-A. Interoperable exchange of non-padded and non-segmented
ROHC small-CID packets with the ADD-CID octet present.
FW-CID-L. Interoperable exchange of non-padded and non-segmented
ROHC large-CID packets.
FW-SEG-1. Interoperable exchange of ROHC packets segmented with
the ROHC segmentation scheme, correctly reassembled, and
validated with the 4-octet segmentation CRC.
FW-SEG-2. Interoperable exchange of ROHC packet segments where a
lost segment causes the reassembled packet to be
discarded due to an invalidation by the 4-octet
segmentation CRC.
Jonsson [Page 3]
INTERNET-DRAFT Interoperability of RFC 3095 October 25, 2002
FW-PAD. Interoperable exchange of ROHC packets which use ROHC
padding.
FW-FB-1-P. Interoperable exchange of ROHC FEEDBACK-1 data through
piggybacking in ROHC packets.
FW-FB-2-P. Interoperable exchange of ROHC FEEDBACK-2 data through
piggybacking in ROHC packets.
FW-FB-1-I. Interoperable exchange of ROHC FEEDBACK-1 data through
interspersing among ROHC packets.
FW-FB-2-I. Interoperable exchange of ROHC FEEDBACK-2 data through
interspersing among ROHC packets.
3. Profile 0 Feature Tests
Test cases for ROHC profile 0x0000 (no compression):
P0-IR. Interoperable exchange of profile 0x0000 IR packets.
P0-NP. Interoperable exchange of profile 0x0000 Normal packets.
P0-FB. Interoperable exchange of profile 0x0000 Feedback.
4. Profile 1 Feature Tests
This section lists test cases for ROHC profile 0x0001 (IP/UDP/RTP).
4.1. Header Formats
Test cases for IR formats:
P1-IR-4. Interoperable exchange of profile 0x0001 IR packets for
IPv4.
P1-IR-6. Interoperable exchange of profile 0x0001 IR packets for
IPv6.
P1-IRD-4. Interoperable exchange of profile 0x0001 IR-DYN packets
for IPv4.
P1-IRD-6. Interoperable exchange of profile 0x0001 IR-DYN packets
for IPv6.
Jonsson [Page 4]
INTERNET-DRAFT Interoperability of RFC 3095 October 25, 2002
Test cases for CO formats:
P1-CO-1. Interoperable exchange of profile 0x0001 UO-0 packets.
P1-CO-2. Interoperable exchange of profile 0x0001 UO-1 packets.
P1-CO-3. Interoperable exchange of profile 0x0001 UO-1-ID packets.
P1-CO-4. Interoperable exchange of profile 0x0001 UO-1-TS packets.
P1-CO-5. Interoperable exchange of profile 0x0001 UOR-2 packets.
P1-CO-6. Interoperable exchange of profile 0x0001 UOR-2-ID
packets.
P1-CO-7. Interoperable exchange of profile 0x0001 UOR-2-TS
packets.
P1-CO-R1. Interoperable exchange of profile 0x0001 R-0 packets.
P1-CO-R2. Interoperable exchange of profile 0x0001 R-0-CRC packets.
P1-CO-R3. Interoperable exchange of profile 0x0001 R-1 packets.
P1-CO-R4. Interoperable exchange of profile 0x0001 R-1-ID packets.
P1-CO-R5. Interoperable exchange of profile 0x0001 R-1-TS packets.
Test cases for optional mechanisms in CO formats:
P1-OP-U1. Interoperable exchange of profile 0x0001 compressed
packets with the UDP checksum enabled (included).
P1-OP-U2. Interoperable exchange of profile 0x0001 compressed
packets with the UDP checksum disabled (not included).
P1-OP-I1. Interoperable exchange of profile 0x0001 compressed
packets with an outer IPv4 header IP-ID value.
P1-OP-I2. Interoperable exchange of profile 0x0001 compressed
packets without an outer IPv4 header IP-ID value.
P1-OP-I3. Interoperable exchange of profile 0x0001 compressed
packets with an inner IPv4 header IP-ID value.
P1-OP-I4. Interoperable exchange of profile 0x0001 compressed
packets without an inner IPv4 header IP-ID value.
P1-OP-A1. Interoperable exchange of profile 0x0001 compressed
packets with outer list AH data.
Jonsson [Page 5]
INTERNET-DRAFT Interoperability of RFC 3095 October 25, 2002
P1-OP-A2. Interoperable exchange of profile 0x0001 compressed
packets without outer list AH data.
P1-OP-A3. Interoperable exchange of profile 0x0001 compressed
packets with inner list AH data.
P1-OP-A4. Interoperable exchange of profile 0x0001 compressed
packets without inner list AH data.
P1-OP-G1. Interoperable exchange of profile 0x0001 compressed
packets with an outer header GRE checksum.
P1-OP-G2. Interoperable exchange of profile 0x0001 compressed
packets without an outer header GRE checksum.
P1-OP-G3. Interoperable exchange of profile 0x0001 compressed
packets with an inner header GRE checksum.
P1-OP-G4. Interoperable exchange of profile 0x0001 compressed
packets without an inner header GRE checksum.
Test cases for extensions to CO formats:
P1-EX0-1. Interoperable exchange of profile 0x0001 CO packets with
an Extension 0, where the base compressed header does not
carry a T-bit.
P1-EX0-2. Interoperable exchange of profile 0x0001 CO packets with
an Extension 0, where the base compressed header carries
a T-bit with value 1.
P1-EX0-3. Interoperable exchange of profile 0x0001 CO packets with
an Extension 0, where the base compressed header carries
a T-bit with value 0.
P1-EX1-1. Interoperable exchange of profile 0x0001 CO packets with
an Extension 1, where the base compressed header does not
carry a T-bit.
P1-EX1-2. Interoperable exchange of profile 0x0001 CO packets with
an Extension 1, where the base compressed header carries
a T-bit with value 1.
P1-EX1-3. Interoperable exchange of profile 0x0001 CO packets with
an Extension 1, where the base compressed header carries
a T-bit with value 0.
Jonsson [Page 6]
INTERNET-DRAFT Interoperability of RFC 3095 October 25, 2002
P1-EX2-1. Interoperable exchange of profile 0x0001 CO packets with
an Extension 2, where the base compressed header does not
carry a T-bit.
P1-EX2-2. Interoperable exchange of profile 0x0001 CO packets with
an Extension 2, where the base compressed header carries
a T-bit with value 1.
P1-EX2-3. Interoperable exchange of profile 0x0001 CO packets with
an Extension 2, where the base compressed header carries
a T-bit with value 0.
P1-EX3-1. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3, where the SN octet is present (S=1).
P1-EX3-2. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3, where the SN octet is not present (S=0).
P1-EX3-3. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3, where TS octets are present (R-TS=1).
P1-EX3-4. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3, where no TS octets are present (R-TS=0).
P1-EX3-5. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3, where the ID octet is present (I=1).
P1-EX3-6. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3, where the ID octet is not present (I=0).
P1-EX3-7. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3, where inner IP header flags are present
(ip=1).
P1-EX3-8. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3, where inner IP header flags are not
present (ip=0).
P1-EX3-9. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3, where outer IP header flags are present
(ip2=1).
P1-EX3-10. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3, where outer IP header flags are not
present (ip2=0).
Jonsson [Page 7]
INTERNET-DRAFT Interoperability of RFC 3095 October 25, 2002
Test cases for additional flags and fields in Extension 3:
P1-X3I-1. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and inner IP header fields, where the
inner IP header TOS field is present (TOS=1).
P1-X3I-2. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and inner IP header fields, where the
inner IP header TOS field is not present (TOS=0).
P1-X3I-3. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and inner IP header fields, where the
inner IP header TTL field is present (TTL=1).
P1-X3I-4. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and inner IP header fields, where the
inner IP header TTL field is not present (TTL=0).
P1-X3I-5. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and inner IP header fields, where the
inner IP header Protocol/Next Header field is present
(PR=1).
P1-X3I-6. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and inner IP header fields, where the
inner IP header Protocol/Next Header field is not present
(PR=0).
P1-X3I-7. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and inner IP header fields, where inner IP
header extension headers are present (IPX=1).
P1-X3I-8. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and inner IP header fields, where inner IP
header extension headers are not present (IPX=0).
P1-X3O-1. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and outer IP header fields, where the
outer IP header TOS field is present (TOS2=1).
P1-X3O-2. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and outer IP header fields, where the
outer IP header TOS field is not present (TOS2=0).
P1-X3O-3. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and outer IP header fields, where the
outer IP header TTL field is present (TTL2=1).
P1-X3O-4. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and outer IP header fields, where the
outer IP header TTL field is not present (TTL2=0).
Jonsson [Page 8]
INTERNET-DRAFT Interoperability of RFC 3095 October 25, 2002
P1-X3O-5. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and outer IP header fields, where the
outer IP header Protocol/Next Header field is present
(PR2=1).
P1-X3O-6. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and outer IP header fields, where the
outer IP header Protocol/Next Header field is not present
(PR2=0).
P1-X3O-7. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and outer IP header fields, where outer IP
header extension headers are present (IPX2=1).
P1-X3O-8. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and outer IP header fields, where outer IP
header extension headers are not present (IPX2=0).
P1-X3O-9. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and outer IP header fields, where the
outer IP header IP-ID field is present (I2=1).
P1-X3O-10. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and outer IP header fields, where the
outer IP header IP-ID field is not present (I2=0).
P1-X3R-1. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and RTP header field, where the RTP PT
field is present (R-PT=1).
P1-X3R-2. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and RTP header fields, where the RTP PT
field is not present (R-PT=0).
P1-X3R-3. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and RTP header fields, where the
Compressed CSRC list is present (CSRC=1).
P1-X3R-4. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and RTP header fields, where the
Compressed CSRC list is not present (CSRC=0).
P1-X3R-5. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and RTP header fields, where TS_STRIDE
octets are present (TSS=1).
P1-X3R-6. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and RTP header fields, where TS_STRIDE
octets are not present (TSS=0).
Jonsson [Page 9]
INTERNET-DRAFT Interoperability of RFC 3095 October 25, 2002
P1-X3R-7. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and RTP header fields, where TIME_STRIDE
octets are present (TIS=1).
P1-X3R-8. Interoperable exchange of profile 0x0001 CO packets with
an Extension 3 and RTP header fields, where TIME_STRIDE
octets are not present (TIS=0).
Test cases for IP extension header lists: TBW
Test cases for compressed CSRC lists: TBW
4.2. Feedback Formats
Test cases for feedback base formats:
P1-FB-1. Interoperable exchange of profile 0x0001 FEEDBACK-1
packets.
P1-FB-2. Interoperable exchange of profile 0x0001 FEEDBACK-2
packets without any feedback options present.
P1-FB-3. Interoperable exchange of profile 0x0001 FEEDBACK-2
packets with feedback options.
Test cases for feedback options:
P1-FBO-1. Interoperable exchange of profile 0x0001 FEEDBACK-2
packets with the CRC option present.
P1-FBO-2. Interoperable exchange of profile 0x0001 FEEDBACK-2
packets with the REJECT option present.
P1-FBO-3. Interoperable exchange of profile 0x0001 FEEDBACK-2
packets with the SN-NOT-VALID option present.
P1-FBO-4. Interoperable exchange of profile 0x0001 FEEDBACK-2
packets with the SN option present.
P1-FBO-5. Interoperable exchange of profile 0x0001 FEEDBACK-2
packets with the CLOCK option present.
P1-FBO-6. Interoperable exchange of profile 0x0001 FEEDBACK-2
packets with the JITTER option present.
P1-FBO-7. Interoperable exchange of profile 0x0001 FEEDBACK-2
packets with the LOSS option present.
Jonsson [Page 10]
INTERNET-DRAFT Interoperability of RFC 3095 October 25, 2002
4.3. Mode Transitions
Test cases for mode transitions:
P1-MT-UO. Interoperable exchange of profile 0x0001 packets in one
continuous sequence, including packets sent before,
during, and after a complete mode transition from
Unidirectional to Bi-directional Optimistic mode of
operation.
P1-MT-OR. Interoperable exchange of profile 0x0001 packets in one
continuous sequence, including packets sent before,
during, and after a complete mode transition from
Bi-directional Optimistic to Bi-directional Reliable mode
of operation.
P1-MT-UR. Interoperable exchange of profile 0x0001 packets in one
continuous sequence, including packets sent before,
during, and after a complete mode transition from
Unidirectional to Bi-directional Reliable mode of
operation.
P1-MT-RO. Interoperable exchange of profile 0x0001 packets in one
continuous sequence, including packets sent before,
during, and after a complete mode transition from
Bi-directional Reliable to Bi-directional Optimistic mode
of operation.
P1-MT-OU. Interoperable exchange of profile 0x0001 packets in one
continuous sequence, including packets sent before,
during, and after a complete mode transition from
Bi-directional Optimistic to Unidirectional mode of
operation.
P1-MT-RU. Interoperable exchange of profile 0x0001 packets in one
continuous sequence, including packets sent before,
during, and after a complete mode transition from
Bi-directional Reliable to Unidirectional mode of
operation.
Jonsson [Page 11]
INTERNET-DRAFT Interoperability of RFC 3095 October 25, 2002
4.4. Other features
Test cases for encoding mechanisms:
P1-ET-UC. Interoperable exchange of profile 0x0001 packets with TS
values transmitted in their original, uncompressed, form.
P1-ET-SC. Interoperable exchange of profile 0x0001 packets with TS
values transmitted based on the Scaled RTP Timestamp
encoding method.
P1-ET-TB. Interoperable exchange of profile 0x0001 packets with TS
values transmitted based on the Timer-Based RTP Timestamp
encoding method.
P1-EI-1. Interoperable exchange of profile 0x0001 IPv4 packets
with offset IP-ID values in NBO (Network Byte Order).
P1-EI-2. Interoperable exchange of profile 0x0001 IPv4 packets
with offset IP-ID values in non-NBO (non-Network Byte
Order).
Test cases for header compression CRC's:
P1-CRC-3. Interoperable exchange of profile 0x0001 packets with a
3-bit CRC, where packets are correctly verified by a
matching CRC.
P1-CRC-7. Interoperable exchange of profile 0x0001 packets with a
7-bit CRC, where packets are correctly verified by a
matching CRC.
P1-CRC-8. Interoperable exchange of profile 0x0001 packets with a
8-bit CRC, where packets are correctly verified by a
matching CRC.
5. Profile 2 Interoperability Tests
TBW
6. Profile 3 Interoperability Tests
TBW
Jonsson [Page 12]
INTERNET-DRAFT Interoperability of RFC 3095 October 25, 2002
7. Security Considerations
When implementing and testing various protocol mechanisms as
described in this document, the security issues of [RFC-3095] should
be taken into consideration. This document, however, does not imply
any additional security aspects to be considered.
8. Acknowledgements
The "RTP Interoperability Statement" draft by Colin Perkins has been
a valuable source for ideas to this document. Thanks also to Carsten
Bormann and Vicknesan Ayadurai for fruitful discussions and comments.
9. References
[RFC-2026] Bradner, S., "The Internet Standards Process", RFC 2026,
October 1996.
[RFC-3095] Bormann, C., Burmeister, C., Degermark, M., Fukushima,
H., Hannu, H., Jonsson, L-E., Hakenberg, R., Koren, T.,
Le, K., Liu, Z., Martensson, A., Miyazaki, A., Svanbro,
K., Wiebke, T., Yoshimura, T. and H. Zheng, "Robust
Header Compression (ROHC)", RFC 3095, July 2001.
10. Author's Address
Lars-Erik Jonsson Tel: +46 920 20 21 07
Ericsson AB Fax: +46 920 20 20 99
Box 920
SE-971 28 Lulea
Sweden EMail: lars-erik.jonsson@ericsson.com
Jonsson [Page 13]
INTERNET-DRAFT Interoperability of RFC 3095 October 25, 2002
Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
This Internet-Draft expires April 25, 2003.
Jonsson [Page 14]