idnits 2.17.1 draft-ietf-sipping-service-examples-08.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1.a on line 22. -- Found old boilerplate from RFC 3978, Section 5.5 on line 7464. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 7441. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 7448. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 7454. ** The document seems to lack an RFC 3978 Section 5.1 IPR Disclosure Acknowledgement. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. ** The document uses RFC 3667 boilerplate or RFC 3978-like boilerplate instead of verbatim RFC 3978 boilerplate. After 6 May 2005, submission of drafts without verbatim RFC 3978 boilerplate is not accepted. The following non-3978 patterns matched text found in the document. That text should be removed or replaced: This document is an Internet-Draft and is subject to all provisions of Section 3 of RFC 3667. By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 341 instances of too long lines in the document, the longest one being 122 characters in excess of 72. ** There is 1 instance of lines with control characters in the document. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 972 has weird spacing: '... /* Bob place...' == Line 1321 has weird spacing: '... /* Bob takes...' == Line 1630 has weird spacing: '... /* Bob place...' == Line 1897 has weird spacing: '...success back ...' == Line 2328 has weird spacing: '...and Bob have ...' == (8 more instances...) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (February 13, 2005) is 7012 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: '1' is defined on line 7317, but no explicit reference was found in the text == Unused Reference: '13' is defined on line 7362, but no explicit reference was found in the text == Unused Reference: '14' is defined on line 7365, but no explicit reference was found in the text == Unused Reference: '18' is defined on line 7383, but no explicit reference was found in the text ** Obsolete normative reference: RFC 3265 (ref. '6') (Obsoleted by RFC 6665) == Outdated reference: A later version (-12) exists of draft-ietf-sipping-cc-transfer-03 == Outdated reference: A later version (-06) exists of draft-ietf-sipping-dialog-package-05 == Outdated reference: A later version (-07) exists of draft-ietf-sipping-cc-conferencing-06 == Outdated reference: A later version (-12) exists of draft-ietf-sipping-cc-framework-03 ** Downref: Normative reference to an Informational draft: draft-ietf-sipping-cc-framework (ref. '12') ** Downref: Normative reference to an Informational RFC: RFC 3087 (ref. '13') == Outdated reference: A later version (-12) exists of draft-ietf-sipping-conference-package-08 == Outdated reference: A later version (-15) exists of draft-ietf-sip-gruu-02 Summary: 10 errors (**), 0 flaws (~~), 18 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SIPPING Working Group A. Johnston 3 Internet-Draft MCI 4 Expires: August 17, 2005 R. Sparks 5 C. Cunningham 6 S. Donovan 7 dynamicsoft 8 K. Summers 9 Sonus 10 February 13, 2005 12 Session Initiation Protocol Service Examples 13 draft-ietf-sipping-service-examples-08 15 Status of this Memo 17 This document is an Internet-Draft and is subject to all provisions 18 of Section 3 of RFC 3667. By submitting this Internet-Draft, each 19 author represents that any applicable patent or other IPR claims of 20 which he or she is aware have been or will be disclosed, and any of 21 which he or she become aware will be disclosed, in accordance with 22 RFC 3668. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF), its areas, and its working groups. Note that 26 other groups may also distribute working documents as 27 Internet-Drafts. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 The list of current Internet-Drafts can be accessed at 35 http://www.ietf.org/ietf/1id-abstracts.txt. 37 The list of Internet-Draft Shadow Directories can be accessed at 38 http://www.ietf.org/shadow.html. 40 This Internet-Draft will expire on August 17, 2005. 42 Copyright Notice 44 Copyright (C) The Internet Society (2005). 46 Abstract 48 This document gives examples of Session Initiation Protocol (SIP) 49 services. This covers most features offered in so-called IP Centrex 50 offerings from local exchange carriers and PBX (Private Branch 51 Exchange) features. Most of the services shown in this document are 52 implemented in the SIP User Agents, although some require the 53 assistance of a SIP Proxy. Some require some extensions to SIP 54 including the REFER, SUBSCRIBE, and NOTIFY methods and the Replaces 55 and Join headers. These features are not intended to be an 56 exhaustive set, but rather show implementations of common features 57 likely to be implemented on SIP IP telephones in a business 58 environment. 60 Table of Contents 62 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 63 2. Service Examples . . . . . . . . . . . . . . . . . . . . . . 4 64 2.1 Call Hold . . . . . . . . . . . . . . . . . . . . . . . . 4 65 2.2 Consultation Hold . . . . . . . . . . . . . . . . . . . . 16 66 2.3 Music On Hold . . . . . . . . . . . . . . . . . . . . . . 33 67 2.4 Transfer - Unattended . . . . . . . . . . . . . . . . . . 41 68 2.5 Transfer - Attended . . . . . . . . . . . . . . . . . . . 48 69 2.6 Transfer - Instant Messaging . . . . . . . . . . . . . . . 61 70 2.7 Call Forwarding Unconditional . . . . . . . . . . . . . . 66 71 2.8 Call Forwarding - Busy . . . . . . . . . . . . . . . . . . 72 72 2.9 Call Forwarding - No Answer . . . . . . . . . . . . . . . 78 73 2.10 3-way Conference - Third Party is Added . . . . . . . . 87 74 2.11 3-way Conference - Third Party Joins . . . . . . . . . . 93 75 2.12 Single Line Extension . . . . . . . . . . . . . . . . . 98 76 2.13 Find-Me . . . . . . . . . . . . . . . . . . . . . . . . 116 77 2.14 Call Management (Incoming Call Screening) . . . . . . . 126 78 2.15 Call Management (Outgoing Call Screening) . . . . . . . 134 79 2.16 Call Park . . . . . . . . . . . . . . . . . . . . . . . 137 80 2.17 Call Pickup . . . . . . . . . . . . . . . . . . . . . . 146 81 2.18 Automatic Redial . . . . . . . . . . . . . . . . . . . . 154 82 2.19 Click to Dial . . . . . . . . . . . . . . . . . . . . . 159 83 3. Security Considerations . . . . . . . . . . . . . . . . . . 163 84 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . 163 85 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 163 86 6. Document History . . . . . . . . . . . . . . . . . . . . . . 164 87 6.1 Changes since -07 . . . . . . . . . . . . . . . . . . . . 164 88 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 164 89 7.1 Normative References . . . . . . . . . . . . . . . . . . . 164 90 7.2 Informative References . . . . . . . . . . . . . . . . . . 165 91 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 166 92 Intellectual Property and Copyright Statements . . . . . . . 167 94 1. Overview 96 This document provides example call flows detailing a SIP 97 implementation of the following traditional telephony services: 99 Call Hold Music on Hold 100 Unattended Transfer Consultation Hold 101 Unconditional Call Forwarding Attended Transfer 102 No Answer Call Forwarding Busy Call Forwarding 103 Single-Line Extension 3-way Call 104 Incoming Call Screening Find-Me 105 Call Pickup Call Park 106 Outgoing Call Screening Automatic Redial 107 Click to Dial 109 The call flows shown in this document were developed in the design of 110 a SIP IP communications network. They represent an example set of 111 so-called IP Centrex services or PBX services. 113 It is the hope of the authors that this document will be useful for 114 SIP implementers, designers, and protocol researchers alike and will 115 help further the goal of a standard implementation of RFC 3261 [2] 117 These flows represent carefully checked and working group reviewed 118 scenarios of SIP service examples as a companion to the 119 specifications. 121 These call flows are based on the current version 2.0 of SIP in RFC 122 3261 [2] with SDP usage described in RFC 3264 [5] Other RFCs also 123 comprise the SIP standard and are used and references in these call 124 flows. 126 The SIP specification and the other referenced documents are 127 definitive as far as protocol issues are concerned. Also, these 128 flows do not represent the only way to implement these services - 129 other approaches such as 3pcc (Third Party Call Control) [17] or 130 Back-to-Back User Agents (B2BUA) may be more appropriate in some 131 circumstances. The peer-to-peer design and principles of these 132 service examples are described in the Multiparty Framework document 133 [12]. 135 These flows assume the functionality described in the SIP Call Flow 136 Examples document [16], which explores basic SIP behavior. Some of 137 the scenarios described herein make use of the SIP method extension 138 REFER [3] and the SIP header extension Replaces [4], the SIP header 139 extension Join [9], and some of the concepts in the 3pcc (third party 140 call control) [17] document. The SIP Events document [6] describes 141 the use of SUBSCRIBE and NOTIFY while the SIP Dialog Event Package 143 [8] document describes the dialog event package. Some examples make 144 use the GRUU (Globally Routable User Agent URI) [20] extension. 146 These flows were prepared assuming a network of proxies, registrars, 147 PSTN gateways, and other SIP servers. The use of Secure SIP URIs 148 (sips) is shown throughout this document with assumed certificate 149 validation for security. However, other security approaches such as 150 Digest challenges can be used. 152 Each call flow is presented with a textual description of the 153 scenario, a message flow diagram showing the messages exchanged 154 between separate network elements, and the detailed contents of each 155 message shown in the diagram. 157 1.1 Legend for Message Flows 159 Dashed lines (---) represent control messages that are mandatory to 160 the call scenario. These control messages can be SIP signaling. 162 Double dashed lines (===) represent media paths between network 163 elements. 165 Messages with parenthesis around name represent optional control 166 messages. 168 Messages are identified in the Figures as F1, F2, etc. This 169 references the message details in the table that follows the Figure. 170 Comments in the message details are shown in the following form: 172 /* Comments. */ 174 2. Service Examples 176 2.1 Call Hold 178 Alice Proxy Bob 179 | | | 180 | INVITE F1 | | 181 |--------------->| | 182 | | INVITE F2 | 183 |(100 Trying) F3 |------------->| 184 |<---------------| | 185 | |180 Ringing F4| 186 | 180 Ringing F5 |<-------------| 187 |<---------------| | 188 | | 200 OK F6 | 189 | 200 OK F7 |<-------------| 190 |<---------------| | 191 | ACK F8 | | 192 |--------------->| ACK F9 | 193 | |------------->| 194 | Both way RTP Established | 195 |<=============================>| 196 | |INVITE(hold) F10 197 |INVITE(hold) F11|<-------------| 198 |<---------------| | 199 | 200 OK F12 | | 200 |--------------->| 200 OK F13 | 201 | |------------->| 202 | | ACK F14 | 203 | ACK F15 |<-------------| 204 |<---------------| | 205 | No RTP Sent! | 206 | | INVITE F16 | 207 | INVITE F17 |<-------------| 208 |<---------------| | 209 | 200 OK F18 | | 210 |--------------->| 200 OK F19 | 211 | |------------->| 212 | | ACK F20 | 213 | ACK F21 |<-------------| 214 |<---------------| | 215 | Both way RTP Established | 216 |<=============================>| 217 | BYE F22 | | 218 |--------------->| BYE F23 | 219 | |------------->| 220 | | 200 OK F24 | 221 | 200 OK F25 |<-------------| 222 |<---------------| | 223 | | | 225 In this scenario, Alice calls Bob, then Bob places the call on hold. 226 Bob then takes call off hold. Alice hangs up call. Note that hold 227 is unidirectional in nature. However, a UA that places the other 228 party on hold will generally also stop sending media, resulting in no 229 media exchange between the UAs. Older UAs may set the connection 230 address to 0.0.0.0 when initiating hold. However, this behavior has 231 been deprecated in favor of using the a=sendonly SDP attribute. 233 Message Details 235 F1 INVITE Alice -> Proxy 1 237 INVITE sips:bob@biloxi.example.com SIP/2.0 238 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 239 Max-Forwards: 70 240 From: Alice ;tag=1234567 241 To: Bob 242 Call-ID: 12345601@atlanta.example.com 243 CSeq: 1 INVITE 244 Contact: 245 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 246 Supported: replaces 247 Content-Type: application/sdp 248 Content-Length: ... 250 v=0 251 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 252 s=Session SDP 253 c=IN IP4 client.atlanta.example.com 254 t=3034423619 0 255 m=audio 49170 RTP/AVP 0 256 a=rtpmap:0 PCMU/8000 258 F2 INVITE Proxy 1 -> Bob 260 INVITE sips:bob@client.biloxi.example.com SIP/2.0 261 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 262 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 263 ;received=192.0.2.103 264 Record-Route: 265 Max-Forwards: 69 266 From: Alice ;tag=1234567 267 To: Bob 268 Call-ID: 12345601@atlanta.example.com 269 CSeq: 1 INVITE 270 Contact: 271 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 272 Supported: replaces 273 Content-Type: application/sdp 274 Content-Length: ... 276 v=0 277 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 278 s=Session SDP 279 c=IN IP4 client.atlanta.example.com 280 t=3034423619 0 281 m=audio 49170 RTP/AVP 0 282 a=rtpmap:0 PCMU/8000 283 F3 (100 Trying) Proxy 1 -> Alice 285 SIP/2.0 100 Trying 286 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 287 ;received=192.0.2.103 288 From: Alice ;tag=1234567 289 To: Bob 290 Call-ID: 12345601@atlanta.example.com 291 CSeq: 1 INVITE 292 Content-Length: 0 294 F4 180 Ringing Bob -> Proxy 1 296 SIP/2.0 180 Ringing 297 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 298 ;received=192.0.2.54 299 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 300 ;received=192.0.2.103 301 Record-Route: 302 From: Alice ;tag=1234567 303 To: Bob ;tag=314159 304 Call-ID: 12345601@atlanta.example.com 305 CSeq: 1 INVITE 306 Contact: 307 Content Length:0 309 F5 180 Ringing Proxy 1 -> Alice 311 SIP/2.0 180 Ringing 312 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 313 ;received=192.0.2.103 314 Record-Route: 315 From: Alice ;tag=1234567 316 To: Bob ;tag=314159 317 Call-ID: 12345601@atlanta.example.com 318 CSeq: 1 INVITE 319 Contact: 320 Content Length: 0 322 F6 200 OK Bob -> Proxy 1 324 SIP/2.0 200 OK 325 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 326 ;received=192.0.2.54 327 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 328 ;received=192.0.2.103 329 Record-Route: 330 From: Alice ;tag=1234567 331 To: Bob ;tag=314159 332 Call-ID: 12345601@atlanta.example.com 333 CSeq: 1 INVITE 334 Contact: 335 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 336 Supported: replaces 337 Content-Type: application/sdp 338 Content-Length: ... 340 v=0 341 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 342 s=Session SDP 343 c=IN IP4 client.biloxi.example.com 344 t=3034423619 0 345 m=audio 3456 RTP/AVP 0 346 a=rtpmap:0 PCMU/8000 348 F7 200 OK Proxy 1 -> Alice 350 SIP/2.0 200 OK 351 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 352 ;received=192.0.2.103 353 Record-Route: 354 From: Alice ;tag=1234567 355 To: Bob ;tag=314159 356 Call-ID: 12345601@atlanta.example.com 357 CSeq: 1 INVITE 358 Contact: 359 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 360 Supported: replaces 361 Content-Type: application/sdp 362 Content-Length: ... 364 v=0 365 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 366 s=Session SDP 367 c=IN IP4 client.biloxi.example.com 368 t=3034423619 0 369 m=audio 3456 RTP/AVP 0 370 a=rtpmap:0 PCMU/8000 372 F8 ACK Alice -> Proxy 1 373 ACK sips:bob@client.biloxi.example.com SIP/2.0 374 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf92 375 Route: 376 Max-Forwards: 70 377 From: Alice ;tag=1234567 378 To: Bob ;tag=314159 379 Call-ID: 12345601@atlanta.example.com 380 CSeq: 1 ACK 381 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 382 Supported: replaces 383 Content-Length: 0 385 F9 ACK Proxy 1 -> Bob 387 ACK sips:bob@client.biloxi.example.com SIP/2.0 388 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK837492.1 389 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf92 390 ;received=192.0.2.103 391 Max-Forwards: 69 392 From: Alice ;tag=1234567 393 To: Bob ;tag=314159 394 Call-ID: 12345601@atlanta.example.com 395 CSeq: 1 ACK 396 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 397 Supported: replaces 398 Content-Length: 0 400 /* Bob places Alice on hold. Note that the version is 402 incremented in the o= field of the SDP */ 404 F10 INVITE Bob -> Proxy 1 406 INVITE sips:alice@client.atlanta.example.com SIP/2.0 407 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 408 Route: 409 Max-Forwards: 70 410 From: Bob ;tag=314159 411 To: Alice ;tag=1234567 412 Call-ID: 12345601@atlanta.example.com 413 CSeq: 1 INVITE 414 Contact: 415 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 416 Supported: replaces 417 Content-Type: application/sdp 418 Content-Length: ... 420 v=0 421 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 422 s=Session SDP 423 c=IN IP4 client.biloxi.example.com 424 t=3034423619 0 425 m=audio 3456 RTP/AVP 0 426 a=rtpmap:0 PCMU/8000 427 a=sendonly 429 F11 INVITE Proxy 1 -> Alice 431 INVITE sips:alice@client.atlanta.example.com SIP/2.0 432 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 433 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 434 ;received=192.0.2.105 435 Record-Route: 436 Max-Forwards: 69 437 From: Bob ;tag=314159 438 To: Alice ;tag=1234567 439 Call-ID: 12345601@atlanta.example.com 440 CSeq: 1 INVITE 441 Contact: 442 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 443 Supported: replaces 444 Content-Type: application/sdp 445 Content-Length: ... 447 v=0 448 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 449 s=Session SDP 450 c=IN IP4 client.biloxi.example.com 451 t=3034423619 0 452 m=audio 3456 RTP/AVP 0 453 a=rtpmap:0 PCMU/8000 454 a=sendonly 456 /* A replies to hold */ 458 F12 200 OK Alice -> Proxy 1 460 SIP/2.0 200 OK 461 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 462 ;received=192.0.2.54 463 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 464 ;received=192.0.2.105 465 Record-Route: 466 From: Bob ;tag=314159 467 To: Alice ;tag=1234567 468 Call-ID: 12345601@atlanta.example.com 469 CSeq: 1 INVITE 470 Contact: 471 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 472 Supported: replaces 473 Content-Type: application/sdp 474 Content-Length: ... 476 v=0 477 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 478 s=Session SDP 479 c=IN IP4 client.atlanta.example.com 480 t=3034423619 0 481 m=audio 49170 RTP/AVP 0 482 a=rtpmap:0 PCMU/8000 483 a=recvonly 485 F13 200 OK Proxy 1 -> Bob 487 SIP/2.0 200 OK 488 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 489 ;received=192.0.2.105 490 Record-Route: 491 From: Bob ;tag=314159 492 To: Alice ;tag=1234567 493 Call-ID: 12345601@atlanta.example.com 494 CSeq: 1 INVITE 495 Contact: 496 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 497 Supported: replaces 498 Content-Type: application/sdp 499 Content-Length: ... 501 v=0 502 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 503 s=Session SDP 504 c=IN IP4 client.atlanta.example.com 505 t=3034423619 0 506 m=audio 49170 RTP/AVP 0 507 a=rtpmap:0 PCMU/8000 508 a=recvonly 509 F14 ACK Bob -> Proxy 1 511 ACK sips:alice@client.atlanta.example.com SIP/2.0 512 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds72 513 Route: 514 Max-Forwards: 70 515 From: Bob ;tag=314159 516 To: Alice ;tag=1234567 517 Call-ID: 12345601@atlanta.example.com 518 CSeq: 1 ACK 519 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 520 Supported: replaces 521 Content-Length: 0 523 F15 ACK Proxy 1 -> Alice 525 ACK sips:alice@client.atlanta.example.com SIP/2.0 526 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 527 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds72 528 ;received=192.0.2.105 529 Max-Forwards: 69 530 From: Bob ;tag=314159 531 To: Alice ;tag=1234567 532 Call-ID: 12345601@atlanta.example.com 533 CSeq: 1 ACK 534 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 535 Supported: replaces 536 Content-Length: 0 538 /* Bob takes the call off hold */ 540 F16 INVITE Bob -> Proxy 1 542 INVITE sips:alice@client.atlanta.example.com SIP/2.0 543 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds73 544 Route: 545 Max-Forwards: 70 546 From: Bob ;tag=314159 547 To: Alice ;tag=1234567 548 Call-ID: 12345601@atlanta.example.com 549 CSeq: 2 INVITE 550 Contact: 551 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 552 Supported: replaces 553 Content-Type: application/sdp 554 Content-Length: ... 556 v=0 557 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 558 s=Session SDP 559 c=IN IP4 client.biloxi.example.com 560 t=3034423619 0 561 m=audio 3456 RTP/AVP 0 562 a=rtpmap:0 PCMU/8000 564 F17 INVITE Proxy 1 -> Alice 566 INVITE sips:alice@client.atlanta.example.com SIP/2.0 567 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK837493.1 568 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds73 569 ;received=192.0.2.105 570 Record-Route: 571 Max-Forwards: 69 572 From: Bob ;tag=314159 573 To: Alice ;tag=1234567 574 Call-ID: 12345601@atlanta.example.com 575 CSeq: 2 INVITE 576 Contact: 577 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 578 Supported: replaces 579 Content-Type: application/sdp 580 Content-Length: ... 582 v=0 583 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 584 s=Session SDP 585 c=IN IP4 client.biloxi.example.com 586 t=3034423619 0 587 m=audio 3456 RTP/AVP 0 588 a=rtpmap:0 PCMU/8000 590 F18 200 OK Alice -> Proxy 1 592 SIP/2.0 200 OK 593 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK837493.1 594 ;received=192.0.2.54 595 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds73 596 ;received=192.0.2.105 597 Record-Route: 598 From: Bob ;tag=314159 599 To: Alice ;tag=1234567 600 Call-ID: 12345601@atlanta.example.com 601 CSeq: 2 INVITE 602 Contact: 603 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 604 Supported: replaces 605 Content-Type: application/sdp 606 Content-Length: ... 608 v=0 609 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 610 s=Session SDP 611 c=IN IP4 client.atlanta.example.com 612 t=3034423619 0 613 m=audio 49170 RTP/AVP 0 614 a=rtpmap:0 PCMU/8000 616 F19 200 OK Proxy 1 -> Bob 618 SIP/2.0 200 OK 619 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds73 620 ;received=192.0.2.105 621 Record-Route: 622 From: Bob ;tag=314159 623 To: Alice ;tag=1234567 624 Call-ID: 12345601@atlanta.example.com 625 CSeq: 2 INVITE 626 Contact: 627 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 628 Supported: replaces 629 Content-Type: application/sdp 630 Content-Length: ... 632 v=0 633 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 634 s=Session SDP 635 c=IN IP4 client.atlanta.example.com 636 t=3034423619 0 637 m=audio 49170 RTP/AVP 0 638 a=rtpmap:0 PCMU/8000 640 F20 ACK Bob -> Proxy 1 642 ACK sips:alice@client.atlanta.example.com SIP/2.0 643 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds74 644 Route: 645 Max-Forwards: 70 646 From: Bob ;tag=314159 647 To: Alice ;tag=1234567 648 Call-ID: 12345601@atlanta.example.com 649 CSeq: 2 ACK 650 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 651 Supported: replaces 652 Content-Length: 0 654 F21 ACK Proxy 1 -> Alice 656 ACK sips:alice@client.atlanta.example.com SIP/2.0 657 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK837494.1 658 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds74 659 ;received=192.0.2.105 660 Max-Forwards: 69 661 From: Bob ;tag=314159 662 To: Alice ;tag=1234567 663 Call-ID: 12345601@atlanta.example.com 664 CSeq: 2 ACK 665 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 666 Supported: replaces 667 Content-Length: 0 669 /* RTP Media stream re-established. Alice disconnects. */ 671 F22 BYE Alice -> Proxy 1 673 BYE sips:bob@client.biloxi.example.com SIP/2.0 674 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf97 675 Route: 676 Max-Forwards: 70 677 From: Alice ;tag=1234567 678 To: Bob ;tag=314159 679 Call-ID: 12345601@atlanta.example.com 680 CSeq: 2 BYE 681 Content-Length: 0 683 F23 BYE Proxy 1 -> Bob 685 BYE sips:bob@client.biloxi.example.com SIP/2.0 686 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK837497.1 687 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf97 688 ;received=192.0.2.103 689 Max-Forwards: 69 690 From: Alice ;tag=1234567 691 To: Bob ;tag=314159 692 Call-ID: 12345601@atlanta.example.com 693 CSeq: 2 BYE 694 Content-Length: 0 696 F24 200 OK Bob -> Proxy 1 698 SIP/2.0 200 OK 700 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK837497.1 701 ;received=192.0.2.54 702 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf97 703 ;received=192.0.2.103 704 From: Alice ;tag=1234567 705 To: Bob ;tag=314159 706 Call-ID: 12345601@atlanta.example.com 707 CSeq: 2 BYE 708 Content-Length: 0 710 F25 200 OK Proxy 1 -> Alice 712 SIP/2.0 200 OK 713 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf97 714 ;received=192.0.2.103 715 From: Alice ;tag=1234567 716 To: Bob ;tag=314159 717 Call-ID: 12345601@atlanta.example.com 718 CSeq: 2 BYE 719 Content-Length: 0 721 2.2 Consultation Hold 723 Alice Proxy Bob Carol 724 | | | | 725 | INVITE F1 | | | 726 |--------------->| INVITE F2 | | 727 | |------------->| | 728 |(100 Trying) F3 | | | 729 |<---------------|180 Ringing F4| | 730 | |<-------------| | 731 | 180 Ringing F5 | | | 732 |<---------------| 200 OK F6 | | 733 | |<-------------| | 734 | 200 OK F7 | | | 735 |<---------------| | | 736 | ACK F8 | | | 737 |--------------->| ACK F9 | | 738 | |------------->| | 739 | Both way RTP Established | | 740 |<=============================>| | 741 | |INVITE(hold) F10 | 742 |INVITE(hold) F11|<-------------| | 743 |<---------------| | | 744 | 200 OK F12 | | | 745 |--------------->| 200 OK F13 | | 746 | |------------->| | 747 | | ACK F14 | | 748 | |<-------------| | 749 | ACK F15 | | | 750 |<---------------| | | 751 | No RTP Sent! | | 752 | | INVITE F16 | | 753 | |<-------------| | 754 | | | INVITE F17 | 755 | |--------------------------------->| 756 | |(100 Trying) F18 | 757 | |------------->| | 758 | | | 180 Ringing F19 | 759 | |<---------------------------------| 760 | | 180 Ringing F20 | 761 | |------------->| | 762 | | | 200 OK F21 | 763 | |<---------------------------------| 764 | | 200 OK F22 | | 765 | |------------->| | 766 | | ACK F23 | | 767 | |<-------------| | 768 | | | ACK F24 | 769 | |--------------------------------->| 770 | | Both way RTP Established | 771 | | |<=================>| 772 | | BYE F25 | | 773 | |<-------------| | 774 | | | BYE F26 | 775 | |--------------------------------->| 776 | | | 200 OK F27 | 777 | |<---------------------------------| 778 | | 200 OK F28 | | 779 | |------------->| | 780 | | INVITE F29 | | 781 | INVITE F30 |<-------------| | 782 |<---------------| | | 783 | 200 OK F31 | | | 784 |--------------->| 200 OK F32 | | 785 | |------------->| | 786 | | ACK F33 | | 787 | |<-------------| | 788 | ACK F34 | | | 789 |<---------------| | | 790 | Both way RTP Established | | 791 |<=============================>| | 792 | BYE F35 | | | 793 |--------------->| BYE F36 | | 794 | |------------->| | 795 | | 200 OK F37 | | 796 | |<-------------| | 797 | 200 OK F38 | | | 798 |<---------------| | | 799 | | | | 801 In this scenario, Alice calls Bob. Bob places call on hold. Bob 802 calls Carol. Bob then disconnects with Carol, then takes the call 803 with Alice off hold. The call ends when Alice hangs up. 805 Message Details 807 F1 INVITE Alice -> Proxy 1 809 INVITE sips:bob@biloxi.example.com SIP/2.0 810 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 811 Max-Forwards: 70 812 From: Alice ;tag=1234567 813 To: Bob 814 Call-ID: 12345600@atlanta.example.com 815 CSeq: 1 INVITE 816 Contact: 817 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 818 Supported: replaces 819 Content-Type: application/sdp 820 Content-Length: ... 822 v=0 823 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 824 s=Session SDP 825 c=IN IP4 client.atlanta.example.com 826 t=3034423619 0 827 m=audio 49170 RTP/AVP 0 828 a=rtpmap:0 PCMU/8000 829 F2 INVITE Proxy 1 -> Bob 831 INVITE sips:bob@client.biloxi.example.com SIP/2.0 832 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 833 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 834 ;received=192.0.2.103 835 Record-Route: 836 Max-Forwards: 69 837 From: Alice ;tag=1234567 838 To: Bob 839 Call-ID: 12345600@atlanta.example.com 840 CSeq: 1 INVITE 841 Contact: 842 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 843 Supported: replaces 844 Content-Type: application/sdp 845 Content-Length: ... 847 v=0 848 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 849 s=Session SDP 850 c=IN IP4 client.atlanta.example.com 851 t=3034423619 0 852 m=audio 49170 RTP/AVP 0 853 a=rtpmap:0 PCMU/8000 855 F3(100 Trying) Proxy 1 -> Alice 857 SIP/2.0 100 Trying 858 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 859 ;received=192.0.2.103 860 From: Alice ;tag=1234567 861 To: Bob 862 Call-ID: 12345600@atlanta.example.com 863 CSeq: 1 INVITE 864 Content-Length: 0 866 F4 180 Ringing Bob -> Proxy 1 868 SIP/2.0 180 Ringing 869 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 870 ;received=192.0.2.54 871 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 872 ;received=192.0.2.103 873 Record-Route: 874 From: Alice ;tag=1234567 875 To: Bob ;tag=314159 876 Call-ID: 12345600@atlanta.example.com 877 CSeq: 1 INVITE 878 Contact: 879 Content Length:0 881 F5 180 Ringing Proxy 1 -> Alice 883 SIP/2.0 180 Ringing 884 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 885 ;received=192.0.2.103 886 Record-Route: 887 From: Alice ;tag=1234567 888 To: Bob ;tag=314159 889 Call-ID: 12345600@atlanta.example.com 890 CSeq: 1 INVITE 891 Contact: 892 Content Length: 0 894 F6 200 OK Bob -> Proxy 1 896 SIP/2.0 200 OK 897 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 898 ;received=192.0.2.54 899 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 900 ;received=192.0.2.103 901 Record-Route: 902 From: Alice ;tag=1234567 903 To: Bob ;tag=314159 904 Call-ID: 12345600@atlanta.example.com 905 CSeq: 1 INVITE 906 Contact: 907 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 908 Supported: replaces 909 Content-Type: application/sdp 910 Content-Length: ... 912 v=0 913 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 914 s=Session SDP 915 c=IN IP4 client.biloxi.example.com 916 t=3034423619 0 917 m=audio 3456 RTP/AVP 0 918 a=rtpmap:0 PCMU/8000 919 F7 200 OK Proxy 1 -> Alice 921 SIP/2.0 200 OK 922 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 923 ;received=192.0.2.103 924 Record-Route: 925 From: Alice ;tag=1234567 926 To: Bob ;tag=314159 927 Call-ID: 12345600@atlanta.example.com 928 CSeq: 1 INVITE 929 Contact: 930 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 931 Supported: replaces 932 Content-Type: application/sdp 933 Content-Length: ... 935 v=0 936 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 937 s=Session SDP 938 c=IN IP4 client.biloxi.example.com 939 t=3034423619 0 940 m=audio 3456 RTP/AVP 0 941 a=rtpmap:0 PCMU/8000 943 F8 ACK Alice -> Proxy 1 945 ACK sips:bob@client.biloxi.example.com SIP/2.0 946 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf45 947 Route: 948 Max-Forwards: 70 949 From: Alice ;tag=1234567 950 To: Bob ;tag=314159 951 Call-ID: 12345600@atlanta.example.com 952 CSeq: 1 ACK 953 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 954 Supported: replaces 955 Content-Length: 0 957 F9 ACK Proxy 1 -> Bob 959 ACK sips:bob@client.biloxi.example.com SIP/2.0 960 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK837494.1 961 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf45 962 ;received=192.0.2.103 963 Max-Forwards: 69 964 From: Alice ;tag=1234567 965 To: Bob ;tag=314159 966 Call-ID: 12345600@atlanta.example.com 967 CSeq: 1 ACK 968 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 969 Supported: replaces 970 Content-Length: 0 972 /* Bob places Alice on hold. */ 974 F10 INVITE Bob -> Proxy 1 976 INVITE sips:alice@client.atlanta.example.com SIP/2.0 977 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 978 Route: 979 Max-Forwards: 70 980 From: Bob ;tag=314159 981 To: Alice ;tag=1234567 982 Call-ID: 12345600@atlanta.example.com 983 CSeq: 1 INVITE 984 Contact: 985 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 986 Supported: replaces 987 Content-Type: application/sdp 988 Content-Length: ... 990 v=0 991 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 992 s=Session SDP 993 c=IN IP4 client.biloxi.example.com 994 t=3034423619 0 995 m=audio 3456 RTP/AVP 0 996 a=rtpmap:0 PCMU/8000 997 a=sendonly 999 F11 INVITE Proxy 1 -> Alice 1001 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1002 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK837497.1 1003 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 1004 ;received=192.0.2.105 1005 Record-Route: 1006 Max-Forwards: 69 1007 From: Bob ;tag=314159 1008 To: Alice ;tag=1234567 1009 Call-ID: 12345600@atlanta.example.com 1010 CSeq: 1 INVITE 1011 Contact: 1012 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1013 Supported: replaces 1014 Content-Type: application/sdp 1015 Content-Length: ... 1017 v=0 1018 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 1019 s=Session SDP 1020 c=IN IP4 client.biloxi.example.com 1021 t=3034423619 0 1022 m=audio 3456 RTP/AVP 0 1023 a=rtpmap:0 PCMU/8000 1024 a=sendonly 1026 F12 200 OK Alice -> Proxy 1 1028 SIP/2.0 200 OK 1029 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK837497.1 1030 ;received=192.0.2.54 1031 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 1032 ;received=192.0.2.105 1033 Record-Route: 1034 From: Bob ;tag=314159 1035 To: Alice ;tag=1234567 1036 Call-ID: 12345600@atlanta.example.com 1037 CSeq: 1 INVITE 1038 Contact: 1039 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1040 Supported: replaces 1041 Content-Type: application/sdp 1042 Content-Length: ... 1044 v=0 1045 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1046 s=Session SDP 1047 c=IN IP4 client.atlanta.example.com 1048 t=3034423619 0 1049 m=audio 49170 RTP/AVP 0 1050 a=rtpmap:0 PCMU/8000 1051 a=recvonly 1053 F13 200 OK Proxy 1 -> Bob 1055 SIP/2.0 200 OK 1056 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 1057 ;received=192.0.2.105 1058 Record-Route: 1059 From: Bob ;tag=314159 1060 To: Alice ;tag=1234567 1061 Call-ID: 12345600@atlanta.example.com 1062 CSeq: 1 INVITE 1063 Contact: 1064 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1065 Supported: replaces 1066 Content-Type: application/sdp 1067 Content-Length: ... 1069 v=0 1070 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1071 s=Session SDP 1072 c=IN IP4 client.atlanta.example.com 1073 t=3034423619 0 1074 m=audio 49170 RTP/AVP 0 1075 a=rtpmap:0 PCMU/8000 1076 a=recvonly 1078 F14 ACK Bob -> Proxy 1 1080 ACK sips:alice@client.atlanta.example.com SIP/2.0 1081 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashdsg 1082 Route: 1083 Max-Forwards: 70 1084 From: Bob ;tag=314159 1085 To: Alice ;tag=1234567 1086 Call-ID: 12345600@atlanta.example.com 1087 CSeq: 1 ACK 1088 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1089 Supported: replaces 1090 Content-Length: 0 1092 F15 ACK Proxy 1 -> Alice 1094 ACK sips:alice@client.atlanta.example.com SIP/2.0 1095 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK8374.1 1096 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashdsg 1097 ;received=192.0.2.105 1098 Max-Forwards: 69 1099 From: Bob ;tag=314159 1100 To: Alice ;tag=1234567 1101 Call-ID: 12345600@atlanta.example.com 1102 CSeq: 1 ACK 1103 Content-Length: 0 1105 F16 INVITE Bob -> Proxy 1 1107 INVITE sips:carol@chicago.example.com SIP/2.0 1108 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds22 1109 Max-Forwards: 70 1110 From: Bob ;tag=8675309 1111 To: Carol 1112 Call-ID: 9876543210@biloxi.example.com 1113 CSeq: 1 INVITE 1114 Contact: 1115 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1116 Supported: replaces 1117 Content-Type: application/sdp 1118 Content-Length: ... 1120 v=0 1121 o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com 1122 s=Session SDP 1123 c=IN IP4 client.biloxi.example.com 1124 t=3034423619 0 1125 m=audio 50170 RTP/AVP 0 1126 a=rtpmap:0 PCMU/8000 1128 F17 INVITE Proxy 1 -> Carol 1130 INVITE sips:carol@client.chicago.example.com SIP/2.0 1131 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749a.1 1132 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds22 1133 ;received=192.0.2.105 1134 Record-Route: 1135 Max-Forwards: 69 1136 From: Bob ;tag=8675309 1137 To: Carol 1138 Call-ID: 9876543210@biloxi.example.com 1139 CSeq: 1 INVITE 1140 Contact: 1141 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1142 Supported: replaces 1143 Content-Type: application/sdp 1144 Content-Length: ... 1146 v=0 1147 o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com 1148 s=Session SDP 1149 c=IN IP4 client.biloxi.example.com 1150 t=3034423619 0 1151 m=audio 50170 RTP/AVP 0 1152 a=rtpmap:0 PCMU/8000 1154 F18 (100 Trying) Proxy 1 -> Bob 1156 SIP/2.0 100 Trying 1157 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds22 1158 ;received=192.0.2.105 1159 From: Bob ;tag=8675309 1160 To: Carol 1161 Call-ID: 9876543210@biloxi.example.com 1162 CSeq: 1 INVITE 1164 Content-Length: 0 1166 F19 180 Ringing Carol -> Proxy 1 1168 SIP/2.0 180 Ringing 1169 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749a.1 1170 ;received=192.0.2.54 1171 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds22 1172 ;received=192.0.2.105 1173 Record-Route: 1174 From: Bob ;tag=8675309 1175 To: Carol ;tag=456654 1176 Call-ID: 9876543210@atlanta.example.com 1177 CSeq: 1 INVITE 1178 Contact: 1179 Content Length:0 1181 F20 180 Ringing Proxy 1 -> Bob 1183 SIP/2.0 180 Ringing 1184 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds22 1185 ;received=client.chicago.example.com 1186 Record-Route: 1187 From: Bob ;tag=8675309 1188 To: Carol ;tag=456654 1189 Call-ID: 9876543210@biloxi.example.com 1190 CSeq: 1 INVITE 1191 Contact: 1192 Content Length: 0 1193 F21 200 OK Carol -> Proxy 1 1195 SIP/2.0 200 OK 1196 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749a.1 1197 ;received=192.0.2.54 1198 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds22 1199 ;received=192.0.2.105 1200 Record-Route: 1201 From: Bob ;tag=8675309 1202 To: Carol ;tag=456654 1203 Call-ID: 9876543210@biloxi.example.com 1204 CSeq: 1 INVITE 1205 Contact: 1206 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1207 Supported: replaces 1208 Content-Type: application/sdp 1209 Content-Length: ... 1211 v=0 1212 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 1213 s=Session SDP 1214 c=IN IP4 client.chicago.example.com 1215 t=3034423619 0 1216 m=audio 3456 RTP/AVP 0 1217 a=rtpmap:0 PCMU/8000 1219 F22 200 OK Proxy 1 -> Bob 1221 SIP/2.0 200 OK 1222 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds22 1223 ;received=192.0.2.105 1224 Record-Route: 1225 From: Bob ;tag=8675309 1226 To: Carol ;tag=456654 1227 Call-ID: 9876543210@biloxi.example.com 1228 CSeq: 1 INVITE 1229 Contact: 1230 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1231 Supported: replaces 1232 Content-Type: application/sdp 1233 Content-Length: ... 1235 v=0 1236 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 1237 s=Session SDP 1238 c=IN IP4 client.chicago.example.com 1239 t=3034423619 0 1240 m=audio 3456 RTP/AVP 0 1241 a=rtpmap:0 PCMU/8000 1243 F23 ACK Bob -> Proxy 1 1245 ACK sips:carol@client.chicago.example.com SIP/2.0 1246 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds24 1247 Route: 1248 Max-Forwards: 70 1249 From: Bob ;tag=8675309 1250 To: Carol ;tag=456654 1251 Call-ID: 9876543210@biloxi.example.com 1252 CSeq: 1 ACK 1253 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1254 Supported: replaces 1255 Content-Length: 0 1257 F24 ACK Proxy 1 -> Carol 1259 ACK sips:carol@client.chicago.example.com SIP/2.0 1260 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749b.1 1261 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds24 1262 ;received=192.0.2.105 1263 Max-Forwards: 69 1264 From: Bob ;tag=8675309 1265 To: Carol ;tag=456654 1266 Call-ID: 9876543210@biloxi.example.com 1267 CSeq: 1 ACK 1268 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1269 Supported: replaces 1270 Content-Length: 0 1272 F25 BYE Bob -> Proxy 1 1274 BYE sips:carol@client.chicago.example.com SIP/2.0 1275 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7j 1276 Route: 1277 Max-Forwards: 70 1278 From: Bob ;tag=8675309 1279 To: Carol ;tag=456654 1281 Call-ID: 9876543210@biloxi.example.com 1282 CSeq: 2 BYE 1283 Content-Length: 0 1284 F26 BYE Proxy 1 -> Carol 1286 BYE sips:carol@client.chicago.example.com SIP/2.0 1287 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749k.1 1288 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7j 1289 ;received=192.0.2.105 1290 Max-Forwards: 69 1291 From: Bob ;tag=8675309 1292 To: Carol ;tag=456654 1293 Call-ID: 9876543210@biloxi.example.com 1294 CSeq: 2 BYE 1295 Content-Length: 0 1297 F27 200 OK Carol -> Proxy 1 1299 SIP/2.0 200 OK 1300 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749k.1 1301 ;received=192.0.2.54 1302 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7j 1303 ;received=192.0.2.105 1304 From: Bob ;tag=8675309 1305 To: Carol ;tag=456654 1306 Call-ID: 9876543210@biloxi.example.com 1307 CSeq: 2 BYE 1308 Content-Length: 0 1310 F28 200 OK Proxy 1 -> Bob 1312 SIP/2.0 200 OK 1313 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7j 1314 ;received=192.0.2.105 1315 From: Bob ;tag=8675309 1316 To: Carol ;tag=456654 1317 Call-ID: 9876543210@biloxi.example.com 1318 CSeq: 2 BYE 1319 Content-Length: 0 1321 /* Bob takes the call off hold */ 1323 F29 INVITE Bob -> Proxy 1 1325 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1326 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7b 1327 Route: 1328 Max-Forwards: 70 1329 From: Bob ;tag=314159 1330 To: Alice ;tag=1234567 1331 Call-ID: 12345600@atlanta.example.com 1332 CSeq: 2 INVITE 1333 Contact: 1334 Content-Type: application/sdp 1335 Content-Length: ... 1337 v=0 1338 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 1339 s=Session SDP 1340 c=IN IP4 client.biloxi.example.com 1341 t=3034423619 0 1342 m=audio 3456 RTP/AVP 0 1343 a=rtpmap:0 PCMU/8000 1345 F30 INVITE Proxy 1 -> Alice 1347 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1348 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749q.1 1349 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7b 1350 ;received=192.0.2.105 1351 Record-Route: 1352 Max-Forwards: 69 1353 From: Bob ;tag=314159 1354 To: Alice ;tag=1234567 1355 Call-ID: 12345600@atlanta.example.com 1356 CSeq: 2 INVITE 1357 Contact: 1358 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1359 Supported: replaces 1360 Content-Type: application/sdp 1361 Content-Length: ... 1363 v=0 1364 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 1365 s=Session SDP 1366 c=IN IP4 client.biloxi.example.com 1367 t=3034423619 0 1368 m=audio 3456 RTP/AVP 0 1369 a=rtpmap:0 PCMU/8000 1371 F31 200 OK Alice -> Proxy 1 1373 SIP/2.0 200 OK 1374 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749q.1 1375 ;received=192.0.2.54 1376 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7b 1377 ;received=192.0.2.105 1378 Record-Route: 1379 From: Bob ;tag=314159 1380 To: Alice ;tag=1234567 1381 Call-ID: 12345600@atlanta.example.com 1382 CSeq: 2 INVITE 1383 Contact: 1384 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1385 Supported: replaces 1386 Content-Type: application/sdp 1387 Content-Length: ... 1389 v=0 1390 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 1391 s=Session SDP 1392 c=IN IP4 client.atlanta.example.com 1393 t=3034423619 0 1394 m=audio 49170 RTP/AVP 0 1395 a=rtpmap:0 PCMU/8000 1397 F32 200 OK Proxy 1 -> Bob 1399 SIP/2.0 200 OK 1400 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7b 1401 ;received=192.0.2.105 1402 Record-Route: 1403 From: Bob ;tag=314159 1404 To: Alice ;tag=1234567 1405 Call-ID: 12345600@atlanta.example.com 1406 CSeq: 2 INVITE 1407 Contact: 1408 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1409 Supported: replaces 1410 Content-Type: application/sdp 1411 Content-Length: ... 1413 v=0 1414 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 1415 s=Session SDP 1416 c=IN IP4 client.atlanta.example.com 1417 t=3034423619 0 1418 m=audio 49170 RTP/AVP 0 1419 a=rtpmap:0 PCMU/8000 1420 F33 ACK Bob -> Proxy 1 1422 ACK sips:alice@client.atlanta.example.com SIP/2.0 1423 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7d7 1424 Route: 1425 Max-Forwards: 70 1426 From: Bob ;tag=314159 1427 To: Alice ;tag=1234567 1428 Call-ID: 12345600@atlanta.example.com 1429 CSeq: 2 ACK 1430 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1431 Supported: replaces 1432 Content-Length: 0 1434 F34 ACK Proxy 1 -> Alice 1436 ACK sips:alice@client.atlanta.example.com SIP/2.0 1437 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK8374.1 1438 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7d7 1439 ;received=192.0.2.105 1440 Max-Forwards: 69 1441 From: Bob ;tag=314159 1442 To: Alice ;tag=1234567 1443 Call-ID: 12345600@atlanta.example.com 1444 CSeq: 2 ACK 1445 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1446 Supported: replaces 1447 Content-Length: 0 1449 F35 BYE Alice -> Proxy 1 1451 BYE sips:bob@client.biloxi.example.com SIP/2.0 1452 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf10 1453 Route: 1454 Max-Forwards: 70 1455 From: Alice ;tag=1234567 1456 To: Bob ;tag=314159 1457 Call-ID: 12345600@atlanta.example.com 1458 CSeq: 2 BYE 1459 Content-Length: 0 1461 F36 BYE Proxy 1 -> Bob 1463 BYE sips:bob@client.biloxi.example.com SIP/2.0 1464 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK8379.1 1465 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf10 1466 ;received=192.0.2.103 1467 Max-Forwards: 69 1468 From: Alice ;tag=1234567 1469 To: Bob ;tag=314159 1470 Call-ID: 12345600@atlanta.example.com 1471 CSeq: 2 BYE 1472 Content-Length: 0 1474 F37 200 OK Bob -> Proxy 1 1476 SIP/2.0 200 OK 1477 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK8379.1 1478 ;received=192.0.2.54 1479 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf10 1480 ;received=192.0.2.103 1481 From: Alice ;tag=1234567 1482 To: Bob ;tag=314159 1483 Call-ID: 12345600@atlanta.example.com 1484 CSeq: 2 BYE 1485 Content-Length: 0 1487 F38 200 OK Proxy 1 -> Alice 1489 SIP/2.0 200 OK 1490 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf10 1491 ;received=192.0.2.103 1492 From: Alice ;tag=1234567 1493 To: Bob ;tag=314159 1494 Call-ID: 12345600@atlanta.example.com 1495 CSeq: 2 BYE 1496 Content-Length: 0 1498 2.3 Music On Hold 1500 Alice Bob Music Server 1501 | | | 1502 | INVITE F1 | | 1503 |--------------->| | 1504 | 180 Ringing F2 | | 1505 |<---------------| | 1506 | 200 OK F3 | | 1507 |<---------------| | 1508 | ACK F4 | | 1509 |--------------->| | 1510 | RTP | | 1511 |<==============>| | 1512 | | | 1513 | Bob places Alice on hold with music 1514 | | | 1515 | | INVITE no sdp F5 1516 | |------------->| 1517 | |200 OK sdpM F6| 1518 | |<-------------| 1519 |INVITE (hold) F7| | 1520 |<---------------| | 1521 | 200 OK sdpA F8 | | 1522 |--------------->| | 1523 | ACK F9 | | 1524 |<---------------| | 1525 | | ACK sdpA F10 | 1526 | |------------->| 1527 | RTP | 1528 |<==============================| 1529 | | | 1530 | Bob Picks up the Call | 1531 | | BYE F11 | 1532 | |------------->| 1533 | | 200 OK F12 | 1534 | |<-------------| 1535 | INVITE F13 | | 1536 |<---------------| | 1537 | 200 OK F14 | | 1538 |--------------->| | 1539 | ACK F15 | | 1540 |<---------------| | 1541 | RTP | | 1542 |<==============>| | 1544 In this flow, Bob places Alice on hold with music. This is performed 1545 by Bob acting as a 3pcc (third party call controller) [17] to INVITE 1546 a Music Server into the session, which sends RTP music to Alice. Bob 1547 picks the call up from hold by sending a BYE to the music server and 1548 taking Alice off of hold. 1550 Note that if Alice responds to the INVITE with hold SDP with hold SDP 1551 in the 200 OK, this call flow will not work properly. 1553 Note also that Alice will receive RTP packets from two different IP 1554 addresses during this call flow. Alice could refuse the music by 1555 sending a re-INVITE changing the session to a=inactive. 1557 Message Details 1559 F1 INVITE Alice -> Bob 1561 INVITE sips:bob@biloxi.example.com SIP/2.0 1562 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 1563 Max-Forwards: 70 1564 From: Alice ;tag=1234567 1565 To: Bob 1566 Call-ID: 12345600@atlanta.example.com 1567 CSeq: 1 INVITE 1568 Contact: 1569 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1570 Supported: replaces 1571 Content-Type: application/sdp 1572 Content-Length: ... 1574 v=0 1575 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 1576 s=Session SDP 1577 c=IN IP4 client.atlanta.example.com 1578 t=3034423619 0 1579 m=audio 49170 RTP/AVP 0 1580 a=rtpmap:0 PCMU/8000 1582 F2 180 Ringing Bob -> Alice 1584 SIP/2.0 180 Ringing 1585 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 1586 ;received=192.0.2.103 1587 From: Alice ;tag=1234567 1588 To: Bob ;tag=23431 1589 Call-ID: 12345600@atlanta.example.com 1590 CSeq: 1 INVITE 1591 Contact: 1592 Content-Length: 0 1594 F3 200 OK Bob -> Alice 1596 SIP/2.0 200 OK 1597 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 1598 ;received=192.0.2.103 1599 From: Alice ;tag=1234567 1600 To: Bob ;tag=23431 1601 Call-ID: 12345600@atlanta.example.com 1602 CSeq: 1 INVITE 1603 Contact: 1604 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1605 Supported: replaces 1606 Content-Type: application/sdp 1607 Content-Length: ... 1609 v=0 1610 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 1611 s=Session SDP 1612 c=IN IP4 client.biloxi.example.com 1613 t=3034423619 0 1614 m=audio 3456 RTP/AVP 0 1615 a=rtpmap:0 PCMU/8000 1617 F4 ACK Alice -> Bob 1619 ACK sips:bob@client.biloxi.example.com SIP/2.0 1620 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfd 1621 Max-Forwards: 70 1622 From: Alice ;tag=1234567 1623 To: Bob ;tag=23431 1624 Call-ID: 12345600@atlanta.example.com 1625 CSeq: 1 ACK 1626 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1627 Supported: replaces 1628 Content-Length: 0 1630 /* Bob places Alice on hold with music by acting as a 3pcc and 1631 sending an INVITE to the Music Server */ 1633 F5 INVITE Bob -> Music Server 1635 INVITE sips:music@server.example.com SIP/2.0 1636 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 1637 Max-Forwards: 70 1638 From: Bob ;tag=8675309 1639 To: Music 1640 Call-ID: sdjfdjfskdf@biloxi.example.com 1641 CSeq: 1 INVITE 1642 Contact: 1643 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1644 Supported: replaces 1645 Content-Length: 0 1647 F6 200 OK Carol -> Bob 1649 SIP/2.0 200 OK 1650 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 1651 ;received=192.0.2.105 1652 From: Bob ;tag=8675309 1653 To: Music ;tag=90210 1654 Call-ID: sdjfdjfskdf@biloxi.example.com 1655 CSeq: 1 INVITE 1656 Contact: 1657 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1658 Supported: replaces 1659 Content-Type: application/sdp 1660 Content-Length: ... 1662 v=0 1663 o=MusicServer 2890844576 2890844577 IN IP4 music.server.example.com 1664 s=Session SDP 1665 c=IN IP4 music.server.example.com 1666 t=3034423619 0 1667 m=audio 49170 RTP/AVP 0 1668 a=rtpmap:0 PCMU/8000 1669 a=sendonly 1671 /* Bob re-INVITEs Alice on hold */ 1673 F7 INVITE Bob -> Alice 1675 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1676 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf5 1677 To: Alice ;tag=1234567 1678 Max-Forwards: 70 1679 From: Bob ;tag=23431 1680 Call-ID: 12345600@atlanta.example.com 1681 CSeq: 1 INVITE 1682 Contact: 1683 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1684 Supported: replaces 1685 Content-Type: application/sdp 1686 Content-Length: ... 1688 v=0 1689 o=bob 2890844527 2890844528 IN IP4 client.atlanta.example.com 1690 s=Session SDP 1691 c=IN IP4 music.server.example.com 1692 t=3034423619 0 1693 m=audio 49170 RTP/AVP 0 1694 a=rtpmap:0 PCMU/8000 1695 a=sendonly 1697 F8 200 OK Alice -> Bob 1699 SIP/2.0 200 OK 1700 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf5 1701 ;received=192.0.2.103 1702 To: Alice ;tag=1234567 1703 From: Bob ;tag=23431 1704 Call-ID: 12345600@atlanta.example.com 1705 CSeq: 1 INVITE 1706 Contact: 1707 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1708 Supported: replaces 1709 Content-Type: application/sdp 1710 Content-Length: ... 1712 v=0 1713 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1714 s=Session SDP 1715 c=IN IP4 client.atlanta.example.com 1716 t=3034423619 0 1717 m=audio 49170 RTP/AVP 0 1718 a=rtpmap:0 PCMU/8000 1719 a=recvonly 1721 F9 ACK Bob -> Alice 1723 ACK sips:alice@client.atlanta.example.com SIP/2.0 1724 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfy 1725 To: Alice ;tag=1234567 1726 Max-Forwards: 70 1727 From: Bob ;tag=23431 1728 Call-ID: 12345600@atlanta.example.com 1729 CSeq: 1 ACK 1730 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1731 Supported: replaces 1732 Content-Length: 0 1734 /* Bob passes SDP of Alice to the Music Server to allow music to be sent 1735 from Bob to Alice */ 1737 F10 ACK Bob -> Music Server 1739 ACK sips:music@server.example.com SIP/2.0 1740 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds3 1741 Max-Forwards: 70 1742 From: Bob ;tag=8675309 1743 To: Music ;tag=90210 1744 Call-ID: sdjfdjfskdf@biloxi.example.com 1745 CSeq: 1 ACK 1746 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1747 Supported: replaces 1748 Content-Type: application/sdp 1749 Content-Length: ... 1751 v=0 1752 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1753 s=Session SDP 1754 c=IN IP4 client.atlanta.example.com 1755 t=3034423619 0 1756 m=audio 49170 RTP/AVP 0 1757 a=rtpmap:0 PCMU/8000 1758 a=recvonly 1760 /* RTP music is now sent from the Music Server to Alice */ 1762 /* Bob picks up the call from the Music Server */ 1764 F11 BYE Bob -> Music Server 1766 BYE sips:music@server.example.com SIP/2.0 1767 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds0 1768 Max-Forwards: 70 1769 From: Bob ;tag=8675309 1770 To: Music ;tag=90210 1771 Call-ID: sdjfdjfskdf@biloxi.example.com 1772 CSeq: 2 BYE 1773 Content-Length: 0 1775 F12 200 OK Music Server -> Bob 1777 SIP/2.0 200 OK 1778 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds0 1779 ;received=192.0.2.105 1780 From: Bob ;tag=8675309 1781 To: Music ;tag=90210 1782 Call-ID: sdjfdjfskdf@biloxi.example.com 1783 CSeq: 2 BYE 1784 Content-Length:0 1786 /* B re-INVITEs taking A off hold */ 1788 F13 INVITE Bob -> Alice 1790 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1791 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b 1792 To: Alice ;tag=1234567 1793 Max-Forwards: 70 1794 From: Bob ;tag=23431 1795 Call-ID: 12345600@atlanta.example.com 1796 CSeq: 2 INVITE 1797 Contact: 1798 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1799 Supported: replaces 1800 Content-Type: application/sdp 1801 Content-Length: ... 1803 v=0 1804 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 1805 s=Session SDP 1806 c=IN IP4 client.biloxi.example.com 1807 t=3034423619 0 1808 m=audio 3456 RTP/AVP 0 1809 a=rtpmap:0 PCMU/8000 1811 F14 200 OK Alice -> Bob 1813 SIP/2.0 200 OK 1814 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b 1815 ;received=192.0.2.103 1816 To: Alice ;tag=1234567 1817 From: Bob ;tag=23431 1818 Call-ID: 12345600@atlanta.example.com 1819 CSeq: 2 INVITE 1820 Contact: 1821 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1822 Supported: replaces 1823 Content-Type: application/sdp 1824 Content-Length: ... 1826 v=0 1827 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 1828 s=Session SDP 1829 c=IN IP4 client.atlanta.example.com 1830 t=3034423619 0 1831 m=audio 49170 RTP/AVP 0 1832 a=rtpmap:0 PCMU/8000 1834 F15 ACK Bob -> Alice 1836 ACK sips:alice@client.atlanta.example.com SIP/2.0 1837 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b5 1838 To: Alice ;tag=1234567 1839 Max-Forwards: 70 1840 From: Bob ;tag=23431 1841 Call-ID: 12345600@atlanta.example.com 1843 CSeq: 2 ACK 1844 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1845 Supported: replaces 1846 Content-Length: 0 1848 /* Normal media session between A and B is resumed */ 1850 2.4 Transfer - Unattended 1852 Alice Bob Carol 1853 | INVITE F1 | | 1854 |<-------------------| | 1855 | 180 Ringing F2 | | 1856 |------------------->| | 1857 | 200 OK F3 | | 1858 |------------------->| | 1859 | ACK F4 | | 1860 |<-------------------| | 1861 | RTP | | 1862 |<==================>| | 1863 | | | 1864 | Alice performs unattended transfer | 1865 | | | 1866 | REFER Refer-To:C F5| | 1867 |------------------->| | 1868 | 202 Accepted F6 | | 1869 |<-------------------| | 1870 | NOTIFY F7 | | 1871 |<-------------------| | 1872 | 200 OK F8 | | 1873 |------------------->| | 1874 | BYE F9 | | 1875 |------------------->| | 1876 | 200 OK F10 | | 1877 |<-------------------| | 1878 | No RTP Session | INVITE Referred-By: A F11 1879 | |------------------->| 1880 | | 180 Ringing F12 | 1881 | |<-------------------| 1882 | | 200 OK F13 | 1883 | |<-------------------| 1884 | | ACK F14 | 1885 | |------------------->| 1886 | | RTP | 1887 | |<==================>| 1888 | NOTIFY F14 | | 1890 |<-------------------| | 1891 | 200 OK F15 | | 1892 |------------------->| | 1893 | | | 1895 In this scenario, Bob calls Alice. Alice then transfers Bob to 1896 Carol, then Alice disconnects with Bob. Bob establishes the session 1897 to Carol then reports the success back to Alice in the NOTIFY in 1898 F14. If the transfer fails, Bob can send a new INVITE back to Alice 1899 to re-establish the session. 1901 Despite the BYE sent by Alice in F9, the dialog between Alice and Bob 1902 still exists until the subscription created by the REFER has 1903 terminated (either due to a NOTIFY containing a Subscription-State: 1904 terminated;reason=noresource header field, as in F14, or a 481 1905 response to a NOTIFY). 1907 For more about call transfer see the transfer [7] document. 1909 Message Details 1911 F1 INVITE Bob -> Alice 1913 INVITE sips:alice@atlanta.example.com SIP/2.0 1914 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 1915 Max-Forwards: 70 1916 From: Bob ;tag=314159 1917 To: Alice 1918 Call-ID: 12345601@atlanta.example.com 1919 CSeq: 1 INVITE 1920 Contact: 1921 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1922 Supported: replaces 1923 Content-Type: application/sdp 1924 Content-Length: ... 1926 v=0 1927 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 1928 s=Session SDP 1929 c=IN IP4 client.biloxi.example.com 1930 t=3034423619 0 1931 m=audio 3456 RTP/AVP 0 1932 a=rtpmap:0 PCMU/8000 1934 F2 180 Ringing Alice -> Bob 1936 SIP/2.0 180 Ringing 1937 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 1938 ;received=192.0.2.113 1939 From: Bob ;tag=314159 1940 To: Alice ;tag=1234567 1941 Call-ID: 12345601@atlanta.example.com 1942 CSeq: 1 INVITE 1943 Contact: 1944 Content-Length: 0 1946 F3 200 OK Alice -> Bob 1948 SIP/2.0 200 OK 1949 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 1950 ;received=192.0.2.113 1951 From: Bob ;tag=314159 1952 To: Alice ;tag=1234567 1953 Call-ID: 12345601@atlanta.example.com 1954 CSeq: 1 INVITE 1955 Contact: 1956 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1957 Supported: replaces 1958 Content-Type: application/sdp 1959 Content-Length: ... 1961 v=0 1962 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 1963 s=Session SDP 1964 c=IN IP4 client.atlanta.example.com 1965 t=3034423619 0 1966 m=audio 49170 RTP/AVP 0 1967 a=rtpmap:0 PCMU/8000 1969 F4 ACK Bob -> Alice 1971 ACK sips:alice@client.atlanta.example.com SIP/2.0 1972 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds2 1973 Max-Forwards: 70 1974 From: Bob ;tag=314159 1975 To: Alice ;tag=1234567 1976 Call-ID: 12345601@atlanta.example.com 1977 CSeq: 1 ACK 1978 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1979 Supported: replaces 1980 Content-Length: 0 1982 /* Session is established between Alice and Bob. */ 1984 /* Alice peforms unattended transfer of Bob to Carol */ 1986 F5 REFER Alice -> Bob 1988 REFER sips:bob@client.biloxi.example.com SIP/2.0 1989 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds8 1990 Max-Forwards: 70 1991 From: Alice ;tag=1234567 1992 To: Bob ;tag=314159 1993 Call-ID: 12345601@atlanta.example.com 1994 CSeq: 2 REFER 1995 Refer-To: 1996 Referred-By: 1997 Contact: 1998 Content-Length: 0 2000 F6 202 Accepted Bob -> Alice 2002 SIP/2.0 202 Accepted 2003 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds8 2004 ;received=192.0.2.113 2005 From: Alice ;tag=1234567 2006 To: Bob ;tag=314159 2007 Call-ID: 12345601@atlanta.example.com 2008 CSeq: 2 REFER 2009 Content-Length: 0 2011 F7 NOTIFY Bob -> Alice 2013 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 2014 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds32 2015 Max-Forwards: 70 2016 From: Bob ;tag=314159 2017 To: Alice ;tag=1234567 2018 Call-ID: 12345601@atlanta.example.com 2019 CSeq: 2 NOTIFY 2020 Event: refer 2021 Subscription-State: active;expires=60 2022 Content-Type: message/sipfrag 2023 Content-Length: ... 2025 SIP/2.0 100 Trying 2027 F8 200 OK Alice -> Bob 2029 SIP/2.0 200 OK 2030 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds32 2031 ;received=192.0.2.113 2032 From: Bob ;tag=314159 2033 To: Alice ;tag=1234567 2034 Call-ID: 12345601@atlanta.example.com 2035 CSeq: 2 NOTIFY 2036 Content-Length: 0 2038 /* Alice now disconnects with Bob. */ 2040 F9 BYE Alice -> Bob 2042 BYE sips:bob@client.biloxi.example.com SIP/2.0 2043 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds43 2044 Max-Forwards: 70 2045 From: Alice ;tag=1234567 2046 To: Bob ;tag=314159 2047 Call-ID: 12345601@atlanta.example.com 2048 CSeq: 3 BYE 2049 Content-Length: 0 2050 F10 200 OK Bob -> Alice 2052 SIP/2.0 200 OK 2053 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds43 2054 ;received=192.0.2.105 2055 From: Alice ;tag=1234567 2056 To: Bob ;tag=314159 2057 Call-ID: 12345601@atlanta.example.com 2058 CSeq: 3 BYE 2059 Content-Length: 0 2061 /* Bob attempts the transfer to Carol */ 2063 F11 INVITE Bob -> Carol 2065 INVITE sips:carol@chicago.example.com SIP/2.0 2066 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds1 2067 Max-Forwards: 70 2068 From: Bob ;tag=8675309 2069 To: Carol 2070 Call-ID: 7436222@atlanta.example.com 2071 CSeq: 1 INVITE 2072 Contact: 2073 Referred-By: 2074 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2075 Supported: replaces 2076 Content-Type: application/sdp 2077 Content-Length: ... 2079 v=0 2080 o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com 2081 s=Session SDP 2082 c=IN IP4 client.biloxi.example.com 2083 t=3034423821 0 2084 m=audio 3458 RTP/AVP 0 2085 a=rtpmap:0 PCMU/8000 2087 F12 180 Ringing Carol -> Bob 2089 SIP/2.0 180 Ringing 2090 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds1 2091 ;received=192.0.2.113 2092 From: Bob ;tag=8675309 2093 To: Carol ;tag=928287 2094 Call-ID: 7436222@atlanta.example.com 2095 CSeq: 1 INVITE 2096 Contact: 2097 Content-Length: 0 2099 F13 200 OK Carol -> Bob 2101 SIP/2.0 200 OK 2102 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds1 2103 ;received=192.0.2.113 2104 From: Bob ;tag=8675309 2105 To: Carol ;tag=928287 2106 Call-ID: 7436222@atlanta.example.com 2107 CSeq: 1 INVITE 2108 Contact: 2109 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2110 Supported: replaces 2111 Content-Type: application/sdp 2112 Content-Length: ... 2114 v=0 2115 o=carol 2890844527 2890844527 IN IP4 client.chicago.example.com 2116 s=Session SDP 2117 c=IN IP4 client.chicago.example.com 2118 t=3034423619 0 2119 m=audio 3456 RTP/AVP 0 2120 a=rtpmap:0 PCMU/8000 2122 F14 ACK Bob -> Carol 2124 ACK sips:carol@client.chicago.example.com SIP/2.0 2125 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds9 2126 Max-Forwards: 70 2127 From: Bob ;tag=8675309 2128 To: Carol ;tag=928287 2129 Call-ID: 7436222@atlanta.example.com 2130 CSeq: 1 ACK 2131 Content-Length: 0 2133 /* Bob and Carol now have established a session. Bob reports success to Alice which Alice probably ignores. */ 2135 F15 NOTIFY Bob -> Alice 2137 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 2138 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds67 2139 Max-Forwards: 70 2140 From: Bob ;tag=314159 2141 To: Alice ;tag=1234567 2142 Call-ID: 12345601@atlanta.example.com 2143 CSeq: 3 NOTIFY 2144 Event: refer 2145 Subscription-State: terminated;reason=noresource 2146 Content-Type: message/sipfrag 2147 Content-Length: ... 2149 SIP/2.0 200 OK 2150 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds1 2151 ;received=192.0.2.113 2152 From: Bob ;tag=8675309 2153 To: Carol ;tag=928287 2154 Call-ID: 7436222@atlanta.example.com 2155 CSeq: 1 INVITE 2156 Contact: 2157 Content-Type: application/sdp 2158 Content-Length: ... 2160 F16 200 OK Alice -> Bob 2162 SIP/2.0 200 OK 2163 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds6 2164 ;received=192.0.2.113 2165 From: Bob ;tag=314159 2166 To: Alice ;tag=1234567 2167 Call-ID: 12345601@atlanta.example.com 2168 CSeq: 3 NOTIFY 2169 Content-Length: 0 2171 2.5 Transfer - Attended 2173 Alice Bob Carol 2174 | | | 2175 | INVITE F1 | | 2176 |--------------->| | 2177 | 180 Ringing F2 | | 2178 |<---------------| | 2179 | 200 OK F3 | | 2180 |<---------------| | 2181 | ACK F4 | | 2182 |--------------->| | 2183 | RTP | | 2184 |<==============>| | 2185 |INVITE (hold) F5| | 2186 |<---------------| | 2187 | 200 OK F6 | | 2188 |--------------->| | 2189 | ACK F7 | | 2190 |<---------------| | 2191 | No RTP | | 2192 | | INVITE F8 | 2193 | |------------->| 2194 | | 180 Ringing F9 2195 | |<-------------| 2196 | | 200 OK F10 | 2197 | |<-------------| 2198 | | ACK F11 | 2199 | |------------->| 2200 | | RTP | 2201 | |<============>| 2202 | |INVITE (hold) F12 2203 | |------------->| 2204 | | 200 OK F13 | 2205 | |<-------------| 2206 | | ACK F14 | 2207 | |------------->| 2208 | | No RTP | 2209 | REFER Refer-To: C F15 | 2210 |<---------------| | 2211 |202 Accepted F16| | 2212 |--------------->| | 2213 | NOTIFY F17 | | 2214 |--------------->| | 2215 | 200 OK F18 | | 2216 |<---------------| | 2217 | INVITE Replaces: B F19 | 2218 |------------------------------>| 2219 | 200 OK F20 | 2220 |<------------------------------| 2221 | ACK F21 | 2222 |------------------------------>| 2223 | RTP | 2224 |<=============================>| 2225 | | BYE F22 | 2226 | |<-------------| 2227 | | 200 OK F23 | 2228 | |------------->| 2229 | NOTIFY F24 | | 2230 |--------------->| | 2231 | 200 OK F25 | | 2232 |<---------------| | 2233 | BYE F26 | | 2234 |<---------------| | 2235 | 200 OK F27 | | 2236 |--------------->| | 2238 In this scenario, Alice calls Bob. Bob puts Alice on hold then calls 2239 Carol to announce transfer, then places Carol on hold. Bob 2240 transfers Alice to Carol which replaces the session between Bob and 2241 Carol. Carol then disconnects session with Bob. Alice reports 2242 success of transfer to Bob, who then disconnects with Alice. In this 2243 example, the Replaces header field [4] is inserted into the Refer-To 2244 URI by Bob. Note that the Refer-To URI is the Contact URI returned 2245 by Carol in the 200 OK response F10. This ensures that only the 2246 correct instance of Carol is reached. The presence of the Supported: 2247 gruu header field in message F10 indicates that the Contact URI is, 2248 in fact, a GRUU [20] and will be globally routable outside of the 2249 dialog. Without knowing the Contact URI is a gruu, Bob must be 2250 prepared, if the triggered INVITE had fails, to retry the REFER with 2251 a Refer-To URI of the URI used to reach Carol but with a Require: 2252 replaces header escaped in the Refer-To header field, as discussed in 2253 the transfer [7] document. 2255 Message Details 2257 F1 INVITE Alice -> Bob 2259 INVITE sips:bob@biloxi.example.com SIP/2.0 2261 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 2262 Max-Forwards: 70 2263 From: Alice ;tag=1234567 2264 To: Bob 2265 Call-ID: 12345600@atlanta.example.com 2266 CSeq: 1 INVITE 2267 Contact: 2268 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2269 Supported: replaces 2270 Content-Type: application/sdp 2271 Content-Length: ... 2273 v=0 2274 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 2275 s=Session SDP 2276 c=IN IP4 client.atlanta.example.com 2277 t=3034423619 0 2278 m=audio 49170 RTP/AVP 0 2279 a=rtpmap:0 PCMU/8000 2280 F2 180 Ringing Bob -> Alice 2282 SIP/2.0 180 Ringing 2283 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 2284 ;received=192.0.2.103 2285 From: Alice ;tag=1234567 2286 To: Bob ;tag=23431 2287 Call-ID: 12345600@atlanta.example.com 2288 CSeq: 1 INVITE 2289 Contact: 2290 Content-Length: 0 2292 F3 200 OK Bob -> Alice 2294 SIP/2.0 200 OK 2295 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 2296 ;received=192.0.2.103 2297 From: Alice ;tag=1234567 2298 To: Bob ;tag=23431 2299 Call-ID: 12345600@atlanta.example.com 2300 CSeq: 1 INVITE 2301 Contact: 2302 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2303 Supported: replaces 2304 Content-Type: application/sdp 2305 Content-Length: ... 2307 v=0 2308 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 2309 s=Session SDP 2310 c=IN IP4 client.biloxi.example.com 2311 t=3034423619 0 2312 m=audio 3456 RTP/AVP 0 2313 a=rtpmap:0 PCMU/8000 2315 F4 ACK Alice -> Bob 2317 ACK sips:bob@client.biloxi.example.com SIP/2.0 2318 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf 2319 Max-Forwards: 70 2320 From: Alice ;tag=1234567 2321 To: Bob ;tag=23431 2322 Call-ID: 12345600@atlanta.example.com 2323 CSeq: 1 ACK 2324 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2325 Supported: replaces 2326 Content-Length: 0 2328 /* Alice and Bob have established a session. Bob puts Alice on Hold */ 2330 F5 INVITE Bob -> Alice 2332 INVITE sips:alice@client.atlanta.example.com SIP/2.0 2333 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 2334 Max-Forwards: 70 2335 From: Bob ;tag=23431 2336 To: Alice ;tag=1234567 2337 Call-ID: 12345600@atlanta.example.com 2338 CSeq: 1024 INVITE 2339 Contact: 2340 Content-Type: application/sdp 2341 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2342 Supported: replaces 2343 Content-Length: ... 2345 v=0 2346 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 2347 s=Session SDP 2348 c=IN IP4 client.biloxi.example.com 2349 t=3034423619 0 2350 m=audio 3456 RTP/AVP 0 2351 a=rtpmap:0 PCMU/8000 2352 a=sendonly 2354 F6 200 OK Alice -> Bob 2356 SIP/2.0 200 OK 2357 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 2358 ;received=192.0.2.113 2359 From: Bob ;tag=23431 2360 To: Alice ;tag=1234567 2361 Call-ID: 12345600@atlanta.example.com 2362 CSeq: 1024 INVITE 2363 Contact: 2364 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2365 Supported: replaces 2366 Content-Type: application/sdp 2367 Content-Length: ... 2369 v=0 2370 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 2371 s=Session SDP 2372 c=IN IP4 client.atlanta.example.com 2373 t=3034423619 0 2374 m=audio 49170 RTP/AVP 0 2375 a=rtpmap:0 PCMU/8000 2376 a=recvonly 2378 F7 ACK Bob -> Alice 2380 ACK sips:alice@client.atlanta.example.com SIP/2.0 2381 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds3 2382 Max-Forwards: 70 2383 From: Bob ;tag=23431 2384 To: Alice ;tag=1234567 2385 Call-ID: 12345600@atlanta.example.com 2386 CSeq: 1024 ACK 2387 Content-Length: 0 2389 /* Bob calls Carol */ 2391 F8 INVITE Bob -> Carol 2393 INVITE sips:carol@chicago.example.com SIP/2.0 2394 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnash 2395 Max-Forwards: 70 2396 From: Bob ;tag=8675309 2397 To: Carol 2398 Call-ID: sdjfdjfskdf@biloxi.example.com 2399 CSeq: 42 INVITE 2400 Contact: 2401 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2402 Supported: replaces 2403 Content-Type: application/sdp 2404 Content-Length: ... 2406 v=0 2407 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 2408 s=Session SDP 2409 c=IN IP4 client.biloxi.example.com 2410 t=3034423645 0 2411 m=audio 3458 RTP/AVP 0 2412 a=rtpmap:0 PCMU/8000 2414 F9 180 Ringing Carol -> Bob 2415 SIP/2.0 180 Ringing 2416 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnash 2417 ;received=192.0.2.113 2418 From: Bob ;tag=8675309 2419 To: Carol ;tag=5f35a3 2420 Call-ID: sdjfdjfskdf@biloxi.example.com 2421 CSeq: 42 INVITE 2422 Contact: 2423 Content-Length: 0 2425 F10 200 OK Carol -> Bob 2427 SIP/2.0 200 OK 2428 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnash 2429 ;received=192.0.2.113 2430 From: Bob ;tag=8675309 2431 To: Carol ;tag=5f35a3 2432 Call-ID: sdjfdjfskdf@biloxi.example.com 2433 CSeq: 42 INVITE 2434 Contact: 2435 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2436 Supported: replaces, gruu 2437 Content-Type: application/sdp 2438 Content-Length: ... 2440 v=0 2441 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 2442 s=Session SDP 2443 c=IN IP4 client.chicago.example.com 2444 t=3034423619 0 2445 m=audio 3456 RTP/AVP 0 2446 a=rtpmap:0 PCMU/8000 2448 F11 ACK Bob -> Carol 2450 ACK sips:39itp34klkd@chicago.example.com SIP/2.0 2451 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashd5 2452 Max-Forwards: 70 2453 From: Bob ;tag=8675309 2454 To: Carol ;tag=5f35a3 2455 Call-ID: sdjfdjfskdf@biloxi.example.com 2456 CSeq: 42 ACK 2457 Content-Length: 0 2459 /* Bob puts Carol on hold */ 2460 F12 INVITE Bob -> Carol 2462 INVITE sips:39itp34klkd@chicago.example.com SIP/2.0 2463 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds0 2464 Max-Forwards: 70 2465 From: Bob ;tag=8675309 2466 To: Carol ;tag=5f35a3 2467 Call-ID: sdjfdjfskdf@biloxi.example.com 2468 CSeq: 43 INVITE 2469 Contact: 2470 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2471 Supported: replaces 2472 Content-Type: application/sdp 2473 Content-Length: ... 2475 v=0 2476 o=bob 289084834 2890844835 IN IP4 client.biloxi.example.com 2477 s=Session SDP 2478 c=IN IP4 client.biloxi.example.com 2479 t=3034423645 0 2480 m=audio 3458 RTP/AVP 0 2481 a=rtpmap:0 PCMU/8000 2482 a=sendonly 2484 F13 200 OK Carol -> Bob 2486 SIP/2.0 200 OK 2487 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds0 2488 ;received=192.0.2.113 2489 From: Bob ;tag=8675309 2490 To: Carol ;tag=5f35a3 2491 Call-ID: sdjfdjfskdf@biloxi.example.com 2492 CSeq: 43 INVITE 2493 Contact: 2494 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2495 Supported: replaces, gruu 2496 Content-Type: application/sdp 2497 Content-Length: ... 2499 v=0 2500 o=carol 2890844922 2890844923 IN IP4 client.chicago.example.com 2501 s=Session SDP 2502 c=IN IP4 client.chicago.example.com 2503 t=3034423619 0 2504 m=audio 3456 RTP/AVP 0 2505 a=rtpmap:0 PCMU/8000 2506 a=recvonly 2507 F14 ACK Bob -> Carol 2509 ACK sips:39itp34klkd@chicago.example.com SIP/2.0 2510 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnash334 2511 Max-Forwards: 70 2512 From: Bob ;tag=8675309 2513 To: Carol ;tag=5f35a3 2514 Call-ID: sdjfdjfskdf@biloxi.example.com 2515 CSeq: 43 ACK 2516 Content-Length: 0 2518 /* Bob Transfers Alice to Carol. */ 2520 F15 REFER Bob -> Alice 2522 REFER sips:alice@client.atlanta.example.com SIP/2.0 2523 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds2g 2524 Max-Forwards: 70 2525 From: Bob ;tag=23431 2526 To: Alice ;tag=1234567 2527 Call-ID: 12345600@atlanta.example.com 2528 CSeq: 1025 REFER 2529 Refer-To: 2531 Referred-By: 2532 Contact: 2533 Content-Length: 0 2535 F16 202 Accepted Alice -> Bob 2537 SIP/2.0 202 Accepted 2538 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds2g 2539 ;received=192.0.2.113 2540 From: Bob ;tag=1234567 2541 To: Alice ;tag=23431 2542 Call-ID: 12345600@atlanta.example.com 2543 CSeq: 1025 REFER 2544 Content-Length: 0 2546 F17 NOTIFY Alice -> Bob 2548 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 2549 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfK 2550 Max-Forwards: 70 2551 From: Alice ;tag=1234567 2552 To: Bob ;tag=23431 2553 Call-ID: 12345600@atlanta.example.com 2554 CSeq: 2 NOTIFY 2555 Contact: 2556 Event: refer 2557 Subscription-State: active;expires=60 2558 Content-Type: message/sipfrag 2559 Content-Length: ... 2561 SIP/2.0 100 Trying 2563 F18 200 OK Bob -> Carol 2565 SIP/2.0 200 OK 2566 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfK 2567 ;received=192.0.2.103 2568 To: Bob ;tag=1234567 2569 From: Carol ;tag=5f35a3 2570 Call-ID: 12345600@atlanta.example.com 2571 CSeq: 2 NOTIFY 2572 Content-Length: 0 2574 /* Alice establishes session with Carol which replaces the session 2575 between Bob and Carol */ 2577 F19 INVITE Alice -> Carol 2579 INVITE sips:39itp34klkd@chicago.example.com SIP/2.0 2580 Via: SIP/2.0/TLS chicago.example.com:5061;branch=z9hG4bKadfe4ko 2581 To: Carol 2582 Max-Forwards: 70 2583 From: Alice ;tag=3461 2584 Call-ID: 9435674543@atlanta.example.com 2585 CSeq: 1 INVITE 2586 Referred-By: 2587 Replaces: sdjfdjfskdf@biloxi.example.com;to-tag=5f35a3;from-tag=8675309 2588 Contact: 2589 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2590 Supported: replaces 2591 Content-Type: application/sdp 2592 Content-Length: ... 2594 v=0 2595 o=alice 2890844989 2890844989 IN IP4 client.atlanta.example.com 2596 s=Session SDP 2597 c=IN IP4 client.atlanta.example.com 2598 t=3034423643 0 2599 m=audio 3458 RTP/AVP 0 2600 a=rtpmap:0 PCMU/8000 2602 F20 200 OK Carol -> Alice 2604 SIP/2.0 200 OK 2605 Via: SIP/2.0/TLS chicago.example.com:5061;branch=z9hG4bKadfe4ko 2606 ;received=192.0.2.123 2607 To: Carol ;tag=ff3a 2608 From: Alice ;tag=3461 2609 Call-ID: 9435674543@atlanta.example.com 2610 CSeq: 1 INVITE 2611 Contact: 2612 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2613 Supported: replaces, gruu 2614 Content-Type: application/sdp 2615 Content-Length: ... 2617 v=0 2618 o=alice 2890844221 2890844221 IN IP4 client.chicago.example.com 2619 s=Session SDP 2620 c=IN IP4 client.chicago.example.com 2621 t=3034423452 0 2622 m=audio 49172 RTP/AVP 0 2623 a=rtpmap:0 PCMU/8000 2625 F21 ACK Alice -> Carol 2627 ACK sips:39itp34klkd@chicago.example.com SIP/2.0 2628 Via: SIP/2.0/TLS chicago.example.com:5061;branch=z9hG4bKadfe4kU3 2629 To: Carol ;tag=ff3a 2630 Max-Forwards: 70 2631 From: Alice ;tag=3461 2632 Call-ID: 9435674543@atlanta.example.com 2633 CSeq: 1 INVITE 2634 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2635 Supported: replaces 2636 Content-Length: 0 2638 /* Carol then disconnects from Bob */ 2640 F22 BYE Carol -> Bob 2642 BYE sips:bob@client.biloxi.example.com SIP/2.0 2643 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfE 2644 To: Bob ;tag=8675309 2645 Max-Forwards: 70 2646 From: Carol ;tag=5f35a3 2647 Call-ID: sdjfdjfskdf@biloxi.example.com 2648 CSeq: 1 BYE 2649 Content-Length: 0 2651 F23 200 OK Bob -> Carol 2653 SIP/2.0 200 OK 2654 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfE 2655 ;received=192.0.2.103 2656 To: Bob ;tag=8675309 2657 From: Carol ;tag=5f35a3 2658 Call-ID: sdjfdjfskdf@biloxi.example.com 2659 CSeq: 1 BYE 2660 Content-Length: 0 2662 /* Alice tells Bob that the call has been successfully transferred */ 2664 F24 NOTIFY Alice -> Bob 2666 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 2667 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf2N 2668 Max-Forwards: 70 2669 From: Alice ;tag=1234567 2670 To: Bob ;tag=23431 2671 Call-ID: 12345600@atlanta.example.com 2672 CSeq: 3 NOTIFY 2673 Event: refer 2674 Subscription-State: terminated;reason=noresource 2675 Content-Type: message/sipfrag 2676 Content-Length: ... 2678 SIP/2.0 200 OK 2679 Via: SIP/2.0/TLS chicago.example.com:5061;branch=z9hG4bKadfe4ko 2680 ;received=192.0.2.123 2681 From: Carol ;tag=ff3a 2682 To: Alice ;tag=3461 2683 Call-ID: 9435674543@chicago.example.com 2684 CSeq: 1 INVITE 2685 Contact: 2686 F25 200 OK Bob -> Carol 2688 SIP/2.0 200 OK 2689 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 2690 ;received=192.0.2.103 2691 To: Bob ;tag=1234567 2692 From: Carol ;tag=5f35a3 2693 Call-ID: 12345600@atlanta.example.com 2694 CSeq: 3 NOTIFY 2695 Content-Length: 0 2697 /* Bob disconnects with Alice */ 2699 F26 BYE Bob -> Alice 2701 BYE sips:alice@client.atlanta.example.com SIP/2.0 2702 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7P 2703 Max-Forwards: 70 2704 From: Bob ;tag=23431 2705 To: Alice ;tag=1234567 2706 Call-ID: 12345600@atlanta.example.com 2707 CSeq: 1026 BYE 2708 Content-Length: 0 2710 F27 200 OK Alice -> Bob 2712 SIP/2.0 200 OK 2713 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7P 2714 ;received=192.0.2.113 2715 From: Bob ;tag=23431 2716 To: Alice ;tag=1234567 2717 Call-ID: 12345600@atlanta.example.com 2718 CSeq: 1026 BYE 2719 Content-Length: 0 2721 2.6 Transfer - Instant Messaging 2723 Alice Bob Carol 2724 | | | 2725 | INVITE F1 | | 2726 |------------->| | 2727 | 180 Ringing F2 | 2728 |<-------------| | 2729 | 200 OK F3 | | 2730 |<-------------| | 2731 | ACK F4 | | 2732 |------------->| | 2733 | Both way RTP Established | 2734 |<============>| | 2735 | | MESSAGE F5 | 2736 | |------------------>| 2737 | | 200 OK F6 | 2738 | |<------------------| 2739 | | | 2740 | INVITE Replaces:A-B F7 | 2741 |<---------------------------------| 2742 | 200 OK F8 | 2743 |--------------------------------->| 2744 | ACK F9 | 2745 |<---------------------------------| 2746 | Both way RTP Established | 2747 |<================================>| 2748 | BYE F10 | | 2749 |------------->| | 2750 | 200 OK F11 | | 2751 |<-------------| | 2752 | | 2754 In this scenario, Alice and Bob establish a session between them. 2755 Bob wants Carol to take the call so sends an Instant Message (IM) to 2756 Carol containing Alice's URI and an embedded Replaces header field. 2757 If Carol clicks on the URI, Carol's SIP UA sends an INVITE to Alice 2758 which replaces the session with Bob. 2760 This scenario shows the use of the SIP MESSAGE [15] method to pass 2761 the URI. However, another IM protocol or other method could have 2762 been used to pass the URI from Bob to Carol. 2764 Message Details 2766 F1 INVITE Alice -> Bob 2767 INVITE sips:bob@client.biloxi.example.com SIP/2.0 2768 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 2769 Max-Forwards: 70 2770 From: Alice ;tag=1234567 2771 To: Bob 2772 Call-ID: 12345600@atlanta.example.com 2773 CSeq: 1 INVITE 2774 Contact: 2775 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2776 Supported: replaces, gruu 2777 Content-Type: application/sdp 2778 Content-Length: ... 2780 v=0 2781 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 2782 s=Session SDP 2783 c=IN IP4 client.atlanta.example.com 2784 t=0 0 2785 m=audio 49170 RTP/AVP 0 2786 a=rtpmap:0 PCMU/8000 2788 F2 180 Ringing Bob -> Alice 2790 SIP/2.0 180 Ringing 2791 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 2792 ;received=192.0.2.103 2793 From: Alice ;tag=1234567 2794 To: Bob ;tag=3145678 2795 Call-ID: 12345600@atlanta.example.com 2796 CSeq: 1 INVITE 2797 Contact: 2798 Content-Length: 0 2800 F3 200 OK Bob -> Alice 2802 SIP/2.0 200 OK 2803 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 2804 ;received=192.0.2.103 2805 From: Alice ;tag=1234567 2806 To: Bob ;tag=3145678 2807 Call-ID: 12345600@atlanta.example.com 2808 Contact: 2809 CSeq: 1 INVITE 2810 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 2811 Supported: replaces 2812 Content-Type: application/sdp 2813 Content-Length: ... 2815 v=0 2816 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 2817 s=Session SDP 2818 c=IN IP4 client.biloxi.example.com 2819 t=3034423619 0 2820 m=audio 3456 RTP/AVP 0 2821 a=rtpmap:0 PCMU/8000 2823 F4 ACK Alice -> Bob 2825 ACK sips:bob@client.biloxi.example.com SIP/2.0 2826 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74r 2827 Max-Forwards: 70 2828 From: Alice ;tag=1234567 2829 To: Bob ;tag=3145678 2830 Call-ID: 12345600@atlanta.example.com 2831 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2832 Supported: replaces 2833 CSeq: 1 ACK 2834 Content-Length: 0 2836 /* Bob IMs Carol */ 2838 F5 MESSAGE Bob -> Carol 2840 MESSAGE sips:carol@chicago.example.com SIP/2.0 2841 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnash 2842 Max-Forwards: 70 2843 From: Bob ;tag=8675309 2844 To: Carol 2845 Call-ID: sdjfdjfskdf@biloxi.example.com 2846 CSeq: 42 MESSAGE 2847 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 2848 Supported: replaces 2849 Content-Type: text/html 2850 Content-Length: ... 2852 Do you want to take this call from 2853 2855 Alice? 2857 F6 200 OK Carol -> Bob 2859 SIP/2.0 200 OK 2860 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnash 2861 ;received=192.0.2.113 2862 From: Bob ;tag=8675309 2863 To: Carol ;tag=5f35a3 2864 Call-ID: sdjfdjfskdf@biloxi.example.com 2865 CSeq: 42 MESSAGE 2866 Contact: 2867 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 2868 Supported: replaces 2869 Content-Length: 0 2871 /* Carol takes the call from Bob */ 2873 F7 INVITE Carol -> Alice 2875 INVITE sips:a8342043f@atlanta.example.com SIP/2.0 2876 Via: SIP/2.0/TLS pc.biloxi.example.com:5061;branch=z9hG4bK74HH 2877 Max-Forwards: 70 2878 From: Carol ;tag=8675309 2879 To: Alice 2880 Call-ID: 563456212@b2.biloxi.example.com 2881 CSeq: 1 INVITE 2882 Replaces: 12345600@atlanta.example.com;to-tag=314578;from-tag=1234567 2883 Contact: 2884 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 2885 Supported: replaces 2886 Content-Type: application/sdp 2887 Content-Length: ... 2889 v=0 2890 o=bob 2890843122 2890843122 IN IP4 client.chicago.example.com 2891 s=Session SDP 2892 c=IN IP4 client.chicago.example.com 2893 t=3034423619 0 2894 m=audio 5342 RTP/AVP 0 2895 a=rtpmap:0 PCMU/8000 2897 /* Alice matches the dialog information in the Replaces header and accepts 2898 the INVITE */ 2900 F8 200 OK Alice -> Carol 2901 SIP/2.0 200 OK 2902 Via: SIP/2.0/TLS pc.biloxi.example.com:5061;branch=z9hG4bK74HH 2903 ;received=192.0.2.114 2904 From: Carol ;tag=8675309 2905 To: Alice ;tag=131256 2906 Call-ID: 563456212@b2.biloxi.example.com 2907 CSeq: 1 INVITE 2908 Contact: 2909 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2910 Supported: replaces, gruu 2911 Content-Type: application/sdp 2912 Content-Length: ... 2914 v=0 2915 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com 2916 s=Session SDP 2917 c=IN IP4 client.atlanta.example.com 2918 t=0 0 2919 m=audio 49172 RTP/AVP 0 2920 a=rtpmap:0 PCMU/8000 2922 F9 ACK Carol -> Alice 2924 ACK sips:a8342043f@atlanta.example.com SIP/2.0 2925 Via: SIP/2.0/TLS b2.biloxi.example.com:5061;branch=z9hG4bK7435 2926 Max-Forwards: 70 2927 From: Carol ;tag=8675309 2928 To: Alice ;tag=131256 2929 Call-ID: 563456212@b2.biloxi.example.com 2930 CSeq: 1 ACK 2931 Content-Length: 0 2933 /* RTP streams are established between Alice and Carol. 2934 Alice Hangs Up with Bob due to the Replaces header field. */ 2936 F10 BYE Alice -> Bob 2938 BYE sips:carol@client.example.com SIP/2.0 2939 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf 2940 Max-Forwards: 70 2941 To: Bob ;tag=8675309 2942 From: Alice ;tag=131256 2943 Call-ID: 563456212@b2.biloxi.example.com 2944 CSeq: 2 BYE 2945 Content-Length: 0 2946 F11 200 OK Bob -> Alice 2948 SIP/2.0 200 OK 2949 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf 2950 ;received=192.0.2.103 2951 To: Bob ;tag=8675309 2952 From: Alice ;tag=131256 2953 Call-ID: 563456212@b2.biloxi.example.com 2954 CSeq: 2 BYE 2955 Content-Length: 0 2957 2.7 Call Forwarding Unconditional 2959 Alice Proxy Gateway 2960 | | | 2961 | INVITE F1 | | 2962 |--------------->| | 2963 |(100 Trying) F2 | | 2964 |<---------------| | 2965 | (181 Call Is Being Forwarded) F3 2966 |<---------------| INVITE F4 | 2967 | |------------->| 2968 | |180 Ringing F5| 2969 | 180 Ringing F6 |<-------------| 2970 |<---------------| 200 OK F7 | 2971 | 200 OK F8 |<-------------| 2972 |<---------------| | 2973 | ACK F9 | | 2974 |--------------->| ACK F10 | 2975 | |------------->| 2976 | Both way RTP Established | 2977 |<=============================>| 2978 | BYE F11 | | 2979 |--------------->| BYE F12 | 2980 | |------------->| 2981 | | 200 OK F13 | 2982 | 200 OK F14 |<-------------| 2983 |<---------------| | 2984 | | | 2986 Bob wants all calls forwarded to the PSTN (which is just another URI 2987 to the proxy server). Alice calls Bob. The proxy server rewrites 2988 the Request URI, and forwards the INVITE to a Gateway. Details of 2989 messaging behind the Gateway are not shown. 2991 Note that the 181 Call is Being Forwarded response does not have a To 2992 tag added as the proxy does not wish to establish an early dialog 2993 with Alice. 2995 Note also that forwarding could be accomplished using a redirect (302 2996 Moved Temporarily response). 2998 Message Details 3000 F1 INVITE Alice -> Proxy 3002 INVITE sips:bob@biloxi.example.com SIP/2.0 3003 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3004 Max-Forwards: 70 3005 From: Alice ;tag=1234567 3006 To: Bob 3007 Call-ID: 12345600@atlanta.example.com 3008 CSeq: 1 INVITE 3009 Contact: 3010 Content-Type: application/sdp 3011 Content-Length: ... 3013 v=0 3014 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3015 s=Session SDP 3016 c=IN IP4 client.atlanta.example.com 3017 t=3034423619 0 3018 m=audio 49170 RTP/AVP 0 3019 a=rtpmap:0 PCMU/8000 3021 F2 (100 Trying) Proxy -> Alice 3023 SIP/2.0 100 Trying 3024 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3025 ;received=192.0.2.103 3026 From: Alice ;tag=1234567 3027 To: Bob 3028 Call-ID: 12345600@atlanta.example.com 3029 CSeq: 1 INVITE 3030 Content-Length: 0 3032 F3 (181 Call is Being Forwarded) Proxy -> Alice 3033 SIP/2.0 181 Call is Being Forwarded 3034 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3035 ;received=192.0.2.103 3036 From: Alice ;tag=1234567 3037 To: Bob 3038 Call-ID: 12345600@atlanta.example.com 3039 CSeq: 1 INVITE 3040 Content-Length: 0 3042 /* Proxy forwards call by rewriting Request-URI */ 3044 F4 INVITE Proxy -> Gateway 3046 INVITE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3047 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 3048 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3049 ;received=192.0.2.103 3050 Record-Route: 3051 Max-Forwards: 69 3052 From: Alice ;tag=1234567 3053 To: Bob 3054 Call-ID: 12345600@atlanta.example.com 3055 CSeq: 1 INVITE 3056 Contact: 3057 Content-Type: application/sdp 3058 Content-Length: ... 3060 v=0 3061 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3062 s=Session SDP 3063 c=IN IP4 client.atlanta.example.com 3064 t=3034423619 3065 m=audio 49170 RTP/AVP 0 3066 a=rtpmap:0 PCMU/8000 3068 F5 180 Ringing Gateway -> Proxy 3070 SIP/2.0 180 Ringing 3071 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 3072 ;received=192.0.2.54 3073 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3074 ;received=192.0.2.103 3075 Record-Route: 3076 From: Alice ;tag=1234567 3077 To: Bob ;tag=314159 3078 Call-ID: 12345600@atlanta.example.com 3079 CSeq: 1 INVITE 3080 Contact: 3081 Content Length:0 3083 F6 180 Ringing Proxy -> Alice 3085 SIP/2.0 180 Ringing 3086 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3087 ;received=192.0.2.103 3088 Record-Route: 3089 From: Alice ;tag=1234567 3090 To: Bob ;tag=314159 3091 Call-ID: 12345600@atlanta.example.com 3092 CSeq: 1 INVITE 3093 Contact: 3094 Content Length: 0 3096 F7 200 OK Gateway -> Proxy 3098 SIP/2.0 200 OK 3099 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 3100 ;received=192.0.2.54 3101 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3102 ;received=192.0.2.103 3103 Record-Route: 3104 From: Alice ;tag=1234567 3105 To: Bob ;tag=314159 3106 Call-ID: 12345600@atlanta.example.com 3107 CSeq: 1 INVITE 3108 Contact: 3109 Content-Type: application/sdp 3110 Content-Length: ... 3112 v=0 3113 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com 3114 s=Session SDP 3115 c=IN IP4 gatewayone.example.com 3116 t=0 0 3117 m=audio 3456 RTP/AVP 0 3118 a=rtpmap:0 PCMU/8000 3120 F8 200 OK Proxy -> Alice 3122 SIP/2.0 200 OK 3123 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3124 ;received=192.0.2.103 3126 Record-Route: 3127 From: Alice ;tag=1234567 3128 To: Bob ;tag=314159 3129 Call-ID: 12345600@atlanta.example.com 3130 CSeq: 1 INVITE 3131 Contact: 3132 Content-Type: application/sdp 3133 Content-Length: ... 3135 v=0 3136 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com 3137 s=Session SDP 3138 c=IN IP4 gatewayone.example.com 3139 t=0 0 3140 m=audio 3456 RTP/AVP 0 3141 a=rtpmap:0 PCMU/8000 3143 F9 ACK Alice -> Proxy 3145 ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3146 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf31 3147 Route: 3148 Max-Forwards: 70 3149 From: Alice ;tag=1234567 3150 To: Bob ;tag=314159 3151 Call-ID: 12345600@atlanta.example.com 3152 CSeq: 1 ACK 3153 Content-Length: 0 3155 F10 ACK Proxy -> Gateway 3157 ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3158 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749ws.1 3159 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf31 3160 ;received=192.0.2.103 3161 Max-Forwards: 69 3162 From: Alice ;tag=1234567 3163 To: Bob ;tag=314159 3164 Call-ID: 12345600@atlanta.example.com 3165 CSeq: 1 ACK 3166 Content-Length: 0 3168 F11 BYE Alice -> Proxy 1 3170 BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3171 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfJe 3172 Route: 3173 Max-Forwards: 70 3174 From: Alice ;tag=1234567 3175 To: Bob ;tag=314159 3176 Call-ID: 12345600@atlanta.example.com 3177 CSeq: 2 BYE 3178 Content-Length: 0 3180 F12 BYE Proxy 1 -> Gateway 3182 BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3183 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749G1 3184 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfJe 3185 ;received=192.0.2.103 3186 Max-Forwards: 69 3187 From: Alice ;tag=1234567 3188 To: Bob ;tag=314159 3189 Call-ID: 12345600@atlanta.example.com 3190 CSeq: 2 BYE 3191 Content-Length: 0 3193 F13 200 OK Gateway -> Proxy 1 3195 SIP/2.0 200 OK 3196 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749G 3197 ;received=192.0.2.54 3198 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfJe 3199 ;received=192.0.2.103 3200 From: Alice ;tag=1234567 3201 To: Bob ;tag=314159 3202 Call-ID: 12345600@atlanta.example.com 3203 CSeq: 2 BYE 3204 Content-Length: 0 3206 F14 200 OK Proxy 1 -> Alice 3208 SIP/2.0 200 OK 3209 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfJe 3210 ;received=192.0.2.103 3211 From: Alice ;tag=1234567 3212 To: Bob ;tag=314159 3213 Call-ID: 12345600@atlanta.example.com 3214 CSeq: 2 BYE 3215 Content-Length: 0 3217 2.8 Call Forwarding - Busy 3219 Alice Proxy User B1 User B2 3220 | | | | 3221 | INVITE F1 | | | 3222 |--------------->| INVITE F2 | | 3223 | |------------->| | 3224 |(100 Trying) F3 | | | 3225 |<---------------| 486 Busy F4 | | 3226 | |<-------------| | 3227 | | ACK F5 | | 3228 | |------------->| | 3229 |(181 Call is Being Forwarded) F6 | 3230 |<---------------| | INVITE F7 | 3231 | |--------------------------------->| 3232 | | | 180 Ringing F8 | 3233 | |<---------------------------------| 3234 | 180 Ringing F9 | | | 3235 |<---------------| | 200 OK F10 | 3236 | |<---------------------------------| 3237 | 200 OK F11 | | | 3238 |<---------------| | | 3239 | ACK F12 | | | 3240 |--------------->| | ACK F13 | 3241 | |--------------------------------->| 3242 | Both way RTP Established | 3243 |<=================================================>| 3244 | BYE F14 | | | 3245 |--------------->| | BYE F15 | 3246 | |--------------------------------->| 3247 | | | 200 OK F16 | 3248 | 200 OK F17 |<---------------------------------| 3249 |<---------------| | | 3250 | | | | 3252 Bob wants calls to B1 forwarded to B2 if B1 is busy (this information 3253 is known to the proxy). Alice calls B1, B1 is busy, the proxy server 3254 places call to B2. 3256 Message Details 3258 F1 INVITE Alice -> Proxy 3260 INVITE sips:bob@biloxi.example.com SIP/2.0 3261 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3262 Max-Forwards: 70 3263 From: Alice ;tag=1234567 3264 To: Bob 3265 Call-ID: 12345600@atlanta.example.com 3266 CSeq: 1 INVITE 3267 Contact: 3268 Content-Type: application/sdp 3269 Content-Length: ... 3271 v=0 3272 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3273 s=Session SDP 3274 c=IN IP4 client.atlanta.example.com 3275 t=0 0 3276 m=audio 49170 RTP/AVP 0 3277 a=rtpmap:0 PCMU/8000 3279 F2 INVITE Proxy -> B1 3281 INVITE sips:bob@client.biloxi.example.com SIP/2.0 3282 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 3283 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3284 ;received=192.0.2.103 3285 Record-Route: 3286 Max-Forwards: 69 3287 From: Alice ;tag=1234567 3288 To: Bob 3289 Call-ID: 12345600@atlanta.example.com 3290 CSeq: 1 INVITE 3291 Contact: 3292 Content-Type: application/sdp 3293 Content-Length: ... 3295 v=0 3296 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3297 s=Session SDP 3298 c=IN IP4 client.atlanta.example.com 3299 t=0 0 3300 m=audio 49170 RTP/AVP 0 3301 a=rtpmap:0 PCMU/8000 3303 F3 (100 Trying) Proxy -> Alice 3305 SIP/2.0 100 Trying 3306 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3307 ;received=192.0.2.103 3308 From: Alice ;tag=1234567 3309 To: Bob 3310 Call-ID: 12345600@atlanta.example.com 3311 CSeq: 1 INVITE 3312 Content-Length: 0 3314 F4 486 Busy Here B1 -> Proxy 3316 SIP/2.0 486 Busy Here 3317 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 3318 ;received=192.0.2.54 3319 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3320 ;received=192.0.2.103 3321 From: Alice ;tag=1234567 3322 To: Bob ;tag=765432 3323 Call-ID: 12345600@atlanta.example.com 3324 CSeq: 1 INVITE 3325 Content-Length: 0 3327 F5 ACK Proxy -> B1 3329 ACK sips:bob@client.biloxi.example.com SIP/2.0 3330 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 3331 Max-Forwards: 70 3332 From: Alice ;tag=1234567 3333 To: Bob ;tag=765432 3334 Call-ID: 12345600@atlanta.example.com 3335 CSeq: 1 ACK 3336 Content-Length: 0 3338 F6 (181 Call is Being Forwarded) Proxy -> Alice 3340 SIP/2.0 181 Call is Being Forwarded 3341 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3342 ;received=192.0.2.103 3343 From: Alice ;tag=1234567 3344 To: Bob 3345 Call-ID: 12345600@atlanta.example.com 3346 CSeq: 1 INVITE 3347 Content-Length: 0 3349 /* The proxy now forwards the call to B2 */ 3351 F7 INVITE Proxy -> B2 3352 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 3353 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.2 3354 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3355 ;received=192.0.2.103 3356 Record-Route: 3357 Max-Forwards: 69 3358 From: Alice ;tag=1234567 3359 To: Bob 3360 Call-ID: 12345600@atlanta.example.com 3361 CSeq: 1 INVITE 3362 Contact: 3363 Content-Type: application/sdp 3364 Content-Length: ... 3366 v=0 3367 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3368 s=Session SDP 3369 c=IN IP4 client.atlanta.example.com 3370 t=0 0 3371 m=audio 49170 RTP/AVP 0 3372 a=rtpmap:0 PCMU/8000 3374 F8 180 Ringing B2 -> Proxy 3376 SIP/2.0 180 Ringing 3377 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.2 3378 ;received=192.0.2.54 3379 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3380 ;received=192.0.2.103 3381 Record-Route: 3382 From: Alice ;tag=1234567 3383 To: Bob ;tag=7654321 3384 Call-ID: 12345600@atlanta.example.com 3385 CSeq: 1 INVITE 3386 Contact: 3387 Content-Length: 0 3389 F9 180 Ringing Proxy -> Alice 3391 SIP/2.0 180 Ringing 3392 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3393 ;received=192.0.2.103 3394 Record-Route: 3395 From: Alice ;tag=1234567 3396 To: Bob ;tag=7654321 3397 Call-ID: 12345600@atlanta.example.com 3398 CSeq: 1 INVITE 3399 Contact: 3400 Content-Length: 0 3402 F10 200 OK B2 -> Proxy 3404 SIP/2.0 200 OK 3405 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.2 3406 ;received=192.0.2.54 3407 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3408 ;received=192.0.2.103 3409 Record-Route: 3410 From: Alice ;tag=1234567 3411 To: Bob ;tag=7654321 3412 Call-ID: 12345600@atlanta.example.com 3413 CSeq: 1 INVITE 3414 Contact: 3415 Content-Type: application/sdp 3416 Content-Length: ... 3418 v=0 3419 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 3420 s=Session SDP 3421 c=IN IP4 client2.biloxi.example.com 3422 t=0 0 3423 m=audio 3456 RTP/AVP 0 3425 a=rtpmap:0 PCMU/8000 3427 F11 200 OK Proxy -> Alice 3429 SIP/2.0 200 OK 3430 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3431 ;received=192.0.2.103 3432 Record-Route: 3433 From: Alice ;tag=1234567 3434 To: Bob ;tag=7654321 3435 Call-ID: 12345600@atlanta.example.com 3436 CSeq: 1 INVITE 3437 Contact: 3438 Content-Type: application/sdp 3439 Content-Length: ... 3441 v=0 3442 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 3443 s=Session SDP 3444 c=IN IP4 client2.biloxi.example.com 3445 t=0 0 3446 m=audio 3456 RTP/AVP 0 3447 a=rtpmap:0 PCMU/8000 3449 F12 ACK Alice -> Proxy 3451 ACK sips:bob@client2.biloxi.example.com SIP/2.0 3452 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfX 3453 Route: 3454 Max-Forwards: 70 3455 From: Alice ;tag=1234567 3456 To: Bob ;tag=7654321 3457 Call-ID: 12345600@atlanta.example.com 3459 F13 ACK Proxy -> B2 3461 ACK sips:bob@client2.biloxi.example.com SIP/2.0 3462 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83731 3463 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfX 3464 ;received=192.0.2.103 3465 Max-Forwards: 69 3466 From: Alice ;tag=1234567 3467 To: Bob ;tag=7654321 3468 Call-ID: 12345600@atlanta.example.com 3469 CSeq: 1 ACK 3470 Content-Length: 0 3472 /* RTP streams are established between A and B2 */ 3474 /* Alice eventually hangs up with User B2. */ 3476 F14 BYE Alice -> Proxy 3478 BYE sips:bob@client2.biloxi.example.com SIP/2.0 3479 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bW4 3480 Route: 3481 Max-Forwards: 70 3482 From: Alice ;tag=1234567 3483 To: Bob ;tag=7654321 3484 Call-ID: 12345600@atlanta.example.com 3485 CSeq: 2 BYE 3486 Content-Length: 0 3487 F15 BYE Proxy -> B2 3489 BYE sips:bob@client2.biloxi.example.com SIP/2.0 3490 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK837493 3491 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bW4 3492 ;received=192.0.2.103 3493 Max-Forwards: 69 3494 From: Alice ;tag=1234567 3495 To: Bob ;tag=7654321 3496 Call-ID: 12345600@atlanta.example.com 3497 CSeq: 2 BYE 3498 Content-Length: 0 3500 F16 200 OK B2 -> Proxy 3502 SIP/2.0 200 OK 3503 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK837493 3504 ;received=192.0.2.54 3505 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bW4 3506 ;received=192.0.2.103 3507 From: Alice ;tag=1234567 3508 To: Bob ;tag=7654321 3509 Call-ID: 12345600@atlanta.example.com 3510 CSeq: 2 BYE 3511 Content-Length: 0 3513 F17 200 OK Proxy -> Alice 3515 SIP/2.0 200 OK 3516 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bW4 3517 ;received=192.0.2.103 3518 From: Alice ;tag=1234567 3519 To: Bob ;tag=7654321 3520 Call-ID: 12345600@atlanta.example.com 3521 CSeq: 2 BYE 3522 Content-Length: 0 3524 2.9 Call Forwarding - No Answer 3525 Alice Proxy User B1 User B2 3526 | | | | 3527 | INVITE F1 | | | 3528 |--------------->| INVITE F2 | | 3529 |(100 Trying) F3 |------------->| | 3530 |<---------------|180 Ringing F4| | 3531 | 180 Ringing F5 |<-------------| | 3532 |<---------------| | | 3533 | Request Timeout | 3534 | | | | 3535 | | CANCEL F6 | | 3536 | |------------->| | 3537 | | 200 OK F7 | | 3538 | |<-------------| | 3539 | | 487 F8 | | 3540 | |<-------------| | 3541 | | ACK F9 | | 3542 | |------------->| | 3543 |(181 Call is Being Forwarded) F10 | 3544 |<---------------| | INVITE F11 | 3545 | |--------------------------------->| 3546 | | | 180 Ringing F12 | 3547 | 180 Ringing F13|<---------------------------------| 3548 |<---------------| | 200 OK F14 | 3549 | |<---------------------------------| 3550 | 200 OK F15 | | | 3551 |<---------------| | | 3552 | ACK F16 | | | 3553 |--------------->| | ACK F17 | 3554 | |--------------------------------->| 3555 | Both way RTP Established | 3556 |<=================================================>| 3557 | BYE F18 | | | 3558 |--------------->| | BYE F19 | 3559 | |--------------------------------->| 3560 | | | 200 OK F20 | 3561 | 200 OK F21 |<---------------------------------| 3562 |<---------------| | | 3563 | | | | 3565 Bob wants calls to B1 forwarded to B2 if B1 is not answered 3566 (information is known to the proxy server). Alice calls B1 and no 3567 one answers. The proxy server then places the call to B2. 3569 Message Details 3571 F1 INVITE Alice -> Proxy 3572 INVITE sips:bob@biloxi.example.com SIP/2.0 3573 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3574 Max-Forwards: 70 3575 From: Alice ;tag=1234567 3576 To: Bob 3577 Call-ID: 12345600@atlanta.example.com 3578 CSeq: 1 INVITE 3579 Contact: 3580 Content-Type: application/sdp 3581 Content-Length: ... 3583 v=0 3584 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3585 s=Session SDP 3586 c=IN IP4 client.atlanta.example.com 3587 t=0 0 3588 m=audio 49170 RTP/AVP 0 3589 a=rtpmap:0 PCMU/8000 3591 F2 INVITE Proxy -> B1 3593 INVITE sips:bob@client.biloxi.example.com SIP/2.0 3594 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 3595 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3596 ;received=192.0.2.103 3597 Record-Route: 3598 Max-Forwards: 69 3599 From: Alice ;tag=1234567 3600 To: Bob 3601 Call-ID: 12345600@atlanta.example.com 3602 CSeq: 1 INVITE 3603 Contact: 3604 Content-Type: application/sdp 3605 Content-Length: ... 3607 v=0 3608 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3609 s=Session SDP 3610 c=IN IP4 client.atlanta.example.com 3611 t=0 0 3612 m=audio 49170 RTP/AVP 0 3613 a=rtpmap:0 PCMU/8000 3615 F3 (100 Trying) Proxy -> Alice 3617 SIP/2.0 100 Trying 3618 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3619 ;received=192.0.2.103 3620 From: Alice ;tag=1234567 3621 To: Bob 3622 Call-ID: 12345600@atlanta.example.com 3623 CSeq: 1 INVITE 3624 Content-Length: 0 3626 F4 180 Ringing B1 -> Proxy 3628 SIP/2.0 180 Ringing 3629 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 3630 ;received=192.0.2.54 3631 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3632 ;received=192.0.2.103 3633 Record-Route: 3634 From: Alice ;tag=1234567 3635 To: Bob ;tag=3145678 3636 Call-ID: 12345600@atlanta.example.com 3637 CSeq: 1 INVITE 3638 Contact: 3639 Content-Length: 0 3641 F5 180 Ringing Proxy -> Alice 3643 SIP/2.0 180 Ringing 3644 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3645 ;received=192.0.2.103 3646 Record-Route: 3647 From: Alice ;tag=1234567 3648 To: Bob ;tag=3145678 3649 Call-ID: 12345600@atlanta.example.com 3650 CSeq: 1 INVITE 3651 Contact: 3652 Content-Length: 0 3654 /* B1 rings until a configurable timer expires in the Proxy. The 3655 Proxy sends Cancel and proceeds down the list of routes. */ 3657 F6 CANCEL Proxy -> B1 3659 CANCEL sips:bob@client.biloxi.example.com SIP/2.0 3660 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 3661 Max-Forwards: 70 3662 From: Alice ;tag=1234567 3663 To: Bob 3664 Call-ID: 12345600@atlanta.example.com 3665 CSeq: 1 CANCEL 3666 Content-Length: 0 3668 F7 200 OK B1 -> Proxy 3670 SIP/2.0 200 OK 3671 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 3672 ;received=192.0.2.54 3673 From: Alice 3674 To: Bob 3675 Call-ID: 12345600@atlanta.example.com 3676 CSeq: 1 CANCEL 3677 Content-Length: 0 3679 F8 487 Request Terminated B1 -> Proxy 3681 SIP/2.0 487 Request Terminated 3682 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 3683 ;received=192.0.2.54 3684 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3685 ;received=192.0.2.103 3686 From: Alice ;tag=1234567 3687 To: Bob ;tag=3145678 3688 Call-ID: 12345600@atlanta.example.com 3689 CSeq: 1 INVITE 3690 Content-Length: 0 3692 F9 ACK Proxy -> B1 3694 ACK sips:bob@client.biloxi.example.com SIP/2.0 3695 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 3696 Max-Forwards: 70 3697 From: Alice ;tag=1234567 3698 To: Bob ;tag=3145678 3699 Call-ID: 12345600@atlanta.example.com 3700 CSeq: 1 ACK 3701 Content-Length: 0 3703 F10 (181 Call is Being Forwarded) Proxy -> Alice 3705 SIP/2.0 181 Call is Being Forwarded 3706 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3707 ;received=192.0.2.103 3708 From: Alice ;tag=1234567 3709 To: Bob 3710 Call-ID: 12345600@atlanta.example.com 3711 CSeq: 1 INVITE 3712 Content-Length: 0 3714 F11 INVITE Proxy -> B2 3716 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 3717 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.2 3718 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3719 ;received=192.0.2.103 3720 Record-Route: 3721 Max-Forwards: 69 3722 From: Alice ;tag=1234567 3723 To: Bob 3724 Call-ID: 12345600@atlanta.example.com 3725 CSeq: 1 INVITE 3726 Contact: 3727 Content-Type: application/sdp 3728 Content-Length: ... 3730 v=0 3731 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3732 s=Session SDP 3733 c=IN IP4 client.atlanta.example.com 3734 t=0 0 3735 m=audio 49170 RTP/AVP 0 3736 a=rtpmap:0 PCMU/8000 3738 F12 180 Ringing B2 -> Proxy 3740 SIP/2.0 180 Ringing 3741 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.2 3742 ;received=192.0.2.54 3743 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3744 ;received=192.0.2.103 3745 Record-Route: 3746 From: Alice ;tag=1234567 3747 To: Bob ;tag=765432 3748 Call-ID: 12345600@atlanta.example.com 3749 CSeq: 1 INVITE 3750 Contact: 3751 Content-Length: 0 3752 F13 180 Proxy -> Alice 3754 SIP/2.0 180 Ringing 3755 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3756 ;received=192.0.2.103 3757 Record-Route: 3758 From: Alice ;tag=1234567 3759 To: Bob ;tag=765432 3760 Call-ID: 12345600@atlanta.example.com 3761 CSeq: 1 INVITE 3762 Contact: 3763 Content-Length: 0 3765 F14 200 OK B2 -> Proxy 3767 SIP/2.0 200 OK 3768 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.2 3769 ;received=192.0.2.54 3770 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3771 ;received=192.0.2.103 3772 Record-Route: 3773 From: Alice ;tag=1234567 3774 To: Bob ;tag=765432 3775 Call-ID: 12345600@atlanta.example.com 3776 CSeq: 1 INVITE 3777 Contact: 3778 Content-Type: application/sdp 3779 Content-Length: ... 3781 v=0 3782 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 3783 s=Session SDP 3784 c=IN IP4 client2.biloxi.example.com 3785 t=0 0 3786 m=audio 3456 RTP/AVP 0 3787 a=rtpmap:0 PCMU/8000 3789 F15 200 OK Proxy -> Alice 3791 SIP/2.0 200 OK 3792 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3793 ;received=192.0.2.103 3794 Record-Route: 3795 From: Alice ;tag=1234567 3796 To: Bob ;tag=765432 3797 Call-ID: 12345600@atlanta.example.com 3798 CSeq: 1 INVITE 3799 Contact: 3800 Content-Type: application/sdp 3801 Content-Length: ... 3803 v=0 3804 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 3805 s=Session SDP 3806 c=IN IP4 client2.biloxi.example.com 3807 t=0 0 3808 m=audio 3456 RTP/AVP 0 3809 a=rtpmap:0 PCMU/8000 3811 F16 ACK Alice -> Proxy 3813 ACK sips:bob@client2.biloxi.example.com SIP/2.0 3814 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf3 3815 Route: 3816 Max-Forwards: 70 3817 From: Alice ;tag=1234567 3818 To: Bob ;tag=765432 3819 Call-ID: 12345600@atlanta.example.com 3820 CSeq: 1 ACK 3821 Content-Length: 0 3823 F17 ACK Proxy -> B2 3825 ACK sips:bob@client2.biloxi.example.com SIP/2.0 3826 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK8374.1 3827 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf3 3828 ;received=192.0.2.103 3829 Max-Forwards: 69 3830 From: Alice ;tag=1234567 3831 To: Bob ;tag=765432 3832 Call-ID: 12345600@atlanta.example.com 3833 CSeq: 1 ACK 3834 Content-Length: 0 3836 /* RTP streams are established between A and B2. Alice Hangs Up with User B2. */ 3838 F18 BYE Alice -> Proxy 3840 BYE sips:bob@client2.biloxi.example.com SIP/2.0 3841 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b3f 3842 Route: 3843 Max-Forwards: 70 3844 From: Alice ;tag=1234567 3845 To: Bob ;tag=765432 3846 Call-ID: 12345600@atlanta.example.com 3847 CSeq: 2 BYE 3848 Content-Length: 0 3850 F19 BYE Proxy -> B2 3852 BYE sips:bob@client2.biloxi.example.com SIP/2.0 3853 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK837.1 3854 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b3f 3855 ;received=192.0.2.103 3856 Max-Forwards: 69 3857 From: Alice ;tag=1234567 3858 To: Bob ;tag=765432 3859 Call-ID: 12345600@atlanta.example.com 3860 CSeq: 2 BYE 3861 Content-Length: 0 3863 F20 200 OK B2 -> Proxy 3865 SIP/2.0 200 OK 3866 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK837.1 3867 ;received=192.0.2.54 3868 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b3f 3869 ;received=192.0.2.103 3870 From: Alice ;tag=1234567 3871 To: Bob ;tag=765432 3872 Call-ID: 12345600@atlanta.example.com 3873 CSeq: 2 BYE 3874 Content-Length: 0 3876 F21 200 OK Proxy -> Alice 3878 SIP/2.0 200 OK 3879 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b3f 3880 ;received=192.0.2.103 3881 From: Alice ;tag=1234567 3882 To: Bob ;tag=765432 3883 Call-ID: 12345600@atlanta.example.com 3884 CSeq: 2 BYE 3885 Content-Length: 0 3887 2.10 3-way Conference - Third Party is Added 3889 Alice Bob Carol 3890 | INVITE F1 | | 3891 |--------------->| | 3892 | 180 Ringing F2 | | 3893 |<---------------| | 3894 | 200 OK F3 | | 3895 |<---------------| | 3896 | ACK F4 | | 3897 |--------------->| | 3898 | RTP | | 3899 |<==============>| | 3900 | INVITE F5 | | 3901 |<---------------| | 3902 | 200 OK F6 | | 3903 |--------------->| | 3904 | ACK F7 | | 3905 |<---------------| INVITE F8 | 3906 | |------------->| 3907 | | 180 F9 | 3908 | |<-------------| 3909 | | 200 OK F10 | 3910 | |<-------------| 3911 | | ACK F11 | 3912 | |------------->| 3913 | | RTP | 3914 | |<============>| 3916 In this scenario, Alice and Bob are in a 2-party call (session) when 3917 Bob wishes to add Carol into the conversation. Bob is capable of 3918 media mixing in a 3-party call. Bob first sends a re-INVITE to Alice 3919 changing Contact URIs to one that indicates Alice's mixer and acts 3920 like a focus. As a result, Bob includes the "isfocus" feature tag 3921 [10] as described in [11]. Bob then INVITEs Carol using the same 3922 Contact URI. 3924 Message Details 3926 F1 INVITE Alice -> Bob 3928 INVITE sips:bob@biloxi.example.com SIP/2.0 3929 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3930 Max-Forwards: 70 3931 From: Alice ;tag=1234567 3932 To: Bob 3933 Call-ID: 12345600@atlanta.example.com 3934 CSeq: 1 INVITE 3935 Contact: 3936 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3937 Supported: replaces 3938 Content-Type: application/sdp 3939 Content-Length: ... 3941 v=0 3942 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3943 s=Session SDP 3944 c=IN IP4 client.atlanta.example.com 3945 t=3034423619 0 3946 m=audio 49170 RTP/AVP 0 3947 a=rtpmap:0 PCMU/8000 3949 F2 180 Ringing Bob -> Alice 3951 SIP/2.0 180 Ringing 3952 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3953 ;received=192.0.2.103 3954 From: Alice ;tag=1234567 3955 To: Bob ;tag=23431 3956 Call-ID: 12345600@atlanta.example.com 3957 CSeq: 1 INVITE 3958 Contact: 3959 Content-Length: 0 3961 F3 200 OK Bob -> Alice 3963 SIP/2.0 200 OK 3964 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 3965 ;received=192.0.2.103 3966 From: Alice ;tag=1234567 3967 To: Bob ;tag=23431 3968 Call-ID: 12345600@atlanta.example.com 3969 CSeq: 1 INVITE 3970 Contact: 3971 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3972 Supported: replaces, gruu 3973 Content-Type: application/sdp 3974 Content-Length: ... 3976 v=0 3977 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 3978 s=Session SDP 3979 c=IN IP4 client.biloxi.example.com 3980 t=3034423619 0 3981 m=audio 3456 RTP/AVP 0 3982 a=rtpmap:0 PCMU/8000 3984 F4 ACK Alice -> Bob 3986 ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 3987 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfL 3988 Max-Forwards: 70 3989 From: Alice ;tag=1234567 3990 To: Bob ;tag=23431 3991 Call-ID: 12345600@atlanta.example.com 3992 CSeq: 1 ACK 3993 Content-Length: 0 3995 /* Alice and Bob have established a session. Bob re-INVITEs changing 3996 Contact URIs */ 3998 F5 INVITE Bob -> Alice 4000 INVITE sips:alice@client.atlanta.example.com SIP/2.0 4001 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 4002 Max-Forwards: 70 4003 From: Bob ;tag=23431 4004 To: Alice ;tag=1234567 4005 Call-ID: 12345600@atlanta.example.com 4006 CSeq: 1024 INVITE 4007 Contact: ;isfocus 4008 Content-Type: application/sdp 4009 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4010 Supported: replaces, gruu 4011 Content-Length: ... 4013 v=0 4014 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 4015 s=Session SDP 4016 c=IN IP4 client.biloxi.example.com 4017 t=3034423619 0 4018 m=audio 49172 RTP/AVP 0 4019 a=rtpmap:0 PCMU/8000 4020 a=sendonly 4022 F6 200 OK Alice -> Bob 4023 SIP/2.0 200 OK 4025 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 4026 ;received=192.0.2.113 4027 From: Bob ;tag=23431 4028 To: Alice ;tag=1234567 4029 Call-ID: 12345600@atlanta.example.com 4030 CSeq: 1024 INVITE 4031 Contact: 4032 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4033 Supported: replaces 4034 Content-Type: application/sdp 4035 Content-Length: ... 4037 v=0 4038 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 4039 s=Session SDP 4040 c=IN IP4 client.atlanta.example.com 4041 t=3034423619 0 4042 m=audio 49170 RTP/AVP 0 4043 a=rtpmap:0 PCMU/8000 4044 a=recvonly 4046 F7 ACK Bob -> Alice 4048 ACK sips:alice@client.atlanta.example.com SIP/2.0 4049 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnash3G 4050 Max-Forwards: 70 4051 From: Bob ;tag=23431 4052 To: Alice ;tag=1234567 4053 Call-ID: 12345600@atlanta.example.com 4054 CSeq: 1024 ACK 4055 Content-Length: 0 4057 /* Bob calls Carol */ 4059 F8 INVITE Bob -> Carol 4061 INVITE sips:carol@chicago.example.com SIP/2.0 4062 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashJfd 4063 Max-Forwards: 70 4064 From: Bob ;tag=8675309 4065 To: Carol 4066 Call-ID: sdjfdjfskdf@biloxi.example.com 4067 CSeq: 42 INVITE 4068 Contact: ;isfocus 4069 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4070 Supported: replaces, gruu 4071 Content-Type: application/sdp 4072 Content-Length: ... 4074 v=0 4075 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 4076 s=Session SDP 4077 c=IN IP4 client.biloxi.example.com 4078 t=3034423645 0 4079 m=audio 48174 RTP/AVP 0 4080 a=rtpmap:0 PCMU/8000 4082 F9 180 Ringing Carol -> Bob 4084 SIP/2.0 200 OK 4085 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashJfd 4086 ;received=192.0.2.113 4087 From: Bob ;tag=8675309 4088 To: Carol ;tag=341313 4089 Call-ID: sdjfdjfskdf@biloxi.example.com 4090 CSeq: 42 INVITE 4091 Contact: 4092 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4093 Supported: replaces 4094 Content-Length: 0 4096 F10 200 OK Carol -> Bob 4098 SIP/2.0 200 OK 4099 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashJfd 4100 ;received=192.0.2.113 4101 From: Bob ;tag=8675309 4102 To: Carol ;tag=341313 4103 Call-ID: sdjfdjfskdf@biloxi.example.com 4104 CSeq: 42 INVITE 4105 Contact: 4106 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4107 Supported: replaces 4108 Content-Type: application/sdp 4109 Content-Length: ... 4111 v=0 4112 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 4113 s=Session SDP 4114 c=IN IP4 client.chicago.example.com 4115 t=3034423619 0 4116 m=audio 3456 RTP/AVP 0 4117 a=rtpmap:0 PCMU/8000 4119 F11 ACK Bob -> Carol 4121 ACK sips:carol@client.chicago.example.com SIP/2.0 4122 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnash431 4123 Max-Forwards: 70 4124 From: Bob ;tag=8675309 4125 To: Carol ;tag=341313 4126 Call-ID: sdjfdjfskdf@biloxi.example.com 4127 CSeq: 42 ACK 4128 Content-Length: 0 4130 /* User B's mixer know mixes media from both A and C to create the 3-way conference. */ 4132 2.11 3-way Conference - Third Party Joins 4134 Alice Bob Carol 4135 | INVITE F1 | | 4136 |--------------->| | 4137 | 180 Ringing F2 | | 4138 |<---------------| | 4139 | 200 OK F3 | | 4140 |<---------------| | 4141 | ACK F4 | | 4142 |--------------->| | 4143 | RTP | | 4144 |<==============>| INVITE Join:A-B F5 4145 | |<-------------| 4146 | | 180 F6 | 4147 | |------------->| 4148 | INVITE F7 | | 4149 |<---------------| | 4150 | 200 OK F8 | | 4151 |--------------->| | 4152 | ACK F9 | | 4153 |<---------------| | 4154 | | 200 OK F10 | 4155 | |------------->| 4156 | | ACK F11 | 4157 | |<-------------| 4158 | | RTP | 4159 | |<============>| 4161 In this scenario, Alice and Bob are in a 2 party call and Carol 4162 wishes to join resulting in a three party call. Carol could have 4163 learned Bobs conference URI using some non-SIP means, or possibly 4164 from a NOTIFY with the dialog package sent by Bob. Carol sends an 4165 INVITE to Bob containing a Join header identifying the dialog between 4166 Alice and Bob. Bob re-INVITEs Alice to switch to focus mode and 4167 includes the "isfocus" feature tag [10] as described in [11]. Bob 4168 then accepts the INVITE from Carol, resulting in the 3-way call. 4170 Message Details 4172 F1 INVITE Alice -> Bob 4174 INVITE sips:bob@biloxi.example.com SIP/2.0 4175 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4176 Max-Forwards: 70 4177 From: Alice ;tag=1234567 4178 To: Bob 4179 Call-ID: 12345600@atlanta.example.com 4180 CSeq: 1 INVITE 4181 Contact: 4182 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4183 Supported: replaces 4184 Content-Type: application/sdp 4185 Content-Length: ... 4187 v=0 4189 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4190 s=Session SDP 4191 c=IN IP4 client.atlanta.example.com 4192 t=3034423619 0 4193 m=audio 49170 RTP/AVP 0 4194 a=rtpmap:0 PCMU/8000 4196 F2 180 Ringing Bob -> Alice 4198 SIP/2.0 180 Ringing 4199 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4200 ;received=192.0.2.103 4201 From: Alice ;tag=1234567 4202 To: Bob ;tag=23431 4203 Call-ID: 12345600@atlanta.example.com 4204 CSeq: 1 INVITE 4205 Contact: 4206 Content-Length: 0 4208 F3 200 OK Bob -> Alice 4210 SIP/2.0 200 OK 4211 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4212 ;received=192.0.2.103 4213 From: Alice ;tag=1234567 4214 To: Bob ;tag=23431 4215 Call-ID: 12345600@atlanta.example.com 4216 CSeq: 1 INVITE 4217 Contact: 4218 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4219 Supported: replaces, join, gruu 4220 Content-Type: application/sdp 4221 Content-Length: ... 4223 v=0 4224 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 4225 s=Session SDP 4226 c=IN IP4 client.biloxi.example.com 4227 t=3034423619 0 4228 m=audio 3456 RTP/AVP 0 4229 a=rtpmap:0 PCMU/8000 4231 F4 ACK Alice -> Bob 4233 ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 4234 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf6 4235 Max-Forwards: 70 4236 From: Alice ;tag=1234567 4237 To: Bob ;tag=23431 4238 Call-ID: 12345600@atlanta.example.com 4239 CSeq: 1 ACK 4240 Content-Length: 0 4242 /* Alice and Bob have established a session. Carol requests to join the session */ 4244 F5 INVITE Carol -> Bob 4246 INVITE sips:bob@biloxi.example.com SIP/2.0 4247 Via: SIP/2.0/TLS chicago.example.com:5061;branch=z9hG4bKnashds7 4248 Max-Forwards: 70 4249 From: Carol ;tag=8675309 4250 To: Bob 4251 Call-ID: 452k499sk@chicago.example.com 4252 CSeq: 99 INVITE 4253 Contact: 4254 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4255 Supported: replaces, join 4256 Join: 12345600@atlanta.example.com;from-tag=1234567;to-tag=23431 4257 Content-Type: application/sdp 4258 Content-Length: ... 4260 v=0 4261 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 4262 s=Session SDP 4263 c=IN IP4 client.chicago.example.com 4264 t=3034423619 0 4265 m=audio 3456 RTP/AVP 0 4266 a=rtpmap:0 PCMU/8000 4267 F6 180 Ringing Carol -> Bob 4269 SIP/2.0 200 OK 4270 Via: SIP/2.0/TLS chicago.example.com:5061;branch=z9hG4bKnashds7 4271 ;received=120. 4272 From: Carol ;tag=8675309 4273 To: Bob ;tag=0982 4274 Call-ID: 452k499sk@chicago.example.com 4275 CSeq: 99 INVITE 4276 Contact: ;isfocus 4277 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4278 Supported: replaces 4279 Content-Length: 0 4281 F7 INVITE Bob -> Alice 4283 INVITE sips:alice@client.atlanta.example.com SIP/2.0 4284 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashdyKL 4285 Max-Forwards: 70 4286 From: Bob ;tag=23431 4287 To: Alice ;tag=1234567 4288 Call-ID: 12345600@atlanta.example.com 4289 CSeq: 1024 INVITE 4290 Contact: ;isfocus 4291 Content-Type: application/sdp 4292 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4293 Supported: replaces, join, gruu 4294 Content-Length: ... 4296 v=0 4297 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 4298 s=Session SDP 4299 c=IN IP4 client.biloxi.example.com 4300 t=3034423619 0 4301 m=audio 49172 RTP/AVP 0 4302 a=rtpmap:0 PCMU/8000 4304 F8 200 OK Alice -> Bob 4306 SIP/2.0 200 OK 4307 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashdyKL 4308 ;received=192.0.2.113 4309 From: Bob ;tag=23431 4310 To: Alice ;tag=1234567 4311 Call-ID: 12345600@atlanta.example.com 4312 CSeq: 1024 INVITE 4313 Contact: ;isfocus 4314 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4316 Supported: replaces 4317 Content-Type: application/sdp 4318 Content-Length: ... 4320 v=0 4321 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4322 s=Session SDP 4323 c=IN IP4 client.atlanta.example.com 4324 t=3034423619 0 4325 m=audio 49170 RTP/AVP 0 4326 a=rtpmap:0 PCMU/8000 4328 F9 ACK Bob -> Alice 4330 ACK sips:alice@client.atlanta.example.com SIP/2.0 4331 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnash3g 4332 Max-Forwards: 70 4333 From: Bob ;tag=23431 4334 To: Alice ;tag=1234567 4335 Call-ID: 12345600@atlanta.example.com 4336 CSeq: 1024 ACK 4337 Content-Length: 0 4339 F10 200 OK Bob -> Carol 4341 SIP/2.0 200 OK 4342 Via: SIP/2.0/TLS chicago.example.com:5061;branch=z9hG4bKnashds7 4343 ;received=120. 4344 From: Carol ;tag=8675309 4345 To: Bob ;tag=0982 4346 Call-ID: 452k499sk@chicago.example.com 4347 CSeq: 99 INVITE 4348 Contact: 4349 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4350 Supported: replaces, join, gruu 4351 Content-Type: application/sdp 4352 Content-Length: ... 4354 v=0 4355 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 4356 s=Session SDP 4357 c=IN IP4 client.biloxi.example.com 4358 t=3034423645 0 4359 m=audio 48174 RTP/AVP 0 4360 a=rtpmap:0 PCMU/8000 4362 F11 ACK OK Bob -> Carol 4364 ACK sips:bob@biloxi.example.com SIP/2.0 4365 Via: SIP/2.0/TLS chicago.example.com:5061;branch=z9hG4bKnash4Gf 4366 Max-Forwards: 70 4367 From: Carol ;tag=8675309 4368 To: Bob ;tag=0982 4369 Call-ID: 452k499sk@chicago.example.com 4370 CSeq: 99 ACK 4371 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4372 Supported: replaces, join 4373 Content-Length:0 4375 2.12 Single Line Extension 4377 Alice Forking Proxy User User User 4378 B1 B2 B3 4379 | | | | | 4380 | INVITE F1 | | | | 4381 |--------------->| INVITE F2 | | | 4382 | |------------->| | | 4383 | | INVITE F3 | | 4384 | |-------------------->| | 4385 | | INVITE F4 | | 4386 | |--------------------------->| 4387 | 100 Trying F5 | | | | 4388 |<---------------|180 Ringing F6| | | 4389 | |<-------------| | | 4390 | 180 Ringing F7 | | | | 4391 |<---------------| | | | 4392 | | 480 Not Logged In F8| | 4393 | |<--------------------| | 4394 | | ACK F9 | | 4395 | |-------------------->| | 4396 | | 180 Ringing F10 | 4397 | 180 F11 |<---------------------------| 4398 |<---------------| 200 OK F12 | 4399 | 200 OK F13 |<---------------------------| 4400 |<---------------| | | | 4401 | | CANCEL 14 | | | 4402 | |------------->| | | 4403 | | 200 OK F15 | | | 4404 | |<-------------| | | 4405 | | 487 F16 | | | 4406 | |<-------------| | | 4407 | | ACK F17 | | | 4408 | |------------->| | | 4409 | ACK F18 | | | | 4410 |--------------->| ACK F19 | | 4411 | |--------------------------->| 4412 | Both way RTP Established | 4413 |<===========================================>| 4414 | | NOTIFY F20 | 4415 | |<---------------------------| 4416 | | NOTIFY F21 | | | 4417 | |------------->| | | 4418 | | NOTIFY F22 | | 4419 | |-------------------->| | 4420 | | NOTIFY F23 | | 4421 | |--------------------------->| 4422 | | 200 OK F24 | | | 4423 | |<-------------| | | 4424 | | 200 OK F25 | 4425 | |--------------------------->| 4426 | | 200 OK F26 | | 4427 | |<--------------------| | 4428 | | 482 Loop Detected F27 | 4429 | |<---------------------------| 4430 | | | 4431 | User B2 wants to join the call | 4432 | | | 4433 | | INVITE Join:A-B3 F28 | 4434 | |<--------------------| | 4435 | | INVITE Join: A-B3 F29 | 4436 | |------------->| | | 4437 | | INVITE Join: A-B3 F30 | 4438 | |-------------------->| | 4439 | | INVITE Join: A-B3 F31 4440 | |--------------------------->| 4441 | | 100 Trying F32 | | 4442 | |-------------------->| | 4443 | | 481 Dialog Does Not Exist F33 4444 | |<-------------| | | 4445 | | ACK F34 | | | 4446 | |------------->| | | 4447 | | 482 Loop Detected F35 | 4448 | |<--------------------| | 4449 | | ACK F36 | | 4450 | |-------------------->| | 4451 | | 200 OK F37 | 4452 | |<---------------------------| 4453 | | 200 OK F38 | | 4454 | |-------------------->| | 4455 | | |ACK F39 4456 | | |----->| 4457 | | Both way RTP Established 4458 | | |<====>| B3 mixes RTP 4459 | | | | 4461 In Single Line Extension a call will ring several extensions at the 4462 same time (forking). The first extension to answer the call becomes 4463 the active set. If other extensions pick up, the call becomes a 4464 conference call. 4466 The grouping of multiple UAs with a single URI is possible in SIP by 4467 registering multiple Contact URIs against a single address of record. 4468 For the group of UAs to learn the dialog state of each other to 4469 enable a Join request to be formulated, a full mesh of dialog package 4470 subscriptions could be used. A new UA being added to the group would 4471 register with the group AOR then subscribe to the registration 4472 package [19] to find out the other registered members. However, when 4473 the Nth UA joins the group, it will cause an additional 2(N-1) new 4474 subscriptions to be created. An INVITE forked to all N group members 4475 will result in N(N-1) NOTIFYs being sent among the group. To avoid 4476 this scaling issue, this flow uses an implicit subscription between 4477 each of the group members and a simple forking proxy. 4479 In this flow, Alice calls Bob using his AOR URI which results in the 4480 INVITE being forked to three devices, B1, B2, and B3. In this 4481 example, B3 answers the call and is connected to Alice. B3 sends a 4482 NOTIFY containing the dialog information to the AOR for Bob, which is 4483 forked to B1 and B2. (The service-unaware forking proxy actually 4484 forks it back to B3 as well, but B3 simply discards with a 482 Loop 4485 Detected response.) Later in the example, B2 wishes to join the call 4486 and sends an INVITE with a Join header field to Bob's AOR URI to 4487 request this. This INVITE is forked and is accepted by B3 who then 4488 performs the mixing function. The INVITE is rejected by both B1 and 4489 B2. 4491 Note that this call flow requires B1, B2, and B3 have an implicit 4492 subscription with Bob's AOR. 4494 Note that if B3 is not capable of mixing the media, B3 would transfer 4495 both Alice and B2 to a conferencing bridge which would perform the 4496 mixing. 4498 This flow requires reliable transport such as TCP since the forking 4499 proxy only guarantees that one UA receives each NOTIFY, not every UA. 4500 (This is because it only waits for one final response, not N, before 4501 completing the transaction. 4503 The use of SUBSCRIBE and NOTIFY is defined in [6] while the dialog 4504 Event package is defined in [8]. 4506 Message Details 4508 F1 INVITE Alice -> Proxy 4510 INVITE sips:bob@biloxi.example.com SIP/2.0 4511 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4512 Max-Forwards: 70 4513 From: Alice ;tag=1234567 4514 To: Bob 4515 Call-ID: 12345600@atlanta.example.com 4516 CSeq: 1 INVITE 4517 Contact: 4518 Content-Type: application/sdp 4519 Content-Length: ... 4521 v=0 4522 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4523 s=Session SDP 4524 c=IN IP4 client.atlanta.example.com 4525 t= 0 0 4526 m=audio 49170 RTP/AVP 0 4527 a=rtpmap:0 PCMU/8000 4529 F2 INVITE Proxy -> B1 4531 INVITE sips:bob@client.biloxi.example.com SIP/2.0 4532 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 4533 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4534 ;received=192.0.2.103 4535 Max-Forwards: 69 4536 From: Alice ;tag=1234567 4537 To: Bob 4538 Call-ID: 12345600@atlanta.example.com 4539 CSeq: 1 INVITE 4540 Contact: 4541 Content-Type: application/sdp 4542 Content-Length: ... 4544 v=0 4545 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4546 s=Session SDP 4547 c=IN IP4 client.atlanta.example.com 4548 t= 0 0 4549 m=audio 49170 RTP/AVP 0 4550 a=rtpmap:0 PCMU/8000 4552 F3 INVITE Proxy -> B2 4554 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 4555 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.2 4556 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4557 ;received=192.0.2.103 4558 Max-Forwards: 69 4559 From: Alice ;tag=1234567 4560 To: Bob 4561 Call-ID: 12345600@atlanta.example.com 4562 CSeq: 1 INVITE 4563 Contact: 4564 Content-Type: application/sdp 4565 Content-Length: ... 4567 v=0 4568 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4569 s=Session SDP 4570 c=IN IP4 client.atlanta.example.com 4571 t=0 0 4572 m=audio 49170 RTP/AVP 0 4573 a=rtpmap:0 PCMU/8000 4575 F4 INVITE Proxy -> B3 4577 INVITE sips:bob@client3.biloxi.example.com SIP/2.0 4578 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.3 4579 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4580 ;received=192.0.2.103 4581 Max-Forwards: 69 4582 From: Alice ;tag=1234567 4583 To: Bob 4584 Call-ID: 12345600@atlanta.example.com 4585 CSeq: 1 INVITE 4586 Contact: 4587 Content-Type: application/sdp 4588 Content-Length: ... 4590 v=0 4591 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4592 s=Session SDP 4593 c=IN IP4 client.atlanta.example.com 4594 t=0 0 4595 m=audio 49170 RTP/AVP 0 4596 a=rtpmap:0 PCMU/8000 4598 F5 100 Trying Proxy -> Alice 4600 SIP/2.0 100 Trying 4601 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4602 ;received=192.0.2.103 4603 From: Alice ;tag=1234567 4604 To: Bob 4605 Call-ID: 12345600@atlanta.example.com 4606 CSeq: 1 INVITE 4607 Content-Length: 0 4609 F6 180 Ringing B1 -> Proxy 4611 SIP/2.0 180 Ringing 4612 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 4613 ;received=192.0.2.54 4614 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4615 ;received=192.0.2.103 4616 From: Alice ;tag=1234567 4617 To: Bob ;tag=765432 4618 Call-ID: 12345600@atlanta.example.com 4619 CSeq: 1 INVITE 4620 Contact: 4621 Content-Length: 0 4623 F7 180 Ringing Proxy -> Alice 4625 SIP/2.0 180 Ringing 4626 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4627 ;received=192.0.2.103 4628 From: Alice ;tag=1234567 4629 To: Bob ;tag=765432 4630 Call-ID: 12345600@atlanta.example.com 4631 CSeq: 1 INVITE 4632 Contact: 4633 Content-Length: 0 4634 F8 480 Not Logged In B2 -> Proxy 4636 SIP/2.0 480 Not Logged In 4637 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.2 4638 ;received=192.0.2.54 4639 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4640 ;received=192.0.2.103 4641 From: Alice ;tag=1234567 4642 To: Bob ;tag=314756 4643 Call-ID: 12345600@atlanta.example.com 4644 CSeq: 1 INVITE 4645 Content-Length: 0 4647 F9 ACK Proxy -> B2 4649 ACK sips:bob@client2.biloxi.example.com SIP/2.0 4650 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.2 4651 Max-Forwards: 70 4652 From: Alice ;tag=1234567 4653 To: Bob ;tag=314756 4654 Call-ID: 12345600@atlanta.example.com 4655 CSeq: 1 ACK 4656 Content-Length: 0 4658 F10 180 Ringing B3 -> Proxy 4660 SIP/2.0 180 Ringing 4661 Via: SIP/2.0/TLS ss1.example.com:5061;branch=83749.3 4662 ;received=192.0.2.54 4663 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4664 ;received=192.0.2.103 4665 From: Alice ;tag=1234567 4666 To: Bob ;tag=7137136 4667 Call-ID: 12345600@atlanta.example.com 4668 CSeq: 1 INVITE 4669 Contact: 4670 Content-Length: 0 4672 F11 180 Ringing B3 -> Proxy 4674 SIP/2.0 180 Ringing 4675 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4676 ;received=192.0.2.103 4677 From: Alice ;tag=1234567 4678 To: Bob ;tag=7137136 4679 Call-ID: 12345600@atlanta.example.com 4680 CSeq: 1 INVITE 4681 Contact: 4682 Content-Length: 0 4684 F12 200 OK B3 -> Proxy 4686 SIP/2.0 200 OK 4687 Via: SIP/2.0/TLS ss1.example.com:5061;branch=83749.3 4688 ;received=192.0.2.54 4689 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4690 ;received=192.0.2.103 4691 From: Alice ;tag=1234567 4692 To: Bob ;tag=7137136 4693 Call-ID: 12345600@atlanta.example.com 4694 CSeq: 1 INVITE 4695 Contact: 4696 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 4697 Allow-Event: dialog 4698 Supported: replaces, join 4699 Content-Type: application/sdp 4700 Content-Length: ... 4702 v=0 4703 o=bob 2890844527 2890844527 IN IP4 client3.biloxi.example.com 4704 s=Session SDP 4705 c=IN IP4 client3.biloxi.example.com 4706 t=0 0 4707 m=audio 3456 RTP/AVP 0 4708 a=rtpmap:0 PCMU/8000 4710 F13 200 OK Proxy -> Alice 4712 SIP/2.0 200 OK 4713 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4714 ;received=192.0.2.103 4715 From: Alice ;tag=1234567 4716 To: Bob ;tag=7137136 4717 Call-ID: 12345600@atlanta.example.com 4718 CSeq: 1 INVITE 4719 Contact: 4720 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 4721 Allow-Event: dialog 4722 Supported: replaces, join 4723 Content-Type: application/sdp 4724 Content-Length: ... 4726 v=0 4727 o=bob 2890844527 2890844527 IN IP4 client3.biloxi.example.com 4728 s=Session SDP 4729 c=IN IP4 client3.biloxi.example.com 4730 t=0 0 4731 m=audio 3456 RTP/AVP 0 4732 a=rtpmap:0 PCMU/8000 4734 /* Forking Proxy cancels pending branch B1 */ 4736 F14 CANCEL Proxy -> B1 4738 CANCEL sips:bob@client.biloxi.example.com SIP/2.0 4739 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 4740 Max-Forwards: 70 4741 From: Alice ;tag=1234567 4742 To: Bob 4743 Call-ID: 12345600@atlanta.example.com 4744 CSeq: 1 CANCEL 4745 Content-Length: 0 4747 F15 200 OK B1 -> Proxy 4749 SIP/2.0 200 OK 4750 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 4751 ;received=192.0.2.54 4752 From: Alice 4753 To: Bob 4754 Call-ID: 12345600@atlanta.example.com 4755 CSeq: 1 CANCEL 4756 Content-Length: 0 4758 F16 487 Request Terminated B1 -> Proxy 4760 SIP/2.0 487 Request Terminated 4761 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 4762 ;received=192.0.2.54 4763 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 4764 ;received=192.0.2.103 4765 From: Alice ;tag=1234567 4766 To: Bob ;tag=765432 4767 Call-ID: 12345600@atlanta.example.com 4768 CSeq: 1 INVITE 4769 Content-Length: 0 4770 F17 ACK Proxy -> B1 4772 ACK sips:bob@client.biloxi.example.com SIP/2.0 4773 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 4774 Max-Forwards: 70 4775 From: Alice ;tag=1234567 4776 To: Bob ;tag=765432 4777 Call-ID: 12345600@atlanta.example.com 4778 CSeq: 1 ACK 4779 Content-Length: 0 4781 F18 ACK Alice -> Proxy 4783 ACK sips:bob@client3.biloxi.example.com SIP/2.0 4784 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf3 4785 Max-Forwards: 70 4786 From: Alice ;tag=1234567 4787 To: Bob ;tag=7137136 4788 Call-ID: 12345600@atlanta.example.com 4789 CSeq: 1 ACK 4791 Content-Length: 0 4793 F19 ACK Proxy -> B3 4795 ACK sips:bob@client3.biloxi.example.com SIP/2.0 4796 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83742 4797 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf3 4798 ;received=192.0.2.103 4799 Max-Forwards: 69 4800 From: Alice ;tag=1234567 4801 To: Bob ;tag=7137136 4802 Call-ID: 12345600@atlanta.example.com 4804 CSeq: 1 ACK 4805 Content-Length: 0 4807 /* RTP streams are established between A and B3*/ 4809 /* User B3 sends a NOTIFY to the group with established dialog information. */ 4811 F20 NOTIFY B3 -> Proxy 4813 NOTIFY sips:bob@biloxi.example.com SIP/2.0 4814 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewlk 4815 Max-Forwards: 70 4816 From: Bob ;tag=w2Hu8sj 4817 To: Bob 4818 Call-ID: 8458999275@biloxi.example.com 4819 CSeq: 1 NOTIFY 4820 Event: dialog 4821 Subscription-State: active;expires=3600 4822 Content-Type: application/dialog-info+xml 4823 Content-Length: ... 4825 4826 4828 4830 confirmed 4831 4832 4834 F21 NOTIFY Proxy -> B1 4836 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 4837 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558a.1 4838 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewlk 4839 ;received=192.0.2.115 4840 Max-Forwards: 69 4841 From: Bob ;tag=w2Hu8sj 4842 To: Bob 4843 Call-ID: 8458999275@biloxi.example.com 4844 CSeq: 1 NOTIFY 4845 Event: dialog 4846 Subscription-State: active;expires=3600 4847 Content-Type: application/dialog-info+xml 4848 Content-Length: ... 4850 4851 4853 4855 confirmed 4856 4857 4859 F22 Proxy -> B2 4860 NOTIFY sips:bob@client2.biloxi.example.com SIP/2.0 4861 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558a.2 4862 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewlk 4863 ;received=192.0.2.115 4864 Max-Forwards: 69 4865 From: Bob ;tag=w2Hu8sj 4866 To: Bob 4867 Call-ID: 8458999275@biloxi.example.com 4868 CSeq: 1 NOTIFY 4869 Event: dialog 4870 Subscription-State: active;expires=3600 4871 Content-Type: application/dialog-info+xml 4872 Content-Length: ... 4874 4875 4877 4880 confirmed 4881 4882 4884 F23 NOTIFY Proxy-> B3 4886 NOTIFY sips:bob@client3.biloxi.example.com SIP/2.0 4887 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558a.3 4888 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewlk 4889 ;received=192.0.2.115 4890 Max-Forwards: 69 4891 From: Bob ;tag=w2Hu8sj 4892 To: Bob 4893 Call-ID: 8458999275@biloxi.example.com 4895 CSeq: 1 NOTIFY 4896 Event: dialog 4897 Subscription-State: active;expires=3600 4898 Content-Type: application/dialog-info+xml 4899 Content-Length: ... 4901 4902 4904 4907 confirmed 4908 4909 4911 F24 200 OK B1 -> Proxy 4913 SIP/2.0 200 OK 4914 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558a.1 4915 ;received=192.0.2.54 4916 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewlk 4917 ;received=192.0.2.115 4918 From: Bob ;tag=w2Hu8sj 4919 To: Bob 4920 Call-ID: 8458999275@biloxi.example.com 4921 CSeq: 1 NOTIFY 4922 Content-Length: 0 4924 F25 200 OK Proxy -> B3 4926 SIP/2.0 200 OK 4927 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewlk 4928 ;received=192.0.2.115 4929 From: Bob ;tag=w2Hu8sj 4930 To: Bob 4931 Call-ID: 8458999275@biloxi.example.com 4932 CSeq: 1 NOTIFY 4933 Content-Length: 0 4935 F26 200 OK B2 -> Proxy 4937 SIP/2.0 200 OK 4938 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558a.2 4939 ;received=192.0.2.54 4940 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewlk 4941 ;received=192.0.2.115 4942 From: Bob ;tag=w2Hu8sj 4943 To: Bob 4944 Call-ID: 8458999275@biloxi.example.com 4945 CSeq: 1 NOTIFY 4946 Content-Length: 0 4948 F27 200 OK B3 -> Proxy 4950 SIP/2.0 482 Loop Detected 4951 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558a.3 4952 ;received=192.0.2.54 4953 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewlk 4954 ;received=192.0.2.115 4955 From: Bob ;tag=w2Hu8sj 4956 To: Bob 4957 Call-ID: 8458999275@biloxi.example.com 4958 CSeq: 1 NOTIFY 4959 Content-Length: 0 4961 /* User B2 decided to join the call. */ 4963 F28 INVITE B2 -> Proxy 4965 INVITE sips:bob@biloxi.example.com SIP/2.0 4966 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewl 4967 Max-Forwards: 70 4968 From: Bob ;tag=4524524312 4969 To: Bob 4970 Call-ID: 524251233@biloxi.example.com 4971 CSeq: 1 INVITE 4972 Contact: 4973 Join: 12345600@atlanta.example.com;to-tag=765432;from-tag=1234567 4974 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 4975 Allow-Event: dialog 4976 Supported: replaces, join 4977 Content-Type: application/sdp 4978 Content-Length: ... 4980 v=0 4981 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 4982 s=Session SDP 4983 c=IN IP4 client2.biloxi.example.com 4984 t=0 0 4985 m=audio 3458 RTP/AVP 0 4986 a=rtpmap:0 PCMU/8000 4988 F29 INVITE Proxy -> B1 4990 INVITE sips:bob@client.biloxi.example.com SIP/2.0 4991 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558ab.1 4992 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewl 4993 ;received=192.0.2.114 4994 Max-Forwards: 69 4995 From: Bob ;tag=4524524312 4996 To: Bob 4997 Call-ID: 524251233@biloxi.example.com 4998 CSeq: 1 INVITE 4999 Contact: 5000 Join: 12345600@atlanta.example.com;to-tag=765432;from-tag=1234567 5001 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5002 Allow-Event: dialog 5003 Supported: replaces, join 5004 Content-Type: application/sdp 5005 Content-Length: ... 5007 v=0 5008 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 5009 s=Session SDP 5010 c=IN IP4 client2.biloxi.example.com 5011 t=0 0 5012 m=audio 3458 RTP/AVP 0 5013 a=rtpmap:0 PCMU/8000 5015 F30 INVITE Proxy -> B2 5017 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 5018 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558ab.2 5019 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewl 5020 ;received=192.0.2.114 5021 Max-Forwards: 69 5022 From: Bob ;tag=4524524312 5023 To: Bob 5024 Call-ID: 524251233@biloxi.example.com 5025 CSeq: 1 INVITE 5026 Contact: 5027 Join: 12345600@atlanta.example.com;to-tag=765432;from-tag=1234567 5028 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5029 Allow-Event: dialog 5030 Supported: replaces, join 5031 Content-Type: application/sdp 5032 Content-Length: ... 5034 v=0 5035 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 5036 s=Session SDP 5037 c=IN IP4 client2.biloxi.example.com 5038 t=0 0 5039 m=audio 3458 RTP/AVP 0 5040 a=rtpmap:0 PCMU/8000 5041 F31 INVITE Proxy -> B3 5043 INVITE sips:bob@client3.biloxi.example.com SIP/2.0 5044 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558ab.3 5045 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewl 5046 ;received=192.0.2.114 5047 Max-Forwards: 69 5048 From: Bob ;tag=4524524312 5049 To: Bob 5050 Call-ID: 524251233@biloxi.example.com 5051 CSeq: 1 INVITE 5052 Contact: 5053 Join: 12345600@atlanta.example.com;to-tag=765432;from-tag=1234567 5054 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5055 Allow-Event: dialog 5056 Supported: replaces, join 5057 Content-Type: application/sdp 5058 Content-Length: ... 5060 v=0 5061 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 5062 s=Session SDP 5063 c=IN IP4 client2.biloxi.example.com 5064 t=0 0 5065 m=audio 3458 RTP/AVP 0 5066 a=rtpmap:0 PCMU/8000 5068 F32 100 Trying Proxy -> B2 5070 SIP/2.0 100 Trying 5071 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewl 5072 ;received=192.0.2.114 5073 From: Bob ;tag=4524524312 5074 To: Bob 5075 Call-ID: 524251233@biloxi.example.com 5076 CSeq: 1 INVITE 5077 Content-Length: 0 5079 /* B1 does not have an established dialog, so it returns a 481 */ 5081 F33 481 Dialog Does Not Exist B1 -> Proxy 5083 SIP/2.0 481 Dialog Does Not Exist 5084 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558ab.1 5085 ;received=192.0.2.54 5087 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewl 5088 ;received=192.0.2.114 5089 From: Bob ;tag=4524524312 5090 To: Bob ;tag=68324lk42jd 5091 Call-ID: 524251233@biloxi.example.com 5092 CSeq: 1 INVITE 5093 Content-Length: 0 5095 F34 ACK Proxy -> B1 5097 ACK sips:bob@client.biloxi.example.com SIP/2.0 5098 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558ab.1 5099 From: Bob ;tag=4524524312 5100 To: Bob ;tag=68324lk42jd 5101 Call-ID: 524251233@biloxi.example.com 5102 CSeq: 1 ACK 5103 Content-Length: 0 5105 F35 482 Loop Detected B2 -> Proxy 5107 SIP/2.0 482 Loop Detected 5108 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558ab.2 5109 ;received=192.0.2.54 5110 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewl 5111 ;received=192.0.2.114 5112 From: Bob ;tag=4524524312 5113 To: Bob ;tag=134lkwe 5114 Call-ID: 524251233@biloxi.example.com 5115 CSeq: 1 INVITE 5116 Content-Length: 0 5118 F36 ACK Proxy -> B2 5120 ACK sips:bob@client2.biloxi.example.com SIP/2.0 5121 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558ab.2 5122 From: Bob ;tag=4524524312 5123 To: Bob ;tag=134lkwe 5124 Call-ID: 524251233@biloxi.example.com 5125 CSeq: 1 ACK 5126 Content-Length: 0 5128 /* B3 has an existing dialog and agrees to mix B2 into the session. */ 5130 F37 200 OK User B3 -> Proxy 5131 SIP/2.0 200 OK 5132 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK4558ab.3 5133 ;received=192.0.2.54 5134 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewl 5135 ;received=192.0.2.114 5136 From: Bob ;tag=4524524312 5137 To: Bob ;tag=3891908734 5138 Call-ID: 524251233@biloxi.example.com 5139 CSeq: 1 INVITE 5140 Contact: ;isfocus 5141 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5142 Allow-Event: dialog 5143 Supported: replaces, join 5144 Content-Type: application/sdp 5145 Content-Length: ... 5147 v=0 5148 o=bob 2890844527 2890844527 IN IP4 client3.biloxi.example.com 5149 s=Session SDP 5150 c=IN IP4 client3.biloxi.example.com 5151 t=0 0 5152 m=audio 3460 RTP/AVP 0 5153 a=rtpmap:0 PCMU/8000 5155 F38 200 OK User B3 -> Proxy 5157 SIP/2.0 200 OK 5158 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ewl 5159 ;received=192.0.2.114 5160 Max-Forwards: 69 5161 From: Bob ;tag=4524524312 5162 To: Bob ;tag=3891908734 5163 Call-ID: 524251233@biloxi.example.com 5164 CSeq: 1 INVITE 5165 Contact: 5166 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5167 Allow-Event: dialog 5168 Supported: replaces, join 5169 Content-Type: application/sdp 5170 Content-Length: ... 5172 v=0 5174 o=bob 2890844527 2890844527 IN IP4 client3.biloxi.example.com 5175 s=Session SDP 5176 c=IN IP4 client3.biloxi.example.com 5177 t=0 0 5178 m=audio 3460 RTP/AVP 0 5179 a=rtpmap:0 PCMU/8000 5181 F39 ACK B2 -> B3 5183 ACK sips:bob@client3.biloxi.example.com SIP/2.0 5184 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKq0qwli6ew4 5185 Max-Forwards: 69 5186 From: Bob ;tag=4524524312 5187 To: Bob ;tag=3891908734 5188 Call-ID: 524251233@biloxi.example.com 5189 CSeq: 1 ACK 5190 Content-Length: 0 5192 2.13 Find-Me 5194 Alice Proxy User User User User 5195 B1 B2 B3 B4 5196 | | | | | | 5197 | INVITE F1 | | | | | 5198 |--------------->| INVITE F2 | | | | 5199 | |------------->| | | | 5200 |(100 Trying) F3 | | | | | 5201 |<---------------|180 Ringing F4| | | | 5202 | |<-------------| | | | 5203 | 180 Ringing F5 | | | | | 5204 |<---------------| | | | | 5205 | | Timeout | | | | 5206 | | | | | | 5207 | | CANCEL F6 | | | | 5208 | |------------->| | | | 5209 | | 200 OK F7 | | | | 5210 | |<-------------| | | | 5211 | | 487 F8 | | | | 5212 | |<-------------| | | | 5213 | | ACK F9 | | | | 5214 | |------------->| | | | 5215 | | INVITE F10 | | | 5216 | |-------------------->| | | 5217 | |480 Not Logged In F11| | | 5218 | |<--------------------| | | 5219 | | ACK F12| | | 5220 | |-------------------->| | | 5221 | | INVITE F13 | | 5222 | |--------------------------->| | 5223 | | 486 Busy Here F14 | | 5224 | |<---------------------------| | 5225 | | ACK F15 | | 5226 | |--------------------------->| | 5227 | | INVITE F16 | 5228 | |---------------------------------->| 5229 | | 180 Ringing F17 | 5230 | 180 F18 |<----------------------------------| 5231 |<---------------| 200 OK F19 | 5232 | 200 OK F20 |<----------------------------------| 5233 |<---------------| | 5234 | ACK F21 | | 5235 |--------------->| ACK F22 | 5236 | |---------------------------------->| 5237 | Both way RTP Established | 5238 |<==================================================>| 5239 | | BYE F23 | 5240 | BYE F24 |<----------------------------------| 5241 |<---------------| | 5242 | 200 OK F25 | | 5243 |--------------->| 200 OK F26 | 5244 | |---------------------------------->| 5245 | | | 5247 Alice's call to Bob will result in an attempt to locate that user by 5248 calling locations from a list of contacts. The location to answer 5249 the call becomes the active set, no other sets may join the call. 5251 While this flow shows a sequential search, the search could be 5252 accomplished using parallel forking, as in the previous example. 5254 Message Details 5256 F1 INVITE Alice -> Proxy 5258 INVITE sips:bob@biloxi.example.com SIP/2.0 5259 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5260 Max-Forwards: 70 5261 From: Alice ;tag=1234567 5262 To: Bob 5263 Call-ID: 12345600@atlanta.example.com 5264 CSeq: 1 INVITE 5265 Contact: 5266 Content-Type: application/sdp 5267 Content-Length: ... 5269 v=0 5270 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5271 s=Session SDP 5272 c=IN IP4 client.atlanta.example.com 5273 t= 0 0 5274 m=audio 49170 RTP/AVP 0 5276 a=rtpmap:0 PCMU/8000 5278 F2 INVITE Proxy -> B1 5280 INVITE sips:bob@client.biloxi.example.com SIP/2.0 5281 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 5282 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5283 ;received=192.0.2.103 5284 Record-Route: 5285 Max-Forwards: 69 5286 From: Alice ;tag=1234567 5287 To: Bob 5288 Call-ID: 12345600@atlanta.example.com 5289 CSeq: 1 INVITE 5290 Contact: 5291 Content-Type: application/sdp 5292 Content-Length: ... 5294 v=0 5295 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5296 s=Session SDP 5297 c=IN IP4 client.atlanta.example.com 5298 t= 0 0 5299 m=audio 49170 RTP/AVP 0 5300 a=rtpmap:0 PCMU/8000 5302 F3 (100 Trying) Proxy -> Alice 5304 SIP/2.0 100 Trying 5305 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5306 ;received=192.0.2.103 5307 From: Alice ;tag=1234567 5308 To: Bob 5309 Call-ID: 12345600@atlanta.example.com 5310 CSeq: 1 INVITE 5311 Content-Length: 0 5313 F4 180 Ringing B1 -> Proxy 5314 SIP/2.0 180 Ringing 5315 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 5316 ;received=192.0.2.54 5317 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5318 ;received=192.0.2.103 5319 Record-Route: 5320 From: Alice ;tag=1234567 5321 To: Bob ;tag=765432 5322 Call-ID: 12345600@atlanta.example.com 5323 CSeq: 1 INVITE 5324 Contact: 5325 Content-Length: 0 5327 F5 180 Ringing Proxy -> Alice 5329 SIP/2.0 180 Ringing 5330 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5331 ;received=192.0.2.103 5332 Record-Route: 5333 From: Alice ;tag=1234567 5334 To: Bob ;tag=765432 5335 Call-ID: 12345600@atlanta.example.com 5336 CSeq: 1 INVITE 5337 Contact: 5338 Content-Length: 0 5340 /* B1 rings for until a configurable timer in the Proxy expires. The 5341 Proxy then sends Cancel and proceeds down the list of routes. */ 5343 F6 CANCEL Proxy -> B1 5345 CANCEL sips:bob@client.biloxi.example.com SIP/2.0 5346 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 5347 Max-Forwards: 70 5348 From: Alice ;tag=1234567 5349 To: Bob 5350 Call-ID: 12345600@atlanta.example.com 5351 CSeq: 1 CANCEL 5352 Content-Length: 0 5354 F7 200 OK B1 -> Proxy 5356 SIP/2.0 200 OK 5357 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 5358 ;received=192.0.2.54 5360 From: Alice 5361 To: Bob 5362 Call-ID: 12345600@atlanta.example.com 5363 CSeq: 1 CANCEL 5364 Content-Length: 0 5366 F8 487 Request Terminated B1 -> Proxy 5368 SIP/2.0 487 Request Terminated 5369 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 5370 ;received=192.0.2.54 5371 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5372 ;received=192.0.2.103 5373 From: Alice ;tag=1234567 5374 To: Bob ;tag=765432 5375 Call-ID: 12345600@atlanta.example.com 5376 CSeq: 1 INVITE 5377 Content-Length: 0 5379 F9 ACK Proxy -> B1 5381 ACK sips:bob@client.biloxi.example.com SIP/2.0 5382 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 5383 Max-Forwards: 70 5384 From: Alice ;tag=1234567 5385 To: Bob ;tag=765432 5386 Call-ID: 12345600@atlanta.example.com 5387 CSeq: 1 ACK 5388 Content-Length: 0 5390 F10 INVITE Proxy -> B2 5392 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 5393 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.2 5394 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5396 ;received=192.0.2.103 5397 Record-Route: 5398 Max-Forwards: 69 5399 From: Alice ;tag=1234567 5400 To: Bob 5401 Call-ID: 12345600@atlanta.example.com 5402 CSeq: 1 INVITE 5403 Contact: 5404 Content-Type: application/sdp 5405 Content-Length: ... 5407 v=0 5408 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5409 s=Session SDP 5410 c=IN IP4 client.atlanta.example.com 5411 t=0 0 5412 m=audio 49170 RTP/AVP 0 5413 a=rtpmap:0 PCMU/8000 5415 F11 480 Not Logged In B2 -> Proxy 5417 SIP/2.0 480 Not Logged In 5418 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.2 5419 ;received=192.0.2.54 5420 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5421 ;received=192.0.2.103 5422 From: Alice ;tag=1234567 5423 To: Bob ;tag=314756 5424 Call-ID: 12345600@atlanta.example.com 5425 CSeq: 1 INVITE 5426 Content-Length: 0 5428 F12 ACK Proxy -> B2 5430 ACK sips:bob@client2.biloxi.example.com SIP/2.0 5431 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.2 5432 Max-Forwards: 70 5433 From: Alice ;tag=1234567 5434 To: Bob ;tag=314756 5435 Call-ID: 12345600@atlanta.example.com 5436 CSeq: 1 ACK 5437 Content-Length: 0 5439 F13 INVITE Proxy -> B3 5441 INVITE sips:bob@client3.biloxi.example.com SIP/2.0 5442 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.3 5443 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5444 ;received=192.0.2.103 5445 Record-Route: 5446 Max-Forwards: 69 5447 From: Alice ;tag=1234567 5448 To: Bob 5449 Call-ID: 12345600@atlanta.example.com 5450 CSeq: 1 INVITE 5451 Contact: 5452 Content-Type: application/sdp 5453 Content-Length: ... 5455 v=0 5456 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5457 s=Session SDP 5458 c=IN IP4 client.atlanta.example.com 5459 t=0 0 5460 m=audio 49170 RTP/AVP 0 5461 a=rtpmap:0 PCMU/8000 5463 F14 486 Busy Here B3 -> Proxy 5465 SIP/2.0 486 Busy Here 5466 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.3 5467 ;received=192.0.2.54 5468 From: Alice ;tag=1234567 5469 To: Bob ;tag=7654321 5470 Call-ID: 12345600@atlanta.example.com 5471 CSeq: 1 INVITE 5472 Content-Length: 0 5474 F15 ACK Proxy -> B3 5476 ACK sips:bob@client3.biloxi.example.com SIP/2.0 5477 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.3 5478 Max-Forwards: 70 5479 From: Alice ;tag=1234567 5480 To: Bob ;tag=7654321 5481 Call-ID: 12345600@atlanta.example.com 5482 CSeq: 1 ACK 5483 Content-Length: 0 5485 F16 INVITE Proxy -> B4 5487 INVITE sips:bob@client4.biloxi.example.com SIP/2.0 5488 Via: SIP/2.0/TLS ss1.example.com:5061;branch=83749.4 5489 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5490 ;received=192.0.2.103 5491 Record-Route: 5492 Max-Forwards: 69 5493 From: Alice ;tag=1234567 5494 To: Bob 5495 Call-ID: 12345600@atlanta.example.com 5496 CSeq: 1 INVITE 5497 Contact: 5498 Content-Type: application/sdp 5499 Content-Length: ... 5501 v=0 5502 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5503 s=Session SDP 5504 c=IN IP4 client.atlanta.example.com 5505 t=0 0 5506 m=audio 49170 RTP/AVP 0 5507 a=rtpmap:0 PCMU/8000 5509 F17 180 Ringing B4 -> Proxy 5511 SIP/2.0 180 Ringing 5512 Via: SIP/2.0/TLS ss1.example.com:5061;branch=83749.4 5513 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5514 ;received=192.0.2.103 5515 Record-Route: 5516 From: Alice ;tag=1234567 5517 To: Bob ;tag=7137136 5518 Call-ID: 12345600@atlanta.example.com 5519 CSeq: 1 INVITE 5520 Contact: 5521 Content-Length: 0 5523 F18 180 Ringing B4 -> Proxy 5525 SIP/2.0 180 Ringing 5526 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5527 ;received=192.0.2.103 5528 Record-Route: 5529 From: Alice ;tag=1234567 5530 To: Bob ;tag=7137136 5531 Call-ID: 12345600@atlanta.example.com 5532 CSeq: 1 INVITE 5533 Contact: 5534 Content-Length: 0 5536 F19 200 OK B4 -> Proxy 5537 SIP/2.0 200 OK 5538 Via: SIP/2.0/TLS ss1.example.com:5061;branch=83749.4 5539 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5540 ;received=192.0.2.103 5541 Record-Route: 5542 From: Alice ;tag=1234567 5543 To: Bob ;tag=7137136 5544 Call-ID: 12345600@atlanta.example.com 5545 CSeq: 1 INVITE 5546 Contact: 5547 Content-Type: application/sdp 5548 Content-Length: ... 5550 v=0 5551 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com 5552 s=Session SDP 5553 c=IN IP4 client4.biloxi.example.com 5554 t=0 0 5555 m=audio 3456 RTP/AVP 0 5556 a=rtpmap:0 PCMU/8000 5558 F20 200 OK Proxy -> Alice 5560 SIP/2.0 200 OK 5561 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5562 ;received=192.0.2.103 5563 Record-Route: 5564 From: Alice ;tag=1234567 5565 To: Bob ;tag=7137136 5566 Call-ID: 12345600@atlanta.example.com 5567 CSeq: 1 INVITE 5568 Contact: 5569 Content-Type: application/sdp 5570 Content-Length: ... 5572 v=0 5573 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com 5574 s=Session SDP 5575 c=IN IP4 client4.biloxi.example.com 5576 t=0 0 5577 m=audio 3456 RTP/AVP 0 5578 a=rtpmap:0 PCMU/8000 5580 F21 ACK Alice -> Proxy 5581 ACK sips:bob@client4.biloxi.example.com SIP/2.0 5582 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf 5583 Route: 5584 Max-Forwards: 70 5585 From: Alice ;tag=1234567 5586 To: Bob ;tag=7137136 5587 Call-ID: 12345600@atlanta.example.com 5588 CSeq: 1 ACK 5589 Content-Length: 0 5591 F22 ACK Proxy -> B4 5593 ACK sips:bob@client4.biloxi.example.com SIP/2.0 5594 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK8374 5595 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf 5596 ;received=192.0.2.103 5597 Max-Forwards: 69 5598 From: Alice ;tag=1234567 5599 To: Bob ;tag=7137136 5600 Call-ID: 12345600@atlanta.example.com 5601 CSeq: 1 ACK 5602 Content-Length: 0 5604 /* RTP streams are established between A and B4*/ 5606 /* User B4 Hangs Up with User A. */ 5608 F23 BYE B4 -> Proxy 5610 BYE sips:alice@client.atlanta.example.com SIP/2.0 5611 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 5612 Route: 5613 Max-Forwards: 70 5614 From: Bob ;tag=7137136 5615 To: Alice ;tag=1234567 5616 Call-ID: 12345600@atlanta.example.com 5617 CSeq: 1 BYE 5618 Content-Length: 0 5620 F24 BYE Proxy -> Alice 5622 BYE sips:alice@client.atlanta.example.com SIP/2.0 5623 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83754 5624 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 5625 ;received=192.0.2.105 5626 Max-Forwards: 69 5627 From: Bob ;tag=7137136 5628 To: Alice ;tag=1234567 5629 Call-ID: 12345600@atlanta.example.com 5630 CSeq: 1 BYE 5631 Content-Length: 0 5633 F25 200 OK Alice -> Proxy 5635 SIP/2.0 200 OK 5636 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83754 5637 ;received=192.0.2.54 5638 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 5639 ;received=192.0.2.105 5640 From: Bob ;tag=7137136 5641 To: Alice ;tag=1234567 5642 Call-ID: 12345600@atlanta.example.com 5643 CSeq: 1 BYE 5644 Content-Length: 0 5646 F26 200 OK Proxy -> B4 5648 SIP/2.0 200 OK 5649 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 5650 ;received=192.0.2.105 5651 From: Bob ;tag=7137136 5652 To: Alice ;tag=1234567 5653 Call-ID: 12345600@atlanta.example.com 5654 CSeq: 1 BYE 5655 Content-Length: 0 5657 2.14 Call Management (Incoming Call Screening) 5658 Announcement 5659 Alice Proxy Bob Server 5660 | | | | 5661 | INVITE F1 | | | 5662 |------------------------------>| | 5663 | 305 Use Proxy F2 | | 5664 |<------------------------------| | 5665 | ACK F3 | | | 5666 |------------------------------>| | 5667 | INVITE F4 | | | 5668 |--------------->| | | 5669 | 407 Proxy Authorization F5 | | 5670 |<---------------| | | 5671 | ACK F6 | | | 5672 |--------------->| | | 5673 | INVITE F7 | | | 5674 |--------------->| | | 5675 | 403 Screening Failure (Terminating) Error-Info: URI F8 5676 |<---------------| | | 5677 | ACK F9 | | | 5678 |--------------->| | | 5679 | INVITE F10 | | | 5680 |--------------->| INVITE F11 | 5681 | |---------------------------->| 5682 | | 200 OK F12 | 5683 | 200 OK F13 |<----------------------------| 5684 |<---------------| | 5685 | ACK F14 | | 5686 |--------------------------------------------->| 5687 | Announcement Played to Caller | 5688 |<============================================>| 5689 | BYE F15 | 5690 |<---------------------------------------------| 5691 | 200 OK F16 | 5692 |--------------------------------------------->| 5693 | | 5694 | | 5695 | | 5697 Bob has an incoming call screening list, Alice is included on the 5698 list of addresses Bob will not accept calls from. Alice attempts to 5699 call user B. Messages F1, F2, and F3 are included to show that Bob 5700 does not accept INVITEs that have not been screened by the proxy. 5702 Note that call screening can not be done using the From header - 5703 instead some form of authentication credentials must be used. 5705 The screening proxy inserts an announcement URI in an Error-Info 5706 header field which Alice accesses by sending an INVITE to listen to 5707 the Announcement. 5709 Message Details 5711 F1 INVITE Alice -> Bob 5713 INVITE sips:bob@biloxi.example.com SIP/2.0 5714 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5715 Max-Forwards: 70 5716 From: Alice ;tag=1234567 5717 To: Bob 5718 Call-ID: 12345600@atlanta.example.com 5719 CSeq: 1 INVITE 5720 Contact: 5721 Content-Type: application/sdp 5722 Content-Length: ... 5724 v=0 5725 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5726 s=Session SDP 5727 c=IN IP4 client.atlanta.example.com 5728 t=3034423619 0 5729 m=audio 49170 RTP/AVP 0 5730 a=rtpmap:0 PCMU/8000 5732 /* Bob only accepts INVITEs that have been screened by the proxy */ 5734 F2 305 Use Proxy Bob -> Alice 5736 SIP/2.0 305 Use Proxy 5737 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5738 ;received=192.0.2.103 5739 From: Alice ;tag=1234567 5740 To: Bob ;tag=342123 5741 Call-ID: 12345600@atlanta.example.com 5742 CSeq: 1 INVITE 5743 Contact: 5744 Content-Length: 0 5746 F3 ACK Alice -> Bob 5748 ACK sips:bob@biloxi.example.com SIP/2.0 5749 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 5750 Max-Forwards: 70 5751 From: Alice ;tag=1234567 5752 To: Bob ;tag=342123 5753 Call-ID: 12345600@atlanta.example.com 5754 CSeq: 1 ACK 5755 Content-Length: 0 5757 /* A retries the call through the proxy */ 5759 F4 INVITE Alice -> Proxy 1 5761 INVITE sips:bob@biloxi.example.com SIP/2.0 5762 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf0 5763 Max-Forwards: 70 5764 From: Alice ;tag=1234567 5765 To: Bob 5766 Call-ID: 12345600@atlanta.example.com 5767 CSeq: 2 INVITE 5768 Contact: 5769 Content-Type: application/sdp 5770 Content-Length: ... 5772 v=0 5773 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5774 s=Session SDP 5775 c=IN IP4 client.atlanta.example.com 5776 t=3034423619 0 5777 m=audio 49170 RTP/AVP 0 5778 a=rtpmap:0 PCMU/8000 5780 /* Proxy 1 challenges Alice for authentication */ 5782 F5 407 Proxy Authorization Required Proxy 1 -> Alice 5784 SIP/2.0 407 Proxy Authorization Required 5785 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf0 5786 ;received=192.0.2.103 5787 From: Alice ;tag=1234567 5788 To: Bob ;tag=7886765 5789 Call-ID: 12345600@atlanta.example.com 5790 CSeq: 2 INVITE 5791 Proxy-Authenticate: Digest realm="example.com", 5792 domain="sips:ss1.example.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 5793 opaque="", stale=FALSE, algorithm=MD5 5794 Content-Length: 0 5795 F6 ACK Alice -> Proxy 1 5797 ACK sips:bob@biloxi.example.com SIP/2.0 5798 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf0 5799 Max-Forwards: 70 5800 From: Alice ;tag=1234567 5801 To: Bob ;tag=7886765 5802 Call-ID: 12345600@atlanta.example.com 5803 CSeq: 2 ACK 5804 Content-Length: 0 5806 /* Alice responds by sending an INVITE with authentication 5807 credentials in it. */ 5809 F7 INVITE Alice -> Proxy 1 5811 INVITE sips:bob@biloxi.example.com SIP/2.0 5812 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf2 5813 Max-Forwards: 70 5814 From: Alice ;tag=1234567 5815 To: Bob 5816 Call-ID: 12345600@atlanta.example.com 5817 CSeq: 3 INVITE 5818 Contact: 5819 Proxy-Authorization: Digest username="alice", 5820 realm="example.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a", 5821 opaque="", uri="sips:bob@biloxi.example.com", 5822 response="bbaec39f943bdcb3620d90afc548a45c" 5823 Content-Type: application/sdp 5824 Content-Length: ... 5826 v=0 5827 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5828 s=Session SDP 5829 c=IN IP4 client.atlanta.example.com 5830 t=3034423619 0 5831 m=audio 49170 RTP/AVP 0 5832 a=rtpmap:0 PCMU/8000 5834 F8 403 Screening Failure (Terminating) Proxy 1 -> Alice 5836 SIP/2.0 403 Screening Failure (Terminating) 5837 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf2 5838 ;received=192.0.2.103 5839 From: Alice ;tag=1234567 5840 To: Bob ;tag=ffe254 5841 Call-ID: 12345600@atlanta.example.com 5842 CSeq: 3 INVITE 5843 Error-Info: 5844 Content-Length: 0 5846 F9 ACK Alice -> Proxy 1 5848 ACK sips:bob@biloxi.example.com SIP/2.0 5849 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf2 5850 Max-Forwards: 70 5851 From: Alice ;tag=1234567 5852 To: Bob ;tag=ffe254 5853 Call-ID: 12345600@atlanta.example.com 5854 Proxy-Authorization: Digest username="alice", 5855 realm="example.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a", 5856 opaque="", uri="sips:bob@biloxi.example.com", 5857 response="bbaec39f943bdcb3620d90afc548a45c" 5858 CSeq: 3 ACK 5859 Content-Length: 0 5861 /* To hear the recording, Alice connects to the Error-Info URI */ 5863 F10 INVITE Alice -> Proxy 1 5865 INVITE sips:screen-failure-term-ann@annoucement.example.com SIP/2.0 5866 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfj 5867 Max-Forwards: 70 5868 From: Alice ;tag=1234567 5869 To: Bob 5870 Call-ID: 12345600@atlanta.example.com 5871 CSeq: 4 INVITE 5872 Contact: 5873 Content-Type: application/sdp 5874 Content-Length: ... 5876 v=0 5877 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5878 s=Session SDP 5879 c=IN IP4 client.atlanta.example.com 5880 t=3034423619 0 5881 m=audio 49170 RTP/AVP 0 5882 a=rtpmap:0 PCMU/8000 5883 F11 INVITE Proxy 1 -> Announcement Server 5885 INVITE sips:screen-failure-term-ann@annoucement.example.com SIP/2.0 5886 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83743 5887 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfj 5888 ;received=192.0.2.103 5889 Max-Forwards: 69 5890 From: Alice ;tag=1234567 5891 To: Bob 5892 Call-ID: 12345600@atlanta.example.com 5893 CSeq: 4 INVITE 5894 Contact: 5895 Content-Type: application/sdp 5896 Content-Length: ... 5898 v=0 5899 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5900 s=Session SDP 5901 c=IN IP4 client.atlanta.example.com 5902 t=3034423619 0 5903 m=audio 49170 RTP/AVP 0 5904 a=rtpmap:0 PCMU/8000 5906 F12 200 OK Announcement Server -> Proxy 1 5908 SIP/2.0 200 OK 5909 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83743 5910 ;received=192.0.2.100 5911 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfj 5912 ;received=192.0.2.103 5913 From: Alice ;tag=1234567 5914 To: Bob ;tag=234934 5915 Call-ID: 12345600@atlanta.example.com 5916 CSeq: 4 INVITE 5917 Contact: 5918 Content-Type: application/sdp 5919 Content-Length: ... 5921 v=0 5922 o=annc 2890844543 2890844543 IN IP4 announcement.example.com 5923 s=Session SDP 5924 c=IN IP4 announcement.example.com 5925 t=0 0 5926 m=audio 49174 RTP/AVP 0 5927 a=rtpmap:0 PCMU/8000 5928 F13 200 OK Proxy 1 -> Alice 5930 SIP/2.0 200 OK 5931 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfj 5932 ;received=192.0.2.103 5933 From: Alice ;tag=1234567 5934 To: Bob ;tag=234934 5935 Call-ID: 12345600@atlanta.example.com 5936 CSeq: 4 INVITE 5937 Contact: 5938 Content-Type: application/sdp 5939 Content-Length: ... 5941 v=0 5942 o=annc 2890844543 2890844543 IN IP4 announcement.example.com 5943 s=Session SDP 5944 c=IN IP4 announcement.example.com 5945 t=0 0 5946 m=audio 49174 RTP/AVP 0 5947 a=rtpmap:0 PCMU/8000 5949 F14 ACK Alice -> Announcement Server 5951 ACK sips:annoucement.example.com SIP/2.0 5952 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b32 5953 Max-Forwards: 70 5954 From: Alice ;tag=1234567 5955 To: Bob ;tag=234934 5956 Call-ID: 12345600@atlanta.example.com 5957 CSeq: 4 ACK 5958 Content-Length: 0 5960 /* Announcement Server plays announcement then disconnects */ 5962 F15 BYE Announcement Server -> Alice 5964 BYE sips:alice@client.Atlanta.com SIP/2.0 5965 Via: SIP/2.0/TLS announcement.example.com:5061;branch=z9hG4bK74bKS 5966 Max-Forwards: 70 5967 From: Bob ;tag=234934 5968 To: Alice ;tag=1234567 5969 Call-ID: 12345600@atlanta.example.com 5970 CSeq: 2334 BYE 5971 Content-Length: 0 5972 F16 200 OK Alice -> Announcement Server 5974 SIP/2.0 200 OK 5975 Via: SIP/2.0/TLS announcement.example.com:5061;branch=z9hG4bK74bKS 5976 ;received=192.0.2.103 5977 From: Bob ;tag=234934 5978 To: Alice ;tag=1234567 5979 Call-ID: 12345600@atlanta.example.com 5980 CSeq: 2334 BYE 5981 Content-Length: 0 5983 2.15 Call Management (Outgoing Call Screening) 5985 Alice Proxy Bob 5986 | | | 5987 | INVITE F1 | | 5988 |--------------->| | 5989 | 407 Proxy Authorization F2 | 5990 |<---------------| | 5991 | ACK F3 | | 5992 |--------------->| | 5993 | INVITE F4 | | 5994 |--------------->| | 5995 | 403 Screening Failure (Originating) F5 5996 |<---------------| | 5997 | ACK F6 | | 5998 |--------------->| | 5999 | | | 6001 Alice has an outgoing call screening list, Bob is included on the 6002 list of addresses Alice will not be able to place a call to. Alice 6003 attempts to call Bob. 6005 Alice could establish a session to listen to the announcement in the 6006 Error-Info header field. 6008 Message Details 6010 F1 INVITE Alice -> Proxy 1 6012 INVITE sips:bob@biloxi.example.com SIP/2.0 6013 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 6014 Max-Forwards: 70 6015 From: Alice ;tag=1234567 6016 To: Bob 6017 Call-ID: 12345600@atlanta.example.com 6018 CSeq: 1 INVITE 6019 Contact: 6020 Content-Type: application/sdp 6021 Content-Length: ... 6023 v=0 6024 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6025 s=Session SDP 6026 c=IN IP4 client.atlanta.example.com 6027 t=3034423619 0 6028 m=audio 49170 RTP/AVP 0 6029 a=rtpmap:0 PCMU/8000 6031 /* Proxy 1 challenges Alice for authentication */ 6033 F2 407 Proxy Authorization Required Proxy 1 -> Alice 6035 SIP/2.0 407 Proxy Authorization Required 6036 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 6037 ;received=192.0.2.103 6038 From: Alice ;tag=1234567 6039 To: Bob ;tag=90210 6040 Call-ID: 12345600@atlanta.example.com 6041 CSeq: 1 INVITE 6042 Proxy-Authenticate: Digest realm="example.com", 6043 domain="sips:ss1.example.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 6044 opaque="", stale=FALSE, algorithm=MD5 6045 Content-Length: 0 6047 F3 ACK Alice -> Proxy 1 6049 ACK sips:bob@biloxi.example.com SIP/2.0 6050 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 6051 Max-Forwards: 70 6052 From: Alice ;tag=1234567 6053 To: Bob ;tag=90210 6054 Call-ID: 12345600@atlanta.example.com 6055 CSeq: 1 ACK 6056 Content-Length: 0 6058 /* Alice responds be sending an INVITE with authentication 6059 credentials in it. */ 6060 F4 INVITE Alice -> Proxy 1 6062 INVITE sips:bob@biloxi.example.com SIP/2.0 6063 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b4 6064 Max-Forwards: 70 6065 From: Alice ;tag=1234567 6066 To: Bob 6067 Call-ID: 12345600@atlanta.example.com 6068 CSeq: 2 INVITE 6069 Contact: 6070 Proxy-Authorization: Digest username="alice", realm="example.com", 6071 nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 6072 uri="sips:bob@biloxi.example.com", 6073 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 6074 Content-Type: application/sdp 6075 Content-Length: ... 6077 v=0 6078 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6079 s=Session SDP 6080 c=IN IP4 client.atlanta.example.com 6081 t=3034423619 0 6082 m=audio 49170 RTP/AVP 0 6083 a=rtpmap:0 PCMU/8000 6085 F5 403 Screening Failure (Originating) Proxy 1 -> Alice 6087 SIP/2.0 403 Screening Failure (Originating) 6088 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b4 6089 ;received=192.0.2.103 6090 From: Alice ;tag=1234567 6091 To: Bob ;tag=18017 6092 Call-ID: 12345600@atlanta.example.com 6093 CSeq: 2 INVITE 6094 Error-Info: 6095 Content-Length: 0 6097 F6 ACK Alice -> Proxy 1 6099 ACK sips:bob@biloxi.example.com SIP/2.0 6101 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b4 6102 Max-Forwards: 70 6103 From: Alice ;tag=1234567 6104 To: Bob ;tag=18017 6105 Call-ID: 12345600@atlanta.example.com 6106 CSeq: 2 ACK 6107 Proxy-Authorization: Digest username="alice", realm="example.com", 6108 nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 6109 uri="sips:bob@biloxi.example.com", 6110 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 6111 Content-Length: 0 6113 2.16 Call Park 6115 Alice Bob Park Server Carol 6116 | | | | 6117 | INVITE F1 | | | 6118 |------------->| | | 6119 |180 Ringing F2| | | 6120 |<-------------| | | 6121 | 200 OK F3 | | | 6122 |<-------------| | | 6123 | ACK F4 | | | 6124 |------------->| | | 6125 | RTP Media | | | 6126 |<============>| | | 6127 | Bob Parks Call | | 6128 | | REFER Refer-To: A F5 | 6129 | |------------->| | 6130 | | 202 F6 | | 6131 | |<-------------| | 6132 | | NOTIFY F7 | | 6133 | |<-------------| | 6134 | | 200 F8 | | 6135 | |------------->| | 6136 | INVITE F9 Replaces: B | | 6137 |<----------------------------| | 6138 | 200 OK F10 | | 6139 |---------------------------->| | 6140 | ACK F11 | | 6141 |<----------------------------| | 6142 | RTP Music | | 6143 |<===========================>| | 6144 | BYE F12 | | | 6145 |------------->| NOTIFY F14 | | 6146 | 200 OK F13 |<-------------| | 6147 |<-------------| 200 OK F15 | | 6148 | |------------->| | 6149 | | Carol picks up the call | 6150 | | | | 6151 | INVITE Replaces: Park Server F16 | 6152 |<-------------------------------------------| 6153 | | | 200 F17 | 6154 |------------------------------------------->| 6155 | | | ACK F18 | 6156 |<-------------------------------------------| 6157 | RTP Media | 6158 |<==========================================>| 6159 | BYE F19 | | 6160 |---------------------------->| | 6161 | 200 OK F20 | | 6162 |<----------------------------| | 6163 | No more RTP Music | | 6165 In this example, Alice calls Bob. Bob then parks the call at the 6166 Park Server by sending a REFER to the Park Server. The server sends 6167 an INVITE to Alice which replaces the session between Alice and Bob. 6168 The call is accepted by Alice and causes Alice to send a BYE to Bob. 6169 Bob receives notification of the successful park, and also receives 6170 the dialog identifiers in the application/sip body of the NOTIFY 6171 response. Carol wishes to retrieve the call, a new INVITE is sent to 6172 Alice which replaces the session with the Park Server. Alice accepts 6173 the call and sends a BYE to the Park Server. Note that if the Park 6174 Server did not return the dialog identifiers (Call-ID, To and From 6175 tags) in the NOTIFY, Carol could send a SUBSCRIBE to retrieve this 6176 information. 6178 Note that this call is a special case of call transfer. 6180 Note also that this flow could also be used for Music on Hold. 6182 Message Details. 6184 F1 INVITE Alice -> Bob 6186 INVITE sips:bob@biloxi.example.com SIP/2.0 6187 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 6188 Max-Forwards: 70 6189 From: Alice ;tag=1234567 6190 To: Bob 6191 Call-ID: 12345601@atlanta.example.com 6192 CSeq: 1 INVITE 6193 Contact: 6194 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6195 Supported: replaces, gruu 6196 Content-Type: application/sdp 6197 Content-Length: ... 6199 v=0 6200 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6201 s=Session SDP 6202 c=IN IP4 client.atlanta.example.com 6203 t=3034423619 0 6204 m=audio 49170 RTP/AVP 0 6205 a=rtpmap:0 PCMU/8000 6207 F2 180 Ringing Bob -> Alice 6209 SIP/2.0 180 Ringing 6210 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 6211 ;received=192.0.2.105 6212 From: Alice ;tag=1234567 6213 To: Bob ;tag=314159 6214 Call-ID: 12345601@atlanta.example.com 6215 CSeq: 1 INVITE 6216 Contact: 6217 Content-Length: 0 6219 F3 200 OK Bob -> Alice 6221 SIP/2.0 200 OK 6222 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 6223 ;received=192.0.2.105 6224 From: Alice ;tag=1234567 6225 To: Bob ;tag=314159 6226 Call-ID: 12345601@atlanta.example.com 6227 CSeq: 1 INVITE 6228 Contact: 6229 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6230 Supported: replaces 6231 Content-Type: application/sdp 6232 Content-Length: ... 6234 v=0 6235 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 6236 s=Session SDP 6237 c=IN IP4 client.biloxi.example.com 6238 t=3034423619 0 6239 m=audio 3456 RTP/AVP 0 6240 a=rtpmap:0 PCMU/8000 6242 F4 ACK Alice -> Bob 6243 ACK sips:bob@client.biloxi.example.com SIP/2.0 6244 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 6245 Max-Forwards: 70 6246 From: Alice ;tag=1234567 6247 To: Bob ;tag=314159 6248 Call-ID: 12345601@atlanta.example.com 6249 CSeq: 1 ACK 6250 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6251 Supported: replaces 6252 Content-Length: 0 6254 /* Bob 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. */ 6256 F5 REFER Bob -> Park Server 6258 REFER sips:park@server.example.com SIP/2.0 6259 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds9 6260 Max-Forwards: 70 6261 From: Bob ;tag=02134 6262 To: Park Server 6263 Call-ID: 4802029847@biloxi.example.com 6264 CSeq: 1 REFER 6265 Refer-To: 6267 Referred-By: 6268 Contact: 6269 Content-Length: 0 6271 F6 202 Accepted Park Server -> Bob 6273 SIP/2.0 202 Accepted 6274 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds9 6275 ;received=192.0.2.105 6276 From: Bob ;tag=02134 6277 To: Park Server ;tag=56323 6278 Call-ID: 4802029847@biloxi.example.com 6279 CSeq: 1 REFER 6280 Content-Length: 0 6282 F7 NOTIFY Park Server -> Bob 6284 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 6285 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bT6 6286 To: Bob ;tag=02134 6287 Max-Forwards: 70 6288 From: Park Server ;tag=56323 6289 Call-ID: 4802029847@biloxi.example.com 6290 CSeq: 1 NOTIFY 6291 Event: refer 6292 Subscription-State: active;expires=60 6293 Content-Type: message/sipfrag 6294 Content-Length: ... 6296 SIP/2.0 100 Trying 6298 F8 200 OK Bob -> Park Server 6300 SIP/2.0 200 OK 6301 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bT6 6302 ;received=192.0.2.103 6303 To: Bob ;tag=02134 6304 From: Park Server ;tag=56323 6305 Call-ID: 4802029847@biloxi.example.com 6306 CSeq: 1 NOTIFY 6307 Content-Length: 0 6309 /* Park Server places call to Alice to replace session between Alice and Bob */ 6311 F9 INVITE Park Server -> Alice 6313 INVITE sips:a8342043f@atlanta.example.com SIP/2.0 6314 Via: SIP/2.0/TLS server.example.com:5061;branch=z9hG4bK74rf 6315 Max-Forwards: 70 6316 From: ;tag=0111 6318 To: 6319 Call-ID: a5-75-34-12-76@server.example.com 6320 CSeq: 1 INVITE 6321 Referred-By: 6322 Contact: 6323 Replaces: 12345601@atlanta.example.com;from-tag=314159;to-tag=1234567 6324 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6325 Supported: replaces 6326 Content-Type: application/sdp 6327 Content-Length: ... 6329 v=0 6330 o=ParkServer 2890844576 2890844576 IN IP4 Park.server.example.com 6331 s=Session SDP 6332 c=IN IP4 music.server.example.com 6333 t=3034423619 0 6334 m=audio 49170 RTP/AVP 0 6335 a=rtpmap:0 PCMU/8000 6337 F10 200 OK Alice -> Park Server 6339 SIP/2.0 200 OK 6340 Via: SIP/2.0/TLS music.server.example.com:5061;branch=z9hG4bK74rf 6341 From: ;tag=0111 6342 To: Alice ;tag=098594 6343 Call-ID: a5-75-34-12-76@server.example.com 6344 CSeq: 1 INVITE 6345 Contact: 6346 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6347 Supported: replaces, gruu 6348 Content-Type: application/sdp 6349 Content-Length: ... 6351 v=0 6352 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6353 s=Session SDP 6354 c=IN IP4 client.atlanta.example.com 6355 t=3034423619 0 6356 m=audio 49170 RTP/AVP 0 6357 a=rtpmap:0 PCMU/8000 6358 a=recvonly 6360 F11 ACK Park Server -> Alice 6362 ACK sips:a8342043f@atlanta.example.com SIP/2.0 6363 Via: SIP/2.0/TLS music.server.example.com:5061;branch=z9hG4bK7rfF 6364 Max-Forwards: 70 6365 From: ;tag=0111 6366 To: Alice ;tag=098594 6367 Call-ID: a5-75-34-12-76@server.example.com 6368 CSeq: 1 ACK 6369 Content-Length: 0 6371 F12 BYE Alice -> Bob 6373 ACK sips:bob@client.biloxi.example.com SIP/2.0 6374 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 6375 Max-Forwards: 70 6376 From: Alice ;tag=1234567 6377 To: Bob ;tag=314159 6379 Call-ID: 12345601@atlanta.example.com 6380 CSeq: 2 BYE 6382 Content-Length: 0 6384 F13 200 OK Bob -> Alice 6386 SIP/2.0 200 OK 6387 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 6388 ;received=192.0.2.105 6389 From: Alice ;tag=1234567 6390 To: Bob ;tag=314159 6391 Call-ID: 12345601@atlanta.example.com 6392 CSeq: 2 BYE 6393 Content-Length: 0 6395 /* Park Server reports success back to B by returning all the SIP headers in 200 OK response */ 6397 F14 NOTIFY Park Server -> Bob 6399 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 6400 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 6401 To: Bob ;tag=02134 6402 Max-Forwards: 70 6403 From: Park Server ;tag=56323 6404 Call-ID: 4802029847@biloxi.example.com 6405 CSeq: 1 NOTIFY 6406 Event: refer 6407 Subscription-State: terminated;reason=noresource 6408 Content-Type: message/sipfrag 6409 Content-Length: ... 6411 SIP/2.0 200 OK 6412 Via: SIP/2.0/TLS music.server.example.com:5061 6413 From: ;tag=0111 6414 To: Alice ;tag=098594 6415 Call-ID: a5-75-34-12-76@server.example.com 6416 CSeq: 2 INVITE 6417 Contact: 6418 F15 200 OK Bob -> Park Server 6420 SIP/2.0 200 OK 6421 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 6422 ;received=192.0.2.103 6423 To: Bob ;tag=02134 6424 From: Park Server ;tag=56323 6425 Call-ID: 4802029847@biloxi.example.com 6426 CSeq: 2 NOTIFY 6427 Content-Length: 0 6429 /* Alice is now parked at the Park Server */ 6431 /* Carol picks up the call by sending an INVITE to A which replaces 6432 the existing session with the Park/Park Server. Carol needs to know 6433 the dialog information to construct the Replaces header. */ 6435 F16 INVITE Carol -> Alice 6437 INVITE sips:alice@atlanta.example.com SIP/2.0 6438 Via: SIP/2.0/TLS chicago.example.com:5061;branch=z9hG4bK74bQ2 6439 Max-Forwards: 70 6440 From: Carol ;tag=5893461 6441 To: Alice 6442 Call-ID: 6485356@chicago.example.com 6443 CSeq: 1 INVITE 6444 Contact: 6445 Replaces: a5-75-34-12-76@server.example.com;from-tag=098594;to-tag=0111 6446 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6447 Supported: replaces 6448 Content-Type: application/sdp 6449 Content-Length: ... 6451 v=0 6452 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 6453 s=Session SDP 6454 c=IN IP4 client.chicago.example.com 6455 t=3034423619 0 6456 m=audio 3456 RTP/AVP 0 6457 a=rtpmap:0 PCMU/8000 6459 F17 200 OK Alice -> Carol 6461 SIP/2.0 200 OK 6462 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bQ2 6463 ;received=192.0.2.105 6465 From: Carol ;tag=5893461 6466 To: Alice ;tag=222 6467 Call-ID: 6485356@chicago.example.com 6468 CSeq: 1 INVITE 6469 Contact: 6470 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6471 Supported: replaces, gruu 6472 Content-Type: application/sdp 6473 Content-Length: ... 6475 v=0 6476 o=alice 2890844527 2890844527 IN IP4 client.atlanta.example.com 6477 s=Session SDP 6478 c=IN IP4 client.atlanta.example.com 6479 t=3034423619 0 6480 m=audio 49170 RTP/AVP 0 6481 a=rtpmap:0 PCMU/8000 6483 F18 ACK Carol -> Alice 6485 ACK sips:a8342043f@atlanta.example.com SIP/2.0 6486 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bJ0 6487 Max-Forwards: 70 6488 From: Carol ;tag=5893461 6489 To: Alice ;tag=222 6490 Call-ID: 6485356@chicago.example.com 6491 CSeq: 1 ACK 6492 Content-Length: 0 6494 /* A replaces the session to the Park Server with the new session with C and generates a BYE to disconnect the Park Server */ 6496 F19 BYE Alice -> Park Server 6498 BYE sips:park@server.example.com SIP/2.0 6499 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b4N 6500 Max-Forwards: 70 6501 From: Alice ;tag=098594 6502 To: ;tag=0111 6503 Call-ID: a5-75-34-12-76@server.example.com 6504 CSeq: 1 BYE 6505 Content-Length: 0 6507 F20 200 OK Park Server -> Alice 6508 SIP/2.0 200 OK 6509 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b4N 6510 ;received=192.0.2.103 6511 From: Alice ;tag=098594 6512 To: ;tag=0111 6513 Call-ID: a5-75-34-12-76@server.example.com 6514 CSeq: 1 BYE 6515 Content-Length: 0 6517 2.17 Call Pickup 6519 Alice Bob Bill 6520 | | | 6521 | INVITE F1 | | 6522 |------------->| | 6523 |180 Ringing F2| | 6524 |<-------------| | 6525 | | SUBSCRIBE F3 | 6526 | |<------------------| 6527 | | 200 OK F4 | 6528 | |------------------>| 6529 | | NOTIFY F5 | 6530 | |------------------>| 6531 | | 200 OK F6 | 6532 | |<------------------| 6533 | INVITE Replaces:Bob F7 | 6534 |<---------------------------------| 6535 | | 200 OK F8 | 6536 |--------------------------------->| 6537 | CANCEL F9 | | 6538 |------------->| | 6539 | 200 OK F10 | | 6540 |<-------------| | 6541 | 487 F11 | | 6542 |<-------------| | 6543 | ACK F12 | | 6544 |------------->| | 6545 | ACK F13 | 6546 |<---------------------------------| 6547 | | NOTIFY F14 | 6548 | |------------------>| 6549 | | 481 F15 | 6550 | |<------------------| 6551 | | 6552 | Both way RTP Established | 6553 |<================================>| 6554 | BYE F16 | 6555 |--------------------------------->| 6556 | 200 OK F17 | 6557 |<---------------------------------| 6559 | | 6561 Bob and Bill are part of a work group at example.com that can pick up 6562 each others calls. Alice calls Bob who does not answer. Bill wishes 6563 to pick up the call and sends a SUBSCRIBE to Bob to retrieve the 6564 dialog information. Bill then generates an INVITE with a Replaces to 6565 Alice. Alice answers the INVITE and sends a CANCEL to stop Bob's 6566 phone ringing. Note that the order of the CANCEL/ACK sequence in F11 6567 through F20 is not significant. 6569 This call flow shows the use of the "early-only" parameter [4] in the 6570 Replaces header field of F7. This parameter prevents Alice from 6571 accepting the INVITE if Bob has already accepted the INVITE. If Bill 6572 had wished to "take" the call from Bob regardless of whether he had 6573 answered, the parameter would not have been present in F7. 6575 Also note that the subscription between Bob and Carol could have been 6576 established prior to Alice's call. 6578 Message Details 6580 F1 INVITE Alice -> Bob 6582 INVITE sips:bob@biloxi.example.com SIP/2.0 6583 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 6584 Max-Forwards: 70 6585 From: Alice ;tag=1234567 6586 To: Bob 6587 Call-ID: 12345600@atlanta.example.com 6588 CSeq: 1 INVITE 6589 Contact: 6590 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6591 Supported: replaces, gruu 6592 Content-Type: application/sdp 6593 Content-Length: ... 6595 v=0 6596 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6597 s=Session SDP 6598 c=IN IP4 client.atlanta.example.com 6599 t=0 0 6600 m=audio 49170 RTP/AVP 0 6601 a=rtpmap:0 PCMU/8000 6603 F2 180 Ringing Bob -> Alice 6605 SIP/2.0 180 Ringing 6606 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 6607 ;received=192.0.2.103 6608 From: Alice ;tag=1234567 6609 To: Bob ;tag=3145678 6610 Call-ID: 12345600@atlanta.example.com 6611 CSeq: 1 INVITE 6612 Contact: 6613 Content-Length: 0 6615 /* Bill decides to pick up the call */ 6617 F3 SUBSCRIBE Bill -> Bob 6619 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 6620 Via: SIP/2.0/TLS pc.biloxi.example.com:5061;branch=z9hG4bK74bf 6621 Max-Forwards: 70 6622 From: Bill ;tag=8675309 6623 To: Bob 6624 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6625 CSeq: 1 SUBSCRIBE 6626 Contact: 6627 Event: dialog 6628 Subscription-State: active;expires=3600 6629 Accept: application/dialog-info+xml 6630 Content-Length: 0 6632 F4 200 OK Bob -> Bill 6634 SIP/2.0 200 OK 6635 Via: SIP/2.0/TLS pc.biloxi.example.com:5061;branch=z9hG4bK74bf 6636 ;received=192.0.2.114 6637 Max-Forwards: 70 6638 From: Bill ;tag=8675309 6639 To: Bob ;tag=31451098 6640 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6641 CSeq: 1 SUBSCRIBE 6642 Content-Length: 0 6643 F5 NOTIFY Bob -> Bill 6645 NOTIFY sips:bill@pc.biloxi.example.com SIP/2.0 6646 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bK74br 6647 Max-Forwards: 70 6648 From: Bob ;tag=31451098 6649 To: Bill ;tag=8675309 6650 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6651 CSeq: 1 NOTIFY 6652 Contact: 6653 Event: dialog 6654 Subscription-State: active;expires=3600 6655 Content-Type: application/dialog-info+xml 6656 Content-Length: ... 6658 6659 6661 6665 early 6666 6667 6669 F6 200 OK Bill -> Bob 6671 SIP/2.0 200 OK 6672 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bK74br 6673 From: Bob ;tag=31451098 6674 To: Bill ;tag=8675309 6675 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6676 CSeq: 1 NOTIFY 6677 Contact: 6678 Content-Length: 0 6680 F7 INVITE Bill -> Alice 6682 INVITE sips:a8342043f@atlanta.example.com SIP/2.0 6683 Via: SIP/2.0/TLS pc.biloxi.example.com:5061;branch=z9hG4bK74HH 6684 Max-Forwards: 70 6685 From: Bill ;tag=8675309 6686 To: Alice 6687 Call-ID: 563456212@b2.biloxi.example.com 6688 CSeq: 1 INVITE 6689 Replaces: 12345600@atlanta.example.com;to-tag=314578;from-tag=1234567 6690 ;early-only 6691 Contact: 6692 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6693 Supported: replaces 6694 Content-Type: application/sdp 6695 Content-Length: ... 6697 v=0 6698 o=bob 2890843122 2890843122 IN IP4 pc.biloxi.example.com 6699 s=Session SDP 6700 c=IN IP4 pc.biloxi.example.com 6701 t=3034423619 0 6702 m=audio 5342 RTP/AVP 0 6703 a=rtpmap:0 PCMU/8000 6705 /* Alice matches the dialog information in the Replaces header and accepts 6706 the INVITE */ 6708 F8 200 OK Alice -> Bill 6710 SIP/2.0 200 OK 6711 Via: SIP/2.0/TLS pc.biloxi.example.com:5061;branch=z9hG4bK74HH 6712 ;received=192.0.2.114 6713 From: Bill ;tag=8675309 6714 To: Alice ;tag=131256 6715 Call-ID: 563456212@b2.biloxi.example.com 6716 CSeq: 1 INVITE 6717 Contact: 6718 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6719 Supported: replaces, gruu 6720 Content-Type: application/sdp 6721 Content-Length: ... 6723 v=0 6724 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com 6725 s=Session SDP 6726 c=IN IP4 client.atlanta.example.com 6727 t=0 0 6728 m=audio 49172 RTP/AVP 0 6729 a=rtpmap:0 PCMU/8000 6731 /* Alice stops Bob's phone from ringing by sending a CANCEL */ 6733 F9 CANCEL Alice -> Bob 6734 CANCEL sips:bob@biloxi.example.com SIP/2.0 6735 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 6736 Max-Forwards: 70 6737 From: Alice ;tag=1234567 6738 To: Bob 6739 Call-ID: 12345600@atlanta.example.com 6740 CSeq: 1 CANCEL 6741 Content-Length: 0 6743 F10 200 OK Bob -> Alice 6745 SIP/2.0 200 OK 6746 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 6747 ;received=192.0.2.103 6748 From: Alice ;tag=1234567 6749 To: Bob 6750 Call-ID: 12345600@atlanta.example.com 6751 CSeq: 1 CANCEL 6752 Content-Length: 0 6754 F11 487 Request Terminated Bob -> Alice 6756 SIP/2.0 487 Request Terminated 6757 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 6758 ;received=192.0.2.103 6759 From: Alice ;tag=1234567 6760 To: Bob ;tag=3145678 6761 Call-ID: 12345600@atlanta.example.com 6762 CSeq: 1 INVITE 6763 Content-Length: 0 6765 F12 ACK Alice -> Bob 6767 ACK sips:bob@client.biloxi.example.com SIP/2.0 6768 Via: SIP/2.0/TLS ss1.example.com:5061;branch=z9hG4bK83749.1 6769 Max-Forwards: 70 6770 From: Alice ;tag=1234567 6771 To: Bob ;tag=3145678 6772 Call-ID: 12345600@atlanta.example.com 6773 CSeq: 1 ACK 6774 Content-Length: 0 6776 F13 ACK Bill -> Alice 6777 ACK sips:a8342043f@atlanta.example.com SIP/2.0 6778 Via: SIP/2.0/TLS b2.biloxi.example.com:5061;branch=z9hG4bK7435 6779 Max-Forwards: 70 6780 From: Bill ;tag=8675309 6781 To: Alice ;tag=131256 6782 Call-ID: 563456212@b2.biloxi.example.com 6783 CSeq: 1 ACK 6784 Content-Length: 0 6786 F14 NOTIFY Bob -> Bill 6788 NOTIFY sips:bill@pc.biloxi.example.com SIP/2.0 6789 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bK749X 6790 Max-Forwards: 70 6791 From: Bob ;tag=31451098 6792 To: Bill ;tag=8675309 6793 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6794 CSeq: 2 NOTIFY 6795 Contact: 6796 Event: dialog 6797 Subscription-State: active;expires=3600 6798 Content-Type: application/dialog-info+xml 6799 Content-Length: ... 6801 6802 6804 6806 terminated 6807 6808 6810 F15 481 Dialog Does Not Exist Bill -> Bob 6812 SIP/2.0 481 Dialog Does Not Exist 6813 Via: SIP/2.0/TLS bob.biloxi.example.com:5061;branch=z9hG4bK749X 6814 From: Bob ;tag=31451098 6815 To: Bill ;tag=8675309 6816 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6817 CSeq: 2 NOTIFY 6818 Content-Length: 0 6820 /* RTP streams are established between Alice and Bill. 6822 Alice Hangs Up with Bob. */ 6824 F16 BYE Alice -> Bob 6826 BYE sips:carol@biloxi.example.com SIP/2.0 6827 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf 6828 Max-Forwards: 70 6829 To: Bob ;tag=8675309 6830 From: Alice ;tag=131256 6831 Call-ID: 563456212@b2.biloxi.example.com 6832 CSeq: 2 BYE 6833 Content-Length: 0 6835 F17 200 OK Bob -> Alice 6837 SIP/2.0 200 OK 6838 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf 6839 ;received=192.0.2.103 6840 To: Bob ;tag=8675309 6841 From: Alice ;tag=131256 6842 Call-ID: 563456212@b2.biloxi.example.com 6843 CSeq: 2 BYE 6844 Content-Length: 0 6846 2.18 Automatic Redial 6848 Alice Bob 6849 | | 6850 | INVITE F1 | 6851 |--------------->| 6852 |486 Busy Here F2| 6853 |<---------------| Bob is busy 6854 | ACK F3 | 6855 |--------------->| 6856 | SUBSCRIBE F4 | 6857 |--------------->| 6858 | 200 OK F5 | 6859 |<---------------| 6860 | NOTIFY F6 | 6861 |<---------------| 6862 | 200 OK F7 | 6863 |--------------->| 6864 | | 6865 | NOTIFY F8 | Bob is now available 6866 |<---------------| 6867 | 200 OK F9 | 6868 |--------------->| 6869 | | 6870 | INVITE F10 | 6871 |--------------->| Session setup successfully 6872 | 180 Ringing F11| 6873 |<---------------| 6874 | 200 OK F12 | 6875 |<---------------| 6876 | ACK F13 | 6877 |--------------->| 6878 | Media Session | 6879 |<==============>| 6880 | | 6882 Bob is initially busy when Alice calls. Alice subscribes to User 6883 B's call state using a SUBSCRIBE F4. Bob sends a NOTIFY F8 when Bob 6884 is available. A is alerted, then Alice sends an INVITE to B to 6885 establish the session. 6887 Message Details 6889 F1 INVITE Alice -> Bob 6891 INVITE sips:bob@biloxi.example.com SIP/2.0 6892 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 6893 Max-Forwards: 70 6894 From: Alice ;tag=1234567 6895 To: Bob 6896 Call-ID: 12345600@atlanta.example.com 6897 CSeq: 1 INVITE 6898 Contact: 6899 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6900 Supported: replaces 6901 Content-Type: application/sdp 6902 Content-Length: ... 6904 v=0 6905 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6906 s=Session SDP 6907 c=IN IP4 client.atlanta.example.com 6908 t=3034423619 0 6909 m=audio 49170 RTP/AVP 0 6910 a=rtpmap:0 PCMU/8000 6912 F2 486 Busy Here 6914 SIP/2.0 486 Busy Here 6915 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 6916 From: Alice ;tag=1234567 6917 To: Bob ;tag=982039i4 6918 Call-ID: 12345600@atlanta.example.com 6919 CSeq: 1 INVITE 6920 Content-Length: 0 6922 F3 ACK Alice -> Bob 6924 INVITE sips:bob@biloxi.example.com SIP/2.0 6925 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bf9 6926 Max-Forwards: 70 6927 From: Alice ;tag=1234567 6928 To: Bob ;tag=982039i4 6929 Call-ID: 12345600@atlanta.example.com 6930 CSeq: 1 ACK 6931 Content-Length: 0 6933 F4 SUBSCRIBE Alice -> Bob 6934 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 6935 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b8G 6936 Max-Forwards: 70 6937 From: Alice ;tag=837348234 6938 To: Bob 6939 Call-ID: 4524526232@atlanta.example.com 6940 CSeq: 1 SUBSCRIBE 6941 Contact: alice@client.atlanta.example.com 6942 Event: dialog 6943 Accept: application/dialog-info+xml 6944 Content-Length: 0 6946 F5 200 OK Bob -> Alice 6948 SIP/2.0 200 OK 6949 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74b8G 6950 From: Alice ;tag=837348234 6951 To: Bob 6952 Call-ID: 4524526232@atlanta.example.com 6953 CSeq: 1 SUBSCRIBE 6954 Contact: alice@client.biloxi.example.com 6955 Content-Length: 0 6957 F6 NOTIFY Bob -> Alice 6959 NOTIFY sips:alice@atlanta.example.com SIP/2.0 6960 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bn2 6961 Max-Forwards: 70 6962 From: Bob ;tag=341123 6963 To: Alice ;tag=837348234 6964 Call-ID: 4524526232@atlanta.example.com 6965 CSeq: 1 NOTIFY 6966 Event: dialog 6967 Subscription-State: active;expires=3600 6968 Content-Type: application/dialog-info+xml 6969 Content-Length: ... 6971 6972 6974 6975 confirmed 6976 6977 6978 F7 200 OK Alice -> Bob 6980 SIP/2.0 200 OK 6981 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bn2 6982 From: Bob ;tag=341123 6983 To: Alice ;tag=837348234 6984 Call-ID: 4524526232@atlanta.example.com 6985 CSeq: 1 NOTIFY 6986 Content-Length: 0 6988 /* Bob is now available */ 6990 F8 NOTIFY Bob -> Alice 6992 NOTIFY sips:alice@atlanta.example.com SIP/2.0 6993 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bVi 6994 Max-Forwards: 70 6995 From: Bob ;tag=341123 6996 To: Alice ;tag=837348234 6997 Call-ID: 4524526232@atlanta.example.com 6998 CSeq: 2 NOTIFY 6999 Event: dialog 7000 Subscription-State: active;expires=3600 7001 Content-Type: application/dialog-info+xml 7002 Content-Length: ... 7004 7005 7007 7008 terminated 7009 7010 7012 F9 200 OK Alice -> Bob 7014 SIP/2.0 200 OK 7015 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bVi 7016 From: Bob ;tag=341123 7017 To: Alice ;tag=837348234 7018 Call-ID: 4524526232@atlanta.example.com 7019 CSeq: 2 NOTIFY 7020 Content-Length: 0 7022 F10 INVITE Alice -> Bob 7023 INVITE sips:bob@biloxi.example.com SIP/2.0 7024 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfq 7025 Max-Forwards: 70 7026 From: Alice ;tag=f23fkg14k 7027 To: Bob 7028 Call-ID: aoij4i9okitr@atlanta.example.com 7029 CSeq: 1 INVITE 7030 Contact: 7031 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 7032 Supported: replaces 7033 Content-Type: application/sdp 7034 Content-Length: ... 7036 v=0 7037 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 7038 s=Session SDP 7039 c=IN IP4 client.atlanta.example.com 7040 t=3034423619 0 7041 m=audio 49170 RTP/AVP 0 7042 a=rtpmap:0 PCMU/8000 7044 F11 180 Ringing Bob -> Alice 7046 SIP/2.0 180 Ringing 7047 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfq 7048 ;received=192.0.2.103 7049 From: Alice ;tag=f23fkg14k 7050 To: Bob ;tag=23431 7051 Call-ID: aoij4i9okitr@atlanta.example.com 7052 CSeq: 1 INVITE 7053 Contact: 7054 Content-Length: 0 7056 F12 200 OK Bob -> Alice 7058 SIP/2.0 200 OK 7059 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bfq 7060 ;received=192.0.2.103 7061 From: Alice ;tag=f23fkg14k 7062 To: Bob ;tag=23431 7063 Call-ID: aoij4i9okitr@atlanta.example.com 7064 CSeq: 1 INVITE 7065 Contact: 7066 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 7067 Supported: replaces 7068 Content-Type: application/sdp 7069 Content-Length: ... 7071 v=0 7072 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 7073 s=Session SDP 7074 c=IN IP4 client.biloxi.example.com 7075 t=3034423619 0 7076 m=audio 3456 RTP/AVP 0 7077 a=rtpmap:0 PCMU/8000 7079 F13 ACK Alice -> Bob 7081 ACK sips:bob@client.biloxi.example.com SIP/2.0 7082 Via: SIP/2.0/TLS client.atlanta.example.com:5061;branch=z9hG4bK74bLBJ 7083 Max-Forwards: 70 7084 From: Alice ;tag=f23fkg14k 7085 To: Bob ;tag=23431 7086 Call-ID: aoij4i9okitr@atlanta.example.com 7087 CSeq: 1 ACK 7088 Content-Length: 0 7090 2.19 Click to Dial 7092 Bob's PC Bob Carol 7093 | REFER Refer-To:Carol F1 | 7094 |------------------->| | 7095 | 202 Accepted F2 | | 7096 |<-------------------| | 7097 | NOTIFY F3 | | 7098 |<-------------------| | 7099 | 200 OK F4 | | 7100 |------------------->| | 7101 | | INVITE F5 | 7102 | |------------------->| 7103 | | 180 Ringing F6 | 7104 | |<-------------------| 7105 | | 200 OK F7 | 7106 | |<-------------------| 7107 | | ACK F8 | 7108 | |------------------->| 7109 | | RTP | 7110 | |<==================>| 7111 | | | 7113 In this example, while browsing the web on his PC, Bob clicks on 7114 Carol's SIP URI intending to establish a session with Carol. Bob's 7115 web browser passes the SIP URI to the SIP client on Bob's PC. The PC 7116 client is configured with the URI of Bob's SIP phone. A REFER is 7117 sent to the SIP phone which results in the establishment of the 7118 session between Bob and Carol. 7120 Note that Bob's SIP phone immediately terminates the dialog by 7121 indicating in the NOTIFY (F3) that the subscription is terminated. 7123 This flow is preferable to the 3pcc flow because the end-to-end SIP 7124 signaling is not interrupted by the 3pcc controller, and because 7125 Bob's experience of the call will not be marred by the lack of 7126 ringback tone or possible clipping. Suitable authorization of the 7127 REFER and explicit authorization of the triggered INVITE by Bob is 7128 necessary. 7130 Message Details 7132 /* Bob's PC SIP Client sends a REFER to Bob's SIP phone */ 7134 F1 REFER PC -> Bob 7136 REFER sips:bob@biloxi.example.com SIP/2.0 7137 Via: SIP/2.0/TLS pc.biloxi.example.com:5061;branch=z9hG4bKnashds7 7138 Max-Forwards: 70 7139 From: ;tag=1234567 7140 To: Bob 7141 Call-ID: 12345601@atlanta.example.com 7142 CSeq: 1 REFER 7143 Refer-To: 7144 Contact: 7145 Content-Length: 0 7147 F2 202 Accepted Bob -> PC 7149 SIP/2.0 202 Accepted 7150 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7 7151 ;received=192.0.2.113 7152 From: ;tag=1234567 7153 To: Bob ;tag=314159 7154 Call-ID: 12345601@atlanta.example.com 7155 CSeq: 1 REFER 7156 Content-Length: 0 7158 F3 NOTIFY Bob -> Alice 7160 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 7161 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds9 7162 Max-Forwards: 70 7163 From: Bob ;tag=314159 7164 To: ;tag=1234567 7165 Call-ID: 12345601@atlanta.example.com 7166 CSeq: 1 NOTIFY 7167 Event: refer 7168 Subscription-State: terminated;reason=noresource 7169 Content-Type: message/sipfrag 7170 Content-Length: ... 7172 SIP/2.0 100 Trying 7174 F4 200 OK Alice -> Bob 7176 SIP/2.0 200 OK 7177 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds9 7178 ;received=192.0.2.113 7179 From: Bob ;tag=314159 7180 To: ;tag=1234567 7181 Call-ID: 12345601@atlanta.example.com 7182 CSeq: 1 NOTIFY 7183 Content-Length: 0 7185 F5 INVITE Bob -> Carol 7187 INVITE sips:carol@chicago.example.com SIP/2.0 7188 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashdK9 7189 Max-Forwards: 70 7190 From: Bob ;tag=8675309 7191 To: Carol 7192 Call-ID: 7436222@atlanta.example.com 7193 CSeq: 1 INVITE 7194 Contact: 7195 Referred-By: 7196 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 7197 Supported: replaces 7198 Content-Type: application/sdp 7199 Content-Length: ... 7201 v=0 7202 o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com 7203 s=Session SDP 7204 c=IN IP4 client.biloxi.example.com 7205 t=3034423821 0 7206 m=audio 3458 RTP/AVP 0 7207 a=rtpmap:0 PCMU/8000 7209 F6 180 Ringing Carol -> Bob 7211 SIP/2.0 180 Ringing 7212 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashdK9 7213 ;received=192.0.2.113 7214 From: Bob ;tag=8675309 7215 To: Carol ;tag=928287 7216 Call-ID: 7436222@atlanta.example.com 7217 CSeq: 1 INVITE 7218 Contact: 7219 Content-Length: 0 7221 F7 200 OK Carol -> Bob 7223 SIP/2.0 200 OK 7224 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashdK9 7225 ;received=192.0.2.113 7226 From: Bob ;tag=8675309 7227 To: Carol ;tag=928287 7228 Call-ID: 7436222@atlanta.example.com 7229 CSeq: 1 INVITE 7230 Contact: 7231 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 7232 Supported: replaces 7233 Content-Type: application/sdp 7234 Content-Length: ... 7236 v=0 7237 o=carol 2890844527 2890844527 IN IP4 client.chicago.example.com 7238 s=Session SDP 7239 c=IN IP4 client.chicago.example.com 7240 t=3034423619 0 7241 m=audio 3456 RTP/AVP 0 7242 a=rtpmap:0 PCMU/8000 7244 F8 ACK Bob -> Carol 7245 ACK sips:carol@client.chicago.example.com SIP/2.0 7246 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashd43 7247 Max-Forwards: 70 7248 From: Bob ;tag=8675309 7249 To: Carol ;tag=928287 7250 Call-ID: 7436222@atlanta.example.com 7251 CSeq: 1 ACK 7252 Content-Length: 0 7254 /* Bob and Carol now have established a session. */ 7256 3. Security Considerations 7258 Since many of the examples in this document involve SIP call control, 7259 either peer-to-peer or 3pcc, the security considerations in the 7260 Multiparty Framework document [12] apply. 7262 Many of the services shown in this document rely on a particular user 7263 agent being part of a group. Members of a group could be, for 7264 example, employees within a particular department, a set of home 7265 phone extensions, members of a call center, etc. As such, user 7266 agents which are part of the group permit other group members special 7267 privileges and features. For example, while a user agent may not in 7268 general allow another user agent to learn detailed dialog 7269 information, this information might be shared with another group 7270 member in order to facilitate a service such as call pickup. Group 7271 members must be authenticated using normal SIP means such as 7272 certificates or shared secrets. 7274 The service examples in this document make extensive use of the SIP 7275 call control primitives REFER, Replaces, Join, and the dialog 7276 package. The security considerations associated with each of these 7277 extensions apply to the scenarios in this document. 7279 4. IANA Considerations 7281 None. 7283 5. Acknowledgements 7285 The Transfer - Instant Messaging call flow is based on the 7286 "IM-a-call" call flow by Jonathan Rosenberg and Henning Schulzrinne. 7287 The Automatic Call Back call flow is based on a call flow by Adam 7288 Roach. The Single Line Extension call flow is based on a call flow 7289 by Jonathan Rosenberg. The authors wish to thank the following 7290 individuals for their assistance and review of this call flows 7291 document: Rohan Mahey, Jonathan Rosenberg, Hemant Agrawal, Henry 7292 Sinnreich, Dean Willis, David Devanatham, Joe Pizzimenti, Matt 7293 Cannon, John Hearty, the whole MCI WorldCom IPOP Design team, Scott 7294 Orton, Greg Osterhout, Pat Sollee, Doug Weisenberg, Danny Mistry, 7295 Steve McKinnon, and Denise Ingram, Denise Caballero, Tom Redman, Ilya 7296 Slain, Pat Sollee, John Truetken, and others from MCI WorldCom, 3Com, 7297 Cisco, Lucent and Nortel. 7299 6. Document History 7301 The first version of this document was the Internet-Draft 7302 draft-sparks-sip-service-examples October 1999. 7304 The next version was combined with the SIP Telephony Call Flows 7305 document into the draft-ietf-sip-call-flows April 2000. 7307 The current version was renamed as a work item of the SIPPING WG. 7309 6.1 Changes since -07 7311 - Minor corrects. - Updated references. 7313 7. References 7315 7.1 Normative References 7317 [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement 7318 Levels", BCP 14, RFC 2119, March 1997. 7320 [2] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., 7321 Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP: 7322 Session Initiation Protocol", RFC 3261, June 2002. 7324 [3] Sparks, R., "The Session Initiation Protocol (SIP) Refer 7325 Method", RFC 3515, April 2003. 7327 [4] Mahy, R., Biggs, B. and R. Dean, "The Session Initiation 7328 Protocol (SIP) "Replaces" Header", RFC 3891, September 2004. 7330 [5] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with 7331 Session Description Protocol (SDP)", RFC 3264, June 2002. 7333 [6] Roach, A., "Session Initiation Protocol (SIP)-Specific Event 7334 Notification", RFC 3265, June 2002. 7336 [7] Sparks, R. and A. Johnston, "Session Initiation Protocol Call 7337 Control - Transfer", 7338 Internet-Draft draft-ietf-sipping-cc-transfer-03, October 2004. 7340 [8] Rosenberg, J., "An INVITE Inititiated Dialog Event Package for 7341 the Session Initiation Protocol (SIP)", 7342 Internet-Draft draft-ietf-sipping-dialog-package-05, November 7343 2004. 7345 [9] Mahy, R. and D. Petrie, "The Session Initiation Protocol (SIP) 7346 "Join" Header", RFC 3911, October 2004. 7348 [10] Rosenberg, J., Schulzrinne, H. and P. Kyzivat, "Indicating User 7349 Agent Capabilities in the Session Initiation Protocol (SIP)", 7350 RFC 3840, August 2004. 7352 [11] Johnston, A. and O. Levin, "Session Initiation Protocol Call 7353 Control - Conferencing for User Agents", 7354 Internet-Draft draft-ietf-sipping-cc-conferencing-06, November 7355 2004. 7357 [12] Mahy, R., "A Call Control and Multi-party usage framework for 7358 the Session Initiation Protocol (SIP)", 7359 Internet-Draft draft-ietf-sipping-cc-framework-03, October 7360 2003. 7362 [13] Campbell, B. and R. Sparks, "Control of Service Context using 7363 SIP Request-URI", RFC 3087, April 2001. 7365 [14] Sparks, R., "Internet Media Type message/sipfrag", RFC 3420, 7366 November 2002. 7368 [15] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C. and 7369 D. Gurle, "Session Initiation Protocol (SIP) Extension for 7370 Instant Messaging", RFC 3428, December 2002. 7372 7.2 Informative References 7374 [16] Johnston, A., Donovan, S., Sparks, R., Cunningham, C. and K. 7375 Summers, "Session Initiation Protocol (SIP) Basic Call Flow 7376 Examples", BCP 75, RFC 3665, December 2003. 7378 [17] Rosenberg, J., Peterson, J., Schulzrinne, H. and G. Camarillo, 7379 "Best Current Practices for Third Party Call Control (3pcc) in 7380 the Session Initiation Protocol (SIP)", BCP 85, RFC 3725, April 7381 2004. 7383 [18] Rosenberg, J., "A Session Initiation Protocol (SIP) Event 7384 Package for Conference State", 7385 Internet-Draft draft-ietf-sipping-conference-package-08, 7386 December 2004. 7388 [19] Rosenberg, J., "A Session Initiation Protocol (SIP) Event 7389 Package for Registrations", RFC 3680, March 2004. 7391 [20] Rosenberg, J., "Obtaining and Using Globally Routable User 7392 Agent (UA) URIs (GRUU) in the Session Initiation Protocol 7393 (SIP)", Internet-Draft draft-ietf-sip-gruu-02, July 2004. 7395 Authors' Addresses 7397 Alan Johnston 7398 MCI 7399 100 South 4th Street 7400 St. Louis, MO 63102 7402 Email: alan.johnston@mci.com 7404 Robert Sparks 7405 dynamicsoft 7406 5100 Tennyson Parkway, Suite 1200 7407 Plano, TX 75023 7409 Email: rsparks@dynamicsoft.com 7411 Chris Cunningham 7412 dynamicsoft 7413 5100 Tennyson Parkway, Suite 1200 7414 Plano, TX 75023 7416 Email: ccunningham@dynamicsoft.com 7418 Steve Donovan 7419 dynamicsoft 7420 5100 Tennyson Parkway, Suite 1200 7421 Plano, TX 75023 7423 Email: sdonovan@dynamicsoft.com 7425 Kevin Summers 7426 Sonus 7427 1701 North Collins Blvd, Suite 3000 7428 Richardson, TX 75080 7430 Email: kevin.summers@sonusnet.com 7432 Intellectual Property Statement 7434 The IETF takes no position regarding the validity or scope of any 7435 Intellectual Property Rights or other rights that might be claimed to 7436 pertain to the implementation or use of the technology described in 7437 this document or the extent to which any license under such rights 7438 might or might not be available; nor does it represent that it has 7439 made any independent effort to identify any such rights. Information 7440 on the procedures with respect to rights in RFC documents can be 7441 found in BCP 78 and BCP 79. 7443 Copies of IPR disclosures made to the IETF Secretariat and any 7444 assurances of licenses to be made available, or the result of an 7445 attempt made to obtain a general license or permission for the use of 7446 such proprietary rights by implementers or users of this 7447 specification can be obtained from the IETF on-line IPR repository at 7448 http://www.ietf.org/ipr. 7450 The IETF invites any interested party to bring to its attention any 7451 copyrights, patents or patent applications, or other proprietary 7452 rights that may cover technology that may be required to implement 7453 this standard. Please address the information to the IETF at 7454 ietf-ipr@ietf.org. 7456 Disclaimer of Validity 7458 This document and the information contained herein are provided on an 7459 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 7460 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 7461 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 7462 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 7463 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 7464 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 7466 Copyright Statement 7468 Copyright (C) The Internet Society (2005). This document is subject 7469 to the rights, licenses and restrictions contained in BCP 78, and 7470 except as set forth therein, the authors retain all their rights. 7472 Acknowledgment 7474 Funding for the RFC Editor function is currently provided by the 7475 Internet Society.