Network Working Group                                         A. Sollaud
Internet-Draft                                            France Telecom
Expires: September 22, 2005                               March 21, 2005


  RTP payload format for the future scalable and wideband extension of
                           G.729 audio codec
               draft-sollaud-avt-rtp-g729-scal-wb-ext-00

Status of this Memo

   This document is an Internet-Draft and is subject to all provisions
   of Section 3 of RFC 3978.  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 September 22, 2005.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   This document specifies a real-time transport protocol (RTP) payload
   format to be used for the future scalable and wideband extension of
   the International Telecommunication Union (ITU-T) G.729 audio codec.
   A media type registration is included for this payload format.





Sollaud                Expires September 22, 2005               [Page 1]


Internet-Draft        RTP payload format for G.729X           March 2005


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Background . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  RTP Payload format . . . . . . . . . . . . . . . . . . . . . .  4
     3.1   RTP header usage . . . . . . . . . . . . . . . . . . . . .  4
     3.2   Payload format . . . . . . . . . . . . . . . . . . . . . .  5
       3.2.1   Payload structure  . . . . . . . . . . . . . . . . . .  5
       3.2.2   Payload Header . . . . . . . . . . . . . . . . . . . .  5
       3.2.3   Table of contents  . . . . . . . . . . . . . . . . . .  6
       3.2.4   Audio data . . . . . . . . . . . . . . . . . . . . . .  8
       3.2.5   Payload example  . . . . . . . . . . . . . . . . . . .  8
     3.3   MBS operations . . . . . . . . . . . . . . . . . . . . . . 10
       3.3.1   MBS decreasing . . . . . . . . . . . . . . . . . . . . 10
       3.3.2   MBS increasing . . . . . . . . . . . . . . . . . . . . 11
   4.  Payload format parameters  . . . . . . . . . . . . . . . . . . 11
     4.1   Media type registration  . . . . . . . . . . . . . . . . . 11
     4.2   Mapping to SDP parameters  . . . . . . . . . . . . . . . . 12
     4.3   Offer-answer model considerations  . . . . . . . . . . . . 13
   5.  Security considerations  . . . . . . . . . . . . . . . . . . . 14
   6.  IANA considerations  . . . . . . . . . . . . . . . . . . . . . 14
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
     7.1   Normative references . . . . . . . . . . . . . . . . . . . 14
     7.2   Informative references . . . . . . . . . . . . . . . . . . 15
       Author's Address . . . . . . . . . . . . . . . . . . . . . . . 15
       Intellectual Property and Copyright Statements . . . . . . . . 16

























Sollaud                Expires September 22, 2005               [Page 2]


Internet-Draft        RTP payload format for G.729X           March 2005


1.  Introduction

   International Telecommunication Union (ITU-T) is working on a
   scalable and wideband extension of its recommendation G.729 [7].
   This future audio codec will be called G.729X in the following text.
   This document specifies the payload format for packetization of
   G.729X encoded audio signals into the real-time transport protocol
   (RTP).

   The payload format itself and the handling of variable bit rate are
   described in Section 3.  The details for the use of G.729X with MIME
   and SDP are given in Section 4.

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

2.  Background

   G.729X is mainly designed to be used as a speech codec, but it can be
   used for music at the highest bit rates.  The sampling frequency is
   16000 Hz and the frame size is 20 ms.

   This G.729-based codec produces an embedded bitstream providing an
   improved narrow band quality [300, 3400 Hz] at 12 kbps, and an
   enhanced and gracefully improving wideband quality [50, 7000 Hz] from
   14 kbps to 32 kbps, by steps of 2 kbps.  At 8 kbps it generates a
   G.729 bitstream (with annex B, that is supporting silence
   suppression).

   It has been mainly designed for packetized wideband voice
   applications (Voice over IP or ATM, Telephony over IP, private
   networks...) and particularly for those requiring scalable bandwidth,
   enhanced quality above G.729, and easy integration into existing
   infrastructures.

   G.729X is also designed to cope with other services like high quality
   audio/video conferencing, archival, messaging, etc.

   For all those applications, the scalability feature allows to tune
   the bit rate versus quality compromise, possibly in a dynamic way
   during a session, taking into account service requirements and
   network transport constraints.

   G.729X produces frames that are said embedded because they are
   composed of embedded layers.  The first layer is called the core
   layer and is bitstream compatible with the ITU-T G.729 with annex B
   coder.  Upper layers are added while bit rate increases, to improve



