Sipping                                                   Haseeb Akhtar
Internet-Draft                                             Dave Brombal
Expires: March 9, 2007                                    Anthony Jones
                                                                 Nortel
                                                     September 10, 2006


              New SIP Headers for Reducing SIP Message Size
              draft-akhtar-sipping-header-reduction-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 BCP 79.

   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/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on August 26, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   Current SIP messages are text based and inherently large, especially
   when these messages are to be transmitted over the bandwidth-strained
   wireless access technologies (a typical orginiating SIP Invite is
   about 1200 bytes).

   For most wireless technologies, transmitting the session initiation
   messages (such as SIP Invite) over the signaling channel can reduce
   the call setup time substantially. The size limitation of these
   wireless signaling channels are typically very small (~210 bytes in
   the uplink and ~110 bytes in the downlink).


Akhtar, et al.          Expires March 9, 2007                [Page 1]


Internet-Draft          SIP Header Reduction           September 2006

   To address this problem, a new function called Encoding Assitant
   (EA) has been introduced in the User Agent (UA) and in the
   SIP Proxy server within the network. Additionally, the method
   provided in this document defines new SIP option tags and headers.
   These new option tags and headers allow the UA and a SIP Proxy
   server within the network (such as the P-CSCF), to exchange
   information using the signaling channels supported by most wireless
   access networks.














































Akhtar, et al.          Expires March 9, 2007                [Page 2]


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     3.1 SIP Registration . . . . . . . . . . . . . . . . . . . . . .  6
   4.  Option Tags and Headers  . . . . . . . . . . . . . . . . . . .  8
     4.1 Option Tag 'encode' for 'Supported' header field . . . . . .  8
     4.2 Option Tag '3G-Dictionary' for 'Supported' header field  . .  8
     4.3 P-Encode-Identities. . . . . . . . . . . . . . . . . . . . .  9
     4.4 P-Encode-Access-Networks . . . . . . . . . . . . . . . . . . 10
     4.5 P-Encode-Security  . . . . . . . . . . . . . . . . . . . . . 11
     4.6 P-Contact-List . . . . . . . . . . . . . . . . . . . . . . . 11
     4.7 P-Contact-List-Location  . . . . . . . . . . . . . . . . . . 12
   5.  EA Details . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     5.1 Encoding Considerations  . . . . . . . . . . . . . . . . . . 12
     5.2 Decoding Considerations  . . . . . . . . . . . . . . . . . . 14
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 17
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 17
   8.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 17
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 17
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18
   Intellectual Property and Copyright Statements . . . . . . . . . . 18


































Akhtar, et al.          Expires March 9, 2007                [Page 3]


Internet-Draft          SIP Header Reduction           September 2006


1.  Introduction

   One of the Key Performance Indicators (KPI) of the Delay Sensitive
   (DS) applications such as Voice over IP (VoIP), Push To Talk (PTT),
   Video Telephony (VT) is the call set time. Current SIP messages
   used for this purpose are text based and inherently large, especially
   when these messages are to be transmitted over the bandwidth-strained
   wireless access technologies (a typical orginiating SIP Invite is
   about 1200 bytes).

   Additionally, for most wireless technologies, transmitting the DS
   session initiation messages (such as SIP Invite) over the signaling
   channel can reduce the call setup time substantially. The size
   limitation of these wireless signaling channels are typically very
   small (~210 bytes in the uplink and ~110 bytes in the downlink).

   To address this problem, a new function called Encoding Assitant
   (EA) has been introduced in the User Agent (UA) and in the
   SIP Proxy server within the network. Additionally, the method
   provided in this document defines new SIP option tags and headers.
   These new option tags and headers allow the UA and a SIP Proxy
   server within the network (such as the P-CSCF), to exchange
   information using the signaling channels supported by most
   wireless access networks.

   The proposed EA function along with the new SIP option tags
   and/or SIP headers as detailed in this document will help in
   reducing the call setup time for the DS applications.


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 [2].


