Internet DRAFT - draft-ramalho-g7110-segments

draft-ramalho-g7110-segments






Network Working Group                                    M. Ramalho, Ed.
Internet-Draft                                                   D. Wing
Intended status:  Informational                               M. Perumal
Expires:  September 1, 2012                                Cisco Systems
                                                               N. Harada
                                                                     NTT
                                                               H. Kaplan
                                                             Acme Packet
                                                       February 29, 2012


                      G.711.0 Compression Segments
                    draft-ramalho-g7110-segments-00

Abstract

   This document describes use cases for ITU-T Recommendation G.711.0
   compression of ITU-T Recommendation G.711 payloads when deployed in
   transport system segments using the Real-Time Transport Protocol
   (RTP).

   ITU-T Rec. G.711.0 defines a lossless and stateless compression for
   G.711 packet payloads typically used in IP networks.  Although the
   use of ITU-T Rec. G.711.0 can be negotiated end-to-end, being
   lossless and stateless it can also be applied as a compression
   mechanism "in-the-middle" of an end-to-end ITU-T G.711 negotiated
   session.  These "in-the-middle" applications of ITU-T Rec. G.711.0
   are called "G.711.0 Compression Segments" in this document.

   This document outlines considerations and best practices (a.k.a. use
   cases) for these "G.711.0 compression segments".

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

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

   This Internet-Draft will expire on September 1, 2012.



Ramalho, et al.         Expires September 1, 2012               [Page 1]

Internet-Draft              G.711.0 Segments               February 2012


Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Requirements Language  . . . . . . . . . . . . . . . . . . . .  4
   3.  ITU-T Rec. G.711.0 Background and Use in RTP . . . . . . . . .  5
     3.1.  G.711.0 Codec Background . . . . . . . . . . . . . . . . .  5
     3.2.  G.711.0 RTP Background . . . . . . . . . . . . . . . . . .  6
   4.  G.711.0 "In The Middle" - Media Issues . . . . . . . . . . . .  8
     4.1.  G.711.0 "In The Middle" - No RTP Header Compression  . . .  8
     4.2.  G.711.0 "In The Middle" - With RTP Header Compression  . . 11
     4.3.  G.711.0 "In The Middle" - Implications for Voice
           Quality and Added Delay  . . . . . . . . . . . . . . . . . 12
     4.4.  G.711.0 "In The Middle" - Multiplexing Multiple G.711
           Flows  . . . . . . . . . . . . . . . . . . . . . . . . . . 12
   5.  G.711.0 "In The Middle" - Signaling Issues . . . . . . . . . . 14
   6.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 17
   7.  Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 18
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 19
   9.  Security Considerations  . . . . . . . . . . . . . . . . . . . 20
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 21
     10.2. Informative References . . . . . . . . . . . . . . . . . . 22
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 23












Ramalho, et al.         Expires September 1, 2012               [Page 2]

Internet-Draft              G.711.0 Segments               February 2012


1.  Introduction

   The ITU-T (ITU-T) Recommendation G.711.0 [G.711.0] specifies a
   stateless and lossless compression for G.711 packet payloads
   typically used in Voice-over-IP (VoIP) networks.

   This document outlines considerations and best practices for when
   ITU-T Rec. G.711.0 is used as a compression mechansim on one or more
   segments of an end-to-end ITU-T Rec. G.711 [G.711] negotiated session
   using the Real-Time Transport Protocol (RTP, [RFC3550]).  Because RTP
   payload types (PT) for G.711 PCMU (0) and PCMA (8) are static PTs and
   because G.711.0 is both lossless and stateless, G.711.0-based
   compression can often times be employed on intermediate segments
   without access to session signaling.  These properties allow G.711.0-
   based bandwdth savings without modifications to G.711 endpoints or
   G.711 call processing systems.  Additionally, due to the lossless
   property of G.711.0, it may be employed multiple times on an end-to-
   end G.711 session with no loss of voice quality relative to G.711.

   ITU-T Rec. G.711.0 and ITU-T Rec. G.711 may be referred to in this
   document simply as G.711.0 and G.711, respectively.






























