Internet Engineering Task Force Alan Johnston Internet Draft WorldCom Document: draft-ietf-sipping-service-examples-02.txt Robert Sparks Category: Informational Chris Cunningham June 2002 Steve Donovan Expires: December 2002 dynamicsoft Kevin Summers Sonus SIP 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 SIP (Session Initiation Protocol) 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 method and Replaces header. 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 June 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.........................................47 2.6 Call Forwarding Unconditional.............................58 2.7 Call Forwarding - Busy....................................63 2.8 Call Forwarding - No Answer...............................70 2.9 3-way Conference û Third Party is Added...................78 2.10 3-way Conference û Third Party Joins......................88 2.11 Single Line Extension.....................................98 2.12 Find-Me..................................................114 2.13 Call Management (Incoming Call Screening)................124 2.14 Call Management (Outgoing Call Screening)................128 2.15 Call Park................................................131 2.16 Call Pickup..............................................139 2.17 Automatic Redial.........................................146 3 Security Considerations..................................151 4 IANA Considerations......................................152 5 Acknowledgements.........................................153 6 References...............................................154 7 Author's Addresses.......................................156 Johnston, et al. Informational [Page 2] Internet Draft SIP Service Examples June 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 2543bis [2] and [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 Call Flow Examples document [3], which explores basic behavior and PSTN internetworking. 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 Accept-Contact [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. The call flow for the Single Line Extension requires an INVITE containing "join" semantics, which request the recipient to provide media mixing for a session. No SIP Working Group document describes such a mechanism to date. 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 Johnston, et al. Informational [Page 3] Internet Draft SIP Service Examples June 2002 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. 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 Johnston, et al. Informational [Page 4] Internet Draft SIP Service Examples June 2002 closely resemble PSTN experience. - Added Call Pickup flow (2.13). - Added editorial notes on usefulness of Replaces header. 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. Johnston, et al. Informational [Page 5] Internet Draft SIP Service Examples June 2002 - Added Allow and Supported headers to REFER and replaces flows. 1.7 Changes to -01 - 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. Johnston, et al. Informational [Page 6] Internet Draft SIP Service Examples June 2002 Johnston, et al. Informational [Page 7] Internet Draft SIP Service Examples June 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 June 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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 INVITE Proxy 1 -> B INVITE sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 Johnston, et al. Informational [Page 9] Internet Draft SIP Service Examples June 2002 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Content Length:0 F5 180 Ringing Proxy 1 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Content Length: 0 F6 200 OK B -> Proxy 1 Johnston, et al. Informational [Page 10] Internet Draft SIP Service Examples June 2002 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 ;received=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 ACK A -> Proxy 1 ACK sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Route: Max-Forwards: 70 Johnston, et al. Informational [Page 11] Internet Draft SIP Service Examples June 2002 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length: 0 F9 ACK Proxy 1 -> B ACK sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy ;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@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Route: Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844528 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly F11 INVITE Proxy 1 -> A INVITE sip:UserA@100.101.102.103 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 June 2002 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: Max-Forwards: 69 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844528 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 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=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 June 2002 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F14 ACK B -> Proxy 1 ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Route: Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length: 0 F15 ACK Proxy 1 -> A ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Max-Forwards: 69 From: LittleGuy ;tag=314159 To: BigGuy ;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@100.101.102.103 SIP/2.0 Johnston, et al. Informational [Page 14] Internet Draft SIP Service Examples June 2002 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Route: Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844529 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F17 INVITE Proxy 1 -> A INVITE sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: Max-Forwards: 69 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844529 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 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=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Johnston, et al. Informational [Page 15] Internet Draft SIP Service Examples June 2002 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F20 ACK B -> Proxy 1 ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Route: Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 ACK Content-Length: 0 Johnston, et al. Informational [Page 16] Internet Draft SIP Service Examples June 2002 F21 ACK Proxy 1 -> A ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Max-Forwards: 69 From: LittleGuy ;tag=314159 To: BigGuy ;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@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Route: Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 2 BYE Content-Length: 0 F23 BYE Proxy 1 -> B BYE sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy ;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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Johnston, et al. Informational [Page 17] Internet Draft SIP Service Examples June 2002 From: BigGuy ;tag=1234567 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 18] Internet Draft SIP Service Examples June 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 June 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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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 June 2002 s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 INVITE Proxy 1 -> B INVITE sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: Johnston, et al. Informational [Page 21] Internet Draft SIP Service Examples June 2002 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content Length:0 F5 180 Ringing Proxy 1 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Johnston, et al. Informational [Page 22] Internet Draft SIP Service Examples June 2002 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 ACK A -> Proxy 1 ACK sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Route: Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F9 ACK Proxy 1 -> B ACK sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy ;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@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Route: Johnston, et al. Informational [Page 23] Internet Draft SIP Service Examples June 2002 Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844528 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly F11 INVITE Proxy 1 -> A INVITE sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: Max-Forwards: 69 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844528 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 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=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Johnston, et al. Informational [Page 24] Internet Draft SIP Service Examples June 2002 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F14 ACK B -> Proxy 1 ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Route: Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 25] Internet Draft SIP Service Examples June 2002 F15 ACK Proxy 1 -> A ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Max-Forwards: 69 From: LittleGuy ;tag=314159 To: BigGuy ;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 there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: OtherGuy Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844834 2890844834 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 50170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F17 INVITE Proxy 1 -> C INVITE sip:UserC@120.121.122.123 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: Max-Forwards: 69 From: LittleGuy ;tag=8675309 To: OtherGuy Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Johnston, et al. Informational [Page 26] Internet Draft SIP Service Examples June 2002 Content-Length: ... v=0 o=UserB 2890844834 2890844834 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 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 there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: LittleGuy ;tag=8675309 To: OtherGuy 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=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=456654 Call-ID: 9876543210@here.com CSeq: 1 INVITE Contact: Content Length:0 F20 180 Ringing Proxy 1 -> B SIP/2.0 180 Ringing Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: Content Length: 0 Johnston, et al. Informational [Page 27] Internet Draft SIP Service Examples June 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=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com s=Session SDP c=IN IP4 120.121.122.123 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 there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com s=Session SDP c=IN IP4 120.121.122.123 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F23 ACK B -> Proxy 1 ACK sip:UserC@120.121.122.123 SIP/2.0 Johnston, et al. Informational [Page 28] Internet Draft SIP Service Examples June 2002 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Route: Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 ACK Content-Length: 0 F24 ACK Proxy 1 -> C ACK sip:UserC@120.121.122.123 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Max-Forwards: 69 From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 ACK Content-Length: 0 F25 BYE B -> Proxy 1 BYE sip:UserC@120.121.122.123 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Route: Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 2 BYE Content-Length: 0 F26 BYE Proxy 1 -> C BYE sip:UserC@120.121.122.123 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Max-Forwards: 69 From: LittleGuy ;tag=8675309 To: OtherGuy ;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 June 2002 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 ;received=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: LittleGuy ;tag=8675309 To: OtherGuy ;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 there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: LittleGuy ;tag=8675309 To: OtherGuy ;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@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Route: Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844529 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 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 June 2002 INVITE sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: Max-Forwards: 69 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844529 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 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=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 there.com:5060;branch=z9hG4bKnashds7 Johnston, et al. Informational [Page 31] Internet Draft SIP Service Examples June 2002 ;received=120.121.122.123 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F33 ACK B -> Proxy 1 ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Route: Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 ACK Content-Length: 0 F34 ACK Proxy 1 -> A ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Max-Forwards: 69 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 ACK Content-Length: 0 F35 BYE A -> Proxy 1 BYE sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Route: Max-Forwards: 70 Johnston, et al. Informational [Page 32] Internet Draft SIP Service Examples June 2002 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F36 BYE Proxy 1 -> B BYE sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy ;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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 33] Internet Draft SIP Service Examples June 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 June 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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F3 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Johnston, et al. Informational [Page 35] Internet Draft SIP Service Examples June 2002 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 ACK A -> B ACK sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;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 there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: Music Call-ID: sdjfdjfskdf@there.com CSeq: 1 INVITE Contact: Content-Length: 0 F6 200 OK C -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: LittleGuy ;tag=8675309 Johnston, et al. Informational [Page 36] Internet Draft SIP Service Examples June 2002 To: Music ;tag=90210 Call-ID: sdjfdjfskdf@there.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=MusicServer 2890844576 2890844576 IN IP4 music.server.com s=Session SDP c=IN IP4 50.60.70.80 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@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 To: BigGuy ;tag=1234567 Max-Forwards: 70 From: LittleGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844528 IN IP4 music.server.com s=Session SDP c=IN IP4 50.60.70.80 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 To: BigGuy ;tag=1234567 From: LittleGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 37] Internet Draft SIP Service Examples June 2002 Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F9 ACK B -> A ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 To: BigGuy ;tag=1234567 Max-Forwards: 70 From: LittleGuy ;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 there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: Music ;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 100.101.102.103 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 June 2002 F11 BYE B -> Music Server BYE sip:music@server.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: Music ;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 there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: LittleGuy ;tag=8675309 To: Music ;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@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 To: BigGuy ;tag=1234567 Max-Forwards: 70 From: LittleGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844529 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 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 June 2002 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 To: BigGuy ;tag=1234567 From: LittleGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F15 ACK B -> A ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 To: BigGuy ;tag=1234567 Max-Forwards: 70 From: LittleGuy ;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 June 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 | | |<-------------------| | | BYE F7 | | |------------------->| | | 200 OK F8 | | |<-------------------| | | No RTP Session | INVITE Referred-By: A F9 | |------------------->| | | 180 Ringing F10 | | |<-------------------| | | 200 OK F11 | | |<-------------------| | | ACK F12 | | |------------------->| | | RTP | | |<==================>| | NOTIFY F13 | | |<-------------------| | | 200 OK F14 | | |------------------->| | | | | 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. 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. Johnston, et al. Informational [Page 41] Internet Draft SIP Service Examples June 2002 Message Details F1 INVITE B -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: 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 110.111.112.113 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 there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F3 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Johnston, et al. Informational [Page 42] Internet Draft SIP Service Examples June 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 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 ACK B -> A ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy ;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@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 2 REFER Refer-To: Referred-By: Contact: Content-Length: 0 F6 202 Accepted B -> A SIP/2.0 202 Accepted Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com Johnston, et al. Informational [Page 43] Internet Draft SIP Service Examples June 2002 CSeq: 2 REFER Content-Length: 0 /* A now disconnects with B */ F7 BYE A -> B BYE sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 3 BYE Content-Length: 0 F8 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 3 BYE Content-Length: 0 /* B attempts the transfer to C */ F9 INVITE B -> C INVITE sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: OtherGuy Call-ID: 7436222@here.com CSeq: 1 INVITE Contact: Referred-By: 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 110.111.112.113 Johnston, et al. Informational [Page 44] Internet Draft SIP Service Examples June 2002 t=3034423821 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F10 180 Ringing C -> B SIP/2.0 180 Ringing Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=928287 Call-ID: 7436222@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F11 200 OK C -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=928287 Call-ID: 7436222@here.com CSeq: 1 INVITE Contact: 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 120.121.122.123 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F12 ACK B -> C ACK sip:UserC@120.121.122.123 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=928287 Call-ID: 7436222@here.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 45] Internet Draft SIP Service Examples June 2002 /* B and C now have established a session. B reports success to A which A probably ignores. */ F13 NOTIFY B -> A NOTIFY sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 NOTIFY Event: refer Content-Type: application/sipfrag Content-Length: ... SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=928287 Call-ID: 7436222@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... F14 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 NOTIFY Content-Length: 0 Johnston, et al. Informational [Page 46] Internet Draft SIP Service Examples June 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| | |--------------->| | | INVITE Replaces: B F17 | |------------------------------>| | 200 OK F18 | |<------------------------------| | ACK F19 | |------------------------------>| | RTP | |<=============================>| | | BYE F20 | Johnston, et al. Informational [Page 47] Internet Draft SIP Service Examples June 2002 | |<-------------| | | 200 OK F21 | | |------------->| | NOTIFY F22 | | |--------------->| | | 200 OK F23 | | |<---------------| | | BYE F24 | | |<---------------| | | 200 OK F25 | | |--------------->| | 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 the presence of the Require: Replaces header field in the REFER F15. This ensures that only the correct instance of User C is reached. For further details on types of call transfers, refer to [9]. Message Details F1 INVITE A -> B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 180 Ringing B -> A Johnston, et al. Informational [Page 48] Internet Draft SIP Service Examples June 2002 SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F3 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 ACK A -> B ACK sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 /* User A and User B have established a session. User B puts User A on Hold */ F5 INVITE B -> A Johnston, et al. Informational [Page 49] Internet Draft SIP Service Examples June 2002 INVITE sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1024 INVITE Contact: 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 110.111.112.113 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 there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1024 INVITE Contact: 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 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 ACK B -> A ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 Johnston, et al. Informational [Page 50] Internet Draft SIP Service Examples June 2002 From: LittleGuy ;tag=23431 To: BigGuy ;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 there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: OtherGuy Call-ID: sdjfdjfskdf@there.com CSeq: 42 INVITE Contact: 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 110.111.112.113 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 there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=5f35a3 Call-ID: sdjfdjfskdf@there.com CSeq: 42 INVITE Contact: Content-Length: 0 F10 200 OK C -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=8675309 Johnston, et al. Informational [Page 51] Internet Draft SIP Service Examples June 2002 To: OtherGuy ;tag=5f35a3 Call-ID: sdjfdjfskdf@there.com CSeq: 42 INVITE Contact: 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 120.121.122.123 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 ACK B -> C ACK sip:UserC@120.121.122.123 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: OtherGuy ;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@120.121.122.123 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=5f35a3 Call-ID: sdjfdjfskdf@there.com CSeq: 43 INVITE Contact: Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ... v=0 o=UserB 289084834 2890844835 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423645 0 Johnston, et al. Informational [Page 52] Internet Draft SIP Service Examples June 2002 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 there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=5f35a3 Call-ID: sdjfdjfskdf@there.com CSeq: 43 INVITE Contact: 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 120.121.122.123 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F14 ACK B -> C ACK sip:UserC@120.121.122.123 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: OtherGuy ;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@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345678900@here.com CSeq: 1025 REFER Refer-To: Referred-By: Contact: Content-Length: 0 F16 202 Accepted A -> B SIP/2.0 202 Accepted Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=1234567 To: BigGuy ;tag=23431 Call-ID: 12345678900@here.com CSeq: 1025 REFER Content-Length: 0 /* User A establishes session with User C which replaces the session between User B and User C */ F17 INVITE A -> C INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKadfe4ko To: OtherGuy Max-Forwards: 70 From: BigGuy ;tag=3461 Call-ID: 9435674543@here.com CSeq: 1 INVITE Referred-By: Accept-Contact: ;only=true Replaces: 12345600@here.com;to-tag=23431;from-tag=8675309 Contact: Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Require: replaces Content-Type: application/sdp Content-Length: ... v=0 o=UserC 2890844989 2890844989 IN IP4 client.anywhere.com s=Session SDP c=IN IP4 120.121.122.123 t=3034423643 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F18 200 OK C -> A SIP/2.0 200 OK Johnston, et al. Informational [Page 54] Internet Draft SIP Service Examples June 2002 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKadfe4ko ;received=120.121.122.123 To: OtherGuy ;tag=ff3a From: BigGuy ;tag=3461 Call-ID: 9435674543@here.com CSeq: 1 INVITE Contact: 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.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423452 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F19 ACK A -> C ACK sip:UserC@120.121.122.123 SIP/2.0 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKadfe4ko To: OtherGuy ;tag=ff3a Max-Forwards: 70 From: BigGuy ;tag=3461 Call-ID: 9435674543@here.com CSeq: 1 INVITE Content-Length: 0 /* User C then disconnects from User B */ F20 BYE C -> B BYE sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 To: LittleGuy ;tag=8675309 Max-Forwards: 70 From: OtherGuy ;tag=5f35a3 Call-ID: sdjfdjfskdf@there.com CSeq: 1 BYE Content-Length: 0 F21 200 OK B -> C SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Johnston, et al. Informational [Page 55] Internet Draft SIP Service Examples June 2002 To: LittleGuy ;tag=8675309 From: OtherGuy ;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 */ F22 NOTIFY A -> B NOTIFY sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=23431 Call-ID: 12345678900@here.com CSeq: 2 NOTIFY Event: refer Content-Type: application/sipfrag Content-Length: ... SIP/2.0 200 OK Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKadfe4ko ;received=120.121.122.123 From: OtherGuy ;tag=ff3a To: BigGuy ;tag=3461 Call-ID: 9435674543@anywhere.com CSeq: 1 INVITE Contact: F23 200 OK B -> C SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 To: LittleGuy ;tag=1234567 From: OtherGuy ;tag=5f35a3 Call-ID: 12345678900@here.com CSeq: 2 NOTIFY Content-Length: 0 /* User B disconnects with User A */ F24 BYE B -> A BYE sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 Johnston, et al. Informational [Page 56] Internet Draft SIP Service Examples June 2002 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345678900@here.com CSeq: 1026 BYE Content-Length: 0 F25 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345678900@here.com CSeq: 1026 BYE Content-Length: 0 Johnston, et al. Informational [Page 57] Internet Draft SIP Service Examples June 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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 Johnston, et al. Informational [Page 58] Internet Draft SIP Service Examples June 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: Johnston, et al. Informational [Page 59] Internet Draft SIP Service Examples June 2002 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content Length:0 F5 180 Ringing Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Johnston, et al. Informational [Page 60] Internet Draft SIP Service Examples June 2002 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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 here.com:5060;branch=z9hG4bK74bf9 Route: Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 Route: Max-Forwards: 70 From: BigGuy ;tag=1234567 Johnston, et al. Informational [Page 61] Internet Draft SIP Service Examples June 2002 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy ;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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 62] Internet Draft SIP Service Examples June 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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Johnston, et al. Informational [Page 63] Internet Draft SIP Service Examples June 2002 Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 INVITE Proxy -> B1 INVITE sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy 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 64] Internet Draft SIP Service Examples June 2002 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 ;received=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F5 ACK Proxy -> B1 ACK sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;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@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 180 Ringing B2 -> Proxy Johnston, et al. Informational [Page 65] Internet Draft SIP Service Examples June 2002 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 ;received=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F8 180 Ringing Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client2.there.com s=Session SDP c=IN IP4 110.111.112.114 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 66] Internet Draft SIP Service Examples June 2002 F10 200 OK Proxy -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client2.there.com s=Session SDP c=IN IP4 110.111.112.114 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 ACK A -> Proxy ACK sip:UserB2@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Route: Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F12 ACK Proxy -> B2 ACK sip:UserB2@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy ;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 67] Internet Draft SIP Service Examples June 2002 /* User A eventually hangs up with User B2. */ F13 BYE A -> Proxy BYE sip:UserB2@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Route: Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F14 BYE Proxy -> B2 BYE sip:UserB2@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy ;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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com Johnston, et al. Informational [Page 68] Internet Draft SIP Service Examples June 2002 CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 69] Internet Draft SIP Service Examples June 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 70] Internet Draft SIP Service Examples June 2002 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 INVITE Proxy -> B1 INVITE sip:UserB1@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com Johnston, et al. Informational [Page 71] Internet Draft SIP Service Examples June 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=3145678 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F5 180 Ringing Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=3145678 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Max-Forwards: 70 From: BigGuy To: LittleGuy 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 72] Internet Draft SIP Service Examples June 2002 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 ;received=1.2.3.4 From: BigGuy To: LittleGuy 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=3145678 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F9 ACK Proxy -> B1 ACK sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=3145678 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F10 INVITE Proxy -> B2 INVITE sip:UserB2@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 Johnston, et al. Informational [Page 73] Internet Draft SIP Service Examples June 2002 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F12 180 Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Johnston, et al. Informational [Page 74] Internet Draft SIP Service Examples June 2002 Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client2.there.com s=Session SDP c=IN IP4 110.111.112.114 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client2.there.com s=Session SDP c=IN IP4 110.111.112.114 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F15 ACK A -> Proxy ACK sip:UserB2@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Route: Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F16 ACK Proxy -> B2 ACK sip:UserB2@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Johnston, et al. Informational [Page 75] Internet Draft SIP Service Examples June 2002 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy ;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@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Route: Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F18 BYE Proxy -> B2 BYE sip:UserB2@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy ;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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 76] Internet Draft SIP Service Examples June 2002 F20 200 OK Proxy -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 77] Internet Draft SIP Service Examples June 2002 2.9 3-way Conference û Third Party is Added User A User B Bridge User C | RTP | | | |<==============>| | | |INVITE (hold) F1| | | |<---------------| | | | 200 OK F2 | | | |--------------->| | | | ACK F3 | | | |<---------------| INVITE F4 | | | No RTP |------------->| | | | 200 OK F5 | | | |<-------------| | | | ACK F6 | | | |------------->| | | | RTP | | | |<============>| | | REFER Refer-To: Bridge F7 | | |<---------------| | | |202 Accepted F8 | | | |--------------->| | | | INVITE F9 | | |------------------------------>| | | 200 OK F10 | | |<------------------------------| | | ACK F11 | | |------------------------------>| | | RTP | | |<=============================>| | | NOTIFY F12 | | | |--------------->| | | | 200 OK F13 | | | |<---------------| | | | BYE F14 | | | |<---------------| | | | 200 OK F15 | | | |--------------->| REFER Refer-To: C F16 | | |------------->| | | |202 Accepted F17 | | |<-------------| INVITE F18 | | | |------------->| | | | 180 F19 | | | |<-------------| | | | 200 OK F20 | | | |<-------------| | | | ACK F21 | | | |------------->| | | | RTP | | | NOTIFY F22 |<============>| | |<-------------| | Johnston, et al. Informational [Page 78] Internet Draft SIP Service Examples June 2002 | | 200 OK F23 | | | |------------->| | In this scenario, A and B are in a 2-party call (session) when B wishes to add C into the conversation. B is not capable of media mixing, but does have call control capabilities and a conference bridge which is capable of mixing. B first places A on hold (optional step) then establishes a session with the bridge. B then transfers A to the bridge using a special conference-URI which resolves to the bridge but identifies B as the owner of the conference. A sends an INVITE to that URI and establishes a session with the bridge, which mixes the media of A and B. Once B has confirmation that A has joined the bridge, B then sends a refer to the bridge to invite C into the conference which causes the bridge to send an INVITE to C. If C accepts the INVITE, C is added to the session and the 3 party conference is complete. Additional parties could be added to the conference in the same way (B sending a REFER to the conference bridge) or by them sending an INVITE to the bridge with BÆs conference URI. In this example, User BÆs URI is sip:UserB@there.com while User BÆs conference Bridge is sip:UserB-Bridge@there.com. As an alternative to this conference URI which would require registration, the conference URI could be the contact sip:UserB-Bridge@110.111.112.114 which would not require registration. Message Details /* User A and User B have established a session. User B puts User A on Hold */ F1 INVITE B -> A INVITE sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1024 INVITE Contact: 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 110.111.112.113 t=3034423619 0 Johnston, et al. Informational [Page 79] Internet Draft SIP Service Examples June 2002 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly F2 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1024 INVITE Contact: 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 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 ACK B -> A ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1024 ACK Content-Length: 0 /* User B calls Conference Bridge */ F4 INVITE B -> Bridge INVITE sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: My Bridge Call-ID: sdjfdjfskdf@there.com CSeq: 42 INVITE Johnston, et al. Informational [Page 80] Internet Draft SIP Service Examples June 2002 Contact: 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 110.111.112.113 t=3034423645 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F5 200 OK Bridge -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=8675309 To: My Bridge ;tag=5f35a3 Call-ID: sdjfdjfskdf@there.com CSeq: 42 INVITE Contact: Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ... v=0 o=UserB-Bridge 2890844922 2890844922 IN IP4 bridge.there.com s=Session SDP c=IN IP4 110.111.112.114 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F6 ACK B -> Bridge ACK sip:UserB-Bridge@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: My Bridge ;tag=5f35a3 Call-ID: sdjfdjfskdf@there.com CSeq: 42 ACK Content-Length: 0 /* User B Transfers User A to the Bridge. */ Johnston, et al. Informational [Page 81] Internet Draft SIP Service Examples June 2002 F7 REFER B -> A REFER sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345678900@here.com CSeq: 1025 REFER Refer-To: Referred-By: Contact: Content-Length: 0 F8 202 Accepted A -> B SIP/2.0 202 Accepted Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=1234567 To: BigGuy ;tag=23431 Call-ID: 12345678900@here.com CSeq: 1025 REFER Content-Length: 0 /* User A establishes session with the Bridge */ F9 INVITE A -> Bridge INVITE sip:UserB-Bridge@here.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bKadfe4ko To: OtherGuy Max-Forwards: 70 From: BigGuy ;tag=3461 Call-ID: 9435674543@here.com CSeq: 1 INVITE Referred-By: Contact: 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.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423452 0 m=audio 49172 RTP/AVP 0 Johnston, et al. Informational [Page 82] Internet Draft SIP Service Examples June 2002 a=rtpmap:0 PCMU/8000 F10 200 OK Bridge -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bKadfe4ko ;received=100.1101.102.103 To: OtherGuy ;tag=ff3a From: BigGuy ;tag=3461 Call-ID: 9435674543@here.com CSeq: 1 INVITE Contact: Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ... v=0 o=UserB-Bridge 2890844922 2890844922 IN IP4 bridge.there.com s=Session SDP c=IN IP4 110.111.112.114 t=3034423619 0 m=audio 3468 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 ACK A -> Bridge ACK sip:UserB-Bridge@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bKadfe4ko Max-Forwards: 70 To: OtherGuy ;tag=ff3a From: BigGuy ;tag=3461 Call-ID: 9435674543@here.com CSeq: 1 INVITE Content-Length: 0 /* User A tells User B that the call has been successfully transferred */ F12 NOTIFY A -> B NOTIFY sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=23431 Call-ID: 12345678900@here.com CSeq: 2 NOTIFY Johnston, et al. Informational [Page 83] Internet Draft SIP Service Examples June 2002 Event: refer Content-Type: application/sipfrag Content-Length: ... SIP/2.0 200 OK F13 200 OK B -> C SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 To: LittleGuy ;tag=1234567 From: OtherGuy ;tag=5f35a3 Call-ID: 12345678900@here.com CSeq: 2 NOTIFY Content-Length: 0 /* User B disconnects with User A since they are now on the bridge together */ F14 BYE B -> A BYE sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345678900@here.com CSeq: 1026 BYE Content-Length: 0 F15 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345678900@here.com CSeq: 1026 BYE Content-Length: 0 /* User B asks Bridge to add C to the conference. It is implicit that any REFER sent by B to the bridge involves mixing the resulting media into the existing conference. */ F16 REFER B -> Bridge Johnston, et al. Informational [Page 84] Internet Draft SIP Service Examples June 2002 REFER sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: My Bridge ;tag=5f35a3 Call-ID: sdjfdjfskdf@there.com CSeq: 43 REFER Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Refer-To: Referred-By: Content-Length: 0 F17 202 Accepted Bridge -> B SIP/2.0 202 Accepted Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=8675309 To: My Bridge ;tag=5f35a3 Call-ID: sdjfdjfskdf@there.com CSeq: 43 REFER Content-Length: 0 /* Bridge calls User C */ F18 INVITE Bridge -> C INVITE sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP bridge.there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Bridge ;tag=8493jw423U To: OtherGuy Call-ID: 32j2241adf12@bridge.there.com CSeq: 42 INVITE Contact: Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Referred-By: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 28908445834 2890844834 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423645 0 m=audio 3470 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 85] Internet Draft SIP Service Examples June 2002 F19 180 Ringing C -> Bridge SIP/2.0 180 Ringing Via: SIP/2.0/UDP bridge.there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.114 From: Bridge ;tag=8493jw423U To: OtherGuy ;tag=5f35a3 Call-ID: 32j2241adf12@bridge.there.com CSeq: 42 INVITE Contact: Content-Length: 0 F20 200 OK C -> Bridge SIP/2.0 200 OK Via: SIP/2.0/UDP bridge.there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.114 From: Bridge ;tag=8493jw423U To: OtherGuy ;tag=5f35a3 Call-ID: 32j2241adf12@bridge.there.com CSeq: 42 INVITE Contact: 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 120.121.122.123 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F21 ACK Bridge -> C ACK sip:UserC@120.121.122.123 SIP/2.0 Via: SIP/2.0/UDP bridge.there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: OtherGuy ;tag=5f35a3 Call-ID: 32j2241adf12@bridge.there.com CSeq: 42 ACK Content-Length: 0 /* Bridge confirms that C has been added to the conference. */ Johnston, et al. Informational [Page 86] Internet Draft SIP Service Examples June 2002 F22 NOTIFY Bridge -> B NOTIFY sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP bridge.there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: My Bridge ;tag=5f35a3 To: LittleGuy ;tag=8675309 Call-ID: sdjfdjfskdf@there.com CSeq: 5453 NOTIFY Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Event: refer Content-Type: application/sipfrag Content-Length: ... SIP/2.0 200 OK F23 200 OK B -> Bridge SIP/2.0 200 OK Via: SIP/2.0/UDP bridge.there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.114 Max-Forwards: 70 From: My Bridge ;tag=5f35a3 To: LittleGuy ;tag=8675309 Call-ID: sdjfdjfskdf@there.com CSeq: 5453 NOTIFY Content-Length: 0 Johnston, et al. Informational [Page 87] Internet Draft SIP Service Examples June 2002 2.10 3-way Conference û Third Party Joins User A User B Bridge User C | | | | | RTP | | INVITE F1 | |<==============>| |<-------------| | | | 180 F2 | | | NOTIFY F3 |------------->| | |<-------------| | | | 200 OK F4 | | |INVITE (hold) F5|------------->| | |<---------------| | | | 200 OK F6 | | | |--------------->| | | | ACK F7 | | | |<---------------| INVITE F8 | | | No RTP |------------->| | | | 200 OK F9 | | | |<-------------| | | | ACK F10 | | | |------------->| | | | RTP | | | |<============>| 200 OK F11 | | | |------------->| | | | ACK F12 | | | |<-------------| | | | RTP | | | NOTIFY F13 |<============>| | |<-------------| | | | 200 OK F14 | | | |------------->| | | REFER Refer-To: Bridge F15 | | |<---------------| | | |202 Accepted F16| | | |--------------->| | | | INVITE F17 | | |------------------------------>| | | 200 OK F18 | | |<------------------------------| | | ACK F19 | | |------------------------------>| | | RTP | | |<=============================>| | | NOTIFY F20 | | | |--------------->| | | | 200 OK F21 | | | |<---------------| | | | BYE F22 | | | |<---------------| | | | 200 OK F23 | | | |--------------->| | | Johnston, et al. Informational [Page 88] Internet Draft SIP Service Examples June 2002 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 REFER sent by B. C sends an INVITE to BÆs conference-URI which reaches the bridge. It is assumed that B has subscribed to the dialog state of his conference bridge, so B receives a NOTIFY from the bridge indicating that C wishes to join the conference. If B allows C to join, B puts A on hold and establishes a session with the bridge. Once B is on the bridge, the bridge then establishes the session with C and mixes the media of B and C. B then transfers A to the bridge by transfering A to BÆs conference-URI. When A has successfully joined the bridge, B receives notification and terminates the session with A. Additional parties can join the conference using the conference- URI. Message Details /* User A and User B have established a session. User C joins by calling BÆs conference URI */ F1 INVITE C -> Bridge INVITE sip:UserB-Bridge@there.com SIP/2.0 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: OtherGuy ;tag=3241kd34fg To: Bridge Call-ID: 25i345k435j25FUJjudjss@anywhere.com CSeq: 1 INVITE Contact: 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 120.121.122.123 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 180 Ringing Bridge -> C SIP/2.0 180 Ringing Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: OtherGuy ;tag=3241kd34fg Johnston, et al. Informational [Page 89] Internet Draft SIP Service Examples June 2002 To: Bridge ;tag=dkfkk32o410 Call-ID: 25i345k435j25FUJjudjss@anywhere.com CSeq: 1 INVITE Contact: Content-Length: 0 /* Bridge notifies B that C wishes to join the call. */ F3 NOTIFY Bridge -> B NOTIFY sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP bridge.there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: My Bridge ;tag=5f35a3 To: LittleGuy ;tag=8675309 Call-ID: sdjfdjfskdf@there.com CSeq: 5453 NOTIFY Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Event: refer Content-Type: application/sipfrag Content-Length: ... SIP/2.0 180 Ringing From: OtherGuy ;tag=3241kd34fg To: Bridge ;tag=dkfkk32o410 Call-ID: 25i345k435j25FUJjudjss@anywhere.com F4 200 OK B -> Bridge SIP/2.0 200 OK Via: SIP/2.0/UDP bridge.there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.114 Max-Forwards: 70 From: My Bridge ;tag=5f35a3 To: LittleGuy ;tag=8675309 Call-ID: sdjfdjfskdf@there.com CSeq: 5453 NOTIFY Content-Length: 0 /* B prepares to add C into the call by putting A on hold */ F5 INVITE B -> A INVITE sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Johnston, et al. Informational [Page 90] Internet Draft SIP Service Examples June 2002 Call-ID: 12345600@here.com CSeq: 1024 INVITE Contact: 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 110.111.112.113 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 there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1024 INVITE Contact: 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 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 ACK B -> A ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1024 ACK Content-Length: 0 Johnston, et al. Informational [Page 91] Internet Draft SIP Service Examples June 2002 /* User B calls Conference Bridge */ F8 INVITE B -> Bridge INVITE sip:UserB-Bridge@there.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: My Bridge Call-ID: sdjfdjfskdf@there.com CSeq: 42 INVITE Contact: 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 110.111.112.113 t=3034423645 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F9 200 OK Bridge -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=8675309 To: My Bridge ;tag=5f35a3 Call-ID: sdjfdjfskdf@there.com CSeq: 42 INVITE Contact: Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ... v=0 o=UserB-Bridge 2890844922 2890844922 IN IP4 bridge.there.com s=Session SDP c=IN IP4 110.111.112.114 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 92] Internet Draft SIP Service Examples June 2002 F10 ACK B -> Bridge ACK sip:UserB-Bridge@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: My Bridge ;tag=5f35a3 Call-ID: sdjfdjfskdf@there.com CSeq: 42 ACK Content-Length: 0 /* Once B is on the bridge, the bridge answers C and adds C into the conference */ F11 200 OK Bridge -> C SIP/2.0 200 OK Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: OtherGuy ;tag=3241kd34fg To: Bridge ;tag=dkfkk32o410 Call-ID: 25i345k435j25FUJjudjss@anywhere.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 28908445834 2890844834 IN IP4 bridge.there.com s=Session SDP c=IN IP4 110.111.112.114 t=3034423645 0 m=audio 3468 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F12 ACK C -> Bridge ACK sip:UserB-Bridge@there.com SIP/2.0 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: OtherGuy ;tag=3241kd34fg To: Bridge ;tag=dkfkk32o410 Call-ID: 25i345k435j25FUJjudjss@anywhere.com CSeq: 1 INVITE Content-Length: 0 /* Bridge notifies B that C has joined the call. */ F13 NOTIFY Bridge -> B Johnston, et al. Informational [Page 93] Internet Draft SIP Service Examples June 2002 NOTIFY sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP bridge.there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: My Bridge ;tag=5f35a3 To: LittleGuy ;tag=8675309 Call-ID: sdjfdjfskdf@there.com CSeq: 5454 NOTIFY Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Event: refer Content-Type: application/sipfrag Content-Length: ... SIP/2.0 200 OK From: OtherGuy ;tag=3241kd34fg To: Bridge ;tag=dkfkk32o410 Call-ID: 25i345k435j25FUJjudjss@anywhere.com F14 200 OK B -> Bridge SIP/2.0 200 OK Via: SIP/2.0/UDP bridge.there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.114 Max-Forwards: 70 From: My Bridge ;tag=5f35a3 To: LittleGuy ;tag=8675309 Call-ID: sdjfdjfskdf@there.com CSeq: 54534 NOTIFY Content-Length: 0 /* User B Transfers User A to the Bridge. */ F15 REFER B -> A REFER sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345678900@here.com CSeq: 1025 REFER Refer-To: Referred-By: Contact: Content-Length: 0 F16 202 Accepted A -> B Johnston, et al. Informational [Page 94] Internet Draft SIP Service Examples June 2002 SIP/2.0 202 Accepted Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=110.111.112.113 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345678900@here.com CSeq: 1025 REFER Content-Length: 0 /* User A establishes session with the Bridge */ F17 INVITE A -> Bridge INVITE sip:UserB-Bridge@here.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bKadfe4ko To: OtherGuy Max-Forwards: 70 From: BigGuy ;tag=3461 Call-ID: 9435674543@here.com CSeq: 1 INVITE Referred-By: Contact: 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.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423452 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F18 200 OK Bridge -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bKadfe4ko ;received=100.1101.102.103 To: OtherGuy ;tag=ff3a From: BigGuy ;tag=3461 Call-ID: 9435674543@here.com CSeq: 1 INVITE Contact: Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ... Johnston, et al. Informational [Page 95] Internet Draft SIP Service Examples June 2002 v=0 o=UserB-Bridge 2890844922 2890844922 IN IP4 bridge.there.com s=Session SDP c=IN IP4 110.111.112.114 t=3034423619 0 m=audio 3468 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F19 ACK A -> Bridge ACK sip:UserB-Bridge@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bKadfe4ko Max-Forwards: 70 To: OtherGuy ;tag=ff3a From: BigGuy ;tag=3461 Call-ID: 9435674543@here.com CSeq: 1 INVITE Content-Length: 0 /* User A tells User B that the call has been successfully transferred */ F20 NOTIFY A -> B NOTIFY sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=23431 Call-ID: 12345678900@here.com CSeq: 2 NOTIFY Event: refer Content-Type: application/sipfrag Content-Length: ... SIP/2.0 200 OK F21 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=23431 Call-ID: 12345678900@here.com CSeq: 2 NOTIFY Content-Length: 0 Johnston, et al. Informational [Page 96] Internet Draft SIP Service Examples June 2002 /* User B disconnects with User A since they are now on the bridge together */ F22 BYE B -> A BYE sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345678900@here.com CSeq: 1026 BYE Content-Length: 0 F23 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: LittleGuy ;tag=23431 To: BigGuy ;tag=1234567 Call-ID: 12345678900@here.com CSeq: 1026 BYE Content-Length: 0 Johnston, et al. Informational [Page 97] Internet Draft SIP Service Examples June 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 98] Internet Draft SIP Service Examples June 2002 | |--------------------------->| | | 200 OK F26 | | | |<--------------------| | | | 482 Loop Detected F27 | | |<---------------------------| | | | | User B2 wants to join the call | | | | | | INVITE "Join" F28 | | | |<--------------------| | | | INVITE "Join" F29 | | | |------------->| | | | | INVITE "Join" F30 | | |-------------------->| | | | INVITE "Join" 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 "join" semantics to B to request this. This INVITE is forked and is accepted by B3 who then performs the mixing function. Note that this INVITE with "join" semantics has not yet been defined in a WG document yet. Johnston, et al. Informational [Page 99] Internet Draft SIP Service Examples June 2002 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. 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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t= 0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 INVITE Proxy -> B1 INVITE sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t= 0 0 Johnston, et al. Informational [Page 100] Internet Draft SIP Service Examples June 2002 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 INVITE Proxy -> B2 INVITE sip:UserB2@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 INVITE Proxy -> B3 INVITE sip:UserB3@110.111.112.115 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 101] Internet Draft SIP Service Examples June 2002 F5 100 Trying Proxy -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F7 180 Ringing Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 Johnston, et al. Informational [Page 102] Internet Draft SIP Service Examples June 2002 To: LittleGuy ;tag=314756 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F9 ACK Proxy -> B2 ACK sip:UserB2@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F11 180 Ringing B3 -> Proxy SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Johnston, et al. Informational [Page 103] Internet Draft SIP Service Examples June 2002 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client3.there.com s=Session SDP c=IN IP4 110.111.112.115 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client3.there.com s=Session SDP c=IN IP4 110.111.112.115 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@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Max-Forwards: 70 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 Johnston, et al. Informational [Page 104] Internet Draft SIP Service Examples June 2002 F15 200 OK B1 -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 ;received=1.2.3.4 From: BigGuy To: LittleGuy 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F17 ACK Proxy -> B1 ACK sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F18 ACK A -> Proxy ACK sip:UserB4@110.111.112.115 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 105] Internet Draft SIP Service Examples June 2002 F19 ACK Proxy -> B3 ACK sip:UserB4@110.111.112.115 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy ;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 there.com:5060;branch=z9hG4bKq0qwli6ewlk Max-Forwards: 70 From: LittleGuy ;tag=w2Hu8sj To: LittleGuy Call-ID: 8458999275@there.com CSeq: 1 NOTIFY Event: dialog Content-Type: application/dialog-info+xml Content-Length: ... confirmed F21 NOTIFY Proxy -> B1 NOTIFY sip:UserB1@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.1 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.115 Max-Forwards: 69 From: LittleGuy ;tag=w2Hu8sj To: LittleGuy Call-ID: 8458999275@there.com Johnston, et al. Informational [Page 106] Internet Draft SIP Service Examples June 2002 CSeq: 1 NOTIFY Event: dialog Content-Type: application/dialog-info+xml Content-Length: ... confirmed F22 Proxy -> B2 NOTIFY sip:UserB1@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.115 Max-Forwards: 69 From: LittleGuy ;tag=w2Hu8sj To: LittleGuy Call-ID: 8458999275@there.com CSeq: 1 NOTIFY Event: dialog Content-Type: application/dialog-info+xml Content-Length: ... confirmed F23 NOTIFY Proxy-> B3 NOTIFY sip:UserB1@110.111.112.115 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.115 Max-Forwards: 69 From: LittleGuy ;tag=w2Hu8sj To: LittleGuy Call-ID: 8458999275@there.com CSeq: 1 NOTIFY Event: dialog Johnston, et al. Informational [Page 107] Internet Draft SIP Service Examples June 2002 Content-Type: application/dialog-info+xml Content-Length: ... confirmed F24 200 OK B1 -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.1 ;received=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.115 From: LittleGuy ;tag=w2Hu8sj To: LittleGuy 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 there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.115 From: LittleGuy ;tag=w2Hu8sj To: LittleGuy 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=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.115 From: LittleGuy ;tag=w2Hu8sj To: LittleGuy Call-ID: 8458999275@there.com CSeq: 1 NOTIFY Content-Length: 0 Johnston, et al. Informational [Page 108] Internet Draft SIP Service Examples June 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=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.115 From: LittleGuy ;tag=w2Hu8sj To: LittleGuy Call-ID: 8458999275@there.com CSeq: 1 NOTIFY Content-Length: 0 /* User B2 decided to join the call. Note that this INVITE with "join" semantics has not yet been defined in a WG document yet. Presumably it will use dialog indentifiers from the NOTIFY. */ F28 INVITE B2 -> Proxy INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk Max-Forwards: 70 From: LittleGuy ;tag=4524524312 To: LittleGuy Call-ID: 524251233@there.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client2.there.com s=Session SDP c=IN IP4 110.111.112.114 t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F29 INVITE Proxy -> B1 INVITE sip:UserB1@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.1 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.114 Max-Forwards: 69 From: LittleGuy ;tag=4524524312 To: LittleGuy Call-ID: 524251233@there.com CSeq: 1 INVITE Johnston, et al. Informational [Page 109] Internet Draft SIP Service Examples June 2002 Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client2.there.com s=Session SDP c=IN IP4 110.111.112.114 t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F30 INVITE Proxy -> B2 INVITE sip:UserB1@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.114 Max-Forwards: 69 From: LittleGuy ;tag=4524524312 To: LittleGuy Call-ID: 524251233@there.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client2.there.com s=Session SDP c=IN IP4 110.111.112.114 t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F31 INVITE Proxy -> B1 INVITE sip:UserB1@110.111.112.115 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.114 Max-Forwards: 69 From: LittleGuy ;tag=4524524312 To: LittleGuy Call-ID: 524251233@there.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... Johnston, et al. Informational [Page 110] Internet Draft SIP Service Examples June 2002 v=0 o=UserB 2890844527 2890844527 IN IP4 client2.there.com s=Session SDP c=IN IP4 110.111.112.114 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 there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.114 From: LittleGuy ;tag=4524524312 To: LittleGuy 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=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.114 From: LittleGuy ;tag=4524524312 To: LittleGuy ;tag=68324lk42jd Call-ID: 524251233@there.com CSeq: 1 INVITE Content-Length: 0 F34 ACK Proxy -> B1 ACK sip:UserB1@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 From: LittleGuy ;tag=4524524312 To: LittleGuy ;tag=68324lk42jd Call-ID: 524251233@there.com CSeq: 1 ACK Content-Length: 0 F35 482 Loop Detected B2 -> Proxy SIP/2.0 482 Loop Detected Johnston, et al. Informational [Page 111] Internet Draft SIP Service Examples June 2002 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 ;received=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.114 From: LittleGuy ;tag=4524524312 To: LittleGuy ;tag=134lkwe Call-ID: 524251233@there.com CSeq: 1 INVITE Content-Length: 0 F36 ACK Proxy -> B2 ACK sip:UserB2@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 From: LittleGuy ;tag=4524524312 To: LittleGuy ;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=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.114 From: LittleGuy ;tag=4524524312 To: LittleGuy ;tag=3891908734 Call-ID: 524251233@there.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client3.there.com s=Session SDP c=IN IP4 110.111.112.115 t=0 0 m=audio 3460 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F38 200 OK User B3 -> Proxy SIP/2.0 200 OK Johnston, et al. Informational [Page 112] Internet Draft SIP Service Examples June 2002 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk ;received=110.111.112.114 Max-Forwards: 69 From: LittleGuy ;tag=4524524312 To: LittleGuy ;tag=3891908734 Call-ID: 524251233@there.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client3.there.com s=Session SDP c=IN IP4 110.111.112.115 t=0 0 m=audio 3460 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F39 ACK B2 -> B3 ACK sip:UserB3@110.111.112.115 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk Max-Forwards: 69 From: LittleGuy ;tag=4524524312 To: LittleGuy ;tag=3891908734 Call-ID: 524251233@there.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 113] Internet Draft SIP Service Examples June 2002 2.12 Find-Me 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 114] Internet Draft SIP Service Examples June 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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t= 0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 INVITE Proxy -> B1 INVITE sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... Johnston, et al. Informational [Page 115] Internet Draft SIP Service Examples June 2002 v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F5 180 Ringing Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Length: 0 /* B1 rings for until a configurable timer in the Proxy expires. The Johnston, et al. Informational [Page 116] Internet Draft SIP Service Examples June 2002 Proxy then sends Cancel and proceeds down the list of routes. */ F6 CANCEL Proxy -> B1 CANCEL sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Max-Forwards: 70 From: BigGuy To: LittleGuy 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=1.2.3.4 From: BigGuy To: LittleGuy 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F9 ACK Proxy -> B1 ACK sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=765432 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 117] Internet Draft SIP Service Examples June 2002 F10 INVITE Proxy -> B2 INVITE sip:UserB2@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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=1.2.3.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314756 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F12 ACK Proxy -> B2 ACK sip:UserB2@110.111.112.114 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314756 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F13 INVITE Proxy -> B3 Johnston, et al. Informational [Page 118] Internet Draft SIP Service Examples June 2002 INVITE sip:UserB3@110.111.112.115 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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=1.2.3.4 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F15 ACK Proxy -> B3 ACK sip:UserB3@110.111.112.115 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F16 INVITE Proxy -> B4 INVITE sip:UserB4@110.111.112.116 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 Johnston, et al. Informational [Page 119] Internet Draft SIP Service Examples June 2002 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F18 180 Ringing B4 -> Proxy SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F19 200 OK B4 -> Proxy Johnston, et al. Informational [Page 120] Internet Draft SIP Service Examples June 2002 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client4.there.com s=Session SDP c=IN IP4 110.111.112.116 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Record-Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client4.there.com s=Session SDP c=IN IP4 110.111.112.116 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F21 ACK A -> Proxy ACK sip:UserB4@110.111.112.116 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Route: Max-Forwards: 70 From: BigGuy ;tag=1234567 Johnston, et al. Informational [Page 121] Internet Draft SIP Service Examples June 2002 To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F22 ACK Proxy -> B4 ACK sip:UserB4@110.111.112.116 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 Max-Forwards: 69 From: BigGuy ;tag=1234567 To: LittleGuy ;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@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Route: Max-Forwards: 70 From: LittleGuy ;tag=7137136 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 BYE Content-Length: 0 F24 BYE Proxy -> A BYE sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 Max-Forwards: 69 From: LittleGuy ;tag=7137136 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 BYE Content-Length: 0 F25 200 OK A -> Proxy Johnston, et al. Informational [Page 122] Internet Draft SIP Service Examples June 2002 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 ;received=1.2.3.4 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: LittleGuy ;tag=7137136 To: BigGuy ;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 there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: LittleGuy ;tag=7137136 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 BYE Content-Length: 0 Johnston, et al. Informational [Page 123] Internet Draft SIP Service Examples June 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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 Johnston, et al. Informational [Page 124] Internet Draft SIP Service Examples June 2002 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=342123 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F3 ACK A -> B ACK sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 Johnston, et al. Informational [Page 125] Internet Draft SIP Service Examples June 2002 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 3 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="wcom.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a", Johnston, et al. Informational [Page 126] Internet Draft SIP Service Examples June 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 100.101.102.103 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=ffe254 Call-ID: 12345600@here.com CSeq: 3 INVITE Error-Info: Content-Length: 0 F9 ACK A -> Proxy 1 ACK sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=ffe254 Call-ID: 12345600@here.com CSeq: 3 ACK Content-Length: 0 Johnston, et al. Informational [Page 127] Internet Draft SIP Service Examples June 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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 128] Internet Draft SIP Service Examples June 2002 SIP/2.0 407 Proxy Authorization Required Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: 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 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 129] Internet Draft SIP Service Examples June 2002 F5 403 Screening Failure (Originating) Proxy 1 -> A SIP/2.0 403 Screening Failure (Originating) Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=18017 Call-ID: 12345600@here.com CSeq: 2 INVITE Error-Info: Content-Length: 0 F6 ACK A -> Proxy 1 ACK sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=18017 Call-ID: 12345600@here.com CSeq: 2 ACK Content-Length: 0 Johnston, et al. Informational [Page 130] Internet Draft SIP Service Examples June 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 | | | |<-------------| | | INVITE F7 Replaces: B | | |<----------------------------| | | 200 OK F8 | | |---------------------------->| | | ACK F9 | | |<----------------------------| | | RTP Music | | |<===========================>| | | BYE F10 | | | |------------->| NOTIFY F12 | | | 200 OK F11 |<-------------| | |<-------------| 200 OK F13 | | | |------------->| | | | User C picks up the call | | | | | | INVITE Replaces: Park Server F14 | |<-------------------------------------------| | | | 200 F15 | |------------------------------------------->| | | | ACK F16 | |<-------------------------------------------| | RTP Media | |<==========================================>| | BYE F17 | | |---------------------------->| | | 200 OK F18 | | |<----------------------------| | | No more RTP Music | | 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 Johnston, et al. Informational [Page 131] Internet Draft SIP Service Examples June 2002 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 there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: 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 100.101.102.103 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 there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Content-Length: 0 Johnston, et al. Informational [Page 132] Internet Draft SIP Service Examples June 2002 F3 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 ACK A -> B ACK sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;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 there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=02134 To: Park Server Call-ID: 4802029847@there.com CSeq: 1 REFER Refer-To: Referred-By: Johnston, et al. Informational [Page 133] Internet Draft SIP Service Examples June 2002 Contact: Content-Length: 0 F6 202 Accepted Park Server -> B SIP/2.0 202 Accepted Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: LittleGuy ;tag=02134 To: Park Server ;tag=56323 Call-ID: 4802029847@there.com CSeq: 1 REFER Content-Length: 0 /* Park Server places call to User A to replace session between A and B */ F7 INVITE Park Server -> A INVITE sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP server.com:5060 Max-Forwards: 70 From: ;tag=0111 To: Call-ID: a5-75-34-12-76@server.com CSeq: 1 INVITE Referred-By: Contact: Replaces: 12345601@here.com;from-tag=314159;to-tag=1234567 Accept-Contact: ;only=true 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 50.60.70.80 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 200 OK A-> Park Server SIP/2.0 200 OK Via: SIP/2.0/UDP server.com:5060 From: ;tag=0111 To: BigGuy ;tag=098594 Call-ID: a5-75-34-12-76@server.com Johnston, et al. Informational [Page 134] Internet Draft SIP Service Examples June 2002 CSeq: 1 INVITE Contact: 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 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly F9 ACK Park Server -> A ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP server.com:5060 Max-Forwards: 70 From: ;tag=0111 To: BigGuy ;tag=098594 Call-ID: a5-75-34-12-76@server.com CSeq: 1 ACK Content-Length: 0 F10 BYE A -> B ACK sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 2 BYE Content-Length: 0 F11 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 ;received=120.121.122.123 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 135] Internet Draft SIP Service Examples June 2002 /* Park Server reports success back to B by returning all the SIP headers in 200 OK response */ F12 NOTIFY Park Server -> B NOTIFY sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 To: LittleGuy ;tag=02134 Max-Forwards: 70 From: Park Server ;tag=56323 Call-ID: 4802029847@there.com CSeq: 1 NOTIFY Event: refer Content-Type: application/sipfrag Content-Length: ... SIP/2.0 200 OK Via: SIP/2.0/UDP server.com:5060 From: ;tag=0111 To: BigGuy ;tag=098594 Call-ID: a5-75-34-12-76@server.com CSeq: 1 INVITE Contact: F13 200 OK B -> Park Server SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 To: LittleGuy ;tag=02134 From: Park Server ;tag=56323 Call-ID: 4802029847@there.com CSeq: 1 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. */ F14 INVITE C -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: OtherGuy ;tag=5893461 To: BigGuy Call-ID: 6485356@anywhere.com Johnston, et al. Informational [Page 136] Internet Draft SIP Service Examples June 2002 CSeq: 1 INVITE Contact: 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 120.121.122.123 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F15 200 OK A -> C SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=120.121.122.123 From: OtherGuy ;tag=5893461 To: BigGuy ;tag=222 Call-ID: 6485356@anywhere.com CSeq: 1 INVITE Contact: 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 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F16 ACK C -> A ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: OtherGuy ;tag=5893461 To: BigGuy ;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 */ Johnston, et al. Informational [Page 137] Internet Draft SIP Service Examples June 2002 F17 BYE A -> Park Server BYE sip:park@server.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=098594 To: ;tag=0111 Call-ID: a5-75-34-12-76@server.com CSeq: 1 BYE Content-Length: 0 F18 200 OK Park Server -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=098594 To: ;tag=0111 Call-ID: a5-75-34-12-76@server.com CSeq: 1 BYE Content-Length: 0 Johnston, et al. Informational [Page 138] Internet Draft SIP Service Examples June 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 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 139] Internet Draft SIP Service Examples June 2002 Message Details F1 INVITE A -> B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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 100.101.102.103 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=3145678 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: 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 ;tag=8675309 To: LittleGuy Call-ID: rt4353gs2egg@smallguy.there.com CSeq: 1 INVITE Johnston, et al. Informational [Page 140] Internet Draft SIP Service Examples June 2002 Contact: Event: dialog 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=110.111.112.114 Max-Forwards: 70 From: SmallGuy ;tag=8675309 To: LittleGuy ;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 ;tag=31451098 To: SmallGuy ;tag=8675309 Call-ID: rt4353gs2egg@smallguy.there.com CSeq: 1 NOTIFY Contact: Event: dialog Content-Type: application/dialog-info+xml Content-Length: ... early F6 200 OK D -> B SIP/2.0 200 OK Via: SIP/2.0/UDP littleguy.there.com:5060;branch=z9hG4bK74bf From: LittleGuy ;tag=31451098 To: SmallGuy ;tag=8675309 Call-ID: rt4353gs2egg@smallguy.there.com CSeq: 1 NOTIFY Contact: Content-Length: 0 Johnston, et al. Informational [Page 141] Internet Draft SIP Service Examples June 2002 F7 INVITE D -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP smallguy.there.com:5060;branch=z9hG4bK74bf Max-Forwards: 70 From: SmallGuy ;tag=8675309 To: BigGuy Call-ID: 563456212@b2.there.com CSeq: 1 INVITE Accept-Contact: ;only=true Replaces: 12345600@here.com;to-tag=314578;from-tag=1234567 Contact: 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 110.111.112.114 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=110.111.112.114 From: SmallGuy ;tag=8675309 To: BigGuy ;tag=131256 Call-ID: 563456212@b2.there.com CSeq: 1 INVITE Contact: 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 100.101.102.103 t=0 0 m=audio 49172 RTP/AVP 0 Johnston, et al. Informational [Page 142] Internet Draft SIP Service Examples June 2002 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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy 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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=3145678 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F12 ACK A -> B ACK sip:UserB1@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=3145678 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 143] Internet Draft SIP Service Examples June 2002 Content-Length: 0 F13 ACK D -> A ACK sip:UserA@100.101.102.103 SIP/2.0 Via: SIP/2.0/UDP b2.there.com:5060;branch=z9hG4bK74bf Max-Forwards: 70 From: LittleGuy ;tag=8675309 To: BigGuy ;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 ;tag=31451098 To: SmallGuy ;tag=8675309 Call-ID: rt4353gs2egg@smallguy.there.com CSeq: 2 NOTIFY Contact: Event: dialog Content-Type: application/dialog-info+xml Content-Length: ... terminated 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 ;tag=31451098 To: SmallGuy ;tag=8675309 Call-ID: rt4353gs2egg@smallguy.there.com CSeq: 2 NOTIFY Contact: Content-Length: 0 Johnston, et al. Informational [Page 144] Internet Draft SIP Service Examples June 2002 /* 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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 To: LittleGuy ;tag=8675309 From: BigGuy ;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 here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 To: LittleGuy ;tag=8675309 From: BigGuy ;tag=131256 Call-ID: 563456212@b2.there.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 145] Internet Draft SIP Service Examples June 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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 Johnston, et al. Informational [Page 146] Internet Draft SIP Service Examples June 2002 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 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 here.com:5060;branch=z9hG4bK74bf9 From: BigGuy ;tag=1234567 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=1234567 To: LittleGuy ;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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=837348234 To: LittleGuy Call-ID: 4524526232@here.com CSeq: 1 SUBSCRIBE Contact: UserA@100.101.102.103 Event: dialog Accept: application/dialog-info+xml Content-Length: 0 Johnston, et al. Informational [Page 147] Internet Draft SIP Service Examples June 2002 F5 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 From: BigGuy ;tag=837348234 To: LittleGuy Call-ID: 4524526232@here.com CSeq: 1 SUBSCRIBE Contact: UserB@110.111.112.113 Content-Length: 0 F6 NOTIFY B -> A NOTIFY sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: LittleGuy ;tag=341123 To: BigGuy ;tag=837348234 Call-ID: 4524526232@here.com CSeq: 1 NOTIFY Event: dialog Content-Type: application/dialog-info+xml Content-Length: ... confirmed F7 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 From: LittleGuy ;tag=341123 To: BigGuy ;tag=837348234 Call-ID: 4524526232@here.com CSeq: 1 NOTIFY Content-Length: 0 /* User B is now available */ F8 NOTIFY B -> A NOTIFY sip:UserA@here.com SIP/2.0 Johnston, et al. Informational [Page 148] Internet Draft SIP Service Examples June 2002 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: LittleGuy ;tag=341123 To: BigGuy ;tag=837348234 Call-ID: 4524526232@here.com CSeq: 2 NOTIFY Event: dialog Content-Type: application/dialog-info+xml Content-Length: ... terminated F9 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 From: LittleGuy ;tag=341123 To: BigGuy ;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 here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=f23fkg14k To: LittleGuy Call-ID: aoij4i9okitr@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 Johnston, et al. Informational [Page 149] Internet Draft SIP Service Examples June 2002 a=rtpmap:0 PCMU/8000 F11 180 Ringing B -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=f23fkg14k To: LittleGuy ;tag=23431 Call-ID: aoij4i9okitr@here.com CSeq: 1 INVITE Contact: Content-Length: 0 F12 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=100.101.102.103 From: BigGuy ;tag=f23fkg14k To: LittleGuy ;tag=23431 Call-ID: aoij4i9okitr@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F13 ACK A -> B ACK sip:UserB@110.111.112.113 SIP/2.0 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=f23fkg14k To: LittleGuy ;tag=23431 Call-ID: aoij4i9okitr@here.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 150] Internet Draft SIP Service Examples June 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 151] Internet Draft SIP Service Examples June 2002 4 IANA Considerations None. Johnston, et al. Informational [Page 152] Internet Draft SIP Service Examples June 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 153] Internet Draft SIP Service Examples June 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", Internet Engineering Task Force, February 2002, Work in Progress. [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, October 2001, 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] H. Schulzrinne and J. Rosenberg, "SIP Caller Preferences and Callee Capabilities," Internet Engineering Task Force, June 2001, 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," Internet Engineering Task Force, October 2001, Work in progress. [9] R. Sparks, "SIP Call Control û Transfer," Internet Engineering Task Force, July 2001, 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," Internet Engineering Task Force, February 2002, Work in progress. [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 154] Internet Draft SIP Service Examples June 2002 Johnston, et al. Informational [Page 155] Internet Draft SIP Service Examples June 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 156]