Sollaud                Expires September 22, 2005               [Page 3]


Internet-Draft        RTP payload format for G.729X           March 2005


   quality and enlarge audio bandwidth from narrowband to wideband.  As
   a result, a received frame can be decoded at its original bit rate or
   at any lower bit rate corresponding to lower layers which are
   embedded.  Only the core layer is mandatory to decode understandable
   speech, upper layers provide quality enhancement and wideband
   enlargement.

   G.729X can be used in cases where bit rate can change during the
   communication session, due to bandwidth temporarily shared for
   example.  Then the sender will decrease its own sending rate.  But if
   its receiving bandwidth has decreased, it needs to tell the receiver
   to decrease its sending rate.  To do so, the sender will send an
   in-band request to the receiver: the maximum bit rate supported
   (MBS).  The receiver must acknowledge the receiving of the MBS and
   modify its sending rate accordingly, if possible.  Thanks to the
   embedded property of the coding scheme, note that it can send at the
   MBS rate or any lower rate.

   G.729X supports voice activity detection (VAD) and comfort noise
   generation (CNG).  During silence periods, the coder may
   significantly decrease the transmitted bit rate by sending only
   comfort noise parameters in special small frames called silence
   insertion descriptors (SID).  The receiver's decoder will generate
   comfort noise according to the SID informations.  This operation of
   sending low bit rate comfort noise parameters during silence periods
   is usually called discontinuous transmission (DTX).

3.  RTP Payload format

3.1  RTP header usage

   The format of the RTP header is specified in [2].  This payload
   format uses the fields of the header in a manner consistent with that
   specification.

   The RTP timestamp clock frequency is the same as the sampling
   frequency, that is 16 kHz.  So the timestamp unit is in samples.

   The duration of one frame is 20 ms, corresponding to 320 samples per
   frame.  Thus the timestamp is increased by 320 for each consecutive
   frame.

   The M bit should be set as specified in the applicable RTP profile,
   for example, [3].

   The assignment of an RTP payload type for this packet format is
   outside the scope of the document, and will not be specified here.
   It is expected that the RTP profile under which this payload format



Sollaud                Expires September 22, 2005               [Page 4]


Internet-Draft        RTP payload format for G.729X           March 2005


   is being used will assign a payload type for this codec or specify
   that the payload type is to be bound dynamically (see Section 4.2).

3.2  Payload format

3.2.1  Payload structure

   The complete payload consists of an OPTIONAL payload header, a
   payload table of contents and audio data representing one or more
   frame.  The following diagram shows the general format layout:

       +------------------+-------------------+-----------------+
       | (Payload header) | Table of contents | Speech data ... |
       +------------------+-------------------+-----------------+


3.2.2  Payload Header

   The payload header is OPTIONAL and is used to indicate to the remote
   host a MBS value or to acknowledge a MBS request received from the
   remote host.  When no MBS operation is needed, this payload header
   SHOULD NOT be present.

   The payload header is one octet, as follows:

      0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+
     |1|A|R|R|  MBS  |
     +-+-+-+-+-+-+-+-+

   The first bit is always set to 1, that is how the presence of the
   header is detected.

   A (1 bit): MBS Acknowledge.  Set to 1 to acknowledge a MBS request.
   Otherwise set to 0.  It is used to provide reliability to the MBS
   transmission.

   R (1 bit): Reserved.  MUST be set to zero and SHOULD be ignored by
   the receiver.

   MBS (4 bits): maximum bit rate supported.  Indicates a bit rate
   request to the encoder at the site of the receiver of this payload
   (see end of Section 2 and Section 3.3).  The request is a maximum bit
   rate, as per the following table:







Sollaud                Expires September 22, 2005               [Page 5]


Internet-Draft        RTP payload format for G.729X           March 2005


                     +-------+--------------------+
                     | MBS   | max rate supported |
                     +-------+--------------------+
                     | 0     | 8 kbps             |
                     | 1     | 12 kbps            |
                     | 2     | 14 kbps            |
                     | 3     | 16 kbps            |
                     | 4     | 18 kbps            |
                     | 5     | 20 kbps            |
                     | 6     | 22 kbps            |
                     | 7     | 24 kbps            |
                     | 8     | 26 kbps            |
                     | 9     | 28 kbps            |
                     | 10    | 30 kbps            |
                     | 11    | 32 kbps            |
                     | 12-14 | (reserved)         |
                     | 15    | NO_MBS             |
                     +-------+--------------------+

   The value 15 (NO_MBS) indicates that no rate request is present.  It
   is used either to send a MBS ACK without a MBS, or when the sender
   can not remove the payload header and has no MBS to send.

