idnits 2.17.1 draft-ietf-sipping-service-examples-13.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 on line 21. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 7258. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 7269. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 7276. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 7282. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year -- 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 (July 16, 2007) is 6123 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: Best Current Practice ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 3265 (ref. '5') (Obsoleted by RFC 6665) == Outdated reference: A later version (-12) exists of draft-ietf-sipping-cc-transfer-07 == Outdated reference: A later version (-12) exists of draft-ietf-sipping-cc-framework-07 == Outdated reference: A later version (-15) exists of draft-ietf-sip-gruu-14 Summary: 2 errors (**), 0 flaws (~~), 4 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SIPPING Working Group A. Johnston, Ed. 3 Internet-Draft Avaya 4 Intended status: Best Current R. Sparks 5 Practice Estacado Systems 6 Expires: January 17, 2008 C. Cunningham 7 S. Donovan 8 Cisco Systems 9 K. Summers 10 Prodea Systems 11 July 16, 2007 13 Session Initiation Protocol Service Examples 14 draft-ietf-sipping-service-examples-13 16 Status of this Memo 18 By submitting this Internet-Draft, each author represents that any 19 applicable patent or other IPR claims of which he or she is aware 20 have been or will be disclosed, and any of which he or she becomes 21 aware will be disclosed, in accordance with Section 6 of BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF), its areas, and its working groups. Note that 25 other groups may also distribute working documents as Internet- 26 Drafts. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 The list of current Internet-Drafts can be accessed at 34 http://www.ietf.org/ietf/1id-abstracts.txt. 36 The list of Internet-Draft Shadow Directories can be accessed at 37 http://www.ietf.org/shadow.html. 39 This Internet-Draft will expire on January 17, 2008. 41 Copyright Notice 43 Copyright (C) The IETF Trust (2007). 45 Abstract 47 This document gives examples of Session Initiation Protocol (SIP) 48 services. This covers most features offered in so-called IP Centrex 49 offerings from local exchange carriers and PBX (Private Branch 50 Exchange) features. Most of the services shown in this document are 51 implemented in the SIP User Agents, although some require the 52 assistance of a SIP Proxy. Some require some extensions to SIP 53 including the REFER, SUBSCRIBE, and NOTIFY methods and the Replaces 54 and Join header fields. These features are not intended to be an 55 exhaustive set, but rather show implementations of common features 56 likely to be implemented on SIP IP telephones in a business 57 environment. 59 Table of Contents 61 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 62 2. Service Examples . . . . . . . . . . . . . . . . . . . . . . 4 63 2.1. Call Hold . . . . . . . . . . . . . . . . . . . . . . . . 5 64 2.2. Consultation Hold . . . . . . . . . . . . . . . . . . . . 17 65 2.3. Music On Hold . . . . . . . . . . . . . . . . . . . . . . 35 66 2.4. Transfer - Unattended . . . . . . . . . . . . . . . . . . 48 67 2.5. Transfer - Attended . . . . . . . . . . . . . . . . . . . 55 68 2.6. Transfer - Instant Messaging . . . . . . . . . . . . . . 68 69 2.7. Call Forwarding Unconditional . . . . . . . . . . . . . . 74 70 2.8. Call Forwarding - Busy . . . . . . . . . . . . . . . . . 80 71 2.9. Call Forwarding - No Answer . . . . . . . . . . . . . . . 88 72 2.10. 3-way Conference - Third Party is Added . . . . . . . . . 97 73 2.11. 3-way Conference - Third Party Joins . . . . . . . . . . 103 74 2.12. Find-Me . . . . . . . . . . . . . . . . . . . . . . . . . 108 75 2.13. Call Management (Incoming Call Screening) . . . . . . . . 120 76 2.14. Call Management (Outgoing Call Screening) . . . . . . . . 127 77 2.15. Call Park . . . . . . . . . . . . . . . . . . . . . . . . 130 78 2.16. Call Pickup . . . . . . . . . . . . . . . . . . . . . . . 140 79 2.17. Automatic Redial . . . . . . . . . . . . . . . . . . . . 146 80 2.18. Click to Dial . . . . . . . . . . . . . . . . . . . . . . 155 81 3. Security Considerations . . . . . . . . . . . . . . . . . . . 158 82 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 159 83 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 159 84 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 159 85 6.1. Normative References . . . . . . . . . . . . . . . . . . 159 86 6.2. Informative References . . . . . . . . . . . . . . . . . 160 87 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 161 88 Intellectual Property and Copyright Statements . . . . . . . . . 162 90 1. Overview 92 This document provides example call flows detailing a SIP 93 implementation of the following traditional telephony services: 95 Call Hold Music on Hold 96 Unattended Transfer Consultation Hold 97 Unconditional Call Forwarding Attended Transfer 98 No Answer Call Forwarding Busy Call Forwarding 99 3-way Call Incoming Call Screening 100 Find-Me Call Pickup 101 Call Park Outgoing Call Screening 102 Automatic Redial Click to Dial 104 Note that the Single Line Extension call flow has been removed from 105 this document and will be covered in a separate document. 107 The call flows shown in this document were developed in the design of 108 a SIP IP communications network. They represent an example set of 109 so-called IP Centrex services or PBX services. 111 It is the hope of the authors that this document will be useful for 112 SIP implementers, designers, and protocol researchers alike and will 113 help further the goal of a standard implementation of RFC 3261 [1] 114 and some of its extensions. 116 These flows represent carefully checked and working group reviewed 117 scenarios of SIP service examples as a companion to the 118 specifications. 120 These call flows are based on the current version 2.0 of SIP in RFC 121 3261 [1] with SDP usage described in RFC 3264 [4] Other RFCs also 122 form part of the SIP standard and are used and referenced in these 123 call flows. 125 The SIP specification and the other referenced documents are 126 definitive as far as protocol issues are concerned. Also, these 127 flows do not represent the only way to implement these services - 128 other approaches such as 3pcc (Third Party Call Control) [15] or 129 Back-to-Back User Agents (B2BUA) may be more appropriate in some 130 circumstances. The peer-to-peer design and principles of these 131 service examples are described in the Multiparty Framework document 132 [13]. 134 These flows assume the functionality described in the SIP Call Flow 135 Examples document [14], which explores basic SIP behavior. Some of 136 the scenarios described herein make use of the SIP method extension 137 REFER [2] and the SIP header extension Replaces [3], and the SIP 138 header extension Join [7]. The SIP Events document [5] describes the 139 use of SUBSCRIBE and NOTIFY while the SIP Dialog Event Package [6] 140 document describes the dialog event package. Some examples make use 141 of the GRUU (Globally Routable User Agent URI) [16] extension. 143 These flows were prepared assuming a network of proxies, registrars, 144 and other SIP servers. The use of Secure SIP URIs (sips) is shown 145 throughout this document, implying TLS transport on each hop with 146 assumed certificate validation. However, other security approaches 147 can be used. The use of Digest authentication is shown in some 148 examples. 150 The emphasis in these call flows is the SIP signaling exchange. As a 151 result, only very simple SDP offer/answer exchanges are shown with 152 audio media. These flows apply equally well for other media and 153 multi-media sessions. For more advanced examples of SDP offer/answer 154 exchanges, refer to [17]. 156 Each call flow is presented with a textual description of the 157 scenario, a message flow diagram showing the messages exchanged 158 between separate network elements, and the detailed contents of each 159 message shown in the diagram. 161 1.1 Legend for Message Flows 163 Dashed lines (---) represent control messages that are mandatory to 164 the call scenario. These control messages can be SIP signaling. 166 Double dashed lines (===) represent media paths between network 167 elements. 169 Messages with parenthesis around name represent optional control 170 messages. 172 Messages are identified in the Figures as F1, F2, etc. This 173 references the message details in the table that follows the Figure. 175 Lines longer than 72 characters are handled using the 176 convention defined in Section 2.1 of RFC 4475 [18]. 178 Comments in the message details are shown in the following form: 180 /* Comments. */ 182 2. Service Examples 184 2.1. Call Hold 185 Alice Proxy Bob 186 | | | 187 | INVITE F1 | | 188 |--------------->| | 189 | | INVITE F2 | 190 |(100 Trying) F3 |------------->| 191 |<---------------| | 192 | |180 Ringing F4| 193 | 180 Ringing F5 |<-------------| 194 |<---------------| | 195 | | 200 OK F6 | 196 | 200 OK F7 |<-------------| 197 |<---------------| | 198 | ACK F8 | | 199 |--------------->| ACK F9 | 200 | |------------->| 201 | Both way RTP Established | 202 |<=============================>| 203 | |INVITE(hold) F10 204 |INVITE(hold) F11|<-------------| 205 |<---------------| | 206 | 200 OK F12 | | 207 |--------------->| 200 OK F13 | 208 | |------------->| 209 | | ACK F14 | 210 | ACK F15 |<-------------| 211 |<---------------| | 212 | No RTP Sent! | 213 | | INVITE F16 | 214 | INVITE F17 |<-------------| 215 |<---------------| | 216 | 200 OK F18 | | 217 |--------------->| 200 OK F19 | 218 | |------------->| 219 | | ACK F20 | 220 | ACK F21 |<-------------| 221 |<---------------| | 222 | Both way RTP Established | 223 |<=============================>| 224 | BYE F22 | | 225 |--------------->| BYE F23 | 226 | |------------->| 227 | | 200 OK F24 | 228 | 200 OK F25 |<-------------| 229 |<---------------| | 230 | | | 232 In this scenario, Alice calls Bob, then Bob places the call on hold. 234 Bob then takes the call off hold, then Alice hangs up the call. Note 235 that hold is unidirectional in nature. However, a UA that places the 236 other party on hold will generally also stop sending media, resulting 237 in no media exchange between the UAs. Older UAs may set the 238 connection address to 0.0.0.0 when initiating hold. However, this 239 behavior has been deprecated in favor of using the a=sendonly SDP 240 attribute. 242 Also note the use of the rendering feature tag defined in RFC 4235 243 [6] used in F10 and F11 to indicate in that Bob's UA is no longer 244 rendering media to Bob, i.e. that Bob has placed the call on hold. 246 Message Details 248 F1 INVITE Alice -> Proxy 1 250 INVITE sips:bob@biloxi.example.com SIP/2.0 251 Via: SIP/2.0/TLS client.atlanta.example.com:5061 252 ;branch=z9hG4bK74bf9 253 Max-Forwards: 70 254 From: Alice ;tag=1234567 255 To: Bob 256 Call-ID: 12345601@atlanta.example.com 257 CSeq: 1 INVITE 258 Contact: 259 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 260 Supported: replaces 261 Content-Type: application/sdp 262 Content-Length: ... 264 v=0 265 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 266 s= 267 c=IN IP4 client.atlanta.example.com 268 t=0 0 269 m=audio 49170 RTP/AVP 0 270 a=rtpmap:0 PCMU/8000 272 F2 INVITE Proxy 1 -> Bob 274 INVITE sips:bob@client.biloxi.example.com SIP/2.0 275 Via: SIP/2.0/TLS ss1.example.com:5061 276 ;branch=z9hG4bK83749.1 277 Via: SIP/2.0/TLS client.atlanta.example.com:5061 278 ;branch=z9hG4bK74bf9 279 ;received=192.0.2.103 281 Record-Route: 282 Max-Forwards: 69 283 From: Alice ;tag=1234567 284 To: Bob 285 Call-ID: 12345601@atlanta.example.com 286 CSeq: 1 INVITE 287 Contact: 288 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 289 Supported: replaces 290 Content-Type: application/sdp 291 Content-Length: ... 293 v=0 294 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 295 s= 296 c=IN IP4 client.atlanta.example.com 297 t=0 0 298 m=audio 49170 RTP/AVP 0 299 a=rtpmap:0 PCMU/8000 301 F3 (100 Trying) Proxy 1 -> Alice 303 SIP/2.0 100 Trying 304 Via: SIP/2.0/TLS client.atlanta.example.com:5061 305 ;branch=z9hG4bK74bf9 306 ;received=192.0.2.103 307 From: Alice ;tag=1234567 308 To: Bob 309 Call-ID: 12345601@atlanta.example.com 310 CSeq: 1 INVITE 311 Content-Length: 0 313 F4 180 Ringing Bob -> Proxy 1 315 SIP/2.0 180 Ringing 316 Via: SIP/2.0/TLS ss1.example.com:5061 317 ;branch=z9hG4bK83749.1 318 ;received=192.0.2.54 319 Via: SIP/2.0/TLS client.atlanta.example.com:5061 320 ;branch=z9hG4bK74bf9 321 ;received=192.0.2.103 322 Record-Route: 323 From: Alice ;tag=1234567 324 To: Bob ;tag=314159 325 Call-ID: 12345601@atlanta.example.com 326 CSeq: 1 INVITE 327 Contact: 328 Content Length:0 330 F5 180 Ringing Proxy 1 -> Alice 332 SIP/2.0 180 Ringing 333 Via: SIP/2.0/TLS client.atlanta.example.com:5061 334 ;branch=z9hG4bK74bf9 335 ;received=192.0.2.103 336 Record-Route: 337 From: Alice ;tag=1234567 338 To: Bob ;tag=314159 339 Call-ID: 12345601@atlanta.example.com 340 CSeq: 1 INVITE 341 Contact: 342 Content Length: 0 344 F6 200 OK Bob -> Proxy 1 346 SIP/2.0 200 OK 347 Via: SIP/2.0/TLS ss1.example.com:5061 348 ;branch=z9hG4bK83749.1 349 ;received=192.0.2.54 350 Via: SIP/2.0/TLS client.atlanta.example.com:5061 351 ;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= 367 c=IN IP4 client.biloxi.example.com 368 t=0 0 369 m=audio 3456 RTP/AVP 0 370 a=rtpmap:0 PCMU/8000 371 F7 200 OK Proxy 1 -> Alice 373 SIP/2.0 200 OK 374 Via: SIP/2.0/TLS client.atlanta.example.com:5061 375 ;branch=z9hG4bK74bf9 376 ;received=192.0.2.103 377 Record-Route: 378 From: Alice ;tag=1234567 379 To: Bob ;tag=314159 380 Call-ID: 12345601@atlanta.example.com 381 CSeq: 1 INVITE 382 Contact: 383 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 384 Supported: replaces 385 Content-Type: application/sdp 386 Content-Length: ... 388 v=0 389 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 390 s= 391 c=IN IP4 client.biloxi.example.com 392 t=0 0 393 m=audio 3456 RTP/AVP 0 394 a=rtpmap:0 PCMU/8000 396 F8 ACK Alice -> Proxy 1 398 ACK sips:bob@client.biloxi.example.com SIP/2.0 399 Via: SIP/2.0/TLS client.atlanta.example.com:5061 400 ;branch=z9hG4bK74bf92 401 Route: 402 Max-Forwards: 70 403 From: Alice ;tag=1234567 404 To: Bob ;tag=314159 405 Call-ID: 12345601@atlanta.example.com 406 CSeq: 1 ACK 407 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 408 Supported: replaces 409 Content-Length: 0 411 F9 ACK Proxy 1 -> Bob 413 ACK sips:bob@client.biloxi.example.com SIP/2.0 414 Via: SIP/2.0/TLS ss1.example.com:5061 415 ;branch=z9hG4bK837492.1 416 Via: SIP/2.0/TLS client.atlanta.example.com:5061 417 ;branch=z9hG4bK74bf92 418 ;received=192.0.2.103 419 Max-Forwards: 69 420 From: Alice ;tag=1234567 421 To: Bob ;tag=314159 422 Call-ID: 12345601@atlanta.example.com 423 CSeq: 1 ACK 424 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 425 Supported: replaces 426 Content-Length: 0 428 /* Bob places Alice on hold. Note that the version is 429 incremented in the o= field of the SDP */ 431 F10 INVITE Bob -> Proxy 1 433 INVITE sips:alice@client.atlanta.example.com SIP/2.0 434 Via: SIP/2.0/TLS client.biloxi.example.com:5061 435 ;branch=z9hG4bKnashds7 436 Route: 437 Max-Forwards: 70 438 From: Bob ;tag=314159 439 To: Alice ;tag=1234567 440 Call-ID: 12345601@atlanta.example.com 441 CSeq: 1 INVITE 442 Contact: ;+sip.rendering="no" 443 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 444 Supported: replaces 445 Content-Type: application/sdp 446 Content-Length: ... 448 v=0 449 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 450 s= 451 c=IN IP4 client.biloxi.example.com 452 t=0 0 453 m=audio 3456 RTP/AVP 0 454 a=rtpmap:0 PCMU/8000 455 a=sendonly 457 F11 INVITE Proxy 1 -> Alice 459 INVITE sips:alice@client.atlanta.example.com SIP/2.0 461 Via: SIP/2.0/TLS ss1.example.com:5061 462 ;branch=z9hG4bK83749.1 464 Via: SIP/2.0/TLS client.biloxi.example.com:5061 465 ;branch=z9hG4bKnashds7 466 ;received=192.0.2.105 467 Record-Route: 468 Max-Forwards: 69 469 From: Bob ;tag=314159 470 To: Alice ;tag=1234567 471 Call-ID: 12345601@atlanta.example.com 472 CSeq: 1 INVITE 473 Contact: ;+sip.rendering="no" 474 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 475 Supported: replaces 476 Content-Type: application/sdp 477 Content-Length: ... 479 v=0 480 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 481 s= 482 c=IN IP4 client.biloxi.example.com 483 t=0 0 484 m=audio 3456 RTP/AVP 0 485 a=rtpmap:0 PCMU/8000 486 a=sendonly 488 /* Alice replies to hold */ 490 F12 200 OK Alice -> Proxy 1 492 SIP/2.0 200 OK 493 Via: SIP/2.0/TLS ss1.example.com:5061 494 ;branch=z9hG4bK83749.1 495 ;received=192.0.2.54 496 Via: SIP/2.0/TLS client.biloxi.example.com:5061 497 ;branch=z9hG4bKnashds7 498 ;received=192.0.2.105 499 Record-Route: 500 From: Bob ;tag=314159 501 To: Alice ;tag=1234567 502 Call-ID: 12345601@atlanta.example.com 503 CSeq: 1 INVITE 504 Contact: 505 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 506 Supported: replaces 507 Content-Type: application/sdp 508 Content-Length: ... 510 v=0 511 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 512 s= 513 c=IN IP4 client.atlanta.example.com 514 t=0 0 515 m=audio 49170 RTP/AVP 0 516 a=rtpmap:0 PCMU/8000 517 a=recvonly 519 F13 200 OK Proxy 1 -> Bob 521 SIP/2.0 200 OK 522 Via: SIP/2.0/TLS client.biloxi.example.com:5061 523 ;branch=z9hG4bKnashds7 524 ;received=192.0.2.105 525 Record-Route: 526 From: Bob ;tag=314159 527 To: Alice ;tag=1234567 528 Call-ID: 12345601@atlanta.example.com 529 CSeq: 1 INVITE 530 Contact: 531 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 532 Supported: replaces 533 Content-Type: application/sdp 534 Content-Length: ... 536 v=0 537 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 538 s= 539 c=IN IP4 client.atlanta.example.com 540 t=0 0 541 m=audio 49170 RTP/AVP 0 542 a=rtpmap:0 PCMU/8000 543 a=recvonly 545 F14 ACK Bob -> Proxy 1 547 ACK sips:alice@client.atlanta.example.com SIP/2.0 548 Via: SIP/2.0/TLS client.biloxi.example.com:5061 549 ;branch=z9hG4bKnashds72 550 Route: 551 Max-Forwards: 70 552 From: Bob ;tag=314159 553 To: Alice ;tag=1234567 554 Call-ID: 12345601@atlanta.example.com 555 CSeq: 1 ACK 556 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 557 Supported: replaces 558 Content-Length: 0 560 F15 ACK Proxy 1 -> Alice 562 ACK sips:alice@client.atlanta.example.com SIP/2.0 563 Via: SIP/2.0/TLS ss1.example.com:5061 564 ;branch=z9hG4bK83749.1 565 Via: SIP/2.0/TLS client.biloxi.example.com:5061 566 ;branch=z9hG4bKnashds72 567 ;received=192.0.2.105 568 Max-Forwards: 69 569 From: Bob ;tag=314159 570 To: Alice ;tag=1234567 571 Call-ID: 12345601@atlanta.example.com 572 CSeq: 1 ACK 573 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 574 Supported: replaces 575 Content-Length: 0 577 /* Bob takes the call off hold */ 579 F16 INVITE Bob -> Proxy 1 581 INVITE sips:alice@client.atlanta.example.com SIP/2.0 582 Via: SIP/2.0/TLS client.biloxi.example.com:5061 583 ;branch=z9hG4bKnashds73 584 Route: 585 Max-Forwards: 70 586 From: Bob ;tag=314159 587 To: Alice ;tag=1234567 588 Call-ID: 12345601@atlanta.example.com 589 CSeq: 2 INVITE 590 Contact: 591 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 592 Supported: replaces 593 Content-Type: application/sdp 594 Content-Length: ... 596 v=0 597 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 598 s= 599 c=IN IP4 client.biloxi.example.com 600 t=0 0 601 m=audio 3456 RTP/AVP 0 602 a=rtpmap:0 PCMU/8000 603 F17 INVITE Proxy 1 -> Alice 605 INVITE sips:alice@client.atlanta.example.com SIP/2.0 606 Via: SIP/2.0/TLS ss1.example.com:5061 607 ;branch=z9hG4bK837493.1 608 Via: SIP/2.0/TLS client.biloxi.example.com:5061 609 ;branch=z9hG4bKnashds73 610 ;received=192.0.2.105 611 Record-Route: 612 Max-Forwards: 69 613 From: Bob ;tag=314159 614 To: Alice ;tag=1234567 615 Call-ID: 12345601@atlanta.example.com 616 CSeq: 2 INVITE 617 Contact: 618 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 619 Supported: replaces 620 Content-Type: application/sdp 621 Content-Length: ... 623 v=0 624 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 625 s= 626 c=IN IP4 client.biloxi.example.com 627 t=0 0 628 m=audio 3456 RTP/AVP 0 629 a=rtpmap:0 PCMU/8000 631 F18 200 OK Alice -> Proxy 1 633 SIP/2.0 200 OK 634 Via: SIP/2.0/TLS ss1.example.com:5061 635 ;branch=z9hG4bK837493.1 636 ;received=192.0.2.54 637 Via: SIP/2.0/TLS client.biloxi.example.com:5061 638 ;branch=z9hG4bKnashds73 639 ;received=192.0.2.105 640 Record-Route: 641 From: Bob ;tag=314159 642 To: Alice ;tag=1234567 643 Call-ID: 12345601@atlanta.example.com 644 CSeq: 2 INVITE 645 Contact: 646 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 647 Supported: replaces 648 Content-Type: application/sdp 649 Content-Length: ... 651 v=0 652 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 653 s= 654 c=IN IP4 client.atlanta.example.com 655 t=0 0 656 m=audio 49170 RTP/AVP 0 657 a=rtpmap:0 PCMU/8000 659 F19 200 OK Proxy 1 -> Bob 661 SIP/2.0 200 OK 662 Via: SIP/2.0/TLS client.biloxi.example.com:5061 663 ;branch=z9hG4bKnashds73 664 ;received=192.0.2.105 665 Record-Route: 666 From: Bob ;tag=314159 667 To: Alice ;tag=1234567 668 Call-ID: 12345601@atlanta.example.com 669 CSeq: 2 INVITE 670 Contact: 671 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 672 Supported: replaces 673 Content-Type: application/sdp 674 Content-Length: ... 676 v=0 677 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 678 s= 679 c=IN IP4 client.atlanta.example.com 680 t=0 0 681 m=audio 49170 RTP/AVP 0 682 a=rtpmap:0 PCMU/8000 684 F20 ACK Bob -> Proxy 1 686 ACK sips:alice@client.atlanta.example.com SIP/2.0 687 Via: SIP/2.0/TLS client.biloxi.example.com:5061 688 ;branch=z9hG4bKnashds74 689 Route: 690 Max-Forwards: 70 691 From: Bob ;tag=314159 692 To: Alice ;tag=1234567 693 Call-ID: 12345601@atlanta.example.com 694 CSeq: 2 ACK 695 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 696 Supported: replaces 697 Content-Length: 0 699 F21 ACK Proxy 1 -> Alice 701 ACK sips:alice@client.atlanta.example.com SIP/2.0 702 Via: SIP/2.0/TLS ss1.example.com:5061 703 ;branch=z9hG4bK837494.1 704 Via: SIP/2.0/TLS client.biloxi.example.com:5061 705 ;branch=z9hG4bKnashds74 706 ;received=192.0.2.105 707 Max-Forwards: 69 708 From: Bob ;tag=314159 709 To: Alice ;tag=1234567 710 Call-ID: 12345601@atlanta.example.com 711 CSeq: 2 ACK 712 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 713 Supported: replaces 714 Content-Length: 0 716 /* RTP Media stream re-established. Alice disconnects. */ 718 F22 BYE Alice -> Proxy 1 720 BYE sips:bob@client.biloxi.example.com SIP/2.0 721 Via: SIP/2.0/TLS client.atlanta.example.com:5061 722 ;branch=z9hG4bK74bf97 723 Route: 724 Max-Forwards: 70 725 From: Alice ;tag=1234567 726 To: Bob ;tag=314159 727 Call-ID: 12345601@atlanta.example.com 728 CSeq: 2 BYE 729 Content-Length: 0 731 F23 BYE Proxy 1 -> Bob 733 BYE sips:bob@client.biloxi.example.com SIP/2.0 734 Via: SIP/2.0/TLS ss1.example.com:5061 735 ;branch=z9hG4bK837497.1 736 Via: SIP/2.0/TLS client.atlanta.example.com:5061 737 ;branch=z9hG4bK74bf97 738 ;received=192.0.2.103 739 Max-Forwards: 69 740 From: Alice ;tag=1234567 741 To: Bob ;tag=314159 742 Call-ID: 12345601@atlanta.example.com 743 CSeq: 2 BYE 744 Content-Length: 0 746 F24 200 OK Bob -> Proxy 1 748 SIP/2.0 200 OK 749 Via: SIP/2.0/TLS ss1.example.com:5061 750 ;branch=z9hG4bK837497.1 751 ;received=192.0.2.54 752 Via: SIP/2.0/TLS client.atlanta.example.com:5061 753 ;branch=z9hG4bK74bf97 754 ;received=192.0.2.103 755 From: Alice ;tag=1234567 756 To: Bob ;tag=314159 757 Call-ID: 12345601@atlanta.example.com 758 CSeq: 2 BYE 759 Content-Length: 0 761 F25 200 OK Proxy 1 -> Alice 763 SIP/2.0 200 OK 764 Via: SIP/2.0/TLS client.atlanta.example.com:5061 765 ;branch=z9hG4bK74bf97 766 ;received=192.0.2.103 767 From: Alice ;tag=1234567 768 To: Bob ;tag=314159 769 Call-ID: 12345601@atlanta.example.com 770 CSeq: 2 BYE 771 Content-Length: 0 773 2.2. Consultation Hold 775 Alice Proxy Bob Carol 776 | | | | 777 | INVITE F1 | | | 778 |--------------->| INVITE F2 | | 779 | |------------->| | 780 |(100 Trying) F3 | | | 781 |<---------------|180 Ringing F4| | 782 | |<-------------| | 783 | 180 Ringing F5 | | | 784 |<---------------| 200 OK F6 | | 785 | |<-------------| | 786 | 200 OK F7 | | | 787 |<---------------| | | 788 | ACK F8 | | | 789 |--------------->| ACK F9 | | 790 | |------------->| | 791 | Both way RTP Established | | 792 |<=============================>| | 793 | |INVITE(hold) F10 | 794 |INVITE(hold) F11|<-------------| | 795 |<---------------| | | 796 | 200 OK F12 | | | 797 |--------------->| 200 OK F13 | | 798 | |------------->| | 799 | | ACK F14 | | 800 | |<-------------| | 801 | ACK F15 | | | 802 |<---------------| | | 803 | No RTP Sent! | | 804 | | INVITE F16 | | 805 | |<-------------| | 806 | | | INVITE F17 | 807 | |--------------------------------->| 808 | |(100 Trying) F18 | 809 | |------------->| | 810 | | | 180 Ringing F19 | 811 | |<---------------------------------| 812 | | 180 Ringing F20 | 813 | |------------->| | 814 | | | 200 OK F21 | 815 | |<---------------------------------| 816 | | 200 OK F22 | | 817 | |------------->| | 818 | | ACK F23 | | 819 | |<-------------| | 820 | | | ACK F24 | 821 | |--------------------------------->| 822 | | Both way RTP Established | 823 | | |<=================>| 824 | | BYE F25 | | 825 | |<-------------| | 826 | | | BYE F26 | 827 | |--------------------------------->| 828 | | | 200 OK F27 | 829 | |<---------------------------------| 830 | | 200 OK F28 | | 831 | |------------->| | 832 | | INVITE F29 | | 833 | INVITE F30 |<-------------| | 834 |<---------------| | | 835 | 200 OK F31 | | | 836 |--------------->| 200 OK F32 | | 837 | |------------->| | 838 | | ACK F33 | | 839 | |<-------------| | 840 | ACK F34 | | | 841 |<---------------| | | 842 | Both way RTP Established | | 843 |<=============================>| | 844 | BYE F35 | | | 845 |--------------->| BYE F36 | | 846 | |------------->| | 847 | | 200 OK F37 | | 848 | |<-------------| | 849 | 200 OK F38 | | | 850 |<---------------| | | 851 | | | | 853 In this scenario, Alice calls Bob. Bob places call on hold. Bob 854 calls Carol. Bob then disconnects with Carol, then takes the call 855 with Alice off hold. The call ends when Alice hangs up. 857 Also note the use of the rendering feature tag defined in RFC 4235 858 [6] used in F10 to indicate in that Bob's UA is no longer rendering 859 media to Bob, i.e. that Bob has placed the call on hold. 861 Message Details 863 F1 INVITE Alice -> Proxy 1 865 INVITE sips:bob@biloxi.example.com SIP/2.0 866 Via: SIP/2.0/TLS client.atlanta.example.com:5061 867 ;branch=z9hG4bK74bf9 868 Max-Forwards: 70 869 From: Alice ;tag=1234567 870 To: Bob 871 Call-ID: 12345600@atlanta.example.com 872 CSeq: 1 INVITE 873 Contact: 874 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 875 Supported: replaces 876 Content-Type: application/sdp 877 Content-Length: ... 879 v=0 880 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 881 s= 882 c=IN IP4 client.atlanta.example.com 883 t=0 0 884 m=audio 49170 RTP/AVP 0 885 a=rtpmap:0 PCMU/8000 887 F2 INVITE Proxy 1 -> Bob 889 INVITE sips:bob@client.biloxi.example.com SIP/2.0 890 Via: SIP/2.0/TLS ss1.example.com:5061 891 ;branch=z9hG4bK83749.1 892 Via: SIP/2.0/TLS client.atlanta.example.com:5061 893 ;branch=z9hG4bK74bf9 894 ;received=192.0.2.103 895 Record-Route: 896 Max-Forwards: 69 897 From: Alice ;tag=1234567 898 To: Bob 899 Call-ID: 12345600@atlanta.example.com 900 CSeq: 1 INVITE 901 Contact: 902 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 903 Supported: replaces 904 Content-Type: application/sdp 905 Content-Length: ... 907 v=0 908 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 909 s= 910 c=IN IP4 client.atlanta.example.com 911 t=0 0 912 m=audio 49170 RTP/AVP 0 913 a=rtpmap:0 PCMU/8000 915 F3(100 Trying) Proxy 1 -> Alice 917 SIP/2.0 100 Trying 918 Via: SIP/2.0/TLS client.atlanta.example.com:5061 919 ;branch=z9hG4bK74bf9 920 ;received=192.0.2.103 921 From: Alice ;tag=1234567 922 To: Bob 923 Call-ID: 12345600@atlanta.example.com 924 CSeq: 1 INVITE 925 Content-Length: 0 927 F4 180 Ringing Bob -> Proxy 1 928 SIP/2.0 180 Ringing 929 Via: SIP/2.0/TLS ss1.example.com:5061 930 ;branch=z9hG4bK83749.1 931 ;received=192.0.2.54 932 Via: SIP/2.0/TLS client.atlanta.example.com:5061 933 ;branch=z9hG4bK74bf9 934 ;received=192.0.2.103 935 Record-Route: 936 From: Alice ;tag=1234567 937 To: Bob ;tag=314159 938 Call-ID: 12345600@atlanta.example.com 939 CSeq: 1 INVITE 940 Contact: 941 Content Length:0 943 F5 180 Ringing Proxy 1 -> Alice 945 SIP/2.0 180 Ringing 946 Via: SIP/2.0/TLS client.atlanta.example.com:5061 947 ;branch=z9hG4bK74bf9 948 ;received=192.0.2.103 949 Record-Route: 950 From: Alice ;tag=1234567 951 To: Bob ;tag=314159 952 Call-ID: 12345600@atlanta.example.com 953 CSeq: 1 INVITE 954 Contact: 955 Content Length: 0 957 F6 200 OK Bob -> Proxy 1 959 SIP/2.0 200 OK 960 Via: SIP/2.0/TLS ss1.example.com:5061 961 ;branch=z9hG4bK83749.1 962 ;received=192.0.2.54 963 Via: SIP/2.0/TLS client.atlanta.example.com:5061 964 ;branch=z9hG4bK74bf9 965 ;received=192.0.2.103 966 Record-Route: 967 From: Alice ;tag=1234567 968 To: Bob ;tag=314159 969 Call-ID: 12345600@atlanta.example.com 970 CSeq: 1 INVITE 971 Contact: 972 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 973 Supported: replaces 974 Content-Type: application/sdp 975 Content-Length: ... 977 v=0 978 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 979 s= 980 c=IN IP4 client.biloxi.example.com 981 t=0 0 982 m=audio 3456 RTP/AVP 0 983 a=rtpmap:0 PCMU/8000 985 F7 200 OK Proxy 1 -> Alice 987 SIP/2.0 200 OK 988 Via: SIP/2.0/TLS client.atlanta.example.com:5061 989 ;branch=z9hG4bK74bf9 990 ;received=192.0.2.103 991 Record-Route: 992 From: Alice ;tag=1234567 993 To: Bob ;tag=314159 994 Call-ID: 12345600@atlanta.example.com 995 CSeq: 1 INVITE 996 Contact: 997 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 998 Supported: replaces 999 Content-Type: application/sdp 1000 Content-Length: ... 1002 v=0 1003 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 1004 s= 1005 c=IN IP4 client.biloxi.example.com 1006 t=0 0 1007 m=audio 3456 RTP/AVP 0 1008 a=rtpmap:0 PCMU/8000 1010 F8 ACK Alice -> Proxy 1 1012 ACK sips:bob@client.biloxi.example.com SIP/2.0 1013 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1014 ;branch=z9hG4bK74bf45 1015 Route: 1016 Max-Forwards: 70 1017 From: Alice ;tag=1234567 1018 To: Bob ;tag=314159 1019 Call-ID: 12345600@atlanta.example.com 1020 CSeq: 1 ACK 1021 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1022 Supported: replaces 1023 Content-Length: 0 1025 F9 ACK Proxy 1 -> Bob 1027 ACK sips:bob@client.biloxi.example.com SIP/2.0 1028 Via: SIP/2.0/TLS ss1.example.com:5061 1029 ;branch=z9hG4bK837494.1 1030 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1031 ;branch=z9hG4bK74bf45 1032 ;received=192.0.2.103 1033 Max-Forwards: 69 1034 From: Alice ;tag=1234567 1035 To: Bob ;tag=314159 1036 Call-ID: 12345600@atlanta.example.com 1037 CSeq: 1 ACK 1038 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1039 Supported: replaces 1040 Content-Length: 0 1042 /* Bob places Alice on hold. */ 1044 F10 INVITE Bob -> Proxy 1 1046 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1047 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1048 ;branch=z9hG4bKnashds7 1049 Route: 1050 Max-Forwards: 70 1051 From: Bob ;tag=314159 1052 To: Alice ;tag=1234567 1053 Call-ID: 12345600@atlanta.example.com 1054 CSeq: 1 INVITE 1055 Contact: ;+sip.rendering="no" 1056 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1057 Supported: replaces 1058 Content-Type: application/sdp 1059 Content-Length: ... 1061 v=0 1062 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 1063 s= 1064 c=IN IP4 client.biloxi.example.com 1065 t=0 0 1066 m=audio 3456 RTP/AVP 0 1067 a=rtpmap:0 PCMU/8000 1068 a=sendonly 1070 F11 INVITE Proxy 1 -> Alice 1072 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1073 Via: SIP/2.0/TLS ss1.example.com:5061 1074 ;branch=z9hG4bK837497.1 1075 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1076 ;branch=z9hG4bKnashds7 1077 ;received=192.0.2.105 1078 Record-Route: 1079 Max-Forwards: 69 1080 From: Bob ;tag=314159 1081 To: Alice ;tag=1234567 1082 Call-ID: 12345600@atlanta.example.com 1083 CSeq: 1 INVITE 1084 Contact: ;+sip.rendering="no" 1085 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1086 Supported: replaces 1087 Content-Type: application/sdp 1088 Content-Length: ... 1090 v=0 1091 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 1092 s= 1093 c=IN IP4 client.biloxi.example.com 1094 t=0 0 1095 m=audio 3456 RTP/AVP 0 1096 a=rtpmap:0 PCMU/8000 1097 a=sendonly 1099 F12 200 OK Alice -> Proxy 1 1101 SIP/2.0 200 OK 1102 Via: SIP/2.0/TLS ss1.example.com:5061 1103 ;branch=z9hG4bK837497.1 1104 ;received=192.0.2.54 1105 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1106 ;branch=z9hG4bKnashds7 1107 ;received=192.0.2.105 1108 Record-Route: 1109 From: Bob ;tag=314159 1110 To: Alice ;tag=1234567 1111 Call-ID: 12345600@atlanta.example.com 1112 CSeq: 1 INVITE 1113 Contact: 1114 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1115 Supported: replaces 1116 Content-Type: application/sdp 1117 Content-Length: ... 1119 v=0 1120 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1121 s= 1122 c=IN IP4 client.atlanta.example.com 1123 t=0 0 1124 m=audio 49170 RTP/AVP 0 1125 a=rtpmap:0 PCMU/8000 1126 a=recvonly 1128 F13 200 OK Proxy 1 -> Bob 1130 SIP/2.0 200 OK 1131 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1132 ;branch=z9hG4bKnashds7 1133 ;received=192.0.2.105 1134 Record-Route: 1135 From: Bob ;tag=314159 1136 To: Alice ;tag=1234567 1137 Call-ID: 12345600@atlanta.example.com 1138 CSeq: 1 INVITE 1139 Contact: 1140 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1141 Supported: replaces 1142 Content-Type: application/sdp 1143 Content-Length: ... 1145 v=0 1146 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1147 s= 1148 c=IN IP4 client.atlanta.example.com 1149 t=0 0 1150 m=audio 49170 RTP/AVP 0 1151 a=rtpmap:0 PCMU/8000 1152 a=recvonly 1154 F14 ACK Bob -> Proxy 1 1156 ACK sips:alice@client.atlanta.example.com SIP/2.0 1157 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1158 ;branch=z9hG4bKnashdsg 1159 Route: 1160 Max-Forwards: 70 1161 From: Bob ;tag=314159 1162 To: Alice ;tag=1234567 1163 Call-ID: 12345600@atlanta.example.com 1164 CSeq: 1 ACK 1165 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1166 Supported: replaces 1167 Content-Length: 0 1169 F15 ACK Proxy 1 -> Alice 1171 ACK sips:alice@client.atlanta.example.com SIP/2.0 1172 Via: SIP/2.0/TLS ss1.example.com:5061 1173 ;branch=z9hG4bK8374.1 1174 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1175 ;branch=z9hG4bKnashdsg 1176 ;received=192.0.2.105 1177 Max-Forwards: 69 1178 From: Bob ;tag=314159 1179 To: Alice ;tag=1234567 1180 Call-ID: 12345600@atlanta.example.com 1181 CSeq: 1 ACK 1182 Content-Length: 0 1184 F16 INVITE Bob -> Proxy 1 1186 INVITE sips:carol@chicago.example.com SIP/2.0 1187 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1188 ;branch=z9hG4bKnashds22 1189 Max-Forwards: 70 1190 From: Bob ;tag=8675309 1191 To: Carol 1192 Call-ID: 9876543210@biloxi.example.com 1193 CSeq: 1 INVITE 1194 Contact: 1195 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1196 Supported: replaces 1197 Content-Type: application/sdp 1198 Content-Length: ... 1200 v=0 1201 o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com 1202 s= 1203 c=IN IP4 client.biloxi.example.com 1204 t=0 0 1205 m=audio 50170 RTP/AVP 0 1206 a=rtpmap:0 PCMU/8000 1208 F17 INVITE Proxy 1 -> Carol 1210 INVITE sips:carol@client.chicago.example.com SIP/2.0 1211 Via: SIP/2.0/TLS ss1.example.com:5061 1212 ;branch=z9hG4bK83749a.1 1213 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1214 ;branch=z9hG4bKnashds22 1215 ;received=192.0.2.105 1216 Record-Route: 1217 Max-Forwards: 69 1218 From: Bob ;tag=8675309 1219 To: Carol 1220 Call-ID: 9876543210@biloxi.example.com 1221 CSeq: 1 INVITE 1222 Contact: 1223 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1224 Supported: replaces 1225 Content-Type: application/sdp 1226 Content-Length: ... 1228 v=0 1229 o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com 1230 s= 1231 c=IN IP4 client.biloxi.example.com 1232 t=0 0 1233 m=audio 50170 RTP/AVP 0 1234 a=rtpmap:0 PCMU/8000 1236 F18 (100 Trying) Proxy 1 -> Bob 1238 SIP/2.0 100 Trying 1239 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1240 ;branch=z9hG4bKnashds22 1241 ;received=192.0.2.105 1242 From: Bob ;tag=8675309 1243 To: Carol 1244 Call-ID: 9876543210@biloxi.example.com 1245 CSeq: 1 INVITE 1246 Content-Length: 0 1248 F19 180 Ringing Carol -> Proxy 1 1249 SIP/2.0 180 Ringing 1250 Via: SIP/2.0/TLS ss1.example.com:5061 1251 ;branch=z9hG4bK83749a.1 1252 ;received=192.0.2.54 1253 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1254 ;branch=z9hG4bKnashds22 1255 ;received=192.0.2.105 1256 Record-Route: 1257 From: Bob ;tag=8675309 1258 To: Carol ;tag=456654 1259 Call-ID: 9876543210@atlanta.example.com 1260 CSeq: 1 INVITE 1261 Contact: 1262 Content Length:0 1264 F20 180 Ringing Proxy 1 -> Bob 1266 SIP/2.0 180 Ringing 1267 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1268 ;branch=z9hG4bKnashds22 1269 ;received=client.chicago.example.com 1270 Record-Route: 1271 From: Bob ;tag=8675309 1272 To: Carol ;tag=456654 1273 Call-ID: 9876543210@biloxi.example.com 1274 CSeq: 1 INVITE 1275 Contact: 1276 Content Length: 0 1278 F21 200 OK Carol -> Proxy 1 1280 SIP/2.0 200 OK 1281 Via: SIP/2.0/TLS ss1.example.com:5061 1282 ;branch=z9hG4bK83749a.1 1283 ;received=192.0.2.54 1284 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1285 ;branch=z9hG4bKnashds22 1286 ;received=192.0.2.105 1287 Record-Route: 1288 From: Bob ;tag=8675309 1289 To: Carol ;tag=456654 1290 Call-ID: 9876543210@biloxi.example.com 1291 CSeq: 1 INVITE 1292 Contact: 1293 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1294 Supported: replaces 1295 Content-Type: application/sdp 1296 Content-Length: ... 1298 v=0 1299 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 1300 s= 1301 c=IN IP4 client.chicago.example.com 1302 t=0 0 1303 m=audio 3456 RTP/AVP 0 1304 a=rtpmap:0 PCMU/8000 1306 F22 200 OK Proxy 1 -> Bob 1308 SIP/2.0 200 OK 1309 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1310 ;branch=z9hG4bKnashds22 1311 ;received=192.0.2.105 1312 Record-Route: 1313 From: Bob ;tag=8675309 1314 To: Carol ;tag=456654 1315 Call-ID: 9876543210@biloxi.example.com 1316 CSeq: 1 INVITE 1317 Contact: 1318 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1319 Supported: replaces 1320 Content-Type: application/sdp 1321 Content-Length: ... 1323 v=0 1324 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 1325 s= 1326 c=IN IP4 client.chicago.example.com 1327 t=0 0 1328 m=audio 3456 RTP/AVP 0 1329 a=rtpmap:0 PCMU/8000 1331 F23 ACK Bob -> Proxy 1 1333 ACK sips:carol@client.chicago.example.com SIP/2.0 1334 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1335 ;branch=z9hG4bKnashds24 1336 Route: 1337 Max-Forwards: 70 1338 From: Bob ;tag=8675309 1339 To: Carol ;tag=456654 1340 Call-ID: 9876543210@biloxi.example.com 1341 CSeq: 1 ACK 1342 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1343 Supported: replaces 1344 Content-Length: 0 1346 F24 ACK Proxy 1 -> Carol 1348 ACK sips:carol@client.chicago.example.com SIP/2.0 1349 Via: SIP/2.0/TLS ss1.example.com:5061 1350 ;branch=z9hG4bK83749b.1 1351 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1352 ;branch=z9hG4bKnashds24 1353 ;received=192.0.2.105 1354 Max-Forwards: 69 1355 From: Bob ;tag=8675309 1356 To: Carol ;tag=456654 1357 Call-ID: 9876543210@biloxi.example.com 1358 CSeq: 1 ACK 1359 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1360 Supported: replaces 1361 Content-Length: 0 1363 F25 BYE Bob -> Proxy 1 1365 BYE sips:carol@client.chicago.example.com SIP/2.0 1366 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1367 ;branch=z9hG4bKnashds7j 1368 Route: 1369 Max-Forwards: 70 1370 From: Bob ;tag=8675309 1371 To: Carol ;tag=456654 1372 Call-ID: 9876543210@biloxi.example.com 1373 CSeq: 2 BYE 1374 Content-Length: 0 1376 F26 BYE Proxy 1 -> Carol 1378 BYE sips:carol@client.chicago.example.com SIP/2.0 1379 Via: SIP/2.0/TLS ss1.example.com:5061 1380 ;branch=z9hG4bK83749k.1 1381 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1382 ;branch=z9hG4bKnashds7j 1383 ;received=192.0.2.105 1384 Max-Forwards: 69 1385 From: Bob ;tag=8675309 1386 To: Carol ;tag=456654 1387 Call-ID: 9876543210@biloxi.example.com 1388 CSeq: 2 BYE 1389 Content-Length: 0 1391 F27 200 OK Carol -> Proxy 1 1393 SIP/2.0 200 OK 1394 Via: SIP/2.0/TLS ss1.example.com:5061 1395 ;branch=z9hG4bK83749k.1 1396 ;received=192.0.2.54 1397 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1398 ;branch=z9hG4bKnashds7j 1399 ;received=192.0.2.105 1400 From: Bob ;tag=8675309 1401 To: Carol ;tag=456654 1402 Call-ID: 9876543210@biloxi.example.com 1403 CSeq: 2 BYE 1404 Content-Length: 0 1406 F28 200 OK Proxy 1 -> Bob 1408 SIP/2.0 200 OK 1409 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1410 ;branch=z9hG4bKnashds7j 1411 ;received=192.0.2.105 1412 From: Bob ;tag=8675309 1413 To: Carol ;tag=456654 1414 Call-ID: 9876543210@biloxi.example.com 1415 CSeq: 2 BYE 1416 Content-Length: 0 1418 /* Bob takes the call off hold */ 1420 F29 INVITE Bob -> Proxy 1 1422 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1423 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1424 ;branch=z9hG4bKnashds7b 1425 Route: 1426 Max-Forwards: 70 1427 From: Bob ;tag=314159 1428 To: Alice ;tag=1234567 1429 Call-ID: 12345600@atlanta.example.com 1430 CSeq: 2 INVITE 1431 Contact: 1432 Content-Type: application/sdp 1433 Content-Length: ... 1435 v=0 1436 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 1437 s= 1438 c=IN IP4 client.biloxi.example.com 1439 t=0 0 1440 m=audio 3456 RTP/AVP 0 1441 a=rtpmap:0 PCMU/8000 1443 F30 INVITE Proxy 1 -> Alice 1445 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1446 Via: SIP/2.0/TLS ss1.example.com:5061 1447 ;branch=z9hG4bK83749q.1 1448 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1449 ;branch=z9hG4bKnashds7b 1450 ;received=192.0.2.105 1451 Record-Route: 1452 Max-Forwards: 69 1453 From: Bob ;tag=314159 1454 To: Alice ;tag=1234567 1455 Call-ID: 12345600@atlanta.example.com 1456 CSeq: 2 INVITE 1457 Contact: 1458 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1459 Supported: replaces 1460 Content-Type: application/sdp 1461 Content-Length: ... 1463 v=0 1464 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 1465 s= 1466 c=IN IP4 client.biloxi.example.com 1467 t=0 0 1468 m=audio 3456 RTP/AVP 0 1469 a=rtpmap:0 PCMU/8000 1471 F31 200 OK Alice -> Proxy 1 1473 SIP/2.0 200 OK 1474 Via: SIP/2.0/TLS ss1.example.com:5061 1475 ;branch=z9hG4bK83749q.1 1476 ;received=192.0.2.54 1478 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1479 ;branch=z9hG4bKnashds7b 1480 ;received=192.0.2.105 1481 Record-Route: 1482 From: Bob ;tag=314159 1483 To: Alice ;tag=1234567 1484 Call-ID: 12345600@atlanta.example.com 1485 CSeq: 2 INVITE 1486 Contact: 1487 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1488 Supported: replaces 1489 Content-Type: application/sdp 1490 Content-Length: ... 1492 v=0 1493 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 1494 s= 1495 c=IN IP4 client.atlanta.example.com 1496 t=0 0 1497 m=audio 49170 RTP/AVP 0 1498 a=rtpmap:0 PCMU/8000 1500 F32 200 OK Proxy 1 -> Bob 1502 SIP/2.0 200 OK 1503 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1504 ;branch=z9hG4bKnashds7b 1505 ;received=192.0.2.105 1506 Record-Route: 1507 From: Bob ;tag=314159 1508 To: Alice ;tag=1234567 1509 Call-ID: 12345600@atlanta.example.com 1510 CSeq: 2 INVITE 1511 Contact: 1512 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1513 Supported: replaces 1514 Content-Type: application/sdp 1515 Content-Length: ... 1517 v=0 1518 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 1519 s= 1520 c=IN IP4 client.atlanta.example.com 1521 t=0 0 1522 m=audio 49170 RTP/AVP 0 1523 a=rtpmap:0 PCMU/8000 1524 F33 ACK Bob -> Proxy 1 1526 ACK sips:alice@client.atlanta.example.com SIP/2.0 1527 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1528 ;branch=z9hG4bKnashds7d7 1529 Route: 1530 Max-Forwards: 70 1531 From: Bob ;tag=314159 1532 To: Alice ;tag=1234567 1533 Call-ID: 12345600@atlanta.example.com 1534 CSeq: 2 ACK 1535 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1536 Supported: replaces 1537 Content-Length: 0 1539 F34 ACK Proxy 1 -> Alice 1541 ACK sips:alice@client.atlanta.example.com SIP/2.0 1542 Via: SIP/2.0/TLS ss1.example.com:5061 1543 ;branch=z9hG4bK8374.1 1544 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1545 ;branch=z9hG4bKnashds7d7 1546 ;received=192.0.2.105 1547 Max-Forwards: 69 1548 From: Bob ;tag=314159 1549 To: Alice ;tag=1234567 1550 Call-ID: 12345600@atlanta.example.com 1551 CSeq: 2 ACK 1552 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1553 Supported: replaces 1554 Content-Length: 0 1556 F35 BYE Alice -> Proxy 1 1558 BYE sips:bob@client.biloxi.example.com SIP/2.0 1559 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1560 ;branch=z9hG4bK74bf10 1561 Route: 1562 Max-Forwards: 70 1563 From: Alice ;tag=1234567 1564 To: Bob ;tag=314159 1565 Call-ID: 12345600@atlanta.example.com 1566 CSeq: 2 BYE 1567 Content-Length: 0 1568 F36 BYE Proxy 1 -> Bob 1570 BYE sips:bob@client.biloxi.example.com SIP/2.0 1571 Via: SIP/2.0/TLS ss1.example.com:5061 1572 ;branch=z9hG4bK8379.1 1573 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1574 ;branch=z9hG4bK74bf10 1575 ;received=192.0.2.103 1576 Max-Forwards: 69 1577 From: Alice ;tag=1234567 1578 To: Bob ;tag=314159 1579 Call-ID: 12345600@atlanta.example.com 1580 CSeq: 2 BYE 1581 Content-Length: 0 1583 F37 200 OK Bob -> Proxy 1 1585 SIP/2.0 200 OK 1586 Via: SIP/2.0/TLS ss1.example.com:5061 1587 ;branch=z9hG4bK8379.1 1588 ;received=192.0.2.54 1589 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1590 ;branch=z9hG4bK74bf10 1591 ;received=192.0.2.103 1592 From: Alice ;tag=1234567 1593 To: Bob ;tag=314159 1594 Call-ID: 12345600@atlanta.example.com 1595 CSeq: 2 BYE 1596 Content-Length: 0 1598 F38 200 OK Proxy 1 -> Alice 1600 SIP/2.0 200 OK 1601 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1602 ;branch=z9hG4bK74bf10 1603 ;received=192.0.2.103 1604 From: Alice ;tag=1234567 1605 To: Bob ;tag=314159 1606 Call-ID: 12345600@atlanta.example.com 1607 CSeq: 2 BYE 1608 Content-Length: 0 1610 2.3. Music On Hold 1612 Alice Bob Music Server 1613 | | | 1614 | INVITE F1 | | 1615 |--------------->| | 1616 | 180 Ringing F2 | | 1617 |<---------------| | 1618 | 200 OK F3 | | 1619 |<---------------| | 1620 | ACK F4 | | 1621 |--------------->| | 1622 | RTP | | 1623 |<==============>| | 1624 | | | 1625 | Bob places Alice on hold | 1626 | | | 1627 | INVITE (hold) F5 | 1628 |<---------------| | 1629 | 200 OK F6 | | 1630 |--------------->| | 1631 | ACK F7 | | 1632 |<---------------| | 1633 | no RTP | | 1634 | | | 1635 | Bob initiates music on hold | 1636 | | | 1637 | | REFER Refer-To: A F8 1638 | |------------->| 1639 | | 202 F9 | 1640 | |<-------------| 1641 | | NOTIFY F10 | 1642 | |<-------------| 1643 | | 200 F11 | 1644 | |------------->| 1645 | INVITE F12 Replaces: B | 1646 |<------------------------------| 1647 | 200 OK F13 | 1648 |------------------------------>| 1649 | ACK F14 | 1650 |<------------------------------| 1651 | RTP Music | 1652 |<==============================| 1653 | BYE F15 | | 1654 |--------------->| NOTIFY F17 | 1655 | 200 OK F16 |<-------------| 1656 |<---------------| 200 OK F18 | 1657 | |------------->| 1658 | | | 1659 | The music on hold is complete | 1660 | | | 1661 | Bob takes Alice off hold | 1662 | | | 1663 | INVITE Replaces: M F19 | 1664 |<---------------| | 1665 | 200 OK F20 | | 1666 |--------------->| | 1667 | ACK F21 | | 1668 |<---------------| | 1669 | RTP | | 1670 |<==============>| | 1671 | BYE F22 | 1672 |------------------------------>| 1673 | 200 OK F23 | 1674 |<------------------------------| 1676 In this flow, Bob places Alice on hold with music. This is performed 1677 by Bob sending a REFER to a Music Server which sends an INVITE with 1678 Replaces to Alice. The Music Server then sends RTP music to Alice. 1679 Bob picks the call up from hold by sending an INVITE with Replaces to 1680 Alice. 1682 Note the use of the rendering feature tag defined in RFC 4235 [6] 1683 used in F5 to indicate in that Bob's UA is no longer rendering media 1684 to Bob, i.e. that Bob has placed the call on hold. Feature tags are 1685 also used in F12 with the automaton (defined in RFC 3840 [8]) and 1686 byeless feature tags (defined in RFC 4235 [6]) to describe the 1687 capabilities of the Music Server. 1689 Should Alice not wish to receive music on hold, her UA could refuse 1690 F12 and she will remain on hold with Bob, but in silence. 1692 Message Details 1694 F1 INVITE Alice -> Bob 1696 INVITE sips:bob@biloxi.example.com SIP/2.0 1697 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1698 ;branch=z9hG4bK74bf9 1699 Max-Forwards: 70 1700 From: Alice ;tag=1234567 1701 To: Bob 1702 Call-ID: 12345600@atlanta.example.com 1703 CSeq: 1 INVITE 1704 Contact: 1705 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1706 Supported: replaces, gruu 1707 Content-Type: application/sdp 1708 Content-Length: ... 1710 v=0 1711 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 1712 s= 1713 c=IN IP4 client.atlanta.example.com 1714 t=0 0 1715 m=audio 49170 RTP/AVP 0 1716 a=rtpmap:0 PCMU/8000 1718 F2 180 Ringing Bob -> Alice 1720 SIP/2.0 180 Ringing 1721 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1722 ;branch=z9hG4bK74bf9 1723 ;received=192.0.2.103 1724 From: Alice ;tag=1234567 1725 To: Bob ;tag=23431 1726 Call-ID: 12345600@atlanta.example.com 1727 CSeq: 1 INVITE 1728 Contact: 1729 Content-Length: 0 1731 F3 200 OK Bob -> Alice 1733 SIP/2.0 200 OK 1734 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1735 ;branch=z9hG4bK74bf9 1736 ;received=192.0.2.103 1737 From: Alice ;tag=1234567 1738 To: Bob ;tag=23431 1739 Call-ID: 12345600@atlanta.example.com 1740 CSeq: 1 INVITE 1741 Contact: 1742 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1743 Supported: replaces 1744 Content-Type: application/sdp 1745 Content-Length: ... 1747 v=0 1748 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 1749 s= 1750 c=IN IP4 client.biloxi.example.com 1751 t=0 0 1752 m=audio 3456 RTP/AVP 0 1753 a=rtpmap:0 PCMU/8000 1755 F4 ACK Alice -> Bob 1757 ACK sips:bob@client.biloxi.example.com SIP/2.0 1758 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1759 ;branch=z9hG4bK74bfd 1760 Max-Forwards: 70 1761 From: Alice ;tag=1234567 1762 To: Bob ;tag=23431 1763 Call-ID: 12345600@atlanta.example.com 1764 CSeq: 1 ACK 1765 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1766 Supported: replaces 1767 Content-Length: 0 1769 /* Bob places Alice on hold */ 1771 F5 INVITE Bob -> Alice 1773 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 1774 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1775 ;branch=z9hG4bK874bk 1776 To: Alice ;tag=1234567 1777 From: Bob ;tag=23431 1778 Call-ID: 12345600@atlanta.example.com 1779 CSeq: 712 INVITE 1780 Contact: ;+sip.rendering="no" 1781 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1782 Supported: replaces 1783 Content-Type: application/sdp 1784 Content-Length: ... 1786 v=0 1787 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 1788 s= 1789 c=IN IP4 client.biloxi.example.com 1790 t=0 0 1791 m=audio 3456 RTP/AVP 0 1792 a=rtpmap:0 PCMU/8000 1793 a=sendonly 1795 F6 200 OK Alice -> Bob 1796 SIP/2.0 200 OK 1797 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1798 ;branch=z9hG4bK874bk 1799 ;received=192.0.2.105 1800 To: Alice ;tag=1234567 1801 From: Bob ;tag=23431 1802 Call-ID: 12345600@atlanta.example.com 1803 CSeq: 712 INVITE 1804 Contact: 1805 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1806 Supported: replaces, gruu 1807 Content-Type: application/sdp 1808 Content-Length: ... 1810 v=0 1811 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1812 s= 1813 c=IN IP4 client.atlanta.example.com 1814 t=0 0 1815 m=audio 49170 RTP/AVP 0 1816 a=rtpmap:0 PCMU/8000 1817 a=recvonly 1819 F7 ACK Bob -> Alice 1821 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 1822 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1823 ;branch=z9hG4bKq874b 1824 To: Alice ;tag=1234567 1825 From: Bob ;tag=23431 1826 Call-ID: 12345600@atlanta.example.com 1827 CSeq: 712 ACK 1828 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1829 Supported: replaces 1830 Content-Length: 0 1832 /* Bob REFERs Music Server to establish session with Alice 1833 which replaces the established session between 1834 Alice and Bob. */ 1836 F8 REFER Bob -> Music Server 1838 REFER sips:music@server.example.com SIP/2.0 1839 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1840 ;branch=z9hG4bKnashds9 1841 Max-Forwards: 70 1842 From: Bob ;tag=02134 1843 To: Music Server 1844 Call-ID: 4802029847@biloxi.example.com 1845 CSeq: 1 REFER 1846 1847 Refer-To: 1850 1851 Referred-By: 1852 Contact: 1853 Content-Length: 0 1855 F9 202 Accepted Music Server -> Bob 1857 SIP/2.0 202 Accepted 1858 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1859 ;branch=z9hG4bKnashds9 1860 ;received=192.0.2.105 1861 From: Bob ;tag=02134 1862 To: Music Server ;tag=56323 1863 Call-ID: 4802029847@biloxi.example.com 1864 Contact: 1865 CSeq: 1 REFER 1866 Content-Length: 0 1868 F10 NOTIFY Music Server -> Bob 1870 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 1871 Via: SIP/2.0/TLS server.example.com:5061 1872 ;branch=z9hG4bK74bT6 1873 To: Bob ;tag=02134 1874 Max-Forwards: 70 1875 From: Music Server ;tag=56323 1876 Call-ID: 4802029847@biloxi.example.com 1877 CSeq: 1 NOTIFY 1878 Event: refer 1879 Subscription-State: active;expires=60 1880 Content-Type: message/sipfrag 1881 Content-Length: ... 1883 SIP/2.0 100 Trying 1885 F11 200 OK Bob -> Music Server 1886 SIP/2.0 200 OK 1887 Via: SIP/2.0/TLS server.example.com:5061 1888 ;branch=z9hG4bK74bT6 1889 ;received=192.0.2.103 1890 To: Bob ;tag=02134 1891 From: Music Server ;tag=56323 1892 Call-ID: 4802029847@biloxi.example.com 1893 CSeq: 1 NOTIFY 1894 Content-Length: 0 1896 /* Music Server places call to Alice to replace session 1897 between Alice and Bob. */ 1899 F12 INVITE Music Server -> Alice 1901 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 1902 Via: SIP/2.0/TLS server.example.com:5061 1903 ;branch=z9hG4bK74rf 1904 Max-Forwards: 70 1905 From: ;tag=0111 1906 To: 1907 Call-ID: a5-75-34-12-76@server.example.com 1908 CSeq: 1 INVITE 1909 Referred-By: 1910 Contact: ;automaton 1911 ;+sip.byeless;+sip.rendering="no" 1912 Require: replaces 1913 Replaces: 12345600@atlanta.example.com 1914 ;from-tag=23431;to-tag=1234567 1915 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 1916 Supported: replaces 1917 Content-Type: application/sdp 1918 Content-Length: ... 1920 v=0 1921 o=MusicServer 2890844576 2890844576 IN IP4 server.example.com 1922 s= 1923 c=IN IP4 server.example.com 1924 t=0 0 1925 m=audio 49170 RTP/AVP 0 1926 a=rtpmap:0 PCMU/8000 1927 a=sendonly 1929 F13 200 OK Alice -> Music Server 1931 SIP/2.0 200 OK 1932 Via: SIP/2.0/TLS server.example.com:5061 1933 ;branch=z9hG4bK74rf 1934 ;received=192.0.2.103 1935 From: ;tag=0111 1936 To: ;tag=098594 1937 Call-ID: a5-75-34-12-76@server.example.com 1938 CSeq: 1 INVITE 1939 Contact: 1940 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 1941 Supported: replaces, gruu 1942 Content-Type: application/sdp 1943 Content-Length: ... 1945 v=0 1946 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 1947 s= 1948 c=IN IP4 client.atlanta.example.com 1949 t=0 0 1950 m=audio 49170 RTP/AVP 0 1951 a=rtpmap:0 PCMU/8000 1952 a=recvonly 1954 F14 ACK Music Server -> Alice 1956 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 1957 Via: SIP/2.0/TLS server.example.com:5061 1958 ;branch=z9hG4bK7rfF 1959 Max-Forwards: 70 1960 From: ;tag=0111 1961 To: ;tag=098594 1962 Call-ID: a5-75-34-12-76@server.example.com 1963 CSeq: 1 ACK 1964 Content-Length: 0 1966 F15 BYE Alice -> Bob 1968 BYE sips:bob@client.biloxi.example.com SIP/2.0 1969 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1970 ;branch=z9hG4bKnashds7 1971 Max-Forwards: 70 1972 From: Alice ;tag=1234567 1973 To: Bob ;tag=23431 1974 Call-ID: 12345600@atlanta.example.com 1975 CSeq: 2 BYE 1976 Content-Length: 0 1977 F16 200 OK Bob -> Alice 1979 SIP/2.0 200 OK 1980 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1981 ;branch=z9hG4bKnashds7 1982 ;received=192.0.2.105 1983 From: Alice ;tag=1234567 1984 To: Bob ;tag=23431 1985 Call-ID: 12345600@atlanta.example.com 1986 CSeq: 2 BYE 1987 Content-Length: 0 1989 /* Music Server reports success back to Bob by returning 1990 a 200 OK response. Bob obtains the dialog identifiers 1991 from the headers included in the response. */ 1993 F17 NOTIFY Music Server -> Bob 1995 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 1996 Via: SIP/2.0/TLS server.example.com:5061 1997 ;branch=z9hG4bK74bf9 1998 To: Bob ;tag=02134 1999 Max-Forwards: 70 2000 From: Music Server ;tag=56323 2001 Call-ID: 4802029847@biloxi.example.com 2002 CSeq: 2 NOTIFY 2003 Event: refer 2004 Subscription-State: terminated;reason=noresource 2005 Content-Type: message/sipfrag 2006 Content-Length: ... 2008 SIP/2.0 200 OK 2009 Via: SIP/2.0/TLS server.example.com:5061 2010 ;branch=z9hG4bK74rf 2011 ;received=192.0.2.103 2012 From: ;tag=0111 2013 To: ;tag=098594 2014 Call-ID: a5-75-34-12-76@server.example.com 2015 CSeq: 1 INVITE 2016 Contact: 2018 F18 200 OK Bob -> Music Server 2020 SIP/2.0 200 OK 2021 Via: SIP/2.0/TLS server.example.com:5061 2022 ;branch=z9hG4bK74bf9 2023 ;received=192.0.2.103 2024 To: Bob ;tag=02134 2025 From: Music Server ;tag=56323 2026 Call-ID: 4802029847@biloxi.example.com 2027 CSeq: 2 NOTIFY 2028 Content-Length: 0 2030 /* Alice is now parked at the Music Server */ 2032 /* Bob picks up the call by sending an INVITE to Alice who 2033 replaces the existing session with the Music Server. */ 2035 F19 INVITE Bob -> Alice 2037 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 2038 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2039 ;branch=z9hG4bK74bf9 2040 From: Bob ;tag=4i323pr 2041 To: Alice 2042 Call-ID: uioewrjk2k2were 2043 CSeq: 42121 INVITE 2044 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 2045 SUBSCRIBE, NOTIFY 2046 Replaces: a5-75-34-12-76@server.example.com 2047 ;to-tag=098594;from-tag=0111 2048 Contact: 2049 Supported: replaces 2050 Content-Type: application/sdp 2051 Content-Length: ... 2053 v=0 2054 o=bob 2890844631 2890844631 IN IP4 client.biloxi.example.com 2055 s= 2056 c=IN IP4 client.biloxi.example.com 2057 t=0 0 2058 m=audio 3458 RTP/AVP 0 2059 a=rtpmap:0 PCMU/8000 2060 a=sendrecv 2062 F20 200 OK Alice -> Bob 2064 SIP/2.0 200 OK 2065 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2066 ;branch=z9hG4bK74bf9 2067 ;received=192.0.2.105 2069 From: Bob ;tag=4i323pr 2070 To: Alice ;tag=6654323 2071 Call-ID: uioewrjk2k2were 2072 CSeq: 42121 INVITE 2073 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 2074 SUBSCRIBE, NOTIFY 2075 Contact: 2076 Supported: replaces 2077 Content-Type: application/sdp 2078 Content-Length: ... 2080 v=0 2081 o=alice 2890844576 2890844576 IN IP4 client.atlanta.example.com 2082 s= 2083 c=IN IP4 client.atlanta.example.com 2084 t=0 0 2085 m=audio 49170 RTP/AVP 0 2086 a=rtpmap:0 PCMU/8000 2087 a=sendrecv 2089 F21 200 ACK Bob -> Alice 2091 ACK sips:alice@client.atlanta.example.com SIP/2.0 2092 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2093 ;branch=z9hG4bKj974bf9 2094 From: Bob ;tag=4i323pr 2095 To: Alice ;tag=6654323 2096 Call-ID: uioewrjk2k2were 2097 CSeq: 42121 ACK 2098 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 2099 SUBSCRIBE, NOTIFY 2100 Supported: replaces 2101 Content-Length: 0 2103 F22 BYE Alice -> Music Server 2105 BYE sips:music@server.example.com SIP/2.0 2106 Max-Forwards: 70 2107 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2108 ;branch=z9hG4bK74rf 2109 To: ;tag=0111 2110 From: ;tag=098594 2111 Call-ID: a5-75-34-12-76@server.example.com 2112 CSeq: 15 BYE 2113 Content-Length: 0 2114 F23 200 OK Music Server -> Alice 2116 SIP/2.0 200 OK 2117 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2118 ;branch=z9hG4bK74rf 2119 ;received=192.0.2.103 2120 To: ;tag=0111 2121 From: ;tag=098594 2122 Call-ID: a5-75-34-12-76@server.example.com 2123 CSeq: 15 BYE 2124 Content-Length: 0 2126 /* Normal media session between Alice and Bob is resumed */ 2128 2.4. Transfer - Unattended 2130 Alice Bob Carol 2131 | INVITE F1 | | 2132 |<-------------------| | 2133 | 180 Ringing F2 | | 2134 |------------------->| | 2135 | 200 OK F3 | | 2136 |------------------->| | 2137 | ACK F4 | | 2138 |<-------------------| | 2139 | RTP | | 2140 |<==================>| | 2141 | | | 2142 | Alice performs unattended transfer | 2143 | | | 2144 | REFER Refer-To:C F5| | 2145 |------------------->| | 2146 | 202 Accepted F6 | | 2147 |<-------------------| | 2148 | NOTIFY F7 | | 2149 |<-------------------| | 2150 | 200 OK F8 | | 2151 |------------------->| | 2152 | BYE F9 | | 2153 |------------------->| | 2154 | 200 OK F10 | | 2155 |<-------------------| | 2156 | No RTP Session | INVITE Referred-By: A F11 2157 | |------------------->| 2158 | | 180 Ringing F12 | 2159 | |<-------------------| 2160 | | 200 OK F13 | 2161 | |<-------------------| 2162 | | ACK F14 | 2163 | |------------------->| 2164 | | RTP | 2165 | |<==================>| 2166 | NOTIFY F15 | | 2167 |<-------------------| | 2168 | 200 OK F16 | | 2169 |------------------->| | 2170 | | | 2172 In this scenario, Bob calls Alice. Alice then transfers Bob to 2173 Carol, then Alice disconnects with Bob. Bob establishes the session 2174 to Carol then reports the success back to Alice in the NOTIFY in F15. 2176 If the transfer fails, Bob can send a new INVITE back to Alice to re- 2177 establish the session. 2179 Despite the BYE sent by Alice in F9, the dialog between Alice and Bob 2180 still exists until the subscription created by the REFER has 2181 terminated (either due to a NOTIFY containing a Subscription-State: 2182 terminated;reason=noresource header field, as in F15, or a 481 2183 response to a NOTIFY). 2185 For more about call transfer see the transfer [12] document. 2187 Message Details 2189 F1 INVITE Bob -> Alice 2191 INVITE sips:alice@atlanta.example.com SIP/2.0 2192 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2193 ;branch=z9hG4bKnashds7 2194 Max-Forwards: 70 2195 From: Bob ;tag=314159 2196 To: Alice 2197 Call-ID: 12345601@atlanta.example.com 2198 CSeq: 1 INVITE 2199 Contact: 2200 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2201 Supported: replaces 2202 Content-Type: application/sdp 2203 Content-Length: ... 2205 v=0 2206 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 2207 s= 2208 c=IN IP4 client.biloxi.example.com 2209 t=0 0 2210 m=audio 3456 RTP/AVP 0 2211 a=rtpmap:0 PCMU/8000 2213 F2 180 Ringing Alice -> Bob 2215 SIP/2.0 180 Ringing 2216 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2217 ;branch=z9hG4bKnashds7 2218 ;received=192.0.2.113 2219 From: Bob ;tag=314159 2220 To: Alice ;tag=1234567 2221 Call-ID: 12345601@atlanta.example.com 2222 CSeq: 1 INVITE 2223 Contact: 2224 Content-Length: 0 2226 F3 200 OK Alice -> Bob 2228 SIP/2.0 200 OK 2229 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2230 ;branch=z9hG4bKnashds7 2231 ;received=192.0.2.113 2232 From: Bob ;tag=314159 2233 To: Alice ;tag=1234567 2234 Call-ID: 12345601@atlanta.example.com 2235 CSeq: 1 INVITE 2236 Contact: 2237 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2238 Supported: replaces 2239 Content-Type: application/sdp 2240 Content-Length: ... 2242 v=0 2243 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 2244 s= 2245 c=IN IP4 client.atlanta.example.com 2246 t=0 0 2247 m=audio 49170 RTP/AVP 0 2248 a=rtpmap:0 PCMU/8000 2250 F4 ACK Bob -> Alice 2252 ACK sips:alice@client.atlanta.example.com SIP/2.0 2253 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2254 ;branch=z9hG4bKnashds2 2255 Max-Forwards: 70 2256 From: Bob ;tag=314159 2257 To: Alice ;tag=1234567 2258 Call-ID: 12345601@atlanta.example.com 2259 CSeq: 1 ACK 2260 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2261 Supported: replaces 2262 Content-Length: 0 2264 /* Session is established between Alice and Bob. */ 2266 /* Alice performs unattended transfer of Bob to Carol */ 2267 F5 REFER Alice -> Bob 2269 REFER sips:bob@client.biloxi.example.com SIP/2.0 2270 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2271 ;branch=z9hG4bKnashds8 2272 Max-Forwards: 70 2273 From: Alice ;tag=1234567 2274 To: Bob ;tag=314159 2275 Call-ID: 12345601@atlanta.example.com 2276 CSeq: 101 REFER 2277 Refer-To: 2278 Referred-By: 2279 Contact: 2280 Content-Length: 0 2282 F6 202 Accepted Bob -> Alice 2284 SIP/2.0 202 Accepted 2285 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2286 ;branch=z9hG4bKnashds8 2287 ;received=192.0.2.105 2288 From: Alice ;tag=1234567 2289 To: Bob ;tag=314159 2290 Call-ID: 12345601@atlanta.example.com 2291 Contact: 2292 CSeq: 101 REFER 2293 Content-Length: 0 2295 F7 NOTIFY Bob -> Alice 2297 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 2298 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2299 ;branch=z9hG4bKnashds32 2300 Max-Forwards: 70 2301 From: Bob ;tag=314159 2302 To: Alice ;tag=1234567 2303 Call-ID: 12345601@atlanta.example.com 2304 CSeq: 2 NOTIFY 2305 Event: refer 2306 Subscription-State: active;expires=60 2307 Content-Type: message/sipfrag 2308 Content-Length: ... 2310 SIP/2.0 100 Trying 2311 F8 200 OK Alice -> Bob 2313 SIP/2.0 200 OK 2314 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2315 ;branch=z9hG4bKnashds32 2316 ;received=192.0.2.113 2317 From: Bob ;tag=314159 2318 To: Alice ;tag=1234567 2319 Call-ID: 12345601@atlanta.example.com 2320 CSeq: 2 NOTIFY 2321 Content-Length: 0 2323 /* Alice now disconnects with Bob. */ 2325 F9 BYE Alice -> Bob 2327 BYE sips:bob@client.biloxi.example.com SIP/2.0 2328 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2329 ;branch=z9hG4bKnashds43 2330 Max-Forwards: 70 2331 From: Alice ;tag=1234567 2332 To: Bob ;tag=314159 2333 Call-ID: 12345601@atlanta.example.com 2334 CSeq: 102 BYE 2335 Content-Length: 0 2337 F10 200 OK Bob -> Alice 2339 SIP/2.0 200 OK 2340 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2341 ;branch=z9hG4bKnashds43 2342 ;received=192.0.2.105 2343 From: Alice ;tag=1234567 2344 To: Bob ;tag=314159 2345 Call-ID: 12345601@atlanta.example.com 2346 CSeq: 102 BYE 2347 Content-Length: 0 2349 /* Bob attempts the transfer to Carol */ 2351 F11 INVITE Bob -> Carol 2353 INVITE sips:carol@chicago.example.com SIP/2.0 2354 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2355 ;branch=z9hG4bKnashds1 2357 Max-Forwards: 70 2358 From: Bob ;tag=8675309 2359 To: Carol 2360 Call-ID: 7436222@atlanta.example.com 2361 CSeq: 1 INVITE 2362 Contact: 2363 Referred-By: 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=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com 2371 s= 2372 c=IN IP4 client.biloxi.example.com 2373 t=0 0 2374 m=audio 3458 RTP/AVP 0 2375 a=rtpmap:0 PCMU/8000 2377 F12 180 Ringing Carol -> Bob 2379 SIP/2.0 180 Ringing 2380 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2381 ;branch=z9hG4bKnashds1 2382 ;received=192.0.2.113 2383 From: Bob ;tag=8675309 2384 To: Carol ;tag=928287 2385 Call-ID: 7436222@atlanta.example.com 2386 CSeq: 1 INVITE 2387 Contact: 2388 Content-Length: 0 2390 F13 200 OK Carol -> Bob 2392 SIP/2.0 200 OK 2393 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2394 ;branch=z9hG4bKnashds1 2395 ;received=192.0.2.113 2396 From: Bob ;tag=8675309 2397 To: Carol ;tag=928287 2398 Call-ID: 7436222@atlanta.example.com 2399 CSeq: 1 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=carol 2890944542 2890844542 IN IP4 client.chicago.example.com 2408 s= 2409 c=IN IP4 client.chicago.example.com 2410 t=0 0 2411 m=audio 3456 RTP/AVP 0 2412 a=rtpmap:0 PCMU/8000 2414 F14 ACK Bob -> Carol 2416 ACK sips:carol@client.chicago.example.com SIP/2.0 2417 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2418 ;branch=z9hG4bKnashds9 2419 Max-Forwards: 70 2420 From: Bob ;tag=8675309 2421 To: Carol ;tag=928287 2422 Call-ID: 7436222@atlanta.example.com 2423 CSeq: 1 ACK 2424 Content-Length: 0 2426 /* Bob and Carol now have established a session. Bob reports 2427 success to Alice which Alice probably ignores. */ 2429 F15 NOTIFY Bob -> Alice 2431 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 2432 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2433 ;branch=z9hG4bKnashds67 2434 Max-Forwards: 70 2435 From: Bob ;tag=314159 2436 To: Alice ;tag=1234567 2437 Call-ID: 12345601@atlanta.example.com 2438 CSeq: 3 NOTIFY 2439 Event: refer 2440 Subscription-State: terminated;reason=noresource 2441 Content-Type: message/sipfrag 2442 Content-Length: ... 2444 SIP/2.0 200 OK 2445 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2446 ;branch=z9hG4bKnashds1 2447 ;received=192.0.2.113 2448 From: Bob ;tag=8675309 2449 To: Carol ;tag=928287 2450 Call-ID: 7436222@atlanta.example.com 2451 CSeq: 1 INVITE 2452 Contact: 2453 Content-Type: application/sdp 2454 Content-Length: ... 2456 F16 200 OK Alice -> Bob 2458 SIP/2.0 200 OK 2459 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2460 ;branch=z9hG4bKnashds6 2461 ;received=192.0.2.113 2462 From: Bob ;tag=314159 2463 To: Alice ;tag=1234567 2464 Call-ID: 12345601@atlanta.example.com 2465 CSeq: 3 NOTIFY 2466 Content-Length: 0 2468 2.5. Transfer - Attended 2470 Alice Bob Carol 2471 | | | 2472 | INVITE F1 | | 2473 |--------------->| | 2474 | 180 Ringing F2 | | 2475 |<---------------| | 2476 | 200 OK F3 | | 2477 |<---------------| | 2478 | ACK F4 | | 2479 |--------------->| | 2480 | RTP | | 2481 |<==============>| | 2482 |INVITE (hold) F5| | 2483 |<---------------| | 2484 | 200 OK F6 | | 2485 |--------------->| | 2486 | ACK F7 | | 2487 |<---------------| | 2488 | No RTP | | 2489 | | INVITE F8 | 2490 | |------------->| 2491 | | 180 Ringing F9 2492 | |<-------------| 2493 | | 200 OK F10 | 2494 | |<-------------| 2495 | | ACK F11 | 2496 | |------------->| 2497 | | RTP | 2498 | |<============>| 2499 | |INVITE (hold) F12 2500 | |------------->| 2501 | | 200 OK F13 | 2502 | |<-------------| 2503 | | ACK F14 | 2504 | |------------->| 2505 | | No RTP | 2506 | REFER Refer-To: C F15 | 2507 |<---------------| | 2508 |202 Accepted F16| | 2509 |--------------->| | 2510 | NOTIFY F17 | | 2511 |--------------->| | 2512 | 200 OK F18 | | 2513 |<---------------| | 2514 | INVITE Replaces: B F19 | 2515 |------------------------------>| 2516 | 200 OK F20 | 2517 |<------------------------------| 2518 | ACK F21 | 2519 |------------------------------>| 2520 | RTP | 2521 |<=============================>| 2522 | | BYE F22 | 2523 | |<-------------| 2524 | | 200 OK F23 | 2525 | |------------->| 2526 | NOTIFY F24 | | 2527 |--------------->| | 2528 | 200 OK F25 | | 2529 |<---------------| | 2530 | BYE F26 | | 2531 |<---------------| | 2532 | 200 OK F27 | | 2533 |--------------->| | 2535 In this scenario, Alice calls Bob. Bob puts Alice on hold then calls 2536 Carol to announce transfer, then places Carol on hold. Bob transfers 2537 Alice to Carol which replaces the session between Bob and Carol. 2538 Carol then disconnects session with Bob. Alice reports success of 2539 transfer to Bob, who then disconnects with Alice. In this example, 2540 the Replaces header field [3] is inserted into the Refer-To URI by 2541 Bob. Note that the Refer-To URI is the Contact URI returned by Carol 2542 in the 200 OK response F10. This ensures that only the correct 2543 instance of Carol is reached. The presence of the gr URI parameter 2544 in the Contact URI in message F10 indicates that the Contact URI is a 2545 GRUU [16] and will be globally routable outside of the dialog. 2546 Without knowing the Contact URI is a gruu, Bob must be prepared, if 2547 the triggered INVITE had failed, to retry the REFER with a Refer-To 2548 URI of the URI used to reach Carol but with a Require: replaces 2549 header escaped in the Refer-To header field, as discussed in the 2550 transfer [12] document. 2552 Message Details 2554 F1 INVITE Alice -> Bob 2556 INVITE sips:bob@biloxi.example.com SIP/2.0 2557 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2558 ;branch=z9hG4bK74bf9 2559 Max-Forwards: 70 2560 From: Alice ;tag=1234567 2561 To: Bob 2562 Call-ID: 12345600@atlanta.example.com 2563 CSeq: 1 INVITE 2564 Contact: 2565 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2566 Supported: replaces 2567 Content-Type: application/sdp 2568 Content-Length: ... 2570 v=0 2571 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 2572 s= 2573 c=IN IP4 client.atlanta.example.com 2574 t=0 0 2575 m=audio 49170 RTP/AVP 0 2576 a=rtpmap:0 PCMU/8000 2578 F2 180 Ringing Bob -> Alice 2580 SIP/2.0 180 Ringing 2581 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2582 ;branch=z9hG4bK74bf9 2583 ;received=192.0.2.103 2584 From: Alice ;tag=1234567 2585 To: Bob ;tag=23431 2586 Call-ID: 12345600@atlanta.example.com 2587 CSeq: 1 INVITE 2588 Contact: 2589 Content-Length: 0 2591 F3 200 OK Bob -> Alice 2593 SIP/2.0 200 OK 2594 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2595 ;branch=z9hG4bK74bf9 2596 ;received=192.0.2.103 2597 From: Alice ;tag=1234567 2598 To: Bob ;tag=23431 2599 Call-ID: 12345600@atlanta.example.com 2600 CSeq: 1 INVITE 2601 Contact: 2602 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2603 Supported: replaces 2604 Content-Type: application/sdp 2605 Content-Length: ... 2607 v=0 2608 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 2609 s= 2610 c=IN IP4 client.biloxi.example.com 2611 t=0 0 2612 m=audio 3456 RTP/AVP 0 2613 a=rtpmap:0 PCMU/8000 2615 F4 ACK Alice -> Bob 2617 ACK sips:bob@client.biloxi.example.com SIP/2.0 2618 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2619 ;branch=z9hG4bK74bf 2620 Max-Forwards: 70 2621 From: Alice ;tag=1234567 2622 To: Bob ;tag=23431 2623 Call-ID: 12345600@atlanta.example.com 2624 CSeq: 1 ACK 2625 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2626 Supported: replaces 2627 Content-Length: 0 2629 /* Alice and Bob have established a session. 2630 Bob puts Alice on Hold */ 2632 F5 INVITE Bob -> Alice 2633 INVITE sips:alice@client.atlanta.example.com SIP/2.0 2634 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2635 ;branch=z9hG4bKnashds7 2636 Max-Forwards: 70 2637 From: Bob ;tag=23431 2638 To: Alice ;tag=1234567 2639 Call-ID: 12345600@atlanta.example.com 2640 CSeq: 1024 INVITE 2641 Contact: ;+sip.rendering="no" 2642 Content-Type: application/sdp 2643 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2644 Supported: replaces 2645 Content-Length: ... 2647 v=0 2648 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 2649 s= 2650 c=IN IP4 client.biloxi.example.com 2651 t=0 0 2652 m=audio 3456 RTP/AVP 0 2653 a=rtpmap:0 PCMU/8000 2654 a=sendonly 2656 F6 200 OK Alice -> Bob 2658 SIP/2.0 200 OK 2659 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2660 ;branch=z9hG4bKnashds7 2661 ;received=192.0.2.113 2662 From: Bob ;tag=23431 2663 To: Alice ;tag=1234567 2664 Call-ID: 12345600@atlanta.example.com 2665 CSeq: 1024 INVITE 2666 Contact: 2667 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2668 Supported: replaces 2669 Content-Type: application/sdp 2670 Content-Length: ... 2672 v=0 2673 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 2674 s= 2675 c=IN IP4 client.atlanta.example.com 2676 t=0 0 2677 m=audio 49170 RTP/AVP 0 2678 a=rtpmap:0 PCMU/8000 2679 a=recvonly 2680 F7 ACK Bob -> Alice 2682 ACK sips:alice@client.atlanta.example.com SIP/2.0 2683 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2684 ;branch=z9hG4bKnashds3 2685 Max-Forwards: 70 2686 From: Bob ;tag=23431 2687 To: Alice ;tag=1234567 2688 Call-ID: 12345600@atlanta.example.com 2689 CSeq: 1024 ACK 2690 Content-Length: 0 2692 /* Bob calls Carol */ 2694 F8 INVITE Bob -> Carol 2696 INVITE sips:carol@chicago.example.com SIP/2.0 2697 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2698 ;branch=z9hG4bKnash 2699 Max-Forwards: 70 2700 From: Bob ;tag=8675309 2701 To: Carol 2702 Call-ID: sdjfdjfskdf@biloxi.example.com 2703 CSeq: 42 INVITE 2704 Contact: 2705 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2706 Supported: replaces 2707 Content-Type: application/sdp 2708 Content-Length: ... 2710 v=0 2711 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 2712 s= 2713 c=IN IP4 client.biloxi.example.com 2714 t=0 0 2715 m=audio 3458 RTP/AVP 0 2716 a=rtpmap:0 PCMU/8000 2718 F9 180 Ringing Carol -> Bob 2720 SIP/2.0 180 Ringing 2721 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2722 ;branch=z9hG4bKnash 2723 ;received=192.0.2.113 2724 From: Bob ;tag=8675309 2725 To: Carol ;tag=5f35a3 2726 Call-ID: sdjfdjfskdf@biloxi.example.com 2727 CSeq: 42 INVITE 2728 Contact: 2729 Content-Length: 0 2731 F10 200 OK Carol -> Bob 2733 SIP/2.0 200 OK 2734 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2735 ;branch=z9hG4bKnash 2736 ;received=192.0.2.113 2737 From: Bob ;tag=8675309 2738 To: Carol ;tag=5f35a3 2739 Call-ID: sdjfdjfskdf@biloxi.example.com 2740 CSeq: 42 INVITE 2741 Contact: 2742 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2743 Supported: replaces, gruu 2744 Content-Type: application/sdp 2745 Content-Length: ... 2747 v=0 2748 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 2749 s= 2750 c=IN IP4 client.chicago.example.com 2751 t=0 0 2752 m=audio 3456 RTP/AVP 0 2753 a=rtpmap:0 PCMU/8000 2755 F11 ACK Bob -> Carol 2757 ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2758 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2759 ;branch=z9hG4bKnashd5 2760 Max-Forwards: 70 2761 From: Bob ;tag=8675309 2762 To: Carol ;tag=5f35a3 2763 Call-ID: sdjfdjfskdf@biloxi.example.com 2764 CSeq: 42 ACK 2765 Content-Length: 0 2767 /* Bob puts Carol on hold */ 2769 F12 INVITE Bob -> Carol 2770 INVITE sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2771 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2772 ;branch=z9hG4bKnashds0 2773 Max-Forwards: 70 2774 From: Bob ;tag=8675309 2775 To: Carol ;tag=5f35a3 2776 Call-ID: sdjfdjfskdf@biloxi.example.com 2777 CSeq: 43 INVITE 2778 Contact: ;+sip.rendering="no" 2779 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2780 Supported: replaces 2781 Content-Type: application/sdp 2782 Content-Length: ... 2784 v=0 2785 o=bob 289084834 2890844835 IN IP4 client.biloxi.example.com 2786 s= 2787 c=IN IP4 client.biloxi.example.com 2788 t=0 0 2789 m=audio 3458 RTP/AVP 0 2790 a=rtpmap:0 PCMU/8000 2791 a=sendonly 2793 F13 200 OK Carol -> Bob 2795 SIP/2.0 200 OK 2796 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2797 ;branch=z9hG4bKnashds0 2798 ;received=192.0.2.113 2799 From: Bob ;tag=8675309 2800 To: Carol ;tag=5f35a3 2801 Call-ID: sdjfdjfskdf@biloxi.example.com 2802 CSeq: 43 INVITE 2803 Contact: 2804 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2805 Supported: replaces, gruu 2806 Content-Type: application/sdp 2807 Content-Length: ... 2809 v=0 2810 o=carol 2890844922 2890844923 IN IP4 client.chicago.example.com 2811 s= 2812 c=IN IP4 client.chicago.example.com 2813 t=0 0 2814 m=audio 3456 RTP/AVP 0 2815 a=rtpmap:0 PCMU/8000 2816 a=recvonly 2817 F14 ACK Bob -> Carol 2819 ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2820 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2821 ;branch=z9hG4bKnash334 2822 Max-Forwards: 70 2823 From: Bob ;tag=8675309 2824 To: Carol ;tag=5f35a3 2825 Call-ID: sdjfdjfskdf@biloxi.example.com 2826 CSeq: 43 ACK 2827 Content-Length: 0 2829 /* Bob Transfers Alice to Carol. */ 2831 F15 REFER Bob -> Alice 2833 REFER sips:alice@client.atlanta.example.com SIP/2.0 2834 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2835 ;branch=z9hG4bKnashds2g 2836 Max-Forwards: 70 2837 From: Bob ;tag=23431 2838 To: Alice ;tag=1234567 2839 Call-ID: 12345600@atlanta.example.com 2840 CSeq: 1025 REFER 2841 2842 Refer-To: 2845 2846 Referred-By: 2847 Contact: 2848 Content-Length: 0 2850 F16 202 Accepted Alice -> Bob 2852 SIP/2.0 202 Accepted 2853 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2854 ;branch=z9hG4bKnashds2g 2855 ;received=192.0.2.113 2856 From: Bob ;tag=23431 2857 To: Alice ;tag=1234567 2858 Call-ID: 12345600@atlanta.example.com 2859 Contact: 2860 CSeq: 1025 REFER 2861 Content-Length: 0 2862 F17 NOTIFY Alice -> Bob 2864 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 2865 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2866 ;branch=z9hG4bK74bfK 2867 Max-Forwards: 70 2868 From: Alice ;tag=1234567 2869 To: Bob ;tag=23431 2870 Call-ID: 12345600@atlanta.example.com 2871 CSeq: 2 NOTIFY 2872 Contact: 2873 Event: refer 2874 Subscription-State: active;expires=60 2875 Content-Type: message/sipfrag 2876 Content-Length: ... 2878 SIP/2.0 100 Trying 2880 F18 200 OK Bob -> Alice 2882 SIP/2.0 200 OK 2883 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2884 ;branch=z9hG4bK74bfK 2885 ;received=192.0.2.103 2886 From: Alice ;tag=1234567 2887 To: Bob ;tag=23431 2888 Call-ID: 12345600@atlanta.example.com 2889 CSeq: 2 NOTIFY 2890 Content-Length: 0 2892 /* Alice establishes session with Carol which replaces the 2893 session between Bob and Carol */ 2895 F19 INVITE Alice -> Carol 2897 INVITE sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2898 Via: SIP/2.0/TLS chicago.example.com:5061 2899 ;branch=z9hG4bKadfe4ko 2900 To: Carol 2901 Max-Forwards: 70 2902 From: Alice ;tag=3461 2903 Call-ID: 9435674543@atlanta.example.com 2904 CSeq: 1 INVITE 2905 Require: replaces 2906 Referred-By: 2907 Replaces: sdjfdjfskdf@biloxi.example.com 2908 ;to-tag=5f35a3;from-tag=8675309 2909 Contact: 2910 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2911 Supported: replaces 2912 Content-Type: application/sdp 2913 Content-Length: ... 2915 v=0 2916 o=alice 2890844989 2890844989 IN IP4 client.atlanta.example.com 2917 s= 2918 c=IN IP4 client.atlanta.example.com 2919 t=0 0 2920 m=audio 3458 RTP/AVP 0 2921 a=rtpmap:0 PCMU/8000 2923 F20 200 OK Carol -> Alice 2925 SIP/2.0 200 OK 2926 Via: SIP/2.0/TLS chicago.example.com:5061 2927 ;branch=z9hG4bKadfe4ko 2928 ;received=192.0.2.103 2929 To: Carol ;tag=ff3a 2930 From: Alice ;tag=3461 2931 Call-ID: 9435674543@atlanta.example.com 2932 CSeq: 1 INVITE 2933 Contact: 2934 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2935 Supported: replaces, gruu 2936 Content-Type: application/sdp 2937 Content-Length: ... 2939 v=0 2940 o=carol 2890844221 2890844221 IN IP4 client.chicago.example.com 2941 s= 2942 c=IN IP4 client.chicago.example.com 2943 t=0 0 2944 m=audio 49172 RTP/AVP 0 2945 a=rtpmap:0 PCMU/8000 2947 F21 ACK Alice -> Carol 2949 ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2950 Via: SIP/2.0/TLS chicago.example.com:5061 2951 ;branch=z9hG4bKadfe4kU3 2952 To: Carol ;tag=ff3a 2953 Max-Forwards: 70 2954 From: Alice ;tag=3461 2955 Call-ID: 9435674543@atlanta.example.com 2956 CSeq: 1 ACK 2957 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2958 Supported: replaces 2959 Content-Length: 0 2961 /* Carol then disconnects from Bob */ 2963 F22 BYE Carol -> Bob 2965 BYE sips:bob@client.biloxi.example.com SIP/2.0 2966 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2967 ;branch=z9hG4bK74bfE 2968 To: Bob ;tag=8675309 2969 Max-Forwards: 70 2970 From: Carol ;tag=5f35a3 2971 Call-ID: sdjfdjfskdf@biloxi.example.com 2972 CSeq: 1 BYE 2973 Content-Length: 0 2975 F23 200 OK Bob -> Carol 2977 SIP/2.0 200 OK 2978 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2979 ;branch=z9hG4bK74bfE 2980 ;received=192.0.2.123 2981 To: Bob ;tag=8675309 2982 From: Carol ;tag=5f35a3 2983 Call-ID: sdjfdjfskdf@biloxi.example.com 2984 CSeq: 1 BYE 2985 Content-Length: 0 2987 /* Alice tells Bob that the call has been 2988 successfully transferred */ 2990 F24 NOTIFY Alice -> Bob 2992 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 2993 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2994 ;branch=z9hG4bK74bf2N 2995 Max-Forwards: 70 2996 From: Alice ;tag=1234567 2997 To: Bob ;tag=23431 2998 Call-ID: 12345600@atlanta.example.com 2999 CSeq: 3 NOTIFY 3000 Event: refer 3001 Subscription-State: terminated;reason=noresource 3002 Content-Type: message/sipfrag 3003 Content-Length: ... 3005 SIP/2.0 200 OK 3006 Via: SIP/2.0/TLS chicago.example.com:5061 3007 ;branch=z9hG4bKadfe4ko 3008 ;received=192.0.2.103 3009 To: Carol ;tag=ff3a 3010 From: Alice ;tag=3461 3011 Call-ID: 9435674543@atlanta.example.com 3012 CSeq: 1 INVITE 3013 Contact: 3015 F25 200 OK Bob -> Alice 3017 SIP/2.0 200 OK 3018 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3019 ;branch=z9hG4bK74bf9 3020 ;received=192.0.2.103 3021 From: Alice ;tag=1234567 3022 To: Bob ;tag=23431 3023 Call-ID: 12345600@atlanta.example.com 3024 CSeq: 3 NOTIFY 3025 Content-Length: 0 3027 /* Bob disconnects with Alice */ 3029 F26 BYE Bob -> Alice 3031 BYE sips:alice@client.atlanta.example.com SIP/2.0 3032 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3033 ;branch=z9hG4bKnashds7P 3034 Max-Forwards: 70 3035 From: Bob ;tag=23431 3036 To: Alice ;tag=1234567 3037 Call-ID: 12345600@atlanta.example.com 3038 CSeq: 1026 BYE 3039 Content-Length: 0 3041 F27 200 OK Alice -> Bob 3043 SIP/2.0 200 OK 3044 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3045 ;branch=z9hG4bKnashds7P 3046 ;received=192.0.2.113 3047 From: Bob ;tag=23431 3048 To: Alice ;tag=1234567 3049 Call-ID: 12345600@atlanta.example.com 3050 CSeq: 1026 BYE 3051 Content-Length: 0 3053 2.6. Transfer - Instant Messaging 3055 Alice Bob Carol 3056 | | | 3057 | INVITE F1 | | 3058 |------------->| | 3059 | 180 Ringing F2 | 3060 |<-------------| | 3061 | 200 OK F3 | | 3062 |<-------------| | 3063 | ACK F4 | | 3064 |------------->| | 3065 | Both way RTP Established | 3066 |<============>| | 3067 | | MESSAGE F5 | 3068 | |------------------>| 3069 | | 200 OK F6 | 3070 | |<------------------| 3071 | | | 3072 | INVITE Replaces:A-B F7 | 3073 |<---------------------------------| 3074 | 200 OK F8 | 3075 |--------------------------------->| 3076 | ACK F9 | 3077 |<---------------------------------| 3078 | Both way RTP Established | 3079 |<================================>| 3080 | BYE F10 | | 3081 |------------->| | 3082 | 200 OK F11 | | 3083 |<-------------| | 3084 | | 3086 In this scenario, Alice and Bob establish a session between them. 3087 Bob wants Carol to take the call so sends an Instant Message (IM) to 3088 Carol containing Alice's URI and an embedded Replaces header field. 3089 If Carol clicks on the URI, Carol's SIP UA sends an INVITE to Alice 3090 which replaces the session with Bob. 3092 This scenario shows the use of the SIP MESSAGE [10] method to pass 3093 the URI. However, another IM protocol or other method could have 3094 been used to pass the URI from Bob to Carol. 3096 Message Details 3098 F1 INVITE Alice -> Bob 3100 INVITE sips:bob@biloxi.example.com SIP/2.0 3101 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3102 ;branch=z9hG4bK74bf9 3103 Max-Forwards: 70 3104 From: Alice ;tag=1234567 3105 To: Bob 3106 Call-ID: 12345600@atlanta.example.com 3107 CSeq: 1 INVITE 3108 Contact: 3109 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3110 Supported: replaces, gruu 3111 Content-Type: application/sdp 3112 Content-Length: ... 3114 v=0 3115 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3116 s= 3117 c=IN IP4 client.atlanta.example.com 3118 t=0 0 3119 m=audio 49170 RTP/AVP 0 3120 a=rtpmap:0 PCMU/8000 3122 F2 180 Ringing Bob -> Alice 3124 SIP/2.0 180 Ringing 3125 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3126 ;branch=z9hG4bK74bf9 3127 ;received=192.0.2.103 3128 From: Alice ;tag=1234567 3129 To: Bob ;tag=3145678 3130 Call-ID: 12345600@atlanta.example.com 3131 CSeq: 1 INVITE 3132 Contact: 3133 Content-Length: 0 3135 F3 200 OK Bob -> Alice 3136 SIP/2.0 200 OK 3137 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3138 ;branch=z9hG4bK74bf9 3139 ;received=192.0.2.103 3140 From: Alice ;tag=1234567 3141 To: Bob ;tag=3145678 3142 Call-ID: 12345600@atlanta.example.com 3143 Contact: 3144 CSeq: 1 INVITE 3145 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3146 Supported: replaces 3147 Content-Type: application/sdp 3148 Content-Length: ... 3150 v=0 3151 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 3152 s= 3153 c=IN IP4 client.biloxi.example.com 3154 t=0 0 3155 m=audio 3456 RTP/AVP 0 3156 a=rtpmap:0 PCMU/8000 3158 F4 ACK Alice -> Bob 3160 ACK sips:bob@client.biloxi.example.com SIP/2.0 3161 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3162 ;branch=z9hG4bK74r 3163 Max-Forwards: 70 3164 From: Alice ;tag=1234567 3165 To: Bob ;tag=3145678 3166 Call-ID: 12345600@atlanta.example.com 3167 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3168 Supported: replaces 3169 CSeq: 1 ACK 3170 Content-Length: 0 3172 /* Bob IMs Carol */ 3174 F5 MESSAGE Bob -> Carol 3176 MESSAGE sips:carol@chicago.example.com SIP/2.0 3177 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3178 ;branch=z9hG4bKnash 3179 Max-Forwards: 70 3180 From: Bob ;tag=8675309 3181 To: Carol 3182 Call-ID: sdjfdjfskdf@biloxi.example.com 3183 CSeq: 42 MESSAGE 3184 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3185 Supported: replaces 3186 Content-Type: text/html 3187 Content-Length: ... 3189 Do you want to take this call from 3190 3191 3194 Alice? 3195 3196 3198 F6 200 OK Carol -> Bob 3200 SIP/2.0 200 OK 3201 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3202 ;branch=z9hG4bKnash 3203 ;received=192.0.2.113 3204 From: Bob ;tag=8675309 3205 To: Carol ;tag=5f35a3 3206 Call-ID: sdjfdjfskdf@biloxi.example.com 3207 CSeq: 42 MESSAGE 3208 Contact: 3209 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3210 Supported: replaces 3211 Content-Length: 0 3213 /* Carol takes the call from Bob */ 3215 F7 INVITE Carol -> Alice 3217 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 3218 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 3219 ;branch=z9hG4bK74HH 3220 Max-Forwards: 70 3221 From: Carol ;tag=8675310 3222 To: Alice 3223 Call-ID: 563456212@b2.chicago.example.com 3224 CSeq: 1 INVITE 3225 Require: replaces 3226 Replaces: 12345600@atlanta.example.com 3227 ;to-tag=3145678;from-tag=1234567 3229 Contact: 3230 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3231 Supported: replaces 3232 Content-Type: application/sdp 3233 Content-Length: ... 3235 v=0 3236 o=carol 2890843122 2890843122 IN IP4 client.chicago.example.com 3237 s= 3238 c=IN IP4 client.chicago.example.com 3239 t=0 0 3240 m=audio 5342 RTP/AVP 0 3241 a=rtpmap:0 PCMU/8000 3243 /* Alice matches the dialog information in the 3244 Replaces header and accepts the INVITE */ 3246 F8 200 OK Alice -> Carol 3248 SIP/2.0 200 OK 3249 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 3250 ;branch=z9hG4bK74HH 3251 ;received=192.0.2.114 3252 From: Carol ;tag=8675310 3253 To: Alice ;tag=131256 3254 Call-ID: 563456212@b2.chicago.example.com 3255 CSeq: 1 INVITE 3256 Contact: 3257 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3258 Supported: replaces, gruu 3259 Content-Type: application/sdp 3260 Content-Length: ... 3262 v=0 3263 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com 3264 s= 3265 c=IN IP4 client.atlanta.example.com 3266 t=0 0 3267 m=audio 49172 RTP/AVP 0 3268 a=rtpmap:0 PCMU/8000 3270 F9 ACK Carol -> Alice 3272 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 3273 Via: SIP/2.0/TLS b2.biloxi.example.com:5061 3274 ;branch=z9hG4bK7435 3276 Max-Forwards: 70 3277 From: Carol ;tag=8675310 3278 To: Alice ;tag=131256 3279 Call-ID: 563456212@b2.chicago.example.com 3280 CSeq: 1 ACK 3281 Content-Length: 0 3283 /* RTP streams are established between Alice and Carol. 3284 Alice Hangs Up with Bob due to the Replaces header field. */ 3286 F10 BYE Alice -> Bob 3288 BYE sips:bob@client.biloxi.example.com SIP/2.0 3289 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3290 ;branch=z9hG4bK74bf 3291 Max-Forwards: 70 3292 From: Alice ;tag=1234567 3293 To: Bob ;tag=3145678 3294 Call-ID: 12345600@atlanta.example.com 3295 CSeq: 2 BYE 3296 Content-Length: 0 3298 F11 200 OK Bob -> Alice 3300 SIP/2.0 200 OK 3301 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3302 ;branch=z9hG4bK74bf 3303 ;received=192.0.2.103 3304 From: Alice ;tag=1234567 3305 To: Bob ;tag=3145678 3306 Call-ID: 12345600@atlanta.example.com 3307 CSeq: 2 BYE 3308 Content-Length: 0 3310 2.7. Call Forwarding Unconditional 3312 Alice Proxy Gateway 3313 | | | 3314 | INVITE F1 | | 3315 |--------------->| | 3316 |(100 Trying) F2 | | 3317 |<---------------| | 3318 | (181 Call Is Being Forwarded) F3 3319 |<---------------| INVITE F4 | 3320 | |------------->| 3321 | |180 Ringing F5| 3322 | 180 Ringing F6 |<-------------| 3323 |<---------------| 200 OK F7 | 3324 | 200 OK F8 |<-------------| 3325 |<---------------| | 3326 | ACK F9 | | 3327 |--------------->| ACK F10 | 3328 | |------------->| 3329 | Both way RTP Established | 3330 |<=============================>| 3331 | BYE F11 | | 3332 |--------------->| BYE F12 | 3333 | |------------->| 3334 | | 200 OK F13 | 3335 | 200 OK F14 |<-------------| 3336 |<---------------| | 3337 | | | 3339 Bob wants all calls forwarded to the PSTN (which is just another URI 3340 to the proxy server). Alice calls Bob. The proxy server rewrites the 3341 Request URI, and forwards the INVITE to a Gateway. Details of 3342 messaging behind the Gateway are not shown. 3344 Note that the 181 Call is Being Forwarded response does not have a To 3345 tag added as the proxy does not wish to establish an early dialog 3346 with Alice. Strictly speaking, the proxy is behaving as a User Agent 3347 in this case as a proxy can not generate non-100 provisional 3348 responses. 3350 Note also that forwarding could be accomplished using a redirect (302 3351 Moved Temporarily response). 3353 Message Details 3355 F1 INVITE Alice -> Proxy 3356 INVITE sips:bob@biloxi.example.com SIP/2.0 3357 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3358 ;branch=z9hG4bK74bf9 3359 Max-Forwards: 70 3360 From: Alice ;tag=1234567 3361 To: Bob 3362 Call-ID: 12345600@atlanta.example.com 3363 CSeq: 1 INVITE 3364 Contact: 3365 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3366 Content-Type: application/sdp 3367 Content-Length: ... 3369 v=0 3370 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3371 s= 3372 c=IN IP4 client.atlanta.example.com 3373 t=0 0 3374 m=audio 49170 RTP/AVP 0 3375 a=rtpmap:0 PCMU/8000 3377 F2 (100 Trying) Proxy -> Alice 3379 SIP/2.0 100 Trying 3380 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3381 ;branch=z9hG4bK74bf9 3382 ;received=192.0.2.103 3383 From: Alice ;tag=1234567 3384 To: Bob 3385 Call-ID: 12345600@atlanta.example.com 3386 CSeq: 1 INVITE 3387 Content-Length: 0 3389 F3 (181 Call is Being Forwarded) Proxy -> Alice 3391 SIP/2.0 181 Call is Being Forwarded 3392 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3393 ;branch=z9hG4bK74bf9 3394 ;received=192.0.2.103 3395 From: Alice ;tag=1234567 3396 To: Bob ;tag=9214d 3397 Call-ID: 12345600@atlanta.example.com 3398 CSeq: 1 INVITE 3399 Content-Length: 0 3400 /* Proxy forwards call by rewriting Request-URI */ 3402 F4 INVITE Proxy -> Gateway 3404 INVITE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3405 Via: SIP/2.0/TLS ss1.example.com:5061 3406 ;branch=z9hG4bK83749.1 3407 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3408 ;branch=z9hG4bK74bf9 3409 ;received=192.0.2.103 3410 Record-Route: 3411 Max-Forwards: 69 3412 From: Alice ;tag=1234567 3413 To: Bob 3414 Call-ID: 12345600@atlanta.example.com 3415 CSeq: 1 INVITE 3416 Contact: 3417 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3418 Content-Type: application/sdp 3419 Content-Length: ... 3421 v=0 3422 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3423 s= 3424 c=IN IP4 client.atlanta.example.com 3425 t=0 0 3426 m=audio 49170 RTP/AVP 0 3427 a=rtpmap:0 PCMU/8000 3429 F5 180 Ringing Gateway -> Proxy 3431 SIP/2.0 180 Ringing 3432 Via: SIP/2.0/TLS ss1.example.com:5061 3433 ;branch=z9hG4bK83749.1 3434 ;received=192.0.2.54 3435 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3436 ;branch=z9hG4bK74bf9 3437 ;received=192.0.2.103 3438 Record-Route: 3439 From: Alice ;tag=1234567 3440 To: Bob ;tag=314159 3441 Call-ID: 12345600@atlanta.example.com 3442 CSeq: 1 INVITE 3443 Contact: 3444 Content Length:0 3445 F6 180 Ringing Proxy -> Alice 3447 SIP/2.0 180 Ringing 3448 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3449 ;branch=z9hG4bK74bf9 3450 ;received=192.0.2.103 3451 Record-Route: 3452 From: Alice ;tag=1234567 3453 To: Bob ;tag=314159 3454 Call-ID: 12345600@atlanta.example.com 3455 CSeq: 1 INVITE 3456 Contact: 3457 Content Length: 0 3459 F7 200 OK Gateway -> Proxy 3461 SIP/2.0 200 OK 3462 Via: SIP/2.0/TLS ss1.example.com:5061 3463 ;branch=z9hG4bK83749.1 3464 ;received=192.0.2.54 3465 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3466 ;branch=z9hG4bK74bf9 3467 ;received=192.0.2.103 3468 Record-Route: 3469 From: Alice ;tag=1234567 3470 To: Bob ;tag=314159 3471 Call-ID: 12345600@atlanta.example.com 3472 CSeq: 1 INVITE 3473 Contact: 3474 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3475 Content-Type: application/sdp 3476 Content-Length: ... 3478 v=0 3479 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com 3480 s= 3481 c=IN IP4 gatewayone.example.com 3482 t=0 0 3483 m=audio 3456 RTP/AVP 0 3484 a=rtpmap:0 PCMU/8000 3486 F8 200 OK Proxy -> Alice 3488 SIP/2.0 200 OK 3489 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3490 ;branch=z9hG4bK74bf9 3491 ;received=192.0.2.103 3492 Record-Route: 3493 From: Alice ;tag=1234567 3494 To: Bob ;tag=314159 3495 Call-ID: 12345600@atlanta.example.com 3496 CSeq: 1 INVITE 3497 Contact: 3498 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3499 Content-Type: application/sdp 3500 Content-Length: ... 3502 v=0 3503 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com 3504 s= 3505 c=IN IP4 gatewayone.example.com 3506 t=0 0 3507 m=audio 3456 RTP/AVP 0 3508 a=rtpmap:0 PCMU/8000 3510 F9 ACK Alice -> Proxy 3512 ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3513 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3514 ;branch=z9hG4bK74bf31 3515 Route: 3516 Max-Forwards: 70 3517 From: Alice ;tag=1234567 3518 To: Bob ;tag=314159 3519 Call-ID: 12345600@atlanta.example.com 3520 CSeq: 1 ACK 3521 Content-Length: 0 3523 F10 ACK Proxy -> Gateway 3525 ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3526 Via: SIP/2.0/TLS ss1.example.com:5061 3527 ;branch=z9hG4bK83749ws.1 3528 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3529 ;branch=z9hG4bK74bf31 3530 ;received=192.0.2.103 3531 Max-Forwards: 69 3532 From: Alice ;tag=1234567 3533 To: Bob ;tag=314159 3534 Call-ID: 12345600@atlanta.example.com 3535 CSeq: 1 ACK 3536 Content-Length: 0 3537 F11 BYE Alice -> Proxy 3539 BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3540 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3541 ;branch=z9hG4bK74bfJe 3542 Route: 3543 Max-Forwards: 70 3544 From: Alice ;tag=1234567 3545 To: Bob ;tag=314159 3546 Call-ID: 12345600@atlanta.example.com 3547 CSeq: 2 BYE 3548 Content-Length: 0 3550 F12 BYE Proxy -> Gateway 3552 BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3553 Via: SIP/2.0/TLS ss1.example.com:5061 3554 ;branch=z9hG4bK83749G1 3555 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3556 ;branch=z9hG4bK74bfJe 3557 ;received=192.0.2.103 3558 Max-Forwards: 69 3559 From: Alice ;tag=1234567 3560 To: Bob ;tag=314159 3561 Call-ID: 12345600@atlanta.example.com 3562 CSeq: 2 BYE 3563 Content-Length: 0 3565 F13 200 OK Gateway -> Proxy 3567 SIP/2.0 200 OK 3568 Via: SIP/2.0/TLS ss1.example.com:5061 3569 ;branch=z9hG4bK83749G1 3570 ;received=192.0.2.54 3571 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3572 ;branch=z9hG4bK74bfJe 3573 ;received=192.0.2.103 3574 From: Alice ;tag=1234567 3575 To: Bob ;tag=314159 3576 Call-ID: 12345600@atlanta.example.com 3577 CSeq: 2 BYE 3578 Content-Length: 0 3580 F14 200 OK Proxy -> Alice 3581 SIP/2.0 200 OK 3582 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3583 ;branch=z9hG4bK74bfJe 3584 ;received=192.0.2.103 3585 From: Alice ;tag=1234567 3586 To: Bob ;tag=314159 3587 Call-ID: 12345600@atlanta.example.com 3588 CSeq: 2 BYE 3589 Content-Length: 0 3591 2.8. Call Forwarding - Busy 3593 Alice Proxy User B1 User B2 3594 | | | | 3595 | INVITE F1 | | | 3596 |--------------->| INVITE F2 | | 3597 | |------------->| | 3598 |(100 Trying) F3 | | | 3599 |<---------------| 486 Busy F4 | | 3600 | |<-------------| | 3601 | | ACK F5 | | 3602 | |------------->| | 3603 |(181 Call is Being Forwarded) F6 | 3604 |<---------------| | INVITE F7 | 3605 | |--------------------------------->| 3606 | | | 180 Ringing F8 | 3607 | |<---------------------------------| 3608 | 180 Ringing F9 | | | 3609 |<---------------| | 200 OK F10 | 3610 | |<---------------------------------| 3611 | 200 OK F11 | | | 3612 |<---------------| | | 3613 | ACK F12 | | | 3614 |--------------->| | ACK F13 | 3615 | |--------------------------------->| 3616 | Both way RTP Established | 3617 |<=================================================>| 3618 | BYE F14 | | | 3619 |--------------->| | BYE F15 | 3620 | |--------------------------------->| 3621 | | | 200 OK F16 | 3622 | 200 OK F17 |<---------------------------------| 3623 |<---------------| | | 3624 | | | | 3626 Bob wants calls to B1 forwarded to B2 if B1 is busy (this information 3627 is known to the proxy). Alice calls B1, B1 is busy, the proxy server 3628 places call to B2. 3630 Message Details 3632 F1 INVITE Alice -> Proxy 3634 INVITE sips:bob@biloxi.example.com SIP/2.0 3635 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3636 ;branch=z9hG4bK74bf9 3637 Max-Forwards: 70 3638 From: Alice ;tag=1234567 3639 To: Bob 3640 Call-ID: 12345600@atlanta.example.com 3641 CSeq: 1 INVITE 3642 Contact: 3643 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3644 Content-Type: application/sdp 3645 Content-Length: ... 3647 v=0 3648 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3649 s= 3650 c=IN IP4 client.atlanta.example.com 3651 t=0 0 3652 m=audio 49170 RTP/AVP 0 3653 a=rtpmap:0 PCMU/8000 3655 F2 INVITE Proxy -> B1 3657 INVITE sips:bob@client.biloxi.example.com SIP/2.0 3658 Via: SIP/2.0/TLS ss1.example.com:5061 3659 ;branch=z9hG4bK83749.1 3660 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3661 ;branch=z9hG4bK74bf9 3662 ;received=192.0.2.103 3663 Record-Route: 3664 Max-Forwards: 69 3665 From: Alice ;tag=1234567 3666 To: Bob 3667 Call-ID: 12345600@atlanta.example.com 3668 CSeq: 1 INVITE 3669 Contact: 3670 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3671 Content-Type: application/sdp 3672 Content-Length: ... 3674 v=0 3675 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3676 s= 3677 c=IN IP4 client.atlanta.example.com 3678 t=0 0 3679 m=audio 49170 RTP/AVP 0 3680 a=rtpmap:0 PCMU/8000 3682 F3 (100 Trying) Proxy -> Alice 3684 SIP/2.0 100 Trying 3685 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3686 ;branch=z9hG4bK74bf9 3687 ;received=192.0.2.103 3688 From: Alice ;tag=1234567 3689 To: Bob 3690 Call-ID: 12345600@atlanta.example.com 3691 CSeq: 1 INVITE 3692 Content-Length: 0 3694 F4 486 Busy Here B1 -> Proxy 3696 SIP/2.0 486 Busy Here 3697 Via: SIP/2.0/TLS ss1.example.com:5061 3698 ;branch=z9hG4bK83749.1 3699 ;received=192.0.2.54 3700 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3701 ;branch=z9hG4bK74bf9 3702 ;received=192.0.2.103 3703 From: Alice ;tag=1234567 3704 To: Bob ;tag=765432 3705 Call-ID: 12345600@atlanta.example.com 3706 CSeq: 1 INVITE 3707 Content-Length: 0 3709 F5 ACK Proxy -> B1 3711 ACK sips:bob@client.biloxi.example.com SIP/2.0 3712 Via: SIP/2.0/TLS ss1.example.com:5061 3713 ;branch=z9hG4bK83749.1 3714 Max-Forwards: 70 3715 From: Alice ;tag=1234567 3716 To: Bob ;tag=765432 3717 Call-ID: 12345600@atlanta.example.com 3718 CSeq: 1 ACK 3719 Content-Length: 0 3721 F6 (181 Call is Being Forwarded) Proxy -> Alice 3723 SIP/2.0 181 Call is Being Forwarded 3724 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3725 ;branch=z9hG4bK74bf9 3726 ;received=192.0.2.103 3727 From: Alice ;tag=1234567 3728 To: Bob ;tag=9214d 3729 Call-ID: 12345600@atlanta.example.com 3730 CSeq: 1 INVITE 3731 Content-Length: 0 3733 /* The proxy now forwards the call to B2 */ 3735 F7 INVITE Proxy -> B2 3737 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 3738 Via: SIP/2.0/TLS ss1.example.com:5061 3739 ;branch=z9hG4bK83749.2 3740 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3741 ;branch=z9hG4bK74bf9 3742 ;received=192.0.2.103 3743 Record-Route: 3744 Max-Forwards: 69 3745 From: Alice ;tag=1234567 3746 To: Bob 3747 Call-ID: 12345600@atlanta.example.com 3748 CSeq: 1 INVITE 3749 Contact: 3750 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3751 Content-Type: application/sdp 3752 Content-Length: ... 3754 v=0 3755 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3756 s= 3757 c=IN IP4 client.atlanta.example.com 3758 t=0 0 3759 m=audio 49170 RTP/AVP 0 3760 a=rtpmap:0 PCMU/8000 3762 F8 180 Ringing B2 -> Proxy 3763 SIP/2.0 180 Ringing 3764 Via: SIP/2.0/TLS ss1.example.com:5061 3765 ;branch=z9hG4bK83749.2 3766 ;received=192.0.2.54 3767 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3768 ;branch=z9hG4bK74bf9 3769 ;received=192.0.2.103 3770 Record-Route: 3771 From: Alice ;tag=1234567 3772 To: Bob ;tag=7654321 3773 Call-ID: 12345600@atlanta.example.com 3774 CSeq: 1 INVITE 3775 Contact: 3776 Content-Length: 0 3778 F9 180 Ringing Proxy -> Alice 3780 SIP/2.0 180 Ringing 3781 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3782 ;branch=z9hG4bK74bf9 3783 ;received=192.0.2.103 3784 Record-Route: 3785 From: Alice ;tag=1234567 3786 To: Bob ;tag=7654321 3787 Call-ID: 12345600@atlanta.example.com 3788 CSeq: 1 INVITE 3789 Contact: 3790 Content-Length: 0 3792 F10 200 OK B2 -> Proxy 3794 SIP/2.0 200 OK 3795 Via: SIP/2.0/TLS ss1.example.com:5061 3796 ;branch=z9hG4bK83749.2 3797 ;received=192.0.2.54 3798 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3799 ;branch=z9hG4bK74bf9 3800 ;received=192.0.2.103 3801 Record-Route: 3802 From: Alice ;tag=1234567 3803 To: Bob ;tag=7654321 3804 Call-ID: 12345600@atlanta.example.com 3805 CSeq: 1 INVITE 3806 Contact: 3807 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3808 Content-Type: application/sdp 3809 Content-Length: ... 3811 v=0 3812 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 3813 s= 3814 c=IN IP4 client2.biloxi.example.com 3815 t=0 0 3816 m=audio 3456 RTP/AVP 0 3817 a=rtpmap:0 PCMU/8000 3819 F11 200 OK Proxy -> Alice 3821 SIP/2.0 200 OK 3822 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3823 ;branch=z9hG4bK74bf9 3824 ;received=192.0.2.103 3825 Record-Route: 3826 From: Alice ;tag=1234567 3827 To: Bob ;tag=7654321 3828 Call-ID: 12345600@atlanta.example.com 3829 CSeq: 1 INVITE 3830 Contact: 3831 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3832 Content-Type: application/sdp 3833 Content-Length: ... 3835 v=0 3836 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 3837 s= 3838 c=IN IP4 client2.biloxi.example.com 3839 t=0 0 3840 m=audio 3456 RTP/AVP 0 3841 a=rtpmap:0 PCMU/8000 3843 F12 ACK Alice -> Proxy 3845 ACK sips:bob@client2.biloxi.example.com SIP/2.0 3846 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3847 ;branch=z9hG4bK74bfX 3848 Route: 3849 Max-Forwards: 70 3850 From: Alice ;tag=1234567 3851 To: Bob ;tag=7654321 3852 Call-ID: 12345600@atlanta.example.com 3853 CSeq: 1 ACK 3854 Content-Length: 0 3855 F13 ACK Proxy -> B2 3857 ACK sips:bob@client2.biloxi.example.com SIP/2.0 3858 Via: SIP/2.0/TLS ss1.example.com:5061 3859 ;branch=z9hG4bK83731 3860 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3861 ;branch=z9hG4bK74bfX 3862 ;received=192.0.2.103 3863 Max-Forwards: 69 3864 From: Alice ;tag=1234567 3865 To: Bob ;tag=7654321 3866 Call-ID: 12345600@atlanta.example.com 3867 CSeq: 1 ACK 3868 Content-Length: 0 3870 /* RTP streams are established between A and B2 */ 3872 /* Alice eventually hangs up with User B2. */ 3874 F14 BYE Alice -> Proxy 3876 BYE sips:bob@client2.biloxi.example.com SIP/2.0 3877 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3878 ;branch=z9hG4bK74bW4 3879 Route: 3880 Max-Forwards: 70 3881 From: Alice ;tag=1234567 3882 To: Bob ;tag=7654321 3883 Call-ID: 12345600@atlanta.example.com 3884 CSeq: 2 BYE 3885 Content-Length: 0 3887 F15 BYE Proxy -> B2 3889 BYE sips:bob@client2.biloxi.example.com SIP/2.0 3890 Via: SIP/2.0/TLS ss1.example.com:5061 3891 ;branch=z9hG4bK837493 3892 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3893 ;branch=z9hG4bK74bW4 3894 ;received=192.0.2.103 3895 Max-Forwards: 69 3896 From: Alice ;tag=1234567 3897 To: Bob ;tag=7654321 3898 Call-ID: 12345600@atlanta.example.com 3899 CSeq: 2 BYE 3900 Content-Length: 0 3901 F16 200 OK B2 -> Proxy 3903 SIP/2.0 200 OK 3904 Via: SIP/2.0/TLS ss1.example.com:5061 3905 ;branch=z9hG4bK837493 3906 ;received=192.0.2.54 3907 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3908 ;branch=z9hG4bK74bW4 3909 ;received=192.0.2.103 3910 From: Alice ;tag=1234567 3911 To: Bob ;tag=7654321 3912 Call-ID: 12345600@atlanta.example.com 3913 CSeq: 2 BYE 3914 Content-Length: 0 3916 F17 200 OK Proxy -> Alice 3918 SIP/2.0 200 OK 3919 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3920 ;branch=z9hG4bK74bW4 3921 ;received=192.0.2.103 3922 From: Alice ;tag=1234567 3923 To: Bob ;tag=7654321 3924 Call-ID: 12345600@atlanta.example.com 3925 CSeq: 2 BYE 3926 Content-Length: 0 3928 2.9. Call Forwarding - No Answer 3930 Alice Proxy User B1 User B2 3931 | | | | 3932 | INVITE F1 | | | 3933 |--------------->| INVITE F2 | | 3934 |(100 Trying) F3 |------------->| | 3935 |<---------------|180 Ringing F4| | 3936 | 180 Ringing F5 |<-------------| | 3937 |<---------------| | | 3938 | Request Timeout | 3939 | | | | 3940 | | CANCEL F6 | | 3941 | |------------->| | 3942 | | 200 OK F7 | | 3943 | |<-------------| | 3944 | | 487 F8 | | 3945 | |<-------------| | 3946 | | ACK F9 | | 3947 | |------------->| | 3948 |(181 Call is Being Forwarded) F10 | 3949 |<---------------| | INVITE F11 | 3950 | |--------------------------------->| 3951 | | | 180 Ringing F12 | 3952 | 180 Ringing F13|<---------------------------------| 3953 |<---------------| | 200 OK F14 | 3954 | |<---------------------------------| 3955 | 200 OK F15 | | | 3956 |<---------------| | | 3957 | ACK F16 | | | 3958 |--------------->| | ACK F17 | 3959 | |--------------------------------->| 3960 | Both way RTP Established | 3961 |<=================================================>| 3962 | BYE F18 | | | 3963 |--------------->| | BYE F19 | 3964 | |--------------------------------->| 3965 | | | 200 OK F20 | 3966 | 200 OK F21 |<---------------------------------| 3967 |<---------------| | | 3968 | | | | 3970 Bob wants calls to B1 forwarded to B2 if B1 is not answered 3971 (information is known to the proxy server). Alice calls B1 and no 3972 one answers. The proxy server then places the call to B2. 3974 Message Details 3975 F1 INVITE Alice -> Proxy 3977 INVITE sips:bob@biloxi.example.com SIP/2.0 3978 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3979 ;branch=z9hG4bK74bf9 3980 Max-Forwards: 70 3981 From: Alice ;tag=1234567 3982 To: Bob 3983 Call-ID: 12345600@atlanta.example.com 3984 CSeq: 1 INVITE 3985 Contact: 3986 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3987 Content-Type: application/sdp 3988 Content-Length: ... 3990 v=0 3991 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3992 s= 3993 c=IN IP4 client.atlanta.example.com 3994 t=0 0 3995 m=audio 49170 RTP/AVP 0 3996 a=rtpmap:0 PCMU/8000 3998 F2 INVITE Proxy -> B1 4000 INVITE sips:bob@client.biloxi.example.com SIP/2.0 4001 Via: SIP/2.0/TLS ss1.example.com:5061 4002 ;branch=z9hG4bK83749.1 4003 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4004 ;branch=z9hG4bK74bf9 4005 ;received=192.0.2.103 4006 Record-Route: 4007 Max-Forwards: 69 4008 From: Alice ;tag=1234567 4009 To: Bob 4010 Call-ID: 12345600@atlanta.example.com 4011 CSeq: 1 INVITE 4012 Contact: 4013 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4014 Content-Type: application/sdp 4015 Content-Length: ... 4017 v=0 4018 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4019 s= 4020 c=IN IP4 client.atlanta.example.com 4021 t=0 0 4022 m=audio 49170 RTP/AVP 0 4023 a=rtpmap:0 PCMU/8000 4025 F3 (100 Trying) Proxy -> Alice 4027 SIP/2.0 100 Trying 4028 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4029 ;branch=z9hG4bK74bf9 4030 ;received=192.0.2.103 4031 From: Alice ;tag=1234567 4032 To: Bob 4033 Call-ID: 12345600@atlanta.example.com 4034 CSeq: 1 INVITE 4035 Content-Length: 0 4037 F4 180 Ringing B1 -> Proxy 4039 SIP/2.0 180 Ringing 4040 Via: SIP/2.0/TLS ss1.example.com:5061 4041 ;branch=z9hG4bK83749.1 4042 ;received=192.0.2.54 4043 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4044 ;branch=z9hG4bK74bf9 4045 ;received=192.0.2.103 4046 Record-Route: 4047 From: Alice ;tag=1234567 4048 To: Bob ;tag=3145678 4049 Call-ID: 12345600@atlanta.example.com 4050 CSeq: 1 INVITE 4051 Contact: 4052 Content-Length: 0 4054 F5 180 Ringing Proxy -> Alice 4056 SIP/2.0 180 Ringing 4057 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4058 ;branch=z9hG4bK74bf9 4059 ;received=192.0.2.103 4060 Record-Route: 4061 From: Alice ;tag=1234567 4062 To: Bob ;tag=3145678 4063 Call-ID: 12345600@atlanta.example.com 4064 CSeq: 1 INVITE 4065 Contact: 4066 Content-Length: 0 4067 /* B1 rings until a configurable timer expires in the Proxy. The 4068 Proxy sends Cancel and proceeds down the list of routes. */ 4070 F6 CANCEL Proxy -> B1 4072 CANCEL sips:bob@client.biloxi.example.com SIP/2.0 4073 Via: SIP/2.0/TLS ss1.example.com:5061 4074 ;branch=z9hG4bK83749.1 4075 Max-Forwards: 70 4076 From: Alice ;tag=1234567 4077 To: Bob 4078 Call-ID: 12345600@atlanta.example.com 4079 CSeq: 1 CANCEL 4080 Content-Length: 0 4082 F7 200 OK B1 -> Proxy 4084 SIP/2.0 200 OK 4085 Via: SIP/2.0/TLS ss1.example.com:5061 4086 ;branch=z9hG4bK83749.1 4087 ;received=192.0.2.54 4088 From: Alice ;tag=1234567 4089 To: Bob ;tag=329d823 4090 Call-ID: 12345600@atlanta.example.com 4091 CSeq: 1 CANCEL 4092 Content-Length: 0 4094 F8 487 Request Terminated B1 -> Proxy 4096 SIP/2.0 487 Request Terminated 4097 Via: SIP/2.0/TLS ss1.example.com:5061 4098 ;branch=z9hG4bK83749.1 4099 ;received=192.0.2.54 4100 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4101 ;branch=z9hG4bK74bf9 4102 ;received=192.0.2.103 4103 From: Alice ;tag=1234567 4104 To: Bob ;tag=3145678 4105 Call-ID: 12345600@atlanta.example.com 4106 CSeq: 1 INVITE 4107 Content-Length: 0 4109 F9 ACK Proxy -> B1 4111 ACK sips:bob@client.biloxi.example.com SIP/2.0 4112 Via: SIP/2.0/TLS ss1.example.com:5061 4113 ;branch=z9hG4bK83749.1 4114 Max-Forwards: 70 4115 From: Alice ;tag=1234567 4116 To: Bob ;tag=3145678 4117 Call-ID: 12345600@atlanta.example.com 4118 CSeq: 1 ACK 4119 Content-Length: 0 4121 F10 (181 Call is Being Forwarded) Proxy -> Alice 4123 SIP/2.0 181 Call is Being Forwarded 4124 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4125 ;branch=z9hG4bK74bf9 4126 ;received=192.0.2.103 4127 From: Alice ;tag=1234567 4128 To: Bob ;tag=9214d 4129 Call-ID: 12345600@atlanta.example.com 4130 CSeq: 1 INVITE 4131 Content-Length: 0 4133 F11 INVITE Proxy -> B2 4135 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 4136 Via: SIP/2.0/TLS ss1.example.com:5061 4137 ;branch=z9hG4bK83749.2 4138 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4139 ;branch=z9hG4bK74bf9 4140 ;received=192.0.2.103 4141 Record-Route: 4142 Max-Forwards: 69 4143 From: Alice ;tag=1234567 4144 To: Bob 4145 Call-ID: 12345600@atlanta.example.com 4146 CSeq: 1 INVITE 4147 Contact: 4148 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4149 Content-Type: application/sdp 4150 Content-Length: ... 4152 v=0 4153 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4154 s= 4155 c=IN IP4 client.atlanta.example.com 4156 t=0 0 4157 m=audio 49170 RTP/AVP 0 4158 a=rtpmap:0 PCMU/8000 4160 F12 180 Ringing B2 -> Proxy 4162 SIP/2.0 180 Ringing 4163 Via: SIP/2.0/TLS ss1.example.com:5061 4164 ;branch=z9hG4bK83749.2 4165 ;received=192.0.2.54 4166 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4167 ;branch=z9hG4bK74bf9 4168 ;received=192.0.2.103 4169 Record-Route: 4170 From: Alice ;tag=1234567 4171 To: Bob ;tag=765432 4172 Call-ID: 12345600@atlanta.example.com 4173 CSeq: 1 INVITE 4174 Contact: 4175 Content-Length: 0 4177 F13 180 Proxy -> Alice 4179 SIP/2.0 180 Ringing 4180 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4181 ;branch=z9hG4bK74bf9 4182 ;received=192.0.2.103 4183 Record-Route: 4184 From: Alice ;tag=1234567 4185 To: Bob ;tag=765432 4186 Call-ID: 12345600@atlanta.example.com 4187 CSeq: 1 INVITE 4188 Contact: 4189 Content-Length: 0 4191 F14 200 OK B2 -> Proxy 4193 SIP/2.0 200 OK 4194 Via: SIP/2.0/TLS ss1.example.com:5061 4195 ;branch=z9hG4bK83749.2 4196 ;received=192.0.2.54 4197 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4198 ;branch=z9hG4bK74bf9 4199 ;received=192.0.2.103 4200 Record-Route: 4201 From: Alice ;tag=1234567 4202 To: Bob ;tag=765432 4203 Call-ID: 12345600@atlanta.example.com 4204 CSeq: 1 INVITE 4205 Contact: 4206 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4207 Content-Type: application/sdp 4208 Content-Length: ... 4210 v=0 4211 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 4212 s= 4213 c=IN IP4 client2.biloxi.example.com 4214 t=0 0 4215 m=audio 3456 RTP/AVP 0 4216 a=rtpmap:0 PCMU/8000 4218 F15 200 OK Proxy -> Alice 4220 SIP/2.0 200 OK 4221 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4222 ;branch=z9hG4bK74bf9 4223 ;received=192.0.2.103 4224 Record-Route: 4225 From: Alice ;tag=1234567 4226 To: Bob ;tag=765432 4227 Call-ID: 12345600@atlanta.example.com 4228 CSeq: 1 INVITE 4229 Contact: 4230 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4231 Content-Type: application/sdp 4232 Content-Length: ... 4234 v=0 4235 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 4236 s= 4237 c=IN IP4 client2.biloxi.example.com 4238 t=0 0 4239 m=audio 3456 RTP/AVP 0 4240 a=rtpmap:0 PCMU/8000 4242 F16 ACK Alice -> Proxy 4244 ACK sips:bob@client2.biloxi.example.com SIP/2.0 4245 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4246 ;branch=z9hG4bK74bf3 4247 Route: 4248 Max-Forwards: 70 4249 From: Alice ;tag=1234567 4250 To: Bob ;tag=765432 4251 Call-ID: 12345600@atlanta.example.com 4252 CSeq: 1 ACK 4253 Content-Length: 0 4255 F17 ACK Proxy -> B2 4257 ACK sips:bob@client2.biloxi.example.com SIP/2.0 4258 Via: SIP/2.0/TLS ss1.example.com:5061 4259 ;branch=z9hG4bK8374.1 4260 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4261 ;branch=z9hG4bK74bf3 4262 ;received=192.0.2.103 4263 Max-Forwards: 69 4264 From: Alice ;tag=1234567 4265 To: Bob ;tag=765432 4266 Call-ID: 12345600@atlanta.example.com 4267 CSeq: 1 ACK 4268 Content-Length: 0 4270 /* RTP streams are established between A and B2. 4271 Alice Hangs Up with User B2. */ 4273 F18 BYE Alice -> Proxy 4275 BYE sips:bob@client2.biloxi.example.com SIP/2.0 4276 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4277 ;branch=z9hG4bK74b3f 4278 Route: 4279 Max-Forwards: 70 4280 From: Alice ;tag=1234567 4281 To: Bob ;tag=765432 4282 Call-ID: 12345600@atlanta.example.com 4283 CSeq: 2 BYE 4284 Content-Length: 0 4286 F19 BYE Proxy -> B2 4288 BYE sips:bob@client2.biloxi.example.com SIP/2.0 4289 Via: SIP/2.0/TLS ss1.example.com:5061 4290 ;branch=z9hG4bK837.1 4291 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4292 ;branch=z9hG4bK74b3f 4293 ;received=192.0.2.103 4295 Max-Forwards: 69 4296 From: Alice ;tag=1234567 4297 To: Bob ;tag=765432 4298 Call-ID: 12345600@atlanta.example.com 4299 CSeq: 2 BYE 4300 Content-Length: 0 4302 F20 200 OK B2 -> Proxy 4304 SIP/2.0 200 OK 4305 Via: SIP/2.0/TLS ss1.example.com:5061 4306 ;branch=z9hG4bK837.1 4307 ;received=192.0.2.54 4308 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4309 ;branch=z9hG4bK74b3f 4310 ;received=192.0.2.103 4311 From: Alice ;tag=1234567 4312 To: Bob ;tag=765432 4313 Call-ID: 12345600@atlanta.example.com 4314 CSeq: 2 BYE 4315 Content-Length: 0 4317 F21 200 OK Proxy -> Alice 4319 SIP/2.0 200 OK 4320 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4321 ;branch=z9hG4bK74b3f 4322 ;received=192.0.2.103 4323 From: Alice ;tag=1234567 4324 To: Bob ;tag=765432 4325 Call-ID: 12345600@atlanta.example.com 4326 CSeq: 2 BYE 4327 Content-Length: 0 4329 2.10. 3-way Conference - Third Party is Added 4331 Alice Bob Carol 4332 | INVITE F1 | | 4333 |--------------->| | 4334 | 180 Ringing F2 | | 4335 |<---------------| | 4336 | 200 OK F3 | | 4337 |<---------------| | 4338 | ACK F4 | | 4339 |--------------->| | 4340 | RTP | | 4341 |<==============>| | 4342 | INVITE F5 | | 4343 |<---------------| | 4344 | 200 OK F6 | | 4345 |--------------->| | 4346 | ACK F7 | | 4347 |<---------------| INVITE F8 | 4348 | |------------->| 4349 | | 180 F9 | 4350 | |<-------------| 4351 | | 200 OK F10 | 4352 | |<-------------| 4353 | | ACK F11 | 4354 | |------------->| 4355 | | RTP | 4356 | |<============>| 4358 In this scenario, Alice and Bob are in a 2-party call (session) when 4359 Bob wishes to add Carol into the conversation. Bob is capable of 4360 media mixing in a 3-party call. Bob first sends a re-INVITE to Alice 4361 changing Contact URIs to one that indicates Bob's mixer and acts like 4362 a focus. As a result, Bob includes the "isfocus" feature tag [8] as 4363 described in [9]. Bob then INVITEs Carol using the same Contact URI. 4364 Note that Bob could wait to re-INVITE Alice until after Carol has 4365 answered. Bob could also put Alice on hold before calling Carol 4367 Message Details 4369 F1 INVITE Alice -> Bob 4371 INVITE sips:bob@biloxi.example.com SIP/2.0 4372 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4373 ;branch=z9hG4bK74bf9 4374 Max-Forwards: 70 4375 From: Alice ;tag=1234567 4376 To: Bob 4377 Call-ID: 12345600@atlanta.example.com 4378 CSeq: 1 INVITE 4379 Contact: 4380 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4381 Supported: replaces 4382 Content-Type: application/sdp 4383 Content-Length: ... 4385 v=0 4386 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4387 s= 4388 c=IN IP4 client.atlanta.example.com 4389 t=0 0 4390 m=audio 49170 RTP/AVP 0 4391 a=rtpmap:0 PCMU/8000 4393 F2 180 Ringing Bob -> Alice 4395 SIP/2.0 180 Ringing 4396 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4397 ;branch=z9hG4bK74bf9 4398 ;received=192.0.2.103 4399 From: Alice ;tag=1234567 4400 To: Bob ;tag=23431 4401 Call-ID: 12345600@atlanta.example.com 4402 CSeq: 1 INVITE 4403 Contact: 4404 Content-Length: 0 4406 F3 200 OK Bob -> Alice 4408 SIP/2.0 200 OK 4410 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4411 ;branch=z9hG4bK74bf9 4412 ;received=192.0.2.103 4413 From: Alice ;tag=1234567 4414 To: Bob ;tag=23431 4415 Call-ID: 12345600@atlanta.example.com 4416 CSeq: 1 INVITE 4417 Contact: 4418 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4419 Supported: replaces, gruu 4420 Content-Type: application/sdp 4421 Content-Length: ... 4423 v=0 4424 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 4425 s= 4426 c=IN IP4 client.biloxi.example.com 4427 t=0 0 4428 m=audio 3456 RTP/AVP 0 4429 a=rtpmap:0 PCMU/8000 4431 F4 ACK Alice -> Bob 4433 ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 4434 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4435 ;branch=z9hG4bK74bfL 4436 Max-Forwards: 70 4437 From: Alice ;tag=1234567 4438 To: Bob ;tag=23431 4439 Call-ID: 12345600@atlanta.example.com 4440 CSeq: 1 ACK 4441 Content-Length: 0 4443 /* Alice and Bob have established a session. 4444 Bob re-INVITEs changing Contact URIs */ 4446 F5 INVITE Bob -> Alice 4448 INVITE sips:alice@client.atlanta.example.com SIP/2.0 4449 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4450 ;branch=z9hG4bKnashds 4451 Max-Forwards: 70 4452 From: Bob ;tag=23431 4453 To: Alice ;tag=1234567 4454 Call-ID: 12345600@atlanta.example.com 4455 CSeq: 1024 INVITE 4456 Contact: ;isfocus 4457 Content-Type: application/sdp 4458 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4459 Supported: replaces, gruu 4460 Content-Length: ... 4462 v=0 4463 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 4464 s= 4465 c=IN IP4 client.biloxi.example.com 4466 t=0 0 4467 m=audio 49172 RTP/AVP 0 4468 a=rtpmap:0 PCMU/8000 4470 F6 200 OK Alice -> Bob 4472 SIP/2.0 200 OK 4474 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4475 ;branch=z9hG4bKnashds7 4476 ;received=192.0.2.113 4477 From: Bob ;tag=23431 4478 To: Alice ;tag=1234567 4479 Call-ID: 12345600@atlanta.example.com 4480 CSeq: 1024 INVITE 4481 Contact: 4482 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4483 Supported: replaces 4484 Content-Type: application/sdp 4485 Content-Length: ... 4487 v=0 4488 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4489 s= 4490 c=IN IP4 client.atlanta.example.com 4491 t=0 0 4492 m=audio 49170 RTP/AVP 0 4493 a=rtpmap:0 PCMU/8000 4495 F7 ACK Bob -> Alice 4497 ACK sips:alice@client.atlanta.example.com SIP/2.0 4498 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4499 ;branch=z9hG4bKnash3G 4500 Max-Forwards: 70 4501 From: Bob ;tag=23431 4502 To: Alice ;tag=1234567 4503 Call-ID: 12345600@atlanta.example.com 4504 CSeq: 1024 ACK 4505 Content-Length: 0 4507 /* Bob calls Carol */ 4509 F8 INVITE Bob -> Carol 4511 INVITE sips:carol@chicago.example.com SIP/2.0 4512 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4513 ;branch=z9hG4bKnashJfd 4514 Max-Forwards: 70 4515 From: Bob ;tag=8675309 4516 To: Carol 4517 Call-ID: sdjfdjfskdf@biloxi.example.com 4518 CSeq: 42 INVITE 4519 Contact: ;isfocus 4520 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4521 Supported: replaces, gruu 4522 Content-Type: application/sdp 4523 Content-Length: ... 4525 v=0 4526 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 4527 s= 4528 c=IN IP4 client.biloxi.example.com 4529 t=0 0 4530 m=audio 48174 RTP/AVP 0 4531 a=rtpmap:0 PCMU/8000 4533 F9 180 Ringing Carol -> Bob 4535 SIP/2.0 200 OK 4536 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4537 ;branch=z9hG4bKnashJfd 4538 ;received=192.0.2.113 4539 From: Bob ;tag=8675309 4540 To: Carol ;tag=341313 4541 Call-ID: sdjfdjfskdf@biloxi.example.com 4542 CSeq: 42 INVITE 4543 Contact: 4544 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4545 Supported: replaces 4546 Content-Length: 0 4548 F10 200 OK Carol -> Bob 4550 SIP/2.0 200 OK 4551 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4552 ;branch=z9hG4bKnashJfd 4553 ;received=192.0.2.113 4554 From: Bob ;tag=8675309 4555 To: Carol ;tag=341313 4556 Call-ID: sdjfdjfskdf@biloxi.example.com 4557 CSeq: 42 INVITE 4558 Contact: 4559 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4560 Supported: replaces 4561 Content-Type: application/sdp 4562 Content-Length: ... 4564 v=0 4565 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 4566 s= 4567 c=IN IP4 client.chicago.example.com 4568 t=0 0 4569 m=audio 3456 RTP/AVP 0 4570 a=rtpmap:0 PCMU/8000 4572 F11 ACK Bob -> Carol 4574 ACK sips:carol@client.chicago.example.com SIP/2.0 4575 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4576 ;branch=z9hG4bKnash431 4577 Max-Forwards: 70 4578 From: Bob ;tag=8675309 4579 To: Carol ;tag=341313 4580 Call-ID: sdjfdjfskdf@biloxi.example.com 4581 CSeq: 42 ACK 4582 Content-Length: 0 4584 /* User B's mixer know mixes media from both A and C 4585 to create the 3-way conference. */ 4587 2.11. 3-way Conference - Third Party Joins 4589 Alice Bob Carol 4590 | INVITE F1 | | 4591 |--------------->| | 4592 | 180 Ringing F2 | | 4593 |<---------------| | 4594 | 200 OK F3 | | 4595 |<---------------| | 4596 | ACK F4 | | 4597 |--------------->| | 4598 | RTP | | 4599 |<==============>| INVITE Join:A-B F5 4600 | |<-------------| 4601 | | 180 F6 | 4602 | |------------->| 4603 | INVITE F7 | | 4604 |<---------------| | 4605 | 200 OK F8 | | 4606 |--------------->| | 4607 | ACK F9 | | 4608 |<---------------| | 4609 | | 200 OK F10 | 4610 | |------------->| 4611 | | ACK F11 | 4612 | |<-------------| 4613 | | RTP | 4614 | |<============>| 4616 In this scenario, Alice and Bob are in a 2 party call and Carol 4617 wishes to join resulting in a three party call. Carol could have 4618 learned Bob's dialog identifier using some non-SIP means, or possibly 4619 from a NOTIFY with the dialog package sent by Bob. Carol sends an 4620 INVITE to Bob containing a Join header identifying the dialog between 4621 Alice and Bob. Bob re-INVITEs Alice to switch to focus mode and 4622 includes the "isfocus" feature tag [8] as described in [9]. Bob then 4623 accepts the INVITE from Carol, resulting in the 3-way call. 4625 Message Details 4627 F1 INVITE Alice -> Bob 4629 INVITE sips:bob@biloxi.example.com SIP/2.0 4630 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4631 ;branch=z9hG4bK74bf9 4633 Max-Forwards: 70 4634 From: Alice ;tag=1234567 4635 To: Bob 4636 Call-ID: 12345600@atlanta.example.com 4637 CSeq: 1 INVITE 4638 Contact: 4639 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4640 Supported: replaces 4641 Content-Type: application/sdp 4642 Content-Length: ... 4644 v=0 4645 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4646 s= 4647 c=IN IP4 client.atlanta.example.com 4648 t=0 0 4649 m=audio 49170 RTP/AVP 0 4650 a=rtpmap:0 PCMU/8000 4652 F2 180 Ringing Bob -> Alice 4654 SIP/2.0 180 Ringing 4655 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4656 ;branch=z9hG4bK74bf9 4657 ;received=192.0.2.103 4658 From: Alice ;tag=1234567 4659 To: Bob ;tag=23431 4660 Call-ID: 12345600@atlanta.example.com 4661 CSeq: 1 INVITE 4662 Contact: 4663 Content-Length: 0 4665 F3 200 OK Bob -> Alice 4667 SIP/2.0 200 OK 4668 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4669 ;branch=z9hG4bK74bf9 4670 ;received=192.0.2.103 4671 From: Alice ;tag=1234567 4672 To: Bob ;tag=23431 4673 Call-ID: 12345600@atlanta.example.com 4674 CSeq: 1 INVITE 4675 Contact: 4676 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4677 Supported: replaces, join, gruu 4678 Content-Type: application/sdp 4679 Content-Length: ... 4681 v=0 4682 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 4683 s= 4684 c=IN IP4 client.biloxi.example.com 4685 t=0 0 4686 m=audio 3456 RTP/AVP 0 4687 a=rtpmap:0 PCMU/8000 4689 F4 ACK Alice -> Bob 4691 ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 4692 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4693 ;branch=z9hG4bK74bf6 4694 Max-Forwards: 70 4695 From: Alice ;tag=1234567 4696 To: Bob ;tag=23431 4697 Call-ID: 12345600@atlanta.example.com 4698 CSeq: 1 ACK 4699 Content-Length: 0 4701 /* Alice and Bob have established a session. 4702 Carol requests to join the session */ 4704 F5 INVITE Carol -> Bob 4706 INVITE sips:bob@biloxi.example.com SIP/2.0 4707 Via: SIP/2.0/TLS chicago.example.com:5061 4708 ;branch=z9hG4bKnashds7 4709 Max-Forwards: 70 4710 From: Carol ;tag=8675309 4711 To: Bob 4712 Call-ID: 452k499sk@chicago.example.com 4713 CSeq: 99 INVITE 4714 Contact: 4715 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4716 Supported: replaces, join 4717 Join: 12345600@atlanta.example.com;from-tag=1234567;to-tag=23431 4718 Content-Type: application/sdp 4719 Content-Length: ... 4721 v=0 4722 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 4723 s= 4724 c=IN IP4 client.chicago.example.com 4725 t=0 0 4726 m=audio 3456 RTP/AVP 0 4727 a=rtpmap:0 PCMU/8000 4729 F6 180 Ringing Bob -> Carol 4731 SIP/2.0 180 Ringing 4732 Via: SIP/2.0/TLS chicago.example.com:5061 4733 ;branch=z9hG4bKnashds7 4734 ;received=120. 4735 From: Carol ;tag=8675309 4736 To: Bob ;tag=0982 4737 Call-ID: 452k499sk@chicago.example.com 4738 CSeq: 99 INVITE 4739 Contact: ;isfocus 4740 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4741 Supported: replaces 4742 Content-Length: 0 4744 F7 INVITE Bob -> Alice 4746 INVITE sips:alice@client.atlanta.example.com SIP/2.0 4747 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4748 ;branch=z9hG4bKnashdyKL 4749 Max-Forwards: 70 4750 From: Bob ;tag=23431 4751 To: Alice ;tag=1234567 4752 Call-ID: 12345600@atlanta.example.com 4753 CSeq: 1024 INVITE 4754 Contact: ;isfocus 4755 Content-Type: application/sdp 4756 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4757 Supported: replaces, join, gruu 4758 Content-Length: ... 4760 v=0 4761 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 4762 s= 4763 c=IN IP4 client.biloxi.example.com 4764 t=0 0 4765 m=audio 49172 RTP/AVP 0 4766 a=rtpmap:0 PCMU/8000 4768 F8 200 OK Alice -> Bob 4769 SIP/2.0 200 OK 4770 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4771 ;branch=z9hG4bKnashdyKL 4772 ;received=192.0.2.113 4773 From: Bob ;tag=23431 4774 To: Alice ;tag=1234567 4775 Call-ID: 12345600@atlanta.example.com 4776 CSeq: 1024 INVITE 4777 Contact: 4778 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4779 Supported: replaces 4780 Content-Type: application/sdp 4781 Content-Length: ... 4783 v=0 4784 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4785 s= 4786 c=IN IP4 client.atlanta.example.com 4787 t=0 0 4788 m=audio 49170 RTP/AVP 0 4789 a=rtpmap:0 PCMU/8000 4791 F9 ACK Bob -> Alice 4793 ACK sips:alice@client.atlanta.example.com SIP/2.0 4794 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4795 ;branch=z9hG4bKnash3g 4796 Max-Forwards: 70 4797 From: Bob ;tag=23431 4798 To: Alice ;tag=1234567 4799 Call-ID: 12345600@atlanta.example.com 4800 CSeq: 1024 ACK 4801 Content-Length: 0 4803 F10 200 OK Bob -> Carol 4805 SIP/2.0 200 OK 4806 Via: SIP/2.0/TLS chicago.example.com:5061 4807 ;branch=z9hG4bKnashds7 4808 ;received=120. 4809 From: Carol ;tag=8675309 4810 To: Bob ;tag=0982 4811 Call-ID: 452k499sk@chicago.example.com 4812 CSeq: 99 INVITE 4813 Contact: ;isfocus 4814 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4815 Supported: replaces, join, gruu 4816 Content-Type: application/sdp 4817 Content-Length: ... 4819 v=0 4820 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 4821 s= 4822 c=IN IP4 client.biloxi.example.com 4823 t=0 0 4824 m=audio 48174 RTP/AVP 0 4825 a=rtpmap:0 PCMU/8000 4827 F11 ACK OK Carol -> Bob 4829 ACK sips:bob-Mixer@client.biloxi.example.com SIP/2.0 4830 Via: SIP/2.0/TLS chicago.example.com:5061 4831 ;branch=z9hG4bKnash4Gf 4832 Max-Forwards: 70 4833 From: Carol ;tag=8675309 4834 To: Bob ;tag=0982 4835 Call-ID: 452k499sk@chicago.example.com 4836 CSeq: 99 ACK 4837 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4838 Supported: replaces, join 4839 Content-Length:0 4841 2.12. Find-Me 4843 Alice Proxy User User User User 4844 B1 B2 B3 B4 4845 | | | | | | 4846 | INVITE F1 | | | | | 4847 |--------------->| INVITE F2 | | | | 4848 | |------------->| | | | 4849 |(100 Trying) F3 | | | | | 4850 |<---------------|180 Ringing F4| | | | 4851 | |<-------------| | | | 4852 | 180 Ringing F5 | | | | | 4853 |<---------------| | | | | 4854 | | Timeout | | | | 4855 | | | | | | 4856 | | CANCEL F6 | | | | 4857 | |------------->| | | | 4858 | | 200 OK F7 | | | | 4859 | |<-------------| | | | 4860 | | 487 F8 | | | | 4861 | |<-------------| | | | 4862 | | ACK F9 | | | | 4863 | |------------->| | | | 4864 | | INVITE F10 | | | 4865 | |-------------------->| | | 4866 | |480 Not Logged In F11| | | 4867 | |<--------------------| | | 4868 | | ACK F12| | | 4869 | |-------------------->| | | 4870 | | INVITE F13 | | 4871 | |--------------------------->| | 4872 | | 486 Busy Here F14 | | 4873 | |<---------------------------| | 4874 | | ACK F15 | | 4875 | |--------------------------->| | 4876 | | INVITE F16 | 4877 | |---------------------------------->| 4878 | | 180 Ringing F17 | 4879 | 180 F18 |<----------------------------------| 4880 |<---------------| 200 OK F19 | 4881 | 200 OK F20 |<----------------------------------| 4882 |<---------------| | 4883 | ACK F21 | | 4884 |--------------->| ACK F22 | 4885 | |---------------------------------->| 4886 | Both way RTP Established | 4887 |<==================================================>| 4888 | | BYE F23 | 4889 | BYE F24 |<----------------------------------| 4890 |<---------------| | 4891 | 200 OK F25 | | 4892 |--------------->| 200 OK F26 | 4893 | |---------------------------------->| 4894 | | | 4896 Alice's call to Bob will result in an attempt to locate that user by 4897 calling locations from a list of contacts. The location to answer 4898 the call becomes the active set, no other sets may join the call. 4900 While this flow shows a sequential search, the search could be 4901 accomplished using parallel forking, as in the previous example. 4903 Message Details 4905 F1 INVITE Alice -> Proxy 4906 INVITE sips:bob@biloxi.example.com SIP/2.0 4907 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4908 ;branch=z9hG4bK74bf9 4909 Max-Forwards: 70 4910 From: Alice ;tag=1234567 4911 To: Bob 4912 Call-ID: 12345600@atlanta.example.com 4913 CSeq: 1 INVITE 4914 Contact: 4915 Content-Type: application/sdp 4916 Content-Length: ... 4918 v=0 4919 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4920 s= 4921 c=IN IP4 client.atlanta.example.com 4922 t= 0 0 4923 m=audio 49170 RTP/AVP 0 4924 a=rtpmap:0 PCMU/8000 4926 F2 INVITE Proxy -> B1 4928 INVITE sips:bob@client.biloxi.example.com SIP/2.0 4929 Via: SIP/2.0/TLS ss1.example.com:5061 4930 ;branch=z9hG4bK83749.1 4931 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4932 ;branch=z9hG4bK74bf9 4933 ;received=192.0.2.103 4934 Record-Route: 4935 Max-Forwards: 69 4936 From: Alice ;tag=1234567 4937 To: Bob 4938 Call-ID: 12345600@atlanta.example.com 4939 CSeq: 1 INVITE 4940 Contact: 4941 Content-Type: application/sdp 4942 Content-Length: ... 4944 v=0 4945 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4946 s= 4947 c=IN IP4 client.atlanta.example.com 4948 t= 0 0 4949 m=audio 49170 RTP/AVP 0 4950 a=rtpmap:0 PCMU/8000 4951 F3 (100 Trying) Proxy -> Alice 4953 SIP/2.0 100 Trying 4954 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4955 ;branch=z9hG4bK74bf9 4956 ;received=192.0.2.103 4957 From: Alice ;tag=1234567 4958 To: Bob 4959 Call-ID: 12345600@atlanta.example.com 4960 CSeq: 1 INVITE 4961 Content-Length: 0 4963 F4 180 Ringing B1 -> Proxy 4965 SIP/2.0 180 Ringing 4966 Via: SIP/2.0/TLS ss1.example.com:5061 4967 ;branch=z9hG4bK83749.1 4968 ;received=192.0.2.54 4969 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4970 ;branch=z9hG4bK74bf9 4971 ;received=192.0.2.103 4972 Record-Route: 4973 From: Alice ;tag=1234567 4974 To: Bob ;tag=765432 4975 Call-ID: 12345600@atlanta.example.com 4976 CSeq: 1 INVITE 4977 Contact: 4978 Content-Length: 0 4980 F5 180 Ringing Proxy -> Alice 4982 SIP/2.0 180 Ringing 4983 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4984 ;branch=z9hG4bK74bf9 4985 ;received=192.0.2.103 4986 Record-Route: 4987 From: Alice ;tag=1234567 4988 To: Bob ;tag=765432 4989 Call-ID: 12345600@atlanta.example.com 4990 CSeq: 1 INVITE 4991 Contact: 4992 Content-Length: 0 4994 /* B1 rings until a configurable timer in the Proxy 4995 expires. The Proxy then sends Cancel and proceeds down 4996 the list of routes. */ 4998 F6 CANCEL Proxy -> B1 5000 CANCEL sips:bob@client.biloxi.example.com SIP/2.0 5001 Via: SIP/2.0/TLS ss1.example.com:5061 5002 ;branch=z9hG4bK83749.1 5003 Max-Forwards: 70 5004 From: Alice ;tag=1234567 5005 To: Bob 5006 Call-ID: 12345600@atlanta.example.com 5007 CSeq: 1 CANCEL 5008 Content-Length: 0 5010 F7 200 OK B1 -> Proxy 5012 SIP/2.0 200 OK 5013 Via: SIP/2.0/TLS ss1.example.com:5061 5014 ;branch=z9hG4bK83749.1 5015 ;received=192.0.2.54 5016 From: Alice ;tag=1234567 5017 To: Bob ;tag=765432 5018 Call-ID: 12345600@atlanta.example.com 5019 CSeq: 1 CANCEL 5020 Content-Length: 0 5022 F8 487 Request Terminated B1 -> Proxy 5024 SIP/2.0 487 Request Terminated 5025 Via: SIP/2.0/TLS ss1.example.com:5061 5026 ;branch=z9hG4bK83749.1 5027 ;received=192.0.2.54 5028 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5029 ;branch=z9hG4bK74bf9 5030 ;received=192.0.2.103 5031 From: Alice ;tag=1234567 5032 To: Bob ;tag=765432 5033 Call-ID: 12345600@atlanta.example.com 5034 CSeq: 1 INVITE 5035 Content-Length: 0 5037 F9 ACK Proxy -> B1 5039 ACK sips:bob@client.biloxi.example.com SIP/2.0 5040 Via: SIP/2.0/TLS ss1.example.com:5061 5041 ;branch=z9hG4bK83749.1 5042 Max-Forwards: 70 5043 From: Alice ;tag=1234567 5044 To: Bob ;tag=765432 5045 Call-ID: 12345600@atlanta.example.com 5046 CSeq: 1 ACK 5047 Content-Length: 0 5049 F10 INVITE Proxy -> B2 5051 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 5052 Via: SIP/2.0/TLS ss1.example.com:5061 5053 ;branch=z9hG4bK83749.2 5054 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5055 ;branch=z9hG4bK74bf9 5056 ;received=192.0.2.103 5057 Record-Route: 5058 Max-Forwards: 69 5059 From: Alice ;tag=1234567 5060 To: Bob 5061 Call-ID: 12345600@atlanta.example.com 5062 CSeq: 1 INVITE 5063 Contact: 5064 Content-Type: application/sdp 5065 Content-Length: ... 5067 v=0 5068 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5069 s= 5070 c=IN IP4 client.atlanta.example.com 5071 t=0 0 5072 m=audio 49170 RTP/AVP 0 5073 a=rtpmap:0 PCMU/8000 5075 F11 480 Not Logged In B2 -> Proxy 5077 SIP/2.0 480 Not Logged In 5078 Via: SIP/2.0/TLS ss1.example.com:5061 5079 ;branch=z9hG4bK83749.2 5080 ;received=192.0.2.54 5081 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5082 ;branch=z9hG4bK74bf9 5083 ;received=192.0.2.103 5084 From: Alice ;tag=1234567 5085 To: Bob ;tag=314756 5086 Call-ID: 12345600@atlanta.example.com 5087 CSeq: 1 INVITE 5088 Content-Length: 0 5090 F12 ACK Proxy -> B2 5092 ACK sips:bob@client2.biloxi.example.com SIP/2.0 5093 Via: SIP/2.0/TLS ss1.example.com:5061 5094 ;branch=z9hG4bK83749.2 5095 Max-Forwards: 70 5096 From: Alice ;tag=1234567 5097 To: Bob ;tag=314756 5098 Call-ID: 12345600@atlanta.example.com 5099 CSeq: 1 ACK 5100 Content-Length: 0 5102 F13 INVITE Proxy -> B3 5104 INVITE sips:bob@client3.biloxi.example.com SIP/2.0 5105 Via: SIP/2.0/TLS ss1.example.com:5061 5106 ;branch=z9hG4bK83749.3 5107 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5108 ;branch=z9hG4bK74bf9 5109 ;received=192.0.2.103 5110 Record-Route: 5111 Max-Forwards: 69 5112 From: Alice ;tag=1234567 5113 To: Bob 5114 Call-ID: 12345600@atlanta.example.com 5115 CSeq: 1 INVITE 5116 Contact: 5117 Content-Type: application/sdp 5118 Content-Length: ... 5120 v=0 5121 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5122 s= 5123 c=IN IP4 client.atlanta.example.com 5124 t=0 0 5125 m=audio 49170 RTP/AVP 0 5126 a=rtpmap:0 PCMU/8000 5128 F14 486 Busy Here B3 -> Proxy 5130 SIP/2.0 486 Busy Here 5131 Via: SIP/2.0/TLS ss1.example.com:5061 5132 ;branch=z9hG4bK83749.3 5133 ;received=192.0.2.54 5134 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5135 ;branch=z9hG4bK74bf9 5136 ;received=192.0.2.103 5137 From: Alice ;tag=1234567 5138 To: Bob ;tag=7654321 5139 Call-ID: 12345600@atlanta.example.com 5140 CSeq: 1 INVITE 5141 Content-Length: 0 5143 F15 ACK Proxy -> B3 5145 ACK sips:bob@client3.biloxi.example.com SIP/2.0 5146 Via: SIP/2.0/TLS ss1.example.com:5061 5147 ;branch=z9hG4bK83749.3 5148 Max-Forwards: 70 5149 From: Alice ;tag=1234567 5150 To: Bob ;tag=7654321 5151 Call-ID: 12345600@atlanta.example.com 5152 CSeq: 1 ACK 5153 Content-Length: 0 5155 F16 INVITE Proxy -> B4 5157 INVITE sips:bob@client4.biloxi.example.com SIP/2.0 5158 Via: SIP/2.0/TLS ss1.example.com:5061 5159 ;branch=z9hG4bK83749.4 5160 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5161 ;branch=z9hG4bK74bf9 5162 ;received=192.0.2.103 5163 Record-Route: 5164 Max-Forwards: 69 5165 From: Alice ;tag=1234567 5166 To: Bob 5167 Call-ID: 12345600@atlanta.example.com 5168 CSeq: 1 INVITE 5169 Contact: 5170 Content-Type: application/sdp 5171 Content-Length: ... 5173 v=0 5174 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5175 s= 5176 c=IN IP4 client.atlanta.example.com 5177 t=0 0 5178 m=audio 49170 RTP/AVP 0 5179 a=rtpmap:0 PCMU/8000 5181 F17 180 Ringing B4 -> Proxy 5183 SIP/2.0 180 Ringing 5184 Via: SIP/2.0/TLS ss1.example.com:5061 5185 ;branch=z9hG4bK83749.4 5186 ;received=192.0.2.54 5187 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5188 ;branch=z9hG4bK74bf9 5189 ;received=192.0.2.103 5190 Record-Route: 5191 From: Alice ;tag=1234567 5192 To: Bob ;tag=7137136 5193 Call-ID: 12345600@atlanta.example.com 5194 CSeq: 1 INVITE 5195 Contact: 5196 Content-Length: 0 5198 F18 180 Ringing Proxy -> Alice 5200 SIP/2.0 180 Ringing 5201 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5202 ;branch=z9hG4bK74bf9 5203 ;received=192.0.2.103 5204 Record-Route: 5205 From: Alice ;tag=1234567 5206 To: Bob ;tag=7137136 5207 Call-ID: 12345600@atlanta.example.com 5208 CSeq: 1 INVITE 5209 Contact: 5210 Content-Length: 0 5212 F19 200 OK B4 -> Proxy 5214 SIP/2.0 200 OK 5215 Via: SIP/2.0/TLS ss1.example.com:5061 5216 ;branch=z9hG4bK83749.4 5217 ;received=192.0.2.54 5218 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5219 ;branch=z9hG4bK74bf9 5220 ;received=192.0.2.103 5221 Record-Route: 5222 From: Alice ;tag=1234567 5223 To: Bob ;tag=7137136 5224 Call-ID: 12345600@atlanta.example.com 5225 CSeq: 1 INVITE 5226 Contact: 5227 Content-Type: application/sdp 5228 Content-Length: ... 5230 v=0 5231 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com 5232 s= 5233 c=IN IP4 client4.biloxi.example.com 5234 t=0 0 5235 m=audio 3456 RTP/AVP 0 5236 a=rtpmap:0 PCMU/8000 5238 F20 200 OK Proxy -> Alice 5240 SIP/2.0 200 OK 5241 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5242 ;branch=z9hG4bK74bf9 5243 ;received=192.0.2.103 5244 Record-Route: 5245 From: Alice ;tag=1234567 5246 To: Bob ;tag=7137136 5247 Call-ID: 12345600@atlanta.example.com 5248 CSeq: 1 INVITE 5249 Contact: 5250 Content-Type: application/sdp 5251 Content-Length: ... 5253 v=0 5254 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com 5255 s= 5256 c=IN IP4 client4.biloxi.example.com 5257 t=0 0 5258 m=audio 3456 RTP/AVP 0 5259 a=rtpmap:0 PCMU/8000 5261 F21 ACK Alice -> Proxy 5263 ACK sips:bob@client4.biloxi.example.com SIP/2.0 5264 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5265 ;branch=z9hG4bK74bf 5266 Route: 5267 Max-Forwards: 70 5268 From: Alice ;tag=1234567 5269 To: Bob ;tag=7137136 5270 Call-ID: 12345600@atlanta.example.com 5271 CSeq: 1 ACK 5272 Content-Length: 0 5274 F22 ACK Proxy -> B4 5276 ACK sips:bob@client4.biloxi.example.com SIP/2.0 5277 Via: SIP/2.0/TLS ss1.example.com:5061 5278 ;branch=z9hG4bK8374 5279 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5280 ;branch=z9hG4bK74bf 5281 ;received=192.0.2.103 5282 Max-Forwards: 69 5283 From: Alice ;tag=1234567 5284 To: Bob ;tag=7137136 5285 Call-ID: 12345600@atlanta.example.com 5286 CSeq: 1 ACK 5287 Content-Length: 0 5289 /* RTP streams are established between A and B4*/ 5291 /* User B4 Hangs Up with User A. */ 5293 F23 BYE B4 -> Proxy 5295 BYE sips:alice@client.atlanta.example.com SIP/2.0 5296 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5297 ;branch=z9hG4bKnashds7 5298 Route: 5299 Max-Forwards: 70 5300 From: Bob ;tag=7137136 5301 To: Alice ;tag=1234567 5302 Call-ID: 12345600@atlanta.example.com 5303 CSeq: 1 BYE 5304 Content-Length: 0 5306 F24 BYE Proxy -> Alice 5308 BYE sips:alice@client.atlanta.example.com SIP/2.0 5309 Via: SIP/2.0/TLS ss1.example.com:5061 5310 ;branch=z9hG4bK83754 5311 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5312 ;branch=z9hG4bKnashds7 5313 ;received=192.0.2.105 5315 Max-Forwards: 69 5316 From: Bob ;tag=7137136 5317 To: Alice ;tag=1234567 5318 Call-ID: 12345600@atlanta.example.com 5319 CSeq: 1 BYE 5320 Content-Length: 0 5322 F25 200 OK Alice -> Proxy 5324 SIP/2.0 200 OK 5325 Via: SIP/2.0/TLS ss1.example.com:5061 5326 ;branch=z9hG4bK83754 5327 ;received=192.0.2.54 5328 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5329 ;branch=z9hG4bKnashds7 5330 ;received=192.0.2.105 5331 From: Bob ;tag=7137136 5332 To: Alice ;tag=1234567 5333 Call-ID: 12345600@atlanta.example.com 5334 CSeq: 1 BYE 5335 Content-Length: 0 5337 F26 200 OK Proxy -> B4 5339 SIP/2.0 200 OK 5340 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5341 ;branch=z9hG4bKnashds7 5342 ;received=192.0.2.105 5343 From: Bob ;tag=7137136 5344 To: Alice ;tag=1234567 5345 Call-ID: 12345600@atlanta.example.com 5346 CSeq: 1 BYE 5347 Content-Length: 0 5349 2.13. Call Management (Incoming Call Screening) 5351 Announcement 5352 Alice Proxy Bob Server 5354 | | | | 5355 | INVITE F1 | | | 5356 |------------------------------>| | 5357 | 305 Use Proxy F2 | | 5358 |<------------------------------| | 5359 | ACK F3 | | | 5360 |------------------------------>| | 5361 | INVITE F4 | | | 5362 |--------------->| | | 5363 | 407 Proxy Authentication F5 | | 5364 |<---------------| | | 5365 | ACK F6 | | | 5366 |--------------->| | | 5367 | INVITE F7 | | | 5368 |--------------->| | | 5369 | 403 Screening Failure (Terminating) Error-Info: URI F8 5370 |<---------------| | | 5371 | ACK F9 | | | 5372 |--------------->| | | 5373 | INVITE F10 | | | 5374 |--------------------------------------------->| 5375 | 200 OK F11 | | | 5376 |--------------------------------------------->| 5377 | ACK F12 | | 5378 |--------------------------------------------->| 5379 | Announcement Played to Caller | 5380 |<=============================================| 5381 | BYE F13 | 5382 |<---------------------------------------------| 5383 | 200 OK F14 | 5384 |--------------------------------------------->| 5385 | | 5386 | | 5387 | | 5389 Bob has an incoming call screening list, Alice is included on the 5390 list of addresses Bob will not accept calls from. Alice attempts to 5391 call Bob. Messages F1, F2, and F3 are included to show that Bob does 5392 not accept INVITEs that have not been screened by the proxy. 5394 Note that call screening can not be done using the From header - 5395 instead some form of authentication credentials must be used. 5397 The screening proxy inserts an announcement URI in an Error-Info 5398 header field which Alice accesses by sending an INVITE to listen to 5399 the Announcement. The Announcement Server uses the automaton and 5400 rendering feature tags in F12 and F13 to indicate that it is a media 5401 server only capability of playing announcements. 5403 Message Details 5405 F1 INVITE Alice -> Bob 5407 INVITE sips:bob@biloxi.example.com SIP/2.0 5408 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5409 ;branch=z9hG4bK74bf9 5410 Max-Forwards: 70 5411 From: Alice ;tag=1234567 5412 To: Bob 5413 Call-ID: 12345600@atlanta.example.com 5414 CSeq: 1 INVITE 5415 Contact: 5416 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5417 Content-Type: application/sdp 5418 Content-Length: ... 5420 v=0 5421 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5422 s= 5423 c=IN IP4 client.atlanta.example.com 5424 t=0 0 5425 m=audio 49170 RTP/AVP 0 5426 a=rtpmap:0 PCMU/8000 5428 /* Bob only accepts INVITEs that have been screened 5429 by the proxy */ 5431 F2 305 Use Proxy Bob -> Alice 5433 SIP/2.0 305 Use Proxy 5434 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5435 ;branch=z9hG4bK74bf9 5436 ;received=192.0.2.103 5437 From: Alice ;tag=1234567 5438 To: Bob ;tag=342123 5439 Call-ID: 12345600@atlanta.example.com 5440 CSeq: 1 INVITE 5441 Contact: 5442 Content-Length: 0 5443 F3 ACK Alice -> Bob 5445 ACK sips:bob@biloxi.example.com SIP/2.0 5446 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5447 ;branch=z9hG4bK74bf9 5448 Max-Forwards: 70 5449 From: Alice ;tag=1234567 5450 To: Bob ;tag=342123 5451 Call-ID: 12345600@atlanta.example.com 5452 CSeq: 1 ACK 5453 Content-Length: 0 5455 /* A retries the call through the proxy */ 5457 F4 INVITE Alice -> Proxy 1 5459 INVITE sips:bob@biloxi.example.com SIP/2.0 5460 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5461 ;branch=z9hG4bK74bf0 5462 Max-Forwards: 70 5463 From: Alice ;tag=1234567 5464 To: Bob 5465 Call-ID: 12345600@atlanta.example.com 5466 CSeq: 2 INVITE 5467 Contact: 5468 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5469 Content-Type: application/sdp 5470 Content-Length: ... 5472 v=0 5473 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5474 s= 5475 c=IN IP4 client.atlanta.example.com 5476 t=0 0 5477 m=audio 49170 RTP/AVP 0 5478 a=rtpmap:0 PCMU/8000 5480 /* Proxy 1 challenges Alice for authentication */ 5482 F5 407 Proxy Authentication Required Proxy 1 -> Alice 5484 SIP/2.0 407 Proxy Authentication Required 5485 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5486 ;branch=z9hG4bK74bf0 5487 ;received=192.0.2.103 5488 From: Alice ;tag=1234567 5489 To: Bob ;tag=7886765 5490 Call-ID: 12345600@atlanta.example.com 5491 CSeq: 2 INVITE 5492 Proxy-Authenticate: Digest realm="example.com", 5493 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 5494 qop="auth", nc=00000001, cnonce="0a4f113b", 5495 opaque="", stale=FALSE, qop="auth", algorithm=MD5 5496 Content-Length: 0 5498 F6 ACK Alice -> Proxy 1 5500 ACK sips:bob@biloxi.example.com SIP/2.0 5501 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5502 ;branch=z9hG4bK74bf0 5503 Max-Forwards: 70 5504 From: Alice ;tag=1234567 5505 To: Bob ;tag=7886765 5506 Call-ID: 12345600@atlanta.example.com 5507 CSeq: 2 ACK 5508 Content-Length: 0 5510 /* Alice responds by sending an INVITE with authentication 5511 credentials in it. */ 5513 F7 INVITE Alice -> Proxy 1 5515 INVITE sips:bob@biloxi.example.com SIP/2.0 5516 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5517 ;branch=z9hG4bK74bf2 5518 Max-Forwards: 70 5519 From: Alice ;tag=1234567 5520 To: Bob 5521 Call-ID: 12345600@atlanta.example.com 5522 CSeq: 3 INVITE 5523 Contact: 5524 Proxy-Authorization: Digest username="alice", 5525 realm="example.com", qop="auth", 5526 nc=00000001, cnonce="4gr84543ft2", 5527 nonce="ae9137be1c87d175c2dd63302a0d6e0a", 5528 opaque="", uri="sips:bob@biloxi.example.com", 5529 response="bbaec39f943bdcb3620d90afc548a45c" 5530 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5531 Content-Type: application/sdp 5532 Content-Length: ... 5534 v=0 5535 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5536 s= 5537 c=IN IP4 client.atlanta.example.com 5538 t=0 0 5539 m=audio 49170 RTP/AVP 0 5540 a=rtpmap:0 PCMU/8000 5542 F8 403 Screening Failure (Terminating) Proxy 1 -> Alice 5544 SIP/2.0 403 Screening Failure (Terminating) 5545 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5546 ;branch=z9hG4bK74bf2 5547 ;received=192.0.2.103 5548 From: Alice ;tag=1234567 5549 To: Bob ;tag=ffe254 5550 Call-ID: 12345600@atlanta.example.com 5551 CSeq: 3 INVITE 5552 Error-Info: 5553 Content-Length: 0 5555 F9 ACK Alice -> Proxy 1 5557 ACK sips:bob@biloxi.example.com SIP/2.0 5558 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5559 ;branch=z9hG4bK74bf2 5560 Max-Forwards: 70 5561 From: Alice ;tag=1234567 5562 To: Bob ;tag=ffe254 5563 Call-ID: 12345600@atlanta.example.com 5564 Proxy-Authorization: Digest username="alice", 5565 realm="example.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a", 5566 opaque="", uri="sips:bob@biloxi.example.com", 5567 response="bbaec39f943bdcb3620d90afc548a45c" 5568 CSeq: 3 ACK 5569 Content-Length: 0 5571 /* To hear the recording, Alice connects to the Error-Info URI */ 5573 F10 INVITE Alice -> Proxy 1 5575 INVITE sips:screen-fail-term-ann@ms.biloxi.example.com SIP/2.0 5576 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5577 ;branch=z9hG4bK74bfj 5578 Max-Forwards: 70 5579 From: Alice ;tag=1234567 5580 To: Bob 5581 Call-ID: 12345600@atlanta.example.com 5582 CSeq: 4 INVITE 5583 Contact: 5584 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5585 Content-Type: application/sdp 5586 Content-Length: ... 5588 v=0 5589 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5590 s= 5591 c=IN IP4 client.atlanta.example.com 5592 t=0 0 5593 m=audio 49170 RTP/AVP 0 5594 a=rtpmap:0 PCMU/8000 5596 F11 200 OK Announcement Server -> Proxy 1 5598 SIP/2.0 200 OK 5599 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5600 ;branch=z9hG4bK74bfj 5601 ;received=192.0.2.103 5602 From: Alice ;tag=1234567 5603 To: Bob ;tag=234934 5604 Call-ID: 12345600@atlanta.example.com 5605 CSeq: 4 INVITE 5606 Contact: 5607 ;automaton;+sip.rendering="no" 5608 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5609 Content-Type: application/sdp 5610 Content-Length: ... 5612 v=0 5613 o=annc 2890844543 2890844543 IN IP4 announce.biloxi.example.com 5614 s= 5615 c=IN IP4 announce.biloxi.example.com 5616 t=0 0 5617 m=audio 49174 RTP/AVP 0 5618 a=rtpmap:0 PCMU/8000 5620 F12 ACK Alice -> Announcement Server 5622 ACK sips:ms.biloxi.example.com SIP/2.0 5623 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5624 ;branch=z9hG4bK74b32 5625 Max-Forwards: 70 5626 From: Alice ;tag=1234567 5627 To: Bob ;tag=234934 5628 Call-ID: 12345600@atlanta.example.com 5629 CSeq: 4 ACK 5630 Content-Length: 0 5632 /* Announcement Server plays announcement then disconnects */ 5634 F13 BYE Announcement Server -> Alice 5636 BYE sips:alice@client.atlanta.example.com SIP/2.0 5637 Via: SIP/2.0/TLS announcement.example.com:5061 5638 ;branch=z9hG4bK74bKS 5639 Max-Forwards: 70 5640 From: Bob ;tag=234934 5641 To: Alice ;tag=1234567 5642 Call-ID: 12345600@atlanta.example.com 5643 CSeq: 2334 BYE 5644 Content-Length: 0 5646 F14 200 OK Alice -> Announcement Server 5648 SIP/2.0 200 OK 5649 Via: SIP/2.0/TLS announcement.example.com:5061 5650 ;branch=z9hG4bK74bKS 5651 ;received=192.0.2.103 5652 From: Bob ;tag=234934 5653 To: Alice ;tag=1234567 5654 Call-ID: 12345600@atlanta.example.com 5655 CSeq: 2334 BYE 5656 Content-Length: 0 5658 2.14. Call Management (Outgoing Call Screening) 5660 Alice Proxy Bob 5661 | | | 5662 | INVITE F1 | | 5663 |--------------->| | 5664 | 407 Proxy Authentication F2 | 5665 |<---------------| | 5666 | ACK F3 | | 5667 |--------------->| | 5668 | INVITE F4 | | 5669 |--------------->| | 5670 | 403 Screening Failure (Originating) F5 5671 |<---------------| | 5672 | ACK F6 | | 5673 |--------------->| | 5674 | | | 5676 Alice has an outgoing call screening list, Bob is included on the 5677 list of addresses Alice will not be able to place a call to. Alice 5678 attempts to call Bob. 5680 Alice could establish a session to listen to the announcement in the 5681 Error-Info header field. 5683 Message Details 5685 F1 INVITE Alice -> Proxy 1 5687 INVITE sips:bob@biloxi.example.com SIP/2.0 5688 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5689 ;branch=z9hG4bK74bf9 5690 Max-Forwards: 70 5691 From: Alice ;tag=1234567 5692 To: Bob 5693 Call-ID: 12345600@atlanta.example.com 5694 CSeq: 1 INVITE 5695 Contact: 5696 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5697 Content-Type: application/sdp 5698 Content-Length: ... 5700 v=0 5701 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5702 s= 5703 c=IN IP4 client.atlanta.example.com 5704 t=0 0 5705 m=audio 49170 RTP/AVP 0 5706 a=rtpmap:0 PCMU/8000 5708 /* Proxy 1 challenges Alice for authentication */ 5710 F2 407 Proxy Authentication Required Proxy 1 -> Alice 5712 SIP/2.0 407 Proxy Authentication Required 5713 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5714 ;branch=z9hG4bK74bf9 5715 ;received=192.0.2.103 5716 From: Alice ;tag=1234567 5717 To: Bob ;tag=90210 5718 Call-ID: 12345600@atlanta.example.com 5719 CSeq: 1 INVITE 5720 Proxy-Authenticate: Digest realm="example.com", 5721 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 5722 qop=auth, nc=00000001, cnonce="0a4f113b", 5723 opaque="", stale=FALSE, algorithm=MD5 5724 Content-Length: 0 5726 F3 ACK Alice -> Proxy 1 5728 ACK sips:bob@biloxi.example.com SIP/2.0 5729 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5730 ;branch=z9hG4bK74bf9 5731 Max-Forwards: 70 5732 From: Alice ;tag=1234567 5733 To: Bob ;tag=90210 5734 Call-ID: 12345600@atlanta.example.com 5735 CSeq: 1 ACK 5736 Content-Length: 0 5738 /* Alice responds be sending an INVITE with authentication 5739 credentials in it. */ 5741 F4 INVITE Alice -> Proxy 1 5743 INVITE sips:bob@biloxi.example.com SIP/2.0 5744 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5745 ;branch=z9hG4bK74b4 5746 Max-Forwards: 70 5747 From: Alice ;tag=1234567 5748 To: Bob 5749 Call-ID: 12345600@atlanta.example.com 5750 CSeq: 2 INVITE 5751 Contact: 5752 Proxy-Authorization: Digest username="alice", realm="example.com", 5753 nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 5754 uri="sips:bob@biloxi.example.com", 5755 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 5756 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5757 Content-Type: application/sdp 5758 Content-Length: ... 5760 v=0 5761 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5762 s= 5763 c=IN IP4 client.atlanta.example.com 5764 t=0 0 5765 m=audio 49170 RTP/AVP 0 5766 a=rtpmap:0 PCMU/8000 5768 F5 403 Screening Failure (Originating) Proxy 1 -> Alice 5770 SIP/2.0 403 Screening Failure (Originating) 5771 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5772 ;branch=z9hG4bK74b4 5773 ;received=192.0.2.103 5774 From: Alice ;tag=1234567 5775 To: Bob ;tag=18017 5776 Call-ID: 12345600@atlanta.example.com 5777 CSeq: 2 INVITE 5778 Error-Info: 5779 Content-Length: 0 5781 F6 ACK Alice -> Proxy 1 5783 ACK sips:bob@biloxi.example.com SIP/2.0 5784 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5785 ;branch=z9hG4bK74b4 5786 Max-Forwards: 70 5787 From: Alice ;tag=1234567 5788 To: Bob ;tag=18017 5789 Call-ID: 12345600@atlanta.example.com 5790 CSeq: 2 ACK 5791 Proxy-Authorization: Digest username="alice", realm="example.com", 5792 nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 5793 uri="sips:bob@biloxi.example.com", 5794 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 5796 Content-Length: 0 5798 2.15. Call Park 5800 Alice Bob Park Server Carol 5801 | | | | 5802 | INVITE F1 | | | 5803 |------------->| | | 5804 |180 Ringing F2| | | 5805 |<-------------| | | 5806 | 200 OK F3 | | | 5807 |<-------------| | | 5808 | ACK F4 | | | 5809 |------------->| | | 5810 | RTP Media | | | 5811 |<============>| | | 5812 | Bob Parks Call | | 5813 | | REFER Refer-To: A F5 | 5814 | |------------->| | 5815 | | 202 F6 | | 5816 | |<-------------| | 5817 | | NOTIFY F7 | | 5818 | |<-------------| | 5819 | | 200 F8 | | 5820 | |------------->| | 5821 | INVITE F9 Replaces: B | | 5822 |<----------------------------| | 5823 | 200 OK F10 | | 5824 |---------------------------->| | 5825 | ACK F11 | | 5826 |<----------------------------| | 5827 | RTP Music | | 5828 |<===========================>| | 5829 | BYE F12 | | | 5830 |------------->| NOTIFY F14 | | 5831 | 200 OK F13 |<-------------| | 5832 |<-------------| 200 OK F15 | | 5833 | |------------->| | 5834 | | Carol picks up the call | 5835 | | | | 5836 | INVITE Replaces: Park Server F16 | 5837 |<-------------------------------------------| 5838 | | | 200 F17 | 5839 |------------------------------------------->| 5840 | | | ACK F18 | 5841 |<-------------------------------------------| 5842 | RTP Media | 5843 |<==========================================>| 5844 | BYE F19 | | 5845 |---------------------------->| | 5846 | 200 OK F20 | | 5847 |<----------------------------| | 5848 | No more RTP Music | | 5850 In this example, Alice calls Bob. Bob then parks the call at the Park 5851 Server by sending a REFER to the Park Server. The server sends an 5852 INVITE to Alice which replaces the session between Alice and Bob. The 5853 Park Server utilizes the automaton, rendering, and byeless feature 5854 tags in F9 to indicate its capabilities to Alice. The call is 5855 accepted by Alice and causes Alice to send a BYE to Bob. Bob receives 5856 notification of the successful park, and also receives the dialog 5857 identifiers in the application/sip body of the NOTIFY response. 5859 Carol wishes to retrieve the call, so she sends an INVITE containing 5860 the dialog identifiers to Alice which replaces the session with the 5861 Park Server. Alice accepts the call and sends a BYE to the Park 5862 Server. Note that Carol needs the dialog identifiers to carry out 5863 this sequence. This example assumes that Carol obtains them from 5864 Bob, who obtained them from a NOTIFY from the Park Server. If the 5865 Park Server did not return the dialog identifiers (Call-ID, To and 5866 From tags) in the NOTIFY, Carol could send a SUBSCRIBE to retrieve 5867 this information. 5869 Note that this call flow is a special case of call transfer. 5871 Note also that this flow could also be used for Music on Hold. 5873 Message Details. 5875 F1 INVITE Alice -> Bob 5877 INVITE sips:bob@biloxi.example.com SIP/2.0 5878 Via: SIP/2.0/TLS client.alice.example.com:5061 5879 ;branch=z9hG4bKnashds7 5880 Max-Forwards: 70 5881 From: Alice ;tag=1234567 5882 To: Bob 5883 Call-ID: 12345601@atlanta.example.com 5884 CSeq: 1 INVITE 5885 Contact: 5886 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5887 Supported: replaces, gruu 5888 Content-Type: application/sdp 5889 Content-Length: ... 5891 v=0 5892 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5893 s= 5894 c=IN IP4 client.atlanta.example.com 5895 t=0 0 5896 m=audio 49170 RTP/AVP 0 5897 a=rtpmap:0 PCMU/8000 5899 F2 180 Ringing Bob -> Alice 5901 SIP/2.0 180 Ringing 5902 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5903 ;branch=z9hG4bKnashds7 5904 ;received=192.0.2.105 5905 From: Alice ;tag=1234567 5906 To: Bob ;tag=314159 5907 Call-ID: 12345601@atlanta.example.com 5908 CSeq: 1 INVITE 5909 Contact: 5910 Content-Length: 0 5912 F3 200 OK Bob -> Alice 5914 SIP/2.0 200 OK 5915 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5916 ;branch=z9hG4bKnashds7 5917 ;received=192.0.2.105 5918 From: Alice ;tag=1234567 5919 To: Bob ;tag=314159 5920 Call-ID: 12345601@atlanta.example.com 5921 CSeq: 1 INVITE 5922 Contact: 5923 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5924 Supported: replaces 5925 Content-Type: application/sdp 5926 Content-Length: ... 5928 v=0 5929 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 5930 s= 5931 c=IN IP4 client.biloxi.example.com 5932 t=0 0 5933 m=audio 3456 RTP/AVP 0 5934 a=rtpmap:0 PCMU/8000 5935 F4 ACK Alice -> Bob 5937 ACK sips:bob@client.biloxi.example.com SIP/2.0 5938 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5939 ;branch=z9hG4bKnashds7 5940 Max-Forwards: 70 5941 From: Alice ;tag=1234567 5942 To: Bob ;tag=314159 5943 Call-ID: 12345601@atlanta.example.com 5944 CSeq: 1 ACK 5945 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5946 Supported: replaces 5947 Content-Length: 0 5949 /* Bob REFERs Park Server to establish session with A 5950 which replaces the established session between A and B. 5951 Note that there is no session established between B 5952 and the Park Server. */ 5954 F5 REFER Bob -> Park Server 5956 REFER sips:park@server.example.com SIP/2.0 5957 Via: SIP/2.0/TLS client.biloxi.example.com:5061 5958 ;branch=z9hG4bKnashds9 5959 Max-Forwards: 70 5960 From: Bob ;tag=02134 5961 To: Park Server 5962 Call-ID: 4802029847@biloxi.example.com 5963 CSeq: 1 REFER 5964 5965 Refer-To: 5968 5969 Referred-By: 5970 Contact: 5971 Content-Length: 0 5973 F6 202 Accepted Park Server -> Bob 5975 SIP/2.0 202 Accepted 5976 Via: SIP/2.0/TLS client.biloxi.example.com:5061 5977 ;branch=z9hG4bKnashds9 5978 ;received=192.0.2.105 5979 From: Bob ;tag=02134 5980 To: Park Server ;tag=56323 5981 Call-ID: 4802029847@biloxi.example.com 5982 Contact: 5983 CSeq: 1 REFER 5984 Content-Length: 0 5986 F7 NOTIFY Park Server -> Bob 5988 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 5989 Via: SIP/2.0/TLS server.example.com:5061 5990 ;branch=z9hG4bK74bT6 5991 To: Bob ;tag=02134 5992 Max-Forwards: 70 5993 From: Park Server ;tag=56323 5994 Call-ID: 4802029847@biloxi.example.com 5995 CSeq: 1 NOTIFY 5996 Event: refer 5997 Subscription-State: active;expires=60 5998 Content-Type: message/sipfrag 5999 Content-Length: ... 6001 SIP/2.0 100 Trying 6003 F8 200 OK Bob -> Park Server 6005 SIP/2.0 200 OK 6006 Via: SIP/2.0/TLS server.example.com:5061 6007 ;branch=z9hG4bK74bT6 6008 ;received=192.0.2.103 6009 To: Bob ;tag=02134 6010 From: Park Server ;tag=56323 6011 Call-ID: 4802029847@biloxi.example.com 6012 CSeq: 1 NOTIFY 6013 Content-Length: 0 6015 /* Park Server places call to Alice to replace session 6016 between Alice and Bob. */ 6018 F9 INVITE Park Server -> Alice 6020 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 6021 Via: SIP/2.0/TLS server.example.com:5061 6022 ;branch=z9hG4bK74rf 6023 Max-Forwards: 70 6024 From: ;tag=0111 6025 To: 6026 Call-ID: a5-75-34-12-76@server.example.com 6027 CSeq: 1 INVITE 6028 Referred-By: 6029 Contact: ;automaton 6030 ;+sip.byeless;+sip.rendering="no" 6031 Require: replaces 6032 Replaces: 12345601@atlanta.example.com 6033 ;from-tag=314159;to-tag=1234567 6034 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6035 Supported: replaces 6036 Content-Type: application/sdp 6037 Content-Length: ... 6039 v=0 6040 o=ParkServer 2890844576 2890844576 IN IP4 Park.server.example.com 6041 s= 6042 c=IN IP4 server.example.com 6043 t=0 0 6044 m=audio 49170 RTP/AVP 0 6045 a=rtpmap:0 PCMU/8000 6047 F10 200 OK Alice -> Park Server 6049 SIP/2.0 200 OK 6050 Via: SIP/2.0/TLS server.example.com:5061 6051 ;branch=z9hG4bK74rf 6052 ;received=192.0.2.103 6053 From: ;tag=0111 6054 To: ;tag=098594 6055 Call-ID: a5-75-34-12-76@server.example.com 6056 CSeq: 1 INVITE 6057 Contact: 6058 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6059 Supported: replaces, gruu 6060 Content-Type: application/sdp 6061 Content-Length: ... 6063 v=0 6064 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6065 s= 6066 c=IN IP4 client.atlanta.example.com 6067 t=0 0 6068 m=audio 49170 RTP/AVP 0 6069 a=rtpmap:0 PCMU/8000 6070 a=recvonly 6071 F11 ACK Park Server -> Alice 6073 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 6074 Via: SIP/2.0/TLS server.example.com:5061 6075 ;branch=z9hG4bK7rfF 6076 Max-Forwards: 70 6077 From: ;tag=0111 6078 To: ;tag=098594 6079 Call-ID: a5-75-34-12-76@server.example.com 6080 CSeq: 1 ACK 6081 Content-Length: 0 6083 F12 BYE Alice -> Bob 6085 BYE sips:bob@client.biloxi.example.com SIP/2.0 6086 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6087 ;branch=z9hG4bKnashds7 6088 Max-Forwards: 70 6089 From: Alice ;tag=1234567 6090 To: Bob ;tag=314159 6091 Call-ID: 12345601@atlanta.example.com 6092 CSeq: 2 BYE 6093 Content-Length: 0 6095 F13 200 OK Bob -> Alice 6097 SIP/2.0 200 OK 6098 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6099 ;branch=z9hG4bKnashds7 6100 ;received=192.0.2.105 6101 From: Alice ;tag=1234567 6102 To: Bob ;tag=314159 6103 Call-ID: 12345601@atlanta.example.com 6104 CSeq: 2 BYE 6105 Content-Length: 0 6107 /* Park Server reports success back to Bob by returning 6108 a 200 OK response. Bob obtains the dialog identifiers 6109 from the headers included in the response. */ 6111 F14 NOTIFY Park Server -> Bob 6113 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 6114 Via: SIP/2.0/TLS server.example.com:5061 6115 ;branch=z9hG4bK74bf9 6117 To: Bob ;tag=02134 6118 Max-Forwards: 70 6119 From: Park Server ;tag=56323 6120 Call-ID: 4802029847@biloxi.example.com 6121 CSeq: 2 NOTIFY 6122 Event: refer 6123 Subscription-State: terminated;reason=noresource 6124 Content-Type: message/sipfrag 6125 Content-Length: ... 6127 SIP/2.0 200 OK 6128 Via: SIP/2.0/TLS server.example.com:5061 6129 ;branch=z9hG4bK74rf 6130 ;received=192.0.2.103 6131 From: ;tag=0111 6132 To: ;tag=098594 6133 Call-ID: a5-75-34-12-76@server.example.com 6134 CSeq: 1 INVITE 6135 Contact: 6137 F15 200 OK Bob -> Park Server 6139 SIP/2.0 200 OK 6140 Via: SIP/2.0/TLS server.example.com:5061 6141 ;branch=z9hG4bK74bf9 6142 ;received=192.0.2.103 6143 To: Bob ;tag=02134 6144 From: Park Server ;tag=56323 6145 Call-ID: 4802029847@biloxi.example.com 6146 CSeq: 2 NOTIFY 6147 Content-Length: 0 6149 /* Alice is now parked at the Park Server */ 6151 /* Carol picks up the call by sending an INVITE to A which 6152 replaces the existing session with the Park/Park Server. 6153 Carol needs to know the dialog information to construct 6154 the Replaces header. */ 6156 F16 INVITE Carol -> Alice 6158 INVITE sips:alice@atlanta.example.com SIP/2.0 6159 Via: SIP/2.0/TLS client.chicago.example.com:5061 6160 ;branch=z9hG4bK74bQ2 6161 Max-Forwards: 70 6162 From: Carol ;tag=5893461 6163 To: Alice 6164 Call-ID: 6485356@chicago.example.com 6165 CSeq: 1 INVITE 6166 Contact: 6167 Require: replaces 6168 Replaces: a5-75-34-12-76@server.example.com 6169 ;to-tag=098594;from-tag=0111 6170 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 6171 SUBSCRIBE, NOTIFY 6172 Supported: replaces 6173 Content-Type: application/sdp 6174 Content-Length: ... 6176 v=0 6177 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 6178 s= 6179 c=IN IP4 client.chicago.example.com 6180 t=0 0 6181 m=audio 3456 RTP/AVP 0 6182 a=rtpmap:0 PCMU/8000 6184 F17 200 OK Alice -> Carol 6186 SIP/2.0 200 OK 6187 Via: SIP/2.0/TLS client.chicago.example.com:5061 6188 ;branch=z9hG4bK74bQ2 6189 ;received=192.0.2.105 6190 From: Carol ;tag=5893461 6191 To: Alice ;tag=222 6192 Call-ID: 6485356@chicago.example.com 6193 CSeq: 1 INVITE 6194 Contact: 6195 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6196 Supported: replaces, gruu 6197 Content-Type: application/sdp 6198 Content-Length: ... 6200 v=0 6201 o=alice 2890844527 2890844527 IN IP4 client.atlanta.example.com 6202 s= 6203 c=IN IP4 client.atlanta.example.com 6204 t=0 0 6205 m=audio 49170 RTP/AVP 0 6206 a=rtpmap:0 PCMU/8000 6208 F18 ACK Carol -> Alice 6209 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 6210 Via: SIP/2.0/TLS client.chicago.example.com:5061 6211 ;branch=z9hG4bK74bJ0 6212 Max-Forwards: 70 6213 From: Carol ;tag=5893461 6214 To: Alice ;tag=222 6215 Call-ID: 6485356@chicago.example.com 6216 CSeq: 1 ACK 6217 Content-Length: 0 6219 /* A replaces the session to the Park Server with the new 6220 session with C and generates a BYE to disconnect the 6221 Park Server. */ 6223 F19 BYE Alice -> Park Server 6225 BYE sips:park@server.example.com SIP/2.0 6226 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6227 ;branch=z9hG4bK74b4N 6228 Max-Forwards: 70 6229 From: Alice ;tag=098594 6230 To: ;tag=0111 6231 Call-ID: a5-75-34-12-76@server.example.com 6232 CSeq: 1 BYE 6233 Content-Length: 0 6235 F20 200 OK Park Server -> Alice 6237 SIP/2.0 200 OK 6238 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6239 ;branch=z9hG4bK74b4N 6240 ;received=192.0.2.103 6241 From: Alice ;tag=098594 6242 To: ;tag=0111 6243 Call-ID: a5-75-34-12-76@server.example.com 6244 CSeq: 1 BYE 6245 Content-Length: 0 6247 2.16. Call Pickup 6249 Alice Bob Bill 6250 | | | 6251 | INVITE F1 | | 6252 |------------->| | 6253 |180 Ringing F2| | 6254 |<-------------| | 6255 | | SUBSCRIBE F3 | 6256 | |<------------------| 6257 | | 200 OK F4 | 6258 | |------------------>| 6259 | | NOTIFY F5 | 6260 | |------------------>| 6261 | | 200 OK F6 | 6262 | |<------------------| 6263 | INVITE Replaces:Bob F7 | 6264 |<---------------------------------| 6265 | | 200 OK F8 | 6266 |--------------------------------->| 6267 | CANCEL F9 | | 6268 |------------->| | 6269 | 200 OK F10 | | 6270 |<-------------| | 6271 | 487 F11 | | 6272 |<-------------| | 6273 | ACK F12 | | 6274 |------------->| | 6275 | ACK F13 | 6276 |<---------------------------------| 6277 | | 6278 | Two way RTP Established | 6279 |<================================>| 6280 | BYE F14 | 6281 |--------------------------------->| 6282 | 200 OK F15 | 6283 |<---------------------------------| 6284 | | 6286 Bob and Bill are part of a work group at example.com that can pick up 6287 each other's calls. Alice calls Bob who does not answer. Bill 6288 wishes to pick up the call and sends a SUBSCRIBE to Bob to retrieve 6289 the dialog information. Bill then generates an INVITE with a 6290 Replaces to Alice. Alice answers the INVITE and sends a CANCEL to 6291 stop Bob's phone ringing. Note that the relative order of the 487/ 6292 ACK sequence (F11/F12) and the 200 OK to the CANCEL (F10) is not 6293 deterministic. 6295 This call flow shows the use of the "early-only" parameter [3] in the 6296 Replaces header field of F7. This parameter prevents Alice from 6297 accepting the INVITE if Bob has already accepted the INVITE. If Bill 6298 had wished to "take" the call from Bob regardless of whether he had 6299 answered, the parameter would not have been present in F7. 6301 Also note that the subscription between Bob and Carol could have been 6302 established prior to Alice's call. 6304 Message Details 6306 F1 INVITE Alice -> Bob 6308 INVITE sips:bob@biloxi.example.com SIP/2.0 6309 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6310 ;branch=z9hG4bK74bf9 6311 Max-Forwards: 70 6312 From: Alice ;tag=1234567 6313 To: Bob 6314 Call-ID: 12345600@atlanta.example.com 6315 CSeq: 1 INVITE 6316 Contact: 6317 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6318 Supported: replaces, gruu 6319 Content-Type: application/sdp 6320 Content-Length: ... 6322 v=0 6323 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6324 s= 6325 c=IN IP4 client.atlanta.example.com 6326 t=0 0 6327 m=audio 49170 RTP/AVP 0 6328 a=rtpmap:0 PCMU/8000 6330 F2 180 Ringing Bob -> Alice 6332 SIP/2.0 180 Ringing 6333 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6334 ;branch=z9hG4bK74bf9 6335 ;received=192.0.2.103 6336 From: Alice ;tag=1234567 6337 To: Bob ;tag=3145678 6338 Call-ID: 12345600@atlanta.example.com 6339 CSeq: 1 INVITE 6340 Contact: 6341 Content-Length: 0 6343 /* Bill decides to pick up the call. */ 6345 F3 SUBSCRIBE Bill -> Bob 6347 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 6348 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6349 ;branch=z9hG4bK74bf 6350 Max-Forwards: 70 6351 From: Bill ;tag=8675309 6352 To: Bob 6353 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6354 CSeq: 1 SUBSCRIBE 6355 Contact: 6356 Event: dialog 6357 Expires: 0 6358 Accept: application/dialog-info+xml 6359 Content-Length: 0 6361 F4 200 OK Bob -> Bill 6363 SIP/2.0 200 OK 6364 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6365 ;branch=z9hG4bK74bf 6366 ;received=192.0.2.114 6367 Max-Forwards: 70 6368 From: Bill ;tag=8675309 6369 To: Bob ;tag=31451098 6370 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6371 CSeq: 1 SUBSCRIBE 6372 Content-Length: 0 6374 F5 NOTIFY Bob -> Bill 6376 NOTIFY sips:bill@pc.biloxi.example.com SIP/2.0 6377 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6378 ;branch=z9hG4bK74br 6379 Max-Forwards: 70 6380 From: Bob ;tag=31451098 6381 To: Bill ;tag=8675309 6382 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6383 CSeq: 1 NOTIFY 6384 Contact: 6385 Event: dialog 6386 Subscription-State: terminated;reason=timeout 6387 Content-Type: application/dialog-info+xml 6388 Content-Length: ... 6390 6391 6393 6396 1 6397 6398 sips:bob@biloxi.example.com 6399 sips:bob@client.biloxi.example.com 6400 6401 6402 sips:alice@atlanta.example.com 6403 6404 sips:a8342043@atlanta.example.com;gr 6405 6406 early 6407 6408 6410 F6 200 OK Bill -> Bob 6412 SIP/2.0 200 OK 6413 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6414 ;branch=z9hG4bK74br 6415 ;received=192.0.2.105 6416 From: Bob ;tag=31451098 6417 To: Bill ;tag=8675309 6418 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6419 CSeq: 1 NOTIFY 6420 Contact: 6421 Content-Length: 0 6423 F7 INVITE Bill -> Alice 6425 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 6426 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6427 ;branch=z9hG4bK74HH 6428 Max-Forwards: 70 6429 From: Bill ;tag=8675310 6430 To: Alice 6431 Call-ID: 563456212@b2.biloxi.example.com 6432 CSeq: 1 INVITE 6433 Require: replaces 6434 Replaces: 12345600@atlanta.example.com 6435 ;from-tag=314578;to-tag=1234567;early-only 6436 Contact: 6437 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6438 Supported: replaces 6439 Content-Type: application/sdp 6440 Content-Length: ... 6442 v=0 6443 o=bill 2890843122 2890843122 IN IP4 pc.biloxi.example.com 6444 s= 6445 c=IN IP4 pc.biloxi.example.com 6446 t=0 0 6447 m=audio 5342 RTP/AVP 0 6448 a=rtpmap:0 PCMU/8000 6450 /* Alice matches the dialog information in the Replaces header 6451 and accepts the INVITE. */ 6453 F8 200 OK Alice -> Bill 6455 SIP/2.0 200 OK 6456 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6457 ;branch=z9hG4bK74HH 6458 ;received=192.0.2.114 6459 From: Bill ;tag=8675310 6460 To: Alice ;tag=131256 6461 Call-ID: 563456212@b2.biloxi.example.com 6462 CSeq: 1 INVITE 6463 Contact: 6464 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6465 Supported: replaces, gruu 6466 Content-Type: application/sdp 6467 Content-Length: ... 6469 v=0 6470 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com 6471 s= 6472 c=IN IP4 client.atlanta.example.com 6473 t=0 0 6474 m=audio 49172 RTP/AVP 0 6475 a=rtpmap:0 PCMU/8000 6477 /* Alice stops Bob's phone from ringing by sending a CANCEL */ 6478 F9 CANCEL Alice -> Bob 6480 CANCEL sips:bob@biloxi.example.com SIP/2.0 6481 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6482 ;branch=z9hG4bK74bf9 6483 Max-Forwards: 70 6484 From: Alice ;tag=1234567 6485 To: Bob 6486 Call-ID: 12345600@atlanta.example.com 6487 CSeq: 1 CANCEL 6488 Content-Length: 0 6490 F10 200 OK Bob -> Alice 6492 SIP/2.0 200 OK 6493 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6494 ;branch=z9hG4bK74bf9 6495 ;received=192.0.2.103 6496 From: Alice ;tag=1234567 6497 To: Bob ;tag=3145678 6498 Call-ID: 12345600@atlanta.example.com 6499 CSeq: 1 CANCEL 6500 Content-Length: 0 6502 F11 487 Request Terminated Bob -> Alice 6504 SIP/2.0 487 Request Terminated 6505 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6506 ;branch=z9hG4bK74bf9 6507 ;received=192.0.2.103 6508 From: Alice ;tag=1234567 6509 To: Bob ;tag=3145678 6510 Call-ID: 12345600@atlanta.example.com 6511 CSeq: 1 INVITE 6512 Content-Length: 0 6514 F12 ACK Alice -> Bob 6516 ACK sips:bob@client.biloxi.example.com SIP/2.0 6517 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6518 ;branch=z9hG4bK83749.1 6519 Max-Forwards: 70 6520 From: Alice ;tag=1234567 6521 To: Bob ;tag=3145678 6522 Call-ID: 12345600@atlanta.example.com 6523 CSeq: 1 ACK 6524 Content-Length: 0 6526 F13 ACK Bill -> Alice 6528 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 6529 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6530 ;branch=z9hG4bK7435 6531 Max-Forwards: 70 6532 From: Bill ;tag=8675310 6533 To: Alice ;tag=131256 6534 Call-ID: 563456212@b2.biloxi.example.com 6535 CSeq: 1 ACK 6536 Content-Length: 0 6538 /* RTP streams are established between Alice and Bill. 6539 Later, Alice Hangs Up with Bob. */ 6541 F14 BYE Alice -> Bill 6543 BYE sips:bill@pc.biloxi.example.com SIP/2.0 6544 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6545 ;branch=z9hG4bK74bf2 6546 Max-Forwards: 70 6547 To: Bill ;tag=8675310 6548 From: Alice ;tag=131256 6549 Call-ID: 563456212@b2.biloxi.example.com 6550 CSeq: 1 BYE 6551 Content-Length: 0 6553 F15 200 OK Bill -> Alice 6555 SIP/2.0 200 OK 6556 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6557 ;branch=z9hG4bK74bf2 6558 ;received=192.0.2.105 6559 To: Bill ;tag=8675310 6560 From: Alice ;tag=131256 6561 Call-ID: 563456212@b2.biloxi.example.com 6562 CSeq: 1 BYE 6563 Content-Length: 0 6565 2.17. Automatic Redial 6566 Alice Bob 6567 | | 6568 | INVITE F1 | 6569 |--------------->| 6570 |486 Busy Here F2| 6571 |<---------------| Bob is busy 6572 | ACK F3 | 6573 |--------------->| 6574 | SUBSCRIBE F4 | 6575 |--------------->| 6576 | 200 OK F5 | 6577 |<---------------| 6578 | NOTIFY F6 | 6579 |<---------------| 6580 | 200 OK F7 | 6581 |--------------->| 6582 | | 6583 | NOTIFY F8 | Bob is now available 6584 |<---------------| 6585 | 200 OK F9 | 6586 |--------------->| 6587 | | 6588 | INVITE F10 | 6589 |--------------->| Session setup successfully 6590 | 180 Ringing F11| 6591 |<---------------| 6592 | 200 OK F12 | 6593 |<---------------| 6594 | ACK F13 | 6595 |--------------->| 6596 | Media Session | 6597 |<==============>| 6598 | | 6599 | NOTIFY F14 | 6600 |<---------------| 6601 | 200 OK F15 | 6602 |--------------->| 6603 | | 6604 | SUBSCRIBE F16 | Alice terminates subscription 6605 |--------------->| 6606 | 200 OK F17 | 6607 |<---------------| 6608 | NOTIFY F18 | 6609 |<---------------| 6610 | 200 OK F19 | 6611 |--------------->| 6612 | | 6614 Bob is initially busy when Alice calls. Alice subscribes to Bob's 6615 call state using a SUBSCRIBE F4. Bob sends a NOTIFY F8 when Bob is 6616 available. Alice is alerted, then Alice sends an INVITE to Bob to 6617 establish the session. The subscription is terminated using 6618 SUBSCRIBE F16. 6620 Message Details 6622 F1 INVITE Alice -> Bob 6624 INVITE sips:bob@biloxi.example.com SIP/2.0 6625 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6626 ;branch=z9hG4bK74bf9 6627 Max-Forwards: 70 6628 From: Alice ;tag=1234567 6629 To: Bob 6630 Call-ID: 12345600@atlanta.example.com 6631 CSeq: 1 INVITE 6632 Contact: 6633 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6634 Supported: replaces 6635 Content-Type: application/sdp 6636 Content-Length: ... 6638 v=0 6639 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6640 s= 6641 c=IN IP4 client.atlanta.example.com 6642 t=0 0 6643 m=audio 49170 RTP/AVP 0 6644 a=rtpmap:0 PCMU/8000 6646 F2 486 Busy Here 6648 SIP/2.0 486 Busy Here 6649 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6650 ;branch=z9hG4bK74bf9 6651 ;received=192.0.2.103 6652 From: Alice ;tag=1234567 6653 To: Bob ;tag=982039i4 6654 Call-ID: 12345600@atlanta.example.com 6655 CSeq: 1 INVITE 6656 Content-Length: 0 6658 F3 ACK Alice -> Bob 6659 ACK sips:bob@biloxi.example.com SIP/2.0 6660 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6661 ;branch=z9hG4bK74bf9 6662 Max-Forwards: 70 6663 From: Alice ;tag=1234567 6664 To: Bob ;tag=982039i4 6665 Call-ID: 12345600@atlanta.example.com 6666 CSeq: 1 ACK 6667 Content-Length: 0 6669 F4 SUBSCRIBE Alice -> Bob 6671 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 6672 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6673 ;branch=z9hG4bK74b8G 6674 Max-Forwards: 70 6675 From: Alice ;tag=837348234 6676 To: Bob 6677 Call-ID: 4524526232@atlanta.example.com 6678 CSeq: 1 SUBSCRIBE 6679 Contact: sips:alice@client.atlanta.example.com 6680 Event: dialog 6681 Accept: application/dialog-info+xml 6682 Content-Length: 0 6684 F5 200 OK Bob -> Alice 6686 SIP/2.0 200 OK 6687 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6688 ;branch=z9hG4bK74b8G 6689 ;received=192.0.2.103 6690 From: Alice ;tag=837348234 6691 To: Bob ;tag=341123 6692 Call-ID: 4524526232@atlanta.example.com 6693 Expires: 60 6694 CSeq: 1 SUBSCRIBE 6695 Contact: sips:bob@client.biloxi.example.com 6696 Content-Length: 0 6698 F6 NOTIFY Bob -> Alice 6700 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 6701 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6702 ;branch=z9hG4bK74bn2 6703 Max-Forwards: 70 6704 From: Bob ;tag=341123 6705 To: Alice ;tag=837348234 6706 Call-ID: 4524526232@atlanta.example.com 6707 CSeq: 1 NOTIFY 6708 Contact: 6709 Event: dialog 6710 Subscription-State: active;expires=59 6711 Content-Type: application/dialog-info+xml 6712 Content-Length: ... 6714 6715 6717 6718 1 6719 confirmed 6720 6721 6723 F7 200 OK Alice -> Bob 6725 SIP/2.0 200 OK 6726 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6727 ;branch=z9hG4bK74bn2 6728 ;received=192.0.2.105 6729 From: Bob ;tag=341123 6730 To: Alice ;tag=837348234 6731 Call-ID: 4524526232@atlanta.example.com 6732 CSeq: 1 NOTIFY 6733 Content-Length: 0 6735 /* Bob is now available. */ 6737 F8 NOTIFY Bob -> Alice 6739 NOTIFY sips:alice@atlanta.example.com SIP/2.0 6740 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6741 ;branch=z9hG4bK74bVi 6742 Max-Forwards: 70 6743 From: Bob ;tag=341123 6744 To: Alice ;tag=837348234 6745 Call-ID: 4524526232@atlanta.example.com 6746 CSeq: 2 NOTIFY 6747 Event: dialog 6748 Subscription-State: active;expires=27 6749 Content-Type: application/dialog-info+xml 6750 Content-Length: ... 6752 6753 6755 6756 terminated 6757 6758 6760 F9 200 OK Alice -> Bob 6762 SIP/2.0 200 OK 6763 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6764 ;branch=z9hG4bK74bVi 6765 ;received=192.0.2.105 6766 From: Bob ;tag=341123 6767 To: Alice ;tag=837348234 6768 Call-ID: 4524526232@atlanta.example.com 6769 CSeq: 2 NOTIFY 6770 Content-Length: 0 6772 F10 INVITE Alice -> Bob 6774 INVITE sips:bob@biloxi.example.com SIP/2.0 6775 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6776 ;branch=z9hG4bK74bfq 6777 Max-Forwards: 70 6778 From: Alice ;tag=f23fkg14k 6779 To: Bob 6780 Call-ID: aoij4i9okitr@atlanta.example.com 6781 CSeq: 1 INVITE 6782 Contact: 6783 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6784 Supported: replaces 6785 Content-Type: application/sdp 6786 Content-Length: ... 6788 v=0 6789 o=alice 2890844826 2890844826 IN IP4 client.atlanta.example.com 6790 s= 6791 c=IN IP4 client.atlanta.example.com 6792 t=0 0 6793 m=audio 49170 RTP/AVP 0 6794 a=rtpmap:0 PCMU/8000 6795 F11 180 Ringing Bob -> Alice 6797 SIP/2.0 180 Ringing 6798 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6799 ;branch=z9hG4bK74bfq 6800 ;received=192.0.2.103 6801 From: Alice ;tag=f23fkg14k 6802 To: Bob ;tag=23431 6803 Call-ID: aoij4i9okitr@atlanta.example.com 6804 CSeq: 1 INVITE 6805 Contact: 6806 Content-Length: 0 6808 F12 200 OK Bob -> Alice 6810 SIP/2.0 200 OK 6811 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6812 ;branch=z9hG4bK74bfq 6813 ;received=192.0.2.103 6814 From: Alice ;tag=f23fkg14k 6815 To: Bob ;tag=23431 6816 Call-ID: aoij4i9okitr@atlanta.example.com 6817 CSeq: 1 INVITE 6818 Contact: 6819 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6820 Supported: replaces 6821 Content-Type: application/sdp 6822 Content-Length: ... 6824 v=0 6825 o=bob 2890854527 2890854527 IN IP4 client.biloxi.example.com 6826 s= 6827 c=IN IP4 client.biloxi.example.com 6828 t=0 0 6829 m=audio 3456 RTP/AVP 0 6830 a=rtpmap:0 PCMU/8000 6832 F13 ACK Alice -> Bob 6834 ACK sips:bob@client.biloxi.example.com SIP/2.0 6835 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6836 ;branch=z9hG4bK74bLBJ 6837 Max-Forwards: 70 6838 From: Alice ;tag=f23fkg14k 6839 To: Bob ;tag=23431 6840 Call-ID: aoij4i9okitr@atlanta.example.com 6841 CSeq: 1 ACK 6842 Content-Length: 0 6844 F14 NOTIFY Bob -> Alice 6846 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 6847 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6848 ;branch=z9hG4bK4bnd2 6849 Max-Forwards: 70 6850 From: Bob ;tag=341123 6851 To: Alice ;tag=837348234 6852 Call-ID: 4524526232@atlanta.example.com 6853 CSeq: 3 NOTIFY 6854 Contact: 6855 Event: dialog 6856 Subscription-State: active;expires=15 6857 Content-Type: application/dialog-info+xml 6858 Content-Length: ... 6860 6861 6863 6864 1 6865 confirmed 6866 6867 6869 F15 200 OK Alice -> Bob 6871 SIP/2.0 200 OK 6872 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6873 ;branch=z9hG4bK4bnd2 6874 ;received=192.0.2.105 6875 From: Bob ;tag=341123 6876 To: Alice ;tag=837348234 6877 Call-ID: 4524526232@atlanta.example.com 6878 CSeq: 3 NOTIFY 6879 Content-Length: 0 6881 /* Alice terminates the subscription */ 6883 F16 SUBSCRIBE Alice -> Bob 6885 SUBSCRIBE sips:bob@client.biloxi.example.com SIP/2.0 6886 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6887 ;branch=z9hG4bK474b8 6888 Max-Forwards: 70 6889 From: Alice ;tag=837348234 6890 To: Alice ;tag=837348234 6891 Call-ID: 4524526232@atlanta.example.com 6892 CSeq: 2 SUBSCRIBE 6893 Contact: sips:alice@client.atlanta.example.com 6894 Event: dialog 6895 Expires: 0 6896 Accept: application/dialog-info+xml 6897 Content-Length: 0 6899 F17 200 OK Bob -> Alice 6901 SIP/2.0 200 OK 6902 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6903 ;branch=z9hG4bK474b8 6904 ;received=192.0.2.103 6905 From: Alice ;tag=837348234 6906 To: Bob ;tag=341123 6907 Call-ID: 4524526232@atlanta.example.com 6908 Expires: 0 6909 CSeq: 2 SUBSCRIBE 6910 Contact: sips:bob@client.biloxi.example.com 6911 Content-Length: 0 6913 F18 NOTIFY Bob -> Alice 6915 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 6916 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6917 ;branch=z9hG4bKb5n2j 6918 Max-Forwards: 70 6919 From: Bob ;tag=341123 6920 To: Alice ;tag=837348234 6921 Call-ID: 4524526232@atlanta.example.com 6922 CSeq: 4 NOTIFY 6923 Contact: 6924 Event: dialog 6925 Subscription-State: terminated;reason=noresource 6926 Content-Type: application/dialog-info+xml 6927 Content-Length: ... 6929 6930 6933 6934 3 6935 confirmed 6936 6937 6939 F19 200 OK Alice -> Bob 6941 SIP/2.0 200 OK 6942 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6943 ;branch=z9hG4bKb5n2j 6944 ;received=192.0.2.105 6945 From: Bob ;tag=341123 6946 To: Alice ;tag=837348234 6947 Call-ID: 4524526232@atlanta.example.com 6948 CSeq: 4 NOTIFY 6949 Content-Length: 0 6951 2.18. Click to Dial 6953 Bob's PC Bob Carol 6954 | REFER Refer-To:Carol F1 | 6955 |------------------->| | 6956 | 202 Accepted F2 | | 6957 |<-------------------| | 6958 | | INVITE F3 | 6959 | |------------------->| 6960 | | 180 Ringing F4 | 6961 | |<-------------------| 6962 | | 200 OK F5 | 6963 | |<-------------------| 6964 | | ACK F6 | 6965 | |------------------->| 6966 | | RTP | 6967 | |<==================>| 6968 | | | 6970 In this example, while browsing the web on his PC, Bob clicks on 6971 Carol's SIP URI intending to establish a session with Carol. Bob's 6972 web browser passes the SIP URI to the SIP client on Bob's PC. The PC 6973 client is configured with the URI of Bob's SIP phone. A REFER is 6974 sent to the SIP phone which results in the establishment of the 6975 session between Bob and Carol. 6977 Note that Bob's PC requests that no REFER dialog be established by 6978 the use of the Refer-Sub: false header field [11]. 6980 This flow is preferable to the 3pcc flow because the end-to-end SIP 6981 signaling is not interrupted by the 3pcc controller, and because 6982 Bob's experience of the call will not be marred by the lack of 6983 ringback tone or possible clipping. Suitable authorization of the 6984 REFER and explicit authorization of the triggered INVITE by Bob is 6985 necessary. 6987 Message Details 6989 /* Bob's PC SIP Client sends a REFER to Bob's SIP phone */ 6991 F1 REFER PC -> Bob 6993 REFER sips:bob@biloxi.example.com SIP/2.0 6994 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6995 ;branch=z9hG4bKnashds7 6996 Max-Forwards: 70 6997 From: ;tag=1234567 6998 To: Bob 6999 Call-ID: 1234560183434 7000 CSeq: 1 REFER 7001 Refer-To: 7002 Refer-Sub: false 7003 Contact: 7004 Content-Length: 0 7006 F2 202 Accepted Bob -> PC 7008 SIP/2.0 202 Accepted 7009 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7010 ;branch=z9hG4bKnashds7 7011 ;received=192.0.2.103 7012 From: ;tag=1234567 7013 To: Bob ;tag=314159 7014 Call-ID: 1234560183434 7015 Contact: 7016 CSeq: 1 REFER 7017 Refer-Sub: false 7018 Content-Length: 0 7020 F3 INVITE Bob -> Carol 7021 INVITE sips:carol@chicago.example.com SIP/2.0 7022 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7023 ;branch=z9hG4bKnashdK9 7024 Max-Forwards: 70 7025 From: Bob ;tag=8675309 7026 To: Carol 7027 Call-ID: 7436222@atlanta.example.com 7028 CSeq: 1 INVITE 7029 Contact: 7030 Referred-By: 7031 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 7032 Supported: replaces 7033 Content-Type: application/sdp 7034 Content-Length: ... 7036 v=0 7037 o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com 7038 s= 7039 c=IN IP4 client.biloxi.example.com 7040 t=0 0 7041 m=audio 3458 RTP/AVP 0 7042 a=rtpmap:0 PCMU/8000 7044 F4 180 Ringing Carol -> Bob 7046 SIP/2.0 180 Ringing 7047 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7048 ;branch=z9hG4bKnashdK9 7049 ;received=192.0.2.113 7050 From: Bob ;tag=8675309 7051 To: Carol ;tag=928287 7052 Call-ID: 7436222@atlanta.example.com 7053 CSeq: 1 INVITE 7054 Contact: 7055 Content-Length: 0 7057 F5 200 OK Carol -> Bob 7059 SIP/2.0 200 OK 7060 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7061 ;branch=z9hG4bKnashdK9 7062 ;received=192.0.2.113 7063 From: Bob ;tag=8675309 7064 To: Carol ;tag=928287 7065 Call-ID: 7436222@atlanta.example.com 7066 CSeq: 1 INVITE 7067 Contact: 7068 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 7069 Supported: replaces 7070 Content-Type: application/sdp 7071 Content-Length: ... 7073 v=0 7074 o=carol 2890844527 2890844527 IN IP4 client.chicago.example.com 7075 s= 7076 c=IN IP4 client.chicago.example.com 7077 t=0 0 7078 m=audio 3456 RTP/AVP 0 7079 a=rtpmap:0 PCMU/8000 7081 F6 ACK Bob -> Carol 7083 ACK sips:carol@client.chicago.example.com SIP/2.0 7084 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7085 ;branch=z9hG4bKnashd43 7086 Max-Forwards: 70 7087 From: Bob ;tag=8675309 7088 To: Carol ;tag=928287 7089 Call-ID: 7436222@atlanta.example.com 7090 CSeq: 1 ACK 7091 Content-Length: 0 7093 /* Bob and Carol now have established a session. */ 7095 3. Security Considerations 7097 Since many of the examples in this document involve SIP call control, 7098 either peer-to-peer or 3pcc, the security considerations in the 7099 Multiparty Framework document [13] apply. 7101 Many of the services shown in this document rely on a particular user 7102 agent being part of a group. Members of a group could be, for 7103 example, employees within a particular department, a set of home 7104 phone extensions, members of a call center, etc. As such, user 7105 agents which are part of the group permit other group members special 7106 privileges and features. For example, while a user agent may not in 7107 general allow another user agent to learn detailed dialog 7108 information, this information might be shared with another group 7109 member in order to facilitate a service such as call pickup. Group 7110 members must be authenticated using normal SIP means such as 7111 certificates or shared secrets. 7113 The service examples in this document make extensive use of the SIP 7114 call control primitives REFER, Replaces, Join, and the dialog 7115 package. The security considerations associated with each of these 7116 extensions apply to the scenarios in this document. 7118 4. IANA Considerations 7120 None. 7122 5. Acknowledgements 7124 The authors would like to thank the following reviewers of the 7125 document for their detailed comments and corrections: Vijay Gurbani, 7126 John Elwell, Joel Repiquet, Nagesh Kumar, Chandra Ravipati, Eric 7127 Burger, Jeroen Bemmel, Miguel Garcia, and Dale Worley. 7129 The Transfer - Instant Messaging call flow is based on the "IM-a- 7130 call" call flow by Jonathan Rosenberg and Henning Schulzrinne. The 7131 Automatic Call Back call flow is based on a call flow by Adam Roach. 7132 The authors wish to thank the following individuals for their 7133 assistance and review of this call flows document: Joel Repiquet, Aki 7134 Neimi, Rohan Mahy, Jonathan Rosenberg, Hemant Agrawal, Henry 7135 Sinnreich, Dean Willis, David Devanatham, Joe Pizzimenti, Matt 7136 Cannon, John Hearty, the whole MCI WorldCom IPOP Design team, Scott 7137 Orton, Greg Osterhout, Pat Sollee, Doug Weisenberg, Danny Mistry, 7138 Steve McKinnon, and Denise Ingram, Denise Caballero, Tom Redman, Ilya 7139 Slain, Pat Sollee, John Truetken, and others from MCI WorldCom, 3Com, 7140 Cisco, Lucent and Nortel. 7142 6. References 7144 6.1. Normative References 7146 [1] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., 7147 Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: 7148 Session Initiation Protocol", RFC 3261, June 2002. 7150 [2] Sparks, R., "The Session Initiation Protocol (SIP) Refer 7151 Method", RFC 3515, April 2003. 7153 [3] Mahy, R., Biggs, B., and R. Dean, "The Session Initiation 7154 Protocol (SIP) "Replaces" Header", RFC 3891, September 2004. 7156 [4] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with 7157 Session Description Protocol (SDP)", RFC 3264, June 2002. 7159 [5] Roach, A., "Session Initiation Protocol (SIP)-Specific Event 7160 Notification", RFC 3265, June 2002. 7162 [6] Rosenberg, J., Schulzrinne, H., and R. Mahy, "An INVITE- 7163 Initiated Dialog Event Package for the Session Initiation 7164 Protocol (SIP)", RFC 4235, November 2005. 7166 [7] Mahy, R. and D. Petrie, "The Session Initiation Protocol (SIP) 7167 "Join" Header", RFC 3911, October 2004. 7169 [8] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, "Indicating 7170 User Agent Capabilities in the Session Initiation Protocol 7171 (SIP)", RFC 3840, August 2004. 7173 [9] Johnston, A. and O. Levin, "Session Initiation Protocol (SIP) 7174 Call Control - Conferencing for User Agents", BCP 119, 7175 RFC 4579, August 2006. 7177 [10] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., and 7178 D. Gurle, "Session Initiation Protocol (SIP) Extension for 7179 Instant Messaging", RFC 3428, December 2002. 7181 [11] Levin, O., "Suppression of Session Initiation Protocol (SIP) 7182 REFER Method Implicit Subscription", RFC 4488, May 2006. 7184 6.2. Informative References 7186 [12] Sparks, R., "Session Initiation Protocol Call Control - 7187 Transfer", draft-ietf-sipping-cc-transfer-07 (work in 7188 progress), October 2006. 7190 [13] Mahy, R., "A Call Control and Multi-party usage framework for 7191 the Session Initiation Protocol (SIP)", 7192 draft-ietf-sipping-cc-framework-07 (work in progress), 7193 March 2007. 7195 [14] Johnston, A., Donovan, S., Sparks, R., Cunningham, C., and K. 7196 Summers, "Session Initiation Protocol (SIP) Basic Call Flow 7197 Examples", BCP 75, RFC 3665, December 2003. 7199 [15] Rosenberg, J., Peterson, J., Schulzrinne, H., and G. Camarillo, 7200 "Best Current Practices for Third Party Call Control (3pcc) in 7201 the Session Initiation Protocol (SIP)", BCP 85, RFC 3725, 7202 April 2004. 7204 [16] Rosenberg, J., "Obtaining and Using Globally Routable User 7205 Agent (UA) URIs (GRUU) in the Session Initiation Protocol 7206 (SIP)", draft-ietf-sip-gruu-14 (work in progress), June 2007. 7208 [17] Johnston, A. and R. Sparks, "Session Description Protocol (SDP) 7209 Offer/Answer Examples", RFC 4317, December 2005. 7211 [18] Sparks, R., Hawrylyshen, A., Johnston, A., Rosenberg, J., and 7212 H. Schulzrinne, "Session Initiation Protocol (SIP) Torture Test 7213 Messages", RFC 4475, May 2006. 7215 Authors' Addresses 7217 Alan Johnston (editor) 7218 Avaya 7219 St. Louis, MO 63124 7221 Email: alan@sipstation.com 7223 Robert J. Sparks 7224 Estacado Systems 7226 Email: RjS@estacado.net 7228 Chris Cunningham 7229 Cisco Systems 7231 Email: chrcunni@cisco.com 7233 Steve Donovan 7234 Cisco Systems 7236 Email: srd@cisco.com 7238 Kevin Summers 7239 Prodea Systems 7240 Plano, TX 75093 7242 Email: kevin.summers@prodeasystems.com 7244 Full Copyright Statement 7246 Copyright (C) The IETF Trust (2007). 7248 This document is subject to the rights, licenses and restrictions 7249 contained in BCP 78, and except as set forth therein, the authors 7250 retain all their rights. 7252 This document and the information contained herein are provided on an 7253 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 7254 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 7255 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 7256 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 7257 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 7258 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 7260 Intellectual Property 7262 The IETF takes no position regarding the validity or scope of any 7263 Intellectual Property Rights or other rights that might be claimed to 7264 pertain to the implementation or use of the technology described in 7265 this document or the extent to which any license under such rights 7266 might or might not be available; nor does it represent that it has 7267 made any independent effort to identify any such rights. Information 7268 on the procedures with respect to rights in RFC documents can be 7269 found in BCP 78 and BCP 79. 7271 Copies of IPR disclosures made to the IETF Secretariat and any 7272 assurances of licenses to be made available, or the result of an 7273 attempt made to obtain a general license or permission for the use of 7274 such proprietary rights by implementers or users of this 7275 specification can be obtained from the IETF on-line IPR repository at 7276 http://www.ietf.org/ipr. 7278 The IETF invites any interested party to bring to its attention any 7279 copyrights, patents or patent applications, or other proprietary 7280 rights that may cover technology that may be required to implement 7281 this standard. Please address the information to the IETF at 7282 ietf-ipr@ietf.org. 7284 Acknowledgment 7286 Funding for the RFC Editor function is provided by the IETF 7287 Administrative Support Activity (IASA).