idnits 2.17.1 draft-ietf-sipping-service-examples-14.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 7354. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 7365. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 7372. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 7378. 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 : ---------------------------------------------------------------------------- ** There are 2 instances of too long lines in the document, the longest one being 3 characters in excess of 72. 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 (February 19, 2008) is 5910 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-09 == Outdated reference: A later version (-12) exists of draft-ietf-sipping-cc-framework-09 Summary: 3 errors (**), 0 flaws (~~), 3 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: August 22, 2008 C. Cunningham 7 S. Donovan 8 Cisco Systems 9 K. Summers 10 Prodea Systems 11 February 19, 2008 13 Session Initiation Protocol Service Examples 14 draft-ietf-sipping-service-examples-14 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 August 22, 2008. 41 Copyright Notice 43 Copyright (C) The IETF Trust (2008). 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 . . . . . . . . . . . . . . 69 69 2.7. Call Forwarding Unconditional . . . . . . . . . . . . . . 75 70 2.8. Call Forwarding - Busy . . . . . . . . . . . . . . . . . 81 71 2.9. Call Forwarding - No Answer . . . . . . . . . . . . . . . 89 72 2.10. 3-way Conference - Third Party is Added . . . . . . . . . 98 73 2.11. 3-way Conference - Third Party Joins . . . . . . . . . . 104 74 2.12. Find-Me . . . . . . . . . . . . . . . . . . . . . . . . . 109 75 2.13. Call Management (Incoming Call Screening) . . . . . . . . 121 76 2.14. Call Management (Outgoing Call Screening) . . . . . . . . 128 77 2.15. Call Park . . . . . . . . . . . . . . . . . . . . . . . . 131 78 2.16. Call Pickup . . . . . . . . . . . . . . . . . . . . . . . 143 79 2.17. Automatic Redial . . . . . . . . . . . . . . . . . . . . 149 80 2.18. Click to Dial . . . . . . . . . . . . . . . . . . . . . . 158 81 3. Security Considerations . . . . . . . . . . . . . . . . . . . 161 82 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 162 83 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 162 84 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 162 85 6.1. Normative References . . . . . . . . . . . . . . . . . . 162 86 6.2. Informative References . . . . . . . . . . . . . . . . . 163 87 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 164 88 Intellectual Property and Copyright Statements . . . . . . . . . 165 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 Contact: 1881 Content-Type: message/sipfrag 1882 Content-Length: ... 1884 SIP/2.0 100 Trying 1886 F11 200 OK Bob -> Music Server 1887 SIP/2.0 200 OK 1888 Via: SIP/2.0/TLS server.example.com:5061 1889 ;branch=z9hG4bK74bT6 1890 ;received=192.0.2.103 1891 To: Bob ;tag=02134 1892 From: Music Server ;tag=56323 1893 Call-ID: 4802029847@biloxi.example.com 1894 CSeq: 1 NOTIFY 1895 Content-Length: 0 1897 /* Music Server places call to Alice to replace session 1898 between Alice and Bob. */ 1900 F12 INVITE Music Server -> Alice 1902 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 1903 Via: SIP/2.0/TLS server.example.com:5061 1904 ;branch=z9hG4bK74rf 1905 Max-Forwards: 70 1906 From: ;tag=0111 1907 To: 1908 Call-ID: a5-75-34-12-76@server.example.com 1909 CSeq: 1 INVITE 1910 Referred-By: 1911 Contact: ;automaton 1912 ;+sip.byeless;+sip.rendering="no" 1913 Require: replaces 1914 Replaces: 12345600@atlanta.example.com 1915 ;from-tag=23431;to-tag=1234567 1916 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 1917 Supported: replaces 1918 Content-Type: application/sdp 1919 Content-Length: ... 1921 v=0 1922 o=MusicServer 2890844576 2890844576 IN IP4 server.example.com 1923 s= 1924 c=IN IP4 server.example.com 1925 t=0 0 1926 m=audio 49170 RTP/AVP 0 1927 a=rtpmap:0 PCMU/8000 1928 a=sendonly 1930 F13 200 OK Alice -> Music Server 1932 SIP/2.0 200 OK 1933 Via: SIP/2.0/TLS server.example.com:5061 1934 ;branch=z9hG4bK74rf 1935 ;received=192.0.2.103 1936 From: ;tag=0111 1937 To: ;tag=098594 1938 Call-ID: a5-75-34-12-76@server.example.com 1939 CSeq: 1 INVITE 1940 Contact: 1941 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 1942 Supported: replaces, gruu 1943 Content-Type: application/sdp 1944 Content-Length: ... 1946 v=0 1947 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 1948 s= 1949 c=IN IP4 client.atlanta.example.com 1950 t=0 0 1951 m=audio 49170 RTP/AVP 0 1952 a=rtpmap:0 PCMU/8000 1953 a=recvonly 1955 F14 ACK Music Server -> Alice 1957 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 1958 Via: SIP/2.0/TLS server.example.com:5061 1959 ;branch=z9hG4bK7rfF 1960 Max-Forwards: 70 1961 From: ;tag=0111 1962 To: ;tag=098594 1963 Call-ID: a5-75-34-12-76@server.example.com 1964 CSeq: 1 ACK 1965 Content-Length: 0 1967 F15 BYE Alice -> Bob 1969 BYE sips:bob@client.biloxi.example.com SIP/2.0 1970 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1971 ;branch=z9hG4bKnashds7 1972 Max-Forwards: 70 1973 From: Alice ;tag=1234567 1974 To: Bob ;tag=23431 1975 Call-ID: 12345600@atlanta.example.com 1976 CSeq: 2 BYE 1977 Content-Length: 0 1978 F16 200 OK Bob -> Alice 1980 SIP/2.0 200 OK 1981 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1982 ;branch=z9hG4bKnashds7 1983 ;received=192.0.2.105 1984 From: Alice ;tag=1234567 1985 To: Bob ;tag=23431 1986 Call-ID: 12345600@atlanta.example.com 1987 CSeq: 2 BYE 1988 Content-Length: 0 1990 /* Music Server reports success back to Bob by returning 1991 a 200 OK response. Bob obtains the dialog identifiers 1992 from the headers included in the response. */ 1994 F17 NOTIFY Music Server -> Bob 1996 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 1997 Via: SIP/2.0/TLS server.example.com:5061 1998 ;branch=z9hG4bK74bf9 1999 To: Bob ;tag=02134 2000 Max-Forwards: 70 2001 From: Music Server ;tag=56323 2002 Call-ID: 4802029847@biloxi.example.com 2003 CSeq: 2 NOTIFY 2004 Event: refer 2005 Subscription-State: terminated;reason=noresource 2006 Contact: 2007 Content-Type: message/sipfrag 2008 Content-Length: ... 2010 SIP/2.0 200 OK 2011 Via: SIP/2.0/TLS server.example.com:5061 2012 ;branch=z9hG4bK74rf 2013 ;received=192.0.2.103 2014 From: ;tag=0111 2015 To: ;tag=098594 2016 Call-ID: a5-75-34-12-76@server.example.com 2017 CSeq: 1 INVITE 2018 Contact: 2020 F18 200 OK Bob -> Music Server 2022 SIP/2.0 200 OK 2023 Via: SIP/2.0/TLS server.example.com:5061 2024 ;branch=z9hG4bK74bf9 2025 ;received=192.0.2.103 2026 To: Bob ;tag=02134 2027 From: Music Server ;tag=56323 2028 Call-ID: 4802029847@biloxi.example.com 2029 CSeq: 2 NOTIFY 2030 Content-Length: 0 2032 /* Alice is now parked at the Music Server */ 2034 /* Bob picks up the call by sending an INVITE to Alice who 2035 replaces the existing session with the Music Server. */ 2037 F19 INVITE Bob -> Alice 2039 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 2040 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2041 ;branch=z9hG4bK74bf9 2042 From: Bob ;tag=4i323pr 2043 To: Alice 2044 Call-ID: uioewrjk2k2were 2045 CSeq: 42121 INVITE 2046 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 2047 SUBSCRIBE, NOTIFY 2048 Replaces: a5-75-34-12-76@server.example.com 2049 ;to-tag=098594;from-tag=0111 2050 Contact: 2051 Supported: replaces 2052 Content-Type: application/sdp 2053 Content-Length: ... 2055 v=0 2056 o=bob 2890844631 2890844631 IN IP4 client.biloxi.example.com 2057 s= 2058 c=IN IP4 client.biloxi.example.com 2059 t=0 0 2060 m=audio 3458 RTP/AVP 0 2061 a=rtpmap:0 PCMU/8000 2062 a=sendrecv 2064 F20 200 OK Alice -> Bob 2066 SIP/2.0 200 OK 2067 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2068 ;branch=z9hG4bK74bf9 2069 ;received=192.0.2.105 2070 From: Bob ;tag=4i323pr 2071 To: Alice ;tag=6654323 2072 Call-ID: uioewrjk2k2were 2073 CSeq: 42121 INVITE 2074 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 2075 SUBSCRIBE, NOTIFY 2076 Contact: 2077 Supported: replaces 2078 Content-Type: application/sdp 2079 Content-Length: ... 2081 v=0 2082 o=alice 2890844576 2890844576 IN IP4 client.atlanta.example.com 2083 s= 2084 c=IN IP4 client.atlanta.example.com 2085 t=0 0 2086 m=audio 49170 RTP/AVP 0 2087 a=rtpmap:0 PCMU/8000 2088 a=sendrecv 2090 F21 200 ACK Bob -> Alice 2092 ACK sips:alice@client.atlanta.example.com SIP/2.0 2093 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2094 ;branch=z9hG4bKj974bf9 2095 From: Bob ;tag=4i323pr 2096 To: Alice ;tag=6654323 2097 Call-ID: uioewrjk2k2were 2098 CSeq: 42121 ACK 2099 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 2100 SUBSCRIBE, NOTIFY 2101 Supported: replaces 2102 Content-Length: 0 2104 F22 BYE Alice -> Music Server 2106 BYE sips:music@server.example.com SIP/2.0 2107 Max-Forwards: 70 2108 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2109 ;branch=z9hG4bK74rf 2110 To: ;tag=0111 2111 From: ;tag=098594 2112 Call-ID: a5-75-34-12-76@server.example.com 2113 CSeq: 15 BYE 2114 Content-Length: 0 2115 F23 200 OK Music Server -> Alice 2117 SIP/2.0 200 OK 2118 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2119 ;branch=z9hG4bK74rf 2120 ;received=192.0.2.103 2121 To: ;tag=0111 2122 From: ;tag=098594 2123 Call-ID: a5-75-34-12-76@server.example.com 2124 CSeq: 15 BYE 2125 Content-Length: 0 2127 /* Normal media session between Alice and Bob is resumed */ 2129 2.4. Transfer - Unattended 2131 Alice Bob Carol 2132 | INVITE F1 | | 2133 |<-------------------| | 2134 | 180 Ringing F2 | | 2135 |------------------->| | 2136 | 200 OK F3 | | 2137 |------------------->| | 2138 | ACK F4 | | 2139 |<-------------------| | 2140 | RTP | | 2141 |<==================>| | 2142 | | | 2143 | Alice performs unattended transfer | 2144 | | | 2145 | REFER Refer-To:C F5| | 2146 |------------------->| | 2147 | 202 Accepted F6 | | 2148 |<-------------------| | 2149 | NOTIFY F7 | | 2150 |<-------------------| | 2151 | 200 OK F8 | | 2152 |------------------->| | 2153 | BYE F9 | | 2154 |------------------->| | 2155 | 200 OK F10 | | 2156 |<-------------------| | 2157 | No RTP Session | INVITE Referred-By: A F11 2158 | |------------------->| 2159 | | 180 Ringing F12 | 2160 | |<-------------------| 2161 | | 200 OK F13 | 2162 | |<-------------------| 2163 | | ACK F14 | 2164 | |------------------->| 2165 | | RTP | 2166 | |<==================>| 2167 | NOTIFY F15 | | 2168 |<-------------------| | 2169 | 200 OK F16 | | 2170 |------------------->| | 2171 | | | 2173 In this scenario, Bob calls Alice. Alice then transfers Bob to 2174 Carol, then Alice disconnects with Bob. Bob establishes the session 2175 to Carol then reports the success back to Alice in the NOTIFY in F15. 2177 If the transfer fails, Bob can send a new INVITE back to Alice to re- 2178 establish the session. 2180 Despite the BYE sent by Alice in F9, the dialog between Alice and Bob 2181 still exists until the subscription created by the REFER has 2182 terminated (either due to a NOTIFY containing a Subscription-State: 2183 terminated;reason=noresource header field, as in F15, or a 481 2184 response to a NOTIFY). 2186 For more about call transfer see the transfer [12] document. 2188 Message Details 2190 F1 INVITE Bob -> Alice 2192 INVITE sips:alice@atlanta.example.com SIP/2.0 2193 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2194 ;branch=z9hG4bKnashds7 2195 Max-Forwards: 70 2196 From: Bob ;tag=314159 2197 To: Alice 2198 Call-ID: 12345601@atlanta.example.com 2199 CSeq: 1 INVITE 2200 Contact: 2201 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2202 Supported: replaces 2203 Content-Type: application/sdp 2204 Content-Length: ... 2206 v=0 2207 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 2208 s= 2209 c=IN IP4 client.biloxi.example.com 2210 t=0 0 2211 m=audio 3456 RTP/AVP 0 2212 a=rtpmap:0 PCMU/8000 2214 F2 180 Ringing Alice -> Bob 2216 SIP/2.0 180 Ringing 2217 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2218 ;branch=z9hG4bKnashds7 2219 ;received=192.0.2.113 2220 From: Bob ;tag=314159 2221 To: Alice ;tag=1234567 2222 Call-ID: 12345601@atlanta.example.com 2223 CSeq: 1 INVITE 2224 Contact: 2225 Content-Length: 0 2227 F3 200 OK Alice -> Bob 2229 SIP/2.0 200 OK 2230 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2231 ;branch=z9hG4bKnashds7 2232 ;received=192.0.2.113 2233 From: Bob ;tag=314159 2234 To: Alice ;tag=1234567 2235 Call-ID: 12345601@atlanta.example.com 2236 CSeq: 1 INVITE 2237 Contact: 2238 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2239 Supported: replaces 2240 Content-Type: application/sdp 2241 Content-Length: ... 2243 v=0 2244 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 2245 s= 2246 c=IN IP4 client.atlanta.example.com 2247 t=0 0 2248 m=audio 49170 RTP/AVP 0 2249 a=rtpmap:0 PCMU/8000 2251 F4 ACK Bob -> Alice 2253 ACK sips:alice@client.atlanta.example.com SIP/2.0 2254 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2255 ;branch=z9hG4bKnashds2 2256 Max-Forwards: 70 2257 From: Bob ;tag=314159 2258 To: Alice ;tag=1234567 2259 Call-ID: 12345601@atlanta.example.com 2260 CSeq: 1 ACK 2261 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2262 Supported: replaces 2263 Content-Length: 0 2265 /* Session is established between Alice and Bob. */ 2267 /* Alice performs unattended transfer of Bob to Carol */ 2268 F5 REFER Alice -> Bob 2270 REFER sips:bob@client.biloxi.example.com SIP/2.0 2271 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2272 ;branch=z9hG4bKnashds8 2273 Max-Forwards: 70 2274 From: Alice ;tag=1234567 2275 To: Bob ;tag=314159 2276 Call-ID: 12345601@atlanta.example.com 2277 CSeq: 101 REFER 2278 Refer-To: 2279 Referred-By: 2280 Contact: 2281 Content-Length: 0 2283 F6 202 Accepted Bob -> Alice 2285 SIP/2.0 202 Accepted 2286 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2287 ;branch=z9hG4bKnashds8 2288 ;received=192.0.2.105 2289 From: Alice ;tag=1234567 2290 To: Bob ;tag=314159 2291 Call-ID: 12345601@atlanta.example.com 2292 Contact: 2293 CSeq: 101 REFER 2294 Content-Length: 0 2296 F7 NOTIFY Bob -> Alice 2298 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 2299 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2300 ;branch=z9hG4bKnashds32 2301 Max-Forwards: 70 2302 From: Bob ;tag=314159 2303 To: Alice ;tag=1234567 2304 Call-ID: 12345601@atlanta.example.com 2305 CSeq: 2 NOTIFY 2306 Event: refer 2307 Subscription-State: active;expires=60 2308 Contact: 2309 Content-Type: message/sipfrag 2310 Content-Length: ... 2312 SIP/2.0 100 Trying 2313 F8 200 OK Alice -> Bob 2315 SIP/2.0 200 OK 2316 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2317 ;branch=z9hG4bKnashds32 2318 ;received=192.0.2.113 2319 From: Bob ;tag=314159 2320 To: Alice ;tag=1234567 2321 Call-ID: 12345601@atlanta.example.com 2322 CSeq: 2 NOTIFY 2323 Content-Length: 0 2325 /* Alice now disconnects with Bob. */ 2327 F9 BYE Alice -> Bob 2329 BYE sips:bob@client.biloxi.example.com SIP/2.0 2330 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2331 ;branch=z9hG4bKnashds43 2332 Max-Forwards: 70 2333 From: Alice ;tag=1234567 2334 To: Bob ;tag=314159 2335 Call-ID: 12345601@atlanta.example.com 2336 CSeq: 102 BYE 2337 Content-Length: 0 2339 F10 200 OK Bob -> Alice 2341 SIP/2.0 200 OK 2342 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2343 ;branch=z9hG4bKnashds43 2344 ;received=192.0.2.105 2345 From: Alice ;tag=1234567 2346 To: Bob ;tag=314159 2347 Call-ID: 12345601@atlanta.example.com 2348 CSeq: 102 BYE 2349 Content-Length: 0 2351 /* Bob attempts the transfer to Carol */ 2353 F11 INVITE Bob -> Carol 2355 INVITE sips:carol@chicago.example.com SIP/2.0 2356 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2357 ;branch=z9hG4bKnashds1 2359 Max-Forwards: 70 2360 From: Bob ;tag=8675309 2361 To: Carol 2362 Call-ID: 7436222@atlanta.example.com 2363 CSeq: 1 INVITE 2364 Contact: 2365 Referred-By: 2366 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2367 Supported: replaces 2368 Content-Type: application/sdp 2369 Content-Length: ... 2371 v=0 2372 o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com 2373 s= 2374 c=IN IP4 client.biloxi.example.com 2375 t=0 0 2376 m=audio 3458 RTP/AVP 0 2377 a=rtpmap:0 PCMU/8000 2379 F12 180 Ringing Carol -> Bob 2381 SIP/2.0 180 Ringing 2382 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2383 ;branch=z9hG4bKnashds1 2384 ;received=192.0.2.113 2385 From: Bob ;tag=8675309 2386 To: Carol ;tag=928287 2387 Call-ID: 7436222@atlanta.example.com 2388 CSeq: 1 INVITE 2389 Contact: 2390 Content-Length: 0 2392 F13 200 OK Carol -> Bob 2394 SIP/2.0 200 OK 2395 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2396 ;branch=z9hG4bKnashds1 2397 ;received=192.0.2.113 2398 From: Bob ;tag=8675309 2399 To: Carol ;tag=928287 2400 Call-ID: 7436222@atlanta.example.com 2401 CSeq: 1 INVITE 2402 Contact: 2403 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2404 Supported: replaces 2405 Content-Type: application/sdp 2406 Content-Length: ... 2408 v=0 2409 o=carol 2890944542 2890844542 IN IP4 client.chicago.example.com 2410 s= 2411 c=IN IP4 client.chicago.example.com 2412 t=0 0 2413 m=audio 3456 RTP/AVP 0 2414 a=rtpmap:0 PCMU/8000 2416 F14 ACK Bob -> Carol 2418 ACK sips:carol@client.chicago.example.com SIP/2.0 2419 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2420 ;branch=z9hG4bKnashds9 2421 Max-Forwards: 70 2422 From: Bob ;tag=8675309 2423 To: Carol ;tag=928287 2424 Call-ID: 7436222@atlanta.example.com 2425 CSeq: 1 ACK 2426 Content-Length: 0 2428 /* Bob and Carol now have established a session. Bob reports 2429 success to Alice which Alice probably ignores. */ 2431 F15 NOTIFY Bob -> Alice 2433 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 2434 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2435 ;branch=z9hG4bKnashds67 2436 Max-Forwards: 70 2437 From: Bob ;tag=314159 2438 To: Alice ;tag=1234567 2439 Call-ID: 12345601@atlanta.example.com 2440 CSeq: 3 NOTIFY 2441 Event: refer 2442 Subscription-State: terminated;reason=noresource 2443 Contact: 2444 Content-Type: message/sipfrag 2445 Content-Length: ... 2447 SIP/2.0 200 OK 2448 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2449 ;branch=z9hG4bKnashds1 2450 ;received=192.0.2.113 2452 From: Bob ;tag=8675309 2453 To: Carol ;tag=928287 2454 Call-ID: 7436222@atlanta.example.com 2455 CSeq: 1 INVITE 2456 Contact: 2457 Content-Type: application/sdp 2458 Content-Length: ... 2460 F16 200 OK Alice -> Bob 2462 SIP/2.0 200 OK 2463 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2464 ;branch=z9hG4bKnashds6 2465 ;received=192.0.2.113 2466 From: Bob ;tag=314159 2467 To: Alice ;tag=1234567 2468 Call-ID: 12345601@atlanta.example.com 2469 CSeq: 3 NOTIFY 2470 Content-Length: 0 2472 2.5. Transfer - Attended 2474 Alice Bob Carol 2475 | | | 2476 | INVITE F1 | | 2477 |--------------->| | 2478 | 180 Ringing F2 | | 2479 |<---------------| | 2480 | 200 OK F3 | | 2481 |<---------------| | 2482 | ACK F4 | | 2483 |--------------->| | 2484 | RTP | | 2485 |<==============>| | 2486 |INVITE (hold) F5| | 2487 |<---------------| | 2488 | 200 OK F6 | | 2489 |--------------->| | 2490 | ACK F7 | | 2491 |<---------------| | 2492 | No RTP | | 2493 | | INVITE F8 | 2494 | |------------->| 2495 | | 180 Ringing F9 2496 | |<-------------| 2497 | | 200 OK F10 | 2498 | |<-------------| 2499 | | ACK F11 | 2500 | |------------->| 2501 | | RTP | 2502 | |<============>| 2503 | |INVITE (hold) F12 2504 | |------------->| 2505 | | 200 OK F13 | 2506 | |<-------------| 2507 | | ACK F14 | 2508 | |------------->| 2509 | | No RTP | 2510 | REFER Refer-To: C F15 | 2511 |<---------------| | 2512 |202 Accepted F16| | 2513 |--------------->| | 2514 | NOTIFY F17 | | 2515 |--------------->| | 2516 | 200 OK F18 | | 2517 |<---------------| | 2518 | INVITE Replaces: B F19 | 2519 |------------------------------>| 2520 | 200 OK F20 | 2521 |<------------------------------| 2522 | ACK F21 | 2523 |------------------------------>| 2524 | RTP | 2525 |<=============================>| 2526 | | BYE F22 | 2527 | |<-------------| 2528 | | 200 OK F23 | 2529 | |------------->| 2530 | NOTIFY F24 | | 2531 |--------------->| | 2532 | 200 OK F25 | | 2533 |<---------------| | 2534 | BYE F26 | | 2535 |<---------------| | 2536 | 200 OK F27 | | 2537 |--------------->| | 2539 In this scenario, Alice calls Bob. Bob puts Alice on hold then calls 2540 Carol to announce transfer, then places Carol on hold. Bob transfers 2541 Alice to Carol which replaces the session between Bob and Carol. 2542 Carol then disconnects session with Bob. Alice reports success of 2543 transfer to Bob, who then disconnects with Alice. In this example, 2544 the Replaces header field [3] is inserted into the Refer-To URI by 2545 Bob. Note that the Refer-To URI is the Contact URI returned by Carol 2546 in the 200 OK response F10. This ensures that only the correct 2547 instance of Carol is reached. The presence of the gr URI parameter 2548 in the Contact URI in message F10 indicates that the Contact URI is a 2549 GRUU [16] and will be globally routable outside of the dialog. 2550 Without knowing the Contact URI is a gruu, Bob must be prepared, if 2551 the triggered INVITE had failed, to retry the REFER with a Refer-To 2552 URI of the URI used to reach Carol but with a Require: replaces 2553 header escaped in the Refer-To header field, as discussed in the 2554 transfer [12] document. 2556 Message Details 2558 F1 INVITE Alice -> Bob 2560 INVITE sips:bob@biloxi.example.com SIP/2.0 2561 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2562 ;branch=z9hG4bK74bf9 2563 Max-Forwards: 70 2564 From: Alice ;tag=1234567 2565 To: Bob 2566 Call-ID: 12345600@atlanta.example.com 2567 CSeq: 1 INVITE 2568 Contact: 2569 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2570 Supported: replaces 2571 Content-Type: application/sdp 2572 Content-Length: ... 2574 v=0 2575 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 2576 s= 2577 c=IN IP4 client.atlanta.example.com 2578 t=0 0 2579 m=audio 49170 RTP/AVP 0 2580 a=rtpmap:0 PCMU/8000 2582 F2 180 Ringing Bob -> Alice 2584 SIP/2.0 180 Ringing 2585 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2586 ;branch=z9hG4bK74bf9 2587 ;received=192.0.2.103 2588 From: Alice ;tag=1234567 2589 To: Bob ;tag=23431 2590 Call-ID: 12345600@atlanta.example.com 2591 CSeq: 1 INVITE 2592 Contact: 2593 Content-Length: 0 2595 F3 200 OK Bob -> Alice 2597 SIP/2.0 200 OK 2598 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2599 ;branch=z9hG4bK74bf9 2600 ;received=192.0.2.103 2601 From: Alice ;tag=1234567 2602 To: Bob ;tag=23431 2603 Call-ID: 12345600@atlanta.example.com 2604 CSeq: 1 INVITE 2605 Contact: 2606 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2607 Supported: replaces 2608 Content-Type: application/sdp 2609 Content-Length: ... 2611 v=0 2612 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 2613 s= 2614 c=IN IP4 client.biloxi.example.com 2615 t=0 0 2616 m=audio 3456 RTP/AVP 0 2617 a=rtpmap:0 PCMU/8000 2619 F4 ACK Alice -> Bob 2621 ACK sips:bob@client.biloxi.example.com SIP/2.0 2622 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2623 ;branch=z9hG4bK74bf 2624 Max-Forwards: 70 2625 From: Alice ;tag=1234567 2626 To: Bob ;tag=23431 2627 Call-ID: 12345600@atlanta.example.com 2628 CSeq: 1 ACK 2629 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2630 Supported: replaces 2631 Content-Length: 0 2633 /* Alice and Bob have established a session. 2634 Bob puts Alice on Hold */ 2636 F5 INVITE Bob -> Alice 2638 INVITE sips:alice@client.atlanta.example.com SIP/2.0 2639 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2640 ;branch=z9hG4bKnashds7 2641 Max-Forwards: 70 2642 From: Bob ;tag=23431 2643 To: Alice ;tag=1234567 2644 Call-ID: 12345600@atlanta.example.com 2645 CSeq: 1024 INVITE 2646 Contact: ;+sip.rendering="no" 2647 Content-Type: application/sdp 2648 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2649 Supported: replaces 2650 Content-Length: ... 2652 v=0 2653 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 2654 s= 2655 c=IN IP4 client.biloxi.example.com 2656 t=0 0 2657 m=audio 3456 RTP/AVP 0 2658 a=rtpmap:0 PCMU/8000 2659 a=sendonly 2661 F6 200 OK Alice -> Bob 2663 SIP/2.0 200 OK 2664 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2665 ;branch=z9hG4bKnashds7 2666 ;received=192.0.2.113 2667 From: Bob ;tag=23431 2668 To: Alice ;tag=1234567 2669 Call-ID: 12345600@atlanta.example.com 2670 CSeq: 1024 INVITE 2671 Contact: 2672 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2673 Supported: replaces 2674 Content-Type: application/sdp 2675 Content-Length: ... 2677 v=0 2678 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 2679 s= 2680 c=IN IP4 client.atlanta.example.com 2681 t=0 0 2682 m=audio 49170 RTP/AVP 0 2683 a=rtpmap:0 PCMU/8000 2684 a=recvonly 2686 F7 ACK Bob -> Alice 2688 ACK sips:alice@client.atlanta.example.com SIP/2.0 2689 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2690 ;branch=z9hG4bKnashds3 2691 Max-Forwards: 70 2692 From: Bob ;tag=23431 2693 To: Alice ;tag=1234567 2694 Call-ID: 12345600@atlanta.example.com 2695 CSeq: 1024 ACK 2696 Content-Length: 0 2698 /* Bob calls Carol */ 2700 F8 INVITE Bob -> Carol 2702 INVITE sips:carol@chicago.example.com SIP/2.0 2703 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2704 ;branch=z9hG4bKnash 2705 Max-Forwards: 70 2706 From: Bob ;tag=8675309 2707 To: Carol 2708 Call-ID: sdjfdjfskdf@biloxi.example.com 2709 CSeq: 42 INVITE 2710 Contact: 2711 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2712 Supported: replaces 2713 Content-Type: application/sdp 2714 Content-Length: ... 2716 v=0 2717 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 2718 s= 2719 c=IN IP4 client.biloxi.example.com 2720 t=0 0 2721 m=audio 3458 RTP/AVP 0 2722 a=rtpmap:0 PCMU/8000 2724 F9 180 Ringing Carol -> Bob 2726 SIP/2.0 180 Ringing 2727 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2728 ;branch=z9hG4bKnash 2729 ;received=192.0.2.113 2730 From: Bob ;tag=8675309 2731 To: Carol ;tag=5f35a3 2732 Call-ID: sdjfdjfskdf@biloxi.example.com 2733 CSeq: 42 INVITE 2734 Contact: 2735 Content-Length: 0 2737 F10 200 OK Carol -> Bob 2739 SIP/2.0 200 OK 2740 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2741 ;branch=z9hG4bKnash 2742 ;received=192.0.2.113 2743 From: Bob ;tag=8675309 2744 To: Carol ;tag=5f35a3 2745 Call-ID: sdjfdjfskdf@biloxi.example.com 2746 CSeq: 42 INVITE 2747 Contact: 2748 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2749 Supported: replaces, gruu 2750 Content-Type: application/sdp 2751 Content-Length: ... 2753 v=0 2754 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 2755 s= 2756 c=IN IP4 client.chicago.example.com 2757 t=0 0 2758 m=audio 3456 RTP/AVP 0 2759 a=rtpmap:0 PCMU/8000 2761 F11 ACK Bob -> Carol 2763 ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2764 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2765 ;branch=z9hG4bKnashd5 2766 Max-Forwards: 70 2767 From: Bob ;tag=8675309 2768 To: Carol ;tag=5f35a3 2769 Call-ID: sdjfdjfskdf@biloxi.example.com 2770 CSeq: 42 ACK 2771 Content-Length: 0 2772 /* Bob puts Carol on hold */ 2774 F12 INVITE Bob -> Carol 2776 INVITE sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2777 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2778 ;branch=z9hG4bKnashds0 2779 Max-Forwards: 70 2780 From: Bob ;tag=8675309 2781 To: Carol ;tag=5f35a3 2782 Call-ID: sdjfdjfskdf@biloxi.example.com 2783 CSeq: 43 INVITE 2784 Contact: ;+sip.rendering="no" 2785 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2786 Supported: replaces 2787 Content-Type: application/sdp 2788 Content-Length: ... 2790 v=0 2791 o=bob 289084834 2890844835 IN IP4 client.biloxi.example.com 2792 s= 2793 c=IN IP4 client.biloxi.example.com 2794 t=0 0 2795 m=audio 3458 RTP/AVP 0 2796 a=rtpmap:0 PCMU/8000 2797 a=sendonly 2799 F13 200 OK Carol -> Bob 2801 SIP/2.0 200 OK 2802 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2803 ;branch=z9hG4bKnashds0 2804 ;received=192.0.2.113 2805 From: Bob ;tag=8675309 2806 To: Carol ;tag=5f35a3 2807 Call-ID: sdjfdjfskdf@biloxi.example.com 2808 CSeq: 43 INVITE 2809 Contact: 2810 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2811 Supported: replaces, gruu 2812 Content-Type: application/sdp 2813 Content-Length: ... 2815 v=0 2816 o=carol 2890844922 2890844923 IN IP4 client.chicago.example.com 2817 s= 2818 c=IN IP4 client.chicago.example.com 2819 t=0 0 2820 m=audio 3456 RTP/AVP 0 2821 a=rtpmap:0 PCMU/8000 2822 a=recvonly 2824 F14 ACK Bob -> Carol 2826 ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2827 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2828 ;branch=z9hG4bKnash334 2829 Max-Forwards: 70 2830 From: Bob ;tag=8675309 2831 To: Carol ;tag=5f35a3 2832 Call-ID: sdjfdjfskdf@biloxi.example.com 2833 CSeq: 43 ACK 2834 Content-Length: 0 2836 /* Bob Transfers Alice to Carol. */ 2838 F15 REFER Bob -> Alice 2840 REFER sips:alice@client.atlanta.example.com SIP/2.0 2841 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2842 ;branch=z9hG4bKnashds2g 2843 Max-Forwards: 70 2844 From: Bob ;tag=23431 2845 To: Alice ;tag=1234567 2846 Call-ID: 12345600@atlanta.example.com 2847 CSeq: 1025 REFER 2848 2849 Refer-To: 2852 2853 Referred-By: 2854 Contact: 2855 Content-Length: 0 2857 F16 202 Accepted Alice -> Bob 2859 SIP/2.0 202 Accepted 2860 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2861 ;branch=z9hG4bKnashds2g 2862 ;received=192.0.2.113 2863 From: Bob ;tag=23431 2864 To: Alice ;tag=1234567 2865 Call-ID: 12345600@atlanta.example.com 2866 Contact: 2867 CSeq: 1025 REFER 2868 Content-Length: 0 2870 F17 NOTIFY Alice -> Bob 2872 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 2873 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2874 ;branch=z9hG4bK74bfK 2875 Max-Forwards: 70 2876 From: Alice ;tag=1234567 2877 To: Bob ;tag=23431 2878 Call-ID: 12345600@atlanta.example.com 2879 CSeq: 2 NOTIFY 2880 Contact: 2881 Event: refer 2882 Subscription-State: active;expires=60 2883 Content-Type: message/sipfrag 2884 Content-Length: ... 2886 SIP/2.0 100 Trying 2888 F18 200 OK Bob -> Alice 2890 SIP/2.0 200 OK 2891 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2892 ;branch=z9hG4bK74bfK 2893 ;received=192.0.2.103 2894 From: Alice ;tag=1234567 2895 To: Bob ;tag=23431 2896 Call-ID: 12345600@atlanta.example.com 2897 CSeq: 2 NOTIFY 2898 Content-Length: 0 2900 /* Alice establishes session with Carol which replaces the 2901 session between Bob and Carol */ 2903 F19 INVITE Alice -> Carol 2905 INVITE sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2906 Via: SIP/2.0/TLS chicago.example.com:5061 2907 ;branch=z9hG4bKadfe4ko 2908 To: Carol 2909 Max-Forwards: 70 2910 From: Alice ;tag=3461 2911 Call-ID: 9435674543@atlanta.example.com 2912 CSeq: 1 INVITE 2913 Require: replaces 2914 Referred-By: 2915 Replaces: sdjfdjfskdf@biloxi.example.com 2916 ;to-tag=5f35a3;from-tag=8675309 2917 Contact: 2918 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2919 Supported: replaces 2920 Content-Type: application/sdp 2921 Content-Length: ... 2923 v=0 2924 o=alice 2890844989 2890844989 IN IP4 client.atlanta.example.com 2925 s= 2926 c=IN IP4 client.atlanta.example.com 2927 t=0 0 2928 m=audio 3458 RTP/AVP 0 2929 a=rtpmap:0 PCMU/8000 2931 F20 200 OK Carol -> Alice 2933 SIP/2.0 200 OK 2934 Via: SIP/2.0/TLS chicago.example.com:5061 2935 ;branch=z9hG4bKadfe4ko 2936 ;received=192.0.2.103 2937 To: Carol ;tag=ff3a 2938 From: Alice ;tag=3461 2939 Call-ID: 9435674543@atlanta.example.com 2940 CSeq: 1 INVITE 2941 Contact: 2942 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2943 Supported: replaces, gruu 2944 Content-Type: application/sdp 2945 Content-Length: ... 2947 v=0 2948 o=carol 2890844221 2890844221 IN IP4 client.chicago.example.com 2949 s= 2950 c=IN IP4 client.chicago.example.com 2951 t=0 0 2952 m=audio 49172 RTP/AVP 0 2953 a=rtpmap:0 PCMU/8000 2954 F21 ACK Alice -> Carol 2956 ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2957 Via: SIP/2.0/TLS chicago.example.com:5061 2958 ;branch=z9hG4bKadfe4kU3 2959 To: Carol ;tag=ff3a 2960 Max-Forwards: 70 2961 From: Alice ;tag=3461 2962 Call-ID: 9435674543@atlanta.example.com 2963 CSeq: 1 ACK 2964 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2965 Supported: replaces 2966 Content-Length: 0 2968 /* Carol then disconnects from Bob */ 2970 F22 BYE Carol -> Bob 2972 BYE sips:bob@client.biloxi.example.com SIP/2.0 2973 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2974 ;branch=z9hG4bK74bfE 2975 To: Bob ;tag=8675309 2976 Max-Forwards: 70 2977 From: Carol ;tag=5f35a3 2978 Call-ID: sdjfdjfskdf@biloxi.example.com 2979 CSeq: 1 BYE 2980 Content-Length: 0 2982 F23 200 OK Bob -> Carol 2984 SIP/2.0 200 OK 2985 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2986 ;branch=z9hG4bK74bfE 2987 ;received=192.0.2.123 2988 To: Bob ;tag=8675309 2989 From: Carol ;tag=5f35a3 2990 Call-ID: sdjfdjfskdf@biloxi.example.com 2991 CSeq: 1 BYE 2992 Content-Length: 0 2994 /* Alice tells Bob that the call has been 2995 successfully transferred */ 2997 F24 NOTIFY Alice -> Bob 2998 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 2999 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3000 ;branch=z9hG4bK74bf2N 3001 Max-Forwards: 70 3002 From: Alice ;tag=1234567 3003 To: Bob ;tag=23431 3004 Call-ID: 12345600@atlanta.example.com 3005 CSeq: 3 NOTIFY 3006 Event: refer 3007 Subscription-State: terminated;reason=noresource 3008 Contact: 3009 Content-Type: message/sipfrag 3010 Content-Length: ... 3012 SIP/2.0 200 OK 3013 Via: SIP/2.0/TLS chicago.example.com:5061 3014 ;branch=z9hG4bKadfe4ko 3015 ;received=192.0.2.103 3016 To: Carol ;tag=ff3a 3017 From: Alice ;tag=3461 3018 Call-ID: 9435674543@atlanta.example.com 3019 CSeq: 1 INVITE 3020 Contact: 3022 F25 200 OK Bob -> Alice 3024 SIP/2.0 200 OK 3025 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3026 ;branch=z9hG4bK74bf9 3027 ;received=192.0.2.103 3028 From: Alice ;tag=1234567 3029 To: Bob ;tag=23431 3030 Call-ID: 12345600@atlanta.example.com 3031 CSeq: 3 NOTIFY 3032 Content-Length: 0 3034 /* Bob disconnects with Alice */ 3036 F26 BYE Bob -> Alice 3038 BYE sips:alice@client.atlanta.example.com SIP/2.0 3039 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3040 ;branch=z9hG4bKnashds7P 3041 Max-Forwards: 70 3042 From: Bob ;tag=23431 3043 To: Alice ;tag=1234567 3044 Call-ID: 12345600@atlanta.example.com 3045 CSeq: 1026 BYE 3046 Content-Length: 0 3048 F27 200 OK Alice -> Bob 3050 SIP/2.0 200 OK 3051 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3052 ;branch=z9hG4bKnashds7P 3053 ;received=192.0.2.113 3054 From: Bob ;tag=23431 3055 To: Alice ;tag=1234567 3056 Call-ID: 12345600@atlanta.example.com 3057 CSeq: 1026 BYE 3058 Content-Length: 0 3060 2.6. Transfer - Instant Messaging 3062 Alice Bob Carol 3063 | | | 3064 | INVITE F1 | | 3065 |------------->| | 3066 | 180 Ringing F2 | 3067 |<-------------| | 3068 | 200 OK F3 | | 3069 |<-------------| | 3070 | ACK F4 | | 3071 |------------->| | 3072 | Both way RTP Established | 3073 |<============>| | 3074 | | MESSAGE F5 | 3075 | |------------------>| 3076 | | 200 OK F6 | 3077 | |<------------------| 3078 | | | 3079 | INVITE Replaces:A-B F7 | 3080 |<---------------------------------| 3081 | 200 OK F8 | 3082 |--------------------------------->| 3083 | ACK F9 | 3084 |<---------------------------------| 3085 | Both way RTP Established | 3086 |<================================>| 3087 | BYE F10 | | 3088 |------------->| | 3089 | 200 OK F11 | | 3090 |<-------------| | 3091 | | 3093 In this scenario, Alice and Bob establish a session between them. 3094 Bob wants Carol to take the call so sends an Instant Message (IM) to 3095 Carol containing Alice's URI and an embedded Replaces header field. 3096 If Carol clicks on the URI, Carol's SIP UA sends an INVITE to Alice 3097 which replaces the session with Bob. 3099 This scenario shows the use of the SIP MESSAGE [10] method to pass 3100 the URI. However, another IM protocol or other method could have 3101 been used to pass the URI from Bob to Carol. 3103 Message Details 3105 F1 INVITE Alice -> Bob 3106 INVITE sips:bob@biloxi.example.com SIP/2.0 3107 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3108 ;branch=z9hG4bK74bf9 3109 Max-Forwards: 70 3110 From: Alice ;tag=1234567 3111 To: Bob 3112 Call-ID: 12345600@atlanta.example.com 3113 CSeq: 1 INVITE 3114 Contact: 3115 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3116 Supported: replaces, gruu 3117 Content-Type: application/sdp 3118 Content-Length: ... 3120 v=0 3121 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3122 s= 3123 c=IN IP4 client.atlanta.example.com 3124 t=0 0 3125 m=audio 49170 RTP/AVP 0 3126 a=rtpmap:0 PCMU/8000 3128 F2 180 Ringing Bob -> Alice 3130 SIP/2.0 180 Ringing 3131 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3132 ;branch=z9hG4bK74bf9 3133 ;received=192.0.2.103 3134 From: Alice ;tag=1234567 3135 To: Bob ;tag=3145678 3136 Call-ID: 12345600@atlanta.example.com 3137 CSeq: 1 INVITE 3138 Contact: 3139 Content-Length: 0 3141 F3 200 OK Bob -> Alice 3143 SIP/2.0 200 OK 3144 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3145 ;branch=z9hG4bK74bf9 3146 ;received=192.0.2.103 3147 From: Alice ;tag=1234567 3148 To: Bob ;tag=3145678 3149 Call-ID: 12345600@atlanta.example.com 3150 Contact: 3151 CSeq: 1 INVITE 3152 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3153 Supported: replaces 3154 Content-Type: application/sdp 3155 Content-Length: ... 3157 v=0 3158 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 3159 s= 3160 c=IN IP4 client.biloxi.example.com 3161 t=0 0 3162 m=audio 3456 RTP/AVP 0 3163 a=rtpmap:0 PCMU/8000 3165 F4 ACK Alice -> Bob 3167 ACK sips:bob@client.biloxi.example.com SIP/2.0 3168 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3169 ;branch=z9hG4bK74r 3170 Max-Forwards: 70 3171 From: Alice ;tag=1234567 3172 To: Bob ;tag=3145678 3173 Call-ID: 12345600@atlanta.example.com 3174 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3175 Supported: replaces 3176 CSeq: 1 ACK 3177 Content-Length: 0 3179 /* Bob IMs Carol */ 3181 F5 MESSAGE Bob -> Carol 3183 MESSAGE sips:carol@chicago.example.com SIP/2.0 3184 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3185 ;branch=z9hG4bKnash 3186 Max-Forwards: 70 3187 From: Bob ;tag=8675309 3188 To: Carol 3189 Call-ID: sdjfdjfskdf@biloxi.example.com 3190 CSeq: 42 MESSAGE 3191 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3192 Supported: replaces 3193 Content-Type: text/html 3194 Content-Length: ... 3196 Do you want to take this call from 3197 3198 3201 Alice? 3202 3203 3205 F6 200 OK Carol -> Bob 3207 SIP/2.0 200 OK 3208 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3209 ;branch=z9hG4bKnash 3210 ;received=192.0.2.113 3211 From: Bob ;tag=8675309 3212 To: Carol ;tag=5f35a3 3213 Call-ID: sdjfdjfskdf@biloxi.example.com 3214 CSeq: 42 MESSAGE 3215 Contact: 3216 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3217 Supported: replaces 3218 Content-Length: 0 3220 /* Carol takes the call from Bob */ 3222 F7 INVITE Carol -> Alice 3224 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 3225 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 3226 ;branch=z9hG4bK74HH 3227 Max-Forwards: 70 3228 From: Carol ;tag=8675310 3229 To: Alice 3230 Call-ID: 563456212@b2.chicago.example.com 3231 CSeq: 1 INVITE 3232 Require: replaces 3233 Replaces: 12345600@atlanta.example.com 3234 ;to-tag=3145678;from-tag=1234567 3235 Contact: 3236 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3237 Supported: replaces 3238 Content-Type: application/sdp 3239 Content-Length: ... 3241 v=0 3242 o=carol 2890843122 2890843122 IN IP4 client.chicago.example.com 3243 s= 3244 c=IN IP4 client.chicago.example.com 3245 t=0 0 3246 m=audio 5342 RTP/AVP 0 3247 a=rtpmap:0 PCMU/8000 3249 /* Alice matches the dialog information in the 3250 Replaces header and accepts the INVITE */ 3252 F8 200 OK Alice -> Carol 3254 SIP/2.0 200 OK 3255 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 3256 ;branch=z9hG4bK74HH 3257 ;received=192.0.2.114 3258 From: Carol ;tag=8675310 3259 To: Alice ;tag=131256 3260 Call-ID: 563456212@b2.chicago.example.com 3261 CSeq: 1 INVITE 3262 Contact: 3263 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3264 Supported: replaces, gruu 3265 Content-Type: application/sdp 3266 Content-Length: ... 3268 v=0 3269 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com 3270 s= 3271 c=IN IP4 client.atlanta.example.com 3272 t=0 0 3273 m=audio 49172 RTP/AVP 0 3274 a=rtpmap:0 PCMU/8000 3276 F9 ACK Carol -> Alice 3278 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 3279 Via: SIP/2.0/TLS b2.biloxi.example.com:5061 3280 ;branch=z9hG4bK7435 3281 Max-Forwards: 70 3282 From: Carol ;tag=8675310 3283 To: Alice ;tag=131256 3284 Call-ID: 563456212@b2.chicago.example.com 3285 CSeq: 1 ACK 3286 Content-Length: 0 3288 /* RTP streams are established between Alice and Carol. 3290 Alice Hangs Up with Bob due to the Replaces header field. */ 3292 F10 BYE Alice -> Bob 3294 BYE sips:bob@client.biloxi.example.com SIP/2.0 3295 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3296 ;branch=z9hG4bK74bf 3297 Max-Forwards: 70 3298 From: Alice ;tag=1234567 3299 To: Bob ;tag=3145678 3300 Call-ID: 12345600@atlanta.example.com 3301 CSeq: 2 BYE 3302 Content-Length: 0 3304 F11 200 OK Bob -> Alice 3306 SIP/2.0 200 OK 3307 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3308 ;branch=z9hG4bK74bf 3309 ;received=192.0.2.103 3310 From: Alice ;tag=1234567 3311 To: Bob ;tag=3145678 3312 Call-ID: 12345600@atlanta.example.com 3313 CSeq: 2 BYE 3314 Content-Length: 0 3316 2.7. Call Forwarding Unconditional 3318 Alice Proxy Gateway 3319 | | | 3320 | INVITE F1 | | 3321 |--------------->| | 3322 |(100 Trying) F2 | | 3323 |<---------------| | 3324 | (181 Call Is Being Forwarded) F3 3325 |<---------------| INVITE F4 | 3326 | |------------->| 3327 | |180 Ringing F5| 3328 | 180 Ringing F6 |<-------------| 3329 |<---------------| 200 OK F7 | 3330 | 200 OK F8 |<-------------| 3331 |<---------------| | 3332 | ACK F9 | | 3333 |--------------->| ACK F10 | 3334 | |------------->| 3335 | Both way RTP Established | 3336 |<=============================>| 3337 | BYE F11 | | 3338 |--------------->| BYE F12 | 3339 | |------------->| 3340 | | 200 OK F13 | 3341 | 200 OK F14 |<-------------| 3342 |<---------------| | 3343 | | | 3345 Bob wants all calls forwarded to the PSTN (which is just another URI 3346 to the proxy server). Alice calls Bob. The proxy server rewrites the 3347 Request URI, and forwards the INVITE to a Gateway. Details of 3348 messaging behind the Gateway are not shown. 3350 Note that the 181 Call is Being Forwarded response does not have a To 3351 tag added as the proxy does not wish to establish an early dialog 3352 with Alice. Strictly speaking, the proxy is behaving as a User Agent 3353 in this case as a proxy can not generate non-100 provisional 3354 responses. 3356 Note also that forwarding could be accomplished using a redirect (302 3357 Moved Temporarily response). 3359 Message Details 3361 F1 INVITE Alice -> Proxy 3362 INVITE sips:bob@biloxi.example.com SIP/2.0 3363 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3364 ;branch=z9hG4bK74bf9 3365 Max-Forwards: 70 3366 From: Alice ;tag=1234567 3367 To: Bob 3368 Call-ID: 12345600@atlanta.example.com 3369 CSeq: 1 INVITE 3370 Contact: 3371 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3372 Content-Type: application/sdp 3373 Content-Length: ... 3375 v=0 3376 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3377 s= 3378 c=IN IP4 client.atlanta.example.com 3379 t=0 0 3380 m=audio 49170 RTP/AVP 0 3381 a=rtpmap:0 PCMU/8000 3383 F2 (100 Trying) Proxy -> Alice 3385 SIP/2.0 100 Trying 3386 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3387 ;branch=z9hG4bK74bf9 3388 ;received=192.0.2.103 3389 From: Alice ;tag=1234567 3390 To: Bob 3391 Call-ID: 12345600@atlanta.example.com 3392 CSeq: 1 INVITE 3393 Content-Length: 0 3395 F3 (181 Call is Being Forwarded) Proxy -> Alice 3397 SIP/2.0 181 Call is Being Forwarded 3398 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3399 ;branch=z9hG4bK74bf9 3400 ;received=192.0.2.103 3401 From: Alice ;tag=1234567 3402 To: Bob ;tag=9214d 3403 Call-ID: 12345600@atlanta.example.com 3404 CSeq: 1 INVITE 3405 Content-Length: 0 3406 /* Proxy forwards call by rewriting Request-URI */ 3408 F4 INVITE Proxy -> Gateway 3410 INVITE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3411 Via: SIP/2.0/TLS ss1.example.com:5061 3412 ;branch=z9hG4bK83749.1 3413 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3414 ;branch=z9hG4bK74bf9 3415 ;received=192.0.2.103 3416 Record-Route: 3417 Max-Forwards: 69 3418 From: Alice ;tag=1234567 3419 To: Bob 3420 Call-ID: 12345600@atlanta.example.com 3421 CSeq: 1 INVITE 3422 Contact: 3423 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3424 Content-Type: application/sdp 3425 Content-Length: ... 3427 v=0 3428 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3429 s= 3430 c=IN IP4 client.atlanta.example.com 3431 t=0 0 3432 m=audio 49170 RTP/AVP 0 3433 a=rtpmap:0 PCMU/8000 3435 F5 180 Ringing Gateway -> Proxy 3437 SIP/2.0 180 Ringing 3438 Via: SIP/2.0/TLS ss1.example.com:5061 3439 ;branch=z9hG4bK83749.1 3440 ;received=192.0.2.54 3441 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3442 ;branch=z9hG4bK74bf9 3443 ;received=192.0.2.103 3444 Record-Route: 3445 From: Alice ;tag=1234567 3446 To: Bob ;tag=314159 3447 Call-ID: 12345600@atlanta.example.com 3448 CSeq: 1 INVITE 3449 Contact: 3450 Content Length:0 3451 F6 180 Ringing Proxy -> Alice 3453 SIP/2.0 180 Ringing 3454 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3455 ;branch=z9hG4bK74bf9 3456 ;received=192.0.2.103 3457 Record-Route: 3458 From: Alice ;tag=1234567 3459 To: Bob ;tag=314159 3460 Call-ID: 12345600@atlanta.example.com 3461 CSeq: 1 INVITE 3462 Contact: 3463 Content Length: 0 3465 F7 200 OK Gateway -> Proxy 3467 SIP/2.0 200 OK 3468 Via: SIP/2.0/TLS ss1.example.com:5061 3469 ;branch=z9hG4bK83749.1 3470 ;received=192.0.2.54 3471 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3472 ;branch=z9hG4bK74bf9 3473 ;received=192.0.2.103 3474 Record-Route: 3475 From: Alice ;tag=1234567 3476 To: Bob ;tag=314159 3477 Call-ID: 12345600@atlanta.example.com 3478 CSeq: 1 INVITE 3479 Contact: 3480 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3481 Content-Type: application/sdp 3482 Content-Length: ... 3484 v=0 3485 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com 3486 s= 3487 c=IN IP4 gatewayone.example.com 3488 t=0 0 3489 m=audio 3456 RTP/AVP 0 3490 a=rtpmap:0 PCMU/8000 3492 F8 200 OK Proxy -> Alice 3494 SIP/2.0 200 OK 3495 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3496 ;branch=z9hG4bK74bf9 3497 ;received=192.0.2.103 3498 Record-Route: 3499 From: Alice ;tag=1234567 3500 To: Bob ;tag=314159 3501 Call-ID: 12345600@atlanta.example.com 3502 CSeq: 1 INVITE 3503 Contact: 3504 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3505 Content-Type: application/sdp 3506 Content-Length: ... 3508 v=0 3509 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com 3510 s= 3511 c=IN IP4 gatewayone.example.com 3512 t=0 0 3513 m=audio 3456 RTP/AVP 0 3514 a=rtpmap:0 PCMU/8000 3516 F9 ACK Alice -> Proxy 3518 ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3519 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3520 ;branch=z9hG4bK74bf31 3521 Route: 3522 Max-Forwards: 70 3523 From: Alice ;tag=1234567 3524 To: Bob ;tag=314159 3525 Call-ID: 12345600@atlanta.example.com 3526 CSeq: 1 ACK 3527 Content-Length: 0 3529 F10 ACK Proxy -> Gateway 3531 ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3532 Via: SIP/2.0/TLS ss1.example.com:5061 3533 ;branch=z9hG4bK83749ws.1 3534 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3535 ;branch=z9hG4bK74bf31 3536 ;received=192.0.2.103 3537 Max-Forwards: 69 3538 From: Alice ;tag=1234567 3539 To: Bob ;tag=314159 3540 Call-ID: 12345600@atlanta.example.com 3541 CSeq: 1 ACK 3542 Content-Length: 0 3543 F11 BYE Alice -> Proxy 3545 BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3546 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3547 ;branch=z9hG4bK74bfJe 3548 Route: 3549 Max-Forwards: 70 3550 From: Alice ;tag=1234567 3551 To: Bob ;tag=314159 3552 Call-ID: 12345600@atlanta.example.com 3553 CSeq: 2 BYE 3554 Content-Length: 0 3556 F12 BYE Proxy -> Gateway 3558 BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3559 Via: SIP/2.0/TLS ss1.example.com:5061 3560 ;branch=z9hG4bK83749G1 3561 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3562 ;branch=z9hG4bK74bfJe 3563 ;received=192.0.2.103 3564 Max-Forwards: 69 3565 From: Alice ;tag=1234567 3566 To: Bob ;tag=314159 3567 Call-ID: 12345600@atlanta.example.com 3568 CSeq: 2 BYE 3569 Content-Length: 0 3571 F13 200 OK Gateway -> Proxy 3573 SIP/2.0 200 OK 3574 Via: SIP/2.0/TLS ss1.example.com:5061 3575 ;branch=z9hG4bK83749G1 3576 ;received=192.0.2.54 3577 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3578 ;branch=z9hG4bK74bfJe 3579 ;received=192.0.2.103 3580 From: Alice ;tag=1234567 3581 To: Bob ;tag=314159 3582 Call-ID: 12345600@atlanta.example.com 3583 CSeq: 2 BYE 3584 Content-Length: 0 3586 F14 200 OK Proxy -> Alice 3587 SIP/2.0 200 OK 3588 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3589 ;branch=z9hG4bK74bfJe 3590 ;received=192.0.2.103 3591 From: Alice ;tag=1234567 3592 To: Bob ;tag=314159 3593 Call-ID: 12345600@atlanta.example.com 3594 CSeq: 2 BYE 3595 Content-Length: 0 3597 2.8. Call Forwarding - Busy 3599 Alice Proxy User B1 User B2 3600 | | | | 3601 | INVITE F1 | | | 3602 |--------------->| INVITE F2 | | 3603 | |------------->| | 3604 |(100 Trying) F3 | | | 3605 |<---------------| 486 Busy F4 | | 3606 | |<-------------| | 3607 | | ACK F5 | | 3608 | |------------->| | 3609 |(181 Call is Being Forwarded) F6 | 3610 |<---------------| | INVITE F7 | 3611 | |--------------------------------->| 3612 | | | 180 Ringing F8 | 3613 | |<---------------------------------| 3614 | 180 Ringing F9 | | | 3615 |<---------------| | 200 OK F10 | 3616 | |<---------------------------------| 3617 | 200 OK F11 | | | 3618 |<---------------| | | 3619 | ACK F12 | | | 3620 |--------------->| | ACK F13 | 3621 | |--------------------------------->| 3622 | Both way RTP Established | 3623 |<=================================================>| 3624 | BYE F14 | | | 3625 |--------------->| | BYE F15 | 3626 | |--------------------------------->| 3627 | | | 200 OK F16 | 3628 | 200 OK F17 |<---------------------------------| 3629 |<---------------| | | 3630 | | | | 3632 Bob wants calls to B1 forwarded to B2 if B1 is busy (this information 3633 is known to the proxy). Alice calls B1, B1 is busy, the proxy server 3634 places call to B2. 3636 Message Details 3638 F1 INVITE Alice -> Proxy 3640 INVITE sips:bob@biloxi.example.com SIP/2.0 3641 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3642 ;branch=z9hG4bK74bf9 3643 Max-Forwards: 70 3644 From: Alice ;tag=1234567 3645 To: Bob 3646 Call-ID: 12345600@atlanta.example.com 3647 CSeq: 1 INVITE 3648 Contact: 3649 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3650 Content-Type: application/sdp 3651 Content-Length: ... 3653 v=0 3654 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3655 s= 3656 c=IN IP4 client.atlanta.example.com 3657 t=0 0 3658 m=audio 49170 RTP/AVP 0 3659 a=rtpmap:0 PCMU/8000 3661 F2 INVITE Proxy -> B1 3663 INVITE sips:bob@client.biloxi.example.com SIP/2.0 3664 Via: SIP/2.0/TLS ss1.example.com:5061 3665 ;branch=z9hG4bK83749.1 3666 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3667 ;branch=z9hG4bK74bf9 3668 ;received=192.0.2.103 3669 Record-Route: 3670 Max-Forwards: 69 3671 From: Alice ;tag=1234567 3672 To: Bob 3673 Call-ID: 12345600@atlanta.example.com 3674 CSeq: 1 INVITE 3675 Contact: 3676 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3677 Content-Type: application/sdp 3678 Content-Length: ... 3680 v=0 3681 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3682 s= 3683 c=IN IP4 client.atlanta.example.com 3684 t=0 0 3685 m=audio 49170 RTP/AVP 0 3686 a=rtpmap:0 PCMU/8000 3688 F3 (100 Trying) Proxy -> Alice 3690 SIP/2.0 100 Trying 3691 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3692 ;branch=z9hG4bK74bf9 3693 ;received=192.0.2.103 3694 From: Alice ;tag=1234567 3695 To: Bob 3696 Call-ID: 12345600@atlanta.example.com 3697 CSeq: 1 INVITE 3698 Content-Length: 0 3700 F4 486 Busy Here B1 -> Proxy 3702 SIP/2.0 486 Busy Here 3703 Via: SIP/2.0/TLS ss1.example.com:5061 3704 ;branch=z9hG4bK83749.1 3705 ;received=192.0.2.54 3706 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3707 ;branch=z9hG4bK74bf9 3708 ;received=192.0.2.103 3709 From: Alice ;tag=1234567 3710 To: Bob ;tag=765432 3711 Call-ID: 12345600@atlanta.example.com 3712 CSeq: 1 INVITE 3713 Content-Length: 0 3715 F5 ACK Proxy -> B1 3717 ACK sips:bob@client.biloxi.example.com SIP/2.0 3718 Via: SIP/2.0/TLS ss1.example.com:5061 3719 ;branch=z9hG4bK83749.1 3720 Max-Forwards: 70 3721 From: Alice ;tag=1234567 3722 To: Bob ;tag=765432 3723 Call-ID: 12345600@atlanta.example.com 3724 CSeq: 1 ACK 3725 Content-Length: 0 3727 F6 (181 Call is Being Forwarded) Proxy -> Alice 3729 SIP/2.0 181 Call is Being Forwarded 3730 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3731 ;branch=z9hG4bK74bf9 3732 ;received=192.0.2.103 3733 From: Alice ;tag=1234567 3734 To: Bob ;tag=9214d 3735 Call-ID: 12345600@atlanta.example.com 3736 CSeq: 1 INVITE 3737 Content-Length: 0 3739 /* The proxy now forwards the call to B2 */ 3741 F7 INVITE Proxy -> B2 3743 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 3744 Via: SIP/2.0/TLS ss1.example.com:5061 3745 ;branch=z9hG4bK83749.2 3746 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3747 ;branch=z9hG4bK74bf9 3748 ;received=192.0.2.103 3749 Record-Route: 3750 Max-Forwards: 69 3751 From: Alice ;tag=1234567 3752 To: Bob 3753 Call-ID: 12345600@atlanta.example.com 3754 CSeq: 1 INVITE 3755 Contact: 3756 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3757 Content-Type: application/sdp 3758 Content-Length: ... 3760 v=0 3761 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3762 s= 3763 c=IN IP4 client.atlanta.example.com 3764 t=0 0 3765 m=audio 49170 RTP/AVP 0 3766 a=rtpmap:0 PCMU/8000 3768 F8 180 Ringing B2 -> Proxy 3769 SIP/2.0 180 Ringing 3770 Via: SIP/2.0/TLS ss1.example.com:5061 3771 ;branch=z9hG4bK83749.2 3772 ;received=192.0.2.54 3773 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3774 ;branch=z9hG4bK74bf9 3775 ;received=192.0.2.103 3776 Record-Route: 3777 From: Alice ;tag=1234567 3778 To: Bob ;tag=7654321 3779 Call-ID: 12345600@atlanta.example.com 3780 CSeq: 1 INVITE 3781 Contact: 3782 Content-Length: 0 3784 F9 180 Ringing Proxy -> Alice 3786 SIP/2.0 180 Ringing 3787 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3788 ;branch=z9hG4bK74bf9 3789 ;received=192.0.2.103 3790 Record-Route: 3791 From: Alice ;tag=1234567 3792 To: Bob ;tag=7654321 3793 Call-ID: 12345600@atlanta.example.com 3794 CSeq: 1 INVITE 3795 Contact: 3796 Content-Length: 0 3798 F10 200 OK B2 -> Proxy 3800 SIP/2.0 200 OK 3801 Via: SIP/2.0/TLS ss1.example.com:5061 3802 ;branch=z9hG4bK83749.2 3803 ;received=192.0.2.54 3804 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3805 ;branch=z9hG4bK74bf9 3806 ;received=192.0.2.103 3807 Record-Route: 3808 From: Alice ;tag=1234567 3809 To: Bob ;tag=7654321 3810 Call-ID: 12345600@atlanta.example.com 3811 CSeq: 1 INVITE 3812 Contact: 3813 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3814 Content-Type: application/sdp 3815 Content-Length: ... 3817 v=0 3818 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 3819 s= 3820 c=IN IP4 client2.biloxi.example.com 3821 t=0 0 3822 m=audio 3456 RTP/AVP 0 3823 a=rtpmap:0 PCMU/8000 3825 F11 200 OK Proxy -> Alice 3827 SIP/2.0 200 OK 3828 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3829 ;branch=z9hG4bK74bf9 3830 ;received=192.0.2.103 3831 Record-Route: 3832 From: Alice ;tag=1234567 3833 To: Bob ;tag=7654321 3834 Call-ID: 12345600@atlanta.example.com 3835 CSeq: 1 INVITE 3836 Contact: 3837 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3838 Content-Type: application/sdp 3839 Content-Length: ... 3841 v=0 3842 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 3843 s= 3844 c=IN IP4 client2.biloxi.example.com 3845 t=0 0 3846 m=audio 3456 RTP/AVP 0 3847 a=rtpmap:0 PCMU/8000 3849 F12 ACK Alice -> Proxy 3851 ACK sips:bob@client2.biloxi.example.com SIP/2.0 3852 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3853 ;branch=z9hG4bK74bfX 3854 Route: 3855 Max-Forwards: 70 3856 From: Alice ;tag=1234567 3857 To: Bob ;tag=7654321 3858 Call-ID: 12345600@atlanta.example.com 3859 CSeq: 1 ACK 3860 Content-Length: 0 3861 F13 ACK Proxy -> B2 3863 ACK sips:bob@client2.biloxi.example.com SIP/2.0 3864 Via: SIP/2.0/TLS ss1.example.com:5061 3865 ;branch=z9hG4bK83731 3866 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3867 ;branch=z9hG4bK74bfX 3868 ;received=192.0.2.103 3869 Max-Forwards: 69 3870 From: Alice ;tag=1234567 3871 To: Bob ;tag=7654321 3872 Call-ID: 12345600@atlanta.example.com 3873 CSeq: 1 ACK 3874 Content-Length: 0 3876 /* RTP streams are established between A and B2 */ 3878 /* Alice eventually hangs up with User B2. */ 3880 F14 BYE Alice -> Proxy 3882 BYE sips:bob@client2.biloxi.example.com SIP/2.0 3883 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3884 ;branch=z9hG4bK74bW4 3885 Route: 3886 Max-Forwards: 70 3887 From: Alice ;tag=1234567 3888 To: Bob ;tag=7654321 3889 Call-ID: 12345600@atlanta.example.com 3890 CSeq: 2 BYE 3891 Content-Length: 0 3893 F15 BYE Proxy -> B2 3895 BYE sips:bob@client2.biloxi.example.com SIP/2.0 3896 Via: SIP/2.0/TLS ss1.example.com:5061 3897 ;branch=z9hG4bK837493 3898 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3899 ;branch=z9hG4bK74bW4 3900 ;received=192.0.2.103 3901 Max-Forwards: 69 3902 From: Alice ;tag=1234567 3903 To: Bob ;tag=7654321 3904 Call-ID: 12345600@atlanta.example.com 3905 CSeq: 2 BYE 3906 Content-Length: 0 3907 F16 200 OK B2 -> Proxy 3909 SIP/2.0 200 OK 3910 Via: SIP/2.0/TLS ss1.example.com:5061 3911 ;branch=z9hG4bK837493 3912 ;received=192.0.2.54 3913 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3914 ;branch=z9hG4bK74bW4 3915 ;received=192.0.2.103 3916 From: Alice ;tag=1234567 3917 To: Bob ;tag=7654321 3918 Call-ID: 12345600@atlanta.example.com 3919 CSeq: 2 BYE 3920 Content-Length: 0 3922 F17 200 OK Proxy -> Alice 3924 SIP/2.0 200 OK 3925 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3926 ;branch=z9hG4bK74bW4 3927 ;received=192.0.2.103 3928 From: Alice ;tag=1234567 3929 To: Bob ;tag=7654321 3930 Call-ID: 12345600@atlanta.example.com 3931 CSeq: 2 BYE 3932 Content-Length: 0 3934 2.9. Call Forwarding - No Answer 3936 Alice Proxy User B1 User B2 3937 | | | | 3938 | INVITE F1 | | | 3939 |--------------->| INVITE F2 | | 3940 |(100 Trying) F3 |------------->| | 3941 |<---------------|180 Ringing F4| | 3942 | 180 Ringing F5 |<-------------| | 3943 |<---------------| | | 3944 | Request Timeout | 3945 | | | | 3946 | | CANCEL F6 | | 3947 | |------------->| | 3948 | | 200 OK F7 | | 3949 | |<-------------| | 3950 | | 487 F8 | | 3951 | |<-------------| | 3952 | | ACK F9 | | 3953 | |------------->| | 3954 |(181 Call is Being Forwarded) F10 | 3955 |<---------------| | INVITE F11 | 3956 | |--------------------------------->| 3957 | | | 180 Ringing F12 | 3958 | 180 Ringing F13|<---------------------------------| 3959 |<---------------| | 200 OK F14 | 3960 | |<---------------------------------| 3961 | 200 OK F15 | | | 3962 |<---------------| | | 3963 | ACK F16 | | | 3964 |--------------->| | ACK F17 | 3965 | |--------------------------------->| 3966 | Both way RTP Established | 3967 |<=================================================>| 3968 | BYE F18 | | | 3969 |--------------->| | BYE F19 | 3970 | |--------------------------------->| 3971 | | | 200 OK F20 | 3972 | 200 OK F21 |<---------------------------------| 3973 |<---------------| | | 3974 | | | | 3976 Bob wants calls to B1 forwarded to B2 if B1 is not answered 3977 (information is known to the proxy server). Alice calls B1 and no 3978 one answers. The proxy server then places the call to B2. 3980 Message Details 3981 F1 INVITE Alice -> Proxy 3983 INVITE sips:bob@biloxi.example.com SIP/2.0 3984 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3985 ;branch=z9hG4bK74bf9 3986 Max-Forwards: 70 3987 From: Alice ;tag=1234567 3988 To: Bob 3989 Call-ID: 12345600@atlanta.example.com 3990 CSeq: 1 INVITE 3991 Contact: 3992 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3993 Content-Type: application/sdp 3994 Content-Length: ... 3996 v=0 3997 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3998 s= 3999 c=IN IP4 client.atlanta.example.com 4000 t=0 0 4001 m=audio 49170 RTP/AVP 0 4002 a=rtpmap:0 PCMU/8000 4004 F2 INVITE Proxy -> B1 4006 INVITE sips:bob@client.biloxi.example.com SIP/2.0 4007 Via: SIP/2.0/TLS ss1.example.com:5061 4008 ;branch=z9hG4bK83749.1 4009 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4010 ;branch=z9hG4bK74bf9 4011 ;received=192.0.2.103 4012 Record-Route: 4013 Max-Forwards: 69 4014 From: Alice ;tag=1234567 4015 To: Bob 4016 Call-ID: 12345600@atlanta.example.com 4017 CSeq: 1 INVITE 4018 Contact: 4019 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4020 Content-Type: application/sdp 4021 Content-Length: ... 4023 v=0 4024 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4025 s= 4026 c=IN IP4 client.atlanta.example.com 4027 t=0 0 4028 m=audio 49170 RTP/AVP 0 4029 a=rtpmap:0 PCMU/8000 4031 F3 (100 Trying) Proxy -> Alice 4033 SIP/2.0 100 Trying 4034 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4035 ;branch=z9hG4bK74bf9 4036 ;received=192.0.2.103 4037 From: Alice ;tag=1234567 4038 To: Bob 4039 Call-ID: 12345600@atlanta.example.com 4040 CSeq: 1 INVITE 4041 Content-Length: 0 4043 F4 180 Ringing B1 -> Proxy 4045 SIP/2.0 180 Ringing 4046 Via: SIP/2.0/TLS ss1.example.com:5061 4047 ;branch=z9hG4bK83749.1 4048 ;received=192.0.2.54 4049 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4050 ;branch=z9hG4bK74bf9 4051 ;received=192.0.2.103 4052 Record-Route: 4053 From: Alice ;tag=1234567 4054 To: Bob ;tag=3145678 4055 Call-ID: 12345600@atlanta.example.com 4056 CSeq: 1 INVITE 4057 Contact: 4058 Content-Length: 0 4060 F5 180 Ringing Proxy -> Alice 4062 SIP/2.0 180 Ringing 4063 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4064 ;branch=z9hG4bK74bf9 4065 ;received=192.0.2.103 4066 Record-Route: 4067 From: Alice ;tag=1234567 4068 To: Bob ;tag=3145678 4069 Call-ID: 12345600@atlanta.example.com 4070 CSeq: 1 INVITE 4071 Contact: 4072 Content-Length: 0 4073 /* B1 rings until a configurable timer expires in the Proxy. The 4074 Proxy sends Cancel and proceeds down the list of routes. */ 4076 F6 CANCEL Proxy -> B1 4078 CANCEL sips:bob@client.biloxi.example.com SIP/2.0 4079 Via: SIP/2.0/TLS ss1.example.com:5061 4080 ;branch=z9hG4bK83749.1 4081 Max-Forwards: 70 4082 From: Alice ;tag=1234567 4083 To: Bob 4084 Call-ID: 12345600@atlanta.example.com 4085 CSeq: 1 CANCEL 4086 Content-Length: 0 4088 F7 200 OK B1 -> Proxy 4090 SIP/2.0 200 OK 4091 Via: SIP/2.0/TLS ss1.example.com:5061 4092 ;branch=z9hG4bK83749.1 4093 ;received=192.0.2.54 4094 From: Alice ;tag=1234567 4095 To: Bob ;tag=329d823 4096 Call-ID: 12345600@atlanta.example.com 4097 CSeq: 1 CANCEL 4098 Content-Length: 0 4100 F8 487 Request Terminated B1 -> Proxy 4102 SIP/2.0 487 Request Terminated 4103 Via: SIP/2.0/TLS ss1.example.com:5061 4104 ;branch=z9hG4bK83749.1 4105 ;received=192.0.2.54 4106 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4107 ;branch=z9hG4bK74bf9 4108 ;received=192.0.2.103 4109 From: Alice ;tag=1234567 4110 To: Bob ;tag=3145678 4111 Call-ID: 12345600@atlanta.example.com 4112 CSeq: 1 INVITE 4113 Content-Length: 0 4115 F9 ACK Proxy -> B1 4117 ACK sips:bob@client.biloxi.example.com SIP/2.0 4118 Via: SIP/2.0/TLS ss1.example.com:5061 4119 ;branch=z9hG4bK83749.1 4120 Max-Forwards: 70 4121 From: Alice ;tag=1234567 4122 To: Bob ;tag=3145678 4123 Call-ID: 12345600@atlanta.example.com 4124 CSeq: 1 ACK 4125 Content-Length: 0 4127 F10 (181 Call is Being Forwarded) Proxy -> Alice 4129 SIP/2.0 181 Call is Being Forwarded 4130 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4131 ;branch=z9hG4bK74bf9 4132 ;received=192.0.2.103 4133 From: Alice ;tag=1234567 4134 To: Bob ;tag=9214d 4135 Call-ID: 12345600@atlanta.example.com 4136 CSeq: 1 INVITE 4137 Content-Length: 0 4139 F11 INVITE Proxy -> B2 4141 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 4142 Via: SIP/2.0/TLS ss1.example.com:5061 4143 ;branch=z9hG4bK83749.2 4144 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4145 ;branch=z9hG4bK74bf9 4146 ;received=192.0.2.103 4147 Record-Route: 4148 Max-Forwards: 69 4149 From: Alice ;tag=1234567 4150 To: Bob 4151 Call-ID: 12345600@atlanta.example.com 4152 CSeq: 1 INVITE 4153 Contact: 4154 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4155 Content-Type: application/sdp 4156 Content-Length: ... 4158 v=0 4159 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4160 s= 4161 c=IN IP4 client.atlanta.example.com 4162 t=0 0 4163 m=audio 49170 RTP/AVP 0 4164 a=rtpmap:0 PCMU/8000 4166 F12 180 Ringing B2 -> Proxy 4168 SIP/2.0 180 Ringing 4169 Via: SIP/2.0/TLS ss1.example.com:5061 4170 ;branch=z9hG4bK83749.2 4171 ;received=192.0.2.54 4172 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4173 ;branch=z9hG4bK74bf9 4174 ;received=192.0.2.103 4175 Record-Route: 4176 From: Alice ;tag=1234567 4177 To: Bob ;tag=765432 4178 Call-ID: 12345600@atlanta.example.com 4179 CSeq: 1 INVITE 4180 Contact: 4181 Content-Length: 0 4183 F13 180 Proxy -> Alice 4185 SIP/2.0 180 Ringing 4186 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4187 ;branch=z9hG4bK74bf9 4188 ;received=192.0.2.103 4189 Record-Route: 4190 From: Alice ;tag=1234567 4191 To: Bob ;tag=765432 4192 Call-ID: 12345600@atlanta.example.com 4193 CSeq: 1 INVITE 4194 Contact: 4195 Content-Length: 0 4197 F14 200 OK B2 -> Proxy 4199 SIP/2.0 200 OK 4200 Via: SIP/2.0/TLS ss1.example.com:5061 4201 ;branch=z9hG4bK83749.2 4202 ;received=192.0.2.54 4203 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4204 ;branch=z9hG4bK74bf9 4205 ;received=192.0.2.103 4206 Record-Route: 4207 From: Alice ;tag=1234567 4208 To: Bob ;tag=765432 4209 Call-ID: 12345600@atlanta.example.com 4210 CSeq: 1 INVITE 4211 Contact: 4212 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4213 Content-Type: application/sdp 4214 Content-Length: ... 4216 v=0 4217 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 4218 s= 4219 c=IN IP4 client2.biloxi.example.com 4220 t=0 0 4221 m=audio 3456 RTP/AVP 0 4222 a=rtpmap:0 PCMU/8000 4224 F15 200 OK Proxy -> Alice 4226 SIP/2.0 200 OK 4227 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4228 ;branch=z9hG4bK74bf9 4229 ;received=192.0.2.103 4230 Record-Route: 4231 From: Alice ;tag=1234567 4232 To: Bob ;tag=765432 4233 Call-ID: 12345600@atlanta.example.com 4234 CSeq: 1 INVITE 4235 Contact: 4236 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4237 Content-Type: application/sdp 4238 Content-Length: ... 4240 v=0 4241 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 4242 s= 4243 c=IN IP4 client2.biloxi.example.com 4244 t=0 0 4245 m=audio 3456 RTP/AVP 0 4246 a=rtpmap:0 PCMU/8000 4248 F16 ACK Alice -> Proxy 4250 ACK sips:bob@client2.biloxi.example.com SIP/2.0 4251 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4252 ;branch=z9hG4bK74bf3 4253 Route: 4254 Max-Forwards: 70 4255 From: Alice ;tag=1234567 4256 To: Bob ;tag=765432 4257 Call-ID: 12345600@atlanta.example.com 4258 CSeq: 1 ACK 4259 Content-Length: 0 4261 F17 ACK Proxy -> B2 4263 ACK sips:bob@client2.biloxi.example.com SIP/2.0 4264 Via: SIP/2.0/TLS ss1.example.com:5061 4265 ;branch=z9hG4bK8374.1 4266 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4267 ;branch=z9hG4bK74bf3 4268 ;received=192.0.2.103 4269 Max-Forwards: 69 4270 From: Alice ;tag=1234567 4271 To: Bob ;tag=765432 4272 Call-ID: 12345600@atlanta.example.com 4273 CSeq: 1 ACK 4274 Content-Length: 0 4276 /* RTP streams are established between A and B2. 4277 Alice Hangs Up with User B2. */ 4279 F18 BYE Alice -> Proxy 4281 BYE sips:bob@client2.biloxi.example.com SIP/2.0 4282 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4283 ;branch=z9hG4bK74b3f 4284 Route: 4285 Max-Forwards: 70 4286 From: Alice ;tag=1234567 4287 To: Bob ;tag=765432 4288 Call-ID: 12345600@atlanta.example.com 4289 CSeq: 2 BYE 4290 Content-Length: 0 4292 F19 BYE Proxy -> B2 4294 BYE sips:bob@client2.biloxi.example.com SIP/2.0 4295 Via: SIP/2.0/TLS ss1.example.com:5061 4296 ;branch=z9hG4bK837.1 4297 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4298 ;branch=z9hG4bK74b3f 4299 ;received=192.0.2.103 4301 Max-Forwards: 69 4302 From: Alice ;tag=1234567 4303 To: Bob ;tag=765432 4304 Call-ID: 12345600@atlanta.example.com 4305 CSeq: 2 BYE 4306 Content-Length: 0 4308 F20 200 OK B2 -> Proxy 4310 SIP/2.0 200 OK 4311 Via: SIP/2.0/TLS ss1.example.com:5061 4312 ;branch=z9hG4bK837.1 4313 ;received=192.0.2.54 4314 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4315 ;branch=z9hG4bK74b3f 4316 ;received=192.0.2.103 4317 From: Alice ;tag=1234567 4318 To: Bob ;tag=765432 4319 Call-ID: 12345600@atlanta.example.com 4320 CSeq: 2 BYE 4321 Content-Length: 0 4323 F21 200 OK Proxy -> Alice 4325 SIP/2.0 200 OK 4326 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4327 ;branch=z9hG4bK74b3f 4328 ;received=192.0.2.103 4329 From: Alice ;tag=1234567 4330 To: Bob ;tag=765432 4331 Call-ID: 12345600@atlanta.example.com 4332 CSeq: 2 BYE 4333 Content-Length: 0 4335 2.10. 3-way Conference - Third Party is Added 4337 Alice Bob Carol 4338 | INVITE F1 | | 4339 |--------------->| | 4340 | 180 Ringing F2 | | 4341 |<---------------| | 4342 | 200 OK F3 | | 4343 |<---------------| | 4344 | ACK F4 | | 4345 |--------------->| | 4346 | RTP | | 4347 |<==============>| | 4348 | INVITE F5 | | 4349 |<---------------| | 4350 | 200 OK F6 | | 4351 |--------------->| | 4352 | ACK F7 | | 4353 |<---------------| INVITE F8 | 4354 | |------------->| 4355 | | 180 F9 | 4356 | |<-------------| 4357 | | 200 OK F10 | 4358 | |<-------------| 4359 | | ACK F11 | 4360 | |------------->| 4361 | | RTP | 4362 | |<============>| 4364 In this scenario, Alice and Bob are in a 2-party call (session) when 4365 Bob wishes to add Carol into the conversation. Bob is capable of 4366 media mixing in a 3-party call. Bob first sends a re-INVITE to Alice 4367 changing Contact URIs to one that indicates Bob's mixer and acts like 4368 a focus. As a result, Bob includes the "isfocus" feature tag [8] as 4369 described in [9]. Bob then INVITEs Carol using the same Contact URI. 4370 Note that Bob could wait to re-INVITE Alice until after Carol has 4371 answered. Bob could also put Alice on hold before calling Carol 4373 Message Details 4375 F1 INVITE Alice -> Bob 4377 INVITE sips:bob@biloxi.example.com SIP/2.0 4378 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4379 ;branch=z9hG4bK74bf9 4380 Max-Forwards: 70 4381 From: Alice ;tag=1234567 4382 To: Bob 4383 Call-ID: 12345600@atlanta.example.com 4384 CSeq: 1 INVITE 4385 Contact: 4386 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4387 Supported: replaces 4388 Content-Type: application/sdp 4389 Content-Length: ... 4391 v=0 4392 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4393 s= 4394 c=IN IP4 client.atlanta.example.com 4395 t=0 0 4396 m=audio 49170 RTP/AVP 0 4397 a=rtpmap:0 PCMU/8000 4399 F2 180 Ringing Bob -> Alice 4401 SIP/2.0 180 Ringing 4402 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4403 ;branch=z9hG4bK74bf9 4404 ;received=192.0.2.103 4405 From: Alice ;tag=1234567 4406 To: Bob ;tag=23431 4407 Call-ID: 12345600@atlanta.example.com 4408 CSeq: 1 INVITE 4409 Contact: 4410 Content-Length: 0 4412 F3 200 OK Bob -> Alice 4414 SIP/2.0 200 OK 4416 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4417 ;branch=z9hG4bK74bf9 4418 ;received=192.0.2.103 4419 From: Alice ;tag=1234567 4420 To: Bob ;tag=23431 4421 Call-ID: 12345600@atlanta.example.com 4422 CSeq: 1 INVITE 4423 Contact: 4424 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4425 Supported: replaces, gruu 4426 Content-Type: application/sdp 4427 Content-Length: ... 4429 v=0 4430 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 4431 s= 4432 c=IN IP4 client.biloxi.example.com 4433 t=0 0 4434 m=audio 3456 RTP/AVP 0 4435 a=rtpmap:0 PCMU/8000 4437 F4 ACK Alice -> Bob 4439 ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 4440 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4441 ;branch=z9hG4bK74bfL 4442 Max-Forwards: 70 4443 From: Alice ;tag=1234567 4444 To: Bob ;tag=23431 4445 Call-ID: 12345600@atlanta.example.com 4446 CSeq: 1 ACK 4447 Content-Length: 0 4449 /* Alice and Bob have established a session. 4450 Bob re-INVITEs changing Contact URIs */ 4452 F5 INVITE Bob -> Alice 4454 INVITE sips:alice@client.atlanta.example.com SIP/2.0 4455 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4456 ;branch=z9hG4bKnashds 4457 Max-Forwards: 70 4458 From: Bob ;tag=23431 4459 To: Alice ;tag=1234567 4460 Call-ID: 12345600@atlanta.example.com 4461 CSeq: 1024 INVITE 4462 Contact: ;isfocus 4463 Content-Type: application/sdp 4464 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4465 Supported: replaces, gruu 4466 Content-Length: ... 4468 v=0 4469 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 4470 s= 4471 c=IN IP4 client.biloxi.example.com 4472 t=0 0 4473 m=audio 49172 RTP/AVP 0 4474 a=rtpmap:0 PCMU/8000 4476 F6 200 OK Alice -> Bob 4478 SIP/2.0 200 OK 4480 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4481 ;branch=z9hG4bKnashds7 4482 ;received=192.0.2.113 4483 From: Bob ;tag=23431 4484 To: Alice ;tag=1234567 4485 Call-ID: 12345600@atlanta.example.com 4486 CSeq: 1024 INVITE 4487 Contact: 4488 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4489 Supported: replaces 4490 Content-Type: application/sdp 4491 Content-Length: ... 4493 v=0 4494 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4495 s= 4496 c=IN IP4 client.atlanta.example.com 4497 t=0 0 4498 m=audio 49170 RTP/AVP 0 4499 a=rtpmap:0 PCMU/8000 4501 F7 ACK Bob -> Alice 4503 ACK sips:alice@client.atlanta.example.com SIP/2.0 4504 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4505 ;branch=z9hG4bKnash3G 4506 Max-Forwards: 70 4507 From: Bob ;tag=23431 4508 To: Alice ;tag=1234567 4509 Call-ID: 12345600@atlanta.example.com 4510 CSeq: 1024 ACK 4511 Content-Length: 0 4513 /* Bob calls Carol */ 4515 F8 INVITE Bob -> Carol 4517 INVITE sips:carol@chicago.example.com SIP/2.0 4518 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4519 ;branch=z9hG4bKnashJfd 4520 Max-Forwards: 70 4521 From: Bob ;tag=8675309 4522 To: Carol 4523 Call-ID: sdjfdjfskdf@biloxi.example.com 4524 CSeq: 42 INVITE 4525 Contact: ;isfocus 4526 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4527 Supported: replaces, gruu 4528 Content-Type: application/sdp 4529 Content-Length: ... 4531 v=0 4532 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 4533 s= 4534 c=IN IP4 client.biloxi.example.com 4535 t=0 0 4536 m=audio 48174 RTP/AVP 0 4537 a=rtpmap:0 PCMU/8000 4539 F9 180 Ringing Carol -> Bob 4541 SIP/2.0 200 OK 4542 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4543 ;branch=z9hG4bKnashJfd 4544 ;received=192.0.2.113 4545 From: Bob ;tag=8675309 4546 To: Carol ;tag=341313 4547 Call-ID: sdjfdjfskdf@biloxi.example.com 4548 CSeq: 42 INVITE 4549 Contact: 4550 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4551 Supported: replaces 4552 Content-Length: 0 4554 F10 200 OK Carol -> Bob 4556 SIP/2.0 200 OK 4557 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4558 ;branch=z9hG4bKnashJfd 4559 ;received=192.0.2.113 4560 From: Bob ;tag=8675309 4561 To: Carol ;tag=341313 4562 Call-ID: sdjfdjfskdf@biloxi.example.com 4563 CSeq: 42 INVITE 4564 Contact: 4565 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4566 Supported: replaces 4567 Content-Type: application/sdp 4568 Content-Length: ... 4570 v=0 4571 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 4572 s= 4573 c=IN IP4 client.chicago.example.com 4574 t=0 0 4575 m=audio 3456 RTP/AVP 0 4576 a=rtpmap:0 PCMU/8000 4578 F11 ACK Bob -> Carol 4580 ACK sips:carol@client.chicago.example.com SIP/2.0 4581 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4582 ;branch=z9hG4bKnash431 4583 Max-Forwards: 70 4584 From: Bob ;tag=8675309 4585 To: Carol ;tag=341313 4586 Call-ID: sdjfdjfskdf@biloxi.example.com 4587 CSeq: 42 ACK 4588 Content-Length: 0 4590 /* User B's mixer know mixes media from both A and C 4591 to create the 3-way conference. */ 4593 2.11. 3-way Conference - Third Party Joins 4595 Alice Bob Carol 4596 | INVITE F1 | | 4597 |--------------->| | 4598 | 180 Ringing F2 | | 4599 |<---------------| | 4600 | 200 OK F3 | | 4601 |<---------------| | 4602 | ACK F4 | | 4603 |--------------->| | 4604 | RTP | | 4605 |<==============>| INVITE Join:A-B F5 4606 | |<-------------| 4607 | | 180 F6 | 4608 | |------------->| 4609 | INVITE F7 | | 4610 |<---------------| | 4611 | 200 OK F8 | | 4612 |--------------->| | 4613 | ACK F9 | | 4614 |<---------------| | 4615 | | 200 OK F10 | 4616 | |------------->| 4617 | | ACK F11 | 4618 | |<-------------| 4619 | | RTP | 4620 | |<============>| 4622 In this scenario, Alice and Bob are in a 2 party call and Carol 4623 wishes to join resulting in a three party call. Carol could have 4624 learned Bob's dialog identifier using some non-SIP means, or possibly 4625 from a NOTIFY with the dialog package sent by Bob. Carol sends an 4626 INVITE to Bob containing a Join header identifying the dialog between 4627 Alice and Bob. Bob re-INVITEs Alice to switch to focus mode and 4628 includes the "isfocus" feature tag [8] as described in [9]. Bob then 4629 accepts the INVITE from Carol, resulting in the 3-way call. 4631 Message Details 4633 F1 INVITE Alice -> Bob 4635 INVITE sips:bob@biloxi.example.com SIP/2.0 4636 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4637 ;branch=z9hG4bK74bf9 4639 Max-Forwards: 70 4640 From: Alice ;tag=1234567 4641 To: Bob 4642 Call-ID: 12345600@atlanta.example.com 4643 CSeq: 1 INVITE 4644 Contact: 4645 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4646 Supported: replaces 4647 Content-Type: application/sdp 4648 Content-Length: ... 4650 v=0 4651 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4652 s= 4653 c=IN IP4 client.atlanta.example.com 4654 t=0 0 4655 m=audio 49170 RTP/AVP 0 4656 a=rtpmap:0 PCMU/8000 4658 F2 180 Ringing Bob -> Alice 4660 SIP/2.0 180 Ringing 4661 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4662 ;branch=z9hG4bK74bf9 4663 ;received=192.0.2.103 4664 From: Alice ;tag=1234567 4665 To: Bob ;tag=23431 4666 Call-ID: 12345600@atlanta.example.com 4667 CSeq: 1 INVITE 4668 Contact: 4669 Content-Length: 0 4671 F3 200 OK Bob -> Alice 4673 SIP/2.0 200 OK 4674 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4675 ;branch=z9hG4bK74bf9 4676 ;received=192.0.2.103 4677 From: Alice ;tag=1234567 4678 To: Bob ;tag=23431 4679 Call-ID: 12345600@atlanta.example.com 4680 CSeq: 1 INVITE 4681 Contact: 4682 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4683 Supported: replaces, join, gruu 4684 Content-Type: application/sdp 4685 Content-Length: ... 4687 v=0 4688 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 4689 s= 4690 c=IN IP4 client.biloxi.example.com 4691 t=0 0 4692 m=audio 3456 RTP/AVP 0 4693 a=rtpmap:0 PCMU/8000 4695 F4 ACK Alice -> Bob 4697 ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 4698 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4699 ;branch=z9hG4bK74bf6 4700 Max-Forwards: 70 4701 From: Alice ;tag=1234567 4702 To: Bob ;tag=23431 4703 Call-ID: 12345600@atlanta.example.com 4704 CSeq: 1 ACK 4705 Content-Length: 0 4707 /* Alice and Bob have established a session. 4708 Carol requests to join the session */ 4710 F5 INVITE Carol -> Bob 4712 INVITE sips:bob@biloxi.example.com SIP/2.0 4713 Via: SIP/2.0/TLS chicago.example.com:5061 4714 ;branch=z9hG4bKnashds7 4715 Max-Forwards: 70 4716 From: Carol ;tag=8675309 4717 To: Bob 4718 Call-ID: 452k499sk@chicago.example.com 4719 CSeq: 99 INVITE 4720 Contact: 4721 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4722 Supported: replaces, join 4723 Join: 12345600@atlanta.example.com;from-tag=1234567;to-tag=23431 4724 Content-Type: application/sdp 4725 Content-Length: ... 4727 v=0 4728 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 4729 s= 4730 c=IN IP4 client.chicago.example.com 4731 t=0 0 4732 m=audio 3456 RTP/AVP 0 4733 a=rtpmap:0 PCMU/8000 4735 F6 180 Ringing Bob -> Carol 4737 SIP/2.0 180 Ringing 4738 Via: SIP/2.0/TLS chicago.example.com:5061 4739 ;branch=z9hG4bKnashds7 4740 ;received=120. 4741 From: Carol ;tag=8675309 4742 To: Bob ;tag=0982 4743 Call-ID: 452k499sk@chicago.example.com 4744 CSeq: 99 INVITE 4745 Contact: ;isfocus 4746 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4747 Supported: replaces 4748 Content-Length: 0 4750 F7 INVITE Bob -> Alice 4752 INVITE sips:alice@client.atlanta.example.com SIP/2.0 4753 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4754 ;branch=z9hG4bKnashdyKL 4755 Max-Forwards: 70 4756 From: Bob ;tag=23431 4757 To: Alice ;tag=1234567 4758 Call-ID: 12345600@atlanta.example.com 4759 CSeq: 1024 INVITE 4760 Contact: ;isfocus 4761 Content-Type: application/sdp 4762 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4763 Supported: replaces, join, gruu 4764 Content-Length: ... 4766 v=0 4767 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 4768 s= 4769 c=IN IP4 client.biloxi.example.com 4770 t=0 0 4771 m=audio 49172 RTP/AVP 0 4772 a=rtpmap:0 PCMU/8000 4774 F8 200 OK Alice -> Bob 4775 SIP/2.0 200 OK 4776 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4777 ;branch=z9hG4bKnashdyKL 4778 ;received=192.0.2.113 4779 From: Bob ;tag=23431 4780 To: Alice ;tag=1234567 4781 Call-ID: 12345600@atlanta.example.com 4782 CSeq: 1024 INVITE 4783 Contact: 4784 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4785 Supported: replaces 4786 Content-Type: application/sdp 4787 Content-Length: ... 4789 v=0 4790 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4791 s= 4792 c=IN IP4 client.atlanta.example.com 4793 t=0 0 4794 m=audio 49170 RTP/AVP 0 4795 a=rtpmap:0 PCMU/8000 4797 F9 ACK Bob -> Alice 4799 ACK sips:alice@client.atlanta.example.com SIP/2.0 4800 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4801 ;branch=z9hG4bKnash3g 4802 Max-Forwards: 70 4803 From: Bob ;tag=23431 4804 To: Alice ;tag=1234567 4805 Call-ID: 12345600@atlanta.example.com 4806 CSeq: 1024 ACK 4807 Content-Length: 0 4809 F10 200 OK Bob -> Carol 4811 SIP/2.0 200 OK 4812 Via: SIP/2.0/TLS chicago.example.com:5061 4813 ;branch=z9hG4bKnashds7 4814 ;received=120. 4815 From: Carol ;tag=8675309 4816 To: Bob ;tag=0982 4817 Call-ID: 452k499sk@chicago.example.com 4818 CSeq: 99 INVITE 4819 Contact: ;isfocus 4820 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4821 Supported: replaces, join, gruu 4822 Content-Type: application/sdp 4823 Content-Length: ... 4825 v=0 4826 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 4827 s= 4828 c=IN IP4 client.biloxi.example.com 4829 t=0 0 4830 m=audio 48174 RTP/AVP 0 4831 a=rtpmap:0 PCMU/8000 4833 F11 ACK OK Carol -> Bob 4835 ACK sips:bob-Mixer@client.biloxi.example.com SIP/2.0 4836 Via: SIP/2.0/TLS chicago.example.com:5061 4837 ;branch=z9hG4bKnash4Gf 4838 Max-Forwards: 70 4839 From: Carol ;tag=8675309 4840 To: Bob ;tag=0982 4841 Call-ID: 452k499sk@chicago.example.com 4842 CSeq: 99 ACK 4843 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4844 Supported: replaces, join 4845 Content-Length:0 4847 2.12. Find-Me 4849 Alice Proxy User User User User 4850 B1 B2 B3 B4 4851 | | | | | | 4852 | INVITE F1 | | | | | 4853 |--------------->| INVITE F2 | | | | 4854 | |------------->| | | | 4855 |(100 Trying) F3 | | | | | 4856 |<---------------|180 Ringing F4| | | | 4857 | |<-------------| | | | 4858 | 180 Ringing F5 | | | | | 4859 |<---------------| | | | | 4860 | | Timeout | | | | 4861 | | | | | | 4862 | | CANCEL F6 | | | | 4863 | |------------->| | | | 4864 | | 200 OK F7 | | | | 4865 | |<-------------| | | | 4866 | | 487 F8 | | | | 4867 | |<-------------| | | | 4868 | | ACK F9 | | | | 4869 | |------------->| | | | 4870 | | INVITE F10 | | | 4871 | |-------------------->| | | 4872 | |480 Not Logged In F11| | | 4873 | |<--------------------| | | 4874 | | ACK F12| | | 4875 | |-------------------->| | | 4876 | | INVITE F13 | | 4877 | |--------------------------->| | 4878 | | 486 Busy Here F14 | | 4879 | |<---------------------------| | 4880 | | ACK F15 | | 4881 | |--------------------------->| | 4882 | | INVITE F16 | 4883 | |---------------------------------->| 4884 | | 180 Ringing F17 | 4885 | 180 F18 |<----------------------------------| 4886 |<---------------| 200 OK F19 | 4887 | 200 OK F20 |<----------------------------------| 4888 |<---------------| | 4889 | ACK F21 | | 4890 |--------------->| ACK F22 | 4891 | |---------------------------------->| 4892 | Both way RTP Established | 4893 |<==================================================>| 4894 | | BYE F23 | 4895 | BYE F24 |<----------------------------------| 4896 |<---------------| | 4897 | 200 OK F25 | | 4898 |--------------->| 200 OK F26 | 4899 | |---------------------------------->| 4900 | | | 4902 Alice's call to Bob will result in an attempt to locate that user by 4903 calling locations from a list of contacts. The location to answer 4904 the call becomes the active set, no other sets may join the call. 4906 While this flow shows a sequential search, the search could be 4907 accomplished using parallel forking, as in the previous example. 4909 Message Details 4911 F1 INVITE Alice -> Proxy 4912 INVITE sips:bob@biloxi.example.com SIP/2.0 4913 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4914 ;branch=z9hG4bK74bf9 4915 Max-Forwards: 70 4916 From: Alice ;tag=1234567 4917 To: Bob 4918 Call-ID: 12345600@atlanta.example.com 4919 CSeq: 1 INVITE 4920 Contact: 4921 Content-Type: application/sdp 4922 Content-Length: ... 4924 v=0 4925 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4926 s= 4927 c=IN IP4 client.atlanta.example.com 4928 t= 0 0 4929 m=audio 49170 RTP/AVP 0 4930 a=rtpmap:0 PCMU/8000 4932 F2 INVITE Proxy -> B1 4934 INVITE sips:bob@client.biloxi.example.com SIP/2.0 4935 Via: SIP/2.0/TLS ss1.example.com:5061 4936 ;branch=z9hG4bK83749.1 4937 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4938 ;branch=z9hG4bK74bf9 4939 ;received=192.0.2.103 4940 Record-Route: 4941 Max-Forwards: 69 4942 From: Alice ;tag=1234567 4943 To: Bob 4944 Call-ID: 12345600@atlanta.example.com 4945 CSeq: 1 INVITE 4946 Contact: 4947 Content-Type: application/sdp 4948 Content-Length: ... 4950 v=0 4951 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4952 s= 4953 c=IN IP4 client.atlanta.example.com 4954 t= 0 0 4955 m=audio 49170 RTP/AVP 0 4956 a=rtpmap:0 PCMU/8000 4957 F3 (100 Trying) Proxy -> Alice 4959 SIP/2.0 100 Trying 4960 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4961 ;branch=z9hG4bK74bf9 4962 ;received=192.0.2.103 4963 From: Alice ;tag=1234567 4964 To: Bob 4965 Call-ID: 12345600@atlanta.example.com 4966 CSeq: 1 INVITE 4967 Content-Length: 0 4969 F4 180 Ringing B1 -> Proxy 4971 SIP/2.0 180 Ringing 4972 Via: SIP/2.0/TLS ss1.example.com:5061 4973 ;branch=z9hG4bK83749.1 4974 ;received=192.0.2.54 4975 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4976 ;branch=z9hG4bK74bf9 4977 ;received=192.0.2.103 4978 Record-Route: 4979 From: Alice ;tag=1234567 4980 To: Bob ;tag=765432 4981 Call-ID: 12345600@atlanta.example.com 4982 CSeq: 1 INVITE 4983 Contact: 4984 Content-Length: 0 4986 F5 180 Ringing Proxy -> Alice 4988 SIP/2.0 180 Ringing 4989 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4990 ;branch=z9hG4bK74bf9 4991 ;received=192.0.2.103 4992 Record-Route: 4993 From: Alice ;tag=1234567 4994 To: Bob ;tag=765432 4995 Call-ID: 12345600@atlanta.example.com 4996 CSeq: 1 INVITE 4997 Contact: 4998 Content-Length: 0 5000 /* B1 rings until a configurable timer in the Proxy 5001 expires. The Proxy then sends Cancel and proceeds down 5002 the list of routes. */ 5004 F6 CANCEL Proxy -> B1 5006 CANCEL sips:bob@client.biloxi.example.com SIP/2.0 5007 Via: SIP/2.0/TLS ss1.example.com:5061 5008 ;branch=z9hG4bK83749.1 5009 Max-Forwards: 70 5010 From: Alice ;tag=1234567 5011 To: Bob 5012 Call-ID: 12345600@atlanta.example.com 5013 CSeq: 1 CANCEL 5014 Content-Length: 0 5016 F7 200 OK B1 -> Proxy 5018 SIP/2.0 200 OK 5019 Via: SIP/2.0/TLS ss1.example.com:5061 5020 ;branch=z9hG4bK83749.1 5021 ;received=192.0.2.54 5022 From: Alice ;tag=1234567 5023 To: Bob ;tag=765432 5024 Call-ID: 12345600@atlanta.example.com 5025 CSeq: 1 CANCEL 5026 Content-Length: 0 5028 F8 487 Request Terminated B1 -> Proxy 5030 SIP/2.0 487 Request Terminated 5031 Via: SIP/2.0/TLS ss1.example.com:5061 5032 ;branch=z9hG4bK83749.1 5033 ;received=192.0.2.54 5034 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5035 ;branch=z9hG4bK74bf9 5036 ;received=192.0.2.103 5037 From: Alice ;tag=1234567 5038 To: Bob ;tag=765432 5039 Call-ID: 12345600@atlanta.example.com 5040 CSeq: 1 INVITE 5041 Content-Length: 0 5043 F9 ACK Proxy -> B1 5045 ACK sips:bob@client.biloxi.example.com SIP/2.0 5046 Via: SIP/2.0/TLS ss1.example.com:5061 5047 ;branch=z9hG4bK83749.1 5048 Max-Forwards: 70 5049 From: Alice ;tag=1234567 5050 To: Bob ;tag=765432 5051 Call-ID: 12345600@atlanta.example.com 5052 CSeq: 1 ACK 5053 Content-Length: 0 5055 F10 INVITE Proxy -> B2 5057 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 5058 Via: SIP/2.0/TLS ss1.example.com:5061 5059 ;branch=z9hG4bK83749.2 5060 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5061 ;branch=z9hG4bK74bf9 5062 ;received=192.0.2.103 5063 Record-Route: 5064 Max-Forwards: 69 5065 From: Alice ;tag=1234567 5066 To: Bob 5067 Call-ID: 12345600@atlanta.example.com 5068 CSeq: 1 INVITE 5069 Contact: 5070 Content-Type: application/sdp 5071 Content-Length: ... 5073 v=0 5074 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5075 s= 5076 c=IN IP4 client.atlanta.example.com 5077 t=0 0 5078 m=audio 49170 RTP/AVP 0 5079 a=rtpmap:0 PCMU/8000 5081 F11 480 Not Logged In B2 -> Proxy 5083 SIP/2.0 480 Not Logged In 5084 Via: SIP/2.0/TLS ss1.example.com:5061 5085 ;branch=z9hG4bK83749.2 5086 ;received=192.0.2.54 5087 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5088 ;branch=z9hG4bK74bf9 5089 ;received=192.0.2.103 5090 From: Alice ;tag=1234567 5091 To: Bob ;tag=314756 5092 Call-ID: 12345600@atlanta.example.com 5093 CSeq: 1 INVITE 5094 Content-Length: 0 5096 F12 ACK Proxy -> B2 5098 ACK sips:bob@client2.biloxi.example.com SIP/2.0 5099 Via: SIP/2.0/TLS ss1.example.com:5061 5100 ;branch=z9hG4bK83749.2 5101 Max-Forwards: 70 5102 From: Alice ;tag=1234567 5103 To: Bob ;tag=314756 5104 Call-ID: 12345600@atlanta.example.com 5105 CSeq: 1 ACK 5106 Content-Length: 0 5108 F13 INVITE Proxy -> B3 5110 INVITE sips:bob@client3.biloxi.example.com SIP/2.0 5111 Via: SIP/2.0/TLS ss1.example.com:5061 5112 ;branch=z9hG4bK83749.3 5113 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5114 ;branch=z9hG4bK74bf9 5115 ;received=192.0.2.103 5116 Record-Route: 5117 Max-Forwards: 69 5118 From: Alice ;tag=1234567 5119 To: Bob 5120 Call-ID: 12345600@atlanta.example.com 5121 CSeq: 1 INVITE 5122 Contact: 5123 Content-Type: application/sdp 5124 Content-Length: ... 5126 v=0 5127 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5128 s= 5129 c=IN IP4 client.atlanta.example.com 5130 t=0 0 5131 m=audio 49170 RTP/AVP 0 5132 a=rtpmap:0 PCMU/8000 5134 F14 486 Busy Here B3 -> Proxy 5136 SIP/2.0 486 Busy Here 5137 Via: SIP/2.0/TLS ss1.example.com:5061 5138 ;branch=z9hG4bK83749.3 5139 ;received=192.0.2.54 5140 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5141 ;branch=z9hG4bK74bf9 5142 ;received=192.0.2.103 5143 From: Alice ;tag=1234567 5144 To: Bob ;tag=7654321 5145 Call-ID: 12345600@atlanta.example.com 5146 CSeq: 1 INVITE 5147 Content-Length: 0 5149 F15 ACK Proxy -> B3 5151 ACK sips:bob@client3.biloxi.example.com SIP/2.0 5152 Via: SIP/2.0/TLS ss1.example.com:5061 5153 ;branch=z9hG4bK83749.3 5154 Max-Forwards: 70 5155 From: Alice ;tag=1234567 5156 To: Bob ;tag=7654321 5157 Call-ID: 12345600@atlanta.example.com 5158 CSeq: 1 ACK 5159 Content-Length: 0 5161 F16 INVITE Proxy -> B4 5163 INVITE sips:bob@client4.biloxi.example.com SIP/2.0 5164 Via: SIP/2.0/TLS ss1.example.com:5061 5165 ;branch=z9hG4bK83749.4 5166 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5167 ;branch=z9hG4bK74bf9 5168 ;received=192.0.2.103 5169 Record-Route: 5170 Max-Forwards: 69 5171 From: Alice ;tag=1234567 5172 To: Bob 5173 Call-ID: 12345600@atlanta.example.com 5174 CSeq: 1 INVITE 5175 Contact: 5176 Content-Type: application/sdp 5177 Content-Length: ... 5179 v=0 5180 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5181 s= 5182 c=IN IP4 client.atlanta.example.com 5183 t=0 0 5184 m=audio 49170 RTP/AVP 0 5185 a=rtpmap:0 PCMU/8000 5187 F17 180 Ringing B4 -> Proxy 5189 SIP/2.0 180 Ringing 5190 Via: SIP/2.0/TLS ss1.example.com:5061 5191 ;branch=z9hG4bK83749.4 5192 ;received=192.0.2.54 5193 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5194 ;branch=z9hG4bK74bf9 5195 ;received=192.0.2.103 5196 Record-Route: 5197 From: Alice ;tag=1234567 5198 To: Bob ;tag=7137136 5199 Call-ID: 12345600@atlanta.example.com 5200 CSeq: 1 INVITE 5201 Contact: 5202 Content-Length: 0 5204 F18 180 Ringing Proxy -> Alice 5206 SIP/2.0 180 Ringing 5207 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5208 ;branch=z9hG4bK74bf9 5209 ;received=192.0.2.103 5210 Record-Route: 5211 From: Alice ;tag=1234567 5212 To: Bob ;tag=7137136 5213 Call-ID: 12345600@atlanta.example.com 5214 CSeq: 1 INVITE 5215 Contact: 5216 Content-Length: 0 5218 F19 200 OK B4 -> Proxy 5220 SIP/2.0 200 OK 5221 Via: SIP/2.0/TLS ss1.example.com:5061 5222 ;branch=z9hG4bK83749.4 5223 ;received=192.0.2.54 5224 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5225 ;branch=z9hG4bK74bf9 5226 ;received=192.0.2.103 5227 Record-Route: 5228 From: Alice ;tag=1234567 5229 To: Bob ;tag=7137136 5230 Call-ID: 12345600@atlanta.example.com 5231 CSeq: 1 INVITE 5232 Contact: 5233 Content-Type: application/sdp 5234 Content-Length: ... 5236 v=0 5237 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com 5238 s= 5239 c=IN IP4 client4.biloxi.example.com 5240 t=0 0 5241 m=audio 3456 RTP/AVP 0 5242 a=rtpmap:0 PCMU/8000 5244 F20 200 OK Proxy -> Alice 5246 SIP/2.0 200 OK 5247 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5248 ;branch=z9hG4bK74bf9 5249 ;received=192.0.2.103 5250 Record-Route: 5251 From: Alice ;tag=1234567 5252 To: Bob ;tag=7137136 5253 Call-ID: 12345600@atlanta.example.com 5254 CSeq: 1 INVITE 5255 Contact: 5256 Content-Type: application/sdp 5257 Content-Length: ... 5259 v=0 5260 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com 5261 s= 5262 c=IN IP4 client4.biloxi.example.com 5263 t=0 0 5264 m=audio 3456 RTP/AVP 0 5265 a=rtpmap:0 PCMU/8000 5267 F21 ACK Alice -> Proxy 5269 ACK sips:bob@client4.biloxi.example.com SIP/2.0 5270 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5271 ;branch=z9hG4bK74bf 5272 Route: 5273 Max-Forwards: 70 5274 From: Alice ;tag=1234567 5275 To: Bob ;tag=7137136 5276 Call-ID: 12345600@atlanta.example.com 5277 CSeq: 1 ACK 5278 Content-Length: 0 5280 F22 ACK Proxy -> B4 5282 ACK sips:bob@client4.biloxi.example.com SIP/2.0 5283 Via: SIP/2.0/TLS ss1.example.com:5061 5284 ;branch=z9hG4bK8374 5285 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5286 ;branch=z9hG4bK74bf 5287 ;received=192.0.2.103 5288 Max-Forwards: 69 5289 From: Alice ;tag=1234567 5290 To: Bob ;tag=7137136 5291 Call-ID: 12345600@atlanta.example.com 5292 CSeq: 1 ACK 5293 Content-Length: 0 5295 /* RTP streams are established between A and B4*/ 5297 /* User B4 Hangs Up with User A. */ 5299 F23 BYE B4 -> Proxy 5301 BYE sips:alice@client.atlanta.example.com SIP/2.0 5302 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5303 ;branch=z9hG4bKnashds7 5304 Route: 5305 Max-Forwards: 70 5306 From: Bob ;tag=7137136 5307 To: Alice ;tag=1234567 5308 Call-ID: 12345600@atlanta.example.com 5309 CSeq: 1 BYE 5310 Content-Length: 0 5312 F24 BYE Proxy -> Alice 5314 BYE sips:alice@client.atlanta.example.com SIP/2.0 5315 Via: SIP/2.0/TLS ss1.example.com:5061 5316 ;branch=z9hG4bK83754 5317 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5318 ;branch=z9hG4bKnashds7 5319 ;received=192.0.2.105 5321 Max-Forwards: 69 5322 From: Bob ;tag=7137136 5323 To: Alice ;tag=1234567 5324 Call-ID: 12345600@atlanta.example.com 5325 CSeq: 1 BYE 5326 Content-Length: 0 5328 F25 200 OK Alice -> Proxy 5330 SIP/2.0 200 OK 5331 Via: SIP/2.0/TLS ss1.example.com:5061 5332 ;branch=z9hG4bK83754 5333 ;received=192.0.2.54 5334 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5335 ;branch=z9hG4bKnashds7 5336 ;received=192.0.2.105 5337 From: Bob ;tag=7137136 5338 To: Alice ;tag=1234567 5339 Call-ID: 12345600@atlanta.example.com 5340 CSeq: 1 BYE 5341 Content-Length: 0 5343 F26 200 OK Proxy -> B4 5345 SIP/2.0 200 OK 5346 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5347 ;branch=z9hG4bKnashds7 5348 ;received=192.0.2.105 5349 From: Bob ;tag=7137136 5350 To: Alice ;tag=1234567 5351 Call-ID: 12345600@atlanta.example.com 5352 CSeq: 1 BYE 5353 Content-Length: 0 5355 2.13. Call Management (Incoming Call Screening) 5357 Announcement 5358 Alice Proxy Bob Server 5360 | | | | 5361 | INVITE F1 | | | 5362 |------------------------------>| | 5363 | 305 Use Proxy F2 | | 5364 |<------------------------------| | 5365 | ACK F3 | | | 5366 |------------------------------>| | 5367 | INVITE F4 | | | 5368 |--------------->| | | 5369 | 407 Proxy Authentication F5 | | 5370 |<---------------| | | 5371 | ACK F6 | | | 5372 |--------------->| | | 5373 | INVITE F7 | | | 5374 |--------------->| | | 5375 | 403 Screening Failure (Terminating) Error-Info: URI F8 5376 |<---------------| | | 5377 | ACK F9 | | | 5378 |--------------->| | | 5379 | INVITE F10 | | | 5380 |--------------------------------------------->| 5381 | 200 OK F11 | | | 5382 |--------------------------------------------->| 5383 | ACK F12 | | 5384 |--------------------------------------------->| 5385 | Announcement Played to Caller | 5386 |<=============================================| 5387 | BYE F13 | 5388 |<---------------------------------------------| 5389 | 200 OK F14 | 5390 |--------------------------------------------->| 5391 | | 5392 | | 5393 | | 5395 Bob has an incoming call screening list, Alice is included on the 5396 list of addresses Bob will not accept calls from. Alice attempts to 5397 call Bob. Messages F1, F2, and F3 are included to show that Bob does 5398 not accept INVITEs that have not been screened by the proxy. 5400 Note that call screening can not be done using the From header - 5401 instead some form of authentication credentials must be used. 5403 The screening proxy inserts an announcement URI in an Error-Info 5404 header field which Alice accesses by sending an INVITE to listen to 5405 the Announcement. The Announcement Server uses the automaton and 5406 rendering feature tags in F12 and F13 to indicate that it is a media 5407 server only capability of playing announcements. 5409 Message Details 5411 F1 INVITE Alice -> Bob 5413 INVITE sips:bob@biloxi.example.com SIP/2.0 5414 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5415 ;branch=z9hG4bK74bf9 5416 Max-Forwards: 70 5417 From: Alice ;tag=1234567 5418 To: Bob 5419 Call-ID: 12345600@atlanta.example.com 5420 CSeq: 1 INVITE 5421 Contact: 5422 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5423 Content-Type: application/sdp 5424 Content-Length: ... 5426 v=0 5427 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5428 s= 5429 c=IN IP4 client.atlanta.example.com 5430 t=0 0 5431 m=audio 49170 RTP/AVP 0 5432 a=rtpmap:0 PCMU/8000 5434 /* Bob only accepts INVITEs that have been screened 5435 by the proxy */ 5437 F2 305 Use Proxy Bob -> Alice 5439 SIP/2.0 305 Use Proxy 5440 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5441 ;branch=z9hG4bK74bf9 5442 ;received=192.0.2.103 5443 From: Alice ;tag=1234567 5444 To: Bob ;tag=342123 5445 Call-ID: 12345600@atlanta.example.com 5446 CSeq: 1 INVITE 5447 Contact: 5448 Content-Length: 0 5449 F3 ACK Alice -> Bob 5451 ACK sips:bob@biloxi.example.com SIP/2.0 5452 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5453 ;branch=z9hG4bK74bf9 5454 Max-Forwards: 70 5455 From: Alice ;tag=1234567 5456 To: Bob ;tag=342123 5457 Call-ID: 12345600@atlanta.example.com 5458 CSeq: 1 ACK 5459 Content-Length: 0 5461 /* A retries the call through the proxy */ 5463 F4 INVITE Alice -> Proxy 1 5465 INVITE sips:bob@biloxi.example.com SIP/2.0 5466 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5467 ;branch=z9hG4bK74bf0 5468 Max-Forwards: 70 5469 Route: 5470 From: Alice ;tag=1234567 5471 To: Bob 5472 Call-ID: 12345600@atlanta.example.com 5473 CSeq: 2 INVITE 5474 Contact: 5475 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5476 Content-Type: application/sdp 5477 Content-Length: ... 5479 v=0 5480 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5481 s= 5482 c=IN IP4 client.atlanta.example.com 5483 t=0 0 5484 m=audio 49170 RTP/AVP 0 5485 a=rtpmap:0 PCMU/8000 5487 /* Proxy 1 challenges Alice for authentication */ 5489 F5 407 Proxy Authentication Required Proxy 1 -> Alice 5491 SIP/2.0 407 Proxy Authentication Required 5492 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5493 ;branch=z9hG4bK74bf0 5494 ;received=192.0.2.103 5496 From: Alice ;tag=1234567 5497 To: Bob ;tag=7886765 5498 Call-ID: 12345600@atlanta.example.com 5499 CSeq: 2 INVITE 5500 Proxy-Authenticate: Digest realm="example.com", 5501 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 5502 qop="auth", nc=00000001, cnonce="0a4f113b", 5503 opaque="", stale=FALSE, qop="auth", algorithm=MD5 5504 Content-Length: 0 5506 F6 ACK Alice -> Proxy 1 5508 ACK sips:bob@biloxi.example.com SIP/2.0 5509 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5510 ;branch=z9hG4bK74bf0 5511 Max-Forwards: 70 5512 From: Alice ;tag=1234567 5513 To: Bob ;tag=7886765 5514 Call-ID: 12345600@atlanta.example.com 5515 CSeq: 2 ACK 5516 Content-Length: 0 5518 /* Alice responds by sending an INVITE with authentication 5519 credentials in it. */ 5521 F7 INVITE Alice -> Proxy 1 5523 INVITE sips:bob@biloxi.example.com SIP/2.0 5524 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5525 ;branch=z9hG4bK74bf2 5526 Max-Forwards: 70 5527 From: Alice ;tag=1234567 5528 To: Bob 5529 Call-ID: 12345600@atlanta.example.com 5530 CSeq: 3 INVITE 5531 Contact: 5532 Proxy-Authorization: Digest username="alice", 5533 realm="example.com", qop="auth", 5534 nc=00000001, cnonce="4gr84543ft2", 5535 nonce="ae9137be1c87d175c2dd63302a0d6e0a", 5536 opaque="", uri="sips:bob@biloxi.example.com", 5537 response="bbaec39f943bdcb3620d90afc548a45c" 5538 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5539 Content-Type: application/sdp 5540 Content-Length: ... 5542 v=0 5543 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5544 s= 5545 c=IN IP4 client.atlanta.example.com 5546 t=0 0 5547 m=audio 49170 RTP/AVP 0 5548 a=rtpmap:0 PCMU/8000 5550 F8 403 Screening Failure (Terminating) Proxy 1 -> Alice 5552 SIP/2.0 403 Screening Failure (Terminating) 5553 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5554 ;branch=z9hG4bK74bf2 5555 ;received=192.0.2.103 5556 From: Alice ;tag=1234567 5557 To: Bob ;tag=ffe254 5558 Call-ID: 12345600@atlanta.example.com 5559 CSeq: 3 INVITE 5560 Error-Info: 5561 Content-Length: 0 5563 F9 ACK Alice -> Proxy 1 5565 ACK sips:bob@biloxi.example.com SIP/2.0 5566 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5567 ;branch=z9hG4bK74bf2 5568 Max-Forwards: 70 5569 From: Alice ;tag=1234567 5570 To: Bob ;tag=ffe254 5571 Call-ID: 12345600@atlanta.example.com 5572 Proxy-Authorization: Digest username="alice", 5573 realm="example.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a", 5574 opaque="", uri="sips:bob@biloxi.example.com", 5575 response="bbaec39f943bdcb3620d90afc548a45c" 5576 CSeq: 3 ACK 5577 Content-Length: 0 5579 /* To hear the recording, Alice connects to the Error-Info URI */ 5581 F10 INVITE Alice -> Proxy 1 5583 INVITE sips:screen-fail-term-ann@ms.biloxi.example.com SIP/2.0 5584 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5585 ;branch=z9hG4bK74bfj 5586 Max-Forwards: 70 5587 From: Alice ;tag=1234567 5588 To: Bob 5589 Call-ID: 12345600@atlanta.example.com 5590 CSeq: 4 INVITE 5591 Contact: 5592 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5593 Content-Type: application/sdp 5594 Content-Length: ... 5596 v=0 5597 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5598 s= 5599 c=IN IP4 client.atlanta.example.com 5600 t=0 0 5601 m=audio 49170 RTP/AVP 0 5602 a=rtpmap:0 PCMU/8000 5604 F11 200 OK Announcement Server -> Proxy 1 5606 SIP/2.0 200 OK 5607 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5608 ;branch=z9hG4bK74bfj 5609 ;received=192.0.2.103 5610 From: Alice ;tag=1234567 5611 To: Bob ;tag=234934 5612 Call-ID: 12345600@atlanta.example.com 5613 CSeq: 4 INVITE 5614 Contact: 5615 ;automaton;+sip.rendering="no" 5616 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5617 Content-Type: application/sdp 5618 Content-Length: ... 5620 v=0 5621 o=annc 2890844543 2890844543 IN IP4 announce.biloxi.example.com 5622 s= 5623 c=IN IP4 announce.biloxi.example.com 5624 t=0 0 5625 m=audio 49174 RTP/AVP 0 5626 a=rtpmap:0 PCMU/8000 5628 F12 ACK Alice -> Announcement Server 5630 ACK sips:ms.biloxi.example.com SIP/2.0 5631 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5632 ;branch=z9hG4bK74b32 5634 Max-Forwards: 70 5635 From: Alice ;tag=1234567 5636 To: Bob ;tag=234934 5637 Call-ID: 12345600@atlanta.example.com 5638 CSeq: 4 ACK 5639 Content-Length: 0 5641 /* Announcement Server plays announcement then disconnects */ 5643 F13 BYE Announcement Server -> Alice 5645 BYE sips:alice@client.atlanta.example.com SIP/2.0 5646 Via: SIP/2.0/TLS announcement.example.com:5061 5647 ;branch=z9hG4bK74bKS 5648 Max-Forwards: 70 5649 From: Bob ;tag=234934 5650 To: Alice ;tag=1234567 5651 Call-ID: 12345600@atlanta.example.com 5652 CSeq: 2334 BYE 5653 Content-Length: 0 5655 F14 200 OK Alice -> Announcement Server 5657 SIP/2.0 200 OK 5658 Via: SIP/2.0/TLS announcement.example.com:5061 5659 ;branch=z9hG4bK74bKS 5660 ;received=192.0.2.103 5661 From: Bob ;tag=234934 5662 To: Alice ;tag=1234567 5663 Call-ID: 12345600@atlanta.example.com 5664 CSeq: 2334 BYE 5665 Content-Length: 0 5667 2.14. Call Management (Outgoing Call Screening) 5669 Alice Proxy Bob 5670 | | | 5671 | INVITE F1 | | 5672 |--------------->| | 5673 | 407 Proxy Authentication F2 | 5674 |<---------------| | 5675 | ACK F3 | | 5676 |--------------->| | 5677 | INVITE F4 | | 5678 |--------------->| | 5679 | 403 Screening Failure (Originating) F5 5680 |<---------------| | 5681 | ACK F6 | | 5682 |--------------->| | 5683 | | | 5685 Alice has an outgoing call screening list, Bob is included on the 5686 list of addresses Alice will not be able to place a call to. Alice 5687 attempts to call Bob. 5689 Alice could establish a session to listen to the announcement in the 5690 Error-Info header field. 5692 Message Details 5694 F1 INVITE Alice -> Proxy 1 5696 INVITE sips:bob@biloxi.example.com SIP/2.0 5697 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5698 ;branch=z9hG4bK74bf9 5699 Max-Forwards: 70 5700 From: Alice ;tag=1234567 5701 To: Bob 5702 Call-ID: 12345600@atlanta.example.com 5703 CSeq: 1 INVITE 5704 Contact: 5705 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5706 Content-Type: application/sdp 5707 Content-Length: ... 5709 v=0 5710 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5711 s= 5712 c=IN IP4 client.atlanta.example.com 5713 t=0 0 5714 m=audio 49170 RTP/AVP 0 5715 a=rtpmap:0 PCMU/8000 5717 /* Proxy 1 challenges Alice for authentication */ 5719 F2 407 Proxy Authentication Required Proxy 1 -> Alice 5721 SIP/2.0 407 Proxy Authentication Required 5722 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5723 ;branch=z9hG4bK74bf9 5724 ;received=192.0.2.103 5725 From: Alice ;tag=1234567 5726 To: Bob ;tag=90210 5727 Call-ID: 12345600@atlanta.example.com 5728 CSeq: 1 INVITE 5729 Proxy-Authenticate: Digest realm="example.com", 5730 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 5731 qop=auth, nc=00000001, cnonce="0a4f113b", 5732 opaque="", stale=FALSE, algorithm=MD5 5733 Content-Length: 0 5735 F3 ACK Alice -> Proxy 1 5737 ACK sips:bob@biloxi.example.com SIP/2.0 5738 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5739 ;branch=z9hG4bK74bf9 5740 Max-Forwards: 70 5741 From: Alice ;tag=1234567 5742 To: Bob ;tag=90210 5743 Call-ID: 12345600@atlanta.example.com 5744 CSeq: 1 ACK 5745 Content-Length: 0 5747 /* Alice responds be sending an INVITE with authentication 5748 credentials in it. */ 5750 F4 INVITE Alice -> Proxy 1 5752 INVITE sips:bob@biloxi.example.com SIP/2.0 5753 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5754 ;branch=z9hG4bK74b4 5755 Max-Forwards: 70 5756 From: Alice ;tag=1234567 5757 To: Bob 5758 Call-ID: 12345600@atlanta.example.com 5759 CSeq: 2 INVITE 5760 Contact: 5761 Proxy-Authorization: Digest username="alice", realm="example.com", 5762 nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 5763 uri="sips:bob@biloxi.example.com", 5764 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 5765 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5766 Content-Type: application/sdp 5767 Content-Length: ... 5769 v=0 5770 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5771 s= 5772 c=IN IP4 client.atlanta.example.com 5773 t=0 0 5774 m=audio 49170 RTP/AVP 0 5775 a=rtpmap:0 PCMU/8000 5777 F5 403 Screening Failure (Originating) Proxy 1 -> Alice 5779 SIP/2.0 403 Screening Failure (Originating) 5780 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5781 ;branch=z9hG4bK74b4 5782 ;received=192.0.2.103 5783 From: Alice ;tag=1234567 5784 To: Bob ;tag=18017 5785 Call-ID: 12345600@atlanta.example.com 5786 CSeq: 2 INVITE 5787 Error-Info: 5788 Content-Length: 0 5790 F6 ACK Alice -> Proxy 1 5792 ACK sips:bob@biloxi.example.com SIP/2.0 5793 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5794 ;branch=z9hG4bK74b4 5795 Max-Forwards: 70 5796 From: Alice ;tag=1234567 5797 To: Bob ;tag=18017 5798 Call-ID: 12345600@atlanta.example.com 5799 CSeq: 2 ACK 5800 Proxy-Authorization: Digest username="alice", realm="example.com", 5801 nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 5802 uri="sips:bob@biloxi.example.com", 5803 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 5805 Content-Length: 0 5807 2.15. Call Park 5809 Alice Bob Park Server Carol 5810 | | | | 5811 | INVITE F1 | | | 5812 |------------->| | | 5813 |180 Ringing F2| | | 5814 |<-------------| | | 5815 | 200 OK F3 | | | 5816 |<-------------| | | 5817 | ACK F4 | | | 5818 |------------->| | | 5819 | RTP Media | | | 5820 |<============>| | | 5821 | Bob Parks Call | | 5822 | | REFER Refer-To: A F5 | 5823 | |------------->| | 5824 | | 202 F6 | | 5825 | |<-------------| | 5826 | | NOTIFY F7 | | 5827 | |<-------------| | 5828 | | 200 F8 | | 5829 | |------------->| | 5830 | INVITE F9 Replaces: B | | 5831 |<----------------------------| | 5832 | 200 OK F10 | | 5833 |---------------------------->| | 5834 | ACK F11 | | 5835 |<----------------------------| | 5836 | RTP Music | | 5837 |<===========================>| | 5838 | BYE F12 | | | 5839 |------------->| NOTIFY F14 | | 5840 | 200 OK F13 |<-------------| | 5841 |<-------------| 200 OK F15 | | 5842 | |------------->| | 5843 | | Carol picks up the call | 5844 | | | | 5845 | | | SUBSCRIBE F16| 5846 | | |<-------------| 5847 | | | 200 OK F17 | 5848 | | |------------->| 5849 | | | NOTIFY F18 | 5850 | | |------------->| 5851 | | | 200 OK F19 | 5852 | | |<-------------| 5853 | INVITE Replaces: Park Server F20 | 5854 |<-------------------------------------------| 5855 | | | 200 F21 | 5856 |------------------------------------------->| 5857 | | | ACK F22 | 5858 |<-------------------------------------------| 5859 | RTP Media | 5860 |<==========================================>| 5861 | BYE F23 | | 5862 |---------------------------->| | 5863 | 200 OK F24 | | 5864 |<----------------------------| | 5865 | No more RTP Music | | 5867 In this example, Alice calls Bob. Bob then parks the call at the Park 5868 Server by sending a REFER to the Park Server. The server sends an 5869 INVITE to Alice which replaces the session between Alice and Bob. The 5870 Park Server utilizes the automaton, rendering, and byeless feature 5871 tags in F9 to indicate its capabilities to Alice. The call is 5872 accepted by Alice and causes Alice to send a BYE to Bob. Bob receives 5873 notification of the successful park, and also receives the dialog 5874 identifiers in the application/sip body of the NOTIFY response. 5876 Carol wishes to retrieve the call, so she sends an INVITE containing 5877 the dialog identifiers to Alice which replaces the session with the 5878 Park Server. Alice accepts the call and sends a BYE to the Park 5879 Server. Carol obtains the dialog identifiers from a NOTIFY from the 5880 Park Server. 5882 Note that this call flow is a special case of call transfer. 5884 Note also that this flow could also be used for Music on Hold. 5886 Message Details. 5888 F1 INVITE Alice -> Bob 5890 INVITE sips:bob@biloxi.example.com SIP/2.0 5891 Via: SIP/2.0/TLS client.alice.example.com:5061 5892 ;branch=z9hG4bKnashds7 5893 Max-Forwards: 70 5894 From: Alice ;tag=1234567 5895 To: Bob 5896 Call-ID: 12345601@atlanta.example.com 5897 CSeq: 1 INVITE 5898 Contact: 5899 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5900 Supported: replaces, gruu 5901 Content-Type: application/sdp 5902 Content-Length: ... 5904 v=0 5905 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5906 s= 5907 c=IN IP4 client.atlanta.example.com 5908 t=0 0 5909 m=audio 49170 RTP/AVP 0 5910 a=rtpmap:0 PCMU/8000 5912 F2 180 Ringing Bob -> Alice 5914 SIP/2.0 180 Ringing 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 Content-Length: 0 5925 F3 200 OK Bob -> Alice 5927 SIP/2.0 200 OK 5928 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5929 ;branch=z9hG4bKnashds7 5930 ;received=192.0.2.105 5931 From: Alice ;tag=1234567 5932 To: Bob ;tag=314159 5933 Call-ID: 12345601@atlanta.example.com 5934 CSeq: 1 INVITE 5935 Contact: 5936 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5937 Supported: replaces 5938 Content-Type: application/sdp 5939 Content-Length: ... 5941 v=0 5942 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 5943 s= 5944 c=IN IP4 client.biloxi.example.com 5945 t=0 0 5946 m=audio 3456 RTP/AVP 0 5947 a=rtpmap:0 PCMU/8000 5949 F4 ACK Alice -> Bob 5951 ACK sips:bob@client.biloxi.example.com SIP/2.0 5952 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5953 ;branch=z9hG4bKnashds7 5954 Max-Forwards: 70 5955 From: Alice ;tag=1234567 5956 To: Bob ;tag=314159 5957 Call-ID: 12345601@atlanta.example.com 5958 CSeq: 1 ACK 5959 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5960 Supported: replaces 5961 Content-Length: 0 5963 /* Bob REFERs Park Server to establish session with A 5964 which replaces the established session between A and B. 5965 Note that there is no session established between B 5966 and the Park Server. */ 5968 F5 REFER Bob -> Park Server 5970 REFER sips:park@server.example.com SIP/2.0 5971 Via: SIP/2.0/TLS client.biloxi.example.com:5061 5972 ;branch=z9hG4bKnashds9 5973 Max-Forwards: 70 5974 From: Bob ;tag=02134 5975 To: Park Server 5976 Call-ID: 4802029847@biloxi.example.com 5977 CSeq: 1 REFER 5978 5979 Refer-To: 5982 5983 Referred-By: 5984 Contact: 5985 Content-Length: 0 5987 F6 202 Accepted Park Server -> Bob 5989 SIP/2.0 202 Accepted 5990 Via: SIP/2.0/TLS client.biloxi.example.com:5061 5991 ;branch=z9hG4bKnashds9 5992 ;received=192.0.2.105 5993 From: Bob ;tag=02134 5994 To: Park Server ;tag=56323 5995 Call-ID: 4802029847@biloxi.example.com 5996 Contact: 5997 CSeq: 1 REFER 5998 Content-Length: 0 6000 F7 NOTIFY Park Server -> Bob 6002 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 6003 Via: SIP/2.0/TLS server.example.com:5061 6004 ;branch=z9hG4bK74bT6 6005 To: Bob ;tag=02134 6006 Max-Forwards: 70 6007 From: Park Server ;tag=56323 6008 Call-ID: 4802029847@biloxi.example.com 6009 CSeq: 1 NOTIFY 6010 Event: refer 6011 Contact: 6012 Subscription-State: active;expires=60 6013 Content-Type: message/sipfrag 6014 Content-Length: ... 6016 SIP/2.0 100 Trying 6018 F8 200 OK Bob -> Park Server 6020 SIP/2.0 200 OK 6021 Via: SIP/2.0/TLS server.example.com:5061 6022 ;branch=z9hG4bK74bT6 6023 ;received=192.0.2.103 6024 To: Bob ;tag=02134 6025 From: Park Server ;tag=56323 6026 Call-ID: 4802029847@biloxi.example.com 6027 CSeq: 1 NOTIFY 6028 Content-Length: 0 6030 /* Park Server places call to Alice to replace session 6031 between Alice and Bob. */ 6033 F9 INVITE Park Server -> Alice 6034 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 6035 Via: SIP/2.0/TLS server.example.com:5061 6036 ;branch=z9hG4bK74rf 6037 Max-Forwards: 70 6038 From: ;tag=0111 6039 To: 6040 Call-ID: a5-75-34-12-76@server.example.com 6041 CSeq: 1 INVITE 6042 Referred-By: 6043 Contact: ;automaton 6044 ;+sip.byeless;+sip.rendering="no" 6045 Require: replaces 6046 Replaces: 12345601@atlanta.example.com 6047 ;from-tag=314159;to-tag=1234567 6048 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6049 Supported: replaces 6050 Content-Type: application/sdp 6051 Content-Length: ... 6053 v=0 6054 o=ParkServer 2890844576 2890844576 IN IP4 Park.server.example.com 6055 s= 6056 c=IN IP4 server.example.com 6057 t=0 0 6058 m=audio 49170 RTP/AVP 0 6059 a=rtpmap:0 PCMU/8000 6061 F10 200 OK Alice -> Park Server 6063 SIP/2.0 200 OK 6064 Via: SIP/2.0/TLS server.example.com:5061 6065 ;branch=z9hG4bK74rf 6066 ;received=192.0.2.103 6067 From: ;tag=0111 6068 To: ;tag=098594 6069 Call-ID: a5-75-34-12-76@server.example.com 6070 CSeq: 1 INVITE 6071 Contact: 6072 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6073 Supported: replaces, gruu 6074 Content-Type: application/sdp 6075 Content-Length: ... 6077 v=0 6078 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6079 s= 6080 c=IN IP4 client.atlanta.example.com 6081 t=0 0 6082 m=audio 49170 RTP/AVP 0 6083 a=rtpmap:0 PCMU/8000 6084 a=recvonly 6086 F11 ACK Park Server -> Alice 6088 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 6089 Via: SIP/2.0/TLS server.example.com:5061 6090 ;branch=z9hG4bK7rfF 6091 Max-Forwards: 70 6092 From: ;tag=0111 6093 To: ;tag=098594 6094 Call-ID: a5-75-34-12-76@server.example.com 6095 CSeq: 1 ACK 6096 Content-Length: 0 6098 F12 BYE Alice -> Bob 6100 BYE sips:bob@client.biloxi.example.com SIP/2.0 6101 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6102 ;branch=z9hG4bKnashds7 6103 Max-Forwards: 70 6104 From: Alice ;tag=1234567 6105 To: Bob ;tag=314159 6106 Call-ID: 12345601@atlanta.example.com 6107 CSeq: 2 BYE 6108 Content-Length: 0 6110 F13 200 OK Bob -> Alice 6112 SIP/2.0 200 OK 6113 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6114 ;branch=z9hG4bKnashds7 6115 ;received=192.0.2.105 6116 From: Alice ;tag=1234567 6117 To: Bob ;tag=314159 6118 Call-ID: 12345601@atlanta.example.com 6119 CSeq: 2 BYE 6120 Content-Length: 0 6122 /* Park Server reports success back to Bob by returning 6123 a 200 OK response. Bob obtains the dialog identifiers 6124 from the headers included in the response. */ 6126 F14 NOTIFY Park Server -> Bob 6128 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 6129 Via: SIP/2.0/TLS server.example.com:5061 6130 ;branch=z9hG4bK74bf9 6131 To: Bob ;tag=02134 6132 Max-Forwards: 70 6133 From: Park Server ;tag=56323 6134 Call-ID: 4802029847@biloxi.example.com 6135 CSeq: 2 NOTIFY 6136 Event: refer 6137 Subscription-State: terminated;reason=noresource 6138 Contact: ;automaton 6139 ;+sip.byeless;+sip.rendering="no" 6140 Content-Type: message/sipfrag 6141 Content-Length: ... 6143 SIP/2.0 200 OK 6144 Via: SIP/2.0/TLS server.example.com:5061 6145 ;branch=z9hG4bK74rf 6146 ;received=192.0.2.103 6147 From: ;tag=0111 6148 To: ;tag=098594 6149 Call-ID: a5-75-34-12-76@server.example.com 6150 CSeq: 1 INVITE 6151 Contact: 6153 F15 200 OK Bob -> Park Server 6155 SIP/2.0 200 OK 6156 Via: SIP/2.0/TLS server.example.com:5061 6157 ;branch=z9hG4bK74bf9 6158 ;received=192.0.2.103 6159 To: Bob ;tag=02134 6160 From: Park Server ;tag=56323 6161 Call-ID: 4802029847@biloxi.example.com 6162 CSeq: 2 NOTIFY 6163 Content-Length: 0 6165 /* Alice is now parked at the Park Server */ 6167 /* Carol picks up the call by sending an INVITE to A which 6168 replaces the existing session with the Park/Park Server. 6169 Carol needs to know the dialog information to construct 6170 the Replaces header. */ 6172 F16 SUBSCRIBE Carol -> Park Server 6174 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 6175 Via: SIP/2.0/TLS client.chicago.example.com:5061 6176 ;branch=z9hG4bK74b232 6177 Max-Forwards: 70 6178 From: Carol ;tag=158x93461 6179 To: 6180 Call-ID: 2d6485356dfaj34dsf 6181 CSeq: 1 SUBSCRIBE 6182 Contact: 6183 Event: dialog 6184 Expires: 0 6185 Accept: application/dialog-info+xml 6186 Content-Length: 0 6188 F17 200 OK Park Server -> Carol 6190 SIP/2.0 200 OK 6191 Via: SIP/2.0/TLS client.chicago.example.com:5061 6192 ;branch=z9hG4bK74b232 6193 ;received=192.0.2.105 6194 From: Carol ;tag=158x93461 6195 To: ;tag=3213j 6196 Call-ID: 2d6485356dfaj34dsf 6197 CSeq: 1 SUBSCRIBE 6198 Contact: ;automaton 6199 ;+sip.byeless;+sip.rendering="no" 6200 Content-Length: 0 6202 F18 NOTIFY Park Server -> Carol 6204 NOTIFY sips:carol@client.example.com SIP/2.0 6205 Via: SIP/2.0/TLS server.example.com:5061 6206 ;branch=z9hG4bK74b8skd 6207 Max-Forwards: 70 6208 To: Carol ;tag=158x93461 6209 From: ;tag=3213j 6210 Call-ID: 2d6485356dfaj34dsf 6211 CSeq: 1 NOTIFY 6212 Contact: ;automaton 6213 ;+sip.byeless;+sip.rendering="no" 6214 Event: dialog 6215 Subscription-State: terminated;reason=timeout 6216 Content-Type: application/dialog-info+xml 6217 Content-Length: ... 6219 6220 6222 6225 1 6226 6227 sips:park@server.example.com 6228 6229 6230 sips:a8342043f@atlanta.example.com;gr 6231 6232 confirmed 6233 6234 6236 F19 200 OK Carol -> Park Server 6238 SIP/2.0 200 OK 6239 Via: SIP/2.0/TLS server.example.com:5061 6240 ;branch=z9hG4bK74b8skd 6241 ;received=192.0.2.103 6242 To: Carol ;tag=158x93461 6243 From: ;tag=3213j 6244 Call-ID: 2d6485356dfaj34dsf 6245 CSeq: 1 NOTIFY 6246 Contact: 6247 Content-Length: 0 6249 F20 INVITE Carol -> Alice 6251 INVITE sips:alice@atlanta.example.com SIP/2.0 6252 Via: SIP/2.0/TLS client.chicago.example.com:5061 6253 ;branch=z9hG4bK74bQ2 6254 Max-Forwards: 70 6255 From: Carol ;tag=5893461 6256 To: Alice 6257 Call-ID: 6485356@chicago.example.com 6258 CSeq: 1 INVITE 6259 Contact: 6260 Require: replaces 6261 Replaces: a5-75-34-12-76@server.example.com 6262 ;to-tag=098594;from-tag=0111 6263 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 6264 SUBSCRIBE, NOTIFY 6265 Supported: replaces 6266 Content-Type: application/sdp 6267 Content-Length: ... 6269 v=0 6270 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 6271 s= 6272 c=IN IP4 client.chicago.example.com 6273 t=0 0 6274 m=audio 3456 RTP/AVP 0 6275 a=rtpmap:0 PCMU/8000 6277 F21 200 OK Alice -> Carol 6279 SIP/2.0 200 OK 6280 Via: SIP/2.0/TLS client.chicago.example.com:5061 6281 ;branch=z9hG4bK74bQ2 6282 ;received=192.0.2.105 6283 From: Carol ;tag=5893461 6284 To: Alice ;tag=222 6285 Call-ID: 6485356@chicago.example.com 6286 CSeq: 1 INVITE 6287 Contact: 6288 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6289 Supported: replaces, gruu 6290 Content-Type: application/sdp 6291 Content-Length: ... 6293 v=0 6294 o=alice 2890844527 2890844527 IN IP4 client.atlanta.example.com 6295 s= 6296 c=IN IP4 client.atlanta.example.com 6297 t=0 0 6298 m=audio 49170 RTP/AVP 0 6299 a=rtpmap:0 PCMU/8000 6301 F22 ACK Carol -> Alice 6303 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 6304 Via: SIP/2.0/TLS client.chicago.example.com:5061 6305 ;branch=z9hG4bK74bJ0 6306 Max-Forwards: 70 6307 From: Carol ;tag=5893461 6308 To: Alice ;tag=222 6309 Call-ID: 6485356@chicago.example.com 6310 CSeq: 1 ACK 6311 Content-Length: 0 6313 /* A replaces the session to the Park Server with the new 6314 session with C and generates a BYE to disconnect the 6315 Park Server. */ 6317 F23 BYE Alice -> Park Server 6319 BYE sips:park@server.example.com SIP/2.0 6320 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6321 ;branch=z9hG4bK74b4N 6322 Max-Forwards: 70 6323 From: Alice ;tag=098594 6324 To: ;tag=0111 6325 Call-ID: a5-75-34-12-76@server.example.com 6326 CSeq: 1 BYE 6327 Content-Length: 0 6329 F24 200 OK Park Server -> Alice 6331 SIP/2.0 200 OK 6332 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6333 ;branch=z9hG4bK74b4N 6334 ;received=192.0.2.103 6335 From: Alice ;tag=098594 6336 To: ;tag=0111 6337 Call-ID: a5-75-34-12-76@server.example.com 6338 CSeq: 1 BYE 6339 Content-Length: 0 6341 2.16. Call Pickup 6343 Alice Bob Bill 6344 | | | 6345 | INVITE F1 | | 6346 |------------->| | 6347 |180 Ringing F2| | 6348 |<-------------| | 6349 | | SUBSCRIBE F3 | 6350 | |<------------------| 6351 | | 200 OK F4 | 6352 | |------------------>| 6353 | | NOTIFY F5 | 6354 | |------------------>| 6355 | | 200 OK F6 | 6356 | |<------------------| 6357 | INVITE Replaces:Bob F7 | 6358 |<---------------------------------| 6359 | | 200 OK F8 | 6360 |--------------------------------->| 6361 | CANCEL F9 | | 6362 |------------->| | 6363 | 200 OK F10 | | 6364 |<-------------| | 6365 | 487 F11 | | 6366 |<-------------| | 6367 | ACK F12 | | 6368 |------------->| | 6369 | ACK F13 | 6370 |<---------------------------------| 6371 | | 6372 | Two way RTP Established | 6373 |<================================>| 6374 | BYE F14 | 6375 |--------------------------------->| 6376 | 200 OK F15 | 6377 |<---------------------------------| 6378 | | 6380 Bob and Bill are part of a work group at example.com that can pick up 6381 each other's calls. Alice calls Bob who does not answer. Bill 6382 wishes to pick up the call and sends a SUBSCRIBE to Bob to retrieve 6383 the dialog information. Bill then generates an INVITE with a 6384 Replaces to Alice. Alice answers the INVITE and sends a CANCEL to 6385 stop Bob's phone ringing. Note that the relative order of the 487/ 6386 ACK sequence (F11/F12) and the 200 OK to the CANCEL (F10) is not 6387 deterministic. 6389 This call flow shows the use of the "early-only" parameter [3] in the 6390 Replaces header field of F7. This parameter prevents Alice from 6391 accepting the INVITE if Bob has already accepted the INVITE. If Bill 6392 had wished to "take" the call from Bob regardless of whether he had 6393 answered, the parameter would not have been present in F7. 6395 Also note that the subscription between Bob and Carol could have been 6396 established prior to Alice's call. 6398 Message Details 6400 F1 INVITE Alice -> Bob 6402 INVITE sips:bob@biloxi.example.com SIP/2.0 6403 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6404 ;branch=z9hG4bK74bf9 6405 Max-Forwards: 70 6406 From: Alice ;tag=1234567 6407 To: Bob 6408 Call-ID: 12345600@atlanta.example.com 6409 CSeq: 1 INVITE 6410 Contact: 6411 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6412 Supported: replaces, gruu 6413 Content-Type: application/sdp 6414 Content-Length: ... 6416 v=0 6417 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6418 s= 6419 c=IN IP4 client.atlanta.example.com 6420 t=0 0 6421 m=audio 49170 RTP/AVP 0 6422 a=rtpmap:0 PCMU/8000 6424 F2 180 Ringing Bob -> Alice 6426 SIP/2.0 180 Ringing 6427 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6428 ;branch=z9hG4bK74bf9 6429 ;received=192.0.2.103 6430 From: Alice ;tag=1234567 6431 To: Bob ;tag=3145678 6432 Call-ID: 12345600@atlanta.example.com 6433 CSeq: 1 INVITE 6434 Contact: 6435 Content-Length: 0 6437 /* Bill decides to pick up the call. */ 6439 F3 SUBSCRIBE Bill -> Bob 6441 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 6442 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6443 ;branch=z9hG4bK74bf 6444 Max-Forwards: 70 6445 From: Bill ;tag=8675309 6446 To: Bob 6447 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6448 CSeq: 1 SUBSCRIBE 6449 Contact: 6450 Event: dialog 6451 Expires: 0 6452 Accept: application/dialog-info+xml 6453 Content-Length: 0 6455 F4 200 OK Bob -> Bill 6457 SIP/2.0 200 OK 6458 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6459 ;branch=z9hG4bK74bf 6460 ;received=192.0.2.114 6461 Max-Forwards: 70 6462 From: Bill ;tag=8675309 6463 To: Bob ;tag=31451098 6464 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6465 CSeq: 1 SUBSCRIBE 6466 Content-Length: 0 6468 F5 NOTIFY Bob -> Bill 6470 NOTIFY sips:bill@pc.biloxi.example.com SIP/2.0 6471 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6472 ;branch=z9hG4bK74br 6473 Max-Forwards: 70 6474 From: Bob ;tag=31451098 6475 To: Bill ;tag=8675309 6476 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6477 CSeq: 1 NOTIFY 6478 Contact: 6479 Event: dialog 6480 Subscription-State: terminated;reason=timeout 6481 Content-Type: application/dialog-info+xml 6482 Content-Length: ... 6484 6485 6487 6490 1 6491 6492 sips:bob@biloxi.example.com 6493 sips:bob@client.biloxi.example.com 6494 6495 6496 sips:alice@atlanta.example.com 6497 6498 sips:a8342043@atlanta.example.com;gr 6499 6500 early 6501 6502 6504 F6 200 OK Bill -> Bob 6506 SIP/2.0 200 OK 6507 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6508 ;branch=z9hG4bK74br 6509 ;received=192.0.2.105 6510 From: Bob ;tag=31451098 6511 To: Bill ;tag=8675309 6512 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6513 CSeq: 1 NOTIFY 6514 Contact: 6515 Content-Length: 0 6517 F7 INVITE Bill -> Alice 6519 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 6520 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6521 ;branch=z9hG4bK74HH 6522 Max-Forwards: 70 6523 From: Bill ;tag=8675310 6524 To: Alice 6525 Call-ID: 563456212@b2.biloxi.example.com 6526 CSeq: 1 INVITE 6527 Require: replaces 6528 Replaces: 12345600@atlanta.example.com 6529 ;from-tag=314578;to-tag=1234567;early-only 6530 Contact: 6531 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6532 Supported: replaces 6533 Content-Type: application/sdp 6534 Content-Length: ... 6536 v=0 6537 o=bill 2890843122 2890843122 IN IP4 pc.biloxi.example.com 6538 s= 6539 c=IN IP4 pc.biloxi.example.com 6540 t=0 0 6541 m=audio 5342 RTP/AVP 0 6542 a=rtpmap:0 PCMU/8000 6544 /* Alice matches the dialog information in the Replaces header 6545 and accepts the INVITE. */ 6547 F8 200 OK Alice -> Bill 6549 SIP/2.0 200 OK 6550 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6551 ;branch=z9hG4bK74HH 6552 ;received=192.0.2.114 6553 From: Bill ;tag=8675310 6554 To: Alice ;tag=131256 6555 Call-ID: 563456212@b2.biloxi.example.com 6556 CSeq: 1 INVITE 6557 Contact: 6558 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6559 Supported: replaces, gruu 6560 Content-Type: application/sdp 6561 Content-Length: ... 6563 v=0 6564 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com 6565 s= 6566 c=IN IP4 client.atlanta.example.com 6567 t=0 0 6568 m=audio 49172 RTP/AVP 0 6569 a=rtpmap:0 PCMU/8000 6571 /* Alice stops Bob's phone from ringing by sending a CANCEL */ 6572 F9 CANCEL Alice -> Bob 6574 CANCEL sips:bob@biloxi.example.com SIP/2.0 6575 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6576 ;branch=z9hG4bK74bf9 6577 Max-Forwards: 70 6578 From: Alice ;tag=1234567 6579 To: Bob 6580 Call-ID: 12345600@atlanta.example.com 6581 CSeq: 1 CANCEL 6582 Content-Length: 0 6584 F10 200 OK Bob -> Alice 6586 SIP/2.0 200 OK 6587 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6588 ;branch=z9hG4bK74bf9 6589 ;received=192.0.2.103 6590 From: Alice ;tag=1234567 6591 To: Bob ;tag=3145678 6592 Call-ID: 12345600@atlanta.example.com 6593 CSeq: 1 CANCEL 6594 Content-Length: 0 6596 F11 487 Request Terminated Bob -> Alice 6598 SIP/2.0 487 Request Terminated 6599 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6600 ;branch=z9hG4bK74bf9 6601 ;received=192.0.2.103 6602 From: Alice ;tag=1234567 6603 To: Bob ;tag=3145678 6604 Call-ID: 12345600@atlanta.example.com 6605 CSeq: 1 INVITE 6606 Content-Length: 0 6608 F12 ACK Alice -> Bob 6610 ACK sips:bob@client.biloxi.example.com SIP/2.0 6611 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6612 ;branch=z9hG4bK83749.1 6613 Max-Forwards: 70 6614 From: Alice ;tag=1234567 6615 To: Bob ;tag=3145678 6616 Call-ID: 12345600@atlanta.example.com 6617 CSeq: 1 ACK 6618 Content-Length: 0 6620 F13 ACK Bill -> Alice 6622 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 6623 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6624 ;branch=z9hG4bK7435 6625 Max-Forwards: 70 6626 From: Bill ;tag=8675310 6627 To: Alice ;tag=131256 6628 Call-ID: 563456212@b2.biloxi.example.com 6629 CSeq: 1 ACK 6630 Content-Length: 0 6632 /* RTP streams are established between Alice and Bill. 6633 Later, Alice Hangs Up with Bob. */ 6635 F14 BYE Alice -> Bill 6637 BYE sips:bill@pc.biloxi.example.com SIP/2.0 6638 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6639 ;branch=z9hG4bK74bf2 6640 Max-Forwards: 70 6641 To: Bill ;tag=8675310 6642 From: Alice ;tag=131256 6643 Call-ID: 563456212@b2.biloxi.example.com 6644 CSeq: 1 BYE 6645 Content-Length: 0 6647 F15 200 OK Bill -> Alice 6649 SIP/2.0 200 OK 6650 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6651 ;branch=z9hG4bK74bf2 6652 ;received=192.0.2.105 6653 To: Bill ;tag=8675310 6654 From: Alice ;tag=131256 6655 Call-ID: 563456212@b2.biloxi.example.com 6656 CSeq: 1 BYE 6657 Content-Length: 0 6659 2.17. Automatic Redial 6660 Alice Bob 6661 | | 6662 | INVITE F1 | 6663 |--------------->| 6664 |486 Busy Here F2| 6665 |<---------------| Bob is busy 6666 | ACK F3 | 6667 |--------------->| 6668 | SUBSCRIBE F4 | 6669 |--------------->| 6670 | 200 OK F5 | 6671 |<---------------| 6672 | NOTIFY F6 | 6673 |<---------------| 6674 | 200 OK F7 | 6675 |--------------->| 6676 | | 6677 | NOTIFY F8 | Bob is now available 6678 |<---------------| 6679 | 200 OK F9 | 6680 |--------------->| 6681 | | 6682 | INVITE F10 | 6683 |--------------->| Session setup successfully 6684 | 180 Ringing F11| 6685 |<---------------| 6686 | 200 OK F12 | 6687 |<---------------| 6688 | ACK F13 | 6689 |--------------->| 6690 | Media Session | 6691 |<==============>| 6692 | | 6693 | NOTIFY F14 | 6694 |<---------------| 6695 | 200 OK F15 | 6696 |--------------->| 6697 | | 6698 | SUBSCRIBE F16 | Alice terminates subscription 6699 |--------------->| 6700 | 200 OK F17 | 6701 |<---------------| 6702 | NOTIFY F18 | 6703 |<---------------| 6704 | 200 OK F19 | 6705 |--------------->| 6706 | | 6708 Bob is initially busy when Alice calls. Alice subscribes to Bob's 6709 call state using a SUBSCRIBE F4. Bob sends a NOTIFY F8 when Bob is 6710 available. Alice is alerted, then Alice sends an INVITE to Bob to 6711 establish the session. The subscription is terminated using 6712 SUBSCRIBE F16. 6714 Message Details 6716 F1 INVITE Alice -> Bob 6718 INVITE sips:bob@biloxi.example.com SIP/2.0 6719 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6720 ;branch=z9hG4bK74bf9 6721 Max-Forwards: 70 6722 From: Alice ;tag=1234567 6723 To: Bob 6724 Call-ID: 12345600@atlanta.example.com 6725 CSeq: 1 INVITE 6726 Contact: 6727 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6728 Supported: replaces 6729 Content-Type: application/sdp 6730 Content-Length: ... 6732 v=0 6733 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6734 s= 6735 c=IN IP4 client.atlanta.example.com 6736 t=0 0 6737 m=audio 49170 RTP/AVP 0 6738 a=rtpmap:0 PCMU/8000 6740 F2 486 Busy Here 6742 SIP/2.0 486 Busy Here 6743 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6744 ;branch=z9hG4bK74bf9 6745 ;received=192.0.2.103 6746 From: Alice ;tag=1234567 6747 To: Bob ;tag=982039i4 6748 Call-ID: 12345600@atlanta.example.com 6749 CSeq: 1 INVITE 6750 Content-Length: 0 6752 F3 ACK Alice -> Bob 6753 ACK sips:bob@biloxi.example.com SIP/2.0 6754 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6755 ;branch=z9hG4bK74bf9 6756 Max-Forwards: 70 6757 From: Alice ;tag=1234567 6758 To: Bob ;tag=982039i4 6759 Call-ID: 12345600@atlanta.example.com 6760 CSeq: 1 ACK 6761 Content-Length: 0 6763 F4 SUBSCRIBE Alice -> Bob 6765 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 6766 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6767 ;branch=z9hG4bK74b8G 6768 Max-Forwards: 70 6769 From: Alice ;tag=837348234 6770 To: Bob 6771 Call-ID: 4524526232@atlanta.example.com 6772 CSeq: 1 SUBSCRIBE 6773 Contact: sips:alice@client.atlanta.example.com 6774 Event: dialog 6775 Accept: application/dialog-info+xml 6776 Content-Length: 0 6778 F5 200 OK Bob -> Alice 6780 SIP/2.0 200 OK 6781 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6782 ;branch=z9hG4bK74b8G 6783 ;received=192.0.2.103 6784 From: Alice ;tag=837348234 6785 To: Bob ;tag=341123 6786 Call-ID: 4524526232@atlanta.example.com 6787 Expires: 60 6788 CSeq: 1 SUBSCRIBE 6789 Contact: sips:bob@client.biloxi.example.com 6790 Content-Length: 0 6792 F6 NOTIFY Bob -> Alice 6794 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 6795 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6796 ;branch=z9hG4bK74bn2 6797 Max-Forwards: 70 6798 From: Bob ;tag=341123 6799 To: Alice ;tag=837348234 6800 Call-ID: 4524526232@atlanta.example.com 6801 CSeq: 1 NOTIFY 6802 Contact: 6803 Event: dialog 6804 Subscription-State: active;expires=59 6805 Content-Type: application/dialog-info+xml 6806 Content-Length: ... 6808 6809 6811 6812 1 6813 confirmed 6814 6815 6817 F7 200 OK Alice -> Bob 6819 SIP/2.0 200 OK 6820 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6821 ;branch=z9hG4bK74bn2 6822 ;received=192.0.2.105 6823 From: Bob ;tag=341123 6824 To: Alice ;tag=837348234 6825 Call-ID: 4524526232@atlanta.example.com 6826 CSeq: 1 NOTIFY 6827 Content-Length: 0 6829 /* Bob is now available. */ 6831 F8 NOTIFY Bob -> Alice 6833 NOTIFY sips:alice@atlanta.example.com SIP/2.0 6834 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6835 ;branch=z9hG4bK74bVi 6836 Max-Forwards: 70 6837 From: Bob ;tag=341123 6838 To: Alice ;tag=837348234 6839 Call-ID: 4524526232@atlanta.example.com 6840 CSeq: 2 NOTIFY 6841 Event: dialog 6842 Subscription-State: active;expires=27 6843 Contact: 6844 Content-Type: application/dialog-info+xml 6845 Content-Length: ... 6847 6848 6850 6851 terminated 6852 6853 6855 F9 200 OK Alice -> Bob 6857 SIP/2.0 200 OK 6858 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6859 ;branch=z9hG4bK74bVi 6860 ;received=192.0.2.105 6861 From: Bob ;tag=341123 6862 To: Alice ;tag=837348234 6863 Call-ID: 4524526232@atlanta.example.com 6864 CSeq: 2 NOTIFY 6865 Content-Length: 0 6867 F10 INVITE Alice -> Bob 6869 INVITE sips:bob@biloxi.example.com SIP/2.0 6870 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6871 ;branch=z9hG4bK74bfq 6872 Max-Forwards: 70 6873 From: Alice ;tag=f23fkg14k 6874 To: Bob 6875 Call-ID: aoij4i9okitr@atlanta.example.com 6876 CSeq: 1 INVITE 6877 Contact: 6878 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6879 Supported: replaces 6880 Content-Type: application/sdp 6881 Content-Length: ... 6883 v=0 6884 o=alice 2890844826 2890844826 IN IP4 client.atlanta.example.com 6885 s= 6886 c=IN IP4 client.atlanta.example.com 6887 t=0 0 6888 m=audio 49170 RTP/AVP 0 6889 a=rtpmap:0 PCMU/8000 6890 F11 180 Ringing Bob -> Alice 6892 SIP/2.0 180 Ringing 6893 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6894 ;branch=z9hG4bK74bfq 6895 ;received=192.0.2.103 6896 From: Alice ;tag=f23fkg14k 6897 To: Bob ;tag=23431 6898 Call-ID: aoij4i9okitr@atlanta.example.com 6899 CSeq: 1 INVITE 6900 Contact: 6901 Content-Length: 0 6903 F12 200 OK Bob -> Alice 6905 SIP/2.0 200 OK 6906 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6907 ;branch=z9hG4bK74bfq 6908 ;received=192.0.2.103 6909 From: Alice ;tag=f23fkg14k 6910 To: Bob ;tag=23431 6911 Call-ID: aoij4i9okitr@atlanta.example.com 6912 CSeq: 1 INVITE 6913 Contact: 6914 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6915 Supported: replaces 6916 Content-Type: application/sdp 6917 Content-Length: ... 6919 v=0 6920 o=bob 2890854527 2890854527 IN IP4 client.biloxi.example.com 6921 s= 6922 c=IN IP4 client.biloxi.example.com 6923 t=0 0 6924 m=audio 3456 RTP/AVP 0 6925 a=rtpmap:0 PCMU/8000 6927 F13 ACK Alice -> Bob 6929 ACK sips:bob@client.biloxi.example.com SIP/2.0 6930 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6931 ;branch=z9hG4bK74bLBJ 6932 Max-Forwards: 70 6933 From: Alice ;tag=f23fkg14k 6934 To: Bob ;tag=23431 6935 Call-ID: aoij4i9okitr@atlanta.example.com 6936 CSeq: 1 ACK 6937 Content-Length: 0 6939 F14 NOTIFY Bob -> Alice 6941 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 6942 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6943 ;branch=z9hG4bK4bnd2 6944 Max-Forwards: 70 6945 From: Bob ;tag=341123 6946 To: Alice ;tag=837348234 6947 Call-ID: 4524526232@atlanta.example.com 6948 CSeq: 3 NOTIFY 6949 Contact: 6950 Event: dialog 6951 Subscription-State: active;expires=15 6952 Content-Type: application/dialog-info+xml 6953 Content-Length: ... 6955 6956 6958 6959 1 6960 confirmed 6961 6962 6964 F15 200 OK Alice -> Bob 6966 SIP/2.0 200 OK 6967 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6968 ;branch=z9hG4bK4bnd2 6969 ;received=192.0.2.105 6970 From: Bob ;tag=341123 6971 To: Alice ;tag=837348234 6972 Call-ID: 4524526232@atlanta.example.com 6973 CSeq: 3 NOTIFY 6974 Content-Length: 0 6976 /* Alice terminates the subscription */ 6978 F16 SUBSCRIBE Alice -> Bob 6980 SUBSCRIBE sips:bob@client.biloxi.example.com SIP/2.0 6981 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6982 ;branch=z9hG4bK474b8 6983 Max-Forwards: 70 6984 From: Alice ;tag=837348234 6985 To: Alice ;tag=837348234 6986 Call-ID: 4524526232@atlanta.example.com 6987 CSeq: 2 SUBSCRIBE 6988 Contact: sips:alice@client.atlanta.example.com 6989 Event: dialog 6990 Expires: 0 6991 Accept: application/dialog-info+xml 6992 Content-Length: 0 6994 F17 200 OK Bob -> Alice 6996 SIP/2.0 200 OK 6997 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6998 ;branch=z9hG4bK474b8 6999 ;received=192.0.2.103 7000 From: Alice ;tag=837348234 7001 To: Bob ;tag=341123 7002 Call-ID: 4524526232@atlanta.example.com 7003 Expires: 0 7004 CSeq: 2 SUBSCRIBE 7005 Contact: sips:bob@client.biloxi.example.com 7006 Content-Length: 0 7008 F18 NOTIFY Bob -> Alice 7010 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 7011 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7012 ;branch=z9hG4bKb5n2j 7013 Max-Forwards: 70 7014 From: Bob ;tag=341123 7015 To: Alice ;tag=837348234 7016 Call-ID: 4524526232@atlanta.example.com 7017 CSeq: 4 NOTIFY 7018 Contact: 7019 Event: dialog 7020 Subscription-State: terminated;reason=noresource 7021 Content-Type: application/dialog-info+xml 7022 Content-Length: ... 7024 7025 7028 7029 3 7030 confirmed 7031 7032 7034 F19 200 OK Alice -> Bob 7036 SIP/2.0 200 OK 7037 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7038 ;branch=z9hG4bKb5n2j 7039 ;received=192.0.2.105 7040 From: Bob ;tag=341123 7041 To: Alice ;tag=837348234 7042 Call-ID: 4524526232@atlanta.example.com 7043 CSeq: 4 NOTIFY 7044 Content-Length: 0 7046 2.18. Click to Dial 7048 Bob's PC Bob Carol 7049 | REFER Refer-To:Carol F1 | 7050 |------------------->| | 7051 | 202 Accepted F2 | | 7052 |<-------------------| | 7053 | | INVITE F3 | 7054 | |------------------->| 7055 | | 180 Ringing F4 | 7056 | |<-------------------| 7057 | | 200 OK F5 | 7058 | |<-------------------| 7059 | | ACK F6 | 7060 | |------------------->| 7061 | | RTP | 7062 | |<==================>| 7063 | | | 7065 In this example, while browsing the web on his PC, Bob clicks on 7066 Carol's SIP URI intending to establish a session with Carol. Bob's 7067 web browser passes the SIP URI to the SIP client on Bob's PC. The PC 7068 client is configured with the URI of Bob's SIP phone. A REFER is 7069 sent to the SIP phone which results in the establishment of the 7070 session between Bob and Carol. 7072 Note that Bob's PC requests that no REFER dialog be established by 7073 the use of the Refer-Sub: false header field [11]. 7075 This flow is preferable to the 3pcc flow because the end-to-end SIP 7076 signaling is not interrupted by the 3pcc controller, and because 7077 Bob's experience of the call will not be marred by the lack of 7078 ringback tone or possible clipping. Suitable authorization of the 7079 REFER and explicit authorization of the triggered INVITE by Bob is 7080 necessary. 7082 Message Details 7084 /* Bob's PC SIP Client sends a REFER to Bob's SIP phone */ 7086 F1 REFER PC -> Bob 7088 REFER sips:bob@biloxi.example.com SIP/2.0 7089 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 7090 ;branch=z9hG4bKnashds7 7091 Max-Forwards: 70 7092 From: ;tag=1234567 7093 To: Bob 7094 Call-ID: 1234560183434 7095 CSeq: 1 REFER 7096 Refer-To: 7097 Refer-Sub: false 7098 Contact: 7099 Content-Length: 0 7101 F2 202 Accepted Bob -> PC 7103 SIP/2.0 202 Accepted 7104 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7105 ;branch=z9hG4bKnashds7 7106 ;received=192.0.2.103 7107 From: ;tag=1234567 7108 To: Bob ;tag=314159 7109 Call-ID: 1234560183434 7110 Contact: 7111 CSeq: 1 REFER 7112 Refer-Sub: false 7113 Content-Length: 0 7115 F3 INVITE Bob -> Carol 7116 INVITE sips:carol@chicago.example.com SIP/2.0 7117 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7118 ;branch=z9hG4bKnashdK9 7119 Max-Forwards: 70 7120 From: Bob ;tag=8675309 7121 To: Carol 7122 Call-ID: 7436222@atlanta.example.com 7123 CSeq: 1 INVITE 7124 Contact: 7125 Referred-By: 7126 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 7127 Supported: replaces 7128 Content-Type: application/sdp 7129 Content-Length: ... 7131 v=0 7132 o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com 7133 s= 7134 c=IN IP4 client.biloxi.example.com 7135 t=0 0 7136 m=audio 3458 RTP/AVP 0 7137 a=rtpmap:0 PCMU/8000 7139 F4 180 Ringing Carol -> Bob 7141 SIP/2.0 180 Ringing 7142 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7143 ;branch=z9hG4bKnashdK9 7144 ;received=192.0.2.113 7145 From: Bob ;tag=8675309 7146 To: Carol ;tag=928287 7147 Call-ID: 7436222@atlanta.example.com 7148 CSeq: 1 INVITE 7149 Contact: 7150 Content-Length: 0 7152 F5 200 OK Carol -> Bob 7154 SIP/2.0 200 OK 7155 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7156 ;branch=z9hG4bKnashdK9 7157 ;received=192.0.2.113 7158 From: Bob ;tag=8675309 7159 To: Carol ;tag=928287 7160 Call-ID: 7436222@atlanta.example.com 7161 CSeq: 1 INVITE 7162 Contact: 7163 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 7164 Supported: replaces 7165 Content-Type: application/sdp 7166 Content-Length: ... 7168 v=0 7169 o=carol 2890844527 2890844527 IN IP4 client.chicago.example.com 7170 s= 7171 c=IN IP4 client.chicago.example.com 7172 t=0 0 7173 m=audio 3456 RTP/AVP 0 7174 a=rtpmap:0 PCMU/8000 7176 F6 ACK Bob -> Carol 7178 ACK sips:carol@client.chicago.example.com SIP/2.0 7179 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7180 ;branch=z9hG4bKnashd43 7181 Max-Forwards: 70 7182 From: Bob ;tag=8675309 7183 To: Carol ;tag=928287 7184 Call-ID: 7436222@atlanta.example.com 7185 CSeq: 1 ACK 7186 Content-Length: 0 7188 /* Bob and Carol now have established a session. */ 7190 3. Security Considerations 7192 Since many of the examples in this document involve SIP call control, 7193 either peer-to-peer or 3pcc, the security considerations in the 7194 Multiparty Framework document [13] apply. 7196 Many of the services shown in this document rely on a particular user 7197 agent being part of a group. Members of a group could be, for 7198 example, employees within a particular department, a set of home 7199 phone extensions, members of a call center, etc. As such, user 7200 agents which are part of the group permit other group members special 7201 privileges and features. For example, while a user agent may not in 7202 general allow another user agent to learn detailed dialog 7203 information, this information might be shared with another group 7204 member in order to facilitate a service such as call pickup. Group 7205 members must be authenticated using normal SIP means such as 7206 certificates or shared secrets. 7208 The service examples in this document make extensive use of the SIP 7209 call control primitives REFER, Replaces, Join, and the dialog 7210 package. The security considerations associated with each of these 7211 extensions apply to the scenarios in this document. 7213 4. IANA Considerations 7215 None. 7217 5. Acknowledgements 7219 The authors would like to thank the following reviewers of the 7220 document for their detailed comments and corrections: Vijay Gurbani, 7221 John Elwell, Joel Repiquet, Nagesh Kumar, Chandra Ravipati, Eric 7222 Burger, Jeroen Bemmel, Miguel Garcia, and Dale Worley. 7224 The Transfer - Instant Messaging call flow is based on the "IM-a- 7225 call" call flow by Jonathan Rosenberg and Henning Schulzrinne. The 7226 Automatic Call Back call flow is based on a call flow by Adam Roach. 7227 The authors wish to thank the following individuals for their 7228 assistance and review of this call flows document: Joel Repiquet, Aki 7229 Neimi, Rohan Mahy, Jonathan Rosenberg, Hemant Agrawal, Henry 7230 Sinnreich, Dean Willis, David Devanatham, Joe Pizzimenti, Matt 7231 Cannon, John Hearty, the whole MCI WorldCom IPOP Design team, Scott 7232 Orton, Greg Osterhout, Pat Sollee, Doug Weisenberg, Danny Mistry, 7233 Steve McKinnon, and Denise Ingram, Denise Caballero, Tom Redman, Ilya 7234 Slain, Pat Sollee, John Truetken, and others from MCI WorldCom, 3Com, 7235 Cisco, Lucent and Nortel. 7237 6. References 7239 6.1. Normative References 7241 [1] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., 7242 Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: 7243 Session Initiation Protocol", RFC 3261, June 2002. 7245 [2] Sparks, R., "The Session Initiation Protocol (SIP) Refer 7246 Method", RFC 3515, April 2003. 7248 [3] Mahy, R., Biggs, B., and R. Dean, "The Session Initiation 7249 Protocol (SIP) "Replaces" Header", RFC 3891, September 2004. 7251 [4] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with 7252 Session Description Protocol (SDP)", RFC 3264, June 2002. 7254 [5] Roach, A., "Session Initiation Protocol (SIP)-Specific Event 7255 Notification", RFC 3265, June 2002. 7257 [6] Rosenberg, J., Schulzrinne, H., and R. Mahy, "An INVITE- 7258 Initiated Dialog Event Package for the Session Initiation 7259 Protocol (SIP)", RFC 4235, November 2005. 7261 [7] Mahy, R. and D. Petrie, "The Session Initiation Protocol (SIP) 7262 "Join" Header", RFC 3911, October 2004. 7264 [8] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, "Indicating 7265 User Agent Capabilities in the Session Initiation Protocol 7266 (SIP)", RFC 3840, August 2004. 7268 [9] Johnston, A. and O. Levin, "Session Initiation Protocol (SIP) 7269 Call Control - Conferencing for User Agents", BCP 119, 7270 RFC 4579, August 2006. 7272 [10] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., and 7273 D. Gurle, "Session Initiation Protocol (SIP) Extension for 7274 Instant Messaging", RFC 3428, December 2002. 7276 [11] Levin, O., "Suppression of Session Initiation Protocol (SIP) 7277 REFER Method Implicit Subscription", RFC 4488, May 2006. 7279 6.2. Informative References 7281 [12] Sparks, R., "Session Initiation Protocol Call Control - 7282 Transfer", draft-ietf-sipping-cc-transfer-09 (work in 7283 progress), December 2007. 7285 [13] Mahy, R., "A Call Control and Multi-party usage framework for 7286 the Session Initiation Protocol (SIP)", 7287 draft-ietf-sipping-cc-framework-09 (work in progress), 7288 December 2007. 7290 [14] Johnston, A., Donovan, S., Sparks, R., Cunningham, C., and K. 7291 Summers, "Session Initiation Protocol (SIP) Basic Call Flow 7292 Examples", BCP 75, RFC 3665, December 2003. 7294 [15] Rosenberg, J., Peterson, J., Schulzrinne, H., and G. Camarillo, 7295 "Best Current Practices for Third Party Call Control (3pcc) in 7296 the Session Initiation Protocol (SIP)", BCP 85, RFC 3725, 7297 April 2004. 7299 [16] Rosenberg, J., "Obtaining and Using Globally Routable User 7300 Agent (UA) URIs (GRUU) in the Session Initiation Protocol 7301 (SIP)", draft-ietf-sip-gruu-15 (work in progress), 7302 October 2007. 7304 [17] Johnston, A. and R. Sparks, "Session Description Protocol (SDP) 7305 Offer/Answer Examples", RFC 4317, December 2005. 7307 [18] Sparks, R., Hawrylyshen, A., Johnston, A., Rosenberg, J., and 7308 H. Schulzrinne, "Session Initiation Protocol (SIP) Torture Test 7309 Messages", RFC 4475, May 2006. 7311 Authors' Addresses 7313 Alan Johnston (editor) 7314 Avaya 7315 St. Louis, MO 63124 7317 Email: alan@sipstation.com 7319 Robert J. Sparks 7320 Estacado Systems 7322 Email: RjS@estacado.net 7324 Chris Cunningham 7325 Cisco Systems 7327 Email: chrcunni@cisco.com 7329 Steve Donovan 7330 Cisco Systems 7332 Email: srd@cisco.com 7334 Kevin Summers 7335 Prodea Systems 7336 Plano, TX 75093 7338 Email: kevin.summers@prodeasystems.com 7340 Full Copyright Statement 7342 Copyright (C) The IETF Trust (2008). 7344 This document is subject to the rights, licenses and restrictions 7345 contained in BCP 78, and except as set forth therein, the authors 7346 retain all their rights. 7348 This document and the information contained herein are provided on an 7349 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 7350 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 7351 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 7352 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 7353 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 7354 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 7356 Intellectual Property 7358 The IETF takes no position regarding the validity or scope of any 7359 Intellectual Property Rights or other rights that might be claimed to 7360 pertain to the implementation or use of the technology described in 7361 this document or the extent to which any license under such rights 7362 might or might not be available; nor does it represent that it has 7363 made any independent effort to identify any such rights. Information 7364 on the procedures with respect to rights in RFC documents can be 7365 found in BCP 78 and BCP 79. 7367 Copies of IPR disclosures made to the IETF Secretariat and any 7368 assurances of licenses to be made available, or the result of an 7369 attempt made to obtain a general license or permission for the use of 7370 such proprietary rights by implementers or users of this 7371 specification can be obtained from the IETF on-line IPR repository at 7372 http://www.ietf.org/ipr. 7374 The IETF invites any interested party to bring to its attention any 7375 copyrights, patents or patent applications, or other proprietary 7376 rights that may cover technology that may be required to implement 7377 this standard. Please address the information to the IETF at 7378 ietf-ipr@ietf.org. 7380 Acknowledgment 7382 Funding for the RFC Editor function is provided by the IETF 7383 Administrative Support Activity (IASA).