3.2.3  Table of contents

   Two types of Table of Contents (ToC) are described below.  In a
   Standard ToC, each ToC entry describes one frame.  When all frames in
   a packet are at the same bit rate, the sender MAY use a Compact ToC,
   with only one ToC entry to describe the whole packet.  Both types of
   ToC MUST be supported by the receiver.

3.2.3.1  Standard ToC

   The standard table of contents (ToC) consists of a list of ToC
   entries.  Each ToC entry describes one frame.

   A ToC entry is one octet, as follows:

      0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+
     |0|F|R|R|   FT  |
     +-+-+-+-+-+-+-+-+

   The first bit is always set to 0.

   F (1 bit): Set to 1 to indicate that this ToC entry is followed by
   another one.  Set to 0 to indicate that this ToC entry is the last
   one in this payload.



Sollaud                Expires September 22, 2005               [Page 6]


Internet-Draft        RTP payload format for G.729X           March 2005


   R (1 bit): Reserved.  MUST be set to zero and SHOULD be ignored by
   the receiver.

   FT (4 bits): Frame type, as per the following table:

                 +-------+---------------+------------+
                 | FT    | encoding rate | frame size |
                 +-------+---------------+------------+
                 | 0     | 8 kbps        | 20 octets  |
                 | 1     | 12 kbps       | 30 octets  |
                 | 2     | 14 kbps       | 35 octets  |
                 | 3     | 16 kbps       | 40 octets  |
                 | 4     | 18 kbps       | 45 octets  |
                 | 5     | 20 kbps       | 50 octets  |
                 | 6     | 22 kbps       | 55 octets  |
                 | 7     | 24 kbps       | 60 octets  |
                 | 8     | 26 kbps       | 65 octets  |
                 | 9     | 28 kbps       | 70 octets  |
                 | 10    | 30 kbps       | 75 octets  |
                 | 11    | 32 kbps       | 80 octets  |
                 | 12-13 | (reserved)    |            |
                 | 14    | SID           | 2 octets   |
                 | 15    | NO_DATA       | 0          |
                 +-------+---------------+------------+

   The FT value 15 (NO_DATA) indicates that a frame is either lost or
   not transmitted.

3.2.3.2  Compact ToC

   In most cases, the bit rate will not change very often, thus all
   frames in a payload are likely to be at the same bit rate.  When this
   occurs, the sender MAY put only one ToC entry to indicate the bit
   rate of all frames in the packet.  The receiver will easily detect
   that there is only one ToC entry (bit F=0) and that the size of the
   audio data part of the payload is a multiple of the size of one frame
   at the considered bit rate.  So the actual number of frame is easy to
   infer from the size of the audio data part :
   nb_frames=(size_of_audio_data)/(size_of_one_frame).

   This ToC simplification is compatible with DTX, with the restriction
   that the SID frame MUST be at the end of the payload (it is in
   consistent with the payload format of G.729 described in section
   4.5.6 of [3]).  Since the SID frame is much smaller than any other
   frame, it will not hinder the calculation of the number of frames at
   the receiver side and can be easily detected without the need of
   adding a Toc entry with FT=14.  Actually the presence of a SID frame
   will be inferred by the result of the above division not being an



Sollaud                Expires September 22, 2005               [Page 7]


Internet-Draft        RTP payload format for G.729X           March 2005


   integer.

   The receiver MUST support this compact ToC format.

   Note well that this simplification of the ToC is acceptable only if
   ALL frames are at the same bit rate.  It can not be used if several
   sequential frames are at the same bit rate R1 and the following group
   of frames are at another bit rate R2, because the receiver will not
   be able to determine how many frames of each bit rate there are.  If
   compact Toc is used, there MUST be only ONE ToC entry.

   Below are short examples illustrating the compact ToC and the
   calculation of the number of frames.  See Section 3.2.5.3 for a
   complete payload.

   Example 1 : one ToC entry with FT=4 and 135 octets of audio data
   following.  The receiver knows that for FT=4, a frame is 45 octets
   long.  So there is 135/45 = 3 frames in the payload.

   Example 2 : one ToC entry with FT=9 and 142 octets of audio data
   following.  The receiver knows that for FT=9, a frame is 70 octets
   long.  So there is 142/70 = 2 frames in the payload + a 2 octets rest
   which is a SID frame.