3.  Overview

   A new function called Encoding Assistant (EA) has been introduced
   in the UA and in the SIP Proxy server. The EA function is used to
   set the context between the mobile and the SIP Proxy server during
   SIP Registration using the new Option Tags and/or Headers
   mentioned in this document.

   The EA function within both UA and the SIP Proxy server may use
   these new option tags and/or headers during the subsequent SIP
   message exchanges, as and when possible.





Akhtar, et al.          Expires March 9, 2007                [Page 4]


Internet-Draft          SIP Header Reduction           September 2006


   The following figure shows the high level view of the functional
   components of the mobile and the SIP Server.


    ++++++++++++++                       ++++++++++++++
    + SIP        +                       + SIP        +
    ++++++++++++++                       ++++++++++++++
    + EA         +                           + EA         +
    ++++++++++++++                       ++++++++++++++
    + SIGComp    +                           + SIGComp    +
    ++++++++++++++                       ++++++++++++++
    + TCP/UDP    +                       + TCP/UDP    +
    ++++++++++++++                       ++++++++++++++
    + IP         +                       + IP         +
    ++++++++++++++                       ++++++++++++++
    + Layer 2    +                       + Layer 2    +
    ++++++++++++++                       ++++++++++++++
    + Physical   +   <--------------->   + Physical   +
    ++++++++++++++ (Any Wireless Access) ++++++++++++++

         UA                                SIP Server

    Figure 1: Functional Components of UA and SIP Server






























Akhtar, et al.          Expires March 9, 2007                [Page 5]


Internet-Draft          SIP Header Reduction           September 2006

3.1 SIP Registration

   The following figure shows the interactions between
   the UA and the SIP Proxy server during the SIP Registration
   in order to establish the EA context.


         UA                                SIP Server
          |--------(1) SIP Register------------>|
          |                                     |
          |                        (2) SIP Server checks if
          |                            the UA supports the
          |                            EA function. If
          |                            supported, continue
          |                            with the next step.
          |                            Otherwise, go to
          |                            step (5) below.
          |                                     |
          |                                     |
          |                        (3) EA function within the
          |                            SIP Server gathers
          |                            information such as
          |                            public IDs, supported
          |                            security protocols,
          |                            contact list etc.
          |                                     |
          |                                     |
          |                        (4) SIP Server creates
          |                            indexed list for
          |                            public IDs, supported
          |                            security protocols,
          |                            supported access
          |                            networks etc.
          |                                     |
          |                                     |
          |<--------(5) SIP 200 OK--------------|
          |                                     |
          |                                     |
   (6) UA checks if the                         |
       SIP Proxy server supports                |
       the EA function. If                      |
       supported, UA may                        |
       send subsequent SIP                      |
       messages using new 'P'                   |
       headers. Otherwise,                      |
       UA continues with existing               |
       SIP operations.                          |
          |                                     |
          |                                     |

    Figure 2: SIP Registration for EA Context Setup



Akhtar, et al.          Expires March 9, 2007                [Page 6]


Internet-Draft          SIP Header Reduction           September 2006

The following is the summary of the SIP Registration as shown in
Figure 2 above.

 (1) The UA sends a SIP Registration message as described in [2] and
     [3]. The UA shall add the following SIP headers to the SIP
     Register.
      - Supported: encode (a new option tag specified in section 4)
      - Allow
      - Privacy
      - Contact-List-Location

 The Allow and Privacy header values shall be set to the default
 values that would be used in subsequent SIP messages (Invite,
 etc.).

 (2) SIP Proxy server checks if the UA supports the EA function. If the
     UA does support the EA function, the SIP Proxy server shall store
     the content of the following header fields.
       - Supported
       - Via
       - Privacy
       - Allow
       - Contact
       - P-Access-Network-Info
       - Security-Verify

     In the case where UA does not support the EA function, the
     SIP Proxy server transitions to step (5).

 (3) The EA function within the SIP Proxy server retrieves and stores
     the following information related to this specific user.
     This information may be retrieved from another SIP server (Proxy,
     Serving or others) or from a database within the network.
       - Public IDs
       - Supported Security Protocols
       - Supported Access Networks
       - Contact List
       - Service Route

 (4) The EA function within the SIP Proxy server creates indexed lists
     using the following new headers (as defined in section 4)
     based on the information retrieved in step (3).
       - P-Encode-Identities
       - P-Encode-Access-Networks
       - P-Encode-Security

     The SIP Proxy server indicates that it supports the EA function
     by including the 'Supported:encode' header in the SIP 200
     OK as defined in section 4.





