Internet Engineering Task Force Alan Johnston
Internet Draft WorldCom
Document: draft-ietf-sipping-service-examples-03.txt Robert Sparks
Category: Informational Chris Cunningham
November 2002 Steve Donovan
Expires: May 2003 dynamicsoft
Kevin Summers
Sonus
Session Initiation Protocol Service Examples
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026[1].
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.
Abstract
This informational document gives examples of Session Initiation
Protocol (SIP) services. This covers most features offered in so-
called Centrex offerings from local exchange carriers and PBX
(Private Branch Exchange) features. Most of the services shown in
this document are implemented in the SIP User Agents, although some
require the assistance of a SIP Proxy. Some require some extensions
to SIP including the REFER, SUBSCRIBE, and NOTIFY methods and the
Replaces and Join headers. These features are not intended to be an
exhaustive set, but rather show implementations of common features
likely to be implemented on SIP IP telephones in a business
environment.
Johnston, et al. [Page 1]
Internet Draft SIP Service Examples November 2002
Table of Contents
1 Overview...................................................3
1.1 Legend for Message Flows...................................4
1.2 Document History...........................................4
2 IP Telephony Services Features Call Flows..................8
2.1 Call Hold..................................................8
2.2 Consultation Hold.........................................19
2.3 Music On Hold.............................................34
2.4 Unattended Transfer.......................................41
2.5 Attended Transfer.........................................48
2.6 Call Forwarding Unconditional.............................59
2.7 Call Forwarding - Busy....................................64
2.8 Call Forwarding - No Answer...............................71
2.9 3-way Conference û Third Party is Added...................79
2.10 3-way Conference û Third Party Joins......................84
2.11 Single Line Extension.....................................89
2.12 Find-Me..................................................105
2.13 Call Management (Incoming Call Screening)................115
2.14 Call Management (Outgoing Call Screening)................119
2.15 Call Park................................................122
2.16 Call Pickup..............................................131
2.17 Automatic Redial.........................................138
3 Security Considerations..................................144
4 IANA Considerations......................................145
5 Acknowledgements.........................................146
6 References...............................................147
7 Author's Addresses.......................................148
Johnston, et al. Informational [Page 2]
Internet Draft SIP Service Examples November 2002
1 Overview
This informational document provides call flows detailing a SIP
implementation of the following traditional telephony services:
Call Hold Music on Hold
Unattended Transfer Consultation Hold
Unconditional Call Forwarding Attended Transfer
No Answer Call Forwarding Busy Call Forwarding
Single-Line Extension 3-way Call
Incoming Call Screening Find-Me
Call Pickup Call Park
Outgoing Call Screening Automatic Redial
It is the hope of the authors that this document will be useful for
SIP implementors, users, designers, and protocol researchers alike
and will help further the goal of a standard SIP implementation for
IP Telephony. It is envisioned that as changes to the standard and
additional RFCs are added that this document will reflect those
changes and represent the current state of a standard SIP IP
Telephony implementation.
These flows use SIP as defined by RFC 3261 [2] and SDP usage defined
by RFC 3264 [8]. Note that this document is informational, and
nothing stated here should be taken as normative. The SIP
specification and the other referenced documents are definitive as
far as protocol issues are concerned. Also, these flows do not
represent the only way to implement these services - other approaches
such as 3pcc (Third Party Call Control) or Back-to-Back User Agents
(B2BUA) may be more appropriate in some circumstances. The design
and principles of these service examples are described in the the
Multiparty Framework document [12].
These flows assume the functionality described in the SIP Basic Call
Flow Examples document [3], which explores basic behavior. Some of
the scenarios described herein make use of the SIP method extension
REFER [4] and the SIP header extension Replaces [5], the SIP header
extension Join [6], and some of the concepts in the 3pcc (third party
call control) document [7]. The SIP Events document [11] describes
the use of SUBSCRIBE and NOTIFY while the SIP Call Package document
[10] describes the dialog event package.
These flows were prepared assuming a network of proxies, registrars,
PSTN gateways, and other SIP servers that have a pre-established
trust relationship with each other, secured through other means than
SIP. User agents wishing to use the services in this network are
required to authenticate themselves with an edge proxy using SIP
Digest. To improve the clarity of this document, authentication of
User Agents is not explicitly shown in all flows, except where
authentication directly relates to the service example.
Johnston, et al. Informational [Page 3]
Internet Draft SIP Service Examples November 2002
Each call flow is presented with a textual description of the
scenario, a message flow diagram showing the messages exchanged
between separate network elements, and the detailed contents of each
message shown in the diagram.
1.1 Legend for Message Flows
Dashed lines (---) represent control messages that are mandatory to
the call scenario. These control messages can be SIP or PSTN
signaling.
Double dashed lines (===) represent media paths between network
elements.
Messages with parenthesis around name represent optional control
messages.
Messages are identified in the Figures as F1, F2, etc. This
references the message details in the table that follows the Figure.
Comments in the message details are shown in the following form:
/* Comments. */
1.2 Document History
The first version of this document was the Internet-Draft
"draft-sparks-sip-service-examples.txt" October 1999.
The next version was combined with the SIP Telephony Call Flows
document into the "draft-ietf-sip-call-flows-00.txt" April 2000.
This version is based on Section 7 of that document with many of the
examples extensively rewritten using the REFER method.
1.3 Changes to 00
- Moddified all REFER flows to include 202 Accepted and NOTIFY
result message.
- Removed "Telephony" from title of document.
- Added note on 2.9 on use of REFER to exit 3-way conference.
- Modified Music on Hold/Call Park flow (2.2).
- Modified order of messages in transfers (2.4 and 2.5) to more
closely resemble PSTN experience.
- Added Call Pickup flow (2.13).
- Added editorial notes on usefulness of Replaces header.
Johnston, et al. Informational [Page 4]
Internet Draft SIP Service Examples November 2002
1.4 Changes to 01
- Added Replaces header to flows.
- Changed handling of call hold.
- Added Contact and Referred-By headers and ref parameters to REFER
messages.
- Changed some Contacts, Routes, and Request-URIs to IP addresses.
- Incremented o= line when SDP is updated with hold.
- Added From tags throughout.
- Renamed Music On Hold/Call Park to Call Park and added new Music On
Hold call flow using 3pcc.
1.5 Changes to 02
- Changed call hold flows to show sendonly attribute based on [8].
- Removed ref parameter from the Referred-By headers since it is now
just a generic paramter in the latest draft [4]. (Note that if the
ref parameter stays, additional characters such as "<", "@", and ">"
must be escaped.)
- Removed tags in CANCEL requests and responses.
1.6 Changes to sipping-00
- Added Max-Forwards
- Added branch parm and received param to Vias
- Changed Record-Route and Route behavior to show loose routing.
- Added Record-Route and Contact to 18x responses
- Changed Call Pickup to show Replaces with an early dialog
- Changed description of Single Line Extension service
- Changed Call Park and Pickup flow to show a different user picking
up the call.
- Added Allow and Supported headers to REFER and replaces flows.
1.7 Changes to -01
Johnston, et al. Informational [Page 5]
Internet Draft SIP Service Examples November 2002
- Added SIP Events and dialog event package to Call Pickup flow.
- Added Auto Redial call flows
- Updated based on new Replaces draft with 481 behavior instead of
using Accept-Contact in attended transfer.
- Added Single Line Extension call flow.
- Added Error-Info in call screening flows.
1.8 Changes to -02
- Added 3-way call flows showing transition from 2 party call.
1.9 Changes to -03
- Fixed owner/version SDP errors in hold SDP.
- Add Notification of remote-URI in Call Pickup scenario
- Updated 3-way conference flows to show just internal User Agent
mixing
- Added FQDNs in Contacts and SDP, changed example addresses
- Replaced use of Accept-Contact header with Contact URI
- Updated for refer-06 changes
Johnston, et al. Informational [Page 6]
Internet Draft SIP Service Examples November 2002
Johnston, et al. Informational [Page 7]
Internet Draft SIP Service Examples November 2002
2 IP Telephony Services Features Call Flows
These call flows show how a number of standard telephony features can
be implemented using SIP. They are not meant to represent a complete
set. Some calls make use of SIP extensions.
2.1 Call Hold
User A Proxy User B
| | |
| INVITE F1 | |
|--------------->| |
| | INVITE F2 |
|(100 Trying) F3 |------------->|
|<---------------| |
| |180 Ringing F4|
| 180 Ringing F5 |<-------------|
|<---------------| |
| | 200 OK F6 |
| 200 OK F7 |<-------------|
|<---------------| |
| ACK F8 | |
|--------------->| ACK F9 |
| |------------->|
| Both way RTP Established |
|<=============================>|
| |INVITE(hold) F10
|INVITE(hold) F11|<-------------|
|<---------------| |
| 200 OK F12 | |
|--------------->| 200 OK F13 |
| |------------->|
| | ACK F14 |
| ACK F15 |<-------------|
|<---------------| |
| No RTP Sent! |
| | INVITE F16 |
| INVITE F17 |<-------------|
|<---------------| |
| 200 OK F18 | |
|--------------->| 200 OK F19 |
| |------------->|
| | ACK F20 |
| ACK F21 |<-------------|
|<---------------| |
| Both way RTP Established |
|<=============================>|
| BYE F22 | |
|--------------->| BYE F23 |
| |------------->|
| | 200 OK F24 |
| 200 OK F25 |<-------------|
Johnston, et al. Informational [Page 8]
Internet Draft SIP Service Examples November 2002
|<---------------| |
| | |
User A calls User B, User B places call on hold. User B then takes
call off hold. User A hangs up call. Hold is unidirectional in
nature. However, a UA that places the other party on hold will
generally also stop sending media, resulting in no media exchange
between the UAs.
Message Details
F1 INVITE A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 INVITE Proxy 1 -> B
INVITE sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
Johnston, et al. Informational [Page 9]
Internet Draft SIP Service Examples November 2002
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F3 (100 Trying) Proxy 1 -> A
SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Content-Length: 0
F4 180 Ringing B -> Proxy 1
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content Length:0
F5 180 Ringing Proxy 1 -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content Length: 0
F6 200 OK B -> Proxy 1
Johnston, et al. Informational [Page 10]
Internet Draft SIP Service Examples November 2002
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F7 200 OK Proxy 1 -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F8 ACK A -> Proxy 1
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
Johnston, et al. Informational [Page 11]
Internet Draft SIP Service Examples November 2002
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 1 ACK
Content-Length: 0
F9 ACK Proxy 1 -> B
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 1 ACK
Content-Length: 0
/* User B places User A on hold. Note that the version is
incremented in the o= field of the SDP */
F10 INVITE B -> Proxy 1
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844528 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=sendonly
F11 INVITE Proxy 1 -> A
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Johnston, et al. Informational [Page 12]
Internet Draft SIP Service Examples November 2002
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844528 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=sendonly
/* A replies with normal SDP */
F12 200 OK A -> Proxy 1
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F13 200 OK Proxy 1 -> B
SIP/2.0 200 OK
Johnston, et al. Informational [Page 13]
Internet Draft SIP Service Examples November 2002
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F14 ACK B -> Proxy 1
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 1 ACK
Content-Length: 0
F15 ACK Proxy 1 -> A
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 1 ACK
Content-Length: 0
/* User B takes the call off hold */
F16 INVITE B -> Proxy 1
INVITE sip:UserA@client.here.com SIP/2.0
Johnston, et al. Informational [Page 14]
Internet Draft SIP Service Examples November 2002
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 2 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844529 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F17 INVITE Proxy 1 -> A
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 2 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844529 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F18 200 OK A -> Proxy 1
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Johnston, et al. Informational [Page 15]
Internet Draft SIP Service Examples November 2002
Record-Route: <sip:ss1.wcom.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 2 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F19 200 OK Proxy 1 -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 2 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F20 ACK B -> Proxy 1
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 2 ACK
Content-Length: 0
Johnston, et al. Informational [Page 16]
Internet Draft SIP Service Examples November 2002
F21 ACK Proxy 1 -> A
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 2 ACK
Content-Length: 0
/* RTP Media stream re-established. User A disconnects. */
F22 BYE A -> Proxy 1
BYE sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 2 BYE
Content-Length: 0
F23 BYE Proxy 1 -> B
BYE sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 2 BYE
Content-Length: 0
F24 200 OK B -> Proxy 1
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Johnston, et al. Informational [Page 17]
Internet Draft SIP Service Examples November 2002
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 2 BYE
Content-Length: 0
F25 200 OK Proxy 1 -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 2 BYE
Content-Length: 0
Johnston, et al. Informational [Page 18]
Internet Draft SIP Service Examples November 2002
2.2 Consultation Hold
User A Proxy User B User C
| | | |
| INVITE F1 | | |
|--------------->| INVITE F2 | |
| |------------->| |
|(100 Trying) F3 | | |
|<---------------|180 Ringing F4| |
| |<-------------| |
| 180 Ringing F5 | | |
|<---------------| 200 OK F6 | |
| |<-------------| |
| 200 OK F7 | | |
|<---------------| | |
| ACK F8 | | |
|--------------->| ACK F9 | |
| |------------->| |
| Both way RTP Established | |
|<=============================>| |
| |INVITE(hold) F10 |
|INVITE(hold) F11|<-------------| |
|<---------------| | |
| 200 OK F12 | | |
|--------------->| 200 OK F13 | |
| |------------->| |
| | ACK F14 | |
| |<-------------| |
| ACK F15 | | |
|<---------------| | |
| No RTP Sent! | |
| | INVITE F16 | |
| |<-------------| |
| | | INVITE F17 |
| |--------------------------------->|
| |(100 Trying) F18 |
| |------------->| |
| | | 180 Ringing F19 |
| |<---------------------------------|
| | 180 Ringing F20 |
| |------------->| |
| | | 200 OK F21 |
| |<---------------------------------|
| | 200 OK F22 | |
| |------------->| |
| | ACK F23 | |
| |<-------------| |
| | | ACK F24 |
| |--------------------------------->|
| | Both way RTP Established |
Johnston, et al. Informational [Page 19]
Internet Draft SIP Service Examples November 2002
| | |<=================>|
| | BYE F25 | |
| |<-------------| |
| | | BYE F26 |
| |--------------------------------->|
| | | 200 OK F27 |
| |<---------------------------------|
| | 200 OK F28 | |
| |------------->| |
| | INVITE F29 | |
| INVITE F30 |<-------------| |
|<---------------| | |
| 200 OK F31 | | |
|--------------->| 200 OK F32 | |
| |------------->| |
| | ACK F33 | |
| |<-------------| |
| ACK F34 | | |
|<---------------| | |
| Both way RTP Established | |
|<=============================>| |
| BYE F35 | | |
|--------------->| BYE F36 | |
| |------------->| |
| | 200 OK F37 | |
| |<-------------| |
| 200 OK F38 | | |
|<---------------| | |
| | | |
User A calls user B. User B places call on hold. User B calls User
C. User B then disconnects with C, then takes the call with User A
off hold. The call ends with B hangs up.
Message Details
F1 INVITE A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
Johnston, et al. Informational [Page 20]
Internet Draft SIP Service Examples November 2002
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 INVITE Proxy 1 -> B
INVITE sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F3(100 Trying) Proxy 1 -> A
SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Content-Length: 0
F4 180 Ringing B -> Proxy 1
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
Johnston, et al. Informational [Page 21]
Internet Draft SIP Service Examples November 2002
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content Length:0
F5 180 Ringing Proxy 1 -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content Length: 0
F6 200 OK B -> Proxy 1
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F7 200 OK Proxy 1 -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Johnston, et al. Informational [Page 22]
Internet Draft SIP Service Examples November 2002
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F8 ACK A -> Proxy 1
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F9 ACK Proxy 1 -> B
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
/* User B places User A on hold. */
F10 INVITE B -> Proxy 1
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Route: <sip:ss1.wcom.com;lr>
Johnston, et al. Informational [Page 23]
Internet Draft SIP Service Examples November 2002
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844528 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=sendonly
F11 INVITE Proxy 1 -> A
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844528 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=sendonly
F12 200 OK A -> Proxy 1
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Johnston, et al. Informational [Page 24]
Internet Draft SIP Service Examples November 2002
Record-Route: <sip:ss1.wcom.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F13 200 OK Proxy 1 -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F14 ACK B -> Proxy 1
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
Johnston, et al. Informational [Page 25]
Internet Draft SIP Service Examples November 2002
F15 ACK Proxy 1 -> A
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F16 INVITE B -> Proxy 1
INVITE sip:UserC@anywhere.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>
Call-ID: 9876543210@there.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844834 2890844834 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 50170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F17 INVITE Proxy 1 -> C
INVITE sip:UserC@client.anywhere.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>
Call-ID: 9876543210@there.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Johnston, et al. Informational [Page 26]
Internet Draft SIP Service Examples November 2002
Content-Length: ...
v=0
o=UserB 2890844834 2890844834 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 50170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F18 (100 Trying) Proxy 1 -> B
SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>
Call-ID: 9876543210@there.com
CSeq: 1 INVITE
Content-Length: 0
F19 180 Ringing C -> Proxy 1
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=456654
Call-ID: 9876543210@here.com
CSeq: 1 INVITE
Contact: <sip:UserC@client.anywhere.com>
Content Length:0
F20 180 Ringing Proxy 1 -> B
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=client.anywhere.com
Record-Route: <sip:ss1.wcom.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=456654
Call-ID: 9876543210@there.com
CSeq: 1 INVITE
Contact: <sip:UserC@client.anywhere.com>
Content Length: 0
Johnston, et al. Informational [Page 27]
Internet Draft SIP Service Examples November 2002
F21 200 OK C -> Proxy 1
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=456654
Call-ID: 9876543210@there.com
CSeq: 1 INVITE
Contact: <sip:UserC@client.anywhere.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com
s=Session SDP
c=IN IP4 client.anywhere.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F22 200 OK Proxy 1 -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=456654
Call-ID: 9876543210@there.com
CSeq: 1 INVITE
Contact: <sip:UserC@client.anywhere.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com
s=Session SDP
c=IN IP4 client.anywhere.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F23 ACK B -> Proxy 1
ACK sip:UserC@client.anywhere.com SIP/2.0
Johnston, et al. Informational [Page 28]
Internet Draft SIP Service Examples November 2002
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=456654
Call-ID: 9876543210@there.com
CSeq: 1 ACK
Content-Length: 0
F24 ACK Proxy 1 -> C
ACK sip:UserC@client.anywhere.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=456654
Call-ID: 9876543210@there.com
CSeq: 1 ACK
Content-Length: 0
F25 BYE B -> Proxy 1
BYE sip:UserC@client.anywhere.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=456654
Call-ID: 9876543210@there.com
CSeq: 2 BYE
Content-Length: 0
F26 BYE Proxy 1 -> C
BYE sip:UserC@client.anywhere.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=456654
Call-ID: 9876543210@there.com
CSeq: 2 BYE
Content-Length: 0
F27 200 OK C -> Proxy 1
Johnston, et al. Informational [Page 29]
Internet Draft SIP Service Examples November 2002
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=456654
Call-ID: 9876543210@there.com
CSeq: 2 BYE
Content-Length: 0
F28 200 OK Proxy 1 -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=456654
Call-ID: 9876543210@there.com
CSeq: 2 BYE
Content-Length: 0
/* User B takes the call off hold */
F29 INVITE B -> Proxy 1
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 2 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844529 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F30 INVITE Proxy 1 -> A
Johnston, et al. Informational [Page 30]
Internet Draft SIP Service Examples November 2002
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 2 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844529 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F31 200 OK A -> Proxy 1
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 2 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F32 200 OK Proxy 1 -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Johnston, et al. Informational [Page 31]
Internet Draft SIP Service Examples November 2002
;received=192.0.2.105
Record-Route: <sip:ss1.wcom.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 2 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F33 ACK B -> Proxy 1
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 2 ACK
Content-Length: 0
F34 ACK Proxy 1 -> A
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 2 ACK
Content-Length: 0
F35 BYE A -> Proxy 1
BYE sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
Johnston, et al. Informational [Page 32]
Internet Draft SIP Service Examples November 2002
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
F36 BYE Proxy 1 -> B
BYE sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
F37 200 OK B -> Proxy 1
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
F38 200 OK Proxy 1 -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
Johnston, et al. Informational [Page 33]
Internet Draft SIP Service Examples November 2002
2.3 Music On Hold
User A User B Music Server
| | |
| INVITE F1 | |
|--------------->| |
| 180 Ringing F2 | |
|<---------------| |
| 200 OK F3 | |
|<---------------| |
| ACK F4 | |
|--------------->| |
| RTP | |
|<==============>| |
| | |
| B places A on hold with music |
| | |
| | INVITE no sdp F5
| |------------->|
| |200 OK sdpM F6|
| |<-------------|
|INVITE (hold) F7| |
|<---------------| |
| 200 OK sdpA F8 | |
|--------------->| |
| ACK F9 | |
|<---------------| |
| | ACK sdpA F10 |
| |------------->|
| RTP |
|<==============================|
| | |
| B Picks up the Call |
| | BYE F11 |
| |------------->|
| | 200 OK F12 |
| |<-------------|
| INVITE F13 | |
|<---------------| |
| 200 OK F14 | |
|--------------->| |
| ACK F15 | |
|<---------------| |
| RTP | |
|<==============>| |
In this flow,B places A on hold with music. This is performed by B
acting as a B2BUA (Back-to-Back User Agent) using 3pcc (third party
call control) [7] to INVITE a Music Server into the session, which
Johnston, et al. Informational [Page 34]
Internet Draft SIP Service Examples November 2002
sends RTP music to A. B picks the call up from hold by sending a BYE
to the music server and taking A off of hold.
Note that if A responds to the INVITE with hold SDP with hold SDP in
the 200 OK, this call flow will not work properly.
Note also that A will receive RTP packets from two different IP
addresses during this call flow.
Message Details
F1 INVITE A -> B
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 180 Ringing B -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Length: 0
F3 200 OK B -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Johnston, et al. Informational [Page 35]
Internet Draft SIP Service Examples November 2002
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F4 ACK A -> B
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
/* User B places A on hold with music by acting as a B2BUA and
sending an INVITE to the Music Server */
F5 INVITE B -> Music Server
INVITE sip:music@server.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: Music <sip:music@server.com>
Call-ID: sdjfdjfskdf@there.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Length: 0
F6 200 OK C -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
From: LittleGuy <sip:UserB@there.com>;tag=8675309
Johnston, et al. Informational [Page 36]
Internet Draft SIP Service Examples November 2002
To: Music <sip:music@server.com>;tag=90210
Call-ID: sdjfdjfskdf@there.com
CSeq: 1 INVITE
Contact: <sip:music@server.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=MusicServer 2890844576 2890844577 IN IP4 music.server.com
s=Session SDP
c=IN IP4 music.server.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=sendonly
/* B re-INVITEs A on hold */
F7 INVITE B -> A
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
To: BigGuy <sip:UserA@here.com>;tag=1234567
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844528 IN IP4 music.server.com
s=Session SDP
c=IN IP4 music.server.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=sendonly
/* A responds with normal SDP */
F8 200 OK A -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
To: BigGuy <sip:UserA@here.com>;tag=1234567
From: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Johnston, et al. Informational [Page 37]
Internet Draft SIP Service Examples November 2002
Contact: <sip:UserB@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F9 ACK B -> A
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
To: BigGuy <sip:UserA@here.com>;tag=1234567
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
/* B passes SDP of A to the Music Server to allow music to be sent
from B to A */
F10 ACK B -> Music Server
ACK sip:music@server.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: Music <sip:music@server.com>;tag=90210
Call-ID: sdjfdjfskdf@there.com
CSeq: 1 ACK
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
/* RTP music is now sent from the Music Server to A */
/* B picks up the call from the Music Server */
Johnston, et al. Informational [Page 38]
Internet Draft SIP Service Examples November 2002
F11 BYE B -> Music Server
BYE sip:music@server.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: Music <sip:music@server.com>;tag=90210
Call-ID: sdjfdjfskdf@there.com
CSeq: 2 BYE
Content-Length: 0
F12 200 OK Music Server -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: Music <sip:music@server.com>;tag=90210
Call-ID: sdjfdjfskdf@there.com
CSeq: 2 BYE
Content-Length:0
/* B re-INVITEs taking A off hold */
F13 INVITE B -> A
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
To: BigGuy <sip:UserA@here.com>;tag=1234567
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 2 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844529 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F14 200 OK A -> B
SIP/2.0 200 OK
Johnston, et al. Informational [Page 39]
Internet Draft SIP Service Examples November 2002
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
To: BigGuy <sip:UserA@here.com>;tag=1234567
From: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 2 INVITE
Contact: <sip:UserB@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F15 ACK B -> A
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
To: BigGuy <sip:UserA@here.com>;tag=1234567
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 2 ACK
Content-Length: 0
/* Normal media session between A and B is resumed */
Johnston, et al. Informational [Page 40]
Internet Draft SIP Service Examples November 2002
2.4 Unattended Transfer
User A User B User C
| INVITE F1 | |
|<-------------------| |
| 180 Ringing F2 | |
|------------------->| |
| 200 OK F3 | |
|------------------->| |
| ACK F4 | |
|<-------------------| |
| RTP | |
|<==================>| |
| | |
| A performs unattended transfer |
| | |
| REFER Refer-To:C F5| |
|------------------->| |
| 202 Accepted F6 | |
|<-------------------| |
| NOTIFY F7 | |
|<-------------------| |
| 200 OK F8 | |
|------------------->| |
| BYE F9 | |
|------------------->| |
| 200 OK F10 | |
|<-------------------| |
| No RTP Session | INVITE Referred-By: A F11
| |------------------->|
| | 180 Ringing F12 |
| |<-------------------|
| | 200 OK F13 |
| |<-------------------|
| | ACK F14 |
| |------------------->|
| | RTP |
| |<==================>|
| NOTIFY F14 | |
|<-------------------| |
| 200 OK F15 | |
|------------------->| |
| | |
User B call User A. User A then transfers User B to User C, then
User A disconnects with User B. User B establishes the session to C
then reports the success back to A in the NOTIFY. If the transfer
fails, User B can send a new INVITE back to A to re-establish the
session.
Johnston, et al. Informational [Page 41]
Internet Draft SIP Service Examples November 2002
Note that the BYE could be sent by A after the NOTIFY. Also, if A
has flushed all state information, the NOTIFY may receive a 481 Call
Leg Does Not Exist.
Message Details
F1 INVITE B -> A
INVITE sip:UserA@here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 180 Ringing A -> B
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Length: 0
F3 200 OK A -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Johnston, et al. Informational [Page 42]
Internet Draft SIP Service Examples November 2002
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F4 ACK B -> A
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 1 ACK
Content-Length: 0
/* Session is established between A and B. */
/* A peforms unattended transfer of B to C */
F5 REFER A -> B
REFER sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 2 REFER
Refer-To: <sip:UserC@anywhere.com>
Referred-By: <UserA@here.com>
Contact: <sip:UserA@client.here.com>
Content-Length: 0
F6 202 Accepted B -> A
SIP/2.0 202 Accepted
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Johnston, et al. Informational [Page 43]
Internet Draft SIP Service Examples November 2002
;received=192.0.2.113
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 2 REFER
Content-Length: 0
F7 NOTIFY B -> A
NOTIFY sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 2 NOTIFY
Event: refer
Subscription-State: active;expires=60
Content-Type: message/sipfrag
Content-Length: ...
SIP/2.0 100 Trying
F8 200 OK A -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 2 NOTIFY
Content-Length: 0
/* A now disconnects with B */
F9 BYE A -> B
BYE sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 3 BYE
Content-Length: 0
Johnston, et al. Informational [Page 44]
Internet Draft SIP Service Examples November 2002
F10 200 OK B -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 3 BYE
Content-Length: 0
/* B attempts the transfer to C */
F11 INVITE B -> C
INVITE sip:UserC@anywhere.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>
Call-ID: 7436222@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Referred-By: <UserA@here.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844539 2890844539 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423821 0
m=audio 3458 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F12 180 Ringing C -> B
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=928287
Call-ID: 7436222@here.com
CSeq: 1 INVITE
Contact: <sip:UserC@client.anywhere.com>
Content-Length: 0
Johnston, et al. Informational [Page 45]
Internet Draft SIP Service Examples November 2002
F13 200 OK C -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=928287
Call-ID: 7436222@here.com
CSeq: 1 INVITE
Contact: <sip:UserC@client.anywhere.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com
s=Session SDP
c=IN IP4 client.anywhere.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F14 ACK B -> C
ACK sip:UserC@client.anywhere.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=928287
Call-ID: 7436222@here.com
CSeq: 1 ACK
Content-Length: 0
/* B and C now have established a session. B reports success to A
which A probably ignores. */
F15 NOTIFY B -> A
NOTIFY sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 3 NOTIFY
Event: refer
Subscription-State: terminated;reason=noresource
Content-Type: message/sipfrag
Content-Length: ...
Johnston, et al. Informational [Page 46]
Internet Draft SIP Service Examples November 2002
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=928287
Call-ID: 7436222@here.com
CSeq: 1 INVITE
Contact: <sip:UserC@client.anywhere.com>
Content-Type: application/sdp
Content-Length: ...
F16 200 OK A -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345601@here.com
CSeq: 3 NOTIFY
Content-Length: 0
Johnston, et al. Informational [Page 47]
Internet Draft SIP Service Examples November 2002
2.5 Attended Transfer
User A User B User C
| | |
| INVITE F1 | |
|--------------->| |
| 180 Ringing F2 | |
|<---------------| |
| 200 OK F3 | |
|<---------------| |
| ACK F4 | |
|--------------->| |
| RTP | |
|<==============>| |
|INVITE (hold) F5| |
|<---------------| |
| 200 OK F6 | |
|--------------->| |
| ACK F7 | |
|<---------------| |
| No RTP | |
| | INVITE F8 |
| |------------->|
| | 180 Ringing F9
| |<-------------|
| | 200 OK F10 |
| |<-------------|
| | ACK F11 |
| |------------->|
| | RTP |
| |<============>|
| |INVITE (hold) F12
| |------------->|
| | 200 OK F13 |
| |<-------------|
| | ACK F14 |
| |------------->|
| | No RTP |
| REFER Refer-To: C F15 |
|<---------------| |
|202 Accepted F16| |
|--------------->| |
| NOTIFY F17 | |
|--------------->| |
| 200 OK F18 | |
|<---------------| |
| INVITE Replaces: B F19 |
|------------------------------>|
| 200 OK F20 |
|<------------------------------|
| ACK F21 |
Johnston, et al. Informational [Page 48]
Internet Draft SIP Service Examples November 2002
|------------------------------>|
| RTP |
|<=============================>|
| | BYE F22 |
| |<-------------|
| | 200 OK F23 |
| |------------->|
| NOTIFY F24 | |
|--------------->| |
| 200 OK F25 | |
|<---------------| |
| BYE F26 | |
|<---------------| |
| 200 OK F27 | |
|--------------->| |
User A calls User B. User B puts User A on hold then calls User C to
announce transfer, then places C on hold. User B transfers User A to
User C which replaces the session between B and C. C then
disconnects session with B. A reports success of transfer to B, who
then disconnects with A. In this example, the Replaces header [5] is
inserted into the Refer-To URL by B. Note that the Refer-To URI is
the Contact URI returned by C in the 200 OK response F10. This
ensures that only the correct instance of User C is reached. If the
triggered INVITE had failed, B would have retried the REFER with a
Refer-To URI of the URI used to reach User C but with a Require:
replaces header escaped in the Refer-To header field, as discussed in
[9].
Message Details
F1 INVITE A -> B
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
Johnston, et al. Informational [Page 49]
Internet Draft SIP Service Examples November 2002
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 180 Ringing B -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Length: 0
F3 200 OK B -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F4 ACK A -> B
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
Johnston, et al. Informational [Page 50]
Internet Draft SIP Service Examples November 2002
/* User A and User B have established a session. User B puts User A
on Hold */
F5 INVITE B -> A
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=23431
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1024 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Length: ...
v=0
o=UserB 2890844527 2890844528 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=sendonly
F6 200 OK A -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=23431
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1024 INVITE
Contact: <sip:UserA@client.here.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
Johnston, et al. Informational [Page 51]
Internet Draft SIP Service Examples November 2002
F7 ACK B -> A
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=23431
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1024 ACK
Content-Length: 0
/* User B calls User C */
F8 INVITE B -> C
INVITE sip:UserC@anywhere.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>
Call-ID: sdjfdjfskdf@there.com
CSeq: 42 INVITE
Contact: <sip:UserB@client.there.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 28908445834 2890844834 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423645 0
m=audio 3458 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F9 180 Ringing C -> B
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=5f35a3
Call-ID: sdjfdjfskdf@there.com
CSeq: 42 INVITE
Contact: <sip:UserC@client.anywhere.com>
Content-Length: 0
Johnston, et al. Informational [Page 52]
Internet Draft SIP Service Examples November 2002
F10 200 OK C -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=5f35a3
Call-ID: sdjfdjfskdf@there.com
CSeq: 42 INVITE
Contact: <sip:UserC@client.anywhere.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com
s=Session SDP
c=IN IP4 client.anywhere.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F11 ACK B -> C
ACK sip:UserC@client.anywhere.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=5f35a3
Call-ID: sdjfdjfskdf@there.com
CSeq: 42 ACK
Content-Length: 0
/* User B puts User C on hold */
F12 INVITE B -> C
INVITE sip:UserC@client.anywhere.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=5f35a3
Call-ID: sdjfdjfskdf@there.com
CSeq: 43 INVITE
Contact: <sip:UserB@client.there.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
Johnston, et al. Informational [Page 53]
Internet Draft SIP Service Examples November 2002
v=0
o=UserB 289084834 2890844835 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423645 0
m=audio 3458 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=sendonly
F13 200 OK C -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=5f35a3
Call-ID: sdjfdjfskdf@there.com
CSeq: 43 INVITE
Contact: <sip:UserC@client.anywhere.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com
s=Session SDP
c=IN IP4 client.anywhere.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F14 ACK B -> C
ACK sip:UserC@client.anywhere.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=5f35a3
Call-ID: sdjfdjfskdf@there.com
CSeq: 43 ACK
Content-Length: 0
/* User B Transfers User A to User C. */
F15 REFER B -> A
REFER sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Johnston, et al. Informational [Page 54]
Internet Draft SIP Service Examples November 2002
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=23431
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345678900@here.com
CSeq: 1025 REFER
Refer-To: <sip:UserC@client.anywhere.com?Replaces=
sdjfdjfskdf@there.com%3Bto-tag%3D5f35a3%3Bfrom-tag%3D8675309>
Referred-By: <sip:UserB@there.com>
Contact: <sip:UserB@client.there.com>
Content-Length: 0
F16 202 Accepted A -> B
SIP/2.0 202 Accepted
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=1234567
To: BigGuy <sip:UserA@here.com>;tag=23431
Call-ID: 12345678900@here.com
CSeq: 1025 REFER
Content-Length: 0
F17 NOTIFY A -> B
NOTIFY sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345678900@here.com
CSeq: 2 NOTIFY
Event: refer
Subscription-State: active;expires=60
Content-Type: message/sipfrag
Content-Length: ...
SIP/2.0 100 Trying
F18 200 OK B -> C
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
To: LittleGuy <sip:UserB@there.com>;tag=1234567
From: OtherGuy <sip:UserC@anywhere.com>;tag=5f35a3
Call-ID: 12345678900@here.com
CSeq: 2 NOTIFY
Content-Length: 0
Johnston, et al. Informational [Page 55]
Internet Draft SIP Service Examples November 2002
/* User A establishes session with User C which replaces the session
between User B and User C */
F19 INVITE A -> C
INVITE sip:UserC@client.anywhere.com SIP/2.0
Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKadfe4ko
To: OtherGuy <sip:UserC@client.anywhere.com>
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=3461
Call-ID: 9435674543@here.com
CSeq: 1 INVITE
Referred-By: <sip:UserB@there.com>
Replaces: 12345600@here.com;to-tag=23431;from-tag=8675309
Contact: <sip:UserA@client.here.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844989 2890844989 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423643 0
m=audio 3458 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F20 200 OK C -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKadfe4ko
;received=192.0.2.123
To: OtherGuy <sip:UserC@client.anywhere.com>;tag=ff3a
From: BigGuy <sip:UserA@here.com>;tag=3461
Call-ID: 9435674543@here.com
CSeq: 1 INVITE
Contact: <sip:UserC@client.anywhere.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844221 2890844221 IN IP4 client.anywhere.com
s=Session SDP
c=IN IP4 client.anywhere.com
t=3034423452 0
m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000
Johnston, et al. Informational [Page 56]
Internet Draft SIP Service Examples November 2002
F21 ACK A -> C
ACK sip:UserC@client.anywhere.com SIP/2.0
Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKadfe4ko
To: OtherGuy <sip:UserC@client.anywhere.com>;tag=ff3a
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=3461
Call-ID: 9435674543@here.com
CSeq: 1 INVITE
Content-Length: 0
/* User C then disconnects from User B */
F22 BYE C -> B
BYE sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
To: LittleGuy <sip:UserB@there.com>;tag=8675309
Max-Forwards: 70
From: OtherGuy <sip:UserC@anywhere.com>;tag=5f35a3
Call-ID: sdjfdjfskdf@there.com
CSeq: 1 BYE
Content-Length: 0
F23 200 OK B -> C
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
To: LittleGuy <sip:UserB@there.com>;tag=8675309
From: OtherGuy <sip:UserC@anywhere.com>;tag=5f35a3
Call-ID: sdjfdjfskdf@there.com
CSeq: 1 BYE
Content-Length: 0
/* User A tells User B that the call has been successfully
transferred */
F24 NOTIFY A -> B
NOTIFY sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345678900@here.com
CSeq: 3 NOTIFY
Johnston, et al. Informational [Page 57]
Internet Draft SIP Service Examples November 2002
Event: refer
Subscription-State: terminated;reason=noresource
Content-Type: message/sipfrag
Content-Length: ...
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKadfe4ko
;received=192.0.2.123
From: OtherGuy <sip:UserC@anywhere.com>;tag=ff3a
To: BigGuy <sip:UserA@here.com>;tag=3461
Call-ID: 9435674543@anywhere.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
F25 200 OK B -> C
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
To: LittleGuy <sip:UserB@there.com>;tag=1234567
From: OtherGuy <sip:UserC@anywhere.com>;tag=5f35a3
Call-ID: 12345678900@here.com
CSeq: 3 NOTIFY
Content-Length: 0
/* User B disconnects with User A */
F26 BYE B -> A
BYE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=23431
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345678900@here.com
CSeq: 1026 BYE
Content-Length: 0
F27 200 OK A -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=23431
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345678900@here.com
CSeq: 1026 BYE
Content-Length: 0
Johnston, et al. Informational [Page 58]
Internet Draft SIP Service Examples November 2002
2.6 Call Forwarding Unconditional
User A Proxy Gateway
| | |
| INVITE F1 | |
|--------------->| INVITE F2 |
|(100 Trying) F3 |------------->|
|<---------------|180 Ringing F4|
| 180 Ringing F5 |<-------------|
|<---------------| 200 OK F6 |
| 200 OK F7 |<-------------|
|<---------------| |
| ACK F8 | |
|--------------->| ACK F9 |
| |------------->|
| Both way RTP Established |
|<=============================>|
| BYE F10 | |
|--------------->| BYE F11 |
| |------------->|
| | 200 OK F12 |
| 200 OK F13 |<-------------|
|<---------------| |
| | |
User B wants all calls forwarded to the PSTN. User A calls User B.
The Proxy server rewrites the request URI, and forwards the INVITE to
a Gateway. Details of messaging behind the Gateway are not shown.
Message Details
F1 INVITE A -> Proxy
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
Johnston, et al. Informational [Page 59]
Internet Draft SIP Service Examples November 2002
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
/* Proxy forwards call by rewriting Request-URI */
F2 INVITE Proxy -> Gateway
INVITE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F3 (100 Trying) Proxy -> A
SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Content-Length: 0
F4 180 Ringing Gateway -> Proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
Johnston, et al. Informational [Page 60]
Internet Draft SIP Service Examples November 2002
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:+19727293660@gw1.wcom.com;user=phone>
Content Length:0
F5 180 Ringing Proxy -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:+19727293660@gw1.wcom.com;user=phone>
Content Length: 0
F6 200 OK Gateway -> Proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:+19727293660@gw1.wcom.com;user=phone>
Content-Type: application/sdp
Content-Length: ...
v=0
o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com
s=Session SDP
c=IN IP4 gatewayone.wcom.com
t=0 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F7 200 OK Proxy -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Johnston, et al. Informational [Page 61]
Internet Draft SIP Service Examples November 2002
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:+19727293660@gw1.wcom.com;user=phone>
Content-Type: application/sdp
Content-Length: ...
v=0
o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com
s=Session SDP
c=IN IP4 gatewayone.wcom.com
t=0 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F8 ACK A -> Proxy
ACK sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F9 ACK Proxy -> Gateway
ACK sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F10 BYE A -> Proxy 1
BYE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Route: <sip:+19727293660@gw1.wcom.com;user=phone>
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
Johnston, et al. Informational [Page 62]
Internet Draft SIP Service Examples November 2002
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
F11 BYE Proxy 1 -> Gateway
BYE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
F12 200 OK Gateway -> Proxy 1
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
F13 200 OK Proxy 1 -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
Johnston, et al. Informational [Page 63]
Internet Draft SIP Service Examples November 2002
2.7 Call Forwarding - Busy
User A Proxy User B1 User B2
| | | |
| INVITE F1 | | |
|--------------->| INVITE F2 | |
| |------------->| |
|(100 Trying) F3 | | |
|<---------------| 486 Busy F4 | |
| |<-------------| |
| | ACK F5 | |
| |------------->| |
| | | INVITE F6 |
| |--------------------------------->|
| | | 180 Ringing F7 |
| |<---------------------------------|
| 180 Ringing F8 | | |
|<---------------| | 200 OK F9 |
| |<---------------------------------|
| 200 OK F10 | | |
|<---------------| | |
| ACK F11 | | |
|--------------->| | ACK F12 |
| |--------------------------------->|
| Both way RTP Established |
|<=================================================>|
| BYE F13 | | |
|--------------->| | BYE F14 |
| |--------------------------------->|
| | | 200 OK F15 |
| 200 OK F16 |<---------------------------------|
|<---------------| | |
| | | |
User B wants calls to B1 forwarded to B2 if B1 is busy (this
information is known to the proxy). User A calls B1, B1 is busy, the
proxy server places call to B2.
Message Details
F1 INVITE A -> Proxy
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Johnston, et al. Informational [Page 64]
Internet Draft SIP Service Examples November 2002
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 INVITE Proxy -> B1
INVITE sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F3 (100 Trying) Proxy -> A
SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Content-Length: 0
F4 486 Busy Here B1 -> Proxy
SIP/2.0 486 Busy Here
Johnston, et al. Informational [Page 65]
Internet Draft SIP Service Examples November 2002
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Content-Length: 0
F5 ACK Proxy -> B1
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
/* The proxy now forwards the call to B2 */
F6 INVITE Proxy -> B2
INVITE sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F7 180 Ringing B2 -> Proxy
Johnston, et al. Informational [Page 66]
Internet Draft SIP Service Examples November 2002
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7654321
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB2@client2.there.com>
Content-Length: 0
F8 180 Ringing Proxy -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7654321
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB2@client2.there.com>
Content-Length: 0
F9 200 OK B2 -> Proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7654321
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB2@client2.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client2.there.com
s=Session SDP
c=IN IP4 client2.there.com
t=0 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
Johnston, et al. Informational [Page 67]
Internet Draft SIP Service Examples November 2002
F10 200 OK Proxy -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7654321
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB2@client2.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client2.there.com
s=Session SDP
c=IN IP4 client2.there.com
t=0 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F11 ACK A -> Proxy
ACK sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7654321
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F12 ACK Proxy -> B2
ACK sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7654321
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
/* RTP streams are established between A and B2 */
Johnston, et al. Informational [Page 68]
Internet Draft SIP Service Examples November 2002
/* User A eventually hangs up with User B2. */
F13 BYE A -> Proxy
BYE sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7654321
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
F14 BYE Proxy -> B2
BYE sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7654321
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
F15 200 OK B2 -> Proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7654321
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
F16 200 OK Proxy -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7654321
Call-ID: 12345600@here.com
Johnston, et al. Informational [Page 69]
Internet Draft SIP Service Examples November 2002
CSeq: 2 BYE
Content-Length: 0
Johnston, et al. Informational [Page 70]
Internet Draft SIP Service Examples November 2002
2.8 Call Forwarding - No Answer
User A Proxy User B1 User B2
| | | |
| INVITE F1 | | |
|--------------->| INVITE F2 | |
|(100 Trying) F3 |------------->| |
|<---------------|180 Ringing F4| |
| 180 Ringing F5 |<-------------| |
|<---------------| | |
| Request Timeout |
| | | |
| | CANCEL F6 | |
| |------------->| |
| | 200 OK F7 | |
| |<-------------| |
| | 487 F8 | |
| |<-------------| |
| | ACK F9 | |
| |------------->| |
| | | INVITE F10 |
| |--------------------------------->|
| | | 180 Ringing F11 |
| 180 Ringing F12|<---------------------------------|
|<---------------| | 200 OK F13 |
| |<---------------------------------|
| 200 OK F14 | | |
|<---------------| | |
| ACK F15 | | |
|--------------->| | ACK F16 |
| |--------------------------------->|
| Both way RTP Established |
|<=================================================>|
| BYE F17 | | |
|--------------->| | BYE F18 |
| |--------------------------------->|
| | | 200 OK F19 |
| 200 OK F20 |<---------------------------------|
|<---------------| | |
| | | |
User B wants calls to B1 forwarded to B2 if B1 is not answered
(information is known to the proxy server). User A calls B1 and no
one answers. The proxy server then places the call to B2.
Message Details
F1 INVITE A -> Proxy
INVITE sip:UserB@there.com SIP/2.0
Johnston, et al. Informational [Page 71]
Internet Draft SIP Service Examples November 2002
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 INVITE Proxy -> B1
INVITE sip:UserB1@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F3 (100 Trying) Proxy -> A
SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
Johnston, et al. Informational [Page 72]
Internet Draft SIP Service Examples November 2002
CSeq: 1 INVITE
Content-Length: 0
F4 180 Ringing B1 -> Proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=3145678
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB1@client.there.com>
Content-Length: 0
F5 180 Ringing Proxy -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=3145678
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB1@client.there.com>
Content-Length: 0
/* B1 rings until a configurable timer expires in the Proxy. The
Proxy sends Cancel and proceeds down the list of routes. */
F6 CANCEL Proxy -> B1
CANCEL sip:UserB1@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 CANCEL
Content-Length: 0
F7 200 OK B1 -> Proxy
SIP/2.0 200 OK
Johnston, et al. Informational [Page 73]
Internet Draft SIP Service Examples November 2002
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
From: BigGuy <sip:UserA@here.com>
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 CANCEL
Content-Length: 0
F8 487 Request Terminated B1 -> Proxy
SIP/2.0 487 Request Terminated
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=3145678
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Content-Length: 0
F9 ACK Proxy -> B1
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=3145678
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F10 INVITE Proxy -> B2
INVITE sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
Johnston, et al. Informational [Page 74]
Internet Draft SIP Service Examples November 2002
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F11 180 Ringing B2 -> Proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB2@client2.there.com>
Content-Length: 0
F12 180 Proxy -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB2@client2.there.com>
Content-Length: 0
F13 200 OK B2 -> Proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB2@client2.there.com>
Content-Type: application/sdp
Johnston, et al. Informational [Page 75]
Internet Draft SIP Service Examples November 2002
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client2.there.com
s=Session SDP
c=IN IP4 client2.there.com
t=0 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F14 200 OK Proxy -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB2@client2.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client2.there.com
s=Session SDP
c=IN IP4 client2.there.com
t=0 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F15 ACK A -> Proxy
ACK sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F16 ACK Proxy -> B2
ACK sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Johnston, et al. Informational [Page 76]
Internet Draft SIP Service Examples November 2002
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
/* RTP streams are established between A and B2. User A Hangs Up
with User B2. */
F17 BYE A -> Proxy
BYE sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
F18 BYE Proxy -> B2
BYE sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
F19 200 OK B2 -> Proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
Johnston, et al. Informational [Page 77]
Internet Draft SIP Service Examples November 2002
F20 200 OK Proxy -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
Johnston, et al. Informational [Page 78]
Internet Draft SIP Service Examples November 2002
2.9 3-way Conference û Third Party is Added
User A User B User C
| INVITE F1 | |
|--------------->| |
| 180 Ringing F2 | |
|<---------------| |
| 200 OK F3 | |
|<---------------| |
| ACK F4 | |
|--------------->| |
| RTP | |
|<==============>| |
| INVITE F5 | |
|<---------------| |
| 200 OK F6 | |
|--------------->| |
| ACK F7 | |
|<---------------| INVITE F8 |
| |------------->|
| | 180 F9 |
| |<-------------|
| | 200 OK F10 |
| |<-------------|
| | ACK F11 |
| |------------->|
| | RTP |
| |<============>|
In this scenario, A and B are in a 2-party call (session) when B
wishes to add C into the conversation. B is capable of media mixing
in a 3-party call. B first sends a re-INVITE to A changing Contact
URIs to one that indicates A's mixer. B then INVITEs C using the
same Contact URI.
Message Details
F1 INVITE A -> B
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Johnston, et al. Informational [Page 79]
Internet Draft SIP Service Examples November 2002
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 180 Ringing B -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Length: 0
F3 200 OK B -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F4 ACK A -> B
Johnston, et al. Informational [Page 80]
Internet Draft SIP Service Examples November 2002
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
/* User A and User B have established a session. User B re-INVITEs
changing Contact URIs */
F5 INVITE B -> A
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=23431
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1024 INVITE
Contact: <sip:UserB-Mixer@client.there.com>
Content-Type: application/sdp
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Length: ...
v=0
o=UserB 2890844527 2890844528 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=sendonly
F6 200 OK A -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=23431
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1024 INVITE
Contact: <sip:UserA@client.here.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Johnston, et al. Informational [Page 81]
Internet Draft SIP Service Examples November 2002
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F7 ACK B -> A
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=23431
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1024 ACK
Content-Length: 0
/* User B calls C */
F8 INVITE B -> C
INVITE sip:UserC@anywhere.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>
Call-ID: sdjfdjfskdf@there.com
CSeq: 42 INVITE
Contact: <sip:UserB-Mixer@client.there.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 28908445834 2890844834 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423645 0
m=audio 48174 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F9 180 Ringing C -> B
SIP/2.0 200 OK
Johnston, et al. Informational [Page 82]
Internet Draft SIP Service Examples November 2002
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=341313
Call-ID: sdjfdjfskdf@there.com
CSeq: 42 INVITE
Contact: <sip:UserC@client.anywhere.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Length: 0
F10 200 OK C -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=341313
Call-ID: sdjfdjfskdf@there.com
CSeq: 42 INVITE
Contact: <sip:UserC@client.anywhere.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com
s=Session SDP
c=IN IP4 client.anywhere.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F11 ACK B -> C
ACK sip:UserC@client.anywhere.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8675309
To: OtherGuy <sip:UserC@anywhere.com>;tag=341313
Call-ID: sdjfdjfskdf@there.com
CSeq: 42 ACK
Content-Length: 0
/* User B's mixer know mixes media from both A and C to create the 3-
way conference. */
Johnston, et al. Informational [Page 83]
Internet Draft SIP Service Examples November 2002
2.10
3-way Conference û Third Party Joins
User A User B User C
| INVITE F1 | |
|--------------->| |
| 180 Ringing F2 | |
|<---------------| |
| 200 OK F3 | |
|<---------------| |
| ACK F4 | |
|--------------->| |
| RTP | |
|<==============>| INVITE Join:A-B F5
| |<-------------|
| | 180 F6 |
| |------------->|
| INVITE F7 | |
|<---------------| |
| 200 OK F8 | |
|--------------->| |
| ACK F9 | |
|<---------------| |
| | 200 OK F10 |
| |------------->|
| | ACK F11 |
| |<-------------|
| | RTP |
| |<============>|
In this scenario, A and B are in a 2 party call and C wishes to join
resulting in a three party call. C could have learned BÆs conference
URI using some non-SIP means, or possibly from a NOTIFY with the
dialog package sent by B. C sends an INVITE to B containing a Join
header identifying the dialog between A and B. B re-INVITEs A to
switch to B's mixer then accepts the INVITE from C, resulting in the
3-way call.
Message Details
F1 INVITE A -> B
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Johnston, et al. Informational [Page 84]
Internet Draft SIP Service Examples November 2002
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 180 Ringing B -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Length: 0
F3 200 OK B -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces, join
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
Johnston, et al. Informational [Page 85]
Internet Draft SIP Service Examples November 2002
F4 ACK A -> B
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
/* User A and User B have established a session. User C requests to
join the session */
F5 INVITE C -> B
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: OtherGuy <sip:UserC@anywhere.com>;tag=8675309
To: LittleGuy <sip:UserB@there.com>
Call-ID: 452k499sk@anywhere.com
CSeq: 99 INVITE
Contact: <sip:UserC@client.anywhere.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces, join
Join: 12345600@here.com;from-tag=1234567;to-tag=23431
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com
s=Session SDP
c=IN IP4 client.anywhere.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F6 180 Ringing C -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.120
From: OtherGuy <sip:UserC@anywhere.com>;tag=8675309
To: LittleGuy <sip:UserB@there.com>;tag=0982
Call-ID: 452k499sk@anywhere.com
Johnston, et al. Informational [Page 86]
Internet Draft SIP Service Examples November 2002
CSeq: 99 INVITE
Contact: <sip:UserB-Mixer@client.there.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Length: 0
F7 INVITE B -> A
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=23431
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1024 INVITE
Contact: <sip:UserB-Mixer@client.there.com>
Content-Type: application/sdp
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Length: ...
v=0
o=UserB 2890844527 2890844528 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=sendonly
F8 200 OK A -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.113
From: LittleGuy <sip:UserB@there.com>;tag=23431
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1024 INVITE
Contact: <sip:UserA@client.here.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
Johnston, et al. Informational [Page 87]
Internet Draft SIP Service Examples November 2002
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F9 ACK B -> A
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=23431
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1024 ACK
Content-Length: 0
F10 200 OK C -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.120
From: OtherGuy <sip:UserC@anywhere.com>;tag=8675309
To: LittleGuy <sip:UserB@there.com>;tag=0982
Call-ID: 452k499sk@anywhere.com
CSeq: 99 INVITE
Contact: <sip:UserB-Mixer@client.there.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 28908445834 2890844834 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423645 0
m=audio 48174 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F11 ACK OK B -> C
ACK sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: OtherGuy <sip:UserC@anywhere.com>;tag=8675309
To: LittleGuy <sip:UserB@there.com>;tag=0982
Call-ID: 452k499sk@anywhere.com
CSeq: 99 ACK
Content-Length:0
Johnston, et al. Informational [Page 88]
Internet Draft SIP Service Examples November 2002
2.11 Single Line Extension
User A Forking Proxy User User User
B1 B2 B3
| | | | |
| INVITE F1 | | | |
|--------------->| INVITE F2 | | |
| |------------->| | |
| | INVITE F3 | |
| |-------------------->| |
| | INVITE F4 | |
| |--------------------------->|
| 100 Trying F5 | | | |
|<---------------|180 Ringing F6| | |
| |<-------------| | |
| 180 Ringing F7 | | | |
|<---------------| | | |
| | 480 Not Logged In F8| |
| |<--------------------| |
| | ACK F9 | |
| |-------------------->| |
| | 180 Ringing F10 |
| 180 F11 |<---------------------------|
|<---------------| 200 OK F12 |
| 200 OK F13 |<---------------------------|
|<---------------| | | |
| | CANCEL 14 | | |
| |------------->| | |
| | 200 OK F15 | | |
| |<-------------| | |
| | 487 F16 | | |
| |<-------------| | |
| | ACK F17 | | |
| |------------->| | |
| ACK F18 | | | |
|--------------->| ACK F19 | |
| |--------------------------->|
| Both way RTP Established |
|<===========================================>|
| | NOTIFY F20 |
| |<---------------------------|
| | NOTIFY F21 | | |
| |------------->| | |
| | NOTIFY F22 | |
| |-------------------->| |
| | NOTIFY F23 | |
| |--------------------------->|
| | 200 OK F24 | | |
| |<-------------| | |
| | 200 OK F25 |
Johnston, et al. Informational [Page 89]
Internet Draft SIP Service Examples November 2002
| |--------------------------->|
| | 200 OK F26 | |
| |<--------------------| |
| | 482 Loop Detected F27 |
| |<---------------------------|
| | |
| User B2 wants to join the call |
| | |
| | INVITE Join:A-B3 F28 |
| |<--------------------| |
| | INVITE Join: A-B3 F29 |
| |------------->| | |
| | INVITE Join: A-B3 F30 |
| |-------------------->| |
| | INVITE Join: A-B3 F31
| |--------------------------->|
| | 100 Trying F32 | |
| |-------------------->| |
| | 481 Dialog Does Not Exist F33
| |<-------------| | |
| | ACK F34 | | |
| |------------->| | |
| | 482 Loop Detected F35 |
| |<--------------------| |
| | ACK F36 | |
| |-------------------->| |
| | 200 OK F37 |
| |<---------------------------|
| | 200 OK F38 | |
| |-------------------->| |
| | |ACK F39
| | |----->|
| | Both way RTP Established
| | |<====>| B3 mixes RTP
| | | |
In Single Line Extension a call will ring several extensions at the
same time (forking). The extension to answer the call becomes the
active set. If other extensions pick up, the call becomes a
conference call.
In this flow, A calls B which results in the INVITE being forked to
three devices, B1, B2, and B3. B3 answers the call and is connected
to A. B3 sends a NOTIFY containing the dialog information to B,
which is forked to B1 and B2. A user at B2 wishes to join the call
and sends an INVITE with a Join header field to B to request this.
This INVITE is forked and is accepted by B3 who then performs the
mixing function.
Note that if B3 is not capable of mixing the media, B3 would transfer
both A and B2 to a conferencing bridge which would perform the
mixing.
Johnston, et al. Informational [Page 90]
Internet Draft SIP Service Examples November 2002
The use of SUBSCRIBE and NOTIFY is defined in [11] while the dialog
Event package is defined in [10].
Message Details
F1 INVITE A -> Proxy
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t= 0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 INVITE Proxy -> B1
INVITE sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t= 0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
Johnston, et al. Informational [Page 91]
Internet Draft SIP Service Examples November 2002
F3 INVITE Proxy -> B2
INVITE sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F4 INVITE Proxy -> B3
INVITE sip:UserB3@client3.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
Johnston, et al. Informational [Page 92]
Internet Draft SIP Service Examples November 2002
F5 100 Trying Proxy -> A
SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Content-Length: 0
F6 180 Ringing B1 -> Proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Length: 0
F7 180 Ringing Proxy -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Length: 0
F8 480 Not Logged In B2 -> Proxy
SIP/2.0 480 Not Logged In
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314756
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Johnston, et al. Informational [Page 93]
Internet Draft SIP Service Examples November 2002
Content-Length: 0
F9 ACK Proxy -> B2
ACK sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314756
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F10 180 Ringing B3 -> Proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.3
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7137136
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB3@client3.there.com>
Content-Length: 0
F11 180 Ringing B3 -> Proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7137136
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB3@client3.there.com>
Content-Length: 0
F12 200 OK B3 -> Proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.3
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7137136
Johnston, et al. Informational [Page 94]
Internet Draft SIP Service Examples November 2002
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB3@client3.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client3.there.com
s=Session SDP
c=IN IP4 client3.there.com
t=0 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F13 200 OK Proxy -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7137136
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB3@client.there.com.115>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client3.there.com
s=Session SDP
c=IN IP4 client3.there.com
t=0 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
/* Forking Proxy cancels pending branch B1 */
F14 CANCEL Proxy -> B1
CANCEL sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 CANCEL
Content-Length: 0
F15 200 OK B1 -> Proxy
Johnston, et al. Informational [Page 95]
Internet Draft SIP Service Examples November 2002
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
From: BigGuy <sip:UserA@here.com>
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 CANCEL
Content-Length: 0
F16 487 Request Terminated B1 -> Proxy
SIP/2.0 487 Request Terminated
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Content-Length: 0
F17 ACK Proxy -> B1
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F18 ACK A -> Proxy
ACK sip:UserB4@client3.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7137136
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F19 ACK Proxy -> B3
ACK sip:UserB4@client3.there.com SIP/2.0
Johnston, et al. Informational [Page 96]
Internet Draft SIP Service Examples November 2002
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7137136
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
/* RTP streams are established between A and B3*/
/* User B3 sends a NOTIFY to the group with established dialog
information. */
F20 NOTIFY B3 -> Proxy
NOTIFY sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=w2Hu8sj
To: LittleGuy <sip:UserB@there.com>
Call-ID: 8458999275@there.com
CSeq: 1 NOTIFY
Event: dialog
Subscription-State: active;expires=3600
Content-Type: application/dialog-info+xml
Content-Length: ...
<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="0" state="partial" entity="sip:UserB@there.com">
<dialog id="2393lds3204" call-id="12345600@here.com"
local-tag="7137136" remote-tag="1234567" direction="recipient">
<state event="2xx">confirmed</state>
</dialog>
</dialog-info>
F21 NOTIFY Proxy -> B1
NOTIFY sip:UserB1@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.1
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.115
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=w2Hu8sj
To: LittleGuy <sip:UserB@there.com>
Call-ID: 8458999275@there.com
CSeq: 1 NOTIFY
Event: dialog
Johnston, et al. Informational [Page 97]
Internet Draft SIP Service Examples November 2002
Subscription-State: active;expires=3600
Content-Type: application/dialog-info+xml
Content-Length: ...
<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="0" state="partial" entity="sip:UserB@there.com">
<dialog id="2393lds3204" call-id="12345600@here.com"
local-tag="7137136" remote-tag="1234567" direction="recipient">
<state event="2xx">confirmed</state>
</dialog>
</dialog-info>
F22 Proxy -> B2
NOTIFY sip:UserB1@client2.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.115
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=w2Hu8sj
To: LittleGuy <sip:UserB@there.com>
Call-ID: 8458999275@there.com
CSeq: 1 NOTIFY
Event: dialog
Subscription-State: active;expires=3600
Content-Type: application/dialog-info+xml
Content-Length: ...
<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="0" state="partial" entity="sip:UserB@there.com">
<dialog id="2393lds3204" call-id="12345600@here.com"
local-tag="7137136" remote-tag="1234567" direction="recipient">
<state event="2xx">confirmed</state>
</dialog>
</dialog-info>
F23 NOTIFY Proxy-> B3
NOTIFY sip:UserB1@client3.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.115
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=w2Hu8sj
To: LittleGuy <sip:UserB@there.com>
Call-ID: 8458999275@there.com
CSeq: 1 NOTIFY
Event: dialog
Johnston, et al. Informational [Page 98]
Internet Draft SIP Service Examples November 2002
Subscription-State: active;expires=3600
Content-Type: application/dialog-info+xml
Content-Length: ...
<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="0" state="partial" entity="sip:UserB@there.com">
<dialog id="2393lds3204" call-id="12345600@here.com"
local-tag="7137136" remote-tag="1234567" direction="recipient">
<state event="2xx">confirmed</state>
</dialog>
</dialog-info>
F24 200 OK B1 -> Proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.115
From: LittleGuy <sip:UserB@there.com>;tag=w2Hu8sj
To: LittleGuy <sip:UserB@there.com>
Call-ID: 8458999275@there.com
CSeq: 1 NOTIFY
Content-Length: 0
F25 200 OK Proxy -> B3
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.115
From: LittleGuy <sip:UserB@there.com>;tag=w2Hu8sj
To: LittleGuy <sip:UserB@there.com>
Call-ID: 8458999275@there.com
CSeq: 1 NOTIFY
Content-Length: 0
F26 200 OK B2 -> Proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.115
From: LittleGuy <sip:UserB@there.com>;tag=w2Hu8sj
To: LittleGuy <sip:UserB@there.com>
Call-ID: 8458999275@there.com
CSeq: 1 NOTIFY
Content-Length: 0
Johnston, et al. Informational [Page 99]
Internet Draft SIP Service Examples November 2002
F27 200 OK B3 -> Proxy
SIP/2.0 482 Loop Detected
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.115
From: LittleGuy <sip:UserB@there.com>;tag=w2Hu8sj
To: LittleGuy <sip:UserB@there.com>
Call-ID: 8458999275@there.com
CSeq: 1 NOTIFY
Content-Length: 0
/* User B2 decided to join the call. */
F28 INVITE B2 -> Proxy
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=4524524312
To: LittleGuy <sip:UserB@there.com>
Call-ID: 524251233@there.com
CSeq: 1 INVITE
Contact: <sip:UserB2@client2.there.com>
Join: 12345600@here.com;to-tag=765432;from-tag=1234567
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client2.there.com
s=Session SDP
c=IN IP4 client2.there.com
t=0 0
m=audio 3458 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F29 INVITE Proxy -> B1
INVITE sip:UserB1@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.1
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.114
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=4524524312
To: LittleGuy <sip:UserB@there.com>
Call-ID: 524251233@there.com
CSeq: 1 INVITE
Johnston, et al. Informational [Page 100]
Internet Draft SIP Service Examples November 2002
Contact: <sip:UserB2@client2.there.com>
Join: 12345600@here.com;to-tag=765432;from-tag=1234567
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client2.there.com
s=Session SDP
c=IN IP4 client2.there.com
t=0 0
m=audio 3458 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F30 INVITE Proxy -> B2
INVITE sip:UserB1@client2.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.114
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=4524524312
To: LittleGuy <sip:UserB@there.com>
Call-ID: 524251233@there.com
CSeq: 1 INVITE
Contact: <sip:UserB2@client2.there.com>
Join: 12345600@here.com;to-tag=765432;from-tag=1234567
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client2.there.com
s=Session SDP
c=IN IP4 client2.there.com
t=0 0
m=audio 3458 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F31 INVITE Proxy -> B1
INVITE sip:UserB1@client3.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.114
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=4524524312
To: LittleGuy <sip:UserB@there.com>
Call-ID: 524251233@there.com
CSeq: 1 INVITE
Contact: <sip:UserB2@client2.there.com>
Johnston, et al. Informational [Page 101]
Internet Draft SIP Service Examples November 2002
Join: 12345600@here.com;to-tag=765432;from-tag=1234567
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client2.there.com
s=Session SDP
c=IN IP4 client2.there.com
t=0 0
m=audio 3458 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F32 100 Trying Proxy -> B2
SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.114
From: LittleGuy <sip:UserB@there.com>;tag=4524524312
To: LittleGuy <sip:UserB@there.com>
Call-ID: 524251233@there.com
CSeq: 1 INVITE
Content-Length: 0
/* B1 does not have an established dialog, so it returns a 481 */
F33 481 Dialog Does Not Exist B1 -> Proxy
SIP/2.0 481 Dialog Does Not Exist
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.114
From: LittleGuy <sip:UserB@there.com>;tag=4524524312
To: LittleGuy <sip:UserB@there.com>;tag=68324lk42jd
Call-ID: 524251233@there.com
CSeq: 1 INVITE
Content-Length: 0
F34 ACK Proxy -> B1
ACK sip:UserB1@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3
From: LittleGuy <sip:UserB@there.com>;tag=4524524312
To: LittleGuy <sip:UserB@there.com>;tag=68324lk42jd
Call-ID: 524251233@there.com
CSeq: 1 ACK
Content-Length: 0
Johnston, et al. Informational [Page 102]
Internet Draft SIP Service Examples November 2002
F35 482 Loop Detected B2 -> Proxy
SIP/2.0 482 Loop Detected
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.114
From: LittleGuy <sip:UserB@there.com>;tag=4524524312
To: LittleGuy <sip:UserB@there.com>;tag=134lkwe
Call-ID: 524251233@there.com
CSeq: 1 INVITE
Content-Length: 0
F36 ACK Proxy -> B2
ACK sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2
From: LittleGuy <sip:UserB@there.com>;tag=4524524312
To: LittleGuy <sip:UserB@there.com>;tag=134lkwe
Call-ID: 524251233@there.com
CSeq: 1 ACK
Content-Length: 0
/* B3 has an existing dialog and agrees to mix B2 into the session.
*/
F37 200 OK User B3 -> Proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.114
From: LittleGuy <sip:UserB@there.com>;tag=4524524312
To: LittleGuy <sip:UserB@there.com>;tag=3891908734
Call-ID: 524251233@there.com
CSeq: 1 INVITE
Contact: <sip:UserB3@client3.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client3.there.com
s=Session SDP
c=IN IP4 client3.there.com
t=0 0
m=audio 3460 RTP/AVP 0
a=rtpmap:0 PCMU/8000
Johnston, et al. Informational [Page 103]
Internet Draft SIP Service Examples November 2002
F38 200 OK User B3 -> Proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
;received=192.0.2.114
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=4524524312
To: LittleGuy <sip:UserB@there.com>;tag=3891908734
Call-ID: 524251233@there.com
CSeq: 1 INVITE
Contact: <sip:UserB3@client3.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client3.there.com
s=Session SDP
c=IN IP4 client3.there.com
t=0 0
m=audio 3460 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F39 ACK B2 -> B3
ACK sip:UserB3@client3.there.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=4524524312
To: LittleGuy <sip:UserB@there.com>;tag=3891908734
Call-ID: 524251233@there.com
CSeq: 1 ACK
Content-Length: 0
Johnston, et al. Informational [Page 104]
Internet Draft SIP Service Examples November 2002
User A Proxy User User User User
B1 B2 B3 B4
| | | | | |
| INVITE F1 | | | | |
|--------------->| INVITE F2 | | | |
| |------------->| | | |
|(100 Trying) F3 | | | | |
|<---------------|180 Ringing F4| | | |
| |<-------------| | | |
| 180 Ringing F5 | | | | |
|<---------------| | | | |
| | Timeout | | | |
| | | | | |
| | CANCEL F6 | | | |
| |------------->| | | |
| | 200 OK F7 | | | |
| |<-------------| | | |
| | 487 F8 | | | |
| |<-------------| | | |
| | ACK F9 | | | |
| |------------->| | | |
| | INVITE F10 | | |
| |-------------------->| | |
| |480 Not Logged In F11| | |
| |<--------------------| | |
| | ACK F12| | |
| |-------------------->| | |
| | INVITE F13 | |
| |--------------------------->| |
| | 486 Busy Here F14 | |
| |<---------------------------| |
| | ACK F15 | |
| |--------------------------->| |
| | INVITE F16 |
| |---------------------------------->|
| | 180 Ringing F17 |
| 180 F18 |<----------------------------------|
|<---------------| 200 OK F19 |
| 200 OK F20 |<----------------------------------|
|<---------------| |
| ACK F21 | |
|--------------->| ACK F22 |
| |---------------------------------->|
| Both way RTP Established |
|<==================================================>|
| | BYE F23 |
| BYE F24 |<----------------------------------|
|<---------------| |
| 200 OK F25 | |
Johnston, et al. Informational [Page 105]
Internet Draft SIP Service Examples November 2002
|--------------->| 200 OK F26 |
| |---------------------------------->|
| | |
A call to a user will attempt to locate that user by calling
locations from a list of contacts. The location to answer the call
becomes the active set, no other sets may join the call.
While this flow shows a sequential search, the search could be
accomplished using parallel forking, as in the previous example.
Message Details
F1 INVITE A -> Proxy
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t= 0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 INVITE Proxy -> B1
INVITE sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
Johnston, et al. Informational [Page 106]
Internet Draft SIP Service Examples November 2002
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t= 0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F3 (100 Trying) Proxy -> A
SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Content-Length: 0
F4 180 Ringing B1 -> Proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Length: 0
F5 180 Ringing Proxy -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Length: 0
/* B1 rings for until a configurable timer in the Proxy expires. The
Johnston, et al. Informational [Page 107]
Internet Draft SIP Service Examples November 2002
Proxy then sends Cancel and proceeds down the list of routes. */
F6 CANCEL Proxy -> B1
CANCEL sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 CANCEL
Content-Length: 0
F7 200 OK B1 -> Proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
From: BigGuy <sip:UserA@here.com>
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 CANCEL
Content-Length: 0
F8 487 Request Terminated B1 -> Proxy
SIP/2.0 487 Request Terminated
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Content-Length: 0
F9 ACK Proxy -> B1
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=765432
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
Johnston, et al. Informational [Page 108]
Internet Draft SIP Service Examples November 2002
F10 INVITE Proxy -> B2
INVITE sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F11 480 Not Logged In B2 -> Proxy
SIP/2.0 480 Not Logged In
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2
;received=192.0.2.54
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314756
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Content-Length: 0
F12 ACK Proxy -> B2
ACK sip:UserB2@client2.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314756
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F13 INVITE Proxy -> B3
Johnston, et al. Informational [Page 109]
Internet Draft SIP Service Examples November 2002
INVITE sip:UserB3@client3.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F14 486 Busy Here B3 -> Proxy
SIP/2.0 486 Busy Here
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3
;received=192.0.2.54
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7654321
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Content-Length: 0
F15 ACK Proxy -> B3
ACK sip:UserB3@client3.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7654321
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F16 INVITE Proxy -> B4
INVITE sip:UserB4@client4.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4
Johnston, et al. Informational [Page 110]
Internet Draft SIP Service Examples November 2002
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F17 180 Ringing B4 -> Proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7137136
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB4@client4.there.com>
Content-Length: 0
F18 180 Ringing B4 -> Proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7137136
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB4@client4.there.com>
Content-Length: 0
F19 200 OK B4 -> Proxy
Johnston, et al. Informational [Page 111]
Internet Draft SIP Service Examples November 2002
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7137136
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB4@client4.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client4.there.com
s=Session SDP
c=IN IP4 client4.there.com
t=0 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F20 200 OK Proxy -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Record-Route: <sip:ss1.wcom.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7137136
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB4@client.there.com.116>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client4.there.com
s=Session SDP
c=IN IP4 client4.there.com
t=0 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F21 ACK A -> Proxy
ACK sip:UserB4@client4.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
Johnston, et al. Informational [Page 112]
Internet Draft SIP Service Examples November 2002
To: LittleGuy <sip:UserB@there.com>;tag=7137136
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F22 ACK Proxy -> B4
ACK sip:UserB4@client4.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7137136
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
/* RTP streams are established between A and B4*/
/* User B4 Hangs Up with User A. */
F23 BYE B4 -> Proxy
BYE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Route: <sip:ss1.wcom.com;lr>
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=7137136
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1 BYE
Content-Length: 0
F24 BYE Proxy -> A
BYE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=7137136
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1 BYE
Content-Length: 0
F25 200 OK A -> Proxy
Johnston, et al. Informational [Page 113]
Internet Draft SIP Service Examples November 2002
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
;received=192.0.2.54
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
From: LittleGuy <sip:UserB@there.com>;tag=7137136
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1 BYE
Content-Length: 0
F26 200 OK Proxy -> B4
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
From: LittleGuy <sip:UserB@there.com>;tag=7137136
To: BigGuy <sip:UserA@here.com>;tag=1234567
Call-ID: 12345600@here.com
CSeq: 1 BYE
Content-Length: 0
Johnston, et al. Informational [Page 114]
Internet Draft SIP Service Examples November 2002
2.13 Call Management (Incoming Call Screening)
User A Proxy User B
| | |
| INVITE F1 | |
|------------------------------>|
| 305 Use Proxy F2 |
|<------------------------------|
| ACK F3 | |
|------------------------------>|
| INVITE F4 | |
|--------------->| |
| 407 Proxy Authorization F5 |
|<---------------| |
| ACK F6 | |
|--------------->| |
| INVITE F7 | |
|--------------->| |
| 403 Screening Failure (Terminating) F8
|<---------------| |
| ACK F9 | |
|--------------->| |
| | |
User B has an incoming call screening list, User A is included on the
list of addresses User B will not accept calls from. User A attempts
to call user B. Messages F1, F2, and F3 are included to show that
User B does not accept INVITEs that have not been screened by the
proxy.
Note that call screening can not be done using the From header û
instead some form of authentication credentials must be used.
Message Details
F1 INVITE A -> B
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
Johnston, et al. Informational [Page 115]
Internet Draft SIP Service Examples November 2002
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
/* User B only accepts INVITEs that have been screened by the proxy
*/
F2 305 Use Proxy B -> A
SIP/2.0 305 Use Proxy
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=342123
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:ss1.wcom.com>
Content-Length: 0
F3 ACK A -> B
ACK sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=342123
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
/* A retries the call through the proxy */
F4 INVITE A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 2 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
Johnston, et al. Informational [Page 116]
Internet Draft SIP Service Examples November 2002
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
/* Proxy 1 challenges User A for authentication */
F5 407 Proxy Authorization Required Proxy 1 -> A
SIP/2.0 407 Proxy Authorization Required
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7886765
Call-ID: 12345600@here.com
CSeq: 2 INVITE
Proxy-Authenticate: Digest realm="wcom.com",
domain="sip:ss1.wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359",
opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0
F6 ACK A -> Proxy 1
ACK sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=7886765
Call-ID: 12345600@here.com
CSeq: 2 ACK
Content-Length: 0
/* User A responds by sending an INVITE with authentication
credentials in it. */
F7 INVITE A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 3 INVITE
Contact: <sip:UserA@client.here.com>
Proxy-Authorization: Digest username="UserA",
realm="wcom.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a",
Johnston, et al. Informational [Page 117]
Internet Draft SIP Service Examples November 2002
opaque="", uri="sip:UserB@there.com",
response="bbaec39f943bdcb3620d90afc548a45c"
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F8 403 Screening Failure (Terminating) Proxy 1 -> A
SIP/2.0 403 Screening Failure (Terminating)
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=ffe254
Call-ID: 12345600@here.com
CSeq: 3 INVITE
Error-Info: <sip:screen-failure-term-ann@annoucement.company.com>
Content-Length: 0
F9 ACK A -> Proxy 1
ACK sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=ffe254
Call-ID: 12345600@here.com
CSeq: 3 ACK
Content-Length: 0
Johnston, et al. Informational [Page 118]
Internet Draft SIP Service Examples November 2002
2.14 Call Management (Outgoing Call Screening)
User A Proxy User B
| | |
| INVITE F1 | |
|--------------->| |
| 407 Proxy Authorization F2 |
|<---------------| |
| ACK F3 | |
|--------------->| |
| INVITE F4 | |
|--------------->| |
| 403 Screening Failure (Originating) F5
|<---------------| |
| ACK F6 | |
|--------------->| |
| | |
User A has an outgoing call screening list, User B is included on the
list of addresses User A will not be able to place a call to. User A
attempts to call user B.
Message Details
F1 INVITE A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
/* Proxy 1 challenges User A for authentication */
F2 407 Proxy Authorization Required Proxy 1 -> A
Johnston, et al. Informational [Page 119]
Internet Draft SIP Service Examples November 2002
SIP/2.0 407 Proxy Authorization Required
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=90210
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Proxy-Authenticate: Digest realm="wcom.com",
domain="sip:ss1.wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359",
opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0
F3 ACK A -> Proxy 1
ACK sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=90210
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
/* User A responds be sending an INVITE with authentication
credentials in it. */
F4 INVITE A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 2 INVITE
Contact: <sip:UserA@client.here.com>
Proxy-Authorization: Digest username="UserA", realm="wcom.com",
nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="",
uri="sip:UserB@there.com",
response="b9d2e5bcdec9f69ab2a9b44f270285a6"
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
Johnston, et al. Informational [Page 120]
Internet Draft SIP Service Examples November 2002
F5 403 Screening Failure (Originating) Proxy 1 -> A
SIP/2.0 403 Screening Failure (Originating)
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=18017
Call-ID: 12345600@here.com
CSeq: 2 INVITE
Error-Info: <sip:screen-failure-orig-ann@annoucement.company.com>
Content-Length: 0
F6 ACK A -> Proxy 1
ACK sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=18017
Call-ID: 12345600@here.com
CSeq: 2 ACK
Content-Length: 0
Johnston, et al. Informational [Page 121]
Internet Draft SIP Service Examples November 2002
2.15
Call Park
User A User B Park Server User C
| | | |
| INVITE F1 | | |
|------------->| | |
|180 Ringing F2| | |
|<-------------| | |
| 200 OK F3 | | |
|<-------------| | |
| ACK F4 | | |
|------------->| | |
| RTP Media | | |
|<============>| | |
| User B Parks Call | |
| | REFER Refer-To: A F5 |
| |------------->| |
| | 202 F6 | |
| |<-------------| |
| | NOTIFY F7 | |
| |<-------------| |
| | 200 F8 | |
| |------------->| |
| INVITE F9 Replaces: B | |
|<----------------------------| |
| 200 OK F10 | |
|---------------------------->| |
| ACK F11 | |
|<----------------------------| |
| RTP Music | |
|<===========================>| |
| BYE F12 | | |
|------------->| NOTIFY F14 | |
| 200 OK F13 |<-------------| |
|<-------------| 200 OK F15 | |
| |------------->| |
| | User C picks up the call |
| | | |
| INVITE Replaces: Park Server F16 |
|<-------------------------------------------|
| | | 200 F17 |
|------------------------------------------->|
| | | ACK F18 |
|<-------------------------------------------|
| RTP Media |
|<==========================================>|
| BYE F19 | |
|---------------------------->| |
| 200 OK F20 | |
|<----------------------------| |
| No more RTP Music | |
Johnston, et al. Informational [Page 122]
Internet Draft SIP Service Examples November 2002
In this example, User A calls User B. User B then parks the call at
the Park Server by sending a REFER to the Park Server. The server
sends an INVITE to A which replaces the session between A and B. The
call is accepted by A and causes A to send a BYE to B. User B
receives notification of the successful park, and also receives the
Call-ID in the application/sip body of the NOTIFY response. User C
wishes to retrieve the call, a new INVITE is sent to A which replaces
the session with the Park Server. User A accepts the call and sends
a BYE to the Park Server. Note that if the Park Server did not return
the dialog identifiers (Call-ID, To and From tags) in the NOTIFY, C
could send a SUBSCRIBE to retrieve this information.
Note that this call is a special case of call transfer.
Note also that this flow could also be used for Music on Hold.
Message Details.
F1 INVITE A -> B
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 180 Ringing B -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
Johnston, et al. Informational [Page 123]
Internet Draft SIP Service Examples November 2002
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Length: 0
F3 200 OK B -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F4 ACK A -> B
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 1 ACK
Content-Length: 0
/* User B REFERs Park Server to establish session with A which
replaces the established session between A and B. Note that there is
no session established between B and the Park Server. */
F5 REFER B -> Park Server
REFER sip:park@server.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=02134
To: Park Server <sip:park@server.com>
Call-ID: 4802029847@there.com
CSeq: 1 REFER
Johnston, et al. Informational [Page 124]
Internet Draft SIP Service Examples November 2002
Refer-To: <sip:UserA@client.here.com?Replaces=
12345601@here.com%3Bfrom-tag%3D314159%3Bto-tag%3D1234567>
Referred-By: <sip:UserB@there.com>
Contact: <sip:UserB@client.there.com>
Content-Length: 0
F6 202 Accepted Park Server -> B
SIP/2.0 202 Accepted
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
From: LittleGuy <sip:UserB@there.com>;tag=02134
To: Park Server <sip:park@server.com>;tag=56323
Call-ID: 4802029847@there.com
CSeq: 1 REFER
Content-Length: 0
F7 NOTIFY Park Server -> B
NOTIFY sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
To: LittleGuy <sip:UserB@there.com>;tag=02134
Max-Forwards: 70
From: Park Server <sip:park@server.com>;tag=56323
Call-ID: 4802029847@there.com
CSeq: 1 NOTIFY
Event: refer
Subscription-State: active;expires=60
Content-Type: message/sipfrag
Content-Length: ...
SIP/2.0 100 Trying
F8 200 OK B -> Park Server
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
To: LittleGuy <sip:UserB@there.com>;tag=02134
From: Park Server <sip:park@server.com>;tag=56323
Call-ID: 4802029847@there.com
CSeq: 1 NOTIFY
Content-Length: 0
/* Park Server places call to User A to replace session between A and
B */
F9 INVITE Park Server -> A
Johnston, et al. Informational [Page 125]
Internet Draft SIP Service Examples November 2002
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP server.com:5060
Max-Forwards: 70
From: <sip:park@server.com>;tag=0111
To: <sip:UserA@client.here.com>
Call-ID: a5-75-34-12-76@server.com
CSeq: 1 INVITE
Referred-By: <sip:UserB@there.com>
Contact: <sip:park@server.com>
Replaces: 12345601@here.com;from-tag=314159;to-tag=1234567
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Content-Type: application/sdp
Content-Length: ...
v=0
o=ParkServer 2890844576 2890844576 IN IP4 Park.server.com
s=Session SDP
c=IN IP4 music.server.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F10 200 OK A-> Park Server
SIP/2.0 200 OK
Via: SIP/2.0/UDP music.server.com:5060
From: <sip:park@server.com>;tag=0111
To: BigGuy <sip:UserA@client.here.com>;tag=098594
Call-ID: a5-75-34-12-76@server.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=recvonly
F11 ACK Park Server -> A
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP music.server.com:5060
Max-Forwards: 70
Johnston, et al. Informational [Page 126]
Internet Draft SIP Service Examples November 2002
From: <sip:park@server.com>;tag=0111
To: BigGuy <sip:UserA@client.here.com>;tag=098594
Call-ID: a5-75-34-12-76@server.com
CSeq: 1 ACK
Content-Length: 0
F12 BYE A -> B
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 2 BYE
Content-Length: 0
F13 200 OK B -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.105
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345601@here.com
CSeq: 2 BYE
Content-Length: 0
/* Park Server reports success back to B by returning all the SIP
headers in 200 OK response */
F14 NOTIFY Park Server -> B
NOTIFY sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
To: LittleGuy <sip:UserB@there.com>;tag=02134
Max-Forwards: 70
From: Park Server <sip:park@server.com>;tag=56323
Call-ID: 4802029847@there.com
CSeq: 1 NOTIFY
Event: refer
Subscription-State: terminated;reason=noresource
Content-Type: message/sipfrag
Content-Length: ...
SIP/2.0 200 OK
Via: SIP/2.0/UDP music.server.com:5060
From: <sip:park@server.com>;tag=0111
To: BigGuy <sip:UserA@client.here.com>;tag=098594
Johnston, et al. Informational [Page 127]
Internet Draft SIP Service Examples November 2002
Call-ID: a5-75-34-12-76@server.com
CSeq: 2 INVITE
Contact: <sip:UserA@client.here.com>
F15 200 OK B -> Park Server
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
To: LittleGuy <sip:UserB@there.com>;tag=02134
From: Park Server <sip:park@server.com>;tag=56323
Call-ID: 4802029847@there.com
CSeq: 2 NOTIFY
Content-Length: 0
/* User A is now parked at the Park Server */
/* User C picks up the call by sending an INVITE to A which replaces
the existing session with the Park/Park Server. C needs to know the
dialog information to construct the Replaces header. */
F16 INVITE C -> A
INVITE sip:UserA@here.com SIP/2.0
Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: OtherGuy <sip:UserC@anywhere.com>;tag=5893461
To: BigGuy <sip:UserA@here.com>
Call-ID: 6485356@anywhere.com
CSeq: 1 INVITE
Contact: <sip:UserC@client.anywhere.com>
Replaces: a5-75-34-12-76@server.com;from-tag=098594;to-tag=0111
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com
s=Session SDP
c=IN IP4 client.anywhere.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F17 200 OK A -> C
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.105
Johnston, et al. Informational [Page 128]
Internet Draft SIP Service Examples November 2002
From: OtherGuy <sip:UserC@anywhere.com>;tag=5893461
To: BigGuy <sip:UserA@here.com>;tag=222
Call-ID: 6485356@anywhere.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844527 2890844527 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F18 ACK C -> A
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: OtherGuy <sip:UserC@anywhere.com>;tag=5893461
To: BigGuy <sip:UserA@here.com>;tag=222
Call-ID: 6485356@anywhere.com
CSeq: 1 ACK
Content-Length: 0
/* A replaces the session to the Park Server with the new session
with C and generates a BYE to disconnect the Park Server */
F19 BYE A -> Park Server
BYE sip:park@server.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=098594
To: <sip:park@server.com>;tag=0111
Call-ID: a5-75-34-12-76@server.com
CSeq: 1 BYE
Content-Length: 0
F20 200 OK Park Server -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=098594
To: <sip:park@server.com>;tag=0111
Johnston, et al. Informational [Page 129]
Internet Draft SIP Service Examples November 2002
Call-ID: a5-75-34-12-76@server.com
CSeq: 1 BYE
Content-Length: 0
Johnston, et al. Informational [Page 130]
Internet Draft SIP Service Examples November 2002
2.16 Call Pickup
User A User B User D
| | |
| INVITE F1 | |
|------------->| |
|180 Ringing F2| |
|<-------------| |
| | SUBSCRIBE F3 |
| |<------------------|
| | 200 OK F4 |
| |------------------>|
| | NOTIFY F5 |
| |------------------>|
| | 200 OK F6 |
| |<------------------|
| INVITE Replaces:B F7 |
|<---------------------------------|
| | 200 OK F8 |
|--------------------------------->|
| CANCEL F9 | |
|------------->| |
| 200 OK F10 | |
|<-------------| |
| 487 F11 | |
|<-------------| |
| ACK F12 | |
|------------->| |
| ACK F13 |
|<---------------------------------|
| | NOTIFY F14 |
| |------------------>|
| | 481 F15 |
| |<------------------|
| |
| Both way RTP Established |
|<================================>|
| BYE F16 |
|--------------------------------->|
| 200 OK F17 |
|<---------------------------------|
| |
User B and D are part of a work group at client.there.com that can
pick up each others calls. User A calls B who does not answer. User
D wishes to pick up the call and sends a SUBSCRIBE to B to retrieve
the dialog information. D then generates an INVITE with a Replaces
to A. A answers the INVITE and sends a CANCEL to stop BÆs phone
ringing. Note that the order of the CANCEL/ACK sequence in F11
through F20 is not significant.
Johnston, et al. Informational [Page 131]
Internet Draft SIP Service Examples November 2002
Message Details
F1 INVITE A -> B
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 180 Ringing B1 -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=3145678
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@littleguy.there.com>
Content-Length: 0
/* User B decides to pick up the call */
F3 SUBSCRIBE D -> B
SUBSCRIBE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP smallguy.there.com:5060;branch=z9hG4bK74bf
Max-Forwards: 70
From: SmallGuy <sip:UserD@there.com>;tag=8675309
To: LittleGuy <sip:UserB@there.com>
Call-ID: rt4353gs2egg@smallguy.there.com
CSeq: 1 INVITE
Johnston, et al. Informational [Page 132]
Internet Draft SIP Service Examples November 2002
Contact: <sip:UserD@smallguy.there.com>
Event: dialog
Subscription-State: active;expires=3600
Accept: application/dialog-info+xml
Content-Length: 0
F4 200 OK B -> D
SIP/2.0 200 OK
Via: SIP/2.0/UDP smallguy.there.com:5060;branch=z9hG4bK74bf
;received=192.0.2.114
Max-Forwards: 70
From: SmallGuy <sip:UserD@there.com>;tag=8675309
To: LittleGuy <sip:UserB@there.com>;tag=31451098
Call-ID: rt4353gs2egg@smallguy.there.com
CSeq: 1 INVITE
Content-Length: 0
F5 NOTIFY B -> D
NOTIFY sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP littleguy.there.com:5060;branch=z9hG4bK74bf
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=31451098
To: SmallGuy <sip:UserD@there.com>;tag=8675309
Call-ID: rt4353gs2egg@smallguy.there.com
CSeq: 1 NOTIFY
Contact: <sip:UserD@littleguy.there.com>
Event: dialog
Subscription-State: active;expires=3600
Content-Type: application/dialog-info+xml
Content-Length: ...
<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="0" state="full" entity="sip:UserB@there.com">
<dialog id="94992014524" call-id="12345600@here.com"
local-tag="3145678" remote-tag="1234567" direction="recipient"
remote-uri="UserA@here.com">
<state>early</state>
</dialog>
</dialog-info>
F6 200 OK D -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP littleguy.there.com:5060;branch=z9hG4bK74bf
From: LittleGuy <sip:UserB@there.com>;tag=31451098
To: SmallGuy <sip:UserD@there.com>;tag=8675309
Call-ID: rt4353gs2egg@smallguy.there.com
Johnston, et al. Informational [Page 133]
Internet Draft SIP Service Examples November 2002
CSeq: 1 NOTIFY
Contact: <sip:UserD@littleguy.there.com>
Content-Length: 0
F7 INVITE D -> A
INVITE sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP smallguy.there.com:5060;branch=z9hG4bK74bf
Max-Forwards: 70
From: SmallGuy <sip:UserD@there.com>;tag=8675309
To: BigGuy <sip:UserA@here.com>
Call-ID: 563456212@b2.there.com
CSeq: 1 INVITE
Replaces: 12345600@here.com;to-tag=314578;from-tag=1234567
Contact: <sip:UserB2@client2.there.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890843122 2890843122 IN IP4 smallguy.there.com
s=Session SDP
c=IN IP4 client2.there.com
t=3034423619 0
m=audio 5342 RTP/AVP 0
a=rtpmap:0 PCMU/8000
/* A matches the dialog information in the Replaces header and
accepts the INVITE */
F8 200 OK A -> D
SIP/2.0 200 OK
Via: SIP/2.0/UDP smallguy.there.com:5060;branch=z9hG4bK74bf
;received=192.0.2.114
From: SmallGuy <sip:UserD@here.com>;tag=8675309
To: BigGuy <sip:UserA@here.com>;tag=131256
Call-ID: 563456212@b2.there.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 289084543 289084543 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
Johnston, et al. Informational [Page 134]
Internet Draft SIP Service Examples November 2002
t=0 0
m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000
/* A stops BÆs phone from ringing by sending a CANCEL */
F9 CANCEL A -> B
CANCEL sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 CANCEL
Content-Length: 0
F10 200 OK B -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 CANCEL
Content-Length: 0
F11 487 Request Terminated B1 -> Proxy
SIP/2.0 487 Request Terminated
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=3145678
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Content-Length: 0
F12 ACK A -> B
ACK sip:UserB1@client.there.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=3145678
Call-ID: 12345600@here.com
Johnston, et al. Informational [Page 135]
Internet Draft SIP Service Examples November 2002
CSeq: 1 ACK
Content-Length: 0
Content-Length: 0
F13 ACK D -> A
ACK sip:UserA@client.here.com SIP/2.0
Via: SIP/2.0/UDP b2.there.com:5060;branch=z9hG4bK74bf
Max-Forwards: 70
From: LittleGuy <sip:UserB2@there.com>;tag=8675309
To: BigGuy <sip:UserA@here.com>;tag=131256
Call-ID: 563456212@b2.there.com
CSeq: 1 ACK
Content-Length: 0
F14 NOTIFY B -> D
NOTIFY sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP littleguy.there.com:5060;branch=z9hG4bK74bf
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=31451098
To: SmallGuy <sip:UserD@there.com>;tag=8675309
Call-ID: rt4353gs2egg@smallguy.there.com
CSeq: 2 NOTIFY
Contact: <sip:UserD@littleguy.there.com>
Event: dialog
Subscription-State: active;expires=3600
Content-Type: application/dialog-info+xml
Content-Length: ...
<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="1" state="partial" entity="sip:UserB@there.com">
<dialog id="94992014524" call-id="12345600@here.com"
local-tag="3145678" remote-tag="1234567" direction="recipient">
<state>terminated</state>
</dialog>
</dialog-info>
F15 481 Dialog Does Not Exist D -> B
SIP/2.0 481 Dialog Does Not Exist
Via: SIP/2.0/UDP littleguy.there.com:5060;branch=z9hG4bK74bf
From: LittleGuy <sip:UserB@there.com>;tag=31451098
To: SmallGuy <sip:UserD@there.com>;tag=8675309
Call-ID: rt4353gs2egg@smallguy.there.com
CSeq: 2 NOTIFY
Contact: <sip:UserD@littleguy.there.com>
Johnston, et al. Informational [Page 136]
Internet Draft SIP Service Examples November 2002
Content-Length: 0
/* RTP streams are established between A and D. User A Hangs Up
with User B. */
F16 BYE A -> Proxy
BYE sip:UserD@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
To: LittleGuy <sip:UserB2@there.com>;tag=8675309
From: BigGuy <sip:UserA@here.com>;tag=131256
Call-ID: 563456212@b2.there.com
CSeq: 2 BYE
Content-Length: 0
F17 200 OK D -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
To: LittleGuy <sip:UserB2@there.com>;tag=8675309
From: BigGuy <sip:UserA@here.com>;tag=131256
Call-ID: 563456212@b2.there.com
CSeq: 2 BYE
Content-Length: 0
Johnston, et al. Informational [Page 137]
Internet Draft SIP Service Examples November 2002
2.17 Automatic Redial
User A User B
| |
| INVITE F1 |
|--------------->|
|486 Busy Here F2|
|<---------------| User B is busy
| ACK F3 |
|--------------->|
| SUBSCRIBE F4 |
|--------------->|
| 200 OK F5 |
|<---------------|
| NOTIFY F6 |
|<---------------|
| 200 OK F7 |
|--------------->|
| |
| NOTIFY F8 | User B is now available
|<---------------|
| 200 OK F9 |
|--------------->|
| |
| INVITE F10 |
|--------------->| Session setup successfully
| 180 Ringing F11|
|<---------------|
| 200 OK F12 |
|<---------------|
| ACK F13 |
|--------------->|
| Media Session |
|<==============>|
| |
User B is initially busy when User A calls. User A subscribes to
User BÆs call state using a SUBSCRIBE F4. User B sends a NOTIFY F8
when User B is available. A is alerted, then User A sends an INVITE
to B to establish the session.
Message Details
F1 INVITE A -> B
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
Johnston, et al. Informational [Page 138]
Internet Draft SIP Service Examples November 2002
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F2 486 Busy Here
SIP/2.0 486 Busy Here
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=982039i4
Call-ID: 12345600@here.com
CSeq: 1 INVITE
Content-Length: 0
F3 ACK A -> B
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>;tag=982039i4
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F4 SUBSCRIBE A -> B
SUBSCRIBE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=837348234
To: LittleGuy <sip:UserB@there.com>
Call-ID: 4524526232@here.com
CSeq: 1 SUBSCRIBE
Contact: UserA@client.here.com
Event: dialog
Subscription-State: active;expires=3600
Accept: application/dialog-info+xml
Johnston, et al. Informational [Page 139]
Internet Draft SIP Service Examples November 2002
Content-Length: 0
F5 200 OK B -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
From: BigGuy <sip:UserA@here.com>;tag=837348234
To: LittleGuy <sip:UserB@there.com>
Call-ID: 4524526232@here.com
CSeq: 1 SUBSCRIBE
Contact: UserB@client.there.com
Content-Length: 0
F6 NOTIFY B -> A
NOTIFY sip:UserA@here.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=341123
To: BigGuy <sip:UserA@here.com>;tag=837348234
Call-ID: 4524526232@here.com
CSeq: 1 NOTIFY
Event: dialog
Subscription-State: active;expires=3600
Content-Type: application/dialog-info+xml
Content-Length: ...
<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="0" state="full" entity="sip:UserB@there.com">
<dialog id="562623442g3">
<state>confirmed</state>
</dialog>
</dialog-info>
F7 200 OK A -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
From: LittleGuy <sip:UserB@there.com>;tag=341123
To: BigGuy <sip:UserA@here.com>;tag=837348234
Call-ID: 4524526232@here.com
CSeq: 1 NOTIFY
Content-Length: 0
/* User B is now available */
F8 NOTIFY B -> A
Johnston, et al. Informational [Page 140]
Internet Draft SIP Service Examples November 2002
NOTIFY sip:UserA@here.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=341123
To: BigGuy <sip:UserA@here.com>;tag=837348234
Call-ID: 4524526232@here.com
CSeq: 2 NOTIFY
Event: dialog
Subscription-State: active;expires=3600
Content-Type: application/dialog-info+xml
Content-Length: ...
<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="0" state="full" entity="sip:UserB@there.com">
<dialog id="562623442g3">
<state>terminated</state>
</dialog>
</dialog-info>
F9 200 OK A -> B
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
From: LittleGuy <sip:UserB@there.com>;tag=341123
To: BigGuy <sip:UserA@here.com>;tag=837348234
Call-ID: 4524526232@here.com
CSeq: 2 NOTIFY
Content-Length: 0
Message Details
F10 INVITE A -> B
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=f23fkg14k
To: LittleGuy <sip:UserB@there.com>
Call-ID: aoij4i9okitr@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@client.here.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
Johnston, et al. Informational [Page 141]
Internet Draft SIP Service Examples November 2002
c=IN IP4 client.here.com
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F11 180 Ringing B -> A
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=f23fkg14k
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: aoij4i9okitr@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Length: 0
F12 200 OK B -> A
SIP/2.0 200 OK
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.103
From: BigGuy <sip:UserA@here.com>;tag=f23fkg14k
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: aoij4i9okitr@here.com
CSeq: 1 INVITE
Contact: <sip:UserB@client.there.com>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserB 2890844527 2890844527 IN IP4 client.there.com
s=Session SDP
c=IN IP4 client.there.com
t=3034423619 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F13 ACK A -> B
ACK sip:UserB@client.there.com SIP/2.0
Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=f23fkg14k
To: LittleGuy <sip:UserB@there.com>;tag=23431
Call-ID: aoij4i9okitr@here.com
CSeq: 1 ACK
Content-Length: 0
Johnston, et al. Informational [Page 142]
Internet Draft SIP Service Examples November 2002
Johnston, et al. Informational [Page 143]
Internet Draft SIP Service Examples November 2002
3 Security Considerations
Since many of the examples in this document involve SIP call control,
either peer-to-peer or 3pcc, the security considerations in the
Multiparty Framework document [12] apply.
Johnston, et al. Informational [Page 144]
Internet Draft SIP Service Examples November 2002
4 IANA Considerations
None.
Johnston, et al. Informational [Page 145]
Internet Draft SIP Service Examples November 2002
5 Acknowledgements
The Automatic Call Back call flow is based on a call flow by Adam
Roach. The Single Line Extension call flow is based on a call flow
by Jonathan Rosenberg. The authors wish to thank the following
individuals for their assistance and review of this call flows
document: Rohan Mahey, Jonathan Rosenberg, Hemant Agrawal, Henry
Sinnreich, Dean Willis, David Devanatham, Joe Pizzimenti, Matt
Cannon, John Hearty, the whole MCI WorldCom IPOP Design team, Scott
Orton, Greg Osterhout, Pat Sollee, Doug Weisenberg, Danny Mistry,
Steve McKinnon, and Denise Ingram, Denise Caballero, Tom Redman, Ilya
Slain, Pat Sollee, John Truetken, and others from MCI WorldCom, 3Com,
Cisco, Lucent and Nortel.
Johnston, et al. Informational [Page 146]
Internet Draft SIP Service Examples November 2002
6 References
[1] S. Bradner, "The Internet Standards Process -- Revision 3", BCP
9, RFC 2026, October 1996.
[2] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston,
J. Peterson, R. Sparks, M. Handley, and E. Schooler, "SIP:
Session Initiation Protocol", RFC 3261, June 2002.
[3] A. Johnston, S. Donovan, R. Sparks, C. Cunningham, D. Willis, J.
Rosenberg, and H. Schulzrinne, "SIP Call Flow Examples", Internet
Draft, Internet Engineering Task Force, February 2002, Work in
Progress.
[4] R. Sparks, "The Refer Method", Internet Draft,
Internet Engineering Task Force, July 2002,
Work in Progress.
[5] B. Biggs, R. Dean, and R. Mahy, "The SIP Replaces header,"
Internet Draft, Internet Engineering Task Force, January 2002,
Work in Progress.
[6] R. Mahy and D. Petrie,"The SIP Join Header," Internet Engineering
Task Force, October 2002, Work in Progress.
[7] J. Rosenberg, J. Peterson, H. Schulzrinne, and G. Camarillo,
"Third Party Call Control in SIP," Internet Engineering Task
Force, March 2001, Work in Progress.
[8] J. Rosenberg and H. Schulzrinne, "An Offer/Answer Model with
SDP," RFC 3264, June 2002.
[9] R. Sparks and A. Johnston, "SIP Call Control û Transfer,"
Internet Engineering Task Force, October 2002, Work in progress.
[10] J. Rosenberg and H. Schulzrinne, "A Session Initiation Protocol
(SIP) Event Package for Dialog State," Internet Engineering Task
Force, June 2002, Work in progress.
[11] A. Roach, "SIP-Specific Event Notification," RFC 3265, June
2002.
[12] R. Mahy, B. Campbell, A. Johnston, D. Petrie, J. Rosenberg, and
R. Sparks, "A Multi-party Application Framework for SIP,"
Internet Engineering Task Force, February 2002, Work in
progress.
Johnston, et al. Informational [Page 147]
Internet Draft SIP Service Examples November 2002
7 Author's Addresses
Alan Johnston Email: alan.johnston@wcom.com
sip:alan.johnston@siptest.wcom.com
Robert Sparks Email: rsparks@dynamicsoft.com
Chris Cunningham Email: ccunningham@dynamicsoft.com
Steve Donovan Email: sdonovan@dynamicsoft.com
Kevin Summers Email: kevin.summers@sonusnet.com
Copyright Notice
"Copyright (C) The Internet Society 2002. All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
Johnston, et al. Informational [Page 148]