Network Working Group                      Kristofer Sandlund, Effnet AB
INTERNET-DRAFT
Expires: August 2005
                                                       February 14, 2005



                       ROHC LLA Implementer's Guide
                <draft-ietf-rohc-rtp-lla-impl-guide-01.txt>


Status of this memo


   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of RFC 3668.

   By submitting this Internet-Draft, I (we) accept the provisions of
   Section 3 of RFC 3667 (BCP 78).

   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 to cite them other than as "work in progress".

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

   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

   This document describes common misinterpretations and some ambiguous
   points of ROHC LLA [3], which defines the Link-Layer Assisted profile
   for IP/UDP/RTP.
   These points have been identified by the members of the ROHC working
   group during implementation of the profile.






Sandlund                                                        [Page 1]


INTERNET-DRAFT        ROHC LLA Implementer's Guide     February 14, 2005


Table of Contents

  1. Introduction.....................................................2
  2. Terminology......................................................2
  3. CSP Packet Format................................................2
  4. CRC Verification of CCP packets..................................3
  5. Security Consideration...........................................3
  6. Acknowledgments..................................................4
  7. Authors' Addresses...............................................4
  8. References.......................................................4
     8.1. Normative references........................................4



1. Introduction

   ROHC LLA [3] defines a profile for compressing IP/UDP/RTP by using
   functionality provided by the lower layers to achieve a zero byte
   compressed header during normal operation.
   During implementation of this profile, some errors and unclear areas
   have been identified. This document tries to correct and clarify
   those points.

2. Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD, "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [1].


3. CSP Packet Format

   The format of the CSP packet has been identified as non-interoperable
   when carrying a RHP header with a 3-bit or 7-bit CRC. This problem
   occurs due to the payload having been dropped by the compressor,
   while the decompressor is supposed to use the payload length to infer
   certain fields in the uncompressed header. These fields are the IPv4
   total length, the IPv6 payload length, the UDP length and the IPv4
   header checksum field (all INFERRED fields in [2]).

   To correct this problem, the CSP packet needs to contain information
   about the payload length carried in the RHP packet. Therefore the
   length of the RTP payload is carried in the CSP packet. The redefined
   format for the CSP packet is therefore as follows:










Sandlund                                                        [Page 2]


INTERNET-DRAFT        ROHC LLA Implementer's Guide     February 14, 2005


      0   1   2   3   4   5   6   7
      +---+---+---+---+---+---+---+---+
      | 1   1   1   1   1   0   1   0 | Packet type identifier
      +===+===+===+===+===+===+===+===+
      /       RTP Payload Length      / 2 octets
      +---+---+---+---+---+---+---+---+
      :  ROHC header without padding  :
      :    see [ROHC, section 5.7]    :
      +---+---+---+---+---+---+---+---+

      Updating properties: CSP maintains the updating properties of the
      ROHC header it carries.

      RTP Payload Length: This field is the length of the payload
      carried inside the RTP header, stored in network byte order. I.e.
      this field will be set by the compressor to (UDP length - size of
      the RTP header including CSRC identifiers).

  When the decompressor receives a CSP packet, it MUST use the RTP
  payload length field to calculate the value of fields classified as
  INFERRED in [2] when attempting to verify a 3- or 7-bit CRC carried
  in the RHP header enclosed in the CSP.
  When the encapsulated RHP packet only carries an 8-bit CRC, the RTP
  payload length MAY be used by the decompressor for verification of
  the decompressed header.

   The packet format defined in this section obsoletes the header format
   for the CSP defined in [3] Section 4.1.2.


4. CRC Verification of CCP packets

   When a CCP packet with the C-bit set is received by the decompressor,
   the decompressor uses the 7-bit CRC in the packet to verify the
   context. For this verification to succeed, the decompressor needs to
   have access to the entire uncompressed header of the latest packet
   decompressed.
   Some implementations of [2] might not save the values of INFERRED
   fields. An implementation of ROHC LLA MUST save these fields in the
   decompressor context to be able to successfully verify CCP packets.

   Also, section 4.1.3 of [3] states that upon CRC failure, the actions
   of [2] section 5.3.2.2.3 MUST be taken. That section specifies that
   detection of SN wraparound and local repair must be performed.
   Neither of these steps apply when the failing packet is a CCP, and
   therefore only the action described when both these steps fail should
   be taken (i.e the steps a-d).


5. Security Consideration




Sandlund                                                        [Page 3]


INTERNET-DRAFT        ROHC LLA Implementer's Guide     February 14, 2005


   This document provides some changes and clarifications to [3], but it
   is not belived that these changes add any extra security
   considerations than those listed in [3].


6. Acknowledgments

   The author would like to thank Joakim Enerstam, Ghyslain Pelletier
   and Lars-Erik Jonsson for their contributions and comments.


7. Authors' Addresses

   Kristofer Sandlund           Tel:    +46 920 60917
   Effnet AB                    EMail:  kristofer.sandlund@effnet.com
   Stationsgatan 69
   97234 Lulea
   Sweden


8. References

8.1. Normative references

   [1]  S. Bradner, "Key words for use in RFCs to Indicate Requirement
        Levels", RFC 2119, March 1997.
   [2]  C. Bormann, et. al, "RObust Header Compression (ROHC): Framework
        and four profiles: RTP, UDP, ESP, and uncompressed", RFC 3095,
        July 2001.
   [3]  L. Jonsson, G. Pelletier, "RObust Header Compression (ROHC): A
        Link-Layer Assisted Profile for IP/UDP/RTP", RFC 3242, April
        2002.






















Sandlund                                                        [Page 4]


INTERNET-DRAFT        ROHC LLA Implementer's Guide     February 14, 2005


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights. Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard. Please address the information to the IETF at ietf-
   ipr@ietf.org.


Copyright Statement

   Copyright (C) The Internet Society (2004). This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM 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 August 14, 2005.







Sandlund                                                        [Page 5]