Akhtar, et al.          Expires March 9, 2007                [Page 7]


Internet-Draft          SIP Header Reduction           September 2006

     The SIP Proxy server may indicate that it supports the 3G
     dictionary (as specified by [4]) by including the
     'Supported:3g-dictionary' header in the SIP 200 OK as
     defined in section 4.

  (5) SIP Proxy server sends a SIP 200 OK to the UA. If the UA supports
      the EA function (as determined in step (1) above), the
      following headers and option tags (as specified in section
      4) are included in the SIP 200 OK message.
       - Supported: encode, 3g-dictionary
       - P-Encode-Identities
       - P-Encode-Access-Networks
       - P-Encode-Security

      Otherwise (i.e., if the UA does not support the EA function),
      the SIP Server sends the SIP 200 OK to the UA as specified
      in [2] and [3].

  (6) Upon receiving the SIP 200 OK, the UA checks if the SIP Proxy
      server supports EA function. If the EA function is supported
      by the SIP Proxy server, the UA sets the proper context based on
      the new 'P' headers (as specified in section 4.0) received in
      the SIP 200 OK. If, however, the SIP Proxy server does not
      support the EA function (i.e., by excluding the 'encode' option
      tag in the'Supported' header), the UA continues to process the
      SIP 200 OK as specified in [2] and [3].

4.  Option Tags and Headers

   The following new option tags and/or headers are needed to
   support the EA function within the UA and the SIP Proxy server.

4.1 Option Tag 'encode' for 'Supported' header field

   An option tag is introduced to indicate if the UA and/or the SIP
   server supports the EA based SIP header reduction. This shall be
   done by including 'Supported:encode' in the SIP message.

   If indicated in the SIP message, the EA function within the
   UA and the SIP Proxy server shall support the encoding scheme as
   specified by this document.


4.2 Option Tag '3G-Dictionary' for 'Supported' header field

   An option tag is intorduced to indicate if the UA and/or
   SIP Proxy server supports a 3G enhanced SIP/SDP dictionary as
   specified in [4]. This is done by including
   'Supported:3g-dictionary' in the SIP message.





Akhtar, et al.          Expires March 9, 2007                [Page 8]


Internet-Draft          SIP Header Reduction           September 2006


   If indicated in the SIP message, the UA and the EA function
   within the SIP Proxy server shall support a 3G enhanced dictionary.

4.3 P-Encode-Identities

   There are 6 SIP/SDP header fields that use various forms of identity
   information to describe the local user. The UA and the SIP Proxy
   server shall establish an indexed list of these values and shall
   exchange this index when identifying one of the entries. The list
   may have up to 16 entries. The following are the SIP/SDP header
   fields that utilize identity information:

    -   Via identity: This identity shall be derived from the contents
    of the ‘Via’ header. The ‘Via’ header is included in the initial
    Register message. The IP address and port number or URI
    included in the ‘Via’ header is saved as index entry # 0 in the
    Identity list.

    - From identity: This identity shall be derived from the contents
    of the ‘From’ header. The ‘From’ header is included in the
    initial Register message. The IP address and the port number or URI
    included in the ‘From’ header shall be entered as index entry # 1
    in the Identity list.

    - Contact identity: This identity shall be derived from the contents
    of the 'Contact' header. The 'Contact' header is included in the
    initial Register message. The IP address and the port number or URI
    included in the ‘From’ header shall be entered as index entry # 2
    in the Identity list.

    - P-Preferred-Identity: The UA may select the
    ‘P-Preferred-Identity’ from a number of possible public identities.
    For example, as specified in [2] and [3], the SIP Proxy server
    (P-CSCF in this case) is provided a list of the  acceptable
    ‘P-Preferred-Identity’ values in the P-Associated-URI header from
    another SIP Serving server (S-CSCF, in this case).

   In order to ensure synchronized use of index values for these
   identities, this list must be forwarded to the UA keeping the same
   order. If a UA registers several public identities, the EA
   function within the SIP Proxy server must aggregate and rationalize
   (i.e. cull duplicates from) before forwarding the aggregate list to
   the UA.

   A maximum of 13 P-Preferred-Identity’s entries are allowed in
   order to accommodate the ‘Via’, ‘From’ and ‘Contact’ identities
   described previously.






