Internet Engineering Task Force Alan Johnston Internet Draft WorldCom Document: draft-ietf-sip-service-examples-00.txt Robert Sparks Category: Informational Chris Cunningham November 2000 Steve Donovan Expires: May 2001 dynamicsoft Kevin Summers TTI SIP Telephony 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 document gives examples of SIP (Session Initiation Protocol) telephony 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 third party call control (3pcc) extensions such as the REFER method. These features are not intented 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 Telephony Service Examples November 2000 Table of Contents 1 Overview...................................................3 1.1 Legend for Message Flows...................................3 1.2 Document History...........................................4 2 IP Telephony Services Features Call Flows..................5 2.1 Call Hold..................................................5 2.2 Music on Hold.............................................15 2.3 Consultation Hold.........................................24 2.4 Unattended Transfer.......................................38 2.5 Attended Transfer.........................................44 2.6 Call Forwarding Unconditional.............................53 2.7 Call Forwarding - Busy....................................58 2.8 Call Forwarding - No Answer...............................64 2.9 3-way Conference..........................................71 2.10 Single Line Extension.....................................71 2.11 Find-Me...................................................72 2.12 Call Management (Incoming Call Screening).................81 2.13 Call Management (Outgoing Call Screening).................84 3 Acknowledgements..........................................88 4 References................................................89 5 Author's Addresses........................................90 Johnston, et al. Informational [Page 2] Internet Draft SIP Telephony Service Examples November 2000 1 Overview This document provides call flows detailing a SIP implementation of the following traditional telephony services: Call Hold (with Music) Consultation Hold Unattended Transfer Attended Transfer Unconditional Call Forwarding Busy Call Forwarding No Answer Call Forwarding 3-way Call Single-Line Extension Find-Me Incoming Call Screening Outgoing Call Screening 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 assume the functionality described in "SIP Telephony Call Flow Examples" [2], which explores basic behavior and PSTN internetworking. Some of the scenarios described herein make use of "SIP Call Control Transfer" [3]. These flows were prepared assuming a network of proxies, registrars, PSTN gateways, and other SIP servers that have a pre-established trust relationship with each other, secured through other means than SIP. User agents wishing to use the services in this network are required to authenticate themselves with an edge proxy using SIP Digest. To improve the clarity of this document, authentication of User Agents is not explicitly shown in all flows. These flows use SIP as defined by RFC2543 [4]. 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. Johnston, et al. Informational [Page 3] Internet Draft SIP Telephony Service Examples November 2000 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. Johnston, et al. Informational [Page 4] Internet Draft SIP Telephony Service Examples November 2000 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 Call Control Extensions[3]. 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 (c=0) F10 |INVITE (c=0) 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 | Johnston, et al. Informational [Page 5] Internet Draft SIP Telephony Service Examples November 2000 | 200 OK F25 |<-------------| |<---------------| | | | | User A calls User B, User B places call on hold. User B then takes call off hold. User A hangs up call. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy 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@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy 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 Johnston, et al. Informational [Page 6] Internet Draft SIP Telephony Service Examples November 2000 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 From: BigGuy 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=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Content Length:0 F5 180 Ringing Proxy 1 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Content Length: 0 F6 200 OK B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... Johnston, et al. Informational [Page 7] Internet Draft SIP Telephony Service Examples November 2000 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 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy 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@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length:0 F9 ACK Proxy 1 -> B ACK sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Johnston, et al. Informational [Page 8] Internet Draft SIP Telephony Service Examples November 2000 Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length:0 /* User B places User A on hold. */ F10 INVITE B -> Proxy 1 INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 INVITE Proxy 1 -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 9] Internet Draft SIP Telephony Service Examples November 2000 F12 200 OK A -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 0.0.0.0 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 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F14 ACK B -> Proxy 1 ACK sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: Johnston, et al. Informational [Page 10] Internet Draft SIP Telephony Service Examples November 2000 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@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 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@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: LittleGuy 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 F17 INVITE Proxy 1 -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Johnston, et al. Informational [Page 11] Internet Draft SIP Telephony Service Examples November 2000 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: LittleGuy 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 F18 200 OK A -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: BigGuy 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 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... Johnston, et al. Informational [Page 12] Internet Draft SIP Telephony Service Examples November 2000 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@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 ACK Content-Length: 0 F21 ACK Proxy 1 -> A ACK sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 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@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: 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@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Johnston, et al. Informational [Page 13] Internet Draft SIP Telephony Service Examples November 2000 Via: SIP/2.0/UDP here.com:5060 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=83749.1 Via: SIP/2.0/UDP here.com:5060 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 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 14] Internet Draft SIP Telephony Service Examples November 2000 2.2 Music on Hold User A User B Music Server | | | | INVITE F1 | | |------------->| | | 100 Trying F2| | |<-------------| | |180 Ringing F3| | |<-------------| | | 200 OK F4 | | |<-------------| | | ACK F5 | | |------------->| | | RTP Media | | |<============>| | | | | |INVITE (c=0) F6 | |<-------------| | | 200 OK F7 | | |------------->| | | ACK F8 | | |<-------------| | | | | | No RTP Sent! | | | | | | REFER Refer-To: sip:music@server.com F9 |<-------------| | | 100 F10 | | |------------->| | | INVITE F11 Referred-By: B | |---------------------------->| | 200 OK a=sendonly F12 | |<----------------------------| | ACK F13 | |---------------------------->| | RTP Music | |<============================| | 200 OK F14 | | |------------->| | | | | | User A is taken off Hold | | | | | REFER Refer-To: music@server.com;method=BYE F15 |<-------------| | | 100 F16 | | |------------->| | | BYE F17 | |---------------------------->| | 200 OK F18 | Johnston, et al. Informational [Page 15] Internet Draft SIP Telephony Service Examples November 2000 |<----------------------------| | | | | No more RTP Music | | | | | 200 OK F19 | | |------------->| | | INVITE F20 | | |<-------------| | | 200 OK F21 | | |------------->| | | ACK F22 | | |<-------------| | | RTP | | |<============>| | | | | In this example, User A calls User B. User B then places User A on hold, then REFERs User A to a Music Server for the music on hold service. User A agrees to the music on hold and sends an INVITE to the Music Server to establish the one way media session. Before User B takes User A off hold, a REFER is sent to tell User A to send a BYE to the Music Server to stop the music. Then User B takes User A off hold. Message Details. F1 INVITE A -> B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy 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 (100 Trying) B -> A Johnston, et al. Informational [Page 16] Internet Draft SIP Telephony Service Examples November 2000 SIP/2.0 100 Trying Via: SIP/2.0/UDP there.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Content-Length: 0 F3 180 Ringing B -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP there.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Content-Length: 0 F4 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy 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 F5 ACK A -> B ACK sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 17] Internet Draft SIP Telephony Service Examples November 2000 /* B places A on hold */ F6 INVITE B -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 ACK B -> A ACK sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Johnston, et al. Informational [Page 18] Internet Draft SIP Telephony Service Examples November 2000 Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length: 0 /* User B REFERS User A to a Music On Hold Server */ F9 REFER B -> A REFER sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.com CSeq: 2 REFER Refer-To: Content-Length: 0 F10 (100 Trying) A -> B SIP/2.0 100 Trying Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.com CSeq: 2 REFER Content-Length: 0 /* User A connects to Music On Hold Server */ F11 INVITE A -> Music Server INVITE sip:music@server.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: BigGuy Referred-By: 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 19] Internet Draft SIP Telephony Service Examples November 2000 a=rtpmap:0 PCMU/8000 a=recvonly F12 200 OK Music Server -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: ;tag=se83kw1 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=MusicServer 2890844526 2890844526 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 F13 ACK A -> Music Server ACK sip:music@server.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: ;takg=se83kw1 Call-ID: 12345601@here.com CSeq: 2 ACK Content-Length: 0 /* User A now has Music and reports success back to B */ F14 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 REFER Content-Length: 0 /* User B prepares to take A off hold by first stopping music */ Johnston, et al. Informational [Page 20] Internet Draft SIP Telephony Service Examples November 2000 F15 REFER B -> A REFER sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 3 REFER Refer-To: Content-Length: 0 F16 (100 Trying) A -> B SIP/2.0 100 Trying Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 3 REFER Content-Length: 0 F17 BYE A -> Music Server BYE sip:music@server.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: ;tag=se83kw1 Call-ID: 12345601@here.com CSeq: 3 BYE Contact: BigGuy Referred-By: Content-Length: 0 F18 200 OK Music Server -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: ;tag=se83kw1 Call-ID: 12345601@here.com CSeq: 3 BYE Content-Length: 0 /* Music is stopped, User A reports to B success */ F19 200 OK A -> B Johnston, et al. Informational [Page 21] Internet Draft SIP Telephony Service Examples November 2000 SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 3 REFER Content-Length: 0 /* B now takes A off hold and continues session */ F20 INVITE B -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 4 INVITE Contact: LittleGuy 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 F21 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 4 INVITE Contact: BigGuy 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 Johnston, et al. Informational [Page 22] Internet Draft SIP Telephony Service Examples November 2000 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F22 ACK B -> A ACK sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 4 ACK Content-Length: 0 Johnston, et al. Informational [Page 23] Internet Draft SIP Telephony Service Examples November 2000 2.3 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 (c=0) F10 | |INVITE (c=0) 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 24] Internet Draft SIP Telephony Service Examples November 2000 | | |<=================>| | | 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, after that call is finished User B take the call with User A off hold. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com Johnston, et al. Informational [Page 25] Internet Draft SIP Telephony Service Examples November 2000 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@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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 From: BigGuy 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=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content Length:0 Johnston, et al. Informational [Page 26] Internet Draft SIP Telephony Service Examples November 2000 F5 180 Ringing Proxy 1 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content Length: 0 F6 200 OK B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy 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 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com Johnston, et al. Informational [Page 27] Internet Draft SIP Telephony Service Examples November 2000 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@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length:0 F9 ACK Proxy 1 -> B ACK sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy 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@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 Johnston, et al. Informational [Page 28] Internet Draft SIP Telephony Service Examples November 2000 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 INVITE Proxy 1 -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F12 200 OK A -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F13 200 OK Proxy 1 -> B Johnston, et al. Informational [Page 29] Internet Draft SIP Telephony Service Examples November 2000 SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F14 ACK B -> Proxy 1 ACK sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F15 ACK Proxy 1 -> A ACK sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 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 From: LittleGuy To: OtherGuy Johnston, et al. Informational [Page 30] Internet Draft SIP Telephony Service Examples November 2000 Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844526 2890844526 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@anywhere.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy To: OtherGuy Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844526 2890844526 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 From: LittleGuy To: OtherGuy Call-ID: 9876543210@there.com CSeq: 1 INVITE Content-Length: 0 F19 180 Ringing C -> Proxy 1 Johnston, et al. Informational [Page 31] Internet Draft SIP Telephony Service Examples November 2000 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@here.com CSeq: 1 INVITE Content Length:0 F20 180 Ringing Proxy 1 -> B SIP/2.0 180 Ringing Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 INVITE Content Length: 0 F21 200 OK C -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: LittleGuy 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 F22 200 OK Proxy 1 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy To: OtherGuy ;tag=456654 Johnston, et al. Informational [Page 32] Internet Draft SIP Telephony Service Examples November 2000 Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: OtherGuy 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 F23 ACK B -> Proxy 1 ACK sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 ACK Content-Length:0 F24 ACK Proxy 1 -> C ACK sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 ACK Content-Length:0 F25 BYE B -> Proxy 1 BYE sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 33] Internet Draft SIP Telephony Service Examples November 2000 F26 BYE Proxy 1 -> C BYE sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 2 BYE Content-Length: 0 F27 200 OK C -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy 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 From: LittleGuy 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@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 Johnston, et al. Informational [Page 34] Internet Draft SIP Telephony Service Examples November 2000 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 F30 INVITE Proxy 1 -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: LittleGuy 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 F31 200 OK A -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: BigGuy 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 35] Internet Draft SIP Telephony Service Examples November 2000 a=rtpmap:0 PCMU/8000 F32 200 OK Proxy 1 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: BigGuy 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@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: 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@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 ACK Content-Length: 0 F35 BYE A -> Proxy 1 Johnston, et al. Informational [Page 36] Internet Draft SIP Telephony Service Examples November 2000 BYE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: 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@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 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=83749.1 Via: SIP/2.0/UDP here.com:5060 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 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 37] Internet Draft SIP Telephony Service Examples November 2000 2.4 Unattended Transfer This example is taken directly from "SIP Call Control Transfer"[3] section 4.4.1. User A User B User C | INVITE F1 | | |<-------------------| | | 200 OK F2 | | |------------------->| | | ACK F3 | | |<-------------------| | | RTP | | |<==================>| | | | | | INVITE (hold) F4 | | |------------------->| | | 200 OK F5 | | |<-------------------| | | ACK F6 | | |------------------->| | | | | | No RTP Sent! | | | | | | REFER Refer-To: C F7 | |------------------->| | | 100 Trying F8 | | |<-------------------| | | | INVITE F9 | | |------------------->| | | 200 OK F10 | | |<-------------------| | | ACK F11 | | |------------------->| | | RTP | | |<==================>| | 200 OK F12 | | |<-------------------| | | BYE F13 | | |------------------->| | | 200 OK F14 | | |<-------------------| | | | | User B call User A. User B then transfers User A to User C. User B hangs up the call. Johnston, et al. Informational [Page 38] Internet Draft SIP Telephony Service Examples November 2000 Message Details F1 INVITE B -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: BigGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy 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 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: BigGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy 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@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 Johnston, et al. Informational [Page 39] Internet Draft SIP Telephony Service Examples November 2000 To: BigGuy Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length: 0 /* Session is established between A and B. User B then places User A on hold */ F4 INVITE A -> B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F5 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 40] Internet Draft SIP Telephony Service Examples November 2000 F6 ACK A -> B ACK sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length: 0 /* B is now on hold. A transfers B to C */ F7 REFER A -> B REFER sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 2 REFER Refer-To: Content-Length: 0 F8 (100 Trying) B -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP there.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 2 REFER Content-Length: 0 F9 INVITE B -> C INVITE sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844539 2890844539 IN IP4 client.there.com s=Session SDP Johnston, et al. Informational [Page 41] Internet Draft SIP Telephony Service Examples November 2000 c=IN IP4 110.111.112.113 t=3034423821 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F10 200 OK C -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=928287 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: OtherGuy 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 F11 ACK B -> C ACK sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=928287 Call-ID: 12345601@here.com CSeq: 2 ACK Content-Length: 0 /* B and C now have established a session. B reports success to A */ F12 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 2 REFER Content-Length: 0 Johnston, et al. Informational [Page 42] Internet Draft SIP Telephony Service Examples November 2000 /* A now disconnects with B */ F13 BYE A -> B BYE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 3 BYE Content-Length: 0 F14 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 3 BYE Content-Length: 0 Johnston, et al. Informational [Page 43] Internet Draft SIP Telephony Service Examples November 2000 2.5 Attended Transfer User A User B User C | | | | INVITE F1 | | |--------------->| | |(100 Trying) F2 | | |<---------------| | | 180 Ringing F3 | | |<---------------| | | 200 OK F4 | | |<---------------| | | ACK F5 | | |--------------->| | | RTP | | |<==============>| | | INVITE c=0 F6 | | |<---------------| | | 200 OK F7 | | |--------------->| | | ACK F8 | | |<---------------| | | No RTP Sent! | | | | INVITE F9 | | |------------->| | |(100 Trying) F10 | |<-------------| | | 180 Ringing F11 | |<-------------| | | 200 OK F12 | | |<-------------| | | ACK F13 | | |------------->| | | RTP | | |<============>| | REFER to C F14 | | |<---------------| | |(100 Trying) F15| | |--------------->| | | INVITE F16 | |------------------------------>| | 200 OK F17 | |<------------------------------| | ACK F18 | |------------------------------>| | RTP | |<=============================>| | 200 OK F19 | | |--------------->| | Johnston, et al. Informational [Page 44] Internet Draft SIP Telephony Service Examples November 2000 | BYE F20 | | |<---------------| | | 200 OK F21 | | |--------------->| BYE F22 | | |------------->| | | 200 OK F23 | | |<-------------| User A calls User B. User B puts User A on hold, and Calls user C to announce transfer. User B transfers User A to User C while maintaining sessions with both A and C. Once the session between A and C is successfully established, User B hangs up on both A and C. Message Details F1 INVITE A -> B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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 (100 Trying B -> A) SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F3 180 Ringing B -> A SIP/2.0 180 Ringing Johnston, et al. Informational [Page 45] Internet Draft SIP Telephony Service Examples November 2000 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F4 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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 F5 ACK A -> B ACK sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy 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 */ F6 INVITE B -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=23431 To: BigGuy Call-ID: 12345600@here.com CSeq: 1024 INVITE Johnston, et al. Informational [Page 46] Internet Draft SIP Telephony Service Examples November 2000 Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=23431 To: BigGuy Call-ID: 12345600@here.com CSeq: 1024 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 ACK B -> A ACK sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=23431 To: BigGuy Call-ID: 12345600@here.com CSeq: 1024 ACK Content-Length: 0 /* User B calls User C */ F9 INVITE B -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Johnston, et al. Informational [Page 47] Internet Draft SIP Telephony Service Examples November 2000 From: LittleGuy To: OtherGuy Call-ID: 12345600@here.com CSeq: 1025 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844528 2890844528 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 F10 (100 Trying C -> B) SIP/2.0 100 Trying Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy Call-ID: 12345600@here.com CSeq: 1025 INVITE Content-Length: 0 F11 180 Ringing C -> B SIP/2.0 180 Ringing Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=5f35a3 Call-ID: 12345600@here.com CSeq: 1025 INVITE Content-Length: 0 F12 200 OK C -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=5f35a3 Call-ID: 12345600@here.com CSeq: 1025 INVITE Contact: OtherGuy Content-Type: application/sdp Content-Length: ... Johnston, et al. Informational [Page 48] Internet Draft SIP Telephony Service Examples November 2000 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 F13 ACK B -> C ACK sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=5f35a3 Call-ID: 12345600@here.com CSeq: 1025 ACK Content-Length: 0 /* User B Transfers User A to User C */ F14 REFER B -> A REFER sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: BigGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1026 REFER Refer-To: Content-Length: 0 F15 (100 Trying) A -> B SIP/2.0 100 Trying Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: BigGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1026 REFER Content-Length: 0 /* User A calls User C */ F16 INVITE A -> C INVITE sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Johnston, et al. Informational [Page 49] Internet Draft SIP Telephony Service Examples November 2000 From: BigGuy To: OtherGuy Call-ID: 12345600@here.com CSeq: 2 INVITE Referred-By: Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844538 2890844538 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 F17 200 OK C -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: OtherGuy ;tag=ff3a Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: OtherGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserC 2890844529 2890844529 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 ACK A -> C ACK sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: OtherGuy ;tag=ff3a Call-ID: 12345601@here.com CSeq: 2 INVITE Content-Length: 0 Johnston, et al. Informational [Page 50] Internet Draft SIP Telephony Service Examples November 2000 /* User A tells User B that the call has been successfully transferred */ F19 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: BigGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1026 REFER Content-Length: 0 /* User B then disconnects from both User A and User C */ F20 BYE B -> A BYE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: BigGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1027 BYE Content-Length: 0 F21 200 OK A -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: BigGuy ;tag=23431 Call-ID: 12345600@here.com CSeq: 1027 BYE Content-Length: 0 F22 BYE B -> C BYE sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: LittleGuy To: OtherGuy ;tag=5f35a3 Call-ID: 12345600@here.com CSeq: 1028 BYE Content-Length: 0 F23 200 OK C -> B Johnston, et al. Informational [Page 51] Internet Draft SIP Telephony Service Examples November 2000 SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: LittleGuy To: OtherGuy ;tag=5f35a3 Call-ID: 12345601@here.com CSeq: 1028 BYE Content-Length: 0 Johnston, et al. Informational [Page 52] Internet Draft SIP Telephony Service Examples November 2000 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 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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 Johnston, et al. Informational [Page 53] Internet Draft SIP Telephony Service Examples November 2000 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 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=83749.1 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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 From: BigGuy 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=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content Length:0 F5 180 Ringing Proxy -> A Johnston, et al. Informational [Page 54] Internet Draft SIP Telephony Service Examples November 2000 SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content Length: 0 F6 200 OK Gateway -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy 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 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy 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 Johnston, et al. Informational [Page 55] Internet Draft SIP Telephony Service Examples November 2000 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 Route: From: BigGuy 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=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy 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 Route: From: BigGuy 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=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 56] Internet Draft SIP Telephony Service Examples November 2000 F12 200 OK Gateway -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy 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 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 57] Internet Draft SIP Telephony Service Examples November 2000 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 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Johnston, et al. Informational [Page 58] Internet Draft SIP Telephony Service Examples November 2000 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@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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 From: BigGuy 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 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 Johnston, et al. Informational [Page 59] Internet Draft SIP Telephony Service Examples November 2000 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F5 ACK Proxy -> B1 ACK sip:UserB1@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 From: BigGuy To: LittleGuy ;tag=123456 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@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com Johnston, et al. Informational [Page 60] Internet Draft SIP Telephony Service Examples November 2000 CSeq: 1 INVITE Content-Length: 0 F8 180 Ringing Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F9 200 OK B2 -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy 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 F10 200 OK Proxy -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... Johnston, et al. Informational [Page 61] Internet Draft SIP Telephony Service Examples November 2000 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@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F12 ACK Proxy -> B2 ACK sip:UserB2@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between A and B2 */ /* User A eventually hangs up with User B2. */ F13 BYE A -> Proxy BYE sip:UserB2@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F14 BYE Proxy -> B2 Johnston, et al. Informational [Page 62] Internet Draft SIP Telephony Service Examples November 2000 BYE sip:UserB2@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy 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=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy 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 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 63] Internet Draft SIP Telephony Service Examples November 2000 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 64] Internet Draft SIP Telephony Service Examples November 2000 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 Johnston, et al. Informational [Page 65] Internet Draft SIP Telephony Service Examples November 2000 F4 180 Ringing B1 -> Proxy SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=3145678 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F5 180 Ringing Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=3145678 Call-ID: 12345600@here.com CSeq: 1 INVITE 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@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 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=83749.1 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F8 487 Request Cancelled B1 -> Proxy Johnston, et al. Informational [Page 66] Internet Draft SIP Telephony Service Examples November 2000 SIP/2.0 487 Request Cancelled Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=3145678 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F9 ACK Proxy -> B1 ACK sip:UserB1@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 From: BigGuy To: LittleGuy ;tag=3145678 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F10 INVITE Proxy -> B2 INVITE sip:UserB4@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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 180 Ringing B2 -> Proxy SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Johnston, et al. Informational [Page 67] Internet Draft SIP Telephony Service Examples November 2000 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F12 180 Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F13 200 OK B2 -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy 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 F14 200 OK Proxy -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... Johnston, et al. Informational [Page 68] Internet Draft SIP Telephony Service Examples November 2000 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@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F16 ACK Proxy -> B2 ACK sip:UserB2@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 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@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F18 BYE Proxy -> B2 Johnston, et al. Informational [Page 69] Internet Draft SIP Telephony Service Examples November 2000 BYE sip:UserB2@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 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=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F20 200 OK Proxy -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 70] Internet Draft SIP Telephony Service Examples November 2000 2.9 3-way Conference User A calls User B, User B then invites user C to a 3-way call. User B will mix the audio streams (act as the conference bridge). If user B drops out of the call then the entire call is dropped. This is not a fully meshed conference, and does not make use of the concepts in the call control draft. The signaling for this scenario is as follows: User A calls User B, this establishes the call between A and B. User B calls User C, this establishes the call between B and C. User B will mix the audio streams, sending media originating at A to C, and media originating at C to A. There is no SIP signaling relationship between User A and User C. 2.10 Single Line Extension Single Line Extension (Sequential, First Wins implementation), a call will ring several extensions in sequence. The extension to answer the call becomes the active set, no other sets may join the call. The signaling is described in Section 2.11 of this document. It is anticipated that Single Line Extension will be associated with help desk/call center applications rather then individual users. The signaling for this implementation of Single Line Extension and Find- Me is the same, the difference may be in the provisioning of the service. Note that the call flows for a Home Extension have not yet been designed. Johnston, et al. Informational [Page 71] Internet Draft SIP Telephony Service Examples November 2000 2.11 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 |<----------------------------------| |<---------------| | Johnston, et al. Informational [Page 72] Internet Draft SIP Telephony Service Examples November 2000 | 200 OK F25 | | |--------------->| 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. It is anticipated that the Find-me feature will be associated with individual users. The signaling for the implementation of Single Line Extension and Find-Me is the same, the difference may be in the provisioning of the service. Message Details F1 INVITE A -> Proxy INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... Johnston, et al. Informational [Page 73] Internet Draft SIP Telephony Service Examples November 2000 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 From: BigGuy 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=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F5 180 Ringing Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 /* B1 rings for until a configurable timer in the Proxy expires. The Proxy then sends Cancel and proceeds down the list of routes. */ F6 CANCEL Proxy -> B1 CANCEL sip:UserB1@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Johnston, et al. Informational [Page 74] Internet Draft SIP Telephony Service Examples November 2000 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=83749.1 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F8 487 Request Cancelled B1 -> Proxy SIP/2.0 487 Request Cancelled Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F9 ACK Proxy -> B1 ACK sip:UserB1@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F10 INVITE Proxy -> B2 INVITE sip:UserB2@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 75] Internet Draft SIP Telephony Service Examples November 2000 Contact: BigGuy 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=83749.2 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314756 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F12 ACK Proxy -> B2 ACK sip:UserB2@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 From: BigGuy To: LittleGuy ;tag=314756 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F13 INVITE Proxy -> B3 INVITE sip:UserB3@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.3 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 Johnston, et al. Informational [Page 76] Internet Draft SIP Telephony Service Examples November 2000 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=83749.3 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F15 ACK Proxy -> B3 ACK sip:UserB3@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.3 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F16 INVITE Proxy -> B4 INVITE sip:UserB4@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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 77] Internet Draft SIP Telephony Service Examples November 2000 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 From: BigGuy To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F18 180 Ringing B4 -> Proxy SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F19 200 OK B4 -> Proxy 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 Record-Route: From: BigGuy To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy 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 Johnston, et al. Informational [Page 78] Internet Draft SIP Telephony Service Examples November 2000 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy 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@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F22 ACK Proxy -> B4 ACK sip:UserB4@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy 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@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Johnston, et al. Informational [Page 79] Internet Draft SIP Telephony Service Examples November 2000 Route: From: LittleGuy ;tag=7137136 To: BigGuy Call-ID: 12345600@here.com CSeq: 1 BYE Content-Length: 0 F24 BYE Proxy -> A BYE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=7137136 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 BYE Content-Length: 0 F25 200 OK A -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 Via: SIP/2.0/UDP there.com:5060 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 From: LittleGuy ;tag=7137136 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 80] Internet Draft SIP Telephony Service Examples November 2000 2.12 Call Management (Incoming Call Screening) User A Proxy User B | | | | INVITE F1 | | |--------------->| | | 407 Proxy Authorization F2 | |<---------------| | | ACK F3 | | |--------------->| | | INVITE F4 | | |--------------->| | | 403 Screening Failure (Terminating) F5 |<---------------| | | ACK F6 | | |--------------->| | | | | 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. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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 81] Internet Draft SIP Telephony Service Examples November 2000 SIP/2.0 407 Proxy Authorization Required Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Proxy-Authenticate: Digest realm="MCI WorldCom SIP", domain="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 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length:0 /* User A responds by 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 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: BigGuy Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom SIP", nonce="ae9137be1c87d175c2dd63302a0d6e0a", opaque="", uri="sip:ss1.wcom.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 F5 403 Screening Failure (Terminating) Proxy 1 -> A Johnston, et al. Informational [Page 82] Internet Draft SIP Telephony Service Examples November 2000 SIP/2.0 403 Screening Failure (Terminating) Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=ffe254 Call-ID: 12345600@here.com CSeq: 2 INVITE Content-Length:0 F6 ACK A -> Proxy 1 ACK sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=ffe254 Call-ID: 12345600@here.com CSeq: 2 ACK Content-Length:0 Johnston, et al. Informational [Page 83] Internet Draft SIP Telephony Service Examples November 2000 2.13 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 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy 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 84] Internet Draft SIP Telephony Service Examples November 2000 SIP/2.0 407 Proxy Authorization Required Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=90210 Call-ID: 12345600@here.com CSeq: 1 INVITE Proxy-Authenticate: Digest realm="MCI WorldCom SIP", domain="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 From: BigGuy 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 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: BigGuy Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom SIP", nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", uri="sip:UserB@there.com;maddr=ss1.wcom.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 85] Internet Draft SIP Telephony Service Examples November 2000 F5 403 Screening Failure (Originating) Proxy 1 -> A SIP/2.0 403 Screening Failure (Originating) Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=18017 Call-ID: 12345600@here.com CSeq: 2 INVITE Content-Length:0 F6 ACK A -> Proxy 1 ACK sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=18017 Call-ID: 12345600@here.com CSeq: 2 ACK Content-Length:0 Johnston, et al. Informational [Page 86] Internet Draft SIP Telephony Service Examples November 2000 Johnston, et al. Informational [Page 87] Internet Draft SIP Telephony Service Examples November 2000 3 Acknowledgements The authors wish to thank the following individuals for their assistance and review of this call flows document: Rohan Mahey, 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 88] Internet Draft SIP Telephony Service Examples November 2000 4 References [1] S. Bradner, "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. [2] A. Johnston, S. Donovan, R. Sparks, C. Cunningham, D. Willis, J. Rosenberg, and H. Schulzrinne, "SIP Telephony Call Flow Examples", Internet Draft, Internet Engineering Task Force, November 2000, Work in Progress. [3] R. Sparks, "SIP Call Control Transfer", Internet Draft, Internet Engineering Task Force, September 2000, Work in Progress. [4] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP: Session Initiation Protocol", RFC 2543, March 1999. Johnston, et al. Informational [Page 89] Internet Draft SIP Telephony Service Examples November 2000 5 Author's Addresses Alan Johnston Email: alan.johnston@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@ttimail.com Copyright Notice "Copyright (C) The Internet Society 2000. 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 90]