3.2.4  Audio data

   Audio data of a payload contains one or more audio frame as described
   in the table of contents of the payload.  The audio frames are packed
   in the same order as their corresponding ToC entries are arranged in
   the table of contents.  If the Compact ToC is used, the audio frames
   are packed in order of time, that is the older first.

   Note that for ToC entries with FT=15, there will be no corresponding
   audio frame in the payload.

3.2.5  Payload example















Sollaud                Expires September 22, 2005               [Page 8]


Internet-Draft        RTP payload format for G.729X           March 2005


3.2.5.1  Payload carrying a single frame and no MBS

   The following diagram shows a G.729X payload that contains a single
   speech frame at 24 kbps (FT=7; size=60 octets) and no MBS.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0|0|R|R| FT=7  |    f(1/60)    |    f(2/60)    |    f(3/60)    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |    f(4/60)    |    f(5/60)    |    f(6/60)    |    f(7/60)    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     : ...                                                           :
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |    f(60/60)   |
     +-+-+-+-+-+-+-+-+

3.2.5.2  Payload carrying multiple frames at various bit rates and a MBS

   The following diagram shows a G.729X payload that contains 3 frames,
   two at 20 kbps (FT=5; size=50 octets) and one at 32 kbps (FT=11;
   size=80 octets), and a MBS of 32 kbps (MBS=11).  The first octet is
   the payload header (MBS) and is inserted before the ToC.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |1|0|R|R| MBS=11|0|1|R|R| FT=5  |0|1|R|R| FT=5  |0|0|R|R| FT=11 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   f1(1/50)    |   f1(2/50)    |   f1(3/50)    |   f1(4/50)    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     : ...                                                           :
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   f1(49/50)   |   f1(50/50)   |   f2(1/50)    |   f2(2/50)    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     : ...                                                           :
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   f2(47/50)   |   f2(48/50)   |   f2(49/50)   |   f2(50/50)   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   f3(1/80)    |   f3(2/80)    |   f3(3/80)    |   f3(4/80)    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     : ...                                                           :
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   f3(77/80)   |   f3(78/80)   |   f3(79/80)   |   f3(80/80)   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+






Sollaud                Expires September 22, 2005               [Page 9]


Internet-Draft        RTP payload format for G.729X           March 2005


3.2.5.3  Payload carrying multiple frames at the same bit rate and no
        MBS

   The following diagram shows a G.729X payload that contains 2 frames
   at 14 kbps (FT=2; size=35 octets) and no MBS.  There is only one ToC
   entry, the number of frames is inferred from the payload size.

       0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0|0|R|R| FT=2  |   f1(1/35)    |   f1(2/35)    |   f1(3/35)    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     : ...                                                           :
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   f1(32/35)   |   f1(33/35)   |   f1(34/35)   |   f1(35/35)   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   f2(1/35)    |   f2(2/35)    |   f2(3/35)    |   f2(4/35)    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     : ...                                                           :
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   f2(33/35)   |   f2(34/35)   |   f2(35/35)   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.3  MBS operations

   The MBS value located in the optional payload header is used to tell
   the other party that the maximum bit rate one can receive has
   changed.  Examples of MBS usage are following.  The content of the
   optional payload header will be written {A=x; MSB=y}.

3.3.1  MBS decreasing

   Say Alice and Bob are in a voice call using G.729X operating at the
   maximum bit rate of 32 kbps.  Alice and Bob both have a MBS of 32
   kbps.

   For any reason, at a moment, Alice needs to free bandwidth.  She will
   decrease her sending rate to 12 kbps for example and insert a payload
   header {A=0; MBS=1} to request Bob to decrease his sending rate.  In
   all consecutive payloads she will insert this payload header, waiting
   for acknowledgement.  Bob will receive the MBS information, he will
   decrease his sending rate accordingly and insert a payload header
   {A=1;MBS=15}  to acknowledge.  Bob will insert this header in all
   consecutive payloads as long as he receives the MBS from Alice.  When
   Alice receives the acknowledgement, she will remove the payload
   header with the MBS.  Then Bob will remove his payload header.

   This example shows the acknowledgement procedure.  Note that Bob can



Sollaud                Expires September 22, 2005              [Page 10]