Akhtar, et al.          Expires March 9, 2007                [Page 9]


Internet-Draft          SIP Header Reduction           September 2006

    -   SDP "o=" line: The content for this line will generally be
    created by information available at the SIP Proxy server. As a
    result, no additional values need to be exchanged for this SDP
    field.

    -   SDP "c=" line: The content for this line will generally be
    created by information available at the SIP Proxy server. As a
    result, no additional values need to be exchanged for this SDP
    field.

   The list of identities shall be transferred to the UA using a new
   header attached to the 200OK (or similar) response to the initial
   Register request. The format of the header shall be as shown below,
   containing up to 16 total entries, with the order implying the index
   value to use, beginning with 0.

    Format:     P-Encode-Identities: <address:port | user.domain>
      *15[, <address:port|user.domain>]
    Source:     SIP Proxy server
    Destination: UA

4.4 P-Encode-Access-Networks

   Only a limited set of access network types are expected for the UA.
   A small set of values (up to 8) is defined in advance and provisioned
   in the SIP Proxy server. The following strings are suggested for the
   initial set of network types <net-type>:

    - IEEE-802.11a
    - IEEE-802.11b
    - 3GPP-UTRAN-FDD; utran-cell-id-3gpp=
    - 3GPP-UTRAN-TDD; utran-cell-id-3gpp=
    - 3GPP-CDMA2000; evdo-cell-id-3gpp2=
    - 3GPP-CDMA2000; 1x-cell-id-3gpp2=

   The list of network types shall be transferred to the UA using this
   new header attached to the 200 OK (or similar) response to the
   initial Register request (as shown in step (5) of Figure 2).

   The format of the header shall be as shown below, containing up to 8
   total entries, with the order implying the index value to use,
   beginning with 0.

    Format:     P-Encode-Access-Networks: <net-type> *7[, <net-type>]
    Source:     SIP Proxy server
    Destination: UA








Akhtar, et al.          Expires March 9, 2007               [Page 10]


Internet-Draft          SIP Header Reduction           September 2006


4.5 P-Encode-Security

   Only a limited set of security types are expected for the UA. A
   small set of values (up to 16) is defined in advance and
   provisioned in the SIP Proxy server. The following strings are
   suggested for the initial set of security types <sec-type>:

    - ipsec-3gpp
    - HMAC-MD5-96
    - HMAC-SHA-1-96

  The list of security types shall be transferred to the UA using
  this new header attached to the 200 OK (or similar) response to
  the initial Register request (as shown in step (5) of Figure 2).

  The format of the header shall be as shown below, containing
  up to 16 total entries, with the order implying the index
  value to use, beginning with 0.

   Format: P-Encode-Security: <sec-type> *15[, <sec-type>]
   Source: SIP Proxy server
   Destination: UA

4.6 P-Contact-List

  The addresses used to direct the initial Invite (or similar)
  message will, in most cases, be drawn from a local
  phone-book/address-book. These are referred to as a Contact
  List. This list is expected to be too large to exchange
  over the air under normal operation (e.g. when placing a call).

  It is expected that this will be maintained and kept in
  sync by the user periodically as a 'maintenance' activity
  done every few days or weeks through some form of service
  offered by the Service Provider, and is outside the scope
  of this document, but it is assumed that this synchronization has
  occurred, and that use of a 10 bit index value by the user will
  be able to be mapped to the desired destination by the network.

  The Contact List shall be stored at the shared XDMS (or
  related location), and shall be transferred from there to the
  SIP Proxy server during SIP registration.

  Within the SIP network, the list shall be transferred between
  the SIP servers using this SIP header attached to the 200 OK
  (or similar) response to the initial Register request.

  The format of the header shall be as shown below, containing
  up to 1024 total entries, with the order implying the index
  value to use, beginning with 0.



Akhtar, et al.          Expires March 9, 2007               [Page 11]


