Telecommunications Industry Association (TIA) TR-30.1/00-03-21 Newport Beach, CA Nov 22, 2000 COMMITTEE CONTRIBUTION Technical Committee TR-30 Meetings SOURCE: Hughes Network Systems CONTACT: Jeff Heath Hughes Network Systems 10450 Pacific Center Court San Diego, CA 92121 Phone: (619) 452-4826 Fax: (619) 597-8979 E-mail: jheath@hns.com TITLE: Proposal for V.44 Parameter Negotiation and Algorithm Switching PROJECT: PN-xxxx DISTRIBUTION: Members of TR-30 and TR-30.1 and meeting attendees ABSTRACT This paper presents a method for negotiating V.44 parameters and switching compression algorithms in real time under control of the data compression function. Copyright Statement The contributor grants a free, irrevocable license to the Telecommunications Industry Association (TIA) to incorporate text contained in this contribution and any modifications thereof in the creation of a TIA standards publication; to copyright in TIA's name any TIA standards publication even though it may include portions of this contribution; and at TIA's sole discretion to permit others to reproduce in whole or in part the resulting TIA standards publication. Intellectual Property Statement The individual preparing this contribution knows of patents, the use of which may be essential to a standard resulting in whole or in part from this contribution. 1. Introduction and Background The current data compression standard, V.42bis, relies upon XID message exchange during the establishment of the link protocol, V.42, to negotiate the V.42bis parameters prior to entering information transfer mode and the exchange of compressed data. It has been suggested that a better method may be to exchange V.44 compression capabilities using V.8/V.8bis then negotiate the parameters between the data compression peers during V.42 information transfer mode. This proposal assumes that the protocol peers on either side of the V.42 link initiate flow control of the respective devices during parameter negotiation. This proposal does not assume that V.42bis be retroactively changed to support the V.44 parameter negotiation method proposed herein. It is assumed that this method would apply to V.44, possible V.44 enhancements, and future data compression algorithms. 2. Proposed V.44 Parameter Negotiation 2.1. V.8 Capabilities Negotiation During V.8 startup the modem peers exchange data compression capabilities. If one or both of the peers does not support V.44 then negotiation for V.42bis data compression occurs as it does currently during V.42 XID message exchange. If both peers support V.44, then parameter negotiation occurs during data exchange by the V.44 peers after the V.42 link is established. This parameter negotiation is described in the following sections. 2.2. V.44 Initialization V.44 is initialized by the V.44 Control Function. V.44 initializes to Transparent Mode and does not necessarily initialize any Compression Mode variables, dictionaries, or history. The following command codes are defined for V.44 Transparent Mode a) EID – Escape in Data. b) ECM – Enter Compression Mode. Must be preceded by the ESC character. This signals the V.44 peer to enter Compression Mode. c) EPM – Enter Parameter Mode. Must be preceded by the ESC character. This signals the V.44 peer to enter Parameter Mode where data compression negotiation parameters are exchanged between the data compression peers. In Transparent Mode the escape character is used by the encoder function to send commands to the peer decoder. Thus, the EPM and ECM must be preceded by the value of the current escape character. The escape character starts out at 0 and is modified each time it is detected in the data, while in “transparent mode” only, by adding 51 modulo 255. If the current escape character is detected in the received data, the received escape character is transmitted followed by the EID command code. 2.3. Parameter Mode Parameter Mode is entered from Transparent Mode to negotiate or modify data compression parameters. Parameter Mode is also the mechanism by which data compression algorithm switching could be accomplished. The Parameter Mode commands are as follows a) EPM – End Parameter Mode. Signals an end to parameter mode and a return to Transparent Mode. b) SPS – Start Parameter Sequence. This command indicates that a parameter sequence follows which specifies the algorithm for which the parameter applies and a specific parameter. The SPS command must be immediately followed by an algorithm code, then by a parameter number specific to that algorithm, and a parameter value (if any) specific to that parameter. A separate SPS and parameter sequence is used for each individual parameter that is sent to the data compression peer. c) SCA – Switch Compression Algorithms. This command must be followed immediately by the code specifying the selected algorithm. The peer is instructed to switch to the specified algorithm when the EPM command is received signaling a return to Transparent Mode. d) LFC – Line Fill Character. Sent periodically by the Control Function to keep the line active while in Parameter Mode waiting for parameters from the data compression peer. 2.3.1. Algorithm Codes Following are the codes for supported algorithms: 0 – LZJH version 1.0 2.4. V.44 Algorithm Parameters These are the compression parameters for V.44. Each parameter has a default value such that parameter exchange is necessary only if there is a change to the default value or to the previously negotiated value. Each parameter is followed by one or more bytes which specifies the value of the parameter. a) P0 – Compression Direction. One byte value specified as follows: 00 – neither direction. 01 – in direction of this peer to other peer only. 10 – in direction of other peer to this peer only. 11 – in both directions b) P1T – Proposed number of encoder dictionary code words for this peer and decoder dictionary code words for the other peer. A 16 bit value specifying the number of code words. c) P1R – Proposed number of decoder dictionary code words for this peer and encoder dictionary code words for the other peer. A 16 bit value specifying the number of code words. d) P2T – Proposed encoder maximum string length for this peer and decoder maximum string length for the other peer. A byte value specifying the maximum string length. e) P2R – Proposed decoder maximum string length for this peer and encoder maximum string length for the other peer. An 8 bit value specifying the maximum string length. f) P3T – Proposed encoder history length for this peer and decoder history length for the other peer. A 24 bit value specifying the length of the history in bytes. g) P3R – Proposed decoder history length for this peer and encoder history length for the other peer. A 24 bit value specifying the length of the history in bytes. 2.5. Control Function Interface To support the negotiation of parameters within the data compression function, an additional primitive is proposed for the Control Function interface as follows: C-PARM – transfer compression negotiation parameters to/from the data compression function.