Internet-Draft        RTP payload format for G.729X           March 2005


   now send at 12 kbps (value of the MBS received) but also any bit rate
   lower, in this case 8 kbps.  Bob does not send a MBS to Alice because
   Bob's receiving conditions did not change, that is why Bob replies
   with a simple MBS ACK, without specifying a MBS (MBS=15).

3.3.2  MBS increasing

   We start from the previous situation.  Alice and Bod are now
   operating at 12 kbps, but Alice's MBS is 12 kbps whereas Bob's MBS is
   still 32 kbps.

   At a moment, Alice has more bandwidth, she switches back to 32 kbps.
   She can do this straight because Bob's MBS is 32 kbps.  To request
   Bob to increase his sending rate, she sends a MBS {A=0; MBS=11} to
   Bob.  Bob receives the MBS and acknowledges it by a MBS ACK {A=1;
   MBS=15}.  Now Bob knows he can send up to 32 kbps to Alice.  For any
   reason Bob's sending bandwidth is currently limited and Bob chooses
   to keep sending at 12 kbps.  At this point, Alice is sending 32 kbps
   to Bob and Bob is sending 12 kbps to Alice.  Each endpoint knows the
   MBS of the other is 32 kbps.  So later, Bob may increase his sending
   bit rate without any previous notice.

   This case illustrates the fact that the proper receiving and
   acknowledgement of a MBS does not imply an immediate bit rate
   increasing.

4.  Payload format parameters

   This section defines the parameters that may be used to configure
   optional features in the G.729X RTP transmission.

   The parameters are defined here as part of the MIME subtype
   registration for the G.729X codec.  A mapping of the parameters into
   the Session Description Protocol (SDP) [4] is also provided for those
   applications that use SDP.  In control protocols that do not use MIME
   or SDP, the media type parameters must be mapped to the appropriate
   format used with that control protocol.

4.1  Media type registration

   MIME media type name: audio

   MIME subtype name: G729X  [to be replaced by the actual annex letter]

   Required parameters: none

   Optional parameters:




Sollaud                Expires September 22, 2005              [Page 11]


Internet-Draft        RTP payload format for G.729X           March 2005


      dtx: indicates that discontinuous transmission (DTX) is used or
      preferred.  DTX means voice activity detection and non
      transmission of silent frames.  Permissible values are 0 and 1.  0
      means no DTX.  0 is implied if this parameter is omitted.

      init-MBS: indicates an initial value of MBS.  Permissible values
      are legal values of MBS, that is between 0 and 11 (see table in
      Section 3.2.2 of RFC XXXX).  The maximum MBS, that is 11, is
      implied if this parameter is omitted.

      ptime: the recommended length of time in milliseconds represented
      by the media in a packet.  See RFC 2327 [4].

      maxptime: the maximum length of time in milliseconds which can be
      encapsulated in a packet.

   Encoding considerations: This type is only defined for transfer via
   RTP [2].

   Security considerations: See Section 5 of RFC XXXX

   Interoperability considerations: none

   Published specification: RFC XXXX

   Applications which use this media type: Audio and video conferencing
   tools.

   Additional information: none

   Person & email address to contact for further information: Aurelien
   Sollaud, aurelien.sollaud@francetelecom.com

   Intended usage: COMMON

   Author/Change controller: IETF Audio/Video Transport working group
   delegated from the IESG

4.2  Mapping to SDP parameters

   The information carried in the MIME media type specification has a
   specific mapping to fields in the Session Description Protocol (SDP)
   [4], which is commonly used to describe RTP sessions.  When SDP is
   used to specify sessions employing the G.729X codec, the mapping is
   as follows :

   o  The media type ("audio") goes in SDP "m=" as the media name.




Sollaud                Expires September 22, 2005              [Page 12]


Internet-Draft        RTP payload format for G.729X           March 2005


   o  The media subtype ("G729X") goes in SDP "a=rtpmap" as the encoding
      name.  The RTP clock rate in "a=rtpmap" MUST be 16000 for G.729X.

   o  The parameters "ptime" and "maxptime" go in the SDP "a=ptime" and
      "a=maxptime" attributes, respectively.

   o  Any remaining parameters go in the SDP "a=fmtp" attribute by
      copying them directly from the MIME media type string as a
      semicolon separated list of parameter=value pairs.

   Some example SDP session descriptions utilizing G.729X encodings
   follow.

   Exemple 1: default parameters

      m=audio 53146 RTP/AVP 98
      a=rtpmap:98 G729X/16000

   Exemple 2: recommended packet duration of 40 ms (=2 frames), no DTX
   and initial MBS to 26 kbps

      m=audio 51258 RTP/AVP 99
      a=rtpmap:99 G729X/16000
      a=ptime:40
      a=fmtp:99 dtx=1; init-MBS=8