Internet-Draft          SIP Header Reduction           September 2006


   Format: P-Contact-List: <address/URI> *1023[, <address/URI>]
    Source:     SIP Proxy server/SIP Serving server/Other SIP server
    Destination: SIP Serving server/SIP Proxy server/Other SIP
                 server

4.7 P-Contact-List-Location

  The contact list of an user is located in a database within
  the service provider's network (such as a Shared XDMS). The
  SIP Proxy server may not be aware of the identity of this
  database. This header shall contain the address (such as URI)
  of the database that stores the contact list of that specific
  user.

  The format of the header shall be as shown below, containing
  an address of the contact list database.

   Format: P-Contact-List-Location: <address/URI>
            *1[, <address/URI>]
    Source:     UA
    Destination: SIP Proxy server


5. EA Details

  The EA function required to support the SIP Header Reduction
  Proposal is divided into two components - an encoding component
  and a decoding component. The following sections provide a
  detail description of these components of the EA function.

5.1 Encoding Considerations

  The following encoding considerations shall be supported
  as part of the EA function within the UA and the SIP Proxy server.

  - The EA shall encode the callee’s URI (or E.164 address) in the
    SIP Request line based on the 10-bit index associated with a
    specific Contact List entry when a match is found.

  - The EA shall delete the protocol description component (i.e.,
    ‘SIP/2.0/UDP’) if present in any SIP message.

  - The EA shall encode the identity component (IP address, URI
    etc.) of the following header fields based on the four-bit
    index values exchanged during the SIP Registration.
      - Via
      - From
      - Contact
  - The EA shall delete the "comp=sigcomp" and "branch=z9hG4bK"
    components of the ‘Via’ header.  If the "comp=sigcomp" is
    not present, EA shall leave the "branch" component in place.


Akhtar, et al.          Expires March 9, 2007               [Page 12]


Internet-Draft          SIP Header Reduction           September 2006

  - The EA shall change the following components of the ‘Contact’
    header as specified below.
      - The EA shall encode the identity component (IP address,
        URI etc.) based on the four-bit index values exchanged
        during the SIP Registration (as specified in sections
        3.1 and 4).
      - The EA shall indicate the presence of the "comp=sigcomp"
        component by adding one bit as follows.
            0 = "comp=sigcomp" present
            1 = "comp=sigcomp" absent

  - The EA shall delete the "tag=" component of the ‘From’ header
    (and leave the tag’s value).

  - The EA shall delete the ‘To’ header from all SIP Invite
    messages if the callee’s URI can be encoded as 10-bit index
    from the Buddy List.

  - The EA shall encode the ‘P-Preferred-Identity’ header using
    the respective index value as established during the SIP
    Registration. Please refer to sections 3.1 and 4 for more
    details.

  - The EA shall encode the access network type in any
    ‘P-Access-Network-Info’ header as specified in section 4.

  - The EA shall change the following components of any
    ‘Security-Verify’ header:
      - The EA shall delete the text before the "alg"
        component (such as "ipsec-3gpp" and "q=0.1").
      - The EA shall replace the "alg" component with the
        four-bit index number of the security algorithm as
        specified in section 4.
      - The EA shall convert the values of "spi-c" and
        "spi-s" components into 32-bit integer numbers.

  - The EA shall delete the ‘Allow’ header if it matches the
    value established in step (1) of section 3.1. This shall
    only be done in the uplink direction (from the UA to the
    SIP Proxy server).

  - The EA shall delete the ‘Privacy’ header if it matches
    the value established in step (1) of section 3.1.

  - The EA shall delete the SIP message name (such as INVITE)
    from the ‘CSeq’ header if the value is the same as the
    message’s Request type.







Akhtar, et al.          Expires March 9, 2007               [Page 13]