Ramalho, et al.         Expires September 1, 2012               [Page 3]

Internet-Draft              G.711.0 Segments               February 2012


2.  Requirements Language

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














































Ramalho, et al.         Expires September 1, 2012               [Page 4]

Internet-Draft              G.711.0 Segments               February 2012


3.  ITU-T Rec. G.711.0 Background and Use in RTP

   This document describes the use of ITU-T Rec. G.711.0 when it is
   employed as a lossless compression mechanism somewhere in between end
   systems where:

       1) at least one of the media processing end systems has
       negotiated use of G.711, and

       2) RTP (see RFC 3550 [RFC3550] and RFC 3551 [RFC3551]) is
       employed.

   When used in this way, the G.711 payloads resulting from
   decompression and the corresponding G.711 RTP headers should "appear"
   to the media processing end systems that have negotiated G.711 as
   having been transported transparently (more detail later in Section
   4.2 (Section 4.2)).  This use case is referred to herein as "G.711.0
   in-the-middle".

   This section briefly describes ITU-T Rec. G.711.0 and its use in RTP.

3.1.  G.711.0 Codec Background

   ITU-T Rec. G.711.0 is a lossless and stateless compression mechanism
   for ITU-T Recommendation G.711 [G.711] and thus is not a "codec" in
   the sense of "lossy" codecs typically carried by RTP.  When ITU-T
   Rec. G.711.0 is negotiated end-to-end as if it were a codec, the
   understanding is that ITU-T Rec. G.711.0 is losslessly encoding the
   underlying (lossy) ITU-T Rec. G.711 pulse code modulation (PCM)
   sample representation of an audio signal.  For this reason ITU-T Rec.
   G.711.0 will be interchangeably referred to in this document as a
   "lossless data compression algorithm" or a "codec", depending on
   context.  ITU-T Rec. G.711 and ITU-T Rec. G.711.0 will be referred to
   as G.711 and G.711.0, respectively.  Likewise, within this document,
   individual G.711 PCM samples will be referred to as "G.711 symbols"
   or just "symbols" or "samples" for brevity.

   When ITU-T Rec. G.711.0 is negotiated end-to-end as a codec, it is
   negotiated similarly to ITU-T Rec. G.711 and its RTP payload format
   specification is nearly identical to ITU-T Rec. G.711.  This end-to-
   end use of ITU-T Rec. G.711.0 and the payload format for it is
   documented in the G.711.0 RTP payload format Internet Draft
   [I-D.ramalho-payload-g7110].

   The fundamental design of G.711.0 resulted from the desire to
   losslessly encode and compress frames of G.711 symbols independent of
   what types of signals those G.711 frames contained.  The primary
   G.711.0 use case is for G.711 encoded, zero-mean, acoustic signals



Ramalho, et al.         Expires September 1, 2012               [Page 5]

Internet-Draft              G.711.0 Segments               February 2012


   (such as speech and music), and for virtually every real-world signal
   significant compression is obtained.  However, a significant property
   for G.711.0 is that it is lossless for any valid G.711 payload - even
   if the payload consisted of random G.711 symbols (many G.711-encoded
   modem or FAX payloads appear random).  For this reason G.711.0 can be
   applied as a compression mechanism for any VoIP payload containing
   G.711 symbols without special consideration if those G.711 symbols
   came from FAX, modem, TTY or other "non-voice" applications.  For
   detailed properties of the G.711.0 codec, see Section 3.2 of
   [I-D.ramalho-payload-g7110].

   G.711.0, being both lossless and stateless, can be employed multiple
   times (e.g., on multiple, individual hops or series of hops) of a
   given flow with no degradation of quality relative to end-to-end
   G.711.  Stated another way, multiple "lossless transcodes" from/to
   G.711.0/G.711 do not negatively affect voice quality as usually
   occurs with lossy transcodes to/from dissimilar codecs.