4.3  Offer-answer model considerations

   The following considerations apply when using SDP offer-answer
   procedures to negotiate the use of G.729X payload in RTP:

   o  Since G.729X is an extension of G.729, the offerer SHOULD announce
      G.729 support in its "m=audio" line, with G.729X preferred.  This
      will allow interoperability with both G.729X and G.729-only
      capable parties.

      Below is an example of such an offer:

         m=audio 55954 RTP/AVP 98 18
         a=rtpmap:98 G729X/16000
         a=rtpmap:18 G729/8000

      If the answerer supports G.729X, it will keep the payload type 98
      in its answer and the conversation will be done using G.729X.
      Else, if the answerer supports only G.729, it will leave only the
      payload type 18 in its answer and the conversation will be done
      using G.729.




Sollaud                Expires September 22, 2005              [Page 13]


Internet-Draft        RTP payload format for G.729X           March 2005


   o  The "dtx" parameter concerns both sending and receiving, so both
      sides of a bi-directional session MUST use the same "dtx" value.
      If one party indicates it does not support DTX, DTX must be
      deactivated both ways.

   o  The "init-MBS" parameter is not symmetric.  Values in the offer
      and the answer are independant and take into account local
      bandwidth constraints.  Anyway, one party MUST NOT start sending
      frames at a bit rate higher than the "init-MBS" of the other
      party.

   o  The parameters "maxptime" and "ptime" will in most cases not
      affect interoperability.  The SDP offer-answer handling of the
      "ptime" parameter is described in [5].  The "maxptime" parameter
      MUST be handled in the same way.

5.  Security considerations

   RTP packets using the payload format defined in this specification
   are subject to the general security considerations discussed in the
   RTP specification [2] and any appropriate profile (for example, [3]).

   As this format transports encoded speech/audio, the main security
   issues include confidentiality and authentication of the speech/audio
   itself.  The payload format itself does not have any built-in
   security mechanisms.  Confidentiality of the media streams is
   achieved by encryption, therefore external mechanisms, such as SRTP
   [6], MAY be used for that purpose.  The data compression used with
   this payload format is applied end-to-end; hence encryption may be
   performed after compression with no conflict between the two
   operations.

   This payload format and the G.729X encoding do not exhibit any
   significant non-uniformity in the receiver-end computational load and
   thus in unlikely to pose a denial-of-service threat due to the
   receipt of pathological datagrams.

6.  IANA considerations

   It is requested that one new MIME subtype (audio/G729X) is registered
   by IANA, see Section 4.1.

7.  References

7.1  Normative references

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



Sollaud                Expires September 22, 2005              [Page 14]


Internet-Draft        RTP payload format for G.729X           March 2005


   [2]  Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson,
        "RTP: A Transport Protocol for Real-Time Applications", STD 64,
        RFC 3550, July 2003.

   [3]  Schulzrinne, H. and S. Casner, "RTP Profile for Audio and Video
        Conferences with Minimal Control", STD 65, RFC 3551, July 2003.

   [4]  Handley, M. and V. Jacobson, "SDP: Session Description
        Protocol", RFC 2327, April 1998.

   [5]  Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with
        Session Description Protocol (SDP)", RFC 3264, June 2002.

   [6]  Baugher, M., McGrew, D., Naslund, M., Carrara, E. and K.
        Norrman, "The Secure Real-time Transport Protocol (SRTP)",
        RFC 3711, March 2004.

7.2  Informative references

   [7]  International Telecommunications Union, "Coding of speech at 8
        kbit/s using conjugate-structure algebraic-code-excited
        linear-prediction (CS-ACELP)", ITU-T Recommendation G.729, March
        1996.


Author's Address

   Aurelien Sollaud
   France Telecom
   2 avenue Pierre Marzin
   Lannion Cedex  22307
   France

   Phone: +33 2 96 05 15 06
   Email: aurelien.sollaud@francetelecom.com
















Sollaud                Expires September 22, 2005              [Page 15]


Internet-Draft        RTP payload format for G.729X           March 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.


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 (2005).  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.




Sollaud                Expires September 22, 2005              [Page 16]