Internet-Draft          SIP Header Reduction           September 2006

  - The EA shall delete the following SDP parameters if
    present in any SIP message. This shall only be done in
    the uplink direction (from the UA to the SIP Proxy server).
      - "o=" line
      - "s=" line
      - "c=" line (if "c=" line is at the session level)
      - "t=" line

  - The EA shall delete the "b=" line if present in any SIP
    message. This shall only be done in the Uplink direction
    (from the UA to the SIP Proxy server).

  - The EA shall delete the "a=curr: local none" line if the
    ‘precondition’ value is included in the ‘Require’ header.
    This shall only be done in the uplink direction (from the
    UA to the SIP Proxy server).

  - The EA shall delete the "a=curr: remote none" line if the
    ‘precondition’ value is included in the ‘Require’ header. This
    shall only be done in the uplink direction (from the UA to the
    RAN).

  - The EA shall delete the "a=fmtp" line if present in any SIP
    message. This shall only be done in the uplink direction (from
    the UA to the SIP Proxy server).

  - The EA shall delete the "a=rtpmap: nn telephone event" (where
    "nn" is any two-digit number) line if present in any SIP
     message. This shall only be done in the uplink direction (from
     the UA to the SIP Proxy server).

5.2 Decoding Functions

  The following decoding considerations shall be supported
  as part of the EA function within the UA and the SIP Proxy server.

  - The EA shall decode the callee’s URI (or E.164 address) based on
    the 10-bit index associated with that specific buddy list entry.

  - The EA shall decode the identity component (IP address, URI etc.)
    of the following header fields based on the four-bit index values
    exchanged during the SIP Registration (as specified sections 3.1
    and 4).
      - Via
      - From
      - Contact

  - The EA shall add the "tag=" component to the ‘From’ header
    field to all SIP messages if it is not included. The "tag="
    component shall be added before the value of "tag".




Akhtar, et al.          Expires March 9, 2007               [Page 14]


Internet-Draft          SIP Header Reduction           September 2006

  - The EA shall decode any ‘P-Preferred-Identity’ header with the
    respective index value as negotiated during the SIP Registration.
    Please refer to section 3.1 for more details.

  - The EA shall change the following components of the ‘Contact’
    header as specified below.
     - The EA shall decode the identity component (IP address, URI
       etc.) based on the four-bit index values exchanged during
       the SIP Registration (as specified sections 3.1 and 4).
     - The EA shall add the "comp=sigcomp" component by evaluating
       the last bit (before CRLF) of the ‘Contact’ header as follows.
         0 = Add "comp=sigcomp"
         1 = Do not add "comp=sigcomp"

  - The EA shall decode the access network type in any
    ‘P-Access-Network-Info’ header as specified in sections 3.1 and 4.

  - The EA shall create the ‘To’ header from all SIP messages if it is
    not included and if the callee’s URI is encoded as 10-bit index in
    that particular SIP message.

  - The EA shall change the following components of the
    ‘Security-Verify’ header field as specified below.
     - The EA shall add the text before the "alg" component based on the
       configuration parameter.
     - The EA shall decode the "alg" component’s four-bit index number
       with the appropriate security algorithm using the look-up table
       created in step (4) of section 3.1.
     - The EA shall convert 32-bit integer values of the "spi-c" and
       "spi-s" components into ASCII characters.

  - If absent, the EA shall add the SIP message name (such as INVITE,)
    to the ‘CSeq’ header after the ‘CSeq’ number based on the first line
    of that particular SIP message.

  - The EA shall create the following SDP parameters if they are missing
    from a SIP message and if the same SIP message has the
    "application/sdp" value present in a ‘Content-Type’ header.
     - The EA shall create the "o=" line based on the following guidelines.
        i.   The EA shall use "-" value for the <<username>> component
             of the "o=" line.
        ii.  The EA shall choose unique values (across time) for the
             <<session id>> and <version>> components of the "o=" line.
        iii. The choice of IP4 or IP6 shall be based on address format
             discerned in the ‘Via’ header.  If a FQDN is used instead
             of IP format, the EA. shall peek at the IP layer header
             to discern the version of the IP address.

  - The EA shall create the "s=" line as "s=-".




Akhtar, et al.          Expires March 9, 2007               [Page 15]