3.2.  G.711.0 RTP Background

   We note here that ITU-T Rec. G.711 is virtually always negotiated in
   RTP with a Payload Type (PT) of 0 (PCMU) or 8 (PCMA) because G.711
   has a static payload type assignment and use of that static
   assignment is generally preferred.  Payload types 0 and 8 should not
   be dynamically assigned to other codecs unless all dynamic payload
   types and unassigned payload types are already in use.  Therefore, we
   have not seen RTP payload type 0 or 8 used in any network
   administrative domain for carrying other than a G.711 payload.

   For this reason RTP packets with payload type 0 or 8 can usually be
   assumed to be PCMU or PCMA in most RTP settings.  Thus compression
   from a G.711 payload to a G.711.0 payload can occur by:

       1) noting payload type 0 or 8 is in use (input is assumed to be
       G.711), and

       2) checking the input payload size in octets to ensure that it is
       an integer multiple of 40 (G.711.0 compression requires an
       integer multiple of 40 G.711 samples).

   Because the lossless property of G.711.0, even if the payload
   presented to the G.711.0 encoder was not G.711, the G.711.0 lossless
   decoding process would produce the same exact payload as the payload
   input to the G.711.0 encoder.

   Thus, due to the lossless property of G.711.0, network elements MAY
   apply G.711.0 compression to RTP payloads with payload type 0 or 8
   (after check #2 above) and transport the payload as a G.711.0 payload



Ramalho, et al.         Expires September 1, 2012               [Page 6]

Internet-Draft              G.711.0 Segments               February 2012


   - knowing that upon decompression the same G.711 input payload would
   be output from the G.711.0 decoder.

   Because G.711.0 may be employed (as a payload compression mechanism)
   on any hop or hops of an end-to-end G.711 flow and payload types of 0
   or 8 can reasonably be assumed to be G.711, neither Session
   Description Protocol (SDP, RFC 4566) [RFC4566] signaling elements nor
   specific G.711.0 negotiation mechanisms will be mandated by this RFC.
   While this is true, SDP descriptions in the G.711.0 RTP Payload
   Format Internet Draft [I-D.ramalho-payload-g7110] MAY be used for a
   G.711.0 "in-the-middle" negotiation such as may occur in Session
   Border Controllers (SBCs) and the like; these cases are described
   below.

   The following section describes media issues for these "G.711.0 in-
   the-middle" use cases.  The section following that section, Section 5
   (Section 5), describes signaling implications for these "G.711.0 in-
   the-middle" use cases.

































Ramalho, et al.         Expires September 1, 2012               [Page 7]

Internet-Draft              G.711.0 Segments               February 2012


4.  G.711.0 "In The Middle" - Media Issues

   When G.711 has been negotiated end-to-end, G.711.0 can be employed by
   entities in the middle of the end-to-end G.711 flow as a compression
   mechanism.  When used in this manner, this payload compression may be
   used with or without compression of the RTP header (e.g., cRTP
   [RFC2508], [RFC5795]).  In either case, the G.711 payloads AND the
   corresponding G.711 RTP headers MUST appear to the end systems as
   having been transported transparently.

4.1.  G.711.0 "In The Middle" - No RTP Header Compression

   This figure below illustrates how the compression could be
   accomplished without RTP header compression.





































Ramalho, et al.         Expires September 1, 2012               [Page 8]

Internet-Draft              G.711.0 Segments               February 2012


   G.711.0 Compression "In The Middle" - No RTP Header Compression Case


                                                **********************
                                                *                    *
      |------------|    |--------------------|  *  |---------------| *
      |     A:     |    |         B:         |  *  |  C: G.711.0   | *
      |  SENDING   |--->|    ZERO OR MORE    |---->|  Compression  | *
      |   G.711    |    |   ROUTING AND/OR   |  *  |   PT=[0|8]    | *
      |  ENDPOINT  |    |   SWITCHING HOPS   |  *  |  CHANGED TO   | *
      |            |    | AND/OR MIDDLEBOXES |  *  |    PT = Q     | *
      |____________|    |____________________|  *  |_______________| *
                                                *         |          *
                                               *          |          *
                                    ********* *           |          *
                                    *                     |          *
                                    *                     V          *
                                    *        |--------------------|  *
                                    *        |         D:         |  *
                          G.711.0   *        |    ZERO OR MORE    |  *
                        COMPRESSION *        |   ROUTING AND/OR   |  *
                          SEGMENT   *        |   SWITCHING HOPS   |  *
                         (payload   *        | AND/OR MIDDLEBOXES |  *
                           only)    *        |____________________|  *
                                    *                     |          *
                                    *                     |          *
                                    ***********           |          *
                                               *          |          *
                                                *         V          *
      |------------|    |--------------------|  *  |---------------| *
      |     G:     |    |         F:         |  *  |  E: G.711.0   | *
      | RECEIVING  |<---|    ZERO OR MORE    |<----| DECOMPRESSION | *
      |   G.711    |    |   ROUTING AND/OR   |  *  |    PT = Q     | *
      |  ENDPOINT  |    |   SWITCHING HOPS   |  *  | CHANGED BACK  | *
      |            |    | AND/OR MIDDLEBOXES |  *  |  TO PT=[0|8]  | *
      |____________|    |____________________|  *  |_______________| *
                                                *                    *
                                                **********************



                                 Figure 1

   Figure 1 depicts G.711.0 compression in Box C and G.711.0
   decompression back to G.711 in Box E. This figure depicts the case
   where only compression of the G.711 payload is desired; the RTP
   header (including any extensions) is simply copied with the exception
   that the G.711 payload type (the usual static PT of 0 or 8 is shown)



Ramalho, et al.         Expires September 1, 2012               [Page 9]

Internet-Draft              G.711.0 Segments               February 2012


   is replaced by a PT negotiated between Box C and Box E (depicted
   above as PT = Q).

   Note that if there are no hops between Box C and E (i.e, no Box D),
   Figure 1 is equivalent to compression over a single link.

   The compression segment represented by Box C, Box E and Box F is
   labeled a "G.711.0 compression segment" in the above figure.

   Since G.711.0 is a lossless and stateless compression, there can be
   multiple such segments between the sending and receiving endpoints
   (not shown).

   The G.711.0 compression and decompression (Box C and E) may reside in
   a variety of network elements such as, but not limited to, switches,
   routers, middleboxes (NATs/PATs, firewalls, session border
   controllers, transport acceleration devices) and is purposely not
   specified here.

   In IP routed networks one cannot guarantee that the same physical
   element represented by Box C (the compressor) or Box E (the
   decompressor) will stay in the same IP routed path between Sending
   Endpoints A and Receiving Endpoint G. While this is true, we note
   that G.711.0 is a stateless compression and that as long as it is
   assured that some element in the topology can provide the
   functionality represented by Box C and Box E, the identical physical
   element need not be in the path.  For example, if all ingress and
   egress routers in an enterprise WAN administrative domain had such
   functionality, it need not be the case that the same ingress or
   egress routers be traversed for every packet in the flow due to the
   statelessness of G.711.0-based compression.

   In one possible design the payload type isn't changed at all (i.e., Q
   = original PCUM or PCMA PT) because a G.711.0 payload in number of
   octets is guaranteed to be different than the original G.711 payload
   size; this allows a RTP decoding process knowing the number of G.711
   symbols to expect in the payload to infer that a G.711.0
   representation of a G.711 payload is present.  The interested reader
   will note that while a G.711.0 payload representation is usually much
   smaller than the uncompressed G.711 payload, an "uncompressible
   payload" is actually one octet larger (see ITU-T Rec. G.711.0
   [G.711.0] specification).

   If the RTP payload type to use (Q) is negotiated via session
   signaling, the method by which G.711.0 compression segment endpoints
   negotiate that payload type is not mandated in this document.
   However, the SDP descriptions in the G.711.0 RTP Payload Format
   Internet Draft [I-D.ramalho-payload-g7110] MAY be used for such a



