Skip to main content

Session Description Protocol (SDP) Offer/Answer Examples
draft-ietf-mmusic-offer-answer-examples-06

The information below is for an old version of the document that is already published as an RFC.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 4317.
Authors Alan Johnston , Robert Sparks
Last updated 2013-03-02 (Latest revision 2005-06-29)
RFC stream Internet Engineering Task Force (IETF)
Intended RFC status Informational
Formats
Additional resources Mailing list discussion
Stream WG state (None)
Document shepherd (None)
IESG IESG state Became RFC 4317 (Informational)
Action Holders
(None)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD Jon Peterson
Send notices to jo@acm.org, csp@csperkins.org
draft-ietf-mmusic-offer-answer-examples-06
MMUSIC Working Group                                         A. Johnston
Internet-Draft                                                       MCI
Expires: December 30, 2005                                     R. Sparks
                                                        Estacado Systems
                                                           June 28, 2005

           Session Description Protocol Offer/Answer Examples
               draft-ietf-mmusic-offer-answer-examples-06

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 December 30, 2005.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   This document gives examples of Session Description Protocol (SDP)
   offer/answer exchanges.  Examples include codec negotiation and
   selection, hold and resume, and addition and deletion of media
   streams.  The examples show multiple media types, bidirectional,
   unidirectional, inactive streams and dynamic payload types.  Common
   Third Party Call Control (3pcc) examples are also given.

Johnston & Sparks       Expires December 30, 2005               [Page 1]
Internet-Draft          SDP Offer/Answer Examples              June 2005

Table of Contents

   1.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Codec Negotiation and Selection  . . . . . . . . . . . . . . .  3
     2.1   Audio and Video 1  . . . . . . . . . . . . . . . . . . . .  3
     2.2   Audio and Video 2  . . . . . . . . . . . . . . . . . . . .  4
     2.3   Audio and Video 3  . . . . . . . . . . . . . . . . . . . .  6
     2.4   Two Audio Streams  . . . . . . . . . . . . . . . . . . . .  6
     2.5   Audio and Video 4  . . . . . . . . . . . . . . . . . . . .  7
     2.6   Audio Only 1 . . . . . . . . . . . . . . . . . . . . . . .  9
     2.7   Audio and Video 5  . . . . . . . . . . . . . . . . . . . .  9
     2.8   Audio and Video 6  . . . . . . . . . . . . . . . . . . . . 11
   3.  Hold and Resume Scenarios  . . . . . . . . . . . . . . . . . . 12
     3.1   Hold and Unhold 1  . . . . . . . . . . . . . . . . . . . . 12
     3.2   Hold with Two Streams  . . . . . . . . . . . . . . . . . . 13
   4.  Addition and Deletion of Media Streams . . . . . . . . . . . . 15
     4.1   Second Audio Stream Added  . . . . . . . . . . . . . . . . 15
     4.2   Audio then Video Added . . . . . . . . . . . . . . . . . . 17
     4.3   Audio and Video, then Video Deleted  . . . . . . . . . . . 18
   5.  Third Party Call Control (3pcc)  . . . . . . . . . . . . . . . 20
     5.1   No Media, then Audio Added . . . . . . . . . . . . . . . . 20
     5.2   Hold and Unhold 2  . . . . . . . . . . . . . . . . . . . . 21
     5.3   Hold and Unhold 3  . . . . . . . . . . . . . . . . . . . . 22
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 23
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 23
   8.  Informative References . . . . . . . . . . . . . . . . . . . . 23
       Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 24
       Intellectual Property and Copyright Statements . . . . . . . . 25

Johnston & Sparks       Expires December 30, 2005               [Page 2]
Internet-Draft          SDP Offer/Answer Examples              June 2005

1.  Overview

   This document describes offer/answer examples of Session Description
   Protocol (SDP) based on RFC 3264 [1].  The SDP in these examples is
   defined by  RFC 2327 [2].  The offers and answers are assumed to be
   transported using a protocol such as Session Initiation Protocol
   (SIP) [3].

   Examples include codec negotiation and selection, hold and resume,
   and addition and deletion of media streams.  The examples show
   multiple media types, bidirectional, unidirectional, inactive streams
   and dynamic payload types.  Common Third Party Call Control (3pcc)
   [5] examples are also given.

   The following sections contain examples in which two parties, Alice
   and Bob, exchange SDP offers, answers, and, in some cases, additional
   offers and answers.  Note that the subject line (s=) contains a
   single space character.

2.  Codec Negotiation and Selection

