Network Working Group H. Hannu, Ericsson INTERNET-DRAFT J. Christoffersson, Ericsson Expires:
AugustSeptember 2002 S. Forsgren. Ericsson K. Leung, Nokia Z. Liu, Nokia R. Price, Siemens/Roke Manor February 15,March 1, 2002 SigComp - Extended Operations <draft-ietf-rohc-sigcomp-extended-01.txt><draft-ietf-rohc-sigcomp-extended-02.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 its mailing list, firstname.lastname@example.org. Abstract This document defines extended operation mechanisms, such as explicit acknowledgements and shared compression, for [SIGCOMP]. When these extended mechanisms are applied an increase of the compression efficiency is expected. Table of contents 1. Introduction..................................................2 2. Terminology...................................................2 3. Architectural view for feedback...............................4of feedback................................4 4. State reference model.........................................5 5. Extended operation mechanisms.................................6 6. Implications on SigComp.......................................9 7. Security considerations......................................14considerations......................................13 8. IANA considerations..........................................14considerations..........................................13 9. Acknowledgements.............................................14 10. Authors' addresses...........................................14 11. Intellectual Property Right Considerations...................15 12. References...................................................15 Appendix A. Document history.....................................16history.....................................15 1. Introduction This document defines extended operation mechanisms, such as explicit acknowledgements and shared compression, for [SIGCOMP]. These mechanisms are expected to improve the compression efficiency, compared to the case when one of the communicating implementations only supportsupports the basic SigComp. For better understanding of this draft the reader should consult [SIGCOMP]. 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]. Universal Decompressor Virtual Machine (UDVM) The virtual machine described in [SIGCOMP]. The UDVM is used for decompression of SigComp messages. The UDVM is capable of interoperating with a wide range of compression algorithms.Decompressor The decompressor invokes the UDVM. Itis responsible for supplying the UDVM with compressed data and make decompressed data available forconverting a SigComp message into uncompressed data. Decompression functionality is provided by the application.UDVM. Compressor The compressor invokes thean encoder, and keeps track of states that can be used for compression. ResponsibleIt is responsible for supplying UDVM instructionsbytecode to itsthe remote decompressor in order for compressed data to be decompressed. Explicit acknowledgements Is defined as the case where an acknowledgement for a state is explicitly sent from a decompressor to aits remote compressor. The acknowledgment can either be sent standalone or piggybacked with a SigComp message. Shared compression Is defined as the case when a compressor uses data that has beenCompression relative to messages received by the local associated decompressor.decompressor prior to the current compressed message. Dynamic compression Is defined as the case when a compressor uses data, which are relatedCompression relative to previous SigComp messages.messages sent prior to the current compressed message. Encoder Encodes data according to a (compression) algorithm into UDVM readable code.bytecode. The encoded data can be decoded by a UDVM provided with the needed instructions.UDVM. Application InvokesFor the purpose of this document, an application is a text-based protocol software that: invokes the SigComp compressor and decompressor. State Data saved eitherfor retrieval by a compressor or a decompressor. The datalater SigComp messages. An item of state typically reflects the contents of athe UDVM memory.memory after decompressing a message, but state can also be created by the compressor or by the application. State identifier Reference used to aaccess an item of state saved eitherpreviously created by a compressorthe compressor, the decompressor or a decompressor.the application. - state_identifier This is a reference to a state, which a compressor uses for compression. - shared_identifier This is a reference to a state, which consist only of an uncompressed message. This kind of state is necessary for efficient utilization of shared compression, as remote compressors might use different compression algorithms. - acked_identifier This is a reference to a state, which is acknowledged andsaved and acknowledged by a decompressor. SigComp message May contain a compressed application message in the form of UDVM bytecode. In case of a message- basedmessage-based transport, such as UDP, a SigComp message corresponds to exactly one (UDP) datagram. For a stream-based transport, such as TCP, each SigComp message is separated by a 0xFFFF delimiter. Application message An uncompressed message, as provided from or to the application, which is to be compressed by the compressor. When delivered from the decompressor the data has passed through the decompression process and is referred to as decompressed data or a decompressed message.data. 3. Architectural view forof feedback A SigComp endpoint may provide feedbackcapability announcement information to its remote SigComp endpoint using the UDVM instruction END-MESSAGE. That particular functionality of SigComp is used in this document to provide support for extended operation mechanisms described in this document, e.g. shared compression and explicit acknowledgements. The capability announcement functionality of SigComp can be viewed as a particular type of feedback, which an endpoint provides to its remote endpoint, see Figure 1. +--------------------+ +--------------------+ | Endpoint 1 | | Endpoint 2 | | +--------------+ | | +--------------+ | | | Compressor 1 | | | | Decompressor ||Decompressor 2| | | | [------------+--+--------------+--+--] * | | | +-|-------^----+ | | +--|---|-------+ | | | | | | | | | | | | | | | | | | | | | | | | | | +-|-------|----+ | | +--v---|-------+ | | | * [----+--+--------------+--+------] | | | | Decompressor ||Decompressor 1| | | | Compressor 2 | | | +--------------+ | | +--------------+ | +--------------------+ +--------------------+ Figure 1. Architectural view With theThis functionality of SigComp is extended feedback format specifiedin Section 6,this document to make it ispossible for a SigComp endpoint to confirm which states that have been established to its remote SigComp endpoint. The establishedendpoint during the SigComp session. The established state confirmations are referred to as acknowledgments. Depending on the established states this particular type of feedback may be used to increase the compression efficiency. The following Sections describes how the mechanism for providing the capability announcement information is used for providing support for some of the extended SigComp mechanisms described in this document. Section 4 starts by describing the State reference model of SigComp. Section 5 continues with a general description of SigComp extended operation mechanisms, and Section 6 describes the implications on basic SigComp for some of the extended mechanisms. 4. State reference model A UDVM may want to save the status of its memory and this status is referred to as a state. As explained in [SIGCOMP] a savestate save request may or may not be granted. For later reference to a saved state, e.g. if the UDVM is to be loaded with this state, a reference is needed to locate the specific state. This reference is called state identifier. 4.1. Overview of state reference with dynamic compression When compressor 1 (comp_1)compresses a message Mm it uses the information corresponding to a UDVM state that its remote decompressor (decomp_2)2 has established and acknowledged. If comp_1 decides that it for compression of later messagescompressor 1 would like to be able to use the new state, which is the formerstate with the additionfor compression of information from M,later messages it must save the new state. IfThe new state contains information from the former state and m. When an acknowledgement is received for this new state, comp_1compressor 1 can utilize the new state in the compression process. Below is an overview of the model. AvailableSaved state(s) Compressor: The state is anticipated for compression of later messages, and is therefore saved. Decompressor: The decompressor saves the state if it will acknowledge it. An acknowledged state may be used for compression. Acked state(s) The compressor can only use a state(s) that the remote decompressor has saved and acknowledged. Compressor 1 Decompressor 2 +---+ +---+ | C | | D | +---+ +---+ AvailableSaved Acked | | AvailableSaved State(s) State(s) | | State(s) -----------------------+------------+------------------ s0 s0 | | s0 s1=s0+m1 | --m1(s0)-->| | <--ack(s1) | s0,s1 s0,s1 s0,s1 | | | | s0,s1 s0,s1 | --m2(s1)-->| (m2 Lost) s2=s1+m1 | | | | s0-s2 s0,s1 | | s3=s1+m3 | --m3(s1)-->| s0,s1 | | | | | <--ack(s3) | s0,s1,s3=s1+m3 s0-s3 s0,s1,s3 | | Figure 2. Example of message flow. 5. Extended operation mechanisms The following subsections give a general description for the extended operation mechanisms and features, such as explicit acknowledgements and shared compression. 5.1. Explicit acknowledgement scheme For a compressor to be able to utilize a certain state it must know that the remote decompressor has access to this state. In the case where compressed messages can be lost or misordered on the path between compressor and decompressor, some sort of acknowledgement must be used by a decompressor to notify the remote compressor that a certain state has been established. Over reliable and ordered transport the most recent state may be used, ifThis is also needed in SigComp because the compressor has downloaded such aUDVM instruction codememory is reset after each compressed message due to its remote decompressor. The following subsections describe how an explicit acknowledgement schemesecurity risks, and shared compression canalso as a request to save a state may not be applied in SigComp. 5.1. Explicit acknowledgement schemegranted. A SigComp message will along with the compressed message carry a reference to which state that was used for compression of the message. This reference is the state_identifier, as described in Section 2. Together with state_identifier the SigComp message may also carry an acknowledgement, which would be the acked_identifier, see Section 2. The acknowledgement can be either standalone or piggybacked. For security reasons as explained in SigComp it is RECOMMENDED that this particular feedback is piggybacked and not sent standalone. 5.2. Shared Compression To allow for shared compression a compressing endpoint MUST save a state, which isthe uncompressed version of the compressed message.message as a state. The reference to this uncompressed version is the shared_identifier, as described in Section 2. It must also indicate to its remote decompressor that this compressed message's uncompressed version was saved as a state at the compressor. If a compressing endpoint indicates that a shared compression state was saved, its local decompressor MUST be able to retrieve that particular state. The retrieval of this particular state is done according to the state retrieval instructions of the UDVM. 5.3. Maintaining state data across session Usually, signaling protocols (e.g. SIP) have the concept of sessions. However, from the compression point of view, the messages sent by the same source contain redundancies beyond session boundary. Consequently, it is natural to maintain the state data from the same source across sessions so that high performance can be achieved and maintained with the overhead amortized over a much longer period of time than a session. 5.4. Use of user-specific dictionary The concept of user-specific dictionary is based on the following observation that for protocols such as SIP, a given user/device combination will produce some messages containing fields that are always populated with the same data. Take SIP as an example, capabilities of the SIP endpoints are communicated during session initiation, and do not tend to change unless the device's capabilities change. Similarly, user-specific information such as a user's URL, a user's name, and a user's e-mail address likely won't change on frequent basis, and will appear regularly in SIP signaling exchanges involving a specific user. Therefore, a SigComp compressor could start uploading the user- specific dictionary, as part of the initial state, to the decompressor even before any signaling messages are generated from a particular application . This enables the immediate compression/decompression once the messages start to flow. 5.5. Checkpoint state and rollback mechanism The following mechanisms can be used to recover from decompression failure due to a reference to a non-exist state (i.e. not established at all or has been deleted by the decompressor) or a corrupted state: 1) When a compressor sends a compressed message that will create new decompression state on the decompressor side, it can set a CHK_PT bit in the message to indicate that the newly created state will be a checkpoint state. A checkpoint state means that the decompressor SHOULD NOT delete it until it is explicitly instructed -- by the compressor -- to do so. In addition, the checkpoint state MUST be explicitly acknowledged by the receiving decompressor to the sending compressor. 2) When a decompressor encounters a decompression failure as described above, it can send a rollback message to its remote compressor indicating such a failure. In addition, the rollback message may carry a list of state IDs of those checkpoint states that are currently maintained by the decompressor. This is useful in the case when the decompressor has to delete even checkpoint states due to limited memory. When receiving such a rollback message, the compressor MUST NOT use any state to compress subsequent messages other than those explicitly listed in the rollback message or if the list is empty, than those checkpoint states it stores locally and have been acknowledged. 5.6. Implicit deletion when creating a new state To achieve the maximum compression efficiency, a compressor may want to delete part (e.g. dictionary part) of byte buffer to make room for the new content. This is especially important when implementing SigComp with limited memory (as in the case of a mobile terminal). With the implicit deletion, some part(s) of the byte buffer are chosen to be deleted according to a well defined algorithm that is known and applied in the same way at both compressor and decompressor. As input into the algorithm, one provides the total size to be deleted (e.g. number of bytes), and the algorithm specifies which part(s) are to be deleted. The freed room can then allow new content to be added to the byte buffer. Since the same algorithm is applied at both SigComp entities, there is no need to explicitly signal which part(s) have been deleted. In particular, when the allocated memory has been filled up, each SigComp entity, when it wants to add items of combined size S, will implicitly delete part(s) of combined size S. Since there is no need for signaling, the scheme is more efficient (lower signaling overhead) and more robust (less prone to errors or losses affecting the signaling information). For example, the implicit deletion may be applied to the entire writable UDVM memory defined by working_memory_start and working_memory_end or only some parts of the writable UDVM memory. In the latter case, it is assumed that the peer SigComp entities agree on which parts the operation is applied to and the total size of those parts. 6. Implications on SigComp The extended operations will have implication on the SigComp messages sent between the compressor and the remote decompressor. It will also have implications on how to interpret the interface between the UDVM and its local decompressor functionalities. Note that an implementation that does not make use of explicit acknowledgements and/or shared compression is not effected even if it receives this kind of feedback. The following sections described the implications due to explicit acknowledgements and shared compression. 6.1. Implications on SigComp messages For the support of the extended operation mechanisms, shared compression and explicit acknowledgements, SigComp messages must be able to carry the indications and information addressed in Section 5.Sections 5.1 and 5.2. The basic SigComp message has the following format: 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | | : state_identifier (n-bytes) : | | +---+---+---+---+---+---+---+---+ | | : Remaining UDVM bytecode : | | +---+---+---+---+---+---+---+---+ Figure 3. Format of basic SigComp message. The content of the UDVM byte code is an implementation decision. However, in the case of extended operations it should convey the following information: - The shared_identifier as described in Section 2, and Section 5.2, MUST be conveyed when shared compression is applied. - State identifiers of states that are acknowledged as successfully saved by the decompressor, i.e. acked_identifiers. Figure 4, depicts an example of what an extended basic SigComp message, with the support of all extended operation mechanisms,shared compression and explicit acknowledgements, could look like. Note that this is only an example, the format is an implementation decision. 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | | : state_identifier (n-bytes) : | | +---+---+---+---+---+---+---+---+ | s | a | r | b | Reserved | +---+---+---+---+---+---+---+---+ | | : shared_identifier (n-bytes) : Present if 's' is set | | +---+---+---+---+---+---+---+---+ | | : acked_identifier (n-bytes) : Present if 'a' is set | | +---+---+---+---+---+---+---+---+ | Possible | : Compressed data : | | +---+---+---+---+---+---+---+---+ Figure 4. Example of SigComp message for extended operations. 'r' : If set, then a state corresponding to the decompressed version of this compressed message was saved at the compressor. 'b' : Explained in Section 220.127.116.11.2.2. For the explanation of (n-bytes) see [SIGCOMP]. 6.2. Implications on the UDVM-decompressor interface This interface is used to pass feedback information from the UDVM to its local decompressor. The decompressor then forwards this information on to the local compressor. 6.2.1. GeneralSigComp feedbackcapability announcement format The generalSigComp feedbackcapability announcement information hasmechanisms is, as explained in Section 3, used to provide the support for shared compression and explicit acknowledgements. The following format:format is specified in SigComp and is made available to the compressor by the UDVM instruction END-MESSAGE +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Totallength | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UDVM_version | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | overall_memory_size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | cycles_per_bit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | cycles_per_message | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Requested feedback lengthn | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | id_length 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : Requested feedbackid_value_1 : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : : : : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Returned feedback lengthid_length n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : Returned feedbackid_value_n : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : reserved : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 5. High-level view of generalSigComp feedback information.capability announcement information For description of the items see [SigComp]. The following Section describes how the general feedback formatcapability announcement information is usedinterpreted to provided extended operation mechanismsprovide feedback according to basic sigComp. 6.2.2.Section 5.1 and 5.2. 6.2.1. Extended SigComp requestedfeedback format The requested feedbackWhen a SigComp message is feedback fromnot regarded as a capability announcement message, the UDVMEND-MESSAGE instruction does not actually point to its remote compressor. To makethe extended acknowledgement scheme work, the Requestedcapability announcement location but rather to a feedback is filledlocation with information on states that UDVM requests the state handler to save. In case the state handler refuses to save one or more of the indicated states,the feedback sent from the compressor will be updated accordingly. Theformat of the Requested feedback is of the following form: The variable n specifies the number of state identifiers includedblock as depicted in the extended operations feedback format. id_length (x)Figure 7. The id_length(s) and id_values (x)id_value(s) corresponds to the same state. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | id_length 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : id_value_1 : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | id_length 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : id_value_2 : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : : : : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | id_length n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : id_value_n : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 6. Format of the Requested feedback. 6.2.2. Extended SigComp returned feedback format The returned feedback is feedback fromhash_length and hash_value for state(s) that have been established at the remote endpointend- point due to the local compressor.received SigComp messages and may be used for compression, i.e. these are acknowledgements for established states. The 'r' bit indicates that an uncompressed version of the compressed message sent in this message has been saved at the remote endpoint, with the demands of Section 5.2. The 'b' bit is explained in Section 18.104.22.168.2.2. The format of the returnedfeedback information block is of the following form: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |r|b| n| length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | id_length 1UDVM_version | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | overall_memory_size | : id_value_1 :+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | cycles_per_bit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | cycles_per_message | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | id_length 21 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : id_value_2id_value_1 : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : : : : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | id_length n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : id_value_n : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |r|b| reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : reserved : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 7. Format of the Returnedextended feedback. 6.2.3. Acknowledgement optimization This section describes an optimization forA basic SigComp implementation will not recognize the case when shared compression is usedidentifier values and an acknowledgementshould not consider the reserved field in the feedback location therefore it is piggybacked.not effected if it receives this kind of feedback. 6.2.2. Acknowledgement optimization Consider the following scenario. Comp_1scenario, see Figure 1. Compressor 1 sends a message M compressed,m, compressed with state(s0)state s0, to decomp_1.decompressor 2. As comp_1Compressor 1 supports shared compression it saves state(M),the uncompressed message m as a state M, and sets bit 'r', to signal that state(M)state M can be used by comp_2compressor 2 in the compression process. If decomp_1decompressor_1 saves state(s0+M) = state(s1), which is thea new state, s1, using information in state of the UDVM after decompression of M,s0 and m then state(s1)this new state can be implicitly acknowledged, if comp_2 usesacknowledged in case compressor 2 utilizes shared compression by using state M for further compression. Comp_2The implicit acknowledgement is given by compressor 2 which sets the 'b' bit, whichbit and the shared identifier. The shared identifier indicates that state(s0+M) is saved, which can be found from state(M), which is referenced by shared_identifier.the state M has been used for compression together with the state indicated in the state_identifier. The 'b' bit indicates that state s1 has been saved at decompressor 2. That is, the 'b' bit and the shared identifier for M indicate that the state used to compress m together with the actual message m, have been saved as a new state (s1) at decompressor 2. This avoids the acked_identifier for state s1 to be present in the SigComp message for state(s0+M). Thus, amessage. Also, the compressor that sets the 'r' bit should also hold a mapping between state(M)the state M and state(s0+M).state s1. Note: The only state that this feature acknowledges, is the state that was created by combining the state used for compression of the shared message and the shared message itself. For any other case the acked_identifier has to be used. 7. Security considerations The features in this document are believed not to add any additional security risks to the ones in [SIGCOMP]. 8. IANA considerations [Editors[Editor's note: This section isTBW] 9. Acknowledgements [Editors note: This section is TBW. Some names have been moved here from the list of authors]Thanks to Carsten Bormann (email@example.com) Christopher Clanton (firstname.lastname@example.org) Miguel Garcia (Miguel.A.Garcia@ericsson.com) Lars-Erik Jonsson (email@example.com) Khiem Le (firstname.lastname@example.org) Mats Nordberg (email@example.com) Jonathan Rosenberg (firstname.lastname@example.org) Krister Svanbro (email@example.com) for valuable input and review. 10. Authors' addresses Hans Hannu Phone: +46 920 20 21 84 Fax: +46 920 20 20 99 E-Mail: firstname.lastname@example.org Jan Christoffersson Phone: +46 920 20 28 40 Fax: +46 920 20 20 99 E-Mail: email@example.com Stefan Forsgren Phone: +46 920 20 23 39 Fax: +46 920 20 20 99 E-Mail: firstname.lastname@example.org Box 920 Ericsson Erisoft AB SE-971 28 Lulea, Sweden Ka Cheong Leung Phone: +1 972 374-0630 Fax: +1 972 894-4589 E-mail: email@example.com Zhigang Liu Phone: +1 972 894-5935 Fax: +1 972 894-4589 E-Mail: firstname.lastname@example.org Nokia Research Center 6000 Connection Drive Irving, TX 75039, USA Richard Price Phone: +44 1794 833681 E-mail: email@example.com Roke Manor Research Ltd Romsey, Hants, SO51 0ZN United Kingdom 11. Intellectual Property Right Considerations The IETF has been notified of intellectual property rights claimed in regard to some or all of the specification contained in this document. For more information consult the online list of claimed rights. 12. References [SIP] Handley et. al., SIP: Session Initiation Protocol, RFC 2543, Internet Engineering Task Force, March 1999 [SIGCOMP] H. Hannu et. al., Signaling Compression (SigComp), Internet Draft (work in progress), FebruaryMarch 2002. <draft-ietf-rohc-sigcomp-04.txt><draft-ietf-rohc-sigcomp-05.txt> Appendix A. Document history - January 28, 2002, version 00 First version. This draft describes the extended operation mechanisms, explicit acknowledgements and shared compression from draft-ietf-rohc-sigcomp-02.txt. - February 15, 2002, version 01 Second version. Updated to reflect the changes made in SigComp-04. - March 1, 2002, version 02 Third version. Updated to reflect the changes made in [SIGCOMP]. This Internet-Draft expires in AugustSeptember 2002.