Ramalho, et al.         Expires September 1, 2012              [Page 10]

Internet-Draft              G.711.0 Segments               February 2012


   negotation and this point is addressed in Section 5.

   In designs where Q is other than the original PCMU or PCMA PT and is
   not negotiated via session signaling, Q MUST be outside of the range
   of dynamic PT assignment and it is RECOMMENDED that Q be chosen from
   a static PT that is known to never be assigned within the scope of
   the G.711.0 compression segment or from the range of unassigned PTs
   [RFC3551] that are otherwise known to be free from conflict within
   the system design.  We note here that the PT Q should never be seen
   by the end systems nor by any element outside of the G.711.0
   compression segment; the specification for the choice of Q here
   reflects an abundance of caution for the case where a rogue RTP
   packet is not successfully processed by Box E functionality.

   If the RTP payload type to use (Q) is configured, the method by which
   the G.711.0 compression segment endpoints are configured is outside
   the scope of this document.

   In another possible design, Box C and Box E might be configured to be
   tunnel endpoints in a design where functionality represented by Box C
   (and possibly Box E) are known to be in the end-to-end path.  Such
   functionality is also outside the scope of this document.

   There may be many "potential G.711.0 compression/decompression
   points" along the end-to-end G.711 flow; the mechanisms by which
   certain entities determine that they should perform G.711.0-based
   compression and decompression are outside the scope of this document.

   G.711.0 payloads, like G.711 payloads, may be encrypted by encryption
   protocols such as the Secure Real-time Transport Protocol (SRTP)
   [RFC3711], however the mechanisms by which the keys are exchanged or
   negotiated are outside the scope of this document.  Mechanisms such
   as those used when G.711 encryption is employed MAY be used.
   Additionally, the security considerations of using G.711.0 SHOULD be
   considered in these "G.711.0 in-the-middle" applications (see
   Internet Draft [I-D.ramalho-payload-g7110]).

   Network elements such a firewalls, NATs, SBCs, etc. that may exist in
   the path of the G.711.0 packets (Box D).  These elements may drop
   packets containing unexpected payload types; therefore these elements
   may need additional configuration and/or signaling knowledge to let
   the compressed G.711.0 packets through.  Mechanisms to do this are
   also outside the scope of this document.