Internet-Draft          SIP Header Reduction           September 2006


  - The EA shall create the "c=" line (at the session level). Its choice
    of IP4 or IP6 will be based on address format discerned in the
    ‘Via’ header. If a FQDN is used instead of IP format, the EA. shall
    peek at the IP layer header to discern the version of the IP
    address.

  - The EA shall create the "t=" line as "t=0 0".

  - The EA shall create the "b=" line based on the configuration
    parameters associated with the media type (such as audio, video
    etc.) present in the "m=" line.

  - The EA shall create the "a=curr: local none" line if it is missing
    from a SIP message and if the same SIP message has the
    ‘precondition’ value present in the ‘Require’ header.

  - The EA shall create the "a=curr: remote none" line if it is missing
    from a SIP message and if the same SIP message has the
    ‘precondition’ value present in the ‘Require’ header.

  - The EA shall create the "a=fmtp: nn <<format specific parameters>>"
    line base on the configuration parameter associated with codec type
    specified in the "m=" and "a=rtpmap" lines. The value of "nn" shall
    be the first two digits of the codec code component of the "m="
    line.

  - The EA shall create the "a=rtpmap: nn telephone event" (where "nn"
    is any two-digit number) line if it is missing in any SIP message
    and if the same SIP message includes the "m=" line. The value of
    "nn" shall be the last two digits of the codec code component of
    the "m=" line.

  - The EA shall add the "comp=sigcomp" and "branch=z9hG4bK" components
    of the ‘Via’ header field to all SIP messages if the
    "branch=z9hG4bK" component is missing.

  - The following decoding requirements are applicable only for the SIP
    Proxy server component.

     - The EA shall add the ‘Route’ header field to all SIP messages if
       it is not included by the UA. The content of the ‘Route’ header
       shall be same as the content of the ‘Service-Route’ header field
       saved by SIP Proxy server in step (3) of section 3.1 earlier.










Akhtar, et al.          Expires March 9, 2006               [Page 16]


Internet-Draft          SIP Header Reduction           September 2006


     - The EA shall add the ‘Allow’ header field to all SIP messages in
       the uplink direction (from UA to SIP Proxy server) if it is not
       included by the UA. The content of the 'Allow' header field shall
       be the same as the content of the ‘Allow’ header saved by SIP
       Proxy server in step (1) of section 3.1 earlier.

     - The EA shall add the 'Privacy' header field to all SIP messages
       if it is not included by the UA. The content of the header field
       shall be the same as the content of the ‘Privacy’ header field
       saved by SIP Proxy server in step (1) of section 3.1 earlier.

6.  Security Considerations

  The SIP Header Reduction proposal described in this document does not
  impose any additional security requirements on the UA or the SIP
  Proxy server.

  The EA function proposed in this document does not violate any securiy
  protocol (such as IPsec or TLS) between the UA and the SIP Proxy
  server.

7.  IANA Considerations


8.  Acknowledgments


9.  Refereneces

9.1 Normative References

  [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
      Levels", BCP 14, RFC 2119, March 1997.

 9.2 Informative References

  [2] TIA-873-004-A: "IP Multimedia Call Control Protocol Based
      on SIP and SDP Stage 3".

  [3] 3GPP2 X.S0013-004-A: "IP Multimedia Call Control Protocol Based
      on SIP and SDP Stage 3".

  [4] Akhtar, H., Khalil, M., Brombal, D., Jones, A., "3G Wireless
      Support in SIP/SDP Static Dictionary for Signaling Compression
      (SigComp)", draft-akhtar-sipping-3g-static-dictionary-00 (work
      in progress), February 2006.







Akhtar, et al.          Expires March 9, 2007               [Page 17]


Internet-Draft          SIP Header Reduction           September 2006


Authors' Addresses

   Haseeb Akhtar
   Nortel
   2221 Lakeside Blvd
   Richardson, TX  75082
   US

   Email: haseebak@nortel.com

   Dave Brombal
   Nortel
   2221 Lakeside Blvd
   Richardson, TX  75082
   US

   Email: davidb@nortel.com

   Anthony Jones
   Nortel
   3500 Carling Avenue
   Ottawa, Ontario
   K2H 8E9
   Canada

   Email: ajones@nortel.com

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.



Akhtar, et al.          Expires March 9, 2007               [Page 18]

Internet-Draft          SIP Header Reduction           September 2006


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.




Copyright Statement

   Copyright (C) The Internet Society (2006).  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.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.