2.1  Audio and Video 1

   This common scenario shows a video and audio session in which
   multiple codecs are offered but only one is accepted.  As a result of
   the exchange shown below, Alice and Bob may send only PCMU audio and
   MPV video.  Note: Dynamic payload type 97 is used for iLBC codec [6].

Johnston & Sparks       Expires December 30, 2005               [Page 3]
Internet-Draft          SDP Offer/Answer Examples              June 2005

    [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0 8 97
      a=rtpmap:0 PCMU/8000
      a=rtpmap:8 PCMA/8000
      a=rtpmap:97 iLBC/8000
      m=video 51372 RTP/AVP 31 32
      a=rtpmap:31 H261/90000
      a=rtpmap:32 MPV/90000

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49174 RTP/AVP 0
      a=rtpmap:0 PCMU/8000
      m=video 49170 RTP/AVP 32
      a=rtpmap:32 MPV/90000

2.2  Audio and Video 2

   Alice can support PCMU, PCMA, and iLBC codecs, but not more than one
   at the same time.  Alice offers all three to maximize chances of a
   successful exchange and Bob accepts two of them.  Audio only session
   is established in initial exchange between Alice and Bob using either
   PCMU or PCMA codecs (payload type in RTP packet tells which is being
   used).  Since Alice only supports one audio codec at a time, a second
   offer is made with just that one codec to limit the codec choice to
   just one.

   Note: the version number is incremented in both SDP messages in the
   second exchange.  Now only the PCMU codec may be used for media
   session between Alice and Bob.

   Note: The declined video stream still present in the second exchange
   of SDP with ports set to zero.

Johnston & Sparks       Expires December 30, 2005               [Page 4]
Internet-Draft          SDP Offer/Answer Examples              June 2005

   [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0 8 97
      a=rtpmap:0 PCMU/8000
      a=rtpmap:8 PCMA/8000
      a=rtpmap:97 iLBC/8000
      m=video 51372 RTP/AVP 31 32
      a=rtpmap:31 H261/90000
      a=rtpmap:32 MPV/90000

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49172 RTP/AVP 0 8
      a=rtpmap:0 PCMU/8000
      a=rtpmap:8 PCMA/8000
      m=video 0 RTP/AVP 31
      a=rtpmap:31 H261/90000

    [Second-Offer]

      v=0
      o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 51372 RTP/AVP 0
      a=rtpmap:0 PCMU/8000
      m=video 0 RTP/AVP 31
      a=rtpmap:31 H261/90000

   [Second-Answer]

      v=0
      o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49172 RTP/AVP 0

Johnston & Sparks       Expires December 30, 2005               [Page 5]
Internet-Draft          SDP Offer/Answer Examples              June 2005

      a=rtpmap:0 PCMU/8000
      m=video 0 RTP/AVP 31
      a=rtpmap:31 H261/90000

2.3  Audio and Video 3

   Alice offers three audio and two video codecs, while Bob accepts with
   a single audio and video codec.  As a result of this exchange, Bob
   and Alice use iLBC for audio and H261 for video.

   Note: change of dynamic payload type from 97 to 99 between the offer
   and the answer is OK since it references same codec.

    [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0 8 97
      a=rtpmap:0 PCMU/8000
      a=rtpmap:8 PCMA/8000
      a=rtpmap:97 iLBC/8000
      m=video 51372 RTP/AVP 31 32
      a=rtpmap:31 H261/90000
      a=rtpmap:32 MPV/90000

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49172 RTP/AVP 99
      a=rtpmap:99 iLBC/8000
      m=video 51374 RTP/AVP 31
      a=rtpmap:31 H261/90000

2.4  Two Audio Streams

   In this example, Alice wishes to establish separate audio streams,

Johnston & Sparks       Expires December 30, 2005               [Page 6]
Internet-Draft          SDP Offer/Answer Examples              June 2005

   one for normal audio and the other for telephone-events.  Alice
   offers two separate streams, one audio with two codecs and the other
   with RFC 2833 [4] tones (for DTMF).  Bob accepts both audio streams
   choosing the iLBC codec and telephone-events.

    [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0 97
      a=rtpmap:0 PCMU/8000
      a=rtpmap:97 iLBC/8000
      m=audio 49172 RTP/AVP 98
      a=rtpmap:98 telephone-event/8000
      a=sendonly

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49172 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      m=audio 49174 RTP/AVP 98
      a=rtpmap:98 telephone-event/8000
      a=recvonly

2.5  Audio and Video 4

   Alice and Bob establish an audio and video session with a single
   audio and video codec.  In a second exchange, Bob changes his address
   for media and Alice accepts with the same SDP as the initial exchange
   (and as a result does not increment the version number).

Johnston & Sparks       Expires December 30, 2005               [Page 7]
Internet-Draft          SDP Offer/Answer Examples              June 2005

    [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      m=video 51372 RTP/AVP 31
      a=rtpmap:31 H261/90000

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49174 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      m=video 49170 RTP/AVP 31
      a=rtpmap:31 H261/90000

   [Second-Offer]

      v=0
      o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 newhost.biloxi.example.com
      t=0 0
      m=audio 49178 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      m=video 49188 RTP/AVP 31
      a=rtpmap:31 H261/90000

   [Second-Answer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      m=video 51372 RTP/AVP 31
      a=rtpmap:31 H261/90000

Johnston & Sparks       Expires December 30, 2005               [Page 8]
Internet-Draft          SDP Offer/Answer Examples              June 2005

2.6  Audio Only 1

   Alice wishes to establish an audio session with Bob using either PCMU
   codec or iLBC codec with RFC2833 tones, but not both at the same
   time.  The offer contains these two media streams.  Bob declines the
   first one and accepts the second one.  If both media streams had been
   accepted, Alice would have sent a second declining one of the
   streams, as shown in Section 4.3.

   [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0
      a=rtpmap:0 PCMU/8000
      m=audio 51372 RTP/AVP 97 101
      a=rtpmap:97 iLBC/8000
      a=rtpmap:101 telephone-event/8000

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 0 RTP/AVP 0
      a=rtpmap:0 PCMU/8000
      m=audio 49170 RTP/AVP 97 101
      a=rtpmap:97 iLBC/8000
      a=rtpmap:101 telephone-event/8000

2.7  Audio and Video 5

   Alice and Bob establish an audio and video session in the first
   exchange with a single audio and video codec.  In the second
   exchange, Alice adds a second video codec which Bob accepts which
   allows Alice and Bob to switch between the two video codecs without
   another offer/answer exchange.

Johnston & Sparks       Expires December 30, 2005               [Page 9]
Internet-Draft          SDP Offer/Answer Examples              June 2005

    [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 99
      a=rtpmap:99 iLBC/8000
      m=video 51372 RTP/AVP 31
      a=rtpmap:31 H261/90000

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49172 RTP/AVP 99
      a=rtpmap:99 iLBC/8000
      m=video 51374 RTP/AVP 31
      a=rtpmap:31 H261/90000

   [Second-Offer]

      v=0
      o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 99
      a=rtpmap:99 iLBC/8000
      m=video 51372 RTP/AVP 31 32
      a=rtpmap:31 H261/90000
      a=rtpmap:32 MPV/90000

   [Second-Answer]

      v=0
      o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49172 RTP/AVP 99
      a=rtpmap:99 iLBC/8000

Johnston & Sparks       Expires December 30, 2005              [Page 10]
Internet-Draft          SDP Offer/Answer Examples              June 2005

      m=video 51374 RTP/AVP 31 32
      a=rtpmap:31 H261/90000
      a=rtpmap:32 MPV/90000

2.8  Audio and Video 6

   This example shows an audio and video offer that is accepted, but the
   answerer wants the video sent to a different address than the audio.
   This is a common scenario in conferencing where the video and audio
   mixing utilizes different servers.  In this example, Alice offers
   audio and video and Bob accepts.

    [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0 8 97
      a=rtpmap:0 PCMU/8000
      a=rtpmap:8 PCMA/8000
      a=rtpmap:97 iLBC/8000
      m=video 51372 RTP/AVP 31 32
      a=rtpmap:31 H261/90000
      a=rtpmap:32 MPV/90000

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49174 RTP/AVP 0
      a=rtpmap:0 PCMU/8000
      m=video 49172 RTP/AVP 32
      c=IN IP4 otherhost.biloxi.example.com
      a=rtpmap:32 MPV/90000

Johnston & Sparks       Expires December 30, 2005              [Page 11]
Internet-Draft          SDP Offer/Answer Examples              June 2005

3.  Hold and Resume Scenarios

3.1  Hold and Unhold 1

   Alice calls Bob, but Bob answers placing Alice on hold.  Bob then
   takes Alice off hold in the second offer.  Alice changes port number
   in the second exchange.  The media session between Alice and Bob is
   now active after Alice's second answer.  Note that a=sendrecv could
   be present in both second offer and answer exchange.  This is a
   common flow in 3pcc [5] scenarios.

Johnston & Sparks       Expires December 30, 2005              [Page 12]
Internet-Draft          SDP Offer/Answer Examples              June 2005

   [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0 97
      a=rtpmap:0 PCMU/8000
      a=rtpmap:97 iLBC/8000

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 placeholder.biloxi.example.com
      t=0 0
      m=audio 49172 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      a=sendonly

   [Second-Offer]

      v=0
      o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000

   [Second-Answer]

      v=0
      o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49178 RTP/AVP 97
      a=rtpmap:97 iLBC/8000

3.2  Hold with Two Streams

   In this example, two audio streams are established in the first
   offer/answer exchange.  In this second offer/answer exchange, one of

Johnston & Sparks       Expires December 30, 2005              [Page 13]
Internet-Draft          SDP Offer/Answer Examples              June 2005

   the audio streams ins placed on hold.  Alice offers two media
   streams, a bidirectional audio stream and a send only telephone event
   stream.  Bob accepts both streams.  Bob then puts Alice's audio
   stream on hold but not the tone stream.  Alice responds with
   identical SDP to the initial offer.

    [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0 97
      a=rtpmap:0 PCMU/8000
      a=rtpmap:97 iLBC/8000
      m=audio 49172 RTP/AVP 98
      a=rtpmap:98 telephone-event/8000
      a=sendonly

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49172 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      m=audio 49174 RTP/AVP 98
      a=rtpmap:98 telephone-event/8000
      a=recvonly

   [Second-Offer]

      v=0
      o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49172 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      a=sendonly
      m=audio 49174 RTP/AVP 98
      a=rtpmap:98 telephone-event/8000
      a=recvonly

Johnston & Sparks       Expires December 30, 2005              [Page 14]
Internet-Draft          SDP Offer/Answer Examples              June 2005

   [Second-Answer]

      v=0
      o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0 97
      a=rtpmap:0 PCMU/8000
      a=rtpmap:97 iLBC/8000
      m=audio 49172 RTP/AVP 98
      a=rtpmap:98 telephone-event/8000
      a=sendonly

4.  Addition and Deletion of Media Streams

   This section shows addition and deletion of media streams.

4.1  Second Audio Stream Added

   In this example, the first offer/answer exchange establishes a single
   audio stream with a single codec.  The second offer/answer exchange
   adds a second audio stream for telephone events.  The second stream
   is added by Bob's media server (different connection address) to
   receive RFC 2833 telephone-events (DTMF digits, typically) from
   Alice.  Alice accepts.  Even though the 2nd stream is unidirectional,
   Alice receives RTCP packets on port 49173 from the media server.

Johnston & Sparks       Expires December 30, 2005              [Page 15]
Internet-Draft          SDP Offer/Answer Examples              June 2005

   [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0 97
      a=rtpmap:0 PCMU/8000
      a=rtpmap:97 iLBC/8000

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000

   [Second-Offer]

      v=0
      o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      m=audio 48282 RTP/AVP 98
      c=IN IP4 mediaserver.biloxi.example.com
      a=rtpmap:98 telephone-event/8000
      a=recvonly

   [Second-Answer]

      v=0
      o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      m=audio 49172 RTP/AVP 98
      c=IN IP4 host.atlanta.example.com
      a=rtpmap:98 telephone-event/8000
      a=sendonly

Johnston & Sparks       Expires December 30, 2005              [Page 16]
Internet-Draft          SDP Offer/Answer Examples              June 2005

4.2  Audio then Video Added

   Audio only session is established in initial exchange between Alice
   and Bob using PCMU codec.  Alice adds a video stream which is
   accepted by Bob.

   [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0
      a=rtpmap:0 PCMU/8000

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49172 RTP/AVP 0
      a=rtpmap:0 PCMU/8000

    [Second-Offer]

      v=0
      o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 0
      a=rtpmap:0 PCMU/8000
      m=video 49172 RTP/AVP 31
      a=rtpmap:31 H261/90000

   [Second-Answer]

      v=0
      o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49172 RTP/AVP 0

Johnston & Sparks       Expires December 30, 2005              [Page 17]
Internet-Draft          SDP Offer/Answer Examples              June 2005

      a=rtpmap:0 PCMU/8000
      m=video 49168 RTP/AVP 31
      a=rtpmap:31 H261/90000

4.3  Audio and Video, then Video Deleted

   Alice and Bob establish an audio and video session.  In a second
   exchange, Bob deletes the video session resulting in an audio only
   session.

Johnston & Sparks       Expires December 30, 2005              [Page 18]
Internet-Draft          SDP Offer/Answer Examples              June 2005

    [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      m=video 51372 RTP/AVP 31
      a=rtpmap:31 H261/90000

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49174 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      m=video 49170 RTP/AVP 31
      a=rtpmap:31 H261/90000

   [Second-Offer]

      v=0
      o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49174 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      m=video 0 RTP/AVP 31
      a=rtpmap:31 H261/90000

   [Second-Answer]

      v=0
      o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000
      m=video 0 RTP/AVP 31
      a=rtpmap:31 H261/90000

Johnston & Sparks       Expires December 30, 2005              [Page 19]
Internet-Draft          SDP Offer/Answer Examples              June 2005

5.  Third Party Call Control (3pcc)

   This section shows examples common in Third Party Call Control (3pcc)
   flows [5].  Call hold and resume flows are also common in 3pcc.

5.1  No Media, then Audio Added

   The first offer from Alice contains no media lines, so Bob accepts
   with no media lines.  In the second exchange, Alice adds an audio
   stream which Bob accepts.

    [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0

   [Second-Offer]

      v=0
      o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000

   [Second-Answer]

      v=0
      o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49172 RTP/AVP 97
      a=rtpmap:97 iLBC/8000

Johnston & Sparks       Expires December 30, 2005              [Page 20]
Internet-Draft          SDP Offer/Answer Examples              June 2005

5.2  Hold and Unhold 2

   The first offer from Alice contains the connection address 0.0.0.0
   and a random port number, which means that Bob can not send media to
   Alice (the media stream is "black holed" or "bh").  Bob accepts with
   normal SDP.  In the second exchange, Alice changes the connection
   address, Bob accepts, and a media session is established.

    [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 0.0.0.0
      t=0 0
      m=audio 23442 RTP/AVP 97
      a=rtpmap:97 iLBC/8000

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000

   [Second-Offer]

      v=0
      o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000

   [Second-Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000

Johnston & Sparks       Expires December 30, 2005              [Page 21]
Internet-Draft          SDP Offer/Answer Examples              June 2005

5.3  Hold and Unhold 3

   The first offer from Alice contains an audio stream, but the answer
   from Bob contains the connection address 0.0.0.0 and a random port
   number, which means that Alice can not send media to Bob (the media
   stream is "black holed" or "bh").  In the second exchange, Bob
   changes the connection address, Alice accepts, and a media session is
   established.

    [Offer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0
      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000

   [Answer]

      v=0
      o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 0.0.0.0
      t=0 0
      m=audio 9322 RTP/AVP 97
      a=rtpmap:97 iLBC/8000

   [Second-Offer]

      v=0
      o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
      s=
      c=IN IP4 host.biloxi.example.com
      t=0 0
      m=audio 49172 RTP/AVP 97
      a=rtpmap:97 iLBC/8000

   [Second-Answer]

      v=0
      o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
      s=
      c=IN IP4 host.atlanta.example.com
      t=0 0

Johnston & Sparks       Expires December 30, 2005              [Page 22]
Internet-Draft          SDP Offer/Answer Examples              June 2005

      m=audio 49170 RTP/AVP 97
      a=rtpmap:97 iLBC/8000

6.  Security Considerations

   SDP offer and answer messages can contain private information about
   addresses and sessions to be established between parties.  If this
   information needs to be kept private, some security mechanism in the
   protocol used to carry the offers and answers must be used.  For SIP,
   this means using TLS transport and/or S/MIME encryption of the SDP
   message body.

   It is important that SDP offer and answer messages be properly
   authenticated and authorized before using them to establish a media
   session.  Example SIP mechanisms include SIP Digest, certs, or
   cryptographically verified SIP identity.

7.  IANA Considerations

   This document introduces no IANA considerations.

8.  Informative References

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

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

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

   [4]  Schulzrinne, H. and S. Petrack, "RTP Payload for DTMF Digits,
        Telephony Tones and Telephony Signals", RFC 2833, May 2000.

   [5]  Rosenberg, J., Peterson, J., Schulzrinne, H., and G. Camarillo,
        "Best Current Practices for Third Party Call Control (3pcc) in
        the Session Initiation Protocol (SIP)", BCP 85, RFC 3725,
        April 2004.

   [6]  Duric, A. and S. Andersen, "Real-time Transport Protocol (RTP)
        Payload Format for internet Low Bit Rate Codec (iLBC) Speech",
        RFC 3952, December 2004.

Johnston & Sparks       Expires December 30, 2005              [Page 23]
Internet-Draft          SDP Offer/Answer Examples              June 2005

Authors' Addresses

   Alan Johnston
   MCI
   100 South 4th Street
   St. Louis, MO  63102

   Email: alan.johnston@mci.com

   Robert J. Sparks
   Estacado Systems

   Email: RjS@estacado.net

Johnston & Sparks       Expires December 30, 2005              [Page 24]
Internet-Draft          SDP Offer/Answer Examples              June 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.

Johnston & Sparks       Expires December 30, 2005              [Page 25]