4.2.  G.711.0 "In The Middle" - With RTP Header Compression

   When it is desired to compress the G.711 header as well, the G.711.0
   compression segment endpoints of the previous section have further



Ramalho, et al.         Expires September 1, 2012              [Page 11]

Internet-Draft              G.711.0 Segments               February 2012


   functionality by which they also compress the headers.  However, this
   functionality and the negotiation of same is outside of the scope of
   this document.

   We note here that if such RTP header compression functionality is
   employed, that the G.711 payloads AND the corresponding G.711 RTP
   headers MUST appear to the end systems as having been transported
   transparently.  That is, RTP header fields such as sequence numbers
   and timestamps need not necessarily be identical, but the differences
   between the input and output fields should be such that the receiving
   end system "cannot tell" that they were modified (differences by a
   constant in modulo send timestamp units for example).

   Any RTP header compression functionality SHOULD be stateless so as to
   minimize error propagation for lost packets to be consistent with the
   G.711.0 design goal of no error propagation due to lost packets (see
   G.711.0 RTP Payload Format Internet Draft [I-D.ramalho-payload-g7110]
   Attribute A3).

4.3.  G.711.0 "In The Middle" - Implications for Voice Quality and Added
      Delay

   G.711.0, being both lossless and stateless, can be employed multiple
   times on an end-to-end G.711 flow (e.g., on multiple, individual hops
   or series of hops).  If RTP headers are not compressed or stateless
   RTP header compression is employed (as recommended in Section 4.2
   (Section 4.2)), then there is no error propagation owing to a loss of
   a G.711.0 packet.  That is, the impact of an individual packet drop
   of a G.711.0 RTP packet is identical to the impact of a drop of the
   corresponding G.711 RTP packet.

   Stated another way, multiple "lossless transcodes" from/to G.711.0/
   G.711 do not negatively affect voice quality as may occur with lossy
   transcodes to/from dissimilar codecs.

   G.711.0 provides over 50% reduction in average payload size with
   exactly 0.0000% quality loss relative to G.711 [ICASSP].

   For completeness we note that a G.711.0 encode/decode average
   complexity is 1 WMOPS (see Internet Draft [I-D.ramalho-payload-g7110]
   Section 3.2, Attribute A8).  Given such low complexity, less than 1
   ms of compression/decompression of additional delay per each G.711.0
   compression segment is expected in most implementations.

4.4.  G.711.0 "In The Middle" - Multiplexing Multiple G.711 Flows

   G.711.0 may also be desired to multiplex the payloads of many G.711
   channels into one "G.711.0 payload" in a multiplex RTP packet.



Ramalho, et al.         Expires September 1, 2012              [Page 12]

Internet-Draft              G.711.0 Segments               February 2012


   If all the G.711 channels to be multiplexed have the same number of
   G.711 symbols in each individual source G.711 payload, as is the case
   in many "G.711 VoIP trunks", a straightforward way to parse the
   G.711.0 payload into individual G.711 payloads would be the
   methodology described in Section 4.2.2 in the G.711.0 Payload Format
   Internet Draft [I-D.ramalho-payload-g7110].  While this is possible,
   there are subtleties to such an approach such as what to do when the
   ith channel is unavailable due to an input packet drop.  A
   straightforward way to address this issue is to have a dynamic
   mapping carried in side information, such as a RTP header extension,
   which has the capability to add or drop channels "on-the-fly".

   Alternatively, specialized tunneling mechanisms, such as WAN
   optimization tunneling, can be used to convey such dynamic mapping
   between input and output G.711 channels.

   Owing to these architectural options, the specification of such
   mechanisms is outside the scope of this document.

   Similarly to Section 4.2 (Section 4.2) above, the de-multiplexing
   process producing individual G.711 output RTP packets MUST produce
   G.711 RTP headers that appear to the end systems as having been
   transported transparently.  The mechanisms used are also outside the
   scope of this document.

   Any RTP header multiplexing functionality SHOULD be stateless so as
   to minimize error propagation for lost packets to be consistent with
   the G.711.0 design goal of no error propagation due to lost packets
   (G.711.0 RTP Payload Format Internet Draft
   [I-D.ramalho-payload-g7110] Attribute A3).





















Ramalho, et al.         Expires September 1, 2012              [Page 13]

Internet-Draft              G.711.0 Segments               February 2012


