draft-ietf-mmusic-offer-answer-examples-06.txt   rfc4317.txt 
MMUSIC Working Group A. Johnston Network Working Group A. Johnston
Internet-Draft MCI Request for Comments: 4317 Tello Corporation
Expires: December 30, 2005 R. Sparks Category: Informational R. Sparks
Estacado Systems Estacado Systems
June 28, 2005 December 2005
Session Description Protocol Offer/Answer Examples Session Description Protocol (SDP)
draft-ietf-mmusic-offer-answer-examples-06 Offer/Answer Examples
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any This memo provides information for the Internet community. It does
applicable patent or other IPR claims of which he or she is aware not specify an Internet standard of any kind. Distribution of this
have been or will be disclosed, and any of which he or she becomes memo is unlimited.
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 Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2005).
Abstract Abstract
This document gives examples of Session Description Protocol (SDP) This document gives examples of Session Description Protocol (SDP)
offer/answer exchanges. Examples include codec negotiation and offer/answer exchanges. Examples include codec negotiation and
selection, hold and resume, and addition and deletion of media selection, hold and resume, and addition and deletion of media
streams. The examples show multiple media types, bidirectional, streams. The examples show multiple media types, bidirectional,
unidirectional, inactive streams and dynamic payload types. Common unidirectional, inactive streams, and dynamic payload types. Common
Third Party Call Control (3pcc) examples are also given. Third Party Call Control (3pcc) examples are also given.
Table of Contents Table of Contents
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Overview ........................................................3
2. Codec Negotiation and Selection . . . . . . . . . . . . . . . 3 2. Codec Negotiation and Selection .................................3
2.1 Audio and Video 1 . . . . . . . . . . . . . . . . . . . . 3 2.1. Audio and Video 1 ..........................................3
2.2 Audio and Video 2 . . . . . . . . . . . . . . . . . . . . 4 2.2. Audio and Video 2 ..........................................4
2.3 Audio and Video 3 . . . . . . . . . . . . . . . . . . . . 6 2.3. Audio and Video 3 ..........................................5
2.4 Two Audio Streams . . . . . . . . . . . . . . . . . . . . 6 2.4. Two Audio Streams ..........................................6
2.5 Audio and Video 4 . . . . . . . . . . . . . . . . . . . . 7 2.5. Audio and Video 4 ..........................................7
2.6 Audio Only 1 . . . . . . . . . . . . . . . . . . . . . . . 9 2.6. Audio Only 1 ...............................................8
2.7 Audio and Video 5 . . . . . . . . . . . . . . . . . . . . 9 2.7. Audio and Video 5 ..........................................9
2.8 Audio and Video 6 . . . . . . . . . . . . . . . . . . . . 11 2.8. Audio and Video 6 .........................................10
3. Hold and Resume Scenarios . . . . . . . . . . . . . . . . . . 12 3. Hold and Resume Scenarios ......................................12
3.1 Hold and Unhold 1 . . . . . . . . . . . . . . . . . . . . 12 3.1. Hold and Unhold 1 .........................................12
3.2 Hold with Two Streams . . . . . . . . . . . . . . . . . . 13 3.2. Hold with Two Streams .....................................13
4. Addition and Deletion of Media Streams . . . . . . . . . . . . 15 4. Addition and Deletion of Media Streams .........................15
4.1 Second Audio Stream Added . . . . . . . . . . . . . . . . 15 4.1. Second Audio Stream Added .................................15
4.2 Audio then Video Added . . . . . . . . . . . . . . . . . . 17 4.2. Audio, then Video Added ...................................16
4.3 Audio and Video, then Video Deleted . . . . . . . . . . . 18 4.3. Audio and Video, Then Video Deleted .......................17
5. Third Party Call Control (3pcc) . . . . . . . . . . . . . . . 20 5. Third Party Call Control (3pcc) ................................19
5.1 No Media, then Audio Added . . . . . . . . . . . . . . . . 20 5.1. No Media, Then Audio Added ................................19
5.2 Hold and Unhold 2 . . . . . . . . . . . . . . . . . . . . 21 5.2. Hold and Unhold 2 .........................................20
5.3 Hold and Unhold 3 . . . . . . . . . . . . . . . . . . . . 22 5.3. Hold and Unhold 3 .........................................21
6. Security Considerations . . . . . . . . . . . . . . . . . . . 23 6. Security Considerations ........................................22
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 7. Informative References .........................................22
8. Informative References . . . . . . . . . . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 24
Intellectual Property and Copyright Statements . . . . . . . . 25
1. Overview 1. Overview
This document describes offer/answer examples of Session Description This document describes offer/answer examples of Session Description
Protocol (SDP) based on RFC 3264 [1]. The SDP in these examples is 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 defined by RFC 2327 [2]. The offers and answers are assumed to be
transported using a protocol such as Session Initiation Protocol transported using a protocol such as Session Initiation Protocol
(SIP) [3]. (SIP) [3].
Examples include codec negotiation and selection, hold and resume, Examples include codec negotiation and selection, hold and resume,
and addition and deletion of media streams. The examples show and addition and deletion of media streams. The examples show
multiple media types, bidirectional, unidirectional, inactive streams multiple media types, bidirectional, unidirectional, inactive
and dynamic payload types. Common Third Party Call Control (3pcc) streams, and dynamic payload types. Common Third Party Call Control
[5] examples are also given. (3pcc) [5] examples are also given.
The following sections contain examples in which two parties, Alice The following sections contain examples in which two parties, Alice
and Bob, exchange SDP offers, answers, and, in some cases, additional and Bob, exchange SDP offers, answers, and, in some cases, additional
offers and answers. Note that the subject line (s=) contains a offers and answers. Note that the subject line (s=) contains a
single space character. single space character.
2. Codec Negotiation and Selection 2. Codec Negotiation and Selection
2.1 Audio and Video 1 2.1. Audio and Video 1
This common scenario shows a video and audio session in which This common scenario shows a video and audio session in which
multiple codecs are offered but only one is accepted. As a result of 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 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]. MPV video. Note: Dynamic payload type 97 is used for iLBC codec [6].
[Offer] [Offer]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
skipping to change at page 4, line 32 skipping to change at page 4, line 16
v=0 v=0
o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
s= s=
c=IN IP4 host.biloxi.example.com c=IN IP4 host.biloxi.example.com
t=0 0 t=0 0
m=audio 49174 RTP/AVP 0 m=audio 49174 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
m=video 49170 RTP/AVP 32 m=video 49170 RTP/AVP 32
a=rtpmap:32 MPV/90000 a=rtpmap:32 MPV/90000
2.2 Audio and Video 2 2.2. Audio and Video 2
Alice can support PCMU, PCMA, and iLBC codecs, but not more than one 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 at the same time. Alice offers all three to maximize chances of a
successful exchange and Bob accepts two of them. Audio only session successful exchange, and Bob accepts two of them. An audio-only
is established in initial exchange between Alice and Bob using either session is established in the initial exchange between Alice and Bob,
PCMU or PCMA codecs (payload type in RTP packet tells which is being using either PCMU or PCMA codecs (payload type in RTP packet tells
used). Since Alice only supports one audio codec at a time, a second which is being used). Since Alice only supports one audio codec at a
offer is made with just that one codec to limit the codec choice to time, a second offer is made with just that one codec, to limit the
just one. codec choice to just one.
Note: the version number is incremented in both SDP messages in the Note: the version number is incremented in both SDP messages in the
second exchange. Now only the PCMU codec may be used for media second exchange. After this exchange, only the PCMU codec may be
session between Alice and Bob. used for media session between Alice and Bob.
Note: The declined video stream still present in the second exchange Note: The declined video stream still present in the second exchange
of SDP with ports set to zero. of SDP with ports set to zero.
[Offer] [Offer]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
skipping to change at page 6, line 8 skipping to change at page 5, line 41
v=0 v=0
o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
s= s=
c=IN IP4 host.biloxi.example.com c=IN IP4 host.biloxi.example.com
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
m=video 0 RTP/AVP 31 m=video 0 RTP/AVP 31
a=rtpmap:31 H261/90000 a=rtpmap:31 H261/90000
2.3 Audio and Video 3 2.3. Audio and Video 3
Alice offers three audio and two video codecs, while Bob accepts with 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 a single audio and video codec. As a result of this exchange, Bob
and Alice use iLBC for audio and H261 for video. and Alice use iLBC for audio and H261 for video.
Note: change of dynamic payload type from 97 to 99 between the offer Note: change of dynamic payload type from 97 to 99 between the offer
and the answer is OK since it references same codec. and the answer is OK since the same codec is referenced.
[Offer] [Offer]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 0 8 97 m=audio 49170 RTP/AVP 0 8 97
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
skipping to change at page 6, line 44 skipping to change at page 6, line 32
v=0 v=0
o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
s= s=
c=IN IP4 host.biloxi.example.com c=IN IP4 host.biloxi.example.com
t=0 0 t=0 0
m=audio 49172 RTP/AVP 99 m=audio 49172 RTP/AVP 99
a=rtpmap:99 iLBC/8000 a=rtpmap:99 iLBC/8000
m=video 51374 RTP/AVP 31 m=video 51374 RTP/AVP 31
a=rtpmap:31 H261/90000 a=rtpmap:31 H261/90000
2.4 Two Audio Streams 2.4. Two Audio Streams
In this example, Alice wishes to establish separate audio streams, In this example, Alice wishes to establish separate audio streams,
one for normal audio and the other for telephone-events. Alice one for normal audio and the other for telephone-events. Alice
offers two separate streams, one audio with two codecs and the other offers two separate streams, one audio with two codecs and the other
with RFC 2833 [4] tones (for DTMF). Bob accepts both audio streams with RFC 2833 [4] tones (for DTMF). Bob accepts both audio streams
choosing the iLBC codec and telephone-events. choosing the iLBC codec and telephone-events.
[Offer] [Offer]
v=0 v=0
skipping to change at page 7, line 36 skipping to change at page 7, line 32
o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
s= s=
c=IN IP4 host.biloxi.example.com c=IN IP4 host.biloxi.example.com
t=0 0 t=0 0
m=audio 49172 RTP/AVP 97 m=audio 49172 RTP/AVP 97
a=rtpmap:97 iLBC/8000 a=rtpmap:97 iLBC/8000
m=audio 49174 RTP/AVP 98 m=audio 49174 RTP/AVP 98
a=rtpmap:98 telephone-event/8000 a=rtpmap:98 telephone-event/8000
a=recvonly a=recvonly
2.5 Audio and Video 4 2.5. Audio and Video 4
Alice and Bob establish an audio and video session with a single Alice and Bob establish an audio and video session with a single
audio and video codec. In a second exchange, Bob changes his address 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 for media and Alice accepts with the same SDP as the initial exchange
(and as a result does not increment the version number). (and as a result does not increment the version number).
[Offer] [Offer]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
skipping to change at page 9, line 5 skipping to change at page 8, line 40
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 97 m=audio 49170 RTP/AVP 97
a=rtpmap:97 iLBC/8000 a=rtpmap:97 iLBC/8000
m=video 51372 RTP/AVP 31 m=video 51372 RTP/AVP 31
a=rtpmap:31 H261/90000 a=rtpmap:31 H261/90000
2.6 Audio Only 1 2.6. Audio Only 1
Alice wishes to establish an audio session with Bob using either PCMU 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 codec or iLBC codec with RFC2833 tones, but not both at the same
time. The offer contains these two media streams. Bob declines the time. The offer contains these two media streams. Bob declines the
first one and accepts the second one. If both media streams had been first one and accepts the second one. If both media streams had been
accepted, Alice would have sent a second declining one of the accepted, Alice would have sent a second declining one of the
streams, as shown in Section 4.3. streams, as shown in Section 4.3.
[Offer] [Offer]
skipping to change at page 9, line 40 skipping to change at page 9, line 31
o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
s= s=
c=IN IP4 host.biloxi.example.com c=IN IP4 host.biloxi.example.com
t=0 0 t=0 0
m=audio 0 RTP/AVP 0 m=audio 0 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
m=audio 49170 RTP/AVP 97 101 m=audio 49170 RTP/AVP 97 101
a=rtpmap:97 iLBC/8000 a=rtpmap:97 iLBC/8000
a=rtpmap:101 telephone-event/8000 a=rtpmap:101 telephone-event/8000
2.7 Audio and Video 5 2.7. Audio and Video 5
Alice and Bob establish an audio and video session in the first Alice and Bob establish an audio and video session in the first
exchange with a single audio and video codec. In the second exchange with a single audio and video codec. In the second
exchange, Alice adds a second video codec which Bob accepts which exchange, Alice adds a second video codec, which Bob accepts. This
allows Alice and Bob to switch between the two video codecs without allows Alice and Bob to switch between the two video codecs without
another offer/answer exchange. another offer/answer exchange.
[Offer] [Offer]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
skipping to change at page 11, line 8 skipping to change at page 10, line 42
o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
s= s=
c=IN IP4 host.biloxi.example.com c=IN IP4 host.biloxi.example.com
t=0 0 t=0 0
m=audio 49172 RTP/AVP 99 m=audio 49172 RTP/AVP 99
a=rtpmap:99 iLBC/8000 a=rtpmap:99 iLBC/8000
m=video 51374 RTP/AVP 31 32 m=video 51374 RTP/AVP 31 32
a=rtpmap:31 H261/90000 a=rtpmap:31 H261/90000
a=rtpmap:32 MPV/90000 a=rtpmap:32 MPV/90000
2.8 Audio and Video 6 2.8. Audio and Video 6
This example shows an audio and video offer that is accepted, but the 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. answerer wants the video sent to a different address than that of the
This is a common scenario in conferencing where the video and audio audio. This is a common scenario in conferencing where the video and
mixing utilizes different servers. In this example, Alice offers audio mixing utilizes different servers. In this example, Alice
audio and video and Bob accepts. offers audio and video, and Bob accepts.
[Offer] [Offer]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 0 8 97 m=audio 49170 RTP/AVP 0 8 97
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
skipping to change at page 12, line 7 skipping to change at page 12, line 7
c=IN IP4 host.biloxi.example.com c=IN IP4 host.biloxi.example.com
t=0 0 t=0 0
m=audio 49174 RTP/AVP 0 m=audio 49174 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
m=video 49172 RTP/AVP 32 m=video 49172 RTP/AVP 32
c=IN IP4 otherhost.biloxi.example.com c=IN IP4 otherhost.biloxi.example.com
a=rtpmap:32 MPV/90000 a=rtpmap:32 MPV/90000
3. Hold and Resume Scenarios 3. Hold and Resume Scenarios
3.1 Hold and Unhold 1 3.1. Hold and Unhold 1
Alice calls Bob, but Bob answers placing Alice on hold. Bob then Alice calls Bob, but when Bob answers he places Alice on hold. Bob
takes Alice off hold in the second offer. Alice changes port number then takes Alice off hold in the second offer. Alice changes port
in the second exchange. The media session between Alice and Bob is number in the second exchange. The media session between Alice and
now active after Alice's second answer. Note that a=sendrecv could Bob is now active after Alice's second answer. Note that a=sendrecv
be present in both second offer and answer exchange. This is a could be present in both second offer and answer exchange. This is a
common flow in 3pcc [5] scenarios. common flow in 3pcc [5] scenarios.
[Offer] [Offer]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 0 97 m=audio 49170 RTP/AVP 0 97
skipping to change at page 13, line 47 skipping to change at page 13, line 14
[Second-Answer] [Second-Answer]
v=0 v=0
o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49178 RTP/AVP 97 m=audio 49178 RTP/AVP 97
a=rtpmap:97 iLBC/8000 a=rtpmap:97 iLBC/8000
3.2 Hold with Two Streams 3.2. Hold with Two Streams
In this example, two audio streams are established in the first In this example, two audio streams have been established in the first
offer/answer exchange. In this second offer/answer exchange, one of offer/answer exchange. In this second offer/answer exchange, one of
the audio streams ins placed on hold. Alice offers two media the audio streams is placed on hold. Alice offers two media streams,
streams, a bidirectional audio stream and a send only telephone event a bidirectional audio stream and a send-only telephone event stream.
stream. Bob accepts both streams. Bob then puts Alice's audio Bob accepts both streams. Bob then puts Alice's audio stream on hold
stream on hold but not the tone stream. Alice responds with but not the tone stream. Alice responds with identical SDP to the
identical SDP to the initial offer. initial offer.
[Offer] [Offer]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 0 97 m=audio 49170 RTP/AVP 0 97
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
skipping to change at page 15, line 22 skipping to change at page 15, line 9
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
a=rtpmap:97 iLBC/8000 a=rtpmap:97 iLBC/8000
m=audio 49172 RTP/AVP 98 m=audio 49172 RTP/AVP 98
a=rtpmap:98 telephone-event/8000 a=rtpmap:98 telephone-event/8000
a=sendonly a=sendonly
4. Addition and Deletion of Media Streams 4. Addition and Deletion of Media Streams
This section shows addition and deletion of media streams. This section shows addition and deletion of media streams.
4.1 Second Audio Stream Added 4.1. Second Audio Stream Added
In this example, the first offer/answer exchange establishes a single In this example, the first offer/answer exchange establishes a single
audio stream with a single codec. The second offer/answer exchange audio stream with a single codec. The second offer/answer exchange
adds a second audio stream for telephone events. The second stream adds a second audio stream for telephone events. The second stream
is added by Bob's media server (different connection address) to is added by Bob's media server (different connection address) to
receive RFC 2833 telephone-events (DTMF digits, typically) from receive RFC 2833 telephone-events (DTMF digits, typically) from
Alice. Alice accepts. Even though the 2nd stream is unidirectional, Alice. Alice accepts. Even though the second stream is
Alice receives RTCP packets on port 49173 from the media server. unidirectional, Alice receives RTCP packets on port 49173 from the
media server.
[Offer] [Offer]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 0 97 m=audio 49170 RTP/AVP 0 97
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
skipping to change at page 17, line 5 skipping to change at page 16, line 32
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 97 m=audio 49170 RTP/AVP 97
a=rtpmap:97 iLBC/8000 a=rtpmap:97 iLBC/8000
m=audio 49172 RTP/AVP 98 m=audio 49172 RTP/AVP 98
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
a=rtpmap:98 telephone-event/8000 a=rtpmap:98 telephone-event/8000
a=sendonly a=sendonly
4.2 Audio then Video Added 4.2. Audio, then Video Added
Audio only session is established in initial exchange between Alice An audio-only session is established in the initial exchange between
and Bob using PCMU codec. Alice adds a video stream which is Alice and Bob using PCMU codec. Alice adds a video stream that is
accepted by Bob. accepted by Bob.
[Offer] [Offer]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 0 m=audio 49170 RTP/AVP 0
skipping to change at page 18, line 8 skipping to change at page 17, line 38
v=0 v=0
o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
s= s=
c=IN IP4 host.biloxi.example.com c=IN IP4 host.biloxi.example.com
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
m=video 49168 RTP/AVP 31 m=video 49168 RTP/AVP 31
a=rtpmap:31 H261/90000 a=rtpmap:31 H261/90000
4.3 Audio and Video, then Video Deleted 4.3. Audio and Video, Then Video Deleted
Alice and Bob establish an audio and video session. In a second Alice and Bob establish an audio and video session. In a second
exchange, Bob deletes the video session resulting in an audio only exchange, Bob deletes the video session, resulting in an audio-only
session. session.
[Offer] [Offer]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 97 m=audio 49170 RTP/AVP 97
skipping to change at page 20, line 10 skipping to change at page 19, line 10
m=audio 49170 RTP/AVP 97 m=audio 49170 RTP/AVP 97
a=rtpmap:97 iLBC/8000 a=rtpmap:97 iLBC/8000
m=video 0 RTP/AVP 31 m=video 0 RTP/AVP 31
a=rtpmap:31 H261/90000 a=rtpmap:31 H261/90000
5. Third Party Call Control (3pcc) 5. Third Party Call Control (3pcc)
This section shows examples common in 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. flows [5]. Call hold and resume flows are also common in 3pcc.
5.1 No Media, then Audio Added 5.1. No Media, Then Audio Added
The first offer from Alice contains no media lines, so Bob accepts The first offer from Alice contains no media lines, so Bob accepts
with no media lines. In the second exchange, Alice adds an audio with no media lines. In the second exchange, Alice adds an audio
stream which Bob accepts. stream that Bob accepts.
[Offer] [Offer]
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s= s=
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
[Answer] [Answer]
skipping to change at page 21, line 5 skipping to change at page 20, line 5
[Second-Answer] [Second-Answer]
v=0 v=0
o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com o=bob 2808844564 2808844565 IN IP4 host.biloxi.example.com
s= s=
c=IN IP4 host.biloxi.example.com c=IN IP4 host.biloxi.example.com
t=0 0 t=0 0
m=audio 49172 RTP/AVP 97 m=audio 49172 RTP/AVP 97
a=rtpmap:97 iLBC/8000 a=rtpmap:97 iLBC/8000
5.2 Hold and Unhold 2 5.2. Hold and Unhold 2
The first offer from Alice contains the connection address 0.0.0.0 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 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 Alice (the media stream is "black holed" or "bh"). Bob accepts with
normal SDP. In the second exchange, Alice changes the connection normal SDP. In the second exchange, Alice changes the connection
address, Bob accepts, and a media session is established. address, Bob accepts, and a media session is established.
[Offer] [Offer]
v=0 v=0
skipping to change at page 22, line 5 skipping to change at page 21, line 5
[Second-Answer] [Second-Answer]
v=0 v=0
o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com o=bob 2808844564 2808844564 IN IP4 host.biloxi.example.com
s= s=
c=IN IP4 host.biloxi.example.com c=IN IP4 host.biloxi.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 97 m=audio 49170 RTP/AVP 97
a=rtpmap:97 iLBC/8000 a=rtpmap:97 iLBC/8000
5.3 Hold and Unhold 3 5.3. Hold and Unhold 3
The first offer from Alice contains an audio stream, but the answer 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 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 number, which means that Alice can not send media to Bob (the media
stream is "black holed" or "bh"). In the second exchange, Bob stream is "black holed" or "bh"). In the second exchange, Bob
changes the connection address, Alice accepts, and a media session is changes the connection address, Alice accepts, and a media session is
established. established.
[Offer] [Offer]
skipping to change at page 23, line 17 skipping to change at page 22, line 15
6. Security Considerations 6. Security Considerations
SDP offer and answer messages can contain private information about SDP offer and answer messages can contain private information about
addresses and sessions to be established between parties. If this addresses and sessions to be established between parties. If this
information needs to be kept private, some security mechanism in the information needs to be kept private, some security mechanism in the
protocol used to carry the offers and answers must be used. For SIP, 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 this means using TLS transport and/or S/MIME encryption of the SDP
message body. message body.
It is important that SDP offer and answer messages be properly It is important that SDP offer and answer messages be properly
authenticated and authorized before using them to establish a media authenticated and authorized before they are used to establish a
session. Example SIP mechanisms include SIP Digest, certs, or media session. Examples of SIP mechanisms include SIP Digest, certs,
cryptographically verified SIP identity. and cryptographically-verified SIP identity.
7. IANA Considerations
This document introduces no IANA considerations.
8. Informative References 7. Informative References
[1] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with [1] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with
Session Description Protocol (SDP)", RFC 3264, June 2002. Session Description Protocol (SDP)", RFC 3264, June 2002.
[2] Handley, M. and V. Jacobson, "SDP: Session Description [2] Handley, M. and V. Jacobson, "SDP: Session Description
Protocol", RFC 2327, April 1998. Protocol", RFC 2327, April 1998.
[3] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., [3] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP:
Session Initiation Protocol", RFC 3261, June 2002. Session Initiation Protocol", RFC 3261, June 2002.
skipping to change at page 24, line 8 skipping to change at page 23, line 8
the Session Initiation Protocol (SIP)", BCP 85, RFC 3725, the Session Initiation Protocol (SIP)", BCP 85, RFC 3725,
April 2004. April 2004.
[6] Duric, A. and S. Andersen, "Real-time Transport Protocol (RTP) [6] Duric, A. and S. Andersen, "Real-time Transport Protocol (RTP)
Payload Format for internet Low Bit Rate Codec (iLBC) Speech", Payload Format for internet Low Bit Rate Codec (iLBC) Speech",
RFC 3952, December 2004. RFC 3952, December 2004.
Authors' Addresses Authors' Addresses
Alan Johnston Alan Johnston
MCI Tello Corporation
100 South 4th Street 999 Baker Way, Suite 250
St. Louis, MO 63102 San Mateo, CA 94404
Email: alan.johnston@mci.com EMail: ajohnston@tello.com
Robert J. Sparks Robert J. Sparks
Estacado Systems Estacado Systems
Email: RjS@estacado.net EMail: rjsparks@estacado.net
Intellectual Property Statement Full 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.
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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights 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 might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an 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 attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at ietf-
ietf-ipr@ietf.org. 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 Acknowledgement
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
 End of changes. 43 change blocks. 
138 lines changed or deleted 113 lines changed or added

This html diff was produced by rfcdiff 1.28, available from http://www.levkowetz.com/ietf/tools/rfcdiff/