5.  G.711.0 "In The Middle" - Signaling Issues

   This section describes a G.711.0 use case in which G.711 is
   negotiated end-to-end and:

       1) there exists one or more places in the end-to-end path where
       the media is terminated and re-initiated, and

       2) one or more of these "media segments" contained in the end to
       end path desires to compress the G.711 payloads to G.711.0 format
       (or vice versa).

   Session Border Controllers (SBCs) and Media Termination Points (MTPs)
   are two examples of places where this could occur.

   Figure 2 provides an illustration for such a case where SBCs are used
   as an example.  This figure also assumes, as an example, that the
   Session Initiation Protocol (SIP, [RFC3261] is used to set up the
   session and SDP was employed to negotiate the end-to-end codec.
































Ramalho, et al.         Expires September 1, 2012              [Page 14]

Internet-Draft              G.711.0 Segments               February 2012


            G.711.0 Signaling Post End-to-End G.711 Negotiation


             |----------|    |---------|    |----------|
             |          |    |   IP    |    |          |
             |   ORIG.  |    | NETWORK |    |   SBC    |
             | ENDPOINT |<-->| ADMIN.  |<-->| SPANNING |
             |          |    | DOMAIN  |    |   A:B    |-- \
             |          |    |    A    |    |          |    \
             |----------|    |---------|    |----------|     |
                                                  ^          |
                  |                           |   |          |
                   \-------Segment A --------/    |          |
                                                  |          |
                                                  V
                                             |---------|     S
                                             |   IP    |     e
                                             | NETWORK |     g
                                             |  ADMIN. |     m
                                             | DOMAIN  |     e
                                             |    B    |     n
                                             |---------|     t
                                                  ^
                                                  |          B
                                                  |
                   /-------Segment C --------\    |          |
                  |                           |   |          |
                                                  V          |
             |----------|    |---------|    |----------|     |
             |          |    |   IP    |    |          |    /
             |   TERM.  |    | NETWORK |    |   SBC    | --/
             | ENDPOINT |<-->| ADMIN.  |<-->| SPANNING |
             |          |    | DOMAIN  |    |   B:C    |
             |          |    |    C    |    |          |
             |----------|    |---------|    |----------|



                                 Figure 2

   This figure represents an end-to-end session between the originating
   and terminating endpoints where there are two SBCs in the end-to-end
   path.  The end-to-end path is depicted to be in three segments,
   labeled A, B and C, and without loss of generality the IP Networks in
   these segments are labeled administrative domain A, B and C (although
   A, B or C may be part of the same administrative domain).

   Here we assume that G.711 is the preferred codec end-to-end.  If all



Ramalho, et al.         Expires September 1, 2012              [Page 15]

Internet-Draft              G.711.0 Segments               February 2012


   points where media could be terminated had G.711.0 capability, it is
   highly likely that G.711.0 would have been negotiated from the
   originating endpoint to the terminating endpoint.  The reason for
   this is that G.711.0 losslessly conveys G.711 and G.711.0 would
   likely have been preferred over G.711 in the original negotiation.

   However, if one or more points where media could be terminated did
   not have G.711.0 capability, the end-to-end call would likely have
   been negotiated as G.711.  This is the case depicted here.  In this
   case there is an opportunity for any segment to renegotiate G.711.0
   on its segment, and compressing to/from G.711 on the segments that
   remain G.711.

   The RTP payload format for G.711.0 is in Internet Draft
   [I-D.ramalho-payload-g7110].  Specifically we note that the payload
   format for G.711.0 is nearly identical to G.711 in that the timestamp
   units are identical and most other elements are also identically
   assigned (the major exception is the PT).  Thus, the G.711.0 payload
   format makes it trivial simply to change the PT and the payload of a
   G.711 RTP packet to a G.711.0 packet and the converse.  In other
   words, the compression of the payload and the translation of the RTP
   headers to/from G.711/G.711.0 may be performed "on-the-fly" in the
   middle of an end-to-end G.711 session with no voice quality
   degradation (relative to G.711) and concurrently obtaining all the
   compression benefits of G.711.0.

   For this case, the SDP parameters defined in the G.711 Payload Format
   specification MAY be used for renegotiation to G.711.0 by any SIP UA
   facing one of these segments without signaling these changes end-to-
   end.  We note here that SBCs also have signaling functionality and
   are typically implemented as SIP Back-to-Back User Agents (B2BUAs).
   From the perspective of the Originating Endpoint, the SIP signaling
   termination is the UA at the first SBC (i.e., not the Terminating
   Endpoint).  Thus, for the case where G.711.0 is renegotiated only on
   Segment A, the signaling for that codec change is not propagated to
   the Terminating Endpoint.  The end result is that the terminating
   endpoint "believes" it is participating in an end-to-end G.711
   session and the resulting voice quality is identical to that of an
   end-to-end G.711 session (i.e., there is no need for it to know that
   a lossless compression had taken place).











Ramalho, et al.         Expires September 1, 2012              [Page 16]

Internet-Draft              G.711.0 Segments               February 2012


6.  Acknowledgements

   There have been many people contributing to G.711.0 in the course of
   its development.  The people listed here deserve special mention:
   Takehiro Moriya, Claude Lamblin, Herve Taddei, Simao Campos, Yusuke
   Hiwasaki, Jacek Stachurski, Lorin Netsch, Paul Coverdale, Patrick
   Luthi, Lei Miao, Paul Barrett, Jari Hagqvist, Pengjun (Jeff) Huang,
   and Jon Gibbs.











































Ramalho, et al.         Expires September 1, 2012              [Page 17]

Internet-Draft              G.711.0 Segments               February 2012


7.  Contributors

   The authors thank everyone who have contributed to this document.
   The people listed here deserve special mention:  Paul, Jones, Ali
   Begen, and Roni Even.














































Ramalho, et al.         Expires September 1, 2012              [Page 18]

Internet-Draft              G.711.0 Segments               February 2012


8.  IANA Considerations

   This RFC is informational and contains no elements requiring IANA
   registration.















































Ramalho, et al.         Expires September 1, 2012              [Page 19]

Internet-Draft              G.711.0 Segments               February 2012


9.  Security Considerations

   This RFC is informational.  The security considerations surrounding
   the use of G.711.0 (including uses described in this document) are
   described in the security considerations section of the G.711.0 RTP
   Payload Format Internet Draft [I-D.ramalho-payload-g7110].













































Ramalho, et al.         Expires September 1, 2012              [Page 20]

Internet-Draft              G.711.0 Segments               February 2012


10.  References

10.1.  Normative References

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

   [RFC2508]  Casner, S. and V. Jacobson, "Compressing IP/UDP/RTP
              Headers for Low-Speed Serial Links", RFC 2508,
              February 1999.

   [RFC4566]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
              Description Protocol", RFC 4566, July 2006.

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

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

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

   [RFC3261]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
              A., Peterson, J., Sparks, R., Handley, M., and E.
              Schooler, "SIP: Session Initiation Protocol", RFC 3261,
              June 2002.

   [RFC5795]  Sandlund, K., Pelletier, G., and L-E. Jonsson, "The RObust
              Header Compression (ROHC) Framework", RFC 5795,
              March 2010.

   [I-D.ramalho-payload-g7110]
              Ramalho, M., Jones, P., Harada, N., Perumal, M., and M.
              Lei, "RTP Payload Format for G.711.0",
              draft-ramalho-payload-g7110-00 (work in progress),
              June 2011.

   [G.711.0]  ITU-T G.711.0, "Recommendation ITU-T G.711.0 - Lossless
              Compression of G.711 Pulse Code Modulation",
              September 2009.

   [G.711]    ITU-T G.711.0, "Recommendation ITU-T G.711 - Pulse Code
              Modulation (PCM) of Voice Frequencies", November 1988.




Ramalho, et al.         Expires September 1, 2012              [Page 21]

Internet-Draft              G.711.0 Segments               February 2012


10.2.  Informative References

   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
              June 1999.

   [ICASSP]   N. Harada, Y. Yamamoto, T. Moriya, Y. Hiwasaki, M. A.
              Ramalho, L. Netsch, Y. Stachurski, Miao Lei, H. Taddei,
              and Q. Fengyan, "Emerging ITU-T Standard G.711.0 -
              Lossless Compression of G.711 Pulse Code Modulation,
              International Conference on Acoustics Speech and Signal
              Processing (ICASSP), 2010, ISBN 978-1-4244-4244-4295-9",
              March 2010.







































Ramalho, et al.         Expires September 1, 2012              [Page 22]

Internet-Draft              G.711.0 Segments               February 2012


Authors' Addresses

   Michael A. Ramalho (editor)
   Cisco Systems, Inc.
   4563 Tuscana Drive
   Sarasota, FL  34241
   USA

   Phone:  +1 919 476 2038
   Email:  mramalho@cisco.com


   Dan Wing
   Cisco Systems, Inc.
   821 Alder Drive
   Milpitas, CA  95035
   USA

   Phone:  +1 408 853 4197
   Email:  dwing@cisco.com


   Muthu Arul Mozhi Perumal
   Cisco Systems, Inc.
   Cessna Business Park
   Sarjapur-Marathahalli Outer Ring Road
   Bangalore, Karnataka  560103
   India

   Phone:  +91 9449288768
   Email:  mperumal@cisco.com


   Noboru Harada
   NTT Communications Science Labs
   3-1 Morinosato-Wakamiya
   Atsugi, Kanagawa  243-0198
   JAPAN

   Email:  harada.noboru@lab.ntt.co.jp











Ramalho, et al.         Expires September 1, 2012              [Page 23]

Internet-Draft              G.711.0 Segments               February 2012


   Hadriel Kaplan
   Acme Packet
   71 Thirs Avenue
   Burlington, VT  01803
   USA

   Email:  hkaplan@acme.com












































Ramalho, et al.         Expires September 1, 2012              [Page 24]