idnits 2.17.1 draft-ietf-sipping-service-examples-15.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 7358. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 7369. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 7376. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 7382. 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 (July 11, 2008) is 5767 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 (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-10 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: BCP R. Sparks 5 Expires: January 12, 2009 Estacado Systems 6 C. Cunningham 7 S. Donovan 8 Cisco Systems 9 K. Summers 10 Sonus 11 July 11, 2008 13 Session Initiation Protocol Service Examples 14 draft-ietf-sipping-service-examples-15 16 Status of this Memo 18 By submitting this Internet-Draft, each author represents that any 19 applicable patent or other IPR claims of which he or she is aware 20 have been or will be disclosed, and any of which he or she becomes 21 aware will be disclosed, in accordance with Section 6 of BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF), its areas, and its working groups. Note that 25 other groups may also distribute working documents as Internet- 26 Drafts. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 The list of current Internet-Drafts can be accessed at 34 http://www.ietf.org/ietf/1id-abstracts.txt. 36 The list of Internet-Draft Shadow Directories can be accessed at 37 http://www.ietf.org/shadow.html. 39 This Internet-Draft will expire on January 12, 2009. 41 Abstract 43 This document gives examples of Session Initiation Protocol (SIP) 44 services. This covers most features offered in so-called IP Centrex 45 offerings from local exchange carriers and PBX (Private Branch 46 Exchange) features. Most of the services shown in this document are 47 implemented in the SIP User Agents, although some require the 48 assistance of a SIP Proxy. Some require some extensions to SIP 49 including the REFER, SUBSCRIBE, and NOTIFY methods and the Replaces 50 and Join header fields. These features are not intended to be an 51 exhaustive set, but rather show implementations of common features 52 likely to be implemented on SIP IP telephones in a business 53 environment. 55 Table of Contents 57 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 2. Service Examples . . . . . . . . . . . . . . . . . . . . . . 5 59 2.1. Call Hold . . . . . . . . . . . . . . . . . . . . . . . . 5 60 2.2. Consultation Hold . . . . . . . . . . . . . . . . . . . . 18 61 2.3. Music On Hold . . . . . . . . . . . . . . . . . . . . . . 36 62 2.4. Transfer - Unattended . . . . . . . . . . . . . . . . . . 49 63 2.5. Transfer - Attended . . . . . . . . . . . . . . . . . . . 56 64 2.6. Transfer - Instant Messaging . . . . . . . . . . . . . . 70 65 2.7. Call Forwarding Unconditional . . . . . . . . . . . . . . 76 66 2.8. Call Forwarding - Busy . . . . . . . . . . . . . . . . . 82 67 2.9. Call Forwarding - No Answer . . . . . . . . . . . . . . . 90 68 2.10. 3-way Conference - Third Party is Added . . . . . . . . . 99 69 2.11. 3-way Conference - Third Party Joins . . . . . . . . . . 105 70 2.12. Find-Me . . . . . . . . . . . . . . . . . . . . . . . . . 110 71 2.13. Call Management (Incoming Call Screening) . . . . . . . . 122 72 2.14. Call Management (Outgoing Call Screening) . . . . . . . . 129 73 2.15. Call Park . . . . . . . . . . . . . . . . . . . . . . . . 132 74 2.16. Call Pickup . . . . . . . . . . . . . . . . . . . . . . . 144 75 2.17. Automatic Redial . . . . . . . . . . . . . . . . . . . . 150 76 2.18. Click to Dial . . . . . . . . . . . . . . . . . . . . . . 159 77 3. Security Considerations . . . . . . . . . . . . . . . . . . . 162 78 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 163 79 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 163 80 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 163 81 6.1. Normative References . . . . . . . . . . . . . . . . . . 163 82 6.2. Informative References . . . . . . . . . . . . . . . . . 164 83 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 165 84 Intellectual Property and Copyright Statements . . . . . . . . . 167 86 1. Overview 88 This document provides example call flows detailing a SIP 89 implementation of the following traditional telephony services: 91 Call Hold Music on Hold 92 Unattended Transfer Consultation Hold 93 Unconditional Call Forwarding Attended Transfer 94 No Answer Call Forwarding Busy Call Forwarding 95 3-way Call Incoming Call Screening 96 Find-Me Call Pickup 97 Call Park Outgoing Call Screening 98 Automatic Redial Click to Dial 100 Note that the Single Line Extension call flow has been removed from 101 this document and will be covered in a separate document. 103 The call flows shown in this document were developed in the design of 104 a SIP IP communications network. They represent an example set of 105 so-called IP Centrex services or PBX services. 107 It is the hope of the authors that this document will be useful for 108 SIP implementers, designers, and protocol researchers alike and will 109 help further the goal of a standard implementation of RFC 3261 110 [RFC3261] and some of its extensions. 112 These flows represent carefully checked and working group reviewed 113 scenarios of SIP service examples as a companion to the 114 specifications. 116 These call flows are based on the current version 2.0 of SIP in RFC 117 3261 [RFC3261] with SDP usage described in RFC 3264 [RFC3264] Other 118 RFCs also form part of the SIP standard and are used and referenced 119 in these call flows. 121 The SIP specification and the other referenced documents are 122 definitive as far as protocol issues are concerned. Also, these 123 flows do not represent the only way to implement these services - 124 other approaches such as 3pcc (Third Party Call Control) [RFC3725] or 125 Back-to-Back User Agents (B2BUA) can be used. This specification 126 does not preclude these or other approaches for implementing such 127 services. The peer-to-peer design and principles of these service 128 examples are described in the Multiparty Framework document 129 [I-D.ietf-sipping-cc-framework]. 131 These flows assume the functionality described in the SIP Call Flow 132 Examples document [RFC3665], which explores basic SIP behavior. Some 133 of the scenarios described herein make use of the SIP method 134 extension REFER [RFC3515] and the SIP header extension Replaces 135 [RFC3891], and the SIP header extension Join [RFC3911]. The SIP 136 Events document [RFC3265] describes the use of SUBSCRIBE and NOTIFY 137 while the SIP Dialog Event Package [RFC4235] document describes the 138 dialog event package. Some examples make use of the GRUU (Globally 139 Routable User Agent URI) [I-D.ietf-sip-gruu] extension. 141 These flows were prepared assuming a network of proxies, registrars, 142 and other SIP servers. The use of Secure SIP URIs (sips) is shown 143 throughout this document, implying TLS transport on each hop with 144 assumed certificate validation. However, other security approaches 145 can be used. The use of Digest authentication is shown in some 146 examples. 148 The emphasis in these call flows is the SIP signaling exchange. As a 149 result, only very simple SDP offer/answer exchanges are shown with 150 audio media. These flows apply equally well for other media and 151 multi-media sessions. For more advanced examples of SDP offer/answer 152 exchanges, refer to [RFC4317]. 154 Each call flow is presented with a textual description of the 155 scenario, a message flow diagram showing the messages exchanged 156 between separate network elements, and the detailed contents of each 157 message shown in the diagram. 159 1.1 Legend for Message Flows 161 Dashed lines (---) represent control messages that are mandatory to 162 the call scenario. These control messages can be SIP signaling. 164 Double dashed lines (===) represent media paths between network 165 elements. 167 Messages with parenthesis around name represent optional control 168 messages. 170 Messages are identified in the Figures as F1, F2, etc. This 171 references the message details in the table that follows the Figure. 173 Lines longer than 72 characters are handled using the 174 convention defined in Section 2.1 of RFC 4475 [RFC4475]. 176 Comments in the message details are shown in the following form: 178 /* Comments. */ 180 2. Service Examples 182 2.1. Call Hold 183 Alice Proxy Bob 184 | | | 185 | INVITE F1 | | 186 |--------------->| | 187 | | INVITE F2 | 188 |(100 Trying) F3 |------------->| 189 |<---------------| | 190 | |180 Ringing F4| 191 | 180 Ringing F5 |<-------------| 192 |<---------------| | 193 | | 200 OK F6 | 194 | 200 OK F7 |<-------------| 195 |<---------------| | 196 | ACK F8 | | 197 |--------------->| ACK F9 | 198 | |------------->| 199 | Both way RTP Established | 200 |<=============================>| 201 | |INVITE(hold) F10 202 |INVITE(hold) F11|<-------------| 203 |<---------------| | 204 | 200 OK F12 | | 205 |--------------->| 200 OK F13 | 206 | |------------->| 207 | | ACK F14 | 208 | ACK F15 |<-------------| 209 |<---------------| | 210 | No RTP Sent! | 211 | | INVITE F16 | 212 | INVITE F17 |<-------------| 213 |<---------------| | 214 | 200 OK F18 | | 215 |--------------->| 200 OK F19 | 216 | |------------->| 217 | | ACK F20 | 218 | ACK F21 |<-------------| 219 |<---------------| | 220 | Both way RTP Established | 221 |<=============================>| 222 | BYE F22 | | 223 |--------------->| BYE F23 | 224 | |------------->| 225 | | 200 OK F24 | 226 | 200 OK F25 |<-------------| 227 |<---------------| | 228 | | | 230 In this scenario, Alice calls Bob, then Bob places the call on hold. 232 Bob then takes the call off hold, then Alice hangs up the call. Note 233 that hold is unidirectional in nature. However, a UA that places the 234 other party on hold will generally also stop sending media, resulting 235 in no media exchange between the UAs. Older UAs may set the 236 connection address to 0.0.0.0 when initiating hold. However, this 237 behavior has been deprecated in favor of using the a=sendonly SDP 238 attribute. 240 Also note the use of the rendering feature tag defined in RFC 4235 241 [RFC4235] used in F10 and F11 to indicate in that Bob's UA is no 242 longer rendering media to Bob, i.e. that Bob has placed the call on 243 hold. 245 Message Details 247 F1 INVITE Alice -> Proxy 1 249 INVITE sips:bob@biloxi.example.com SIP/2.0 250 Via: SIP/2.0/TLS client.atlanta.example.com:5061 251 ;branch=z9hG4bK74bf9 252 Max-Forwards: 70 253 From: Alice ;tag=1234567 254 To: Bob 255 Call-ID: 12345601@atlanta.example.com 256 CSeq: 1 INVITE 257 Contact: 258 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 259 Supported: replaces 260 Content-Type: application/sdp 261 Content-Length: ... 263 v=0 264 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 265 s= 266 c=IN IP4 client.atlanta.example.com 267 t=0 0 268 m=audio 49170 RTP/AVP 0 269 a=rtpmap:0 PCMU/8000 271 F2 INVITE Proxy 1 -> Bob 273 INVITE sips:bob@client.biloxi.example.com SIP/2.0 274 Via: SIP/2.0/TLS ss1.example.com:5061 275 ;branch=z9hG4bK83749.1 276 Via: SIP/2.0/TLS client.atlanta.example.com:5061 277 ;branch=z9hG4bK74bf9 278 ;received=192.0.2.103 279 Record-Route: 280 Max-Forwards: 69 281 From: Alice ;tag=1234567 282 To: Bob 283 Call-ID: 12345601@atlanta.example.com 284 CSeq: 1 INVITE 285 Contact: 286 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 287 Supported: replaces 288 Content-Type: application/sdp 289 Content-Length: ... 291 v=0 292 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 293 s= 294 c=IN IP4 client.atlanta.example.com 295 t=0 0 296 m=audio 49170 RTP/AVP 0 297 a=rtpmap:0 PCMU/8000 299 F3 (100 Trying) Proxy 1 -> Alice 301 SIP/2.0 100 Trying 302 Via: SIP/2.0/TLS client.atlanta.example.com:5061 303 ;branch=z9hG4bK74bf9 304 ;received=192.0.2.103 305 From: Alice ;tag=1234567 306 To: Bob 307 Call-ID: 12345601@atlanta.example.com 308 CSeq: 1 INVITE 309 Content-Length: 0 311 F4 180 Ringing Bob -> Proxy 1 313 SIP/2.0 180 Ringing 314 Via: SIP/2.0/TLS ss1.example.com:5061 315 ;branch=z9hG4bK83749.1 316 ;received=192.0.2.54 317 Via: SIP/2.0/TLS client.atlanta.example.com:5061 318 ;branch=z9hG4bK74bf9 319 ;received=192.0.2.103 320 Record-Route: 321 From: Alice ;tag=1234567 322 To: Bob ;tag=314159 323 Call-ID: 12345601@atlanta.example.com 324 CSeq: 1 INVITE 325 Contact: 326 Content Length:0 328 F5 180 Ringing Proxy 1 -> Alice 330 SIP/2.0 180 Ringing 331 Via: SIP/2.0/TLS client.atlanta.example.com:5061 332 ;branch=z9hG4bK74bf9 333 ;received=192.0.2.103 334 Record-Route: 335 From: Alice ;tag=1234567 336 To: Bob ;tag=314159 337 Call-ID: 12345601@atlanta.example.com 338 CSeq: 1 INVITE 339 Contact: 340 Content Length: 0 342 F6 200 OK Bob -> Proxy 1 344 SIP/2.0 200 OK 345 Via: SIP/2.0/TLS ss1.example.com:5061 346 ;branch=z9hG4bK83749.1 347 ;received=192.0.2.54 348 Via: SIP/2.0/TLS client.atlanta.example.com:5061 349 ;branch=z9hG4bK74bf9 350 ;received=192.0.2.103 351 Record-Route: 352 From: Alice ;tag=1234567 353 To: Bob ;tag=314159 354 Call-ID: 12345601@atlanta.example.com 355 CSeq: 1 INVITE 356 Contact: 357 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 358 Supported: replaces 359 Content-Type: application/sdp 360 Content-Length: ... 362 v=0 363 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 364 s= 365 c=IN IP4 client.biloxi.example.com 366 t=0 0 367 m=audio 3456 RTP/AVP 0 368 a=rtpmap:0 PCMU/8000 369 F7 200 OK Proxy 1 -> Alice 371 SIP/2.0 200 OK 372 Via: SIP/2.0/TLS client.atlanta.example.com:5061 373 ;branch=z9hG4bK74bf9 374 ;received=192.0.2.103 375 Record-Route: 376 From: Alice ;tag=1234567 377 To: Bob ;tag=314159 378 Call-ID: 12345601@atlanta.example.com 379 CSeq: 1 INVITE 380 Contact: 381 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 382 Supported: replaces 383 Content-Type: application/sdp 384 Content-Length: ... 386 v=0 387 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 388 s= 389 c=IN IP4 client.biloxi.example.com 390 t=0 0 391 m=audio 3456 RTP/AVP 0 392 a=rtpmap:0 PCMU/8000 394 F8 ACK Alice -> Proxy 1 396 ACK sips:bob@client.biloxi.example.com SIP/2.0 397 Via: SIP/2.0/TLS client.atlanta.example.com:5061 398 ;branch=z9hG4bK74bf92 399 Route: 400 Max-Forwards: 70 401 From: Alice ;tag=1234567 402 To: Bob ;tag=314159 403 Call-ID: 12345601@atlanta.example.com 404 CSeq: 1 ACK 405 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 406 Supported: replaces 407 Content-Length: 0 409 F9 ACK Proxy 1 -> Bob 411 ACK sips:bob@client.biloxi.example.com SIP/2.0 412 Via: SIP/2.0/TLS ss1.example.com:5061 413 ;branch=z9hG4bK837492.1 414 Via: SIP/2.0/TLS client.atlanta.example.com:5061 415 ;branch=z9hG4bK74bf92 416 ;received=192.0.2.103 417 Max-Forwards: 69 418 From: Alice ;tag=1234567 419 To: Bob ;tag=314159 420 Call-ID: 12345601@atlanta.example.com 421 CSeq: 1 ACK 422 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 423 Supported: replaces 424 Content-Length: 0 426 /* Bob places Alice on hold. Note that the version is 427 incremented in the o= field of the SDP */ 429 F10 INVITE Bob -> Proxy 1 431 INVITE sips:alice@client.atlanta.example.com SIP/2.0 432 Via: SIP/2.0/TLS client.biloxi.example.com:5061 433 ;branch=z9hG4bKnashds7 434 Route: 435 Max-Forwards: 70 436 From: Bob ;tag=314159 437 To: Alice ;tag=1234567 438 Call-ID: 12345601@atlanta.example.com 439 CSeq: 1 INVITE 440 Contact: ;+sip.rendering="no" 441 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 442 Supported: replaces 443 Content-Type: application/sdp 444 Content-Length: ... 446 v=0 447 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 448 s= 449 c=IN IP4 client.biloxi.example.com 450 t=0 0 451 m=audio 3456 RTP/AVP 0 452 a=rtpmap:0 PCMU/8000 453 a=sendonly 455 F11 INVITE Proxy 1 -> Alice 457 INVITE sips:alice@client.atlanta.example.com SIP/2.0 458 Via: SIP/2.0/TLS ss1.example.com:5061 459 ;branch=z9hG4bK83749.1 460 Via: SIP/2.0/TLS client.biloxi.example.com:5061 461 ;branch=z9hG4bKnashds7 462 ;received=192.0.2.105 463 Record-Route: 464 Max-Forwards: 69 465 From: Bob ;tag=314159 466 To: Alice ;tag=1234567 467 Call-ID: 12345601@atlanta.example.com 468 CSeq: 1 INVITE 469 Contact: ;+sip.rendering="no" 470 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 471 Supported: replaces 472 Content-Type: application/sdp 473 Content-Length: ... 475 v=0 476 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 477 s= 478 c=IN IP4 client.biloxi.example.com 479 t=0 0 480 m=audio 3456 RTP/AVP 0 481 a=rtpmap:0 PCMU/8000 482 a=sendonly 484 /* Alice replies to hold */ 486 F12 200 OK Alice -> Proxy 1 488 SIP/2.0 200 OK 489 Via: SIP/2.0/TLS ss1.example.com:5061 490 ;branch=z9hG4bK83749.1 491 ;received=192.0.2.54 492 Via: SIP/2.0/TLS client.biloxi.example.com:5061 493 ;branch=z9hG4bKnashds7 494 ;received=192.0.2.105 495 Record-Route: 496 From: Bob ;tag=314159 497 To: Alice ;tag=1234567 498 Call-ID: 12345601@atlanta.example.com 499 CSeq: 1 INVITE 500 Contact: 501 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 502 Supported: replaces 503 Content-Type: application/sdp 504 Content-Length: ... 506 v=0 507 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 508 s= 509 c=IN IP4 client.atlanta.example.com 510 t=0 0 511 m=audio 49170 RTP/AVP 0 512 a=rtpmap:0 PCMU/8000 513 a=recvonly 515 F13 200 OK Proxy 1 -> Bob 517 SIP/2.0 200 OK 518 Via: SIP/2.0/TLS client.biloxi.example.com:5061 519 ;branch=z9hG4bKnashds7 520 ;received=192.0.2.105 521 Record-Route: 522 From: Bob ;tag=314159 523 To: Alice ;tag=1234567 524 Call-ID: 12345601@atlanta.example.com 525 CSeq: 1 INVITE 526 Contact: 527 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 528 Supported: replaces 529 Content-Type: application/sdp 530 Content-Length: ... 532 v=0 533 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 534 s= 535 c=IN IP4 client.atlanta.example.com 536 t=0 0 537 m=audio 49170 RTP/AVP 0 538 a=rtpmap:0 PCMU/8000 539 a=recvonly 541 F14 ACK Bob -> Proxy 1 543 ACK sips:alice@client.atlanta.example.com SIP/2.0 544 Via: SIP/2.0/TLS client.biloxi.example.com:5061 545 ;branch=z9hG4bKnashds72 546 Route: 547 Max-Forwards: 70 548 From: Bob ;tag=314159 549 To: Alice ;tag=1234567 550 Call-ID: 12345601@atlanta.example.com 551 CSeq: 1 ACK 552 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 553 Supported: replaces 554 Content-Length: 0 556 F15 ACK Proxy 1 -> Alice 558 ACK sips:alice@client.atlanta.example.com SIP/2.0 559 Via: SIP/2.0/TLS ss1.example.com:5061 560 ;branch=z9hG4bK83749.1 561 Via: SIP/2.0/TLS client.biloxi.example.com:5061 562 ;branch=z9hG4bKnashds72 563 ;received=192.0.2.105 564 Max-Forwards: 69 565 From: Bob ;tag=314159 566 To: Alice ;tag=1234567 567 Call-ID: 12345601@atlanta.example.com 568 CSeq: 1 ACK 569 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 570 Supported: replaces 571 Content-Length: 0 573 /* Bob takes the call off hold */ 575 F16 INVITE Bob -> Proxy 1 577 INVITE sips:alice@client.atlanta.example.com SIP/2.0 578 Via: SIP/2.0/TLS client.biloxi.example.com:5061 579 ;branch=z9hG4bKnashds73 580 Route: 581 Max-Forwards: 70 582 From: Bob ;tag=314159 583 To: Alice ;tag=1234567 584 Call-ID: 12345601@atlanta.example.com 585 CSeq: 2 INVITE 586 Contact: 587 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 588 Supported: replaces 589 Content-Type: application/sdp 590 Content-Length: ... 592 v=0 593 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 594 s= 595 c=IN IP4 client.biloxi.example.com 596 t=0 0 597 m=audio 3456 RTP/AVP 0 598 a=rtpmap:0 PCMU/8000 599 F17 INVITE Proxy 1 -> Alice 601 INVITE sips:alice@client.atlanta.example.com SIP/2.0 602 Via: SIP/2.0/TLS ss1.example.com:5061 603 ;branch=z9hG4bK837493.1 604 Via: SIP/2.0/TLS client.biloxi.example.com:5061 605 ;branch=z9hG4bKnashds73 606 ;received=192.0.2.105 607 Record-Route: 608 Max-Forwards: 69 609 From: Bob ;tag=314159 610 To: Alice ;tag=1234567 611 Call-ID: 12345601@atlanta.example.com 612 CSeq: 2 INVITE 613 Contact: 614 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 615 Supported: replaces 616 Content-Type: application/sdp 617 Content-Length: ... 619 v=0 620 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 621 s= 622 c=IN IP4 client.biloxi.example.com 623 t=0 0 624 m=audio 3456 RTP/AVP 0 625 a=rtpmap:0 PCMU/8000 627 F18 200 OK Alice -> Proxy 1 629 SIP/2.0 200 OK 630 Via: SIP/2.0/TLS ss1.example.com:5061 631 ;branch=z9hG4bK837493.1 632 ;received=192.0.2.54 633 Via: SIP/2.0/TLS client.biloxi.example.com:5061 634 ;branch=z9hG4bKnashds73 635 ;received=192.0.2.105 636 Record-Route: 637 From: Bob ;tag=314159 638 To: Alice ;tag=1234567 639 Call-ID: 12345601@atlanta.example.com 640 CSeq: 2 INVITE 641 Contact: 642 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 643 Supported: replaces 644 Content-Type: application/sdp 645 Content-Length: ... 647 v=0 648 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 649 s= 650 c=IN IP4 client.atlanta.example.com 651 t=0 0 652 m=audio 49170 RTP/AVP 0 653 a=rtpmap:0 PCMU/8000 655 F19 200 OK Proxy 1 -> Bob 657 SIP/2.0 200 OK 658 Via: SIP/2.0/TLS client.biloxi.example.com:5061 659 ;branch=z9hG4bKnashds73 660 ;received=192.0.2.105 661 Record-Route: 662 From: Bob ;tag=314159 663 To: Alice ;tag=1234567 664 Call-ID: 12345601@atlanta.example.com 665 CSeq: 2 INVITE 666 Contact: 667 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 668 Supported: replaces 669 Content-Type: application/sdp 670 Content-Length: ... 672 v=0 673 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 674 s= 675 c=IN IP4 client.atlanta.example.com 676 t=0 0 677 m=audio 49170 RTP/AVP 0 678 a=rtpmap:0 PCMU/8000 680 F20 ACK Bob -> Proxy 1 682 ACK sips:alice@client.atlanta.example.com SIP/2.0 683 Via: SIP/2.0/TLS client.biloxi.example.com:5061 684 ;branch=z9hG4bKnashds74 685 Route: 686 Max-Forwards: 70 687 From: Bob ;tag=314159 688 To: Alice ;tag=1234567 689 Call-ID: 12345601@atlanta.example.com 690 CSeq: 2 ACK 691 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 692 Supported: replaces 693 Content-Length: 0 695 F21 ACK Proxy 1 -> Alice 697 ACK sips:alice@client.atlanta.example.com SIP/2.0 698 Via: SIP/2.0/TLS ss1.example.com:5061 699 ;branch=z9hG4bK837494.1 700 Via: SIP/2.0/TLS client.biloxi.example.com:5061 701 ;branch=z9hG4bKnashds74 702 ;received=192.0.2.105 703 Max-Forwards: 69 704 From: Bob ;tag=314159 705 To: Alice ;tag=1234567 706 Call-ID: 12345601@atlanta.example.com 707 CSeq: 2 ACK 708 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 709 Supported: replaces 710 Content-Length: 0 712 /* RTP Media stream re-established. Alice disconnects. */ 714 F22 BYE Alice -> Proxy 1 716 BYE sips:bob@client.biloxi.example.com SIP/2.0 717 Via: SIP/2.0/TLS client.atlanta.example.com:5061 718 ;branch=z9hG4bK74bf97 719 Route: 720 Max-Forwards: 70 721 From: Alice ;tag=1234567 722 To: Bob ;tag=314159 723 Call-ID: 12345601@atlanta.example.com 724 CSeq: 2 BYE 725 Content-Length: 0 727 F23 BYE Proxy 1 -> Bob 729 BYE sips:bob@client.biloxi.example.com SIP/2.0 730 Via: SIP/2.0/TLS ss1.example.com:5061 731 ;branch=z9hG4bK837497.1 732 Via: SIP/2.0/TLS client.atlanta.example.com:5061 733 ;branch=z9hG4bK74bf97 734 ;received=192.0.2.103 735 Max-Forwards: 69 736 From: Alice ;tag=1234567 737 To: Bob ;tag=314159 738 Call-ID: 12345601@atlanta.example.com 739 CSeq: 2 BYE 740 Content-Length: 0 742 F24 200 OK Bob -> Proxy 1 744 SIP/2.0 200 OK 745 Via: SIP/2.0/TLS ss1.example.com:5061 746 ;branch=z9hG4bK837497.1 747 ;received=192.0.2.54 748 Via: SIP/2.0/TLS client.atlanta.example.com:5061 749 ;branch=z9hG4bK74bf97 750 ;received=192.0.2.103 751 From: Alice ;tag=1234567 752 To: Bob ;tag=314159 753 Call-ID: 12345601@atlanta.example.com 754 CSeq: 2 BYE 755 Content-Length: 0 757 F25 200 OK Proxy 1 -> Alice 759 SIP/2.0 200 OK 760 Via: SIP/2.0/TLS client.atlanta.example.com:5061 761 ;branch=z9hG4bK74bf97 762 ;received=192.0.2.103 763 From: Alice ;tag=1234567 764 To: Bob ;tag=314159 765 Call-ID: 12345601@atlanta.example.com 766 CSeq: 2 BYE 767 Content-Length: 0 769 2.2. Consultation Hold 771 Alice Proxy Bob Carol 772 | | | | 773 | INVITE F1 | | | 774 |--------------->| INVITE F2 | | 775 | |------------->| | 776 |(100 Trying) F3 | | | 777 |<---------------|180 Ringing F4| | 778 | |<-------------| | 779 | 180 Ringing F5 | | | 780 |<---------------| 200 OK F6 | | 781 | |<-------------| | 782 | 200 OK F7 | | | 783 |<---------------| | | 784 | ACK F8 | | | 785 |--------------->| ACK F9 | | 786 | |------------->| | 787 | Both way RTP Established | | 788 |<=============================>| | 789 | |INVITE(hold) F10 | 790 |INVITE(hold) F11|<-------------| | 791 |<---------------| | | 792 | 200 OK F12 | | | 793 |--------------->| 200 OK F13 | | 794 | |------------->| | 795 | | ACK F14 | | 796 | |<-------------| | 797 | ACK F15 | | | 798 |<---------------| | | 799 | No RTP Sent! | | 800 | | INVITE F16 | | 801 | |<-------------| | 802 | | | INVITE F17 | 803 | |--------------------------------->| 804 | |(100 Trying) F18 | 805 | |------------->| | 806 | | | 180 Ringing F19 | 807 | |<---------------------------------| 808 | | 180 Ringing F20 | 809 | |------------->| | 810 | | | 200 OK F21 | 811 | |<---------------------------------| 812 | | 200 OK F22 | | 813 | |------------->| | 814 | | ACK F23 | | 815 | |<-------------| | 816 | | | ACK F24 | 817 | |--------------------------------->| 818 | | Both way RTP Established | 819 | | |<=================>| 820 | | BYE F25 | | 821 | |<-------------| | 822 | | | BYE F26 | 823 | |--------------------------------->| 824 | | | 200 OK F27 | 825 | |<---------------------------------| 826 | | 200 OK F28 | | 827 | |------------->| | 828 | | INVITE F29 | | 829 | INVITE F30 |<-------------| | 830 |<---------------| | | 831 | 200 OK F31 | | | 832 |--------------->| 200 OK F32 | | 833 | |------------->| | 834 | | ACK F33 | | 835 | |<-------------| | 836 | ACK F34 | | | 837 |<---------------| | | 838 | Both way RTP Established | | 839 |<=============================>| | 840 | BYE F35 | | | 841 |--------------->| BYE F36 | | 842 | |------------->| | 843 | | 200 OK F37 | | 844 | |<-------------| | 845 | 200 OK F38 | | | 846 |<---------------| | | 847 | | | | 849 In this scenario, Alice calls Bob. Bob places call on hold. Bob 850 calls Carol. Bob then disconnects with Carol, then takes the call 851 with Alice off hold. The call ends when Alice hangs up. 853 Also note the use of the rendering feature tag defined in RFC 4235 854 [RFC4235] used in F10 to indicate in that Bob's UA is no longer 855 rendering media to Bob, i.e. that Bob has placed the call on hold. 857 Message Details 859 F1 INVITE Alice -> Proxy 1 861 INVITE sips:bob@biloxi.example.com SIP/2.0 862 Via: SIP/2.0/TLS client.atlanta.example.com:5061 863 ;branch=z9hG4bK74bf9 864 Max-Forwards: 70 865 From: Alice ;tag=1234567 866 To: Bob 867 Call-ID: 12345600@atlanta.example.com 868 CSeq: 1 INVITE 869 Contact: 870 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 871 Supported: replaces 872 Content-Type: application/sdp 873 Content-Length: ... 875 v=0 876 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 877 s= 878 c=IN IP4 client.atlanta.example.com 879 t=0 0 880 m=audio 49170 RTP/AVP 0 881 a=rtpmap:0 PCMU/8000 883 F2 INVITE Proxy 1 -> Bob 885 INVITE sips:bob@client.biloxi.example.com SIP/2.0 886 Via: SIP/2.0/TLS ss1.example.com:5061 887 ;branch=z9hG4bK83749.1 888 Via: SIP/2.0/TLS client.atlanta.example.com:5061 889 ;branch=z9hG4bK74bf9 890 ;received=192.0.2.103 891 Record-Route: 892 Max-Forwards: 69 893 From: Alice ;tag=1234567 894 To: Bob 895 Call-ID: 12345600@atlanta.example.com 896 CSeq: 1 INVITE 897 Contact: 898 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 899 Supported: replaces 900 Content-Type: application/sdp 901 Content-Length: ... 903 v=0 904 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 905 s= 906 c=IN IP4 client.atlanta.example.com 907 t=0 0 908 m=audio 49170 RTP/AVP 0 909 a=rtpmap:0 PCMU/8000 911 F3(100 Trying) Proxy 1 -> Alice 913 SIP/2.0 100 Trying 914 Via: SIP/2.0/TLS client.atlanta.example.com:5061 915 ;branch=z9hG4bK74bf9 916 ;received=192.0.2.103 917 From: Alice ;tag=1234567 918 To: Bob 919 Call-ID: 12345600@atlanta.example.com 920 CSeq: 1 INVITE 921 Content-Length: 0 923 F4 180 Ringing Bob -> Proxy 1 924 SIP/2.0 180 Ringing 925 Via: SIP/2.0/TLS ss1.example.com:5061 926 ;branch=z9hG4bK83749.1 927 ;received=192.0.2.54 928 Via: SIP/2.0/TLS client.atlanta.example.com:5061 929 ;branch=z9hG4bK74bf9 930 ;received=192.0.2.103 931 Record-Route: 932 From: Alice ;tag=1234567 933 To: Bob ;tag=314159 934 Call-ID: 12345600@atlanta.example.com 935 CSeq: 1 INVITE 936 Contact: 937 Content Length:0 939 F5 180 Ringing Proxy 1 -> Alice 941 SIP/2.0 180 Ringing 942 Via: SIP/2.0/TLS client.atlanta.example.com:5061 943 ;branch=z9hG4bK74bf9 944 ;received=192.0.2.103 945 Record-Route: 946 From: Alice ;tag=1234567 947 To: Bob ;tag=314159 948 Call-ID: 12345600@atlanta.example.com 949 CSeq: 1 INVITE 950 Contact: 951 Content Length: 0 953 F6 200 OK Bob -> Proxy 1 955 SIP/2.0 200 OK 956 Via: SIP/2.0/TLS ss1.example.com:5061 957 ;branch=z9hG4bK83749.1 958 ;received=192.0.2.54 959 Via: SIP/2.0/TLS client.atlanta.example.com:5061 960 ;branch=z9hG4bK74bf9 961 ;received=192.0.2.103 962 Record-Route: 963 From: Alice ;tag=1234567 964 To: Bob ;tag=314159 965 Call-ID: 12345600@atlanta.example.com 966 CSeq: 1 INVITE 967 Contact: 968 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 969 Supported: replaces 970 Content-Type: application/sdp 971 Content-Length: ... 973 v=0 974 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 975 s= 976 c=IN IP4 client.biloxi.example.com 977 t=0 0 978 m=audio 3456 RTP/AVP 0 979 a=rtpmap:0 PCMU/8000 981 F7 200 OK Proxy 1 -> Alice 983 SIP/2.0 200 OK 984 Via: SIP/2.0/TLS client.atlanta.example.com:5061 985 ;branch=z9hG4bK74bf9 986 ;received=192.0.2.103 987 Record-Route: 988 From: Alice ;tag=1234567 989 To: Bob ;tag=314159 990 Call-ID: 12345600@atlanta.example.com 991 CSeq: 1 INVITE 992 Contact: 993 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 994 Supported: replaces 995 Content-Type: application/sdp 996 Content-Length: ... 998 v=0 999 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 1000 s= 1001 c=IN IP4 client.biloxi.example.com 1002 t=0 0 1003 m=audio 3456 RTP/AVP 0 1004 a=rtpmap:0 PCMU/8000 1006 F8 ACK Alice -> Proxy 1 1008 ACK sips:bob@client.biloxi.example.com SIP/2.0 1009 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1010 ;branch=z9hG4bK74bf45 1011 Route: 1012 Max-Forwards: 70 1013 From: Alice ;tag=1234567 1014 To: Bob ;tag=314159 1015 Call-ID: 12345600@atlanta.example.com 1016 CSeq: 1 ACK 1017 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1018 Supported: replaces 1019 Content-Length: 0 1021 F9 ACK Proxy 1 -> Bob 1023 ACK sips:bob@client.biloxi.example.com SIP/2.0 1024 Via: SIP/2.0/TLS ss1.example.com:5061 1025 ;branch=z9hG4bK837494.1 1026 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1027 ;branch=z9hG4bK74bf45 1028 ;received=192.0.2.103 1029 Max-Forwards: 69 1030 From: Alice ;tag=1234567 1031 To: Bob ;tag=314159 1032 Call-ID: 12345600@atlanta.example.com 1033 CSeq: 1 ACK 1034 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1035 Supported: replaces 1036 Content-Length: 0 1038 /* Bob places Alice on hold. */ 1040 F10 INVITE Bob -> Proxy 1 1042 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1043 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1044 ;branch=z9hG4bKnashds7 1045 Route: 1046 Max-Forwards: 70 1047 From: Bob ;tag=314159 1048 To: Alice ;tag=1234567 1049 Call-ID: 12345600@atlanta.example.com 1050 CSeq: 1 INVITE 1051 Contact: ;+sip.rendering="no" 1052 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1053 Supported: replaces 1054 Content-Type: application/sdp 1055 Content-Length: ... 1057 v=0 1058 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 1059 s= 1060 c=IN IP4 client.biloxi.example.com 1061 t=0 0 1062 m=audio 3456 RTP/AVP 0 1063 a=rtpmap:0 PCMU/8000 1064 a=sendonly 1066 F11 INVITE Proxy 1 -> Alice 1068 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1069 Via: SIP/2.0/TLS ss1.example.com:5061 1070 ;branch=z9hG4bK837497.1 1071 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1072 ;branch=z9hG4bKnashds7 1073 ;received=192.0.2.105 1074 Record-Route: 1075 Max-Forwards: 69 1076 From: Bob ;tag=314159 1077 To: Alice ;tag=1234567 1078 Call-ID: 12345600@atlanta.example.com 1079 CSeq: 1 INVITE 1080 Contact: ;+sip.rendering="no" 1081 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1082 Supported: replaces 1083 Content-Type: application/sdp 1084 Content-Length: ... 1086 v=0 1087 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 1088 s= 1089 c=IN IP4 client.biloxi.example.com 1090 t=0 0 1091 m=audio 3456 RTP/AVP 0 1092 a=rtpmap:0 PCMU/8000 1093 a=sendonly 1095 F12 200 OK Alice -> Proxy 1 1097 SIP/2.0 200 OK 1098 Via: SIP/2.0/TLS ss1.example.com:5061 1099 ;branch=z9hG4bK837497.1 1100 ;received=192.0.2.54 1101 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1102 ;branch=z9hG4bKnashds7 1103 ;received=192.0.2.105 1104 Record-Route: 1105 From: Bob ;tag=314159 1106 To: Alice ;tag=1234567 1107 Call-ID: 12345600@atlanta.example.com 1108 CSeq: 1 INVITE 1109 Contact: 1110 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1111 Supported: replaces 1112 Content-Type: application/sdp 1113 Content-Length: ... 1115 v=0 1116 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1117 s= 1118 c=IN IP4 client.atlanta.example.com 1119 t=0 0 1120 m=audio 49170 RTP/AVP 0 1121 a=rtpmap:0 PCMU/8000 1122 a=recvonly 1124 F13 200 OK Proxy 1 -> Bob 1126 SIP/2.0 200 OK 1127 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1128 ;branch=z9hG4bKnashds7 1129 ;received=192.0.2.105 1130 Record-Route: 1131 From: Bob ;tag=314159 1132 To: Alice ;tag=1234567 1133 Call-ID: 12345600@atlanta.example.com 1134 CSeq: 1 INVITE 1135 Contact: 1136 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1137 Supported: replaces 1138 Content-Type: application/sdp 1139 Content-Length: ... 1141 v=0 1142 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1143 s= 1144 c=IN IP4 client.atlanta.example.com 1145 t=0 0 1146 m=audio 49170 RTP/AVP 0 1147 a=rtpmap:0 PCMU/8000 1148 a=recvonly 1150 F14 ACK Bob -> Proxy 1 1152 ACK sips:alice@client.atlanta.example.com SIP/2.0 1153 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1154 ;branch=z9hG4bKnashdsg 1155 Route: 1156 Max-Forwards: 70 1157 From: Bob ;tag=314159 1158 To: Alice ;tag=1234567 1159 Call-ID: 12345600@atlanta.example.com 1160 CSeq: 1 ACK 1161 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1162 Supported: replaces 1163 Content-Length: 0 1165 F15 ACK Proxy 1 -> Alice 1167 ACK sips:alice@client.atlanta.example.com SIP/2.0 1168 Via: SIP/2.0/TLS ss1.example.com:5061 1169 ;branch=z9hG4bK8374.1 1170 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1171 ;branch=z9hG4bKnashdsg 1172 ;received=192.0.2.105 1173 Max-Forwards: 69 1174 From: Bob ;tag=314159 1175 To: Alice ;tag=1234567 1176 Call-ID: 12345600@atlanta.example.com 1177 CSeq: 1 ACK 1178 Content-Length: 0 1180 F16 INVITE Bob -> Proxy 1 1182 INVITE sips:carol@chicago.example.com SIP/2.0 1183 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1184 ;branch=z9hG4bKnashds22 1185 Max-Forwards: 70 1186 From: Bob ;tag=8675309 1187 To: Carol 1188 Call-ID: 9876543210@biloxi.example.com 1189 CSeq: 1 INVITE 1190 Contact: 1191 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1192 Supported: replaces 1193 Content-Type: application/sdp 1194 Content-Length: ... 1196 v=0 1197 o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com 1198 s= 1199 c=IN IP4 client.biloxi.example.com 1200 t=0 0 1201 m=audio 50170 RTP/AVP 0 1202 a=rtpmap:0 PCMU/8000 1204 F17 INVITE Proxy 1 -> Carol 1206 INVITE sips:carol@client.chicago.example.com SIP/2.0 1207 Via: SIP/2.0/TLS ss1.example.com:5061 1208 ;branch=z9hG4bK83749a.1 1209 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1210 ;branch=z9hG4bKnashds22 1211 ;received=192.0.2.105 1212 Record-Route: 1213 Max-Forwards: 69 1214 From: Bob ;tag=8675309 1215 To: Carol 1216 Call-ID: 9876543210@biloxi.example.com 1217 CSeq: 1 INVITE 1218 Contact: 1219 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1220 Supported: replaces 1221 Content-Type: application/sdp 1222 Content-Length: ... 1224 v=0 1225 o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com 1226 s= 1227 c=IN IP4 client.biloxi.example.com 1228 t=0 0 1229 m=audio 50170 RTP/AVP 0 1230 a=rtpmap:0 PCMU/8000 1232 F18 (100 Trying) Proxy 1 -> Bob 1234 SIP/2.0 100 Trying 1235 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1236 ;branch=z9hG4bKnashds22 1237 ;received=192.0.2.105 1238 From: Bob ;tag=8675309 1239 To: Carol 1240 Call-ID: 9876543210@biloxi.example.com 1241 CSeq: 1 INVITE 1242 Content-Length: 0 1244 F19 180 Ringing Carol -> Proxy 1 1245 SIP/2.0 180 Ringing 1246 Via: SIP/2.0/TLS ss1.example.com:5061 1247 ;branch=z9hG4bK83749a.1 1248 ;received=192.0.2.54 1249 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1250 ;branch=z9hG4bKnashds22 1251 ;received=192.0.2.105 1252 Record-Route: 1253 From: Bob ;tag=8675309 1254 To: Carol ;tag=456654 1255 Call-ID: 9876543210@atlanta.example.com 1256 CSeq: 1 INVITE 1257 Contact: 1258 Content Length:0 1260 F20 180 Ringing Proxy 1 -> Bob 1262 SIP/2.0 180 Ringing 1263 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1264 ;branch=z9hG4bKnashds22 1265 ;received=client.chicago.example.com 1266 Record-Route: 1267 From: Bob ;tag=8675309 1268 To: Carol ;tag=456654 1269 Call-ID: 9876543210@biloxi.example.com 1270 CSeq: 1 INVITE 1271 Contact: 1272 Content Length: 0 1274 F21 200 OK Carol -> Proxy 1 1276 SIP/2.0 200 OK 1277 Via: SIP/2.0/TLS ss1.example.com:5061 1278 ;branch=z9hG4bK83749a.1 1279 ;received=192.0.2.54 1280 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1281 ;branch=z9hG4bKnashds22 1282 ;received=192.0.2.105 1283 Record-Route: 1284 From: Bob ;tag=8675309 1285 To: Carol ;tag=456654 1286 Call-ID: 9876543210@biloxi.example.com 1287 CSeq: 1 INVITE 1288 Contact: 1289 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1290 Supported: replaces 1291 Content-Type: application/sdp 1292 Content-Length: ... 1294 v=0 1295 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 1296 s= 1297 c=IN IP4 client.chicago.example.com 1298 t=0 0 1299 m=audio 3456 RTP/AVP 0 1300 a=rtpmap:0 PCMU/8000 1302 F22 200 OK Proxy 1 -> Bob 1304 SIP/2.0 200 OK 1305 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1306 ;branch=z9hG4bKnashds22 1307 ;received=192.0.2.105 1308 Record-Route: 1309 From: Bob ;tag=8675309 1310 To: Carol ;tag=456654 1311 Call-ID: 9876543210@biloxi.example.com 1312 CSeq: 1 INVITE 1313 Contact: 1314 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1315 Supported: replaces 1316 Content-Type: application/sdp 1317 Content-Length: ... 1319 v=0 1320 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 1321 s= 1322 c=IN IP4 client.chicago.example.com 1323 t=0 0 1324 m=audio 3456 RTP/AVP 0 1325 a=rtpmap:0 PCMU/8000 1327 F23 ACK Bob -> Proxy 1 1329 ACK sips:carol@client.chicago.example.com SIP/2.0 1330 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1331 ;branch=z9hG4bKnashds24 1332 Route: 1333 Max-Forwards: 70 1334 From: Bob ;tag=8675309 1335 To: Carol ;tag=456654 1336 Call-ID: 9876543210@biloxi.example.com 1337 CSeq: 1 ACK 1338 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1339 Supported: replaces 1340 Content-Length: 0 1342 F24 ACK Proxy 1 -> Carol 1344 ACK sips:carol@client.chicago.example.com SIP/2.0 1345 Via: SIP/2.0/TLS ss1.example.com:5061 1346 ;branch=z9hG4bK83749b.1 1347 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1348 ;branch=z9hG4bKnashds24 1349 ;received=192.0.2.105 1350 Max-Forwards: 69 1351 From: Bob ;tag=8675309 1352 To: Carol ;tag=456654 1353 Call-ID: 9876543210@biloxi.example.com 1354 CSeq: 1 ACK 1355 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1356 Supported: replaces 1357 Content-Length: 0 1359 F25 BYE Bob -> Proxy 1 1361 BYE sips:carol@client.chicago.example.com SIP/2.0 1362 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1363 ;branch=z9hG4bKnashds7j 1364 Route: 1365 Max-Forwards: 70 1366 From: Bob ;tag=8675309 1367 To: Carol ;tag=456654 1368 Call-ID: 9876543210@biloxi.example.com 1369 CSeq: 2 BYE 1370 Content-Length: 0 1372 F26 BYE Proxy 1 -> Carol 1374 BYE sips:carol@client.chicago.example.com SIP/2.0 1375 Via: SIP/2.0/TLS ss1.example.com:5061 1376 ;branch=z9hG4bK83749k.1 1377 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1378 ;branch=z9hG4bKnashds7j 1379 ;received=192.0.2.105 1380 Max-Forwards: 69 1381 From: Bob ;tag=8675309 1382 To: Carol ;tag=456654 1383 Call-ID: 9876543210@biloxi.example.com 1384 CSeq: 2 BYE 1385 Content-Length: 0 1387 F27 200 OK Carol -> Proxy 1 1389 SIP/2.0 200 OK 1390 Via: SIP/2.0/TLS ss1.example.com:5061 1391 ;branch=z9hG4bK83749k.1 1392 ;received=192.0.2.54 1393 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1394 ;branch=z9hG4bKnashds7j 1395 ;received=192.0.2.105 1396 From: Bob ;tag=8675309 1397 To: Carol ;tag=456654 1398 Call-ID: 9876543210@biloxi.example.com 1399 CSeq: 2 BYE 1400 Content-Length: 0 1402 F28 200 OK Proxy 1 -> Bob 1404 SIP/2.0 200 OK 1405 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1406 ;branch=z9hG4bKnashds7j 1407 ;received=192.0.2.105 1408 From: Bob ;tag=8675309 1409 To: Carol ;tag=456654 1410 Call-ID: 9876543210@biloxi.example.com 1411 CSeq: 2 BYE 1412 Content-Length: 0 1414 /* Bob takes the call off hold */ 1416 F29 INVITE Bob -> Proxy 1 1418 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1419 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1420 ;branch=z9hG4bKnashds7b 1421 Route: 1422 Max-Forwards: 70 1423 From: Bob ;tag=314159 1424 To: Alice ;tag=1234567 1425 Call-ID: 12345600@atlanta.example.com 1426 CSeq: 2 INVITE 1427 Contact: 1428 Content-Type: application/sdp 1429 Content-Length: ... 1431 v=0 1432 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 1433 s= 1434 c=IN IP4 client.biloxi.example.com 1435 t=0 0 1436 m=audio 3456 RTP/AVP 0 1437 a=rtpmap:0 PCMU/8000 1439 F30 INVITE Proxy 1 -> Alice 1441 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1442 Via: SIP/2.0/TLS ss1.example.com:5061 1443 ;branch=z9hG4bK83749q.1 1444 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1445 ;branch=z9hG4bKnashds7b 1446 ;received=192.0.2.105 1447 Record-Route: 1448 Max-Forwards: 69 1449 From: Bob ;tag=314159 1450 To: Alice ;tag=1234567 1451 Call-ID: 12345600@atlanta.example.com 1452 CSeq: 2 INVITE 1453 Contact: 1454 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1455 Supported: replaces 1456 Content-Type: application/sdp 1457 Content-Length: ... 1459 v=0 1460 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 1461 s= 1462 c=IN IP4 client.biloxi.example.com 1463 t=0 0 1464 m=audio 3456 RTP/AVP 0 1465 a=rtpmap:0 PCMU/8000 1467 F31 200 OK Alice -> Proxy 1 1469 SIP/2.0 200 OK 1470 Via: SIP/2.0/TLS ss1.example.com:5061 1471 ;branch=z9hG4bK83749q.1 1472 ;received=192.0.2.54 1474 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1475 ;branch=z9hG4bKnashds7b 1476 ;received=192.0.2.105 1477 Record-Route: 1478 From: Bob ;tag=314159 1479 To: Alice ;tag=1234567 1480 Call-ID: 12345600@atlanta.example.com 1481 CSeq: 2 INVITE 1482 Contact: 1483 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1484 Supported: replaces 1485 Content-Type: application/sdp 1486 Content-Length: ... 1488 v=0 1489 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 1490 s= 1491 c=IN IP4 client.atlanta.example.com 1492 t=0 0 1493 m=audio 49170 RTP/AVP 0 1494 a=rtpmap:0 PCMU/8000 1496 F32 200 OK Proxy 1 -> Bob 1498 SIP/2.0 200 OK 1499 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1500 ;branch=z9hG4bKnashds7b 1501 ;received=192.0.2.105 1502 Record-Route: 1503 From: Bob ;tag=314159 1504 To: Alice ;tag=1234567 1505 Call-ID: 12345600@atlanta.example.com 1506 CSeq: 2 INVITE 1507 Contact: 1508 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1509 Supported: replaces 1510 Content-Type: application/sdp 1511 Content-Length: ... 1513 v=0 1514 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 1515 s= 1516 c=IN IP4 client.atlanta.example.com 1517 t=0 0 1518 m=audio 49170 RTP/AVP 0 1519 a=rtpmap:0 PCMU/8000 1520 F33 ACK Bob -> Proxy 1 1522 ACK sips:alice@client.atlanta.example.com SIP/2.0 1523 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1524 ;branch=z9hG4bKnashds7d7 1525 Route: 1526 Max-Forwards: 70 1527 From: Bob ;tag=314159 1528 To: Alice ;tag=1234567 1529 Call-ID: 12345600@atlanta.example.com 1530 CSeq: 2 ACK 1531 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1532 Supported: replaces 1533 Content-Length: 0 1535 F34 ACK Proxy 1 -> Alice 1537 ACK sips:alice@client.atlanta.example.com SIP/2.0 1538 Via: SIP/2.0/TLS ss1.example.com:5061 1539 ;branch=z9hG4bK8374.1 1540 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1541 ;branch=z9hG4bKnashds7d7 1542 ;received=192.0.2.105 1543 Max-Forwards: 69 1544 From: Bob ;tag=314159 1545 To: Alice ;tag=1234567 1546 Call-ID: 12345600@atlanta.example.com 1547 CSeq: 2 ACK 1548 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1549 Supported: replaces 1550 Content-Length: 0 1552 F35 BYE Alice -> Proxy 1 1554 BYE sips:bob@client.biloxi.example.com SIP/2.0 1555 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1556 ;branch=z9hG4bK74bf10 1557 Route: 1558 Max-Forwards: 70 1559 From: Alice ;tag=1234567 1560 To: Bob ;tag=314159 1561 Call-ID: 12345600@atlanta.example.com 1562 CSeq: 2 BYE 1563 Content-Length: 0 1564 F36 BYE Proxy 1 -> Bob 1566 BYE sips:bob@client.biloxi.example.com SIP/2.0 1567 Via: SIP/2.0/TLS ss1.example.com:5061 1568 ;branch=z9hG4bK8379.1 1569 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1570 ;branch=z9hG4bK74bf10 1571 ;received=192.0.2.103 1572 Max-Forwards: 69 1573 From: Alice ;tag=1234567 1574 To: Bob ;tag=314159 1575 Call-ID: 12345600@atlanta.example.com 1576 CSeq: 2 BYE 1577 Content-Length: 0 1579 F37 200 OK Bob -> Proxy 1 1581 SIP/2.0 200 OK 1582 Via: SIP/2.0/TLS ss1.example.com:5061 1583 ;branch=z9hG4bK8379.1 1584 ;received=192.0.2.54 1585 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1586 ;branch=z9hG4bK74bf10 1587 ;received=192.0.2.103 1588 From: Alice ;tag=1234567 1589 To: Bob ;tag=314159 1590 Call-ID: 12345600@atlanta.example.com 1591 CSeq: 2 BYE 1592 Content-Length: 0 1594 F38 200 OK Proxy 1 -> Alice 1596 SIP/2.0 200 OK 1597 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1598 ;branch=z9hG4bK74bf10 1599 ;received=192.0.2.103 1600 From: Alice ;tag=1234567 1601 To: Bob ;tag=314159 1602 Call-ID: 12345600@atlanta.example.com 1603 CSeq: 2 BYE 1604 Content-Length: 0 1606 2.3. Music On Hold 1608 Alice Bob Music Server 1609 | | | 1610 | INVITE F1 | | 1611 |--------------->| | 1612 | 180 Ringing F2 | | 1613 |<---------------| | 1614 | 200 OK F3 | | 1615 |<---------------| | 1616 | ACK F4 | | 1617 |--------------->| | 1618 | RTP | | 1619 |<==============>| | 1620 | | | 1621 | Bob places Alice on hold | 1622 | | | 1623 | INVITE (hold) F5 | 1624 |<---------------| | 1625 | 200 OK F6 | | 1626 |--------------->| | 1627 | ACK F7 | | 1628 |<---------------| | 1629 | no RTP | | 1630 | | | 1631 | Bob initiates music on hold | 1632 | | | 1633 | | REFER Refer-To: A F8 1634 | |------------->| 1635 | | 202 F9 | 1636 | |<-------------| 1637 | | NOTIFY F10 | 1638 | |<-------------| 1639 | | 200 F11 | 1640 | |------------->| 1641 | INVITE F12 Replaces: B | 1642 |<------------------------------| 1643 | 200 OK F13 | 1644 |------------------------------>| 1645 | ACK F14 | 1646 |<------------------------------| 1647 | RTP Music | 1648 |<==============================| 1649 | BYE F15 | | 1650 |--------------->| NOTIFY F17 | 1651 | 200 OK F16 |<-------------| 1652 |<---------------| 200 OK F18 | 1653 | |------------->| 1654 | | | 1655 | The music on hold is complete | 1656 | | | 1657 | Bob takes Alice off hold | 1658 | | | 1659 | INVITE Replaces: M F19 | 1660 |<---------------| | 1661 | 200 OK F20 | | 1662 |--------------->| | 1663 | ACK F21 | | 1664 |<---------------| | 1665 | RTP | | 1666 |<==============>| | 1667 | BYE F22 | 1668 |------------------------------>| 1669 | 200 OK F23 | 1670 |<------------------------------| 1672 In this flow, Bob places Alice on hold with music. This is performed 1673 by Bob sending a REFER to a Music Server which sends an INVITE with 1674 Replaces to Alice. The Music Server then sends RTP music to Alice. 1675 Bob picks the call up from hold by sending an INVITE with Replaces to 1676 Alice. 1678 Note the use of the rendering feature tag defined in RFC 4235 1679 [RFC4235] used in F5 to indicate in that Bob's UA is no longer 1680 rendering media to Bob, i.e. that Bob has placed the call on hold. 1681 Feature tags are also used in F12 with the automaton (defined in RFC 1682 3840 [RFC3840]) and byeless feature tags (defined in RFC 4235 1683 [RFC4235]) to describe the capabilities of the Music Server. 1685 Should Alice not wish to receive music on hold, her UA could refuse 1686 F12 and she will remain on hold with Bob, but in silence. 1688 Message Details 1690 F1 INVITE Alice -> Bob 1692 INVITE sips:bob@biloxi.example.com SIP/2.0 1693 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1694 ;branch=z9hG4bK74bf9 1695 Max-Forwards: 70 1696 From: Alice ;tag=1234567 1697 To: Bob 1698 Call-ID: 12345600@atlanta.example.com 1699 CSeq: 1 INVITE 1700 Contact: 1701 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1702 Supported: replaces, gruu 1703 Content-Type: application/sdp 1704 Content-Length: ... 1706 v=0 1707 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 1708 s= 1709 c=IN IP4 client.atlanta.example.com 1710 t=0 0 1711 m=audio 49170 RTP/AVP 0 1712 a=rtpmap:0 PCMU/8000 1714 F2 180 Ringing Bob -> Alice 1716 SIP/2.0 180 Ringing 1717 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1718 ;branch=z9hG4bK74bf9 1719 ;received=192.0.2.103 1720 From: Alice ;tag=1234567 1721 To: Bob ;tag=23431 1722 Call-ID: 12345600@atlanta.example.com 1723 CSeq: 1 INVITE 1724 Contact: 1725 Content-Length: 0 1727 F3 200 OK Bob -> Alice 1729 SIP/2.0 200 OK 1730 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1731 ;branch=z9hG4bK74bf9 1732 ;received=192.0.2.103 1733 From: Alice ;tag=1234567 1734 To: Bob ;tag=23431 1735 Call-ID: 12345600@atlanta.example.com 1736 CSeq: 1 INVITE 1737 Contact: 1738 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1739 Supported: replaces 1740 Content-Type: application/sdp 1741 Content-Length: ... 1743 v=0 1744 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 1745 s= 1746 c=IN IP4 client.biloxi.example.com 1747 t=0 0 1748 m=audio 3456 RTP/AVP 0 1749 a=rtpmap:0 PCMU/8000 1751 F4 ACK Alice -> Bob 1753 ACK sips:bob@client.biloxi.example.com SIP/2.0 1754 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1755 ;branch=z9hG4bK74bfd 1756 Max-Forwards: 70 1757 From: Alice ;tag=1234567 1758 To: Bob ;tag=23431 1759 Call-ID: 12345600@atlanta.example.com 1760 CSeq: 1 ACK 1761 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1762 Supported: replaces 1763 Content-Length: 0 1765 /* Bob places Alice on hold */ 1767 F5 INVITE Bob -> Alice 1769 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 1770 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1771 ;branch=z9hG4bK874bk 1772 To: Alice ;tag=1234567 1773 From: Bob ;tag=23431 1774 Call-ID: 12345600@atlanta.example.com 1775 CSeq: 712 INVITE 1776 Contact: ;+sip.rendering="no" 1777 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1778 Supported: replaces 1779 Content-Type: application/sdp 1780 Content-Length: ... 1782 v=0 1783 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 1784 s= 1785 c=IN IP4 client.biloxi.example.com 1786 t=0 0 1787 m=audio 3456 RTP/AVP 0 1788 a=rtpmap:0 PCMU/8000 1789 a=sendonly 1791 F6 200 OK Alice -> Bob 1792 SIP/2.0 200 OK 1793 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1794 ;branch=z9hG4bK874bk 1795 ;received=192.0.2.105 1796 To: Alice ;tag=1234567 1797 From: Bob ;tag=23431 1798 Call-ID: 12345600@atlanta.example.com 1799 CSeq: 712 INVITE 1800 Contact: 1801 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1802 Supported: replaces, gruu 1803 Content-Type: application/sdp 1804 Content-Length: ... 1806 v=0 1807 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1808 s= 1809 c=IN IP4 client.atlanta.example.com 1810 t=0 0 1811 m=audio 49170 RTP/AVP 0 1812 a=rtpmap:0 PCMU/8000 1813 a=recvonly 1815 F7 ACK Bob -> Alice 1817 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 1818 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1819 ;branch=z9hG4bKq874b 1820 To: Alice ;tag=1234567 1821 From: Bob ;tag=23431 1822 Call-ID: 12345600@atlanta.example.com 1823 CSeq: 712 ACK 1824 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1825 Supported: replaces 1826 Content-Length: 0 1828 /* Bob REFERs Music Server to establish session with Alice 1829 which replaces the established session between 1830 Alice and Bob. */ 1832 F8 REFER Bob -> Music Server 1834 REFER sips:music@server.example.com SIP/2.0 1835 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1836 ;branch=z9hG4bKnashds9 1837 Max-Forwards: 70 1838 From: Bob ;tag=02134 1839 To: Music Server 1840 Call-ID: 4802029847@biloxi.example.com 1841 CSeq: 1 REFER 1842 1843 Refer-To: 1846 1847 Referred-By: 1848 Contact: 1849 Content-Length: 0 1851 F9 202 Accepted Music Server -> Bob 1853 SIP/2.0 202 Accepted 1854 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1855 ;branch=z9hG4bKnashds9 1856 ;received=192.0.2.105 1857 From: Bob ;tag=02134 1858 To: Music Server ;tag=56323 1859 Call-ID: 4802029847@biloxi.example.com 1860 Contact: 1861 CSeq: 1 REFER 1862 Content-Length: 0 1864 F10 NOTIFY Music Server -> Bob 1866 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 1867 Via: SIP/2.0/TLS server.example.com:5061 1868 ;branch=z9hG4bK74bT6 1869 To: Bob ;tag=02134 1870 Max-Forwards: 70 1871 From: Music Server ;tag=56323 1872 Call-ID: 4802029847@biloxi.example.com 1873 CSeq: 1 NOTIFY 1874 Event: refer 1875 Subscription-State: active;expires=60 1876 Contact: 1877 Content-Type: message/sipfrag 1878 Content-Length: ... 1880 SIP/2.0 100 Trying 1882 F11 200 OK Bob -> Music Server 1883 SIP/2.0 200 OK 1884 Via: SIP/2.0/TLS server.example.com:5061 1885 ;branch=z9hG4bK74bT6 1886 ;received=192.0.2.103 1887 To: Bob ;tag=02134 1888 From: Music Server ;tag=56323 1889 Call-ID: 4802029847@biloxi.example.com 1890 CSeq: 1 NOTIFY 1891 Content-Length: 0 1893 /* Music Server places call to Alice to replace session 1894 between Alice and Bob. */ 1896 F12 INVITE Music Server -> Alice 1898 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 1899 Via: SIP/2.0/TLS server.example.com:5061 1900 ;branch=z9hG4bK74rf 1901 Max-Forwards: 70 1902 From: ;tag=0111 1903 To: 1904 Call-ID: a5-75-34-12-76@server.example.com 1905 CSeq: 1 INVITE 1906 Referred-By: 1907 Contact: ;automaton 1908 ;+sip.byeless;+sip.rendering="no" 1909 Require: replaces 1910 Replaces: 12345600@atlanta.example.com 1911 ;from-tag=23431;to-tag=1234567 1912 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 1913 Supported: replaces 1914 Content-Type: application/sdp 1915 Content-Length: ... 1917 v=0 1918 o=MusicServer 2890844576 2890844576 IN IP4 server.example.com 1919 s= 1920 c=IN IP4 server.example.com 1921 t=0 0 1922 m=audio 49170 RTP/AVP 0 1923 a=rtpmap:0 PCMU/8000 1924 a=sendonly 1926 F13 200 OK Alice -> Music Server 1928 SIP/2.0 200 OK 1929 Via: SIP/2.0/TLS server.example.com:5061 1930 ;branch=z9hG4bK74rf 1931 ;received=192.0.2.103 1932 From: ;tag=0111 1933 To: ;tag=098594 1934 Call-ID: a5-75-34-12-76@server.example.com 1935 CSeq: 1 INVITE 1936 Contact: 1937 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 1938 Supported: replaces, gruu 1939 Content-Type: application/sdp 1940 Content-Length: ... 1942 v=0 1943 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 1944 s= 1945 c=IN IP4 client.atlanta.example.com 1946 t=0 0 1947 m=audio 49170 RTP/AVP 0 1948 a=rtpmap:0 PCMU/8000 1949 a=recvonly 1951 F14 ACK Music Server -> Alice 1953 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 1954 Via: SIP/2.0/TLS server.example.com:5061 1955 ;branch=z9hG4bK7rfF 1956 Max-Forwards: 70 1957 From: ;tag=0111 1958 To: ;tag=098594 1959 Call-ID: a5-75-34-12-76@server.example.com 1960 CSeq: 1 ACK 1961 Content-Length: 0 1963 F15 BYE Alice -> Bob 1965 BYE sips:bob@client.biloxi.example.com SIP/2.0 1966 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1967 ;branch=z9hG4bKnashds7 1968 Max-Forwards: 70 1969 From: Alice ;tag=1234567 1970 To: Bob ;tag=23431 1971 Call-ID: 12345600@atlanta.example.com 1972 CSeq: 2 BYE 1973 Content-Length: 0 1974 F16 200 OK Bob -> Alice 1976 SIP/2.0 200 OK 1977 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1978 ;branch=z9hG4bKnashds7 1979 ;received=192.0.2.105 1980 From: Alice ;tag=1234567 1981 To: Bob ;tag=23431 1982 Call-ID: 12345600@atlanta.example.com 1983 CSeq: 2 BYE 1984 Content-Length: 0 1986 /* Music Server reports success back to Bob by returning 1987 a 200 OK response. Bob obtains the dialog identifiers 1988 from the headers included in the response. */ 1990 F17 NOTIFY Music Server -> Bob 1992 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 1993 Via: SIP/2.0/TLS server.example.com:5061 1994 ;branch=z9hG4bK74bf9 1995 To: Bob ;tag=02134 1996 Max-Forwards: 70 1997 From: Music Server ;tag=56323 1998 Call-ID: 4802029847@biloxi.example.com 1999 CSeq: 2 NOTIFY 2000 Event: refer 2001 Subscription-State: terminated;reason=noresource 2002 Contact: 2003 Content-Type: message/sipfrag 2004 Content-Length: ... 2006 SIP/2.0 200 OK 2007 Via: SIP/2.0/TLS server.example.com:5061 2008 ;branch=z9hG4bK74rf 2009 ;received=192.0.2.103 2010 From: ;tag=0111 2011 To: ;tag=098594 2012 Call-ID: a5-75-34-12-76@server.example.com 2013 CSeq: 1 INVITE 2014 Contact: 2016 F18 200 OK Bob -> Music Server 2018 SIP/2.0 200 OK 2019 Via: SIP/2.0/TLS server.example.com:5061 2020 ;branch=z9hG4bK74bf9 2021 ;received=192.0.2.103 2022 To: Bob ;tag=02134 2023 From: Music Server ;tag=56323 2024 Call-ID: 4802029847@biloxi.example.com 2025 CSeq: 2 NOTIFY 2026 Content-Length: 0 2028 /* Alice is now parked at the Music Server */ 2030 /* Bob picks up the call by sending an INVITE to Alice who 2031 replaces the existing session with the Music Server. */ 2033 F19 INVITE Bob -> Alice 2035 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 2036 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2037 ;branch=z9hG4bK74bf9 2038 From: Bob ;tag=4i323pr 2039 To: Alice 2040 Call-ID: uioewrjk2k2were 2041 CSeq: 42121 INVITE 2042 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 2043 SUBSCRIBE, NOTIFY 2044 Replaces: a5-75-34-12-76@server.example.com 2045 ;to-tag=098594;from-tag=0111 2046 Contact: 2047 Supported: replaces 2048 Content-Type: application/sdp 2049 Content-Length: ... 2051 v=0 2052 o=bob 2890844631 2890844631 IN IP4 client.biloxi.example.com 2053 s= 2054 c=IN IP4 client.biloxi.example.com 2055 t=0 0 2056 m=audio 3458 RTP/AVP 0 2057 a=rtpmap:0 PCMU/8000 2058 a=sendrecv 2060 F20 200 OK Alice -> Bob 2062 SIP/2.0 200 OK 2063 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2064 ;branch=z9hG4bK74bf9 2065 ;received=192.0.2.105 2066 From: Bob ;tag=4i323pr 2067 To: Alice ;tag=6654323 2068 Call-ID: uioewrjk2k2were 2069 CSeq: 42121 INVITE 2070 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 2071 SUBSCRIBE, NOTIFY 2072 Contact: 2073 Supported: replaces 2074 Content-Type: application/sdp 2075 Content-Length: ... 2077 v=0 2078 o=alice 2890844576 2890844576 IN IP4 client.atlanta.example.com 2079 s= 2080 c=IN IP4 client.atlanta.example.com 2081 t=0 0 2082 m=audio 49170 RTP/AVP 0 2083 a=rtpmap:0 PCMU/8000 2084 a=sendrecv 2086 F21 200 ACK Bob -> Alice 2088 ACK sips:alice@client.atlanta.example.com SIP/2.0 2089 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2090 ;branch=z9hG4bKj974bf9 2091 From: Bob ;tag=4i323pr 2092 To: Alice ;tag=6654323 2093 Call-ID: uioewrjk2k2were 2094 CSeq: 42121 ACK 2095 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 2096 SUBSCRIBE, NOTIFY 2097 Supported: replaces 2098 Content-Length: 0 2100 F22 BYE Alice -> Music Server 2102 BYE sips:music@server.example.com SIP/2.0 2103 Max-Forwards: 70 2104 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2105 ;branch=z9hG4bK74rf 2106 To: ;tag=0111 2107 From: ;tag=098594 2108 Call-ID: a5-75-34-12-76@server.example.com 2109 CSeq: 15 BYE 2110 Content-Length: 0 2111 F23 200 OK Music Server -> Alice 2113 SIP/2.0 200 OK 2114 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2115 ;branch=z9hG4bK74rf 2116 ;received=192.0.2.103 2117 To: ;tag=0111 2118 From: ;tag=098594 2119 Call-ID: a5-75-34-12-76@server.example.com 2120 CSeq: 15 BYE 2121 Content-Length: 0 2123 /* Normal media session between Alice and Bob is resumed */ 2125 2.4. Transfer - Unattended 2127 Alice Bob Carol 2128 | INVITE F1 | | 2129 |<-------------------| | 2130 | 180 Ringing F2 | | 2131 |------------------->| | 2132 | 200 OK F3 | | 2133 |------------------->| | 2134 | ACK F4 | | 2135 |<-------------------| | 2136 | RTP | | 2137 |<==================>| | 2138 | | | 2139 | Alice performs unattended transfer | 2140 | | | 2141 | REFER Refer-To:C F5| | 2142 |------------------->| | 2143 | 202 Accepted F6 | | 2144 |<-------------------| | 2145 | NOTIFY F7 | | 2146 |<-------------------| | 2147 | 200 OK F8 | | 2148 |------------------->| | 2149 | BYE F9 | | 2150 |------------------->| | 2151 | 200 OK F10 | | 2152 |<-------------------| | 2153 | No RTP Session | INVITE Referred-By: A F11 2154 | |------------------->| 2155 | | 180 Ringing F12 | 2156 | |<-------------------| 2157 | | 200 OK F13 | 2158 | |<-------------------| 2159 | | ACK F14 | 2160 | |------------------->| 2161 | | RTP | 2162 | |<==================>| 2163 | NOTIFY F15 | | 2164 |<-------------------| | 2165 | 200 OK F16 | | 2166 |------------------->| | 2167 | | | 2169 In this scenario, Bob calls Alice. Alice then transfers Bob to 2170 Carol, then Alice disconnects with Bob. Bob establishes the session 2171 to Carol then reports the success back to Alice in the NOTIFY in F15. 2173 If the transfer fails, Bob can send a new INVITE back to Alice to re- 2174 establish the session. 2176 Despite the BYE sent by Alice in F9, the dialog between Alice and Bob 2177 still exists until the subscription created by the REFER has 2178 terminated (either due to a NOTIFY containing a Subscription-State: 2179 terminated;reason=noresource header field, as in F15, or a 481 2180 response to a NOTIFY). 2182 For more about call transfer see the transfer 2183 [I-D.ietf-sipping-cc-transfer] document. 2185 Message Details 2187 F1 INVITE Bob -> Alice 2189 INVITE sips:alice@atlanta.example.com SIP/2.0 2190 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2191 ;branch=z9hG4bKnashds7 2192 Max-Forwards: 70 2193 From: Bob ;tag=314159 2194 To: Alice 2195 Call-ID: 12345601@atlanta.example.com 2196 CSeq: 1 INVITE 2197 Contact: 2198 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2199 Supported: replaces 2200 Content-Type: application/sdp 2201 Content-Length: ... 2203 v=0 2204 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 2205 s= 2206 c=IN IP4 client.biloxi.example.com 2207 t=0 0 2208 m=audio 3456 RTP/AVP 0 2209 a=rtpmap:0 PCMU/8000 2211 F2 180 Ringing Alice -> Bob 2213 SIP/2.0 180 Ringing 2214 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2215 ;branch=z9hG4bKnashds7 2216 ;received=192.0.2.113 2217 From: Bob ;tag=314159 2218 To: Alice ;tag=1234567 2219 Call-ID: 12345601@atlanta.example.com 2220 CSeq: 1 INVITE 2221 Contact: 2222 Content-Length: 0 2224 F3 200 OK Alice -> Bob 2226 SIP/2.0 200 OK 2227 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2228 ;branch=z9hG4bKnashds7 2229 ;received=192.0.2.113 2230 From: Bob ;tag=314159 2231 To: Alice ;tag=1234567 2232 Call-ID: 12345601@atlanta.example.com 2233 CSeq: 1 INVITE 2234 Contact: 2235 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2236 Supported: replaces 2237 Content-Type: application/sdp 2238 Content-Length: ... 2240 v=0 2241 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 2242 s= 2243 c=IN IP4 client.atlanta.example.com 2244 t=0 0 2245 m=audio 49170 RTP/AVP 0 2246 a=rtpmap:0 PCMU/8000 2248 F4 ACK Bob -> Alice 2250 ACK sips:alice@client.atlanta.example.com SIP/2.0 2251 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2252 ;branch=z9hG4bKnashds2 2253 Max-Forwards: 70 2254 From: Bob ;tag=314159 2255 To: Alice ;tag=1234567 2256 Call-ID: 12345601@atlanta.example.com 2257 CSeq: 1 ACK 2258 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2259 Supported: replaces 2260 Content-Length: 0 2262 /* Session is established between Alice and Bob. */ 2263 /* Alice performs unattended transfer of Bob to Carol */ 2265 F5 REFER Alice -> Bob 2267 REFER sips:bob@client.biloxi.example.com SIP/2.0 2268 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2269 ;branch=z9hG4bKnashds8 2270 Max-Forwards: 70 2271 From: Alice ;tag=1234567 2272 To: Bob ;tag=314159 2273 Call-ID: 12345601@atlanta.example.com 2274 CSeq: 101 REFER 2275 Refer-To: 2276 Referred-By: 2277 Contact: 2278 Content-Length: 0 2280 F6 202 Accepted Bob -> Alice 2282 SIP/2.0 202 Accepted 2283 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2284 ;branch=z9hG4bKnashds8 2285 ;received=192.0.2.105 2286 From: Alice ;tag=1234567 2287 To: Bob ;tag=314159 2288 Call-ID: 12345601@atlanta.example.com 2289 Contact: 2290 CSeq: 101 REFER 2291 Content-Length: 0 2293 F7 NOTIFY Bob -> Alice 2295 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 2296 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2297 ;branch=z9hG4bKnashds32 2298 Max-Forwards: 70 2299 From: Bob ;tag=314159 2300 To: Alice ;tag=1234567 2301 Call-ID: 12345601@atlanta.example.com 2302 CSeq: 2 NOTIFY 2303 Event: refer 2304 Subscription-State: active;expires=60 2305 Contact: 2306 Content-Type: message/sipfrag 2307 Content-Length: ... 2309 SIP/2.0 100 Trying 2311 F8 200 OK Alice -> Bob 2313 SIP/2.0 200 OK 2314 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2315 ;branch=z9hG4bKnashds32 2316 ;received=192.0.2.113 2317 From: Bob ;tag=314159 2318 To: Alice ;tag=1234567 2319 Call-ID: 12345601@atlanta.example.com 2320 CSeq: 2 NOTIFY 2321 Content-Length: 0 2323 /* Alice now disconnects with Bob. */ 2325 F9 BYE Alice -> Bob 2327 BYE sips:bob@client.biloxi.example.com SIP/2.0 2328 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2329 ;branch=z9hG4bKnashds43 2330 Max-Forwards: 70 2331 From: Alice ;tag=1234567 2332 To: Bob ;tag=314159 2333 Call-ID: 12345601@atlanta.example.com 2334 CSeq: 102 BYE 2335 Content-Length: 0 2337 F10 200 OK Bob -> Alice 2339 SIP/2.0 200 OK 2340 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2341 ;branch=z9hG4bKnashds43 2342 ;received=192.0.2.105 2343 From: Alice ;tag=1234567 2344 To: Bob ;tag=314159 2345 Call-ID: 12345601@atlanta.example.com 2346 CSeq: 102 BYE 2347 Content-Length: 0 2349 /* Bob attempts the transfer to Carol */ 2351 F11 INVITE Bob -> Carol 2352 INVITE sips:carol@chicago.example.com SIP/2.0 2353 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2354 ;branch=z9hG4bKnashds1 2355 Max-Forwards: 70 2356 From: Bob ;tag=8675309 2357 To: Carol 2358 Call-ID: 7436222@atlanta.example.com 2359 CSeq: 1 INVITE 2360 Contact: 2361 Referred-By: 2362 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2363 Supported: replaces 2364 Content-Type: application/sdp 2365 Content-Length: ... 2367 v=0 2368 o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com 2369 s= 2370 c=IN IP4 client.biloxi.example.com 2371 t=0 0 2372 m=audio 3458 RTP/AVP 0 2373 a=rtpmap:0 PCMU/8000 2375 F12 180 Ringing Carol -> Bob 2377 SIP/2.0 180 Ringing 2378 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2379 ;branch=z9hG4bKnashds1 2380 ;received=192.0.2.113 2381 From: Bob ;tag=8675309 2382 To: Carol ;tag=928287 2383 Call-ID: 7436222@atlanta.example.com 2384 CSeq: 1 INVITE 2385 Contact: 2386 Content-Length: 0 2388 F13 200 OK Carol -> Bob 2390 SIP/2.0 200 OK 2391 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2392 ;branch=z9hG4bKnashds1 2393 ;received=192.0.2.113 2394 From: Bob ;tag=8675309 2395 To: Carol ;tag=928287 2396 Call-ID: 7436222@atlanta.example.com 2397 CSeq: 1 INVITE 2398 Contact: 2399 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2400 Supported: replaces 2401 Content-Type: application/sdp 2402 Content-Length: ... 2404 v=0 2405 o=carol 2890944542 2890844542 IN IP4 client.chicago.example.com 2406 s= 2407 c=IN IP4 client.chicago.example.com 2408 t=0 0 2409 m=audio 3456 RTP/AVP 0 2410 a=rtpmap:0 PCMU/8000 2412 F14 ACK Bob -> Carol 2414 ACK sips:carol@client.chicago.example.com SIP/2.0 2415 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2416 ;branch=z9hG4bKnashds9 2417 Max-Forwards: 70 2418 From: Bob ;tag=8675309 2419 To: Carol ;tag=928287 2420 Call-ID: 7436222@atlanta.example.com 2421 CSeq: 1 ACK 2422 Content-Length: 0 2424 /* Bob and Carol now have established a session. Bob reports 2425 success to Alice which Alice probably ignores. */ 2427 F15 NOTIFY Bob -> Alice 2429 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 2430 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2431 ;branch=z9hG4bKnashds67 2432 Max-Forwards: 70 2433 From: Bob ;tag=314159 2434 To: Alice ;tag=1234567 2435 Call-ID: 12345601@atlanta.example.com 2436 CSeq: 3 NOTIFY 2437 Event: refer 2438 Subscription-State: terminated;reason=noresource 2439 Contact: 2440 Content-Type: message/sipfrag 2441 Content-Length: ... 2443 SIP/2.0 200 OK 2444 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2445 ;branch=z9hG4bKnashds1 2446 ;received=192.0.2.113 2447 From: Bob ;tag=8675309 2448 To: Carol ;tag=928287 2449 Call-ID: 7436222@atlanta.example.com 2450 CSeq: 1 INVITE 2451 Contact: 2452 Content-Type: application/sdp 2453 Content-Length: ... 2455 F16 200 OK Alice -> Bob 2457 SIP/2.0 200 OK 2458 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2459 ;branch=z9hG4bKnashds6 2460 ;received=192.0.2.113 2461 From: Bob ;tag=314159 2462 To: Alice ;tag=1234567 2463 Call-ID: 12345601@atlanta.example.com 2464 CSeq: 3 NOTIFY 2465 Content-Length: 0 2467 2.5. Transfer - Attended 2469 Alice Bob Carol 2470 | | | 2471 | INVITE F1 | | 2472 |--------------->| | 2473 | 180 Ringing F2 | | 2474 |<---------------| | 2475 | 200 OK F3 | | 2476 |<---------------| | 2477 | ACK F4 | | 2478 |--------------->| | 2479 | RTP | | 2480 |<==============>| | 2481 |INVITE (hold) F5| | 2482 |<---------------| | 2483 | 200 OK F6 | | 2484 |--------------->| | 2485 | ACK F7 | | 2486 |<---------------| | 2487 | No RTP | | 2488 | | INVITE F8 | 2489 | |------------->| 2490 | | 180 Ringing F9 2491 | |<-------------| 2492 | | 200 OK F10 | 2493 | |<-------------| 2494 | | ACK F11 | 2495 | |------------->| 2496 | | RTP | 2497 | |<============>| 2498 | |INVITE (hold) F12 2499 | |------------->| 2500 | | 200 OK F13 | 2501 | |<-------------| 2502 | | ACK F14 | 2503 | |------------->| 2504 | | No RTP | 2505 | REFER Refer-To: C F15 | 2506 |<---------------| | 2507 |202 Accepted F16| | 2508 |--------------->| | 2509 | NOTIFY F17 | | 2510 |--------------->| | 2511 | 200 OK F18 | | 2512 |<---------------| | 2513 | INVITE Replaces: B F19 | 2514 |------------------------------>| 2515 | 200 OK F20 | 2516 |<------------------------------| 2517 | ACK F21 | 2518 |------------------------------>| 2519 | RTP | 2520 |<=============================>| 2521 | | BYE F22 | 2522 | |<-------------| 2523 | | 200 OK F23 | 2524 | |------------->| 2525 | NOTIFY F24 | | 2526 |--------------->| | 2527 | 200 OK F25 | | 2528 |<---------------| | 2529 | BYE F26 | | 2530 |<---------------| | 2531 | 200 OK F27 | | 2532 |--------------->| | 2534 In this scenario, Alice calls Bob. Bob puts Alice on hold then calls 2535 Carol to announce transfer, then places Carol on hold. Bob transfers 2536 Alice to Carol which replaces the session between Bob and Carol. 2538 Carol then disconnects session with Bob. Alice reports success of 2539 transfer to Bob, who then disconnects with Alice. In this example, 2540 the Replaces header field [RFC3891] is inserted into the Refer-To URI 2541 by Bob. Note that the Refer-To URI is the Contact URI returned by 2542 Carol in the 200 OK response F10. This ensures that only the correct 2543 instance of Carol is reached. The presence of the gr URI parameter 2544 in the Contact URI in message F10 indicates that the Contact URI is a 2545 GRUU [I-D.ietf-sip-gruu] and will be globally routable outside of the 2546 dialog. Without knowing the Contact URI is a gruu, Bob must be 2547 prepared, if the triggered INVITE had failed, to retry the REFER with 2548 a Refer-To URI of the URI used to reach Carol but with a Require: 2549 replaces header escaped in the Refer-To header field, as discussed in 2550 the transfer [I-D.ietf-sipping-cc-transfer] document. 2552 Message Details 2554 F1 INVITE Alice -> Bob 2556 INVITE sips:bob@biloxi.example.com SIP/2.0 2557 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2558 ;branch=z9hG4bK74bf9 2559 Max-Forwards: 70 2560 From: Alice ;tag=1234567 2561 To: Bob 2562 Call-ID: 12345600@atlanta.example.com 2563 CSeq: 1 INVITE 2564 Contact: 2565 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2566 Supported: replaces 2567 Content-Type: application/sdp 2568 Content-Length: ... 2570 v=0 2571 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 2572 s= 2573 c=IN IP4 client.atlanta.example.com 2574 t=0 0 2575 m=audio 49170 RTP/AVP 0 2576 a=rtpmap:0 PCMU/8000 2578 F2 180 Ringing Bob -> Alice 2580 SIP/2.0 180 Ringing 2581 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2582 ;branch=z9hG4bK74bf9 2583 ;received=192.0.2.103 2585 From: Alice ;tag=1234567 2586 To: Bob ;tag=23431 2587 Call-ID: 12345600@atlanta.example.com 2588 CSeq: 1 INVITE 2589 Contact: 2590 Content-Length: 0 2592 F3 200 OK Bob -> Alice 2594 SIP/2.0 200 OK 2595 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2596 ;branch=z9hG4bK74bf9 2597 ;received=192.0.2.103 2598 From: Alice ;tag=1234567 2599 To: Bob ;tag=23431 2600 Call-ID: 12345600@atlanta.example.com 2601 CSeq: 1 INVITE 2602 Contact: 2603 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2604 Supported: replaces 2605 Content-Type: application/sdp 2606 Content-Length: ... 2608 v=0 2609 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 2610 s= 2611 c=IN IP4 client.biloxi.example.com 2612 t=0 0 2613 m=audio 3456 RTP/AVP 0 2614 a=rtpmap:0 PCMU/8000 2616 F4 ACK Alice -> Bob 2618 ACK sips:bob@client.biloxi.example.com SIP/2.0 2619 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2620 ;branch=z9hG4bK74bf 2621 Max-Forwards: 70 2622 From: Alice ;tag=1234567 2623 To: Bob ;tag=23431 2624 Call-ID: 12345600@atlanta.example.com 2625 CSeq: 1 ACK 2626 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2627 Supported: replaces 2628 Content-Length: 0 2629 /* Alice and Bob have established a session. 2630 Bob puts Alice on Hold */ 2632 F5 INVITE Bob -> Alice 2634 INVITE sips:alice@client.atlanta.example.com SIP/2.0 2635 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2636 ;branch=z9hG4bKnashds7 2637 Max-Forwards: 70 2638 From: Bob ;tag=23431 2639 To: Alice ;tag=1234567 2640 Call-ID: 12345600@atlanta.example.com 2641 CSeq: 1024 INVITE 2642 Contact: ;+sip.rendering="no" 2643 Content-Type: application/sdp 2644 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2645 Supported: replaces 2646 Content-Length: ... 2648 v=0 2649 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 2650 s= 2651 c=IN IP4 client.biloxi.example.com 2652 t=0 0 2653 m=audio 3456 RTP/AVP 0 2654 a=rtpmap:0 PCMU/8000 2655 a=sendonly 2657 F6 200 OK Alice -> Bob 2659 SIP/2.0 200 OK 2660 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2661 ;branch=z9hG4bKnashds7 2662 ;received=192.0.2.113 2663 From: Bob ;tag=23431 2664 To: Alice ;tag=1234567 2665 Call-ID: 12345600@atlanta.example.com 2666 CSeq: 1024 INVITE 2667 Contact: 2668 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2669 Supported: replaces 2670 Content-Type: application/sdp 2671 Content-Length: ... 2673 v=0 2674 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 2675 s= 2676 c=IN IP4 client.atlanta.example.com 2677 t=0 0 2678 m=audio 49170 RTP/AVP 0 2679 a=rtpmap:0 PCMU/8000 2680 a=recvonly 2682 F7 ACK Bob -> Alice 2684 ACK sips:alice@client.atlanta.example.com SIP/2.0 2685 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2686 ;branch=z9hG4bKnashds3 2687 Max-Forwards: 70 2688 From: Bob ;tag=23431 2689 To: Alice ;tag=1234567 2690 Call-ID: 12345600@atlanta.example.com 2691 CSeq: 1024 ACK 2692 Content-Length: 0 2694 /* Bob calls Carol */ 2696 F8 INVITE Bob -> Carol 2698 INVITE sips:carol@chicago.example.com SIP/2.0 2699 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2700 ;branch=z9hG4bKnash 2701 Max-Forwards: 70 2702 From: Bob ;tag=8675309 2703 To: Carol 2704 Call-ID: sdjfdjfskdf@biloxi.example.com 2705 CSeq: 42 INVITE 2706 Contact: 2707 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2708 Supported: replaces 2709 Content-Type: application/sdp 2710 Content-Length: ... 2712 v=0 2713 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 2714 s= 2715 c=IN IP4 client.biloxi.example.com 2716 t=0 0 2717 m=audio 3458 RTP/AVP 0 2718 a=rtpmap:0 PCMU/8000 2720 F9 180 Ringing Carol -> Bob 2721 SIP/2.0 180 Ringing 2722 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2723 ;branch=z9hG4bKnash 2724 ;received=192.0.2.113 2725 From: Bob ;tag=8675309 2726 To: Carol ;tag=5f35a3 2727 Call-ID: sdjfdjfskdf@biloxi.example.com 2728 CSeq: 42 INVITE 2729 Contact: 2730 Content-Length: 0 2732 F10 200 OK Carol -> Bob 2734 SIP/2.0 200 OK 2735 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2736 ;branch=z9hG4bKnash 2737 ;received=192.0.2.113 2738 From: Bob ;tag=8675309 2739 To: Carol ;tag=5f35a3 2740 Call-ID: sdjfdjfskdf@biloxi.example.com 2741 CSeq: 42 INVITE 2742 Contact: 2743 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2744 Supported: replaces, gruu 2745 Content-Type: application/sdp 2746 Content-Length: ... 2748 v=0 2749 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 2750 s= 2751 c=IN IP4 client.chicago.example.com 2752 t=0 0 2753 m=audio 3456 RTP/AVP 0 2754 a=rtpmap:0 PCMU/8000 2756 F11 ACK Bob -> Carol 2758 ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2759 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2760 ;branch=z9hG4bKnashd5 2761 Max-Forwards: 70 2762 From: Bob ;tag=8675309 2763 To: Carol ;tag=5f35a3 2764 Call-ID: sdjfdjfskdf@biloxi.example.com 2765 CSeq: 42 ACK 2766 Content-Length: 0 2767 /* Bob puts Carol on hold */ 2769 F12 INVITE Bob -> Carol 2771 INVITE sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2772 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2773 ;branch=z9hG4bKnashds0 2774 Max-Forwards: 70 2775 From: Bob ;tag=8675309 2776 To: Carol ;tag=5f35a3 2777 Call-ID: sdjfdjfskdf@biloxi.example.com 2778 CSeq: 43 INVITE 2779 Contact: ;+sip.rendering="no" 2780 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2781 Supported: replaces 2782 Content-Type: application/sdp 2783 Content-Length: ... 2785 v=0 2786 o=bob 289084834 2890844835 IN IP4 client.biloxi.example.com 2787 s= 2788 c=IN IP4 client.biloxi.example.com 2789 t=0 0 2790 m=audio 3458 RTP/AVP 0 2791 a=rtpmap:0 PCMU/8000 2792 a=sendonly 2794 F13 200 OK Carol -> Bob 2796 SIP/2.0 200 OK 2797 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2798 ;branch=z9hG4bKnashds0 2799 ;received=192.0.2.113 2800 From: Bob ;tag=8675309 2801 To: Carol ;tag=5f35a3 2802 Call-ID: sdjfdjfskdf@biloxi.example.com 2803 CSeq: 43 INVITE 2804 Contact: 2805 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2806 Supported: replaces, gruu 2807 Content-Type: application/sdp 2808 Content-Length: ... 2810 v=0 2811 o=carol 2890844922 2890844923 IN IP4 client.chicago.example.com 2812 s= 2813 c=IN IP4 client.chicago.example.com 2814 t=0 0 2815 m=audio 3456 RTP/AVP 0 2816 a=rtpmap:0 PCMU/8000 2817 a=recvonly 2819 F14 ACK Bob -> Carol 2821 ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2822 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2823 ;branch=z9hG4bKnash334 2824 Max-Forwards: 70 2825 From: Bob ;tag=8675309 2826 To: Carol ;tag=5f35a3 2827 Call-ID: sdjfdjfskdf@biloxi.example.com 2828 CSeq: 43 ACK 2829 Content-Length: 0 2831 /* Bob Transfers Alice to Carol. */ 2833 F15 REFER Bob -> Alice 2835 REFER sips:alice@client.atlanta.example.com SIP/2.0 2836 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2837 ;branch=z9hG4bKnashds2g 2838 Max-Forwards: 70 2839 From: Bob ;tag=23431 2840 To: Alice ;tag=1234567 2841 Call-ID: 12345600@atlanta.example.com 2842 CSeq: 1025 REFER 2843 2844 Refer-To: 2847 2848 Referred-By: 2849 Contact: 2850 Content-Length: 0 2852 F16 202 Accepted Alice -> Bob 2854 SIP/2.0 202 Accepted 2855 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2856 ;branch=z9hG4bKnashds2g 2857 ;received=192.0.2.113 2858 From: Bob ;tag=23431 2859 To: Alice ;tag=1234567 2860 Call-ID: 12345600@atlanta.example.com 2861 Contact: 2862 CSeq: 1025 REFER 2863 Content-Length: 0 2865 F17 NOTIFY Alice -> Bob 2867 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 2868 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2869 ;branch=z9hG4bK74bfK 2870 Max-Forwards: 70 2871 From: Alice ;tag=1234567 2872 To: Bob ;tag=23431 2873 Call-ID: 12345600@atlanta.example.com 2874 CSeq: 2 NOTIFY 2875 Contact: 2876 Event: refer 2877 Subscription-State: active;expires=60 2878 Content-Type: message/sipfrag 2879 Content-Length: ... 2881 SIP/2.0 100 Trying 2883 F18 200 OK Bob -> Alice 2885 SIP/2.0 200 OK 2886 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2887 ;branch=z9hG4bK74bfK 2888 ;received=192.0.2.103 2889 From: Alice ;tag=1234567 2890 To: Bob ;tag=23431 2891 Call-ID: 12345600@atlanta.example.com 2892 CSeq: 2 NOTIFY 2893 Content-Length: 0 2895 /* Alice establishes session with Carol which replaces the 2896 session between Bob and Carol */ 2898 F19 INVITE Alice -> Carol 2900 INVITE sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2901 Via: SIP/2.0/TLS chicago.example.com:5061 2902 ;branch=z9hG4bKadfe4ko 2903 To: Carol 2904 Max-Forwards: 70 2905 From: Alice ;tag=3461 2906 Call-ID: 9435674543@atlanta.example.com 2907 CSeq: 1 INVITE 2908 Require: replaces 2909 Referred-By: 2910 Replaces: sdjfdjfskdf@biloxi.example.com 2911 ;to-tag=5f35a3;from-tag=8675309 2912 Contact: 2913 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2914 Supported: replaces 2915 Content-Type: application/sdp 2916 Content-Length: ... 2918 v=0 2919 o=alice 2890844989 2890844989 IN IP4 client.atlanta.example.com 2920 s= 2921 c=IN IP4 client.atlanta.example.com 2922 t=0 0 2923 m=audio 3458 RTP/AVP 0 2924 a=rtpmap:0 PCMU/8000 2926 F20 200 OK Carol -> Alice 2928 SIP/2.0 200 OK 2929 Via: SIP/2.0/TLS chicago.example.com:5061 2930 ;branch=z9hG4bKadfe4ko 2931 ;received=192.0.2.103 2932 To: Carol ;tag=ff3a 2933 From: Alice ;tag=3461 2934 Call-ID: 9435674543@atlanta.example.com 2935 CSeq: 1 INVITE 2936 Contact: 2937 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2938 Supported: replaces, gruu 2939 Content-Type: application/sdp 2940 Content-Length: ... 2942 v=0 2943 o=carol 2890844221 2890844221 IN IP4 client.chicago.example.com 2944 s= 2945 c=IN IP4 client.chicago.example.com 2946 t=0 0 2947 m=audio 49172 RTP/AVP 0 2948 a=rtpmap:0 PCMU/8000 2949 F21 ACK Alice -> Carol 2951 ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 2952 Via: SIP/2.0/TLS chicago.example.com:5061 2953 ;branch=z9hG4bKadfe4kU3 2954 To: Carol ;tag=ff3a 2955 Max-Forwards: 70 2956 From: Alice ;tag=3461 2957 Call-ID: 9435674543@atlanta.example.com 2958 CSeq: 1 ACK 2959 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2960 Supported: replaces 2961 Content-Length: 0 2963 /* Carol then disconnects from Bob */ 2965 F22 BYE Carol -> Bob 2967 BYE sips:bob@client.biloxi.example.com SIP/2.0 2968 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2969 ;branch=z9hG4bK74bfE 2970 To: Bob ;tag=8675309 2971 Max-Forwards: 70 2972 From: Carol ;tag=5f35a3 2973 Call-ID: sdjfdjfskdf@biloxi.example.com 2974 CSeq: 1 BYE 2975 Content-Length: 0 2977 F23 200 OK Bob -> Carol 2979 SIP/2.0 200 OK 2980 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2981 ;branch=z9hG4bK74bfE 2982 ;received=192.0.2.123 2983 To: Bob ;tag=8675309 2984 From: Carol ;tag=5f35a3 2985 Call-ID: sdjfdjfskdf@biloxi.example.com 2986 CSeq: 1 BYE 2987 Content-Length: 0 2989 /* Alice tells Bob that the call has been 2990 successfully transferred */ 2992 F24 NOTIFY Alice -> Bob 2993 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 2994 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2995 ;branch=z9hG4bK74bf2N 2996 Max-Forwards: 70 2997 From: Alice ;tag=1234567 2998 To: Bob ;tag=23431 2999 Call-ID: 12345600@atlanta.example.com 3000 CSeq: 3 NOTIFY 3001 Event: refer 3002 Subscription-State: terminated;reason=noresource 3003 Contact: 3004 Content-Type: message/sipfrag 3005 Content-Length: ... 3007 SIP/2.0 200 OK 3008 Via: SIP/2.0/TLS chicago.example.com:5061 3009 ;branch=z9hG4bKadfe4ko 3010 ;received=192.0.2.103 3011 To: Carol ;tag=ff3a 3012 From: Alice ;tag=3461 3013 Call-ID: 9435674543@atlanta.example.com 3014 CSeq: 1 INVITE 3015 Contact: 3017 F25 200 OK Bob -> Alice 3019 SIP/2.0 200 OK 3020 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3021 ;branch=z9hG4bK74bf9 3022 ;received=192.0.2.103 3023 From: Alice ;tag=1234567 3024 To: Bob ;tag=23431 3025 Call-ID: 12345600@atlanta.example.com 3026 CSeq: 3 NOTIFY 3027 Content-Length: 0 3029 /* Bob disconnects with Alice */ 3031 F26 BYE Bob -> Alice 3033 BYE sips:alice@client.atlanta.example.com SIP/2.0 3034 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3035 ;branch=z9hG4bKnashds7P 3036 Max-Forwards: 70 3037 From: Bob ;tag=23431 3038 To: Alice ;tag=1234567 3039 Call-ID: 12345600@atlanta.example.com 3040 CSeq: 1026 BYE 3041 Content-Length: 0 3043 F27 200 OK Alice -> Bob 3045 SIP/2.0 200 OK 3046 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3047 ;branch=z9hG4bKnashds7P 3048 ;received=192.0.2.113 3049 From: Bob ;tag=23431 3050 To: Alice ;tag=1234567 3051 Call-ID: 12345600@atlanta.example.com 3052 CSeq: 1026 BYE 3053 Content-Length: 0 3055 2.6. Transfer - Instant Messaging 3057 Alice Bob Carol 3058 | | | 3059 | INVITE F1 | | 3060 |------------->| | 3061 | 180 Ringing F2 | 3062 |<-------------| | 3063 | 200 OK F3 | | 3064 |<-------------| | 3065 | ACK F4 | | 3066 |------------->| | 3067 | Both way RTP Established | 3068 |<============>| | 3069 | | MESSAGE F5 | 3070 | |------------------>| 3071 | | 200 OK F6 | 3072 | |<------------------| 3073 | | | 3074 | INVITE Replaces:A-B F7 | 3075 |<---------------------------------| 3076 | 200 OK F8 | 3077 |--------------------------------->| 3078 | ACK F9 | 3079 |<---------------------------------| 3080 | Both way RTP Established | 3081 |<================================>| 3082 | BYE F10 | | 3083 |------------->| | 3084 | 200 OK F11 | | 3085 |<-------------| | 3086 | | 3088 In this scenario, Alice and Bob establish a session between them. 3089 Bob wants Carol to take the call so sends an Instant Message (IM) to 3090 Carol containing Alice's URI and an embedded Replaces header field. 3091 If Carol clicks on the URI, Carol's SIP UA sends an INVITE to Alice 3092 which replaces the session with Bob. 3094 This scenario shows the use of the SIP MESSAGE [RFC3428] method to 3095 pass the URI. However, another IM protocol or other method could 3096 have been used to pass the URI from Bob to Carol. 3098 Message Details 3100 F1 INVITE Alice -> Bob 3101 INVITE sips:bob@biloxi.example.com SIP/2.0 3102 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3103 ;branch=z9hG4bK74bf9 3104 Max-Forwards: 70 3105 From: Alice ;tag=1234567 3106 To: Bob 3107 Call-ID: 12345600@atlanta.example.com 3108 CSeq: 1 INVITE 3109 Contact: 3110 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3111 Supported: replaces, gruu 3112 Content-Type: application/sdp 3113 Content-Length: ... 3115 v=0 3116 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3117 s= 3118 c=IN IP4 client.atlanta.example.com 3119 t=0 0 3120 m=audio 49170 RTP/AVP 0 3121 a=rtpmap:0 PCMU/8000 3123 F2 180 Ringing Bob -> Alice 3125 SIP/2.0 180 Ringing 3126 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3127 ;branch=z9hG4bK74bf9 3128 ;received=192.0.2.103 3129 From: Alice ;tag=1234567 3130 To: Bob ;tag=3145678 3131 Call-ID: 12345600@atlanta.example.com 3132 CSeq: 1 INVITE 3133 Contact: 3134 Content-Length: 0 3136 F3 200 OK Bob -> Alice 3138 SIP/2.0 200 OK 3139 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3140 ;branch=z9hG4bK74bf9 3141 ;received=192.0.2.103 3142 From: Alice ;tag=1234567 3143 To: Bob ;tag=3145678 3144 Call-ID: 12345600@atlanta.example.com 3145 Contact: 3146 CSeq: 1 INVITE 3147 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3148 Supported: replaces 3149 Content-Type: application/sdp 3150 Content-Length: ... 3152 v=0 3153 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 3154 s= 3155 c=IN IP4 client.biloxi.example.com 3156 t=0 0 3157 m=audio 3456 RTP/AVP 0 3158 a=rtpmap:0 PCMU/8000 3160 F4 ACK Alice -> Bob 3162 ACK sips:bob@client.biloxi.example.com SIP/2.0 3163 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3164 ;branch=z9hG4bK74r 3165 Max-Forwards: 70 3166 From: Alice ;tag=1234567 3167 To: Bob ;tag=3145678 3168 Call-ID: 12345600@atlanta.example.com 3169 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3170 Supported: replaces 3171 CSeq: 1 ACK 3172 Content-Length: 0 3174 /* Bob IMs Carol */ 3176 F5 MESSAGE Bob -> Carol 3178 MESSAGE sips:carol@chicago.example.com SIP/2.0 3179 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3180 ;branch=z9hG4bKnash 3181 Max-Forwards: 70 3182 From: Bob ;tag=8675309 3183 To: Carol 3184 Call-ID: sdjfdjfskdf@biloxi.example.com 3185 CSeq: 42 MESSAGE 3186 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3187 Supported: replaces 3188 Content-Type: text/html 3189 Content-Length: ... 3191 Do you want to take this call from 3192 3193 3196 Alice? 3197 3198 3200 F6 200 OK Carol -> Bob 3202 SIP/2.0 200 OK 3203 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3204 ;branch=z9hG4bKnash 3205 ;received=192.0.2.113 3206 From: Bob ;tag=8675309 3207 To: Carol ;tag=5f35a3 3208 Call-ID: sdjfdjfskdf@biloxi.example.com 3209 CSeq: 42 MESSAGE 3210 Contact: 3211 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3212 Supported: replaces 3213 Content-Length: 0 3215 /* Carol takes the call from Bob */ 3217 F7 INVITE Carol -> Alice 3219 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 3220 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 3221 ;branch=z9hG4bK74HH 3222 Max-Forwards: 70 3223 From: Carol ;tag=8675310 3224 To: Alice 3225 Call-ID: 563456212@b2.chicago.example.com 3226 CSeq: 1 INVITE 3227 Require: replaces 3228 Replaces: 12345600@atlanta.example.com 3229 ;to-tag=3145678;from-tag=1234567 3230 Contact: 3231 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3232 Supported: replaces 3233 Content-Type: application/sdp 3234 Content-Length: ... 3236 v=0 3237 o=carol 2890843122 2890843122 IN IP4 client.chicago.example.com 3238 s= 3239 c=IN IP4 client.chicago.example.com 3240 t=0 0 3241 m=audio 5342 RTP/AVP 0 3242 a=rtpmap:0 PCMU/8000 3244 /* Alice matches the dialog information in the 3245 Replaces header and accepts the INVITE */ 3247 F8 200 OK Alice -> Carol 3249 SIP/2.0 200 OK 3250 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 3251 ;branch=z9hG4bK74HH 3252 ;received=192.0.2.114 3253 From: Carol ;tag=8675310 3254 To: Alice ;tag=131256 3255 Call-ID: 563456212@b2.chicago.example.com 3256 CSeq: 1 INVITE 3257 Contact: 3258 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3259 Supported: replaces, gruu 3260 Content-Type: application/sdp 3261 Content-Length: ... 3263 v=0 3264 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com 3265 s= 3266 c=IN IP4 client.atlanta.example.com 3267 t=0 0 3268 m=audio 49172 RTP/AVP 0 3269 a=rtpmap:0 PCMU/8000 3271 F9 ACK Carol -> Alice 3273 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 3274 Via: SIP/2.0/TLS b2.biloxi.example.com:5061 3275 ;branch=z9hG4bK7435 3276 Max-Forwards: 70 3277 From: Carol ;tag=8675310 3278 To: Alice ;tag=131256 3279 Call-ID: 563456212@b2.chicago.example.com 3280 CSeq: 1 ACK 3281 Content-Length: 0 3283 /* RTP streams are established between Alice and Carol. 3285 Alice Hangs Up with Bob due to the Replaces header field. */ 3287 F10 BYE Alice -> Bob 3289 BYE sips:bob@client.biloxi.example.com SIP/2.0 3290 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3291 ;branch=z9hG4bK74bf 3292 Max-Forwards: 70 3293 From: Alice ;tag=1234567 3294 To: Bob ;tag=3145678 3295 Call-ID: 12345600@atlanta.example.com 3296 CSeq: 2 BYE 3297 Content-Length: 0 3299 F11 200 OK Bob -> Alice 3301 SIP/2.0 200 OK 3302 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3303 ;branch=z9hG4bK74bf 3304 ;received=192.0.2.103 3305 From: Alice ;tag=1234567 3306 To: Bob ;tag=3145678 3307 Call-ID: 12345600@atlanta.example.com 3308 CSeq: 2 BYE 3309 Content-Length: 0 3311 2.7. Call Forwarding Unconditional 3313 Alice Proxy Gateway 3314 | | | 3315 | INVITE F1 | | 3316 |--------------->| | 3317 |(100 Trying) F2 | | 3318 |<---------------| | 3319 | (181 Call Is Being Forwarded) F3 3320 |<---------------| INVITE F4 | 3321 | |------------->| 3322 | |180 Ringing F5| 3323 | 180 Ringing F6 |<-------------| 3324 |<---------------| 200 OK F7 | 3325 | 200 OK F8 |<-------------| 3326 |<---------------| | 3327 | ACK F9 | | 3328 |--------------->| ACK F10 | 3329 | |------------->| 3330 | Both way RTP Established | 3331 |<=============================>| 3332 | BYE F11 | | 3333 |--------------->| BYE F12 | 3334 | |------------->| 3335 | | 200 OK F13 | 3336 | 200 OK F14 |<-------------| 3337 |<---------------| | 3338 | | | 3340 Bob wants all calls forwarded to the PSTN (which is just another URI 3341 to the proxy server). Alice calls Bob. The proxy server rewrites the 3342 Request URI, and forwards the INVITE to a Gateway. Details of 3343 messaging behind the Gateway are not shown. 3345 Note that the 181 Call is Being Forwarded response does not have a To 3346 tag added as the proxy does not wish to establish an early dialog 3347 with Alice. Strictly speaking, the proxy is behaving as a User Agent 3348 in this case as a proxy can not generate non-100 provisional 3349 responses. 3351 Note also that forwarding could be accomplished using a redirect (302 3352 Moved Temporarily response). 3354 Message Details 3356 F1 INVITE Alice -> Proxy 3357 INVITE sips:bob@biloxi.example.com SIP/2.0 3358 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3359 ;branch=z9hG4bK74bf9 3360 Max-Forwards: 70 3361 From: Alice ;tag=1234567 3362 To: Bob 3363 Call-ID: 12345600@atlanta.example.com 3364 CSeq: 1 INVITE 3365 Contact: 3366 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3367 Content-Type: application/sdp 3368 Content-Length: ... 3370 v=0 3371 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3372 s= 3373 c=IN IP4 client.atlanta.example.com 3374 t=0 0 3375 m=audio 49170 RTP/AVP 0 3376 a=rtpmap:0 PCMU/8000 3378 F2 (100 Trying) Proxy -> Alice 3380 SIP/2.0 100 Trying 3381 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3382 ;branch=z9hG4bK74bf9 3383 ;received=192.0.2.103 3384 From: Alice ;tag=1234567 3385 To: Bob 3386 Call-ID: 12345600@atlanta.example.com 3387 CSeq: 1 INVITE 3388 Content-Length: 0 3390 F3 (181 Call is Being Forwarded) Proxy -> Alice 3392 SIP/2.0 181 Call is Being Forwarded 3393 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3394 ;branch=z9hG4bK74bf9 3395 ;received=192.0.2.103 3396 From: Alice ;tag=1234567 3397 To: Bob ;tag=9214d 3398 Call-ID: 12345600@atlanta.example.com 3399 CSeq: 1 INVITE 3400 Content-Length: 0 3401 /* Proxy forwards call by rewriting Request-URI */ 3403 F4 INVITE Proxy -> Gateway 3405 INVITE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3406 Via: SIP/2.0/TLS ss1.example.com:5061 3407 ;branch=z9hG4bK83749.1 3408 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3409 ;branch=z9hG4bK74bf9 3410 ;received=192.0.2.103 3411 Record-Route: 3412 Max-Forwards: 69 3413 From: Alice ;tag=1234567 3414 To: Bob 3415 Call-ID: 12345600@atlanta.example.com 3416 CSeq: 1 INVITE 3417 Contact: 3418 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3419 Content-Type: application/sdp 3420 Content-Length: ... 3422 v=0 3423 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3424 s= 3425 c=IN IP4 client.atlanta.example.com 3426 t=0 0 3427 m=audio 49170 RTP/AVP 0 3428 a=rtpmap:0 PCMU/8000 3430 F5 180 Ringing Gateway -> Proxy 3432 SIP/2.0 180 Ringing 3433 Via: SIP/2.0/TLS ss1.example.com:5061 3434 ;branch=z9hG4bK83749.1 3435 ;received=192.0.2.54 3436 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3437 ;branch=z9hG4bK74bf9 3438 ;received=192.0.2.103 3439 Record-Route: 3440 From: Alice ;tag=1234567 3441 To: Bob ;tag=314159 3442 Call-ID: 12345600@atlanta.example.com 3443 CSeq: 1 INVITE 3444 Contact: 3445 Content Length:0 3446 F6 180 Ringing Proxy -> Alice 3448 SIP/2.0 180 Ringing 3449 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3450 ;branch=z9hG4bK74bf9 3451 ;received=192.0.2.103 3452 Record-Route: 3453 From: Alice ;tag=1234567 3454 To: Bob ;tag=314159 3455 Call-ID: 12345600@atlanta.example.com 3456 CSeq: 1 INVITE 3457 Contact: 3458 Content Length: 0 3460 F7 200 OK Gateway -> Proxy 3462 SIP/2.0 200 OK 3463 Via: SIP/2.0/TLS ss1.example.com:5061 3464 ;branch=z9hG4bK83749.1 3465 ;received=192.0.2.54 3466 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3467 ;branch=z9hG4bK74bf9 3468 ;received=192.0.2.103 3469 Record-Route: 3470 From: Alice ;tag=1234567 3471 To: Bob ;tag=314159 3472 Call-ID: 12345600@atlanta.example.com 3473 CSeq: 1 INVITE 3474 Contact: 3475 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3476 Content-Type: application/sdp 3477 Content-Length: ... 3479 v=0 3480 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com 3481 s= 3482 c=IN IP4 gatewayone.example.com 3483 t=0 0 3484 m=audio 3456 RTP/AVP 0 3485 a=rtpmap:0 PCMU/8000 3487 F8 200 OK Proxy -> Alice 3489 SIP/2.0 200 OK 3490 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3491 ;branch=z9hG4bK74bf9 3492 ;received=192.0.2.103 3493 Record-Route: 3494 From: Alice ;tag=1234567 3495 To: Bob ;tag=314159 3496 Call-ID: 12345600@atlanta.example.com 3497 CSeq: 1 INVITE 3498 Contact: 3499 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3500 Content-Type: application/sdp 3501 Content-Length: ... 3503 v=0 3504 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com 3505 s= 3506 c=IN IP4 gatewayone.example.com 3507 t=0 0 3508 m=audio 3456 RTP/AVP 0 3509 a=rtpmap:0 PCMU/8000 3511 F9 ACK Alice -> Proxy 3513 ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3514 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3515 ;branch=z9hG4bK74bf31 3516 Route: 3517 Max-Forwards: 70 3518 From: Alice ;tag=1234567 3519 To: Bob ;tag=314159 3520 Call-ID: 12345600@atlanta.example.com 3521 CSeq: 1 ACK 3522 Content-Length: 0 3524 F10 ACK Proxy -> Gateway 3526 ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3527 Via: SIP/2.0/TLS ss1.example.com:5061 3528 ;branch=z9hG4bK83749ws.1 3529 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3530 ;branch=z9hG4bK74bf31 3531 ;received=192.0.2.103 3532 Max-Forwards: 69 3533 From: Alice ;tag=1234567 3534 To: Bob ;tag=314159 3535 Call-ID: 12345600@atlanta.example.com 3536 CSeq: 1 ACK 3537 Content-Length: 0 3538 F11 BYE Alice -> Proxy 3540 BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3541 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3542 ;branch=z9hG4bK74bfJe 3543 Route: 3544 Max-Forwards: 70 3545 From: Alice ;tag=1234567 3546 To: Bob ;tag=314159 3547 Call-ID: 12345600@atlanta.example.com 3548 CSeq: 2 BYE 3549 Content-Length: 0 3551 F12 BYE Proxy -> Gateway 3553 BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3554 Via: SIP/2.0/TLS ss1.example.com:5061 3555 ;branch=z9hG4bK83749G1 3556 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3557 ;branch=z9hG4bK74bfJe 3558 ;received=192.0.2.103 3559 Max-Forwards: 69 3560 From: Alice ;tag=1234567 3561 To: Bob ;tag=314159 3562 Call-ID: 12345600@atlanta.example.com 3563 CSeq: 2 BYE 3564 Content-Length: 0 3566 F13 200 OK Gateway -> Proxy 3568 SIP/2.0 200 OK 3569 Via: SIP/2.0/TLS ss1.example.com:5061 3570 ;branch=z9hG4bK83749G1 3571 ;received=192.0.2.54 3572 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3573 ;branch=z9hG4bK74bfJe 3574 ;received=192.0.2.103 3575 From: Alice ;tag=1234567 3576 To: Bob ;tag=314159 3577 Call-ID: 12345600@atlanta.example.com 3578 CSeq: 2 BYE 3579 Content-Length: 0 3581 F14 200 OK Proxy -> Alice 3582 SIP/2.0 200 OK 3583 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3584 ;branch=z9hG4bK74bfJe 3585 ;received=192.0.2.103 3586 From: Alice ;tag=1234567 3587 To: Bob ;tag=314159 3588 Call-ID: 12345600@atlanta.example.com 3589 CSeq: 2 BYE 3590 Content-Length: 0 3592 2.8. Call Forwarding - Busy 3594 Alice Proxy User B1 User B2 3595 | | | | 3596 | INVITE F1 | | | 3597 |--------------->| INVITE F2 | | 3598 | |------------->| | 3599 |(100 Trying) F3 | | | 3600 |<---------------| 486 Busy F4 | | 3601 | |<-------------| | 3602 | | ACK F5 | | 3603 | |------------->| | 3604 |(181 Call is Being Forwarded) F6 | 3605 |<---------------| | INVITE F7 | 3606 | |--------------------------------->| 3607 | | | 180 Ringing F8 | 3608 | |<---------------------------------| 3609 | 180 Ringing F9 | | | 3610 |<---------------| | 200 OK F10 | 3611 | |<---------------------------------| 3612 | 200 OK F11 | | | 3613 |<---------------| | | 3614 | ACK F12 | | | 3615 |--------------->| | ACK F13 | 3616 | |--------------------------------->| 3617 | Both way RTP Established | 3618 |<=================================================>| 3619 | BYE F14 | | | 3620 |--------------->| | BYE F15 | 3621 | |--------------------------------->| 3622 | | | 200 OK F16 | 3623 | 200 OK F17 |<---------------------------------| 3624 |<---------------| | | 3625 | | | | 3627 Bob wants calls to B1 forwarded to B2 if B1 is busy (this information 3628 is known to the proxy). Alice calls B1, B1 is busy, the proxy server 3629 places call to B2. 3631 Message Details 3633 F1 INVITE Alice -> Proxy 3635 INVITE sips:bob@biloxi.example.com SIP/2.0 3636 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3637 ;branch=z9hG4bK74bf9 3638 Max-Forwards: 70 3639 From: Alice ;tag=1234567 3640 To: Bob 3641 Call-ID: 12345600@atlanta.example.com 3642 CSeq: 1 INVITE 3643 Contact: 3644 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3645 Content-Type: application/sdp 3646 Content-Length: ... 3648 v=0 3649 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3650 s= 3651 c=IN IP4 client.atlanta.example.com 3652 t=0 0 3653 m=audio 49170 RTP/AVP 0 3654 a=rtpmap:0 PCMU/8000 3656 F2 INVITE Proxy -> B1 3658 INVITE sips:bob@client.biloxi.example.com SIP/2.0 3659 Via: SIP/2.0/TLS ss1.example.com:5061 3660 ;branch=z9hG4bK83749.1 3661 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3662 ;branch=z9hG4bK74bf9 3663 ;received=192.0.2.103 3664 Record-Route: 3665 Max-Forwards: 69 3666 From: Alice ;tag=1234567 3667 To: Bob 3668 Call-ID: 12345600@atlanta.example.com 3669 CSeq: 1 INVITE 3670 Contact: 3671 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3672 Content-Type: application/sdp 3673 Content-Length: ... 3675 v=0 3676 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3677 s= 3678 c=IN IP4 client.atlanta.example.com 3679 t=0 0 3680 m=audio 49170 RTP/AVP 0 3681 a=rtpmap:0 PCMU/8000 3683 F3 (100 Trying) Proxy -> Alice 3685 SIP/2.0 100 Trying 3686 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3687 ;branch=z9hG4bK74bf9 3688 ;received=192.0.2.103 3689 From: Alice ;tag=1234567 3690 To: Bob 3691 Call-ID: 12345600@atlanta.example.com 3692 CSeq: 1 INVITE 3693 Content-Length: 0 3695 F4 486 Busy Here B1 -> Proxy 3697 SIP/2.0 486 Busy Here 3698 Via: SIP/2.0/TLS ss1.example.com:5061 3699 ;branch=z9hG4bK83749.1 3700 ;received=192.0.2.54 3701 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3702 ;branch=z9hG4bK74bf9 3703 ;received=192.0.2.103 3704 From: Alice ;tag=1234567 3705 To: Bob ;tag=765432 3706 Call-ID: 12345600@atlanta.example.com 3707 CSeq: 1 INVITE 3708 Content-Length: 0 3710 F5 ACK Proxy -> B1 3712 ACK sips:bob@client.biloxi.example.com SIP/2.0 3713 Via: SIP/2.0/TLS ss1.example.com:5061 3714 ;branch=z9hG4bK83749.1 3715 Max-Forwards: 70 3716 From: Alice ;tag=1234567 3717 To: Bob ;tag=765432 3718 Call-ID: 12345600@atlanta.example.com 3719 CSeq: 1 ACK 3720 Content-Length: 0 3722 F6 (181 Call is Being Forwarded) Proxy -> Alice 3724 SIP/2.0 181 Call is Being Forwarded 3725 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3726 ;branch=z9hG4bK74bf9 3727 ;received=192.0.2.103 3728 From: Alice ;tag=1234567 3729 To: Bob ;tag=9214d 3730 Call-ID: 12345600@atlanta.example.com 3731 CSeq: 1 INVITE 3732 Content-Length: 0 3734 /* The proxy now forwards the call to B2 */ 3736 F7 INVITE Proxy -> B2 3738 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 3739 Via: SIP/2.0/TLS ss1.example.com:5061 3740 ;branch=z9hG4bK83749.2 3741 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3742 ;branch=z9hG4bK74bf9 3743 ;received=192.0.2.103 3744 Record-Route: 3745 Max-Forwards: 69 3746 From: Alice ;tag=1234567 3747 To: Bob 3748 Call-ID: 12345600@atlanta.example.com 3749 CSeq: 1 INVITE 3750 Contact: 3751 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3752 Content-Type: application/sdp 3753 Content-Length: ... 3755 v=0 3756 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3757 s= 3758 c=IN IP4 client.atlanta.example.com 3759 t=0 0 3760 m=audio 49170 RTP/AVP 0 3761 a=rtpmap:0 PCMU/8000 3763 F8 180 Ringing B2 -> Proxy 3764 SIP/2.0 180 Ringing 3765 Via: SIP/2.0/TLS ss1.example.com:5061 3766 ;branch=z9hG4bK83749.2 3767 ;received=192.0.2.54 3768 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3769 ;branch=z9hG4bK74bf9 3770 ;received=192.0.2.103 3771 Record-Route: 3772 From: Alice ;tag=1234567 3773 To: Bob ;tag=7654321 3774 Call-ID: 12345600@atlanta.example.com 3775 CSeq: 1 INVITE 3776 Contact: 3777 Content-Length: 0 3779 F9 180 Ringing Proxy -> Alice 3781 SIP/2.0 180 Ringing 3782 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3783 ;branch=z9hG4bK74bf9 3784 ;received=192.0.2.103 3785 Record-Route: 3786 From: Alice ;tag=1234567 3787 To: Bob ;tag=7654321 3788 Call-ID: 12345600@atlanta.example.com 3789 CSeq: 1 INVITE 3790 Contact: 3791 Content-Length: 0 3793 F10 200 OK B2 -> Proxy 3795 SIP/2.0 200 OK 3796 Via: SIP/2.0/TLS ss1.example.com:5061 3797 ;branch=z9hG4bK83749.2 3798 ;received=192.0.2.54 3799 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3800 ;branch=z9hG4bK74bf9 3801 ;received=192.0.2.103 3802 Record-Route: 3803 From: Alice ;tag=1234567 3804 To: Bob ;tag=7654321 3805 Call-ID: 12345600@atlanta.example.com 3806 CSeq: 1 INVITE 3807 Contact: 3808 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3809 Content-Type: application/sdp 3810 Content-Length: ... 3812 v=0 3813 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 3814 s= 3815 c=IN IP4 client2.biloxi.example.com 3816 t=0 0 3817 m=audio 3456 RTP/AVP 0 3818 a=rtpmap:0 PCMU/8000 3820 F11 200 OK Proxy -> Alice 3822 SIP/2.0 200 OK 3823 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3824 ;branch=z9hG4bK74bf9 3825 ;received=192.0.2.103 3826 Record-Route: 3827 From: Alice ;tag=1234567 3828 To: Bob ;tag=7654321 3829 Call-ID: 12345600@atlanta.example.com 3830 CSeq: 1 INVITE 3831 Contact: 3832 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3833 Content-Type: application/sdp 3834 Content-Length: ... 3836 v=0 3837 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 3838 s= 3839 c=IN IP4 client2.biloxi.example.com 3840 t=0 0 3841 m=audio 3456 RTP/AVP 0 3842 a=rtpmap:0 PCMU/8000 3844 F12 ACK Alice -> Proxy 3846 ACK sips:bob@client2.biloxi.example.com SIP/2.0 3847 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3848 ;branch=z9hG4bK74bfX 3849 Route: 3850 Max-Forwards: 70 3851 From: Alice ;tag=1234567 3852 To: Bob ;tag=7654321 3853 Call-ID: 12345600@atlanta.example.com 3854 CSeq: 1 ACK 3855 Content-Length: 0 3856 F13 ACK Proxy -> B2 3858 ACK sips:bob@client2.biloxi.example.com SIP/2.0 3859 Via: SIP/2.0/TLS ss1.example.com:5061 3860 ;branch=z9hG4bK83731 3861 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3862 ;branch=z9hG4bK74bfX 3863 ;received=192.0.2.103 3864 Max-Forwards: 69 3865 From: Alice ;tag=1234567 3866 To: Bob ;tag=7654321 3867 Call-ID: 12345600@atlanta.example.com 3868 CSeq: 1 ACK 3869 Content-Length: 0 3871 /* RTP streams are established between A and B2 */ 3873 /* Alice eventually hangs up with User B2. */ 3875 F14 BYE Alice -> Proxy 3877 BYE sips:bob@client2.biloxi.example.com SIP/2.0 3878 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3879 ;branch=z9hG4bK74bW4 3880 Route: 3881 Max-Forwards: 70 3882 From: Alice ;tag=1234567 3883 To: Bob ;tag=7654321 3884 Call-ID: 12345600@atlanta.example.com 3885 CSeq: 2 BYE 3886 Content-Length: 0 3888 F15 BYE Proxy -> B2 3890 BYE sips:bob@client2.biloxi.example.com SIP/2.0 3891 Via: SIP/2.0/TLS ss1.example.com:5061 3892 ;branch=z9hG4bK837493 3893 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3894 ;branch=z9hG4bK74bW4 3895 ;received=192.0.2.103 3896 Max-Forwards: 69 3897 From: Alice ;tag=1234567 3898 To: Bob ;tag=7654321 3899 Call-ID: 12345600@atlanta.example.com 3900 CSeq: 2 BYE 3901 Content-Length: 0 3902 F16 200 OK B2 -> Proxy 3904 SIP/2.0 200 OK 3905 Via: SIP/2.0/TLS ss1.example.com:5061 3906 ;branch=z9hG4bK837493 3907 ;received=192.0.2.54 3908 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3909 ;branch=z9hG4bK74bW4 3910 ;received=192.0.2.103 3911 From: Alice ;tag=1234567 3912 To: Bob ;tag=7654321 3913 Call-ID: 12345600@atlanta.example.com 3914 CSeq: 2 BYE 3915 Content-Length: 0 3917 F17 200 OK Proxy -> Alice 3919 SIP/2.0 200 OK 3920 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3921 ;branch=z9hG4bK74bW4 3922 ;received=192.0.2.103 3923 From: Alice ;tag=1234567 3924 To: Bob ;tag=7654321 3925 Call-ID: 12345600@atlanta.example.com 3926 CSeq: 2 BYE 3927 Content-Length: 0 3929 2.9. Call Forwarding - No Answer 3931 Alice Proxy User B1 User B2 3932 | | | | 3933 | INVITE F1 | | | 3934 |--------------->| INVITE F2 | | 3935 |(100 Trying) F3 |------------->| | 3936 |<---------------|180 Ringing F4| | 3937 | 180 Ringing F5 |<-------------| | 3938 |<---------------| | | 3939 | Request Timeout | 3940 | | | | 3941 | | CANCEL F6 | | 3942 | |------------->| | 3943 | | 200 OK F7 | | 3944 | |<-------------| | 3945 | | 487 F8 | | 3946 | |<-------------| | 3947 | | ACK F9 | | 3948 | |------------->| | 3949 |(181 Call is Being Forwarded) F10 | 3950 |<---------------| | INVITE F11 | 3951 | |--------------------------------->| 3952 | | | 180 Ringing F12 | 3953 | 180 Ringing F13|<---------------------------------| 3954 |<---------------| | 200 OK F14 | 3955 | |<---------------------------------| 3956 | 200 OK F15 | | | 3957 |<---------------| | | 3958 | ACK F16 | | | 3959 |--------------->| | ACK F17 | 3960 | |--------------------------------->| 3961 | Both way RTP Established | 3962 |<=================================================>| 3963 | BYE F18 | | | 3964 |--------------->| | BYE F19 | 3965 | |--------------------------------->| 3966 | | | 200 OK F20 | 3967 | 200 OK F21 |<---------------------------------| 3968 |<---------------| | | 3969 | | | | 3971 Bob wants calls to B1 forwarded to B2 if B1 is not answered 3972 (information is known to the proxy server). Alice calls B1 and no 3973 one answers. The proxy server then places the call to B2. 3975 Message Details 3976 F1 INVITE Alice -> Proxy 3978 INVITE sips:bob@biloxi.example.com SIP/2.0 3979 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3980 ;branch=z9hG4bK74bf9 3981 Max-Forwards: 70 3982 From: Alice ;tag=1234567 3983 To: Bob 3984 Call-ID: 12345600@atlanta.example.com 3985 CSeq: 1 INVITE 3986 Contact: 3987 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3988 Content-Type: application/sdp 3989 Content-Length: ... 3991 v=0 3992 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3993 s= 3994 c=IN IP4 client.atlanta.example.com 3995 t=0 0 3996 m=audio 49170 RTP/AVP 0 3997 a=rtpmap:0 PCMU/8000 3999 F2 INVITE Proxy -> B1 4001 INVITE sips:bob@client.biloxi.example.com SIP/2.0 4002 Via: SIP/2.0/TLS ss1.example.com:5061 4003 ;branch=z9hG4bK83749.1 4004 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4005 ;branch=z9hG4bK74bf9 4006 ;received=192.0.2.103 4007 Record-Route: 4008 Max-Forwards: 69 4009 From: Alice ;tag=1234567 4010 To: Bob 4011 Call-ID: 12345600@atlanta.example.com 4012 CSeq: 1 INVITE 4013 Contact: 4014 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4015 Content-Type: application/sdp 4016 Content-Length: ... 4018 v=0 4019 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4020 s= 4021 c=IN IP4 client.atlanta.example.com 4022 t=0 0 4023 m=audio 49170 RTP/AVP 0 4024 a=rtpmap:0 PCMU/8000 4026 F3 (100 Trying) Proxy -> Alice 4028 SIP/2.0 100 Trying 4029 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4030 ;branch=z9hG4bK74bf9 4031 ;received=192.0.2.103 4032 From: Alice ;tag=1234567 4033 To: Bob 4034 Call-ID: 12345600@atlanta.example.com 4035 CSeq: 1 INVITE 4036 Content-Length: 0 4038 F4 180 Ringing B1 -> Proxy 4040 SIP/2.0 180 Ringing 4041 Via: SIP/2.0/TLS ss1.example.com:5061 4042 ;branch=z9hG4bK83749.1 4043 ;received=192.0.2.54 4044 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4045 ;branch=z9hG4bK74bf9 4046 ;received=192.0.2.103 4047 Record-Route: 4048 From: Alice ;tag=1234567 4049 To: Bob ;tag=3145678 4050 Call-ID: 12345600@atlanta.example.com 4051 CSeq: 1 INVITE 4052 Contact: 4053 Content-Length: 0 4055 F5 180 Ringing Proxy -> Alice 4057 SIP/2.0 180 Ringing 4058 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4059 ;branch=z9hG4bK74bf9 4060 ;received=192.0.2.103 4061 Record-Route: 4062 From: Alice ;tag=1234567 4063 To: Bob ;tag=3145678 4064 Call-ID: 12345600@atlanta.example.com 4065 CSeq: 1 INVITE 4066 Contact: 4067 Content-Length: 0 4068 /* B1 rings until a configurable timer expires in the Proxy. The 4069 Proxy sends Cancel and proceeds down the list of routes. */ 4071 F6 CANCEL Proxy -> B1 4073 CANCEL sips:bob@client.biloxi.example.com SIP/2.0 4074 Via: SIP/2.0/TLS ss1.example.com:5061 4075 ;branch=z9hG4bK83749.1 4076 Max-Forwards: 70 4077 From: Alice ;tag=1234567 4078 To: Bob 4079 Call-ID: 12345600@atlanta.example.com 4080 CSeq: 1 CANCEL 4081 Content-Length: 0 4083 F7 200 OK B1 -> Proxy 4085 SIP/2.0 200 OK 4086 Via: SIP/2.0/TLS ss1.example.com:5061 4087 ;branch=z9hG4bK83749.1 4088 ;received=192.0.2.54 4089 From: Alice ;tag=1234567 4090 To: Bob ;tag=329d823 4091 Call-ID: 12345600@atlanta.example.com 4092 CSeq: 1 CANCEL 4093 Content-Length: 0 4095 F8 487 Request Terminated B1 -> Proxy 4097 SIP/2.0 487 Request Terminated 4098 Via: SIP/2.0/TLS ss1.example.com:5061 4099 ;branch=z9hG4bK83749.1 4100 ;received=192.0.2.54 4101 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4102 ;branch=z9hG4bK74bf9 4103 ;received=192.0.2.103 4104 From: Alice ;tag=1234567 4105 To: Bob ;tag=3145678 4106 Call-ID: 12345600@atlanta.example.com 4107 CSeq: 1 INVITE 4108 Content-Length: 0 4110 F9 ACK Proxy -> B1 4112 ACK sips:bob@client.biloxi.example.com SIP/2.0 4113 Via: SIP/2.0/TLS ss1.example.com:5061 4114 ;branch=z9hG4bK83749.1 4115 Max-Forwards: 70 4116 From: Alice ;tag=1234567 4117 To: Bob ;tag=3145678 4118 Call-ID: 12345600@atlanta.example.com 4119 CSeq: 1 ACK 4120 Content-Length: 0 4122 F10 (181 Call is Being Forwarded) Proxy -> Alice 4124 SIP/2.0 181 Call is Being Forwarded 4125 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4126 ;branch=z9hG4bK74bf9 4127 ;received=192.0.2.103 4128 From: Alice ;tag=1234567 4129 To: Bob ;tag=9214d 4130 Call-ID: 12345600@atlanta.example.com 4131 CSeq: 1 INVITE 4132 Content-Length: 0 4134 F11 INVITE Proxy -> B2 4136 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 4137 Via: SIP/2.0/TLS ss1.example.com:5061 4138 ;branch=z9hG4bK83749.2 4139 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4140 ;branch=z9hG4bK74bf9 4141 ;received=192.0.2.103 4142 Record-Route: 4143 Max-Forwards: 69 4144 From: Alice ;tag=1234567 4145 To: Bob 4146 Call-ID: 12345600@atlanta.example.com 4147 CSeq: 1 INVITE 4148 Contact: 4149 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4150 Content-Type: application/sdp 4151 Content-Length: ... 4153 v=0 4154 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4155 s= 4156 c=IN IP4 client.atlanta.example.com 4157 t=0 0 4158 m=audio 49170 RTP/AVP 0 4159 a=rtpmap:0 PCMU/8000 4161 F12 180 Ringing B2 -> Proxy 4163 SIP/2.0 180 Ringing 4164 Via: SIP/2.0/TLS ss1.example.com:5061 4165 ;branch=z9hG4bK83749.2 4166 ;received=192.0.2.54 4167 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4168 ;branch=z9hG4bK74bf9 4169 ;received=192.0.2.103 4170 Record-Route: 4171 From: Alice ;tag=1234567 4172 To: Bob ;tag=765432 4173 Call-ID: 12345600@atlanta.example.com 4174 CSeq: 1 INVITE 4175 Contact: 4176 Content-Length: 0 4178 F13 180 Proxy -> Alice 4180 SIP/2.0 180 Ringing 4181 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4182 ;branch=z9hG4bK74bf9 4183 ;received=192.0.2.103 4184 Record-Route: 4185 From: Alice ;tag=1234567 4186 To: Bob ;tag=765432 4187 Call-ID: 12345600@atlanta.example.com 4188 CSeq: 1 INVITE 4189 Contact: 4190 Content-Length: 0 4192 F14 200 OK B2 -> Proxy 4194 SIP/2.0 200 OK 4195 Via: SIP/2.0/TLS ss1.example.com:5061 4196 ;branch=z9hG4bK83749.2 4197 ;received=192.0.2.54 4198 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4199 ;branch=z9hG4bK74bf9 4200 ;received=192.0.2.103 4201 Record-Route: 4202 From: Alice ;tag=1234567 4203 To: Bob ;tag=765432 4204 Call-ID: 12345600@atlanta.example.com 4205 CSeq: 1 INVITE 4206 Contact: 4207 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4208 Content-Type: application/sdp 4209 Content-Length: ... 4211 v=0 4212 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 4213 s= 4214 c=IN IP4 client2.biloxi.example.com 4215 t=0 0 4216 m=audio 3456 RTP/AVP 0 4217 a=rtpmap:0 PCMU/8000 4219 F15 200 OK Proxy -> Alice 4221 SIP/2.0 200 OK 4222 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4223 ;branch=z9hG4bK74bf9 4224 ;received=192.0.2.103 4225 Record-Route: 4226 From: Alice ;tag=1234567 4227 To: Bob ;tag=765432 4228 Call-ID: 12345600@atlanta.example.com 4229 CSeq: 1 INVITE 4230 Contact: 4231 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4232 Content-Type: application/sdp 4233 Content-Length: ... 4235 v=0 4236 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 4237 s= 4238 c=IN IP4 client2.biloxi.example.com 4239 t=0 0 4240 m=audio 3456 RTP/AVP 0 4241 a=rtpmap:0 PCMU/8000 4243 F16 ACK Alice -> Proxy 4245 ACK sips:bob@client2.biloxi.example.com SIP/2.0 4246 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4247 ;branch=z9hG4bK74bf3 4248 Route: 4249 Max-Forwards: 70 4250 From: Alice ;tag=1234567 4251 To: Bob ;tag=765432 4252 Call-ID: 12345600@atlanta.example.com 4253 CSeq: 1 ACK 4254 Content-Length: 0 4256 F17 ACK Proxy -> B2 4258 ACK sips:bob@client2.biloxi.example.com SIP/2.0 4259 Via: SIP/2.0/TLS ss1.example.com:5061 4260 ;branch=z9hG4bK8374.1 4261 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4262 ;branch=z9hG4bK74bf3 4263 ;received=192.0.2.103 4264 Max-Forwards: 69 4265 From: Alice ;tag=1234567 4266 To: Bob ;tag=765432 4267 Call-ID: 12345600@atlanta.example.com 4268 CSeq: 1 ACK 4269 Content-Length: 0 4271 /* RTP streams are established between A and B2. 4272 Alice Hangs Up with User B2. */ 4274 F18 BYE Alice -> Proxy 4276 BYE sips:bob@client2.biloxi.example.com SIP/2.0 4277 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4278 ;branch=z9hG4bK74b3f 4279 Route: 4280 Max-Forwards: 70 4281 From: Alice ;tag=1234567 4282 To: Bob ;tag=765432 4283 Call-ID: 12345600@atlanta.example.com 4284 CSeq: 2 BYE 4285 Content-Length: 0 4287 F19 BYE Proxy -> B2 4289 BYE sips:bob@client2.biloxi.example.com SIP/2.0 4290 Via: SIP/2.0/TLS ss1.example.com:5061 4291 ;branch=z9hG4bK837.1 4292 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4293 ;branch=z9hG4bK74b3f 4294 ;received=192.0.2.103 4296 Max-Forwards: 69 4297 From: Alice ;tag=1234567 4298 To: Bob ;tag=765432 4299 Call-ID: 12345600@atlanta.example.com 4300 CSeq: 2 BYE 4301 Content-Length: 0 4303 F20 200 OK B2 -> Proxy 4305 SIP/2.0 200 OK 4306 Via: SIP/2.0/TLS ss1.example.com:5061 4307 ;branch=z9hG4bK837.1 4308 ;received=192.0.2.54 4309 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4310 ;branch=z9hG4bK74b3f 4311 ;received=192.0.2.103 4312 From: Alice ;tag=1234567 4313 To: Bob ;tag=765432 4314 Call-ID: 12345600@atlanta.example.com 4315 CSeq: 2 BYE 4316 Content-Length: 0 4318 F21 200 OK Proxy -> Alice 4320 SIP/2.0 200 OK 4321 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4322 ;branch=z9hG4bK74b3f 4323 ;received=192.0.2.103 4324 From: Alice ;tag=1234567 4325 To: Bob ;tag=765432 4326 Call-ID: 12345600@atlanta.example.com 4327 CSeq: 2 BYE 4328 Content-Length: 0 4330 2.10. 3-way Conference - Third Party is Added 4332 Alice Bob Carol 4333 | INVITE F1 | | 4334 |--------------->| | 4335 | 180 Ringing F2 | | 4336 |<---------------| | 4337 | 200 OK F3 | | 4338 |<---------------| | 4339 | ACK F4 | | 4340 |--------------->| | 4341 | RTP | | 4342 |<==============>| | 4343 | INVITE F5 | | 4344 |<---------------| | 4345 | 200 OK F6 | | 4346 |--------------->| | 4347 | ACK F7 | | 4348 |<---------------| INVITE F8 | 4349 | |------------->| 4350 | | 180 F9 | 4351 | |<-------------| 4352 | | 200 OK F10 | 4353 | |<-------------| 4354 | | ACK F11 | 4355 | |------------->| 4356 | | RTP | 4357 | |<============>| 4359 In this scenario, Alice and Bob are in a 2-party call (session) when 4360 Bob wishes to add Carol into the conversation. Bob is capable of 4361 media mixing in a 3-party call. Bob first sends a re-INVITE to Alice 4362 changing Contact URIs to one that indicates Bob's mixer and acts like 4363 a focus. As a result, Bob includes the "isfocus" feature tag 4364 [RFC3840] as described in [RFC4579]. Bob then INVITEs Carol using 4365 the same Contact URI. Note that Bob could wait to re-INVITE Alice 4366 until after Carol has answered. Bob could also put Alice on hold 4367 before calling Carol 4369 Message Details 4371 F1 INVITE Alice -> Bob 4373 INVITE sips:bob@biloxi.example.com SIP/2.0 4374 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4375 ;branch=z9hG4bK74bf9 4377 Max-Forwards: 70 4378 From: Alice ;tag=1234567 4379 To: Bob 4380 Call-ID: 12345600@atlanta.example.com 4381 CSeq: 1 INVITE 4382 Contact: 4383 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4384 Supported: replaces 4385 Content-Type: application/sdp 4386 Content-Length: ... 4388 v=0 4389 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4390 s= 4391 c=IN IP4 client.atlanta.example.com 4392 t=0 0 4393 m=audio 49170 RTP/AVP 0 4394 a=rtpmap:0 PCMU/8000 4396 F2 180 Ringing Bob -> Alice 4398 SIP/2.0 180 Ringing 4399 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4400 ;branch=z9hG4bK74bf9 4401 ;received=192.0.2.103 4402 From: Alice ;tag=1234567 4403 To: Bob ;tag=23431 4404 Call-ID: 12345600@atlanta.example.com 4405 CSeq: 1 INVITE 4406 Contact: 4407 Content-Length: 0 4409 F3 200 OK Bob -> Alice 4411 SIP/2.0 200 OK 4413 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4414 ;branch=z9hG4bK74bf9 4415 ;received=192.0.2.103 4416 From: Alice ;tag=1234567 4417 To: Bob ;tag=23431 4418 Call-ID: 12345600@atlanta.example.com 4419 CSeq: 1 INVITE 4420 Contact: 4421 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4422 Supported: replaces, gruu 4423 Content-Type: application/sdp 4424 Content-Length: ... 4426 v=0 4427 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 4428 s= 4429 c=IN IP4 client.biloxi.example.com 4430 t=0 0 4431 m=audio 3456 RTP/AVP 0 4432 a=rtpmap:0 PCMU/8000 4434 F4 ACK Alice -> Bob 4436 ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 4437 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4438 ;branch=z9hG4bK74bfL 4439 Max-Forwards: 70 4440 From: Alice ;tag=1234567 4441 To: Bob ;tag=23431 4442 Call-ID: 12345600@atlanta.example.com 4443 CSeq: 1 ACK 4444 Content-Length: 0 4446 /* Alice and Bob have established a session. 4447 Bob re-INVITEs changing Contact URIs */ 4449 F5 INVITE Bob -> Alice 4451 INVITE sips:alice@client.atlanta.example.com SIP/2.0 4452 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4453 ;branch=z9hG4bKnashds 4454 Max-Forwards: 70 4455 From: Bob ;tag=23431 4456 To: Alice ;tag=1234567 4457 Call-ID: 12345600@atlanta.example.com 4458 CSeq: 1024 INVITE 4459 Contact: ;isfocus 4460 Content-Type: application/sdp 4461 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4462 Supported: replaces, gruu 4463 Content-Length: ... 4465 v=0 4466 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 4467 s= 4468 c=IN IP4 client.biloxi.example.com 4469 t=0 0 4470 m=audio 49172 RTP/AVP 0 4471 a=rtpmap:0 PCMU/8000 4473 F6 200 OK Alice -> Bob 4475 SIP/2.0 200 OK 4477 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4478 ;branch=z9hG4bKnashds7 4479 ;received=192.0.2.113 4480 From: Bob ;tag=23431 4481 To: Alice ;tag=1234567 4482 Call-ID: 12345600@atlanta.example.com 4483 CSeq: 1024 INVITE 4484 Contact: 4485 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4486 Supported: replaces 4487 Content-Type: application/sdp 4488 Content-Length: ... 4490 v=0 4491 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4492 s= 4493 c=IN IP4 client.atlanta.example.com 4494 t=0 0 4495 m=audio 49170 RTP/AVP 0 4496 a=rtpmap:0 PCMU/8000 4498 F7 ACK Bob -> Alice 4500 ACK sips:alice@client.atlanta.example.com SIP/2.0 4501 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4502 ;branch=z9hG4bKnash3G 4503 Max-Forwards: 70 4504 From: Bob ;tag=23431 4505 To: Alice ;tag=1234567 4506 Call-ID: 12345600@atlanta.example.com 4507 CSeq: 1024 ACK 4508 Content-Length: 0 4510 /* Bob calls Carol */ 4512 F8 INVITE Bob -> Carol 4513 INVITE sips:carol@chicago.example.com SIP/2.0 4514 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4515 ;branch=z9hG4bKnashJfd 4516 Max-Forwards: 70 4517 From: Bob ;tag=8675309 4518 To: Carol 4519 Call-ID: sdjfdjfskdf@biloxi.example.com 4520 CSeq: 42 INVITE 4521 Contact: ;isfocus 4522 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4523 Supported: replaces, gruu 4524 Content-Type: application/sdp 4525 Content-Length: ... 4527 v=0 4528 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 4529 s= 4530 c=IN IP4 client.biloxi.example.com 4531 t=0 0 4532 m=audio 48174 RTP/AVP 0 4533 a=rtpmap:0 PCMU/8000 4535 F9 180 Ringing Carol -> Bob 4537 SIP/2.0 200 OK 4538 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4539 ;branch=z9hG4bKnashJfd 4540 ;received=192.0.2.113 4541 From: Bob ;tag=8675309 4542 To: Carol ;tag=341313 4543 Call-ID: sdjfdjfskdf@biloxi.example.com 4544 CSeq: 42 INVITE 4545 Contact: 4546 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4547 Supported: replaces 4548 Content-Length: 0 4550 F10 200 OK Carol -> Bob 4552 SIP/2.0 200 OK 4553 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4554 ;branch=z9hG4bKnashJfd 4555 ;received=192.0.2.113 4556 From: Bob ;tag=8675309 4557 To: Carol ;tag=341313 4558 Call-ID: sdjfdjfskdf@biloxi.example.com 4559 CSeq: 42 INVITE 4560 Contact: 4561 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4562 Supported: replaces 4563 Content-Type: application/sdp 4564 Content-Length: ... 4566 v=0 4567 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 4568 s= 4569 c=IN IP4 client.chicago.example.com 4570 t=0 0 4571 m=audio 3456 RTP/AVP 0 4572 a=rtpmap:0 PCMU/8000 4574 F11 ACK Bob -> Carol 4576 ACK sips:carol@client.chicago.example.com SIP/2.0 4577 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4578 ;branch=z9hG4bKnash431 4579 Max-Forwards: 70 4580 From: Bob ;tag=8675309 4581 To: Carol ;tag=341313 4582 Call-ID: sdjfdjfskdf@biloxi.example.com 4583 CSeq: 42 ACK 4584 Content-Length: 0 4586 /* User B's mixer know mixes media from both A and C 4587 to create the 3-way conference. */ 4589 2.11. 3-way Conference - Third Party Joins 4591 Alice Bob Carol 4592 | INVITE F1 | | 4593 |--------------->| | 4594 | 180 Ringing F2 | | 4595 |<---------------| | 4596 | 200 OK F3 | | 4597 |<---------------| | 4598 | ACK F4 | | 4599 |--------------->| | 4600 | RTP | | 4601 |<==============>| INVITE Join:A-B F5 4602 | |<-------------| 4603 | | 180 F6 | 4604 | |------------->| 4605 | INVITE F7 | | 4606 |<---------------| | 4607 | 200 OK F8 | | 4608 |--------------->| | 4609 | ACK F9 | | 4610 |<---------------| | 4611 | | 200 OK F10 | 4612 | |------------->| 4613 | | ACK F11 | 4614 | |<-------------| 4615 | | RTP | 4616 | |<============>| 4618 In this scenario, Alice and Bob are in a 2 party call and Carol 4619 wishes to join resulting in a three party call. Carol could have 4620 learned Bob's dialog identifier using some non-SIP means, or possibly 4621 from a NOTIFY with the dialog package sent by Bob. Carol sends an 4622 INVITE to Bob containing a Join header identifying the dialog between 4623 Alice and Bob. Bob re-INVITEs Alice to switch to focus mode and 4624 includes the "isfocus" feature tag [RFC3840] as described in 4625 [RFC4579]. Bob then accepts the INVITE from Carol, resulting in the 4626 3-way call. 4628 Message Details 4630 F1 INVITE Alice -> Bob 4632 INVITE sips:bob@biloxi.example.com SIP/2.0 4633 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4634 ;branch=z9hG4bK74bf9 4635 Max-Forwards: 70 4636 From: Alice ;tag=1234567 4637 To: Bob 4638 Call-ID: 12345600@atlanta.example.com 4639 CSeq: 1 INVITE 4640 Contact: 4641 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4642 Supported: replaces 4643 Content-Type: application/sdp 4644 Content-Length: ... 4646 v=0 4647 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4648 s= 4649 c=IN IP4 client.atlanta.example.com 4650 t=0 0 4651 m=audio 49170 RTP/AVP 0 4652 a=rtpmap:0 PCMU/8000 4654 F2 180 Ringing Bob -> Alice 4656 SIP/2.0 180 Ringing 4657 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4658 ;branch=z9hG4bK74bf9 4659 ;received=192.0.2.103 4660 From: Alice ;tag=1234567 4661 To: Bob ;tag=23431 4662 Call-ID: 12345600@atlanta.example.com 4663 CSeq: 1 INVITE 4664 Contact: 4665 Content-Length: 0 4667 F3 200 OK Bob -> Alice 4669 SIP/2.0 200 OK 4670 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4671 ;branch=z9hG4bK74bf9 4672 ;received=192.0.2.103 4673 From: Alice ;tag=1234567 4674 To: Bob ;tag=23431 4675 Call-ID: 12345600@atlanta.example.com 4676 CSeq: 1 INVITE 4677 Contact: 4678 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4679 Supported: replaces, join, gruu 4680 Content-Type: application/sdp 4681 Content-Length: ... 4683 v=0 4684 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 4685 s= 4686 c=IN IP4 client.biloxi.example.com 4687 t=0 0 4688 m=audio 3456 RTP/AVP 0 4689 a=rtpmap:0 PCMU/8000 4691 F4 ACK Alice -> Bob 4693 ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 4694 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4695 ;branch=z9hG4bK74bf6 4696 Max-Forwards: 70 4697 From: Alice ;tag=1234567 4698 To: Bob ;tag=23431 4699 Call-ID: 12345600@atlanta.example.com 4700 CSeq: 1 ACK 4701 Content-Length: 0 4703 /* Alice and Bob have established a session. 4704 Carol requests to join the session */ 4706 F5 INVITE Carol -> Bob 4708 INVITE sips:bob@biloxi.example.com SIP/2.0 4709 Via: SIP/2.0/TLS chicago.example.com:5061 4710 ;branch=z9hG4bKnashds7 4711 Max-Forwards: 70 4712 From: Carol ;tag=8675309 4713 To: Bob 4714 Call-ID: 452k499sk@chicago.example.com 4715 CSeq: 99 INVITE 4716 Contact: 4717 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4718 Supported: replaces, join 4719 Join: 12345600@atlanta.example.com;from-tag=1234567;to-tag=23431 4720 Content-Type: application/sdp 4721 Content-Length: ... 4723 v=0 4724 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 4725 s= 4726 c=IN IP4 client.chicago.example.com 4727 t=0 0 4728 m=audio 3456 RTP/AVP 0 4729 a=rtpmap:0 PCMU/8000 4731 F6 180 Ringing Bob -> Carol 4733 SIP/2.0 180 Ringing 4734 Via: SIP/2.0/TLS chicago.example.com:5061 4735 ;branch=z9hG4bKnashds7 4736 ;received=120. 4737 From: Carol ;tag=8675309 4738 To: Bob ;tag=0982 4739 Call-ID: 452k499sk@chicago.example.com 4740 CSeq: 99 INVITE 4741 Contact: ;isfocus 4742 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4743 Supported: replaces 4744 Content-Length: 0 4746 F7 INVITE Bob -> Alice 4748 INVITE sips:alice@client.atlanta.example.com SIP/2.0 4749 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4750 ;branch=z9hG4bKnashdyKL 4751 Max-Forwards: 70 4752 From: Bob ;tag=23431 4753 To: Alice ;tag=1234567 4754 Call-ID: 12345600@atlanta.example.com 4755 CSeq: 1024 INVITE 4756 Contact: ;isfocus 4757 Content-Type: application/sdp 4758 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4759 Supported: replaces, join, gruu 4760 Content-Length: ... 4762 v=0 4763 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 4764 s= 4765 c=IN IP4 client.biloxi.example.com 4766 t=0 0 4767 m=audio 49172 RTP/AVP 0 4768 a=rtpmap:0 PCMU/8000 4770 F8 200 OK Alice -> Bob 4771 SIP/2.0 200 OK 4772 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4773 ;branch=z9hG4bKnashdyKL 4774 ;received=192.0.2.113 4775 From: Bob ;tag=23431 4776 To: Alice ;tag=1234567 4777 Call-ID: 12345600@atlanta.example.com 4778 CSeq: 1024 INVITE 4779 Contact: 4780 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4781 Supported: replaces 4782 Content-Type: application/sdp 4783 Content-Length: ... 4785 v=0 4786 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4787 s= 4788 c=IN IP4 client.atlanta.example.com 4789 t=0 0 4790 m=audio 49170 RTP/AVP 0 4791 a=rtpmap:0 PCMU/8000 4793 F9 ACK Bob -> Alice 4795 ACK sips:alice@client.atlanta.example.com SIP/2.0 4796 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4797 ;branch=z9hG4bKnash3g 4798 Max-Forwards: 70 4799 From: Bob ;tag=23431 4800 To: Alice ;tag=1234567 4801 Call-ID: 12345600@atlanta.example.com 4802 CSeq: 1024 ACK 4803 Content-Length: 0 4805 F10 200 OK Bob -> Carol 4807 SIP/2.0 200 OK 4808 Via: SIP/2.0/TLS chicago.example.com:5061 4809 ;branch=z9hG4bKnashds7 4810 ;received=120. 4811 From: Carol ;tag=8675309 4812 To: Bob ;tag=0982 4813 Call-ID: 452k499sk@chicago.example.com 4814 CSeq: 99 INVITE 4815 Contact: ;isfocus 4816 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4817 Supported: replaces, join, gruu 4818 Content-Type: application/sdp 4819 Content-Length: ... 4821 v=0 4822 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 4823 s= 4824 c=IN IP4 client.biloxi.example.com 4825 t=0 0 4826 m=audio 48174 RTP/AVP 0 4827 a=rtpmap:0 PCMU/8000 4829 F11 ACK OK Carol -> Bob 4831 ACK sips:bob-Mixer@client.biloxi.example.com SIP/2.0 4832 Via: SIP/2.0/TLS chicago.example.com:5061 4833 ;branch=z9hG4bKnash4Gf 4834 Max-Forwards: 70 4835 From: Carol ;tag=8675309 4836 To: Bob ;tag=0982 4837 Call-ID: 452k499sk@chicago.example.com 4838 CSeq: 99 ACK 4839 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4840 Supported: replaces, join 4841 Content-Length:0 4843 2.12. Find-Me 4845 Alice Proxy User User User User 4846 B1 B2 B3 B4 4847 | | | | | | 4848 | INVITE F1 | | | | | 4849 |--------------->| INVITE F2 | | | | 4850 | |------------->| | | | 4851 |(100 Trying) F3 | | | | | 4852 |<---------------|180 Ringing F4| | | | 4853 | |<-------------| | | | 4854 | 180 Ringing F5 | | | | | 4855 |<---------------| | | | | 4856 | | Timeout | | | | 4857 | | | | | | 4858 | | CANCEL F6 | | | | 4859 | |------------->| | | | 4860 | | 200 OK F7 | | | | 4861 | |<-------------| | | | 4862 | | 487 F8 | | | | 4863 | |<-------------| | | | 4864 | | ACK F9 | | | | 4865 | |------------->| | | | 4866 | | INVITE F10 | | | 4867 | |-------------------->| | | 4868 | |480 Not Logged In F11| | | 4869 | |<--------------------| | | 4870 | | ACK F12| | | 4871 | |-------------------->| | | 4872 | | INVITE F13 | | 4873 | |--------------------------->| | 4874 | | 486 Busy Here F14 | | 4875 | |<---------------------------| | 4876 | | ACK F15 | | 4877 | |--------------------------->| | 4878 | | INVITE F16 | 4879 | |---------------------------------->| 4880 | | 180 Ringing F17 | 4881 | 180 F18 |<----------------------------------| 4882 |<---------------| 200 OK F19 | 4883 | 200 OK F20 |<----------------------------------| 4884 |<---------------| | 4885 | ACK F21 | | 4886 |--------------->| ACK F22 | 4887 | |---------------------------------->| 4888 | Both way RTP Established | 4889 |<==================================================>| 4890 | | BYE F23 | 4891 | BYE F24 |<----------------------------------| 4892 |<---------------| | 4893 | 200 OK F25 | | 4894 |--------------->| 200 OK F26 | 4895 | |---------------------------------->| 4896 | | | 4898 Alice's call to Bob will result in an attempt to locate that user by 4899 calling locations from a list of contacts. The location to answer 4900 the call becomes the active set, no other sets may join the call. 4902 While this flow shows a sequential search, the search could be 4903 accomplished using parallel forking, as in the previous example. 4905 Message Details 4907 F1 INVITE Alice -> Proxy 4908 INVITE sips:bob@biloxi.example.com SIP/2.0 4909 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4910 ;branch=z9hG4bK74bf9 4911 Max-Forwards: 70 4912 From: Alice ;tag=1234567 4913 To: Bob 4914 Call-ID: 12345600@atlanta.example.com 4915 CSeq: 1 INVITE 4916 Contact: 4917 Content-Type: application/sdp 4918 Content-Length: ... 4920 v=0 4921 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4922 s= 4923 c=IN IP4 client.atlanta.example.com 4924 t= 0 0 4925 m=audio 49170 RTP/AVP 0 4926 a=rtpmap:0 PCMU/8000 4928 F2 INVITE Proxy -> B1 4930 INVITE sips:bob@client.biloxi.example.com SIP/2.0 4931 Via: SIP/2.0/TLS ss1.example.com:5061 4932 ;branch=z9hG4bK83749.1 4933 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4934 ;branch=z9hG4bK74bf9 4935 ;received=192.0.2.103 4936 Record-Route: 4937 Max-Forwards: 69 4938 From: Alice ;tag=1234567 4939 To: Bob 4940 Call-ID: 12345600@atlanta.example.com 4941 CSeq: 1 INVITE 4942 Contact: 4943 Content-Type: application/sdp 4944 Content-Length: ... 4946 v=0 4947 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4948 s= 4949 c=IN IP4 client.atlanta.example.com 4950 t= 0 0 4951 m=audio 49170 RTP/AVP 0 4952 a=rtpmap:0 PCMU/8000 4953 F3 (100 Trying) Proxy -> Alice 4955 SIP/2.0 100 Trying 4956 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4957 ;branch=z9hG4bK74bf9 4958 ;received=192.0.2.103 4959 From: Alice ;tag=1234567 4960 To: Bob 4961 Call-ID: 12345600@atlanta.example.com 4962 CSeq: 1 INVITE 4963 Content-Length: 0 4965 F4 180 Ringing B1 -> Proxy 4967 SIP/2.0 180 Ringing 4968 Via: SIP/2.0/TLS ss1.example.com:5061 4969 ;branch=z9hG4bK83749.1 4970 ;received=192.0.2.54 4971 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4972 ;branch=z9hG4bK74bf9 4973 ;received=192.0.2.103 4974 Record-Route: 4975 From: Alice ;tag=1234567 4976 To: Bob ;tag=765432 4977 Call-ID: 12345600@atlanta.example.com 4978 CSeq: 1 INVITE 4979 Contact: 4980 Content-Length: 0 4982 F5 180 Ringing Proxy -> Alice 4984 SIP/2.0 180 Ringing 4985 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4986 ;branch=z9hG4bK74bf9 4987 ;received=192.0.2.103 4988 Record-Route: 4989 From: Alice ;tag=1234567 4990 To: Bob ;tag=765432 4991 Call-ID: 12345600@atlanta.example.com 4992 CSeq: 1 INVITE 4993 Contact: 4994 Content-Length: 0 4996 /* B1 rings until a configurable timer in the Proxy 4997 expires. The Proxy then sends Cancel and proceeds down 4998 the list of routes. */ 5000 F6 CANCEL Proxy -> B1 5002 CANCEL sips:bob@client.biloxi.example.com SIP/2.0 5003 Via: SIP/2.0/TLS ss1.example.com:5061 5004 ;branch=z9hG4bK83749.1 5005 Max-Forwards: 70 5006 From: Alice ;tag=1234567 5007 To: Bob 5008 Call-ID: 12345600@atlanta.example.com 5009 CSeq: 1 CANCEL 5010 Content-Length: 0 5012 F7 200 OK B1 -> Proxy 5014 SIP/2.0 200 OK 5015 Via: SIP/2.0/TLS ss1.example.com:5061 5016 ;branch=z9hG4bK83749.1 5017 ;received=192.0.2.54 5018 From: Alice ;tag=1234567 5019 To: Bob ;tag=765432 5020 Call-ID: 12345600@atlanta.example.com 5021 CSeq: 1 CANCEL 5022 Content-Length: 0 5024 F8 487 Request Terminated B1 -> Proxy 5026 SIP/2.0 487 Request Terminated 5027 Via: SIP/2.0/TLS ss1.example.com:5061 5028 ;branch=z9hG4bK83749.1 5029 ;received=192.0.2.54 5030 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5031 ;branch=z9hG4bK74bf9 5032 ;received=192.0.2.103 5033 From: Alice ;tag=1234567 5034 To: Bob ;tag=765432 5035 Call-ID: 12345600@atlanta.example.com 5036 CSeq: 1 INVITE 5037 Content-Length: 0 5039 F9 ACK Proxy -> B1 5041 ACK sips:bob@client.biloxi.example.com SIP/2.0 5042 Via: SIP/2.0/TLS ss1.example.com:5061 5043 ;branch=z9hG4bK83749.1 5044 Max-Forwards: 70 5045 From: Alice ;tag=1234567 5046 To: Bob ;tag=765432 5047 Call-ID: 12345600@atlanta.example.com 5048 CSeq: 1 ACK 5049 Content-Length: 0 5051 F10 INVITE Proxy -> B2 5053 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 5054 Via: SIP/2.0/TLS ss1.example.com:5061 5055 ;branch=z9hG4bK83749.2 5056 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5057 ;branch=z9hG4bK74bf9 5058 ;received=192.0.2.103 5059 Record-Route: 5060 Max-Forwards: 69 5061 From: Alice ;tag=1234567 5062 To: Bob 5063 Call-ID: 12345600@atlanta.example.com 5064 CSeq: 1 INVITE 5065 Contact: 5066 Content-Type: application/sdp 5067 Content-Length: ... 5069 v=0 5070 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5071 s= 5072 c=IN IP4 client.atlanta.example.com 5073 t=0 0 5074 m=audio 49170 RTP/AVP 0 5075 a=rtpmap:0 PCMU/8000 5077 F11 480 Not Logged In B2 -> Proxy 5079 SIP/2.0 480 Not Logged In 5080 Via: SIP/2.0/TLS ss1.example.com:5061 5081 ;branch=z9hG4bK83749.2 5082 ;received=192.0.2.54 5083 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5084 ;branch=z9hG4bK74bf9 5085 ;received=192.0.2.103 5086 From: Alice ;tag=1234567 5087 To: Bob ;tag=314756 5088 Call-ID: 12345600@atlanta.example.com 5089 CSeq: 1 INVITE 5090 Content-Length: 0 5092 F12 ACK Proxy -> B2 5094 ACK sips:bob@client2.biloxi.example.com SIP/2.0 5095 Via: SIP/2.0/TLS ss1.example.com:5061 5096 ;branch=z9hG4bK83749.2 5097 Max-Forwards: 70 5098 From: Alice ;tag=1234567 5099 To: Bob ;tag=314756 5100 Call-ID: 12345600@atlanta.example.com 5101 CSeq: 1 ACK 5102 Content-Length: 0 5104 F13 INVITE Proxy -> B3 5106 INVITE sips:bob@client3.biloxi.example.com SIP/2.0 5107 Via: SIP/2.0/TLS ss1.example.com:5061 5108 ;branch=z9hG4bK83749.3 5109 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5110 ;branch=z9hG4bK74bf9 5111 ;received=192.0.2.103 5112 Record-Route: 5113 Max-Forwards: 69 5114 From: Alice ;tag=1234567 5115 To: Bob 5116 Call-ID: 12345600@atlanta.example.com 5117 CSeq: 1 INVITE 5118 Contact: 5119 Content-Type: application/sdp 5120 Content-Length: ... 5122 v=0 5123 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5124 s= 5125 c=IN IP4 client.atlanta.example.com 5126 t=0 0 5127 m=audio 49170 RTP/AVP 0 5128 a=rtpmap:0 PCMU/8000 5130 F14 486 Busy Here B3 -> Proxy 5132 SIP/2.0 486 Busy Here 5133 Via: SIP/2.0/TLS ss1.example.com:5061 5134 ;branch=z9hG4bK83749.3 5135 ;received=192.0.2.54 5136 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5137 ;branch=z9hG4bK74bf9 5138 ;received=192.0.2.103 5139 From: Alice ;tag=1234567 5140 To: Bob ;tag=7654321 5141 Call-ID: 12345600@atlanta.example.com 5142 CSeq: 1 INVITE 5143 Content-Length: 0 5145 F15 ACK Proxy -> B3 5147 ACK sips:bob@client3.biloxi.example.com SIP/2.0 5148 Via: SIP/2.0/TLS ss1.example.com:5061 5149 ;branch=z9hG4bK83749.3 5150 Max-Forwards: 70 5151 From: Alice ;tag=1234567 5152 To: Bob ;tag=7654321 5153 Call-ID: 12345600@atlanta.example.com 5154 CSeq: 1 ACK 5155 Content-Length: 0 5157 F16 INVITE Proxy -> B4 5159 INVITE sips:bob@client4.biloxi.example.com SIP/2.0 5160 Via: SIP/2.0/TLS ss1.example.com:5061 5161 ;branch=z9hG4bK83749.4 5162 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5163 ;branch=z9hG4bK74bf9 5164 ;received=192.0.2.103 5165 Record-Route: 5166 Max-Forwards: 69 5167 From: Alice ;tag=1234567 5168 To: Bob 5169 Call-ID: 12345600@atlanta.example.com 5170 CSeq: 1 INVITE 5171 Contact: 5172 Content-Type: application/sdp 5173 Content-Length: ... 5175 v=0 5176 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5177 s= 5178 c=IN IP4 client.atlanta.example.com 5179 t=0 0 5180 m=audio 49170 RTP/AVP 0 5181 a=rtpmap:0 PCMU/8000 5183 F17 180 Ringing B4 -> Proxy 5185 SIP/2.0 180 Ringing 5186 Via: SIP/2.0/TLS ss1.example.com:5061 5187 ;branch=z9hG4bK83749.4 5188 ;received=192.0.2.54 5189 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5190 ;branch=z9hG4bK74bf9 5191 ;received=192.0.2.103 5192 Record-Route: 5193 From: Alice ;tag=1234567 5194 To: Bob ;tag=7137136 5195 Call-ID: 12345600@atlanta.example.com 5196 CSeq: 1 INVITE 5197 Contact: 5198 Content-Length: 0 5200 F18 180 Ringing Proxy -> Alice 5202 SIP/2.0 180 Ringing 5203 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5204 ;branch=z9hG4bK74bf9 5205 ;received=192.0.2.103 5206 Record-Route: 5207 From: Alice ;tag=1234567 5208 To: Bob ;tag=7137136 5209 Call-ID: 12345600@atlanta.example.com 5210 CSeq: 1 INVITE 5211 Contact: 5212 Content-Length: 0 5214 F19 200 OK B4 -> Proxy 5216 SIP/2.0 200 OK 5217 Via: SIP/2.0/TLS ss1.example.com:5061 5218 ;branch=z9hG4bK83749.4 5219 ;received=192.0.2.54 5220 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5221 ;branch=z9hG4bK74bf9 5222 ;received=192.0.2.103 5223 Record-Route: 5224 From: Alice ;tag=1234567 5225 To: Bob ;tag=7137136 5226 Call-ID: 12345600@atlanta.example.com 5227 CSeq: 1 INVITE 5228 Contact: 5229 Content-Type: application/sdp 5230 Content-Length: ... 5232 v=0 5233 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com 5234 s= 5235 c=IN IP4 client4.biloxi.example.com 5236 t=0 0 5237 m=audio 3456 RTP/AVP 0 5238 a=rtpmap:0 PCMU/8000 5240 F20 200 OK Proxy -> Alice 5242 SIP/2.0 200 OK 5243 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5244 ;branch=z9hG4bK74bf9 5245 ;received=192.0.2.103 5246 Record-Route: 5247 From: Alice ;tag=1234567 5248 To: Bob ;tag=7137136 5249 Call-ID: 12345600@atlanta.example.com 5250 CSeq: 1 INVITE 5251 Contact: 5252 Content-Type: application/sdp 5253 Content-Length: ... 5255 v=0 5256 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com 5257 s= 5258 c=IN IP4 client4.biloxi.example.com 5259 t=0 0 5260 m=audio 3456 RTP/AVP 0 5261 a=rtpmap:0 PCMU/8000 5263 F21 ACK Alice -> Proxy 5265 ACK sips:bob@client4.biloxi.example.com SIP/2.0 5266 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5267 ;branch=z9hG4bK74bf 5268 Route: 5269 Max-Forwards: 70 5270 From: Alice ;tag=1234567 5271 To: Bob ;tag=7137136 5272 Call-ID: 12345600@atlanta.example.com 5273 CSeq: 1 ACK 5274 Content-Length: 0 5276 F22 ACK Proxy -> B4 5278 ACK sips:bob@client4.biloxi.example.com SIP/2.0 5279 Via: SIP/2.0/TLS ss1.example.com:5061 5280 ;branch=z9hG4bK8374 5281 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5282 ;branch=z9hG4bK74bf 5283 ;received=192.0.2.103 5284 Max-Forwards: 69 5285 From: Alice ;tag=1234567 5286 To: Bob ;tag=7137136 5287 Call-ID: 12345600@atlanta.example.com 5288 CSeq: 1 ACK 5289 Content-Length: 0 5291 /* RTP streams are established between A and B4*/ 5293 /* User B4 Hangs Up with User A. */ 5295 F23 BYE B4 -> Proxy 5297 BYE sips:alice@client.atlanta.example.com SIP/2.0 5298 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5299 ;branch=z9hG4bKnashds7 5300 Route: 5301 Max-Forwards: 70 5302 From: Bob ;tag=7137136 5303 To: Alice ;tag=1234567 5304 Call-ID: 12345600@atlanta.example.com 5305 CSeq: 1 BYE 5306 Content-Length: 0 5308 F24 BYE Proxy -> Alice 5310 BYE sips:alice@client.atlanta.example.com SIP/2.0 5311 Via: SIP/2.0/TLS ss1.example.com:5061 5312 ;branch=z9hG4bK83754 5313 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5314 ;branch=z9hG4bKnashds7 5315 ;received=192.0.2.105 5317 Max-Forwards: 69 5318 From: Bob ;tag=7137136 5319 To: Alice ;tag=1234567 5320 Call-ID: 12345600@atlanta.example.com 5321 CSeq: 1 BYE 5322 Content-Length: 0 5324 F25 200 OK Alice -> Proxy 5326 SIP/2.0 200 OK 5327 Via: SIP/2.0/TLS ss1.example.com:5061 5328 ;branch=z9hG4bK83754 5329 ;received=192.0.2.54 5330 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5331 ;branch=z9hG4bKnashds7 5332 ;received=192.0.2.105 5333 From: Bob ;tag=7137136 5334 To: Alice ;tag=1234567 5335 Call-ID: 12345600@atlanta.example.com 5336 CSeq: 1 BYE 5337 Content-Length: 0 5339 F26 200 OK Proxy -> B4 5341 SIP/2.0 200 OK 5342 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5343 ;branch=z9hG4bKnashds7 5344 ;received=192.0.2.105 5345 From: Bob ;tag=7137136 5346 To: Alice ;tag=1234567 5347 Call-ID: 12345600@atlanta.example.com 5348 CSeq: 1 BYE 5349 Content-Length: 0 5351 2.13. Call Management (Incoming Call Screening) 5353 Announcement 5354 Alice Proxy Bob Server 5356 | | | | 5357 | INVITE F1 | | | 5358 |------------------------------>| | 5359 | 305 Use Proxy F2 | | 5360 |<------------------------------| | 5361 | ACK F3 | | | 5362 |------------------------------>| | 5363 | INVITE F4 | | | 5364 |--------------->| | | 5365 | 407 Proxy Authentication F5 | | 5366 |<---------------| | | 5367 | ACK F6 | | | 5368 |--------------->| | | 5369 | INVITE F7 | | | 5370 |--------------->| | | 5371 | 403 Screening Failure (Terminating) Error-Info: URI F8 5372 |<---------------| | | 5373 | ACK F9 | | | 5374 |--------------->| | | 5375 | INVITE F10 | | | 5376 |--------------------------------------------->| 5377 | 200 OK F11 | | | 5378 |--------------------------------------------->| 5379 | ACK F12 | | 5380 |--------------------------------------------->| 5381 | Announcement Played to Caller | 5382 |<=============================================| 5383 | BYE F13 | 5384 |<---------------------------------------------| 5385 | 200 OK F14 | 5386 |--------------------------------------------->| 5387 | | 5388 | | 5389 | | 5391 Bob has an incoming call screening list, Alice is included on the 5392 list of addresses Bob will not accept calls from. Alice attempts to 5393 call Bob. Messages F1, F2, and F3 are included to show that Bob does 5394 not accept INVITEs that have not been screened by the proxy. 5396 Note that call screening can not be done using the From header - 5397 instead some form of authentication credentials must be used. 5399 The screening proxy inserts an announcement URI in an Error-Info 5400 header field which Alice accesses by sending an INVITE to listen to 5401 the Announcement. The Announcement Server uses the automaton and 5402 rendering feature tags in F12 and F13 to indicate that it is a media 5403 server only capability of playing announcements. 5405 Message Details 5407 F1 INVITE Alice -> Bob 5409 INVITE sips:bob@biloxi.example.com SIP/2.0 5410 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5411 ;branch=z9hG4bK74bf9 5412 Max-Forwards: 70 5413 From: Alice ;tag=1234567 5414 To: Bob 5415 Call-ID: 12345600@atlanta.example.com 5416 CSeq: 1 INVITE 5417 Contact: 5418 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5419 Content-Type: application/sdp 5420 Content-Length: ... 5422 v=0 5423 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5424 s= 5425 c=IN IP4 client.atlanta.example.com 5426 t=0 0 5427 m=audio 49170 RTP/AVP 0 5428 a=rtpmap:0 PCMU/8000 5430 /* Bob only accepts INVITEs that have been screened 5431 by the proxy */ 5433 F2 305 Use Proxy Bob -> Alice 5435 SIP/2.0 305 Use Proxy 5436 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5437 ;branch=z9hG4bK74bf9 5438 ;received=192.0.2.103 5439 From: Alice ;tag=1234567 5440 To: Bob ;tag=342123 5441 Call-ID: 12345600@atlanta.example.com 5442 CSeq: 1 INVITE 5443 Contact: 5444 Content-Length: 0 5445 F3 ACK Alice -> Bob 5447 ACK sips:bob@biloxi.example.com SIP/2.0 5448 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5449 ;branch=z9hG4bK74bf9 5450 Max-Forwards: 70 5451 From: Alice ;tag=1234567 5452 To: Bob ;tag=342123 5453 Call-ID: 12345600@atlanta.example.com 5454 CSeq: 1 ACK 5455 Content-Length: 0 5457 /* A retries the call through the proxy */ 5459 F4 INVITE Alice -> Proxy 1 5461 INVITE sips:bob@biloxi.example.com SIP/2.0 5462 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5463 ;branch=z9hG4bK74bf0 5464 Max-Forwards: 70 5465 Route: 5466 From: Alice ;tag=1234567 5467 To: Bob 5468 Call-ID: 12345600@atlanta.example.com 5469 CSeq: 2 INVITE 5470 Contact: 5471 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5472 Content-Type: application/sdp 5473 Content-Length: ... 5475 v=0 5476 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5477 s= 5478 c=IN IP4 client.atlanta.example.com 5479 t=0 0 5480 m=audio 49170 RTP/AVP 0 5481 a=rtpmap:0 PCMU/8000 5483 /* Proxy 1 challenges Alice for authentication */ 5485 F5 407 Proxy Authentication Required Proxy 1 -> Alice 5487 SIP/2.0 407 Proxy Authentication Required 5488 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5489 ;branch=z9hG4bK74bf0 5490 ;received=192.0.2.103 5492 From: Alice ;tag=1234567 5493 To: Bob ;tag=7886765 5494 Call-ID: 12345600@atlanta.example.com 5495 CSeq: 2 INVITE 5496 Proxy-Authenticate: Digest realm="example.com", 5497 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 5498 qop="auth", nc=00000001, cnonce="0a4f113b", 5499 opaque="", stale=FALSE, qop="auth", algorithm=MD5 5500 Content-Length: 0 5502 F6 ACK Alice -> Proxy 1 5504 ACK sips:bob@biloxi.example.com SIP/2.0 5505 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5506 ;branch=z9hG4bK74bf0 5507 Max-Forwards: 70 5508 From: Alice ;tag=1234567 5509 To: Bob ;tag=7886765 5510 Call-ID: 12345600@atlanta.example.com 5511 CSeq: 2 ACK 5512 Content-Length: 0 5514 /* Alice responds by sending an INVITE with authentication 5515 credentials in it. */ 5517 F7 INVITE Alice -> Proxy 1 5519 INVITE sips:bob@biloxi.example.com SIP/2.0 5520 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5521 ;branch=z9hG4bK74bf2 5522 Max-Forwards: 70 5523 From: Alice ;tag=1234567 5524 To: Bob 5525 Call-ID: 12345600@atlanta.example.com 5526 CSeq: 3 INVITE 5527 Contact: 5528 Proxy-Authorization: Digest username="alice", 5529 realm="example.com", qop="auth", 5530 nc=00000001, cnonce="4gr84543ft2", 5531 nonce="ae9137be1c87d175c2dd63302a0d6e0a", 5532 opaque="", uri="sips:bob@biloxi.example.com", 5533 response="bbaec39f943bdcb3620d90afc548a45c" 5534 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5535 Content-Type: application/sdp 5536 Content-Length: ... 5538 v=0 5539 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5540 s= 5541 c=IN IP4 client.atlanta.example.com 5542 t=0 0 5543 m=audio 49170 RTP/AVP 0 5544 a=rtpmap:0 PCMU/8000 5546 F8 403 Screening Failure (Terminating) Proxy 1 -> Alice 5548 SIP/2.0 403 Screening Failure (Terminating) 5549 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5550 ;branch=z9hG4bK74bf2 5551 ;received=192.0.2.103 5552 From: Alice ;tag=1234567 5553 To: Bob ;tag=ffe254 5554 Call-ID: 12345600@atlanta.example.com 5555 CSeq: 3 INVITE 5556 Error-Info: 5557 Content-Length: 0 5559 F9 ACK Alice -> Proxy 1 5561 ACK sips:bob@biloxi.example.com SIP/2.0 5562 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5563 ;branch=z9hG4bK74bf2 5564 Max-Forwards: 70 5565 From: Alice ;tag=1234567 5566 To: Bob ;tag=ffe254 5567 Call-ID: 12345600@atlanta.example.com 5568 Proxy-Authorization: Digest username="alice", 5569 realm="example.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a", 5570 opaque="", uri="sips:bob@biloxi.example.com", 5571 response="bbaec39f943bdcb3620d90afc548a45c" 5572 CSeq: 3 ACK 5573 Content-Length: 0 5575 /* To hear the recording, Alice connects to the Error-Info URI */ 5577 F10 INVITE Alice -> Proxy 1 5579 INVITE sips:screen-fail-term-ann@ms.biloxi.example.com SIP/2.0 5580 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5581 ;branch=z9hG4bK74bfj 5582 Max-Forwards: 70 5583 From: Alice ;tag=1234567 5584 To: Bob 5585 Call-ID: 12345600@atlanta.example.com 5586 CSeq: 4 INVITE 5587 Contact: 5588 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5589 Content-Type: application/sdp 5590 Content-Length: ... 5592 v=0 5593 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5594 s= 5595 c=IN IP4 client.atlanta.example.com 5596 t=0 0 5597 m=audio 49170 RTP/AVP 0 5598 a=rtpmap:0 PCMU/8000 5600 F11 200 OK Announcement Server -> Proxy 1 5602 SIP/2.0 200 OK 5603 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5604 ;branch=z9hG4bK74bfj 5605 ;received=192.0.2.103 5606 From: Alice ;tag=1234567 5607 To: Bob ;tag=234934 5608 Call-ID: 12345600@atlanta.example.com 5609 CSeq: 4 INVITE 5610 Contact: 5611 ;automaton;+sip.rendering="no" 5612 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5613 Content-Type: application/sdp 5614 Content-Length: ... 5616 v=0 5617 o=annc 2890844543 2890844543 IN IP4 announce.biloxi.example.com 5618 s= 5619 c=IN IP4 announce.biloxi.example.com 5620 t=0 0 5621 m=audio 49174 RTP/AVP 0 5622 a=rtpmap:0 PCMU/8000 5624 F12 ACK Alice -> Announcement Server 5626 ACK sips:ms.biloxi.example.com SIP/2.0 5627 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5628 ;branch=z9hG4bK74b32 5630 Max-Forwards: 70 5631 From: Alice ;tag=1234567 5632 To: Bob ;tag=234934 5633 Call-ID: 12345600@atlanta.example.com 5634 CSeq: 4 ACK 5635 Content-Length: 0 5637 /* Announcement Server plays announcement then disconnects */ 5639 F13 BYE Announcement Server -> Alice 5641 BYE sips:alice@client.atlanta.example.com SIP/2.0 5642 Via: SIP/2.0/TLS announcement.example.com:5061 5643 ;branch=z9hG4bK74bKS 5644 Max-Forwards: 70 5645 From: Bob ;tag=234934 5646 To: Alice ;tag=1234567 5647 Call-ID: 12345600@atlanta.example.com 5648 CSeq: 2334 BYE 5649 Content-Length: 0 5651 F14 200 OK Alice -> Announcement Server 5653 SIP/2.0 200 OK 5654 Via: SIP/2.0/TLS announcement.example.com:5061 5655 ;branch=z9hG4bK74bKS 5656 ;received=192.0.2.103 5657 From: Bob ;tag=234934 5658 To: Alice ;tag=1234567 5659 Call-ID: 12345600@atlanta.example.com 5660 CSeq: 2334 BYE 5661 Content-Length: 0 5663 2.14. Call Management (Outgoing Call Screening) 5665 Alice Proxy Bob 5666 | | | 5667 | INVITE F1 | | 5668 |--------------->| | 5669 | 407 Proxy Authentication F2 | 5670 |<---------------| | 5671 | ACK F3 | | 5672 |--------------->| | 5673 | INVITE F4 | | 5674 |--------------->| | 5675 | 403 Screening Failure (Originating) F5 5676 |<---------------| | 5677 | ACK F6 | | 5678 |--------------->| | 5679 | | | 5681 Alice has an outgoing call screening list, Bob is included on the 5682 list of addresses Alice will not be able to place a call to. Alice 5683 attempts to call Bob. 5685 Alice could establish a session to listen to the announcement in the 5686 Error-Info header field. 5688 Message Details 5690 F1 INVITE Alice -> Proxy 1 5692 INVITE sips:bob@biloxi.example.com SIP/2.0 5693 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5694 ;branch=z9hG4bK74bf9 5695 Max-Forwards: 70 5696 From: Alice ;tag=1234567 5697 To: Bob 5698 Call-ID: 12345600@atlanta.example.com 5699 CSeq: 1 INVITE 5700 Contact: 5701 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5702 Content-Type: application/sdp 5703 Content-Length: ... 5705 v=0 5706 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5707 s= 5708 c=IN IP4 client.atlanta.example.com 5709 t=0 0 5710 m=audio 49170 RTP/AVP 0 5711 a=rtpmap:0 PCMU/8000 5713 /* Proxy 1 challenges Alice for authentication */ 5715 F2 407 Proxy Authentication Required Proxy 1 -> Alice 5717 SIP/2.0 407 Proxy Authentication Required 5718 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5719 ;branch=z9hG4bK74bf9 5720 ;received=192.0.2.103 5721 From: Alice ;tag=1234567 5722 To: Bob ;tag=90210 5723 Call-ID: 12345600@atlanta.example.com 5724 CSeq: 1 INVITE 5725 Proxy-Authenticate: Digest realm="example.com", 5726 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 5727 qop=auth, nc=00000001, cnonce="0a4f113b", 5728 opaque="", stale=FALSE, algorithm=MD5 5729 Content-Length: 0 5731 F3 ACK Alice -> Proxy 1 5733 ACK sips:bob@biloxi.example.com SIP/2.0 5734 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5735 ;branch=z9hG4bK74bf9 5736 Max-Forwards: 70 5737 From: Alice ;tag=1234567 5738 To: Bob ;tag=90210 5739 Call-ID: 12345600@atlanta.example.com 5740 CSeq: 1 ACK 5741 Content-Length: 0 5743 /* Alice responds be sending an INVITE with authentication 5744 credentials in it. */ 5746 F4 INVITE Alice -> Proxy 1 5748 INVITE sips:bob@biloxi.example.com SIP/2.0 5749 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5750 ;branch=z9hG4bK74b4 5751 Max-Forwards: 70 5752 From: Alice ;tag=1234567 5753 To: Bob 5754 Call-ID: 12345600@atlanta.example.com 5755 CSeq: 2 INVITE 5756 Contact: 5757 Proxy-Authorization: Digest username="alice", realm="example.com", 5758 nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 5759 uri="sips:bob@biloxi.example.com", 5760 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 5761 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5762 Content-Type: application/sdp 5763 Content-Length: ... 5765 v=0 5766 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5767 s= 5768 c=IN IP4 client.atlanta.example.com 5769 t=0 0 5770 m=audio 49170 RTP/AVP 0 5771 a=rtpmap:0 PCMU/8000 5773 F5 403 Screening Failure (Originating) Proxy 1 -> Alice 5775 SIP/2.0 403 Screening Failure (Originating) 5776 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5777 ;branch=z9hG4bK74b4 5778 ;received=192.0.2.103 5779 From: Alice ;tag=1234567 5780 To: Bob ;tag=18017 5781 Call-ID: 12345600@atlanta.example.com 5782 CSeq: 2 INVITE 5783 Error-Info: 5784 Content-Length: 0 5786 F6 ACK Alice -> Proxy 1 5788 ACK sips:bob@biloxi.example.com SIP/2.0 5789 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5790 ;branch=z9hG4bK74b4 5791 Max-Forwards: 70 5792 From: Alice ;tag=1234567 5793 To: Bob ;tag=18017 5794 Call-ID: 12345600@atlanta.example.com 5795 CSeq: 2 ACK 5796 Proxy-Authorization: Digest username="alice", realm="example.com", 5797 nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 5798 uri="sips:bob@biloxi.example.com", 5799 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 5801 Content-Length: 0 5803 2.15. Call Park 5805 Alice Bob Park Server Carol 5806 | | | | 5807 | INVITE F1 | | | 5808 |------------->| | | 5809 |180 Ringing F2| | | 5810 |<-------------| | | 5811 | 200 OK F3 | | | 5812 |<-------------| | | 5813 | ACK F4 | | | 5814 |------------->| | | 5815 | RTP Media | | | 5816 |<============>| | | 5817 | Bob Parks Call | | 5818 | | REFER Refer-To: A F5 | 5819 | |------------->| | 5820 | | 202 F6 | | 5821 | |<-------------| | 5822 | | NOTIFY F7 | | 5823 | |<-------------| | 5824 | | 200 F8 | | 5825 | |------------->| | 5826 | INVITE F9 Replaces: B | | 5827 |<----------------------------| | 5828 | 200 OK F10 | | 5829 |---------------------------->| | 5830 | ACK F11 | | 5831 |<----------------------------| | 5832 | RTP Music | | 5833 |<===========================>| | 5834 | BYE F12 | | | 5835 |------------->| NOTIFY F14 | | 5836 | 200 OK F13 |<-------------| | 5837 |<-------------| 200 OK F15 | | 5838 | |------------->| | 5839 | | Carol picks up the call | 5840 | | | | 5841 | | | SUBSCRIBE F16| 5842 | | |<-------------| 5843 | | | 200 OK F17 | 5844 | | |------------->| 5845 | | | NOTIFY F18 | 5846 | | |------------->| 5847 | | | 200 OK F19 | 5848 | | |<-------------| 5849 | INVITE Replaces: Park Server F20 | 5850 |<-------------------------------------------| 5851 | | | 200 F21 | 5852 |------------------------------------------->| 5853 | | | ACK F22 | 5854 |<-------------------------------------------| 5855 | RTP Media | 5856 |<==========================================>| 5857 | BYE F23 | | 5858 |---------------------------->| | 5859 | 200 OK F24 | | 5860 |<----------------------------| | 5861 | No more RTP Music | | 5863 In this example, Alice calls Bob. Bob then parks the call at the Park 5864 Server by sending a REFER to the Park Server. The server sends an 5865 INVITE to Alice which replaces the session between Alice and Bob. The 5866 Park Server utilizes the automaton, rendering, and byeless feature 5867 tags in F9 to indicate its capabilities to Alice. The call is 5868 accepted by Alice and causes Alice to send a BYE to Bob. Bob receives 5869 notification of the successful park, and also receives the dialog 5870 identifiers in the application/sip body of the NOTIFY response. 5872 Carol wishes to retrieve the call, so she sends an INVITE containing 5873 the dialog identifiers to Alice which replaces the session with the 5874 Park Server. Alice accepts the call and sends a BYE to the Park 5875 Server. Carol obtains the dialog identifiers from a NOTIFY from the 5876 Park Server. 5878 Note that this call flow is a special case of call transfer. 5880 Note also that this flow could also be used for Music on Hold. 5882 Message Details. 5884 F1 INVITE Alice -> Bob 5886 INVITE sips:bob@biloxi.example.com SIP/2.0 5887 Via: SIP/2.0/TLS client.alice.example.com:5061 5888 ;branch=z9hG4bKnashds7 5889 Max-Forwards: 70 5890 From: Alice ;tag=1234567 5891 To: Bob 5892 Call-ID: 12345601@atlanta.example.com 5893 CSeq: 1 INVITE 5894 Contact: 5895 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5896 Supported: replaces, gruu 5897 Content-Type: application/sdp 5898 Content-Length: ... 5900 v=0 5901 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5902 s= 5903 c=IN IP4 client.atlanta.example.com 5904 t=0 0 5905 m=audio 49170 RTP/AVP 0 5906 a=rtpmap:0 PCMU/8000 5908 F2 180 Ringing Bob -> Alice 5910 SIP/2.0 180 Ringing 5911 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5912 ;branch=z9hG4bKnashds7 5913 ;received=192.0.2.105 5914 From: Alice ;tag=1234567 5915 To: Bob ;tag=314159 5916 Call-ID: 12345601@atlanta.example.com 5917 CSeq: 1 INVITE 5918 Contact: 5919 Content-Length: 0 5921 F3 200 OK Bob -> Alice 5923 SIP/2.0 200 OK 5924 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5925 ;branch=z9hG4bKnashds7 5926 ;received=192.0.2.105 5927 From: Alice ;tag=1234567 5928 To: Bob ;tag=314159 5929 Call-ID: 12345601@atlanta.example.com 5930 CSeq: 1 INVITE 5931 Contact: 5932 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5933 Supported: replaces 5934 Content-Type: application/sdp 5935 Content-Length: ... 5937 v=0 5938 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 5939 s= 5940 c=IN IP4 client.biloxi.example.com 5941 t=0 0 5942 m=audio 3456 RTP/AVP 0 5943 a=rtpmap:0 PCMU/8000 5945 F4 ACK Alice -> Bob 5947 ACK sips:bob@client.biloxi.example.com SIP/2.0 5948 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5949 ;branch=z9hG4bKnashds7 5950 Max-Forwards: 70 5951 From: Alice ;tag=1234567 5952 To: Bob ;tag=314159 5953 Call-ID: 12345601@atlanta.example.com 5954 CSeq: 1 ACK 5955 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5956 Supported: replaces 5957 Content-Length: 0 5959 /* Bob REFERs Park Server to establish session with A 5960 which replaces the established session between A and B. 5961 Note that there is no session established between B 5962 and the Park Server. */ 5964 F5 REFER Bob -> Park Server 5966 REFER sips:park@server.example.com SIP/2.0 5967 Via: SIP/2.0/TLS client.biloxi.example.com:5061 5968 ;branch=z9hG4bKnashds9 5969 Max-Forwards: 70 5970 From: Bob ;tag=02134 5971 To: Park Server 5972 Call-ID: 4802029847@biloxi.example.com 5973 CSeq: 1 REFER 5974 5975 Refer-To: 5978 5979 Referred-By: 5980 Contact: 5981 Content-Length: 0 5983 F6 202 Accepted Park Server -> Bob 5985 SIP/2.0 202 Accepted 5986 Via: SIP/2.0/TLS client.biloxi.example.com:5061 5987 ;branch=z9hG4bKnashds9 5988 ;received=192.0.2.105 5989 From: Bob ;tag=02134 5990 To: Park Server ;tag=56323 5991 Call-ID: 4802029847@biloxi.example.com 5992 Contact: 5993 CSeq: 1 REFER 5994 Content-Length: 0 5996 F7 NOTIFY Park Server -> Bob 5998 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 5999 Via: SIP/2.0/TLS server.example.com:5061 6000 ;branch=z9hG4bK74bT6 6001 To: Bob ;tag=02134 6002 Max-Forwards: 70 6003 From: Park Server ;tag=56323 6004 Call-ID: 4802029847@biloxi.example.com 6005 CSeq: 1 NOTIFY 6006 Event: refer 6007 Contact: 6008 Subscription-State: active;expires=60 6009 Content-Type: message/sipfrag 6010 Content-Length: ... 6012 SIP/2.0 100 Trying 6014 F8 200 OK Bob -> Park Server 6016 SIP/2.0 200 OK 6017 Via: SIP/2.0/TLS server.example.com:5061 6018 ;branch=z9hG4bK74bT6 6019 ;received=192.0.2.103 6020 To: Bob ;tag=02134 6021 From: Park Server ;tag=56323 6022 Call-ID: 4802029847@biloxi.example.com 6023 CSeq: 1 NOTIFY 6024 Content-Length: 0 6026 /* Park Server places call to Alice to replace session 6027 between Alice and Bob. */ 6029 F9 INVITE Park Server -> Alice 6030 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 6031 Via: SIP/2.0/TLS server.example.com:5061 6032 ;branch=z9hG4bK74rf 6033 Max-Forwards: 70 6034 From: ;tag=0111 6035 To: 6036 Call-ID: a5-75-34-12-76@server.example.com 6037 CSeq: 1 INVITE 6038 Referred-By: 6039 Contact: ;automaton 6040 ;+sip.byeless;+sip.rendering="no" 6041 Require: replaces 6042 Replaces: 12345601@atlanta.example.com 6043 ;from-tag=314159;to-tag=1234567 6044 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6045 Supported: replaces 6046 Content-Type: application/sdp 6047 Content-Length: ... 6049 v=0 6050 o=ParkServer 2890844576 2890844576 IN IP4 Park.server.example.com 6051 s= 6052 c=IN IP4 server.example.com 6053 t=0 0 6054 m=audio 49170 RTP/AVP 0 6055 a=rtpmap:0 PCMU/8000 6057 F10 200 OK Alice -> Park Server 6059 SIP/2.0 200 OK 6060 Via: SIP/2.0/TLS server.example.com:5061 6061 ;branch=z9hG4bK74rf 6062 ;received=192.0.2.103 6063 From: ;tag=0111 6064 To: ;tag=098594 6065 Call-ID: a5-75-34-12-76@server.example.com 6066 CSeq: 1 INVITE 6067 Contact: 6068 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6069 Supported: replaces, gruu 6070 Content-Type: application/sdp 6071 Content-Length: ... 6073 v=0 6074 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6075 s= 6076 c=IN IP4 client.atlanta.example.com 6077 t=0 0 6078 m=audio 49170 RTP/AVP 0 6079 a=rtpmap:0 PCMU/8000 6080 a=recvonly 6082 F11 ACK Park Server -> Alice 6084 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 6085 Via: SIP/2.0/TLS server.example.com:5061 6086 ;branch=z9hG4bK7rfF 6087 Max-Forwards: 70 6088 From: ;tag=0111 6089 To: ;tag=098594 6090 Call-ID: a5-75-34-12-76@server.example.com 6091 CSeq: 1 ACK 6092 Content-Length: 0 6094 F12 BYE Alice -> Bob 6096 BYE sips:bob@client.biloxi.example.com SIP/2.0 6097 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6098 ;branch=z9hG4bKnashds7 6099 Max-Forwards: 70 6100 From: Alice ;tag=1234567 6101 To: Bob ;tag=314159 6102 Call-ID: 12345601@atlanta.example.com 6103 CSeq: 2 BYE 6104 Content-Length: 0 6106 F13 200 OK Bob -> Alice 6108 SIP/2.0 200 OK 6109 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6110 ;branch=z9hG4bKnashds7 6111 ;received=192.0.2.105 6112 From: Alice ;tag=1234567 6113 To: Bob ;tag=314159 6114 Call-ID: 12345601@atlanta.example.com 6115 CSeq: 2 BYE 6116 Content-Length: 0 6118 /* Park Server reports success back to Bob by returning 6119 a 200 OK response. Bob obtains the dialog identifiers 6120 from the headers included in the response. */ 6122 F14 NOTIFY Park Server -> Bob 6124 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 6125 Via: SIP/2.0/TLS server.example.com:5061 6126 ;branch=z9hG4bK74bf9 6127 To: Bob ;tag=02134 6128 Max-Forwards: 70 6129 From: Park Server ;tag=56323 6130 Call-ID: 4802029847@biloxi.example.com 6131 CSeq: 2 NOTIFY 6132 Event: refer 6133 Subscription-State: terminated;reason=noresource 6134 Contact: ;automaton 6135 ;+sip.byeless;+sip.rendering="no" 6136 Content-Type: message/sipfrag 6137 Content-Length: ... 6139 SIP/2.0 200 OK 6140 Via: SIP/2.0/TLS server.example.com:5061 6141 ;branch=z9hG4bK74rf 6142 ;received=192.0.2.103 6143 From: ;tag=0111 6144 To: ;tag=098594 6145 Call-ID: a5-75-34-12-76@server.example.com 6146 CSeq: 1 INVITE 6147 Contact: 6149 F15 200 OK Bob -> Park Server 6151 SIP/2.0 200 OK 6152 Via: SIP/2.0/TLS server.example.com:5061 6153 ;branch=z9hG4bK74bf9 6154 ;received=192.0.2.103 6155 To: Bob ;tag=02134 6156 From: Park Server ;tag=56323 6157 Call-ID: 4802029847@biloxi.example.com 6158 CSeq: 2 NOTIFY 6159 Content-Length: 0 6161 /* Alice is now parked at the Park Server */ 6163 /* Carol picks up the call by sending an INVITE to A which 6164 replaces the existing session with the Park/Park Server. 6165 Carol needs to know the dialog information to construct 6166 the Replaces header. */ 6168 F16 SUBSCRIBE Carol -> Park Server 6170 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 6171 Via: SIP/2.0/TLS client.chicago.example.com:5061 6172 ;branch=z9hG4bK74b232 6173 Max-Forwards: 70 6174 From: Carol ;tag=158x93461 6175 To: 6176 Call-ID: 2d6485356dfaj34dsf 6177 CSeq: 1 SUBSCRIBE 6178 Contact: 6179 Event: dialog 6180 Expires: 0 6181 Accept: application/dialog-info+xml 6182 Content-Length: 0 6184 F17 200 OK Park Server -> Carol 6186 SIP/2.0 200 OK 6187 Via: SIP/2.0/TLS client.chicago.example.com:5061 6188 ;branch=z9hG4bK74b232 6189 ;received=192.0.2.105 6190 From: Carol ;tag=158x93461 6191 To: ;tag=3213j 6192 Call-ID: 2d6485356dfaj34dsf 6193 CSeq: 1 SUBSCRIBE 6194 Contact: ;automaton 6195 ;+sip.byeless;+sip.rendering="no" 6196 Content-Length: 0 6198 F18 NOTIFY Park Server -> Carol 6200 NOTIFY sips:carol@client.example.com SIP/2.0 6201 Via: SIP/2.0/TLS server.example.com:5061 6202 ;branch=z9hG4bK74b8skd 6203 Max-Forwards: 70 6204 To: Carol ;tag=158x93461 6205 From: ;tag=3213j 6206 Call-ID: 2d6485356dfaj34dsf 6207 CSeq: 1 NOTIFY 6208 Contact: ;automaton 6209 ;+sip.byeless;+sip.rendering="no" 6210 Event: dialog 6211 Subscription-State: terminated;reason=timeout 6212 Content-Type: application/dialog-info+xml 6213 Content-Length: ... 6215 6216 6218 6221 1 6222 6223 sips:park@server.example.com 6224 6225 6226 sips:a8342043f@atlanta.example.com;gr 6227 6228 confirmed 6229 6230 6232 F19 200 OK Carol -> Park Server 6234 SIP/2.0 200 OK 6235 Via: SIP/2.0/TLS server.example.com:5061 6236 ;branch=z9hG4bK74b8skd 6237 ;received=192.0.2.103 6238 To: Carol ;tag=158x93461 6239 From: ;tag=3213j 6240 Call-ID: 2d6485356dfaj34dsf 6241 CSeq: 1 NOTIFY 6242 Contact: 6243 Content-Length: 0 6245 F20 INVITE Carol -> Alice 6247 INVITE sips:alice@atlanta.example.com SIP/2.0 6248 Via: SIP/2.0/TLS client.chicago.example.com:5061 6249 ;branch=z9hG4bK74bQ2 6250 Max-Forwards: 70 6251 From: Carol ;tag=5893461 6252 To: Alice 6253 Call-ID: 6485356@chicago.example.com 6254 CSeq: 1 INVITE 6255 Contact: 6256 Require: replaces 6257 Replaces: a5-75-34-12-76@server.example.com 6258 ;to-tag=098594;from-tag=0111 6259 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 6260 SUBSCRIBE, NOTIFY 6261 Supported: replaces 6262 Content-Type: application/sdp 6263 Content-Length: ... 6265 v=0 6266 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 6267 s= 6268 c=IN IP4 client.chicago.example.com 6269 t=0 0 6270 m=audio 3456 RTP/AVP 0 6271 a=rtpmap:0 PCMU/8000 6273 F21 200 OK Alice -> Carol 6275 SIP/2.0 200 OK 6276 Via: SIP/2.0/TLS client.chicago.example.com:5061 6277 ;branch=z9hG4bK74bQ2 6278 ;received=192.0.2.105 6279 From: Carol ;tag=5893461 6280 To: Alice ;tag=222 6281 Call-ID: 6485356@chicago.example.com 6282 CSeq: 1 INVITE 6283 Contact: 6284 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6285 Supported: replaces, gruu 6286 Content-Type: application/sdp 6287 Content-Length: ... 6289 v=0 6290 o=alice 2890844527 2890844527 IN IP4 client.atlanta.example.com 6291 s= 6292 c=IN IP4 client.atlanta.example.com 6293 t=0 0 6294 m=audio 49170 RTP/AVP 0 6295 a=rtpmap:0 PCMU/8000 6297 F22 ACK Carol -> Alice 6299 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 6300 Via: SIP/2.0/TLS client.chicago.example.com:5061 6301 ;branch=z9hG4bK74bJ0 6302 Max-Forwards: 70 6303 From: Carol ;tag=5893461 6304 To: Alice ;tag=222 6305 Call-ID: 6485356@chicago.example.com 6306 CSeq: 1 ACK 6307 Content-Length: 0 6309 /* A replaces the session to the Park Server with the new 6310 session with C and generates a BYE to disconnect the 6311 Park Server. */ 6313 F23 BYE Alice -> Park Server 6315 BYE sips:park@server.example.com SIP/2.0 6316 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6317 ;branch=z9hG4bK74b4N 6318 Max-Forwards: 70 6319 From: Alice ;tag=098594 6320 To: ;tag=0111 6321 Call-ID: a5-75-34-12-76@server.example.com 6322 CSeq: 1 BYE 6323 Content-Length: 0 6325 F24 200 OK Park Server -> Alice 6327 SIP/2.0 200 OK 6328 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6329 ;branch=z9hG4bK74b4N 6330 ;received=192.0.2.103 6331 From: Alice ;tag=098594 6332 To: ;tag=0111 6333 Call-ID: a5-75-34-12-76@server.example.com 6334 CSeq: 1 BYE 6335 Content-Length: 0 6337 2.16. Call Pickup 6339 Alice Bob Bill 6340 | | | 6341 | INVITE F1 | | 6342 |------------->| | 6343 |180 Ringing F2| | 6344 |<-------------| | 6345 | | SUBSCRIBE F3 | 6346 | |<------------------| 6347 | | 200 OK F4 | 6348 | |------------------>| 6349 | | NOTIFY F5 | 6350 | |------------------>| 6351 | | 200 OK F6 | 6352 | |<------------------| 6353 | INVITE Replaces:Bob F7 | 6354 |<---------------------------------| 6355 | | 200 OK F8 | 6356 |--------------------------------->| 6357 | CANCEL F9 | | 6358 |------------->| | 6359 | 200 OK F10 | | 6360 |<-------------| | 6361 | 487 F11 | | 6362 |<-------------| | 6363 | ACK F12 | | 6364 |------------->| | 6365 | ACK F13 | 6366 |<---------------------------------| 6367 | | 6368 | Two way RTP Established | 6369 |<================================>| 6370 | BYE F14 | 6371 |--------------------------------->| 6372 | 200 OK F15 | 6373 |<---------------------------------| 6374 | | 6376 Bob and Bill are part of a work group at example.com that can pick up 6377 each other's calls. Alice calls Bob who does not answer. Bill 6378 wishes to pick up the call and sends a SUBSCRIBE to Bob to retrieve 6379 the dialog information. Bill then generates an INVITE with a 6380 Replaces to Alice. Alice answers the INVITE and sends a CANCEL to 6381 stop Bob's phone ringing. Note that the relative order of the 487/ 6382 ACK sequence (F11/F12) and the 200 OK to the CANCEL (F10) is not 6383 deterministic. 6385 This call flow shows the use of the "early-only" parameter [RFC3891] 6386 in the Replaces header field of F7. This parameter prevents Alice 6387 from accepting the INVITE if Bob has already accepted the INVITE. If 6388 Bill had wished to "take" the call from Bob regardless of whether he 6389 had answered, the parameter would not have been present in F7. 6391 Also note that the subscription between Bob and Carol could have been 6392 established prior to Alice's call. 6394 Message Details 6396 F1 INVITE Alice -> Bob 6398 INVITE sips:bob@biloxi.example.com SIP/2.0 6399 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6400 ;branch=z9hG4bK74bf9 6401 Max-Forwards: 70 6402 From: Alice ;tag=1234567 6403 To: Bob 6404 Call-ID: 12345600@atlanta.example.com 6405 CSeq: 1 INVITE 6406 Contact: 6407 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6408 Supported: replaces, gruu 6409 Content-Type: application/sdp 6410 Content-Length: ... 6412 v=0 6413 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6414 s= 6415 c=IN IP4 client.atlanta.example.com 6416 t=0 0 6417 m=audio 49170 RTP/AVP 0 6418 a=rtpmap:0 PCMU/8000 6420 F2 180 Ringing Bob -> Alice 6422 SIP/2.0 180 Ringing 6423 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6424 ;branch=z9hG4bK74bf9 6425 ;received=192.0.2.103 6426 From: Alice ;tag=1234567 6427 To: Bob ;tag=3145678 6428 Call-ID: 12345600@atlanta.example.com 6429 CSeq: 1 INVITE 6430 Contact: 6431 Content-Length: 0 6433 /* Bill decides to pick up the call. */ 6435 F3 SUBSCRIBE Bill -> Bob 6437 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 6438 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6439 ;branch=z9hG4bK74bf 6440 Max-Forwards: 70 6441 From: Bill ;tag=8675309 6442 To: Bob 6443 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6444 CSeq: 1 SUBSCRIBE 6445 Contact: 6446 Event: dialog 6447 Expires: 0 6448 Accept: application/dialog-info+xml 6449 Content-Length: 0 6451 F4 200 OK Bob -> Bill 6453 SIP/2.0 200 OK 6454 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6455 ;branch=z9hG4bK74bf 6456 ;received=192.0.2.114 6457 Max-Forwards: 70 6458 From: Bill ;tag=8675309 6459 To: Bob ;tag=31451098 6460 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6461 CSeq: 1 SUBSCRIBE 6462 Content-Length: 0 6464 F5 NOTIFY Bob -> Bill 6466 NOTIFY sips:bill@pc.biloxi.example.com SIP/2.0 6467 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6468 ;branch=z9hG4bK74br 6469 Max-Forwards: 70 6470 From: Bob ;tag=31451098 6471 To: Bill ;tag=8675309 6472 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6473 CSeq: 1 NOTIFY 6474 Contact: 6475 Event: dialog 6476 Subscription-State: terminated;reason=timeout 6477 Content-Type: application/dialog-info+xml 6478 Content-Length: ... 6480 6481 6483 6486 1 6487 6488 sips:bob@biloxi.example.com 6489 sips:bob@client.biloxi.example.com 6490 6491 6492 sips:alice@atlanta.example.com 6493 6494 sips:a8342043@atlanta.example.com;gr 6495 6496 early 6497 6498 6500 F6 200 OK Bill -> Bob 6502 SIP/2.0 200 OK 6503 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6504 ;branch=z9hG4bK74br 6505 ;received=192.0.2.105 6506 From: Bob ;tag=31451098 6507 To: Bill ;tag=8675309 6508 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6509 CSeq: 1 NOTIFY 6510 Contact: 6511 Content-Length: 0 6513 F7 INVITE Bill -> Alice 6515 INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 6516 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6517 ;branch=z9hG4bK74HH 6518 Max-Forwards: 70 6519 From: Bill ;tag=8675310 6520 To: Alice 6521 Call-ID: 563456212@b2.biloxi.example.com 6522 CSeq: 1 INVITE 6523 Require: replaces 6524 Replaces: 12345600@atlanta.example.com 6525 ;from-tag=314578;to-tag=1234567;early-only 6526 Contact: 6527 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6528 Supported: replaces 6529 Content-Type: application/sdp 6530 Content-Length: ... 6532 v=0 6533 o=bill 2890843122 2890843122 IN IP4 pc.biloxi.example.com 6534 s= 6535 c=IN IP4 pc.biloxi.example.com 6536 t=0 0 6537 m=audio 5342 RTP/AVP 0 6538 a=rtpmap:0 PCMU/8000 6540 /* Alice matches the dialog information in the Replaces header 6541 and accepts the INVITE. */ 6543 F8 200 OK Alice -> Bill 6545 SIP/2.0 200 OK 6546 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6547 ;branch=z9hG4bK74HH 6548 ;received=192.0.2.114 6549 From: Bill ;tag=8675310 6550 To: Alice ;tag=131256 6551 Call-ID: 563456212@b2.biloxi.example.com 6552 CSeq: 1 INVITE 6553 Contact: 6554 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6555 Supported: replaces, gruu 6556 Content-Type: application/sdp 6557 Content-Length: ... 6559 v=0 6560 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com 6561 s= 6562 c=IN IP4 client.atlanta.example.com 6563 t=0 0 6564 m=audio 49172 RTP/AVP 0 6565 a=rtpmap:0 PCMU/8000 6567 /* Alice stops Bob's phone from ringing by sending a CANCEL */ 6568 F9 CANCEL Alice -> Bob 6570 CANCEL sips:bob@biloxi.example.com SIP/2.0 6571 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6572 ;branch=z9hG4bK74bf9 6573 Max-Forwards: 70 6574 From: Alice ;tag=1234567 6575 To: Bob 6576 Call-ID: 12345600@atlanta.example.com 6577 CSeq: 1 CANCEL 6578 Content-Length: 0 6580 F10 200 OK Bob -> Alice 6582 SIP/2.0 200 OK 6583 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6584 ;branch=z9hG4bK74bf9 6585 ;received=192.0.2.103 6586 From: Alice ;tag=1234567 6587 To: Bob ;tag=3145678 6588 Call-ID: 12345600@atlanta.example.com 6589 CSeq: 1 CANCEL 6590 Content-Length: 0 6592 F11 487 Request Terminated Bob -> Alice 6594 SIP/2.0 487 Request Terminated 6595 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6596 ;branch=z9hG4bK74bf9 6597 ;received=192.0.2.103 6598 From: Alice ;tag=1234567 6599 To: Bob ;tag=3145678 6600 Call-ID: 12345600@atlanta.example.com 6601 CSeq: 1 INVITE 6602 Content-Length: 0 6604 F12 ACK Alice -> Bob 6606 ACK sips:bob@client.biloxi.example.com SIP/2.0 6607 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6608 ;branch=z9hG4bK83749.1 6609 Max-Forwards: 70 6610 From: Alice ;tag=1234567 6611 To: Bob ;tag=3145678 6612 Call-ID: 12345600@atlanta.example.com 6613 CSeq: 1 ACK 6614 Content-Length: 0 6616 F13 ACK Bill -> Alice 6618 ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 6619 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6620 ;branch=z9hG4bK7435 6621 Max-Forwards: 70 6622 From: Bill ;tag=8675310 6623 To: Alice ;tag=131256 6624 Call-ID: 563456212@b2.biloxi.example.com 6625 CSeq: 1 ACK 6626 Content-Length: 0 6628 /* RTP streams are established between Alice and Bill. 6629 Later, Alice Hangs Up with Bob. */ 6631 F14 BYE Alice -> Bill 6633 BYE sips:bill@pc.biloxi.example.com SIP/2.0 6634 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6635 ;branch=z9hG4bK74bf2 6636 Max-Forwards: 70 6637 To: Bill ;tag=8675310 6638 From: Alice ;tag=131256 6639 Call-ID: 563456212@b2.biloxi.example.com 6640 CSeq: 1 BYE 6641 Content-Length: 0 6643 F15 200 OK Bill -> Alice 6645 SIP/2.0 200 OK 6646 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6647 ;branch=z9hG4bK74bf2 6648 ;received=192.0.2.105 6649 To: Bill ;tag=8675310 6650 From: Alice ;tag=131256 6651 Call-ID: 563456212@b2.biloxi.example.com 6652 CSeq: 1 BYE 6653 Content-Length: 0 6655 2.17. Automatic Redial 6656 Alice Bob 6657 | | 6658 | INVITE F1 | 6659 |--------------->| 6660 |486 Busy Here F2| 6661 |<---------------| Bob is busy 6662 | ACK F3 | 6663 |--------------->| 6664 | SUBSCRIBE F4 | 6665 |--------------->| 6666 | 200 OK F5 | 6667 |<---------------| 6668 | NOTIFY F6 | 6669 |<---------------| 6670 | 200 OK F7 | 6671 |--------------->| 6672 | | 6673 | NOTIFY F8 | Bob is now available 6674 |<---------------| 6675 | 200 OK F9 | 6676 |--------------->| 6677 | | 6678 | INVITE F10 | 6679 |--------------->| Session setup successfully 6680 | 180 Ringing F11| 6681 |<---------------| 6682 | 200 OK F12 | 6683 |<---------------| 6684 | ACK F13 | 6685 |--------------->| 6686 | Media Session | 6687 |<==============>| 6688 | | 6689 | NOTIFY F14 | 6690 |<---------------| 6691 | 200 OK F15 | 6692 |--------------->| 6693 | | 6694 | SUBSCRIBE F16 | Alice terminates subscription 6695 |--------------->| 6696 | 200 OK F17 | 6697 |<---------------| 6698 | NOTIFY F18 | 6699 |<---------------| 6700 | 200 OK F19 | 6701 |--------------->| 6702 | | 6704 Bob is initially busy when Alice calls. Alice subscribes to Bob's 6705 call state using a SUBSCRIBE F4. Bob sends a NOTIFY F8 when Bob is 6706 available. Alice is alerted, then Alice sends an INVITE to Bob to 6707 establish the session. The subscription is terminated using 6708 SUBSCRIBE F16. 6710 Message Details 6712 F1 INVITE Alice -> Bob 6714 INVITE sips:bob@biloxi.example.com SIP/2.0 6715 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6716 ;branch=z9hG4bK74bf9 6717 Max-Forwards: 70 6718 From: Alice ;tag=1234567 6719 To: Bob 6720 Call-ID: 12345600@atlanta.example.com 6721 CSeq: 1 INVITE 6722 Contact: 6723 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6724 Supported: replaces 6725 Content-Type: application/sdp 6726 Content-Length: ... 6728 v=0 6729 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6730 s= 6731 c=IN IP4 client.atlanta.example.com 6732 t=0 0 6733 m=audio 49170 RTP/AVP 0 6734 a=rtpmap:0 PCMU/8000 6736 F2 486 Busy Here 6738 SIP/2.0 486 Busy Here 6739 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6740 ;branch=z9hG4bK74bf9 6741 ;received=192.0.2.103 6742 From: Alice ;tag=1234567 6743 To: Bob ;tag=982039i4 6744 Call-ID: 12345600@atlanta.example.com 6745 CSeq: 1 INVITE 6746 Content-Length: 0 6748 F3 ACK Alice -> Bob 6749 ACK sips:bob@biloxi.example.com SIP/2.0 6750 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6751 ;branch=z9hG4bK74bf9 6752 Max-Forwards: 70 6753 From: Alice ;tag=1234567 6754 To: Bob ;tag=982039i4 6755 Call-ID: 12345600@atlanta.example.com 6756 CSeq: 1 ACK 6757 Content-Length: 0 6759 F4 SUBSCRIBE Alice -> Bob 6761 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 6762 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6763 ;branch=z9hG4bK74b8G 6764 Max-Forwards: 70 6765 From: Alice ;tag=837348234 6766 To: Bob 6767 Call-ID: 4524526232@atlanta.example.com 6768 CSeq: 1 SUBSCRIBE 6769 Contact: sips:alice@client.atlanta.example.com 6770 Event: dialog 6771 Accept: application/dialog-info+xml 6772 Content-Length: 0 6774 F5 200 OK Bob -> Alice 6776 SIP/2.0 200 OK 6777 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6778 ;branch=z9hG4bK74b8G 6779 ;received=192.0.2.103 6780 From: Alice ;tag=837348234 6781 To: Bob ;tag=341123 6782 Call-ID: 4524526232@atlanta.example.com 6783 Expires: 60 6784 CSeq: 1 SUBSCRIBE 6785 Contact: sips:bob@client.biloxi.example.com 6786 Content-Length: 0 6788 F6 NOTIFY Bob -> Alice 6790 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 6791 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6792 ;branch=z9hG4bK74bn2 6793 Max-Forwards: 70 6794 From: Bob ;tag=341123 6795 To: Alice ;tag=837348234 6796 Call-ID: 4524526232@atlanta.example.com 6797 CSeq: 1 NOTIFY 6798 Contact: 6799 Event: dialog 6800 Subscription-State: active;expires=59 6801 Content-Type: application/dialog-info+xml 6802 Content-Length: ... 6804 6805 6807 6808 1 6809 confirmed 6810 6811 6813 F7 200 OK Alice -> Bob 6815 SIP/2.0 200 OK 6816 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6817 ;branch=z9hG4bK74bn2 6818 ;received=192.0.2.105 6819 From: Bob ;tag=341123 6820 To: Alice ;tag=837348234 6821 Call-ID: 4524526232@atlanta.example.com 6822 CSeq: 1 NOTIFY 6823 Content-Length: 0 6825 /* Bob is now available. */ 6827 F8 NOTIFY Bob -> Alice 6829 NOTIFY sips:alice@atlanta.example.com SIP/2.0 6830 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6831 ;branch=z9hG4bK74bVi 6832 Max-Forwards: 70 6833 From: Bob ;tag=341123 6834 To: Alice ;tag=837348234 6835 Call-ID: 4524526232@atlanta.example.com 6836 CSeq: 2 NOTIFY 6837 Event: dialog 6838 Subscription-State: active;expires=27 6839 Contact: 6840 Content-Type: application/dialog-info+xml 6841 Content-Length: ... 6843 6844 6846 6847 terminated 6848 6849 6851 F9 200 OK Alice -> Bob 6853 SIP/2.0 200 OK 6854 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6855 ;branch=z9hG4bK74bVi 6856 ;received=192.0.2.105 6857 From: Bob ;tag=341123 6858 To: Alice ;tag=837348234 6859 Call-ID: 4524526232@atlanta.example.com 6860 CSeq: 2 NOTIFY 6861 Content-Length: 0 6863 F10 INVITE Alice -> Bob 6865 INVITE sips:bob@biloxi.example.com SIP/2.0 6866 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6867 ;branch=z9hG4bK74bfq 6868 Max-Forwards: 70 6869 From: Alice ;tag=f23fkg14k 6870 To: Bob 6871 Call-ID: aoij4i9okitr@atlanta.example.com 6872 CSeq: 1 INVITE 6873 Contact: 6874 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6875 Supported: replaces 6876 Content-Type: application/sdp 6877 Content-Length: ... 6879 v=0 6880 o=alice 2890844826 2890844826 IN IP4 client.atlanta.example.com 6881 s= 6882 c=IN IP4 client.atlanta.example.com 6883 t=0 0 6884 m=audio 49170 RTP/AVP 0 6885 a=rtpmap:0 PCMU/8000 6886 F11 180 Ringing Bob -> Alice 6888 SIP/2.0 180 Ringing 6889 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6890 ;branch=z9hG4bK74bfq 6891 ;received=192.0.2.103 6892 From: Alice ;tag=f23fkg14k 6893 To: Bob ;tag=23431 6894 Call-ID: aoij4i9okitr@atlanta.example.com 6895 CSeq: 1 INVITE 6896 Contact: 6897 Content-Length: 0 6899 F12 200 OK Bob -> Alice 6901 SIP/2.0 200 OK 6902 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6903 ;branch=z9hG4bK74bfq 6904 ;received=192.0.2.103 6905 From: Alice ;tag=f23fkg14k 6906 To: Bob ;tag=23431 6907 Call-ID: aoij4i9okitr@atlanta.example.com 6908 CSeq: 1 INVITE 6909 Contact: 6910 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6911 Supported: replaces 6912 Content-Type: application/sdp 6913 Content-Length: ... 6915 v=0 6916 o=bob 2890854527 2890854527 IN IP4 client.biloxi.example.com 6917 s= 6918 c=IN IP4 client.biloxi.example.com 6919 t=0 0 6920 m=audio 3456 RTP/AVP 0 6921 a=rtpmap:0 PCMU/8000 6923 F13 ACK Alice -> Bob 6925 ACK sips:bob@client.biloxi.example.com SIP/2.0 6926 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6927 ;branch=z9hG4bK74bLBJ 6928 Max-Forwards: 70 6929 From: Alice ;tag=f23fkg14k 6930 To: Bob ;tag=23431 6931 Call-ID: aoij4i9okitr@atlanta.example.com 6932 CSeq: 1 ACK 6933 Content-Length: 0 6935 F14 NOTIFY Bob -> Alice 6937 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 6938 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6939 ;branch=z9hG4bK4bnd2 6940 Max-Forwards: 70 6941 From: Bob ;tag=341123 6942 To: Alice ;tag=837348234 6943 Call-ID: 4524526232@atlanta.example.com 6944 CSeq: 3 NOTIFY 6945 Contact: 6946 Event: dialog 6947 Subscription-State: active;expires=15 6948 Content-Type: application/dialog-info+xml 6949 Content-Length: ... 6951 6952 6954 6955 1 6956 confirmed 6957 6958 6960 F15 200 OK Alice -> Bob 6962 SIP/2.0 200 OK 6963 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6964 ;branch=z9hG4bK4bnd2 6965 ;received=192.0.2.105 6966 From: Bob ;tag=341123 6967 To: Alice ;tag=837348234 6968 Call-ID: 4524526232@atlanta.example.com 6969 CSeq: 3 NOTIFY 6970 Content-Length: 0 6972 /* Alice terminates the subscription */ 6974 F16 SUBSCRIBE Alice -> Bob 6976 SUBSCRIBE sips:bob@client.biloxi.example.com SIP/2.0 6977 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6978 ;branch=z9hG4bK474b8 6979 Max-Forwards: 70 6980 From: Alice ;tag=837348234 6981 To: Alice ;tag=837348234 6982 Call-ID: 4524526232@atlanta.example.com 6983 CSeq: 2 SUBSCRIBE 6984 Contact: sips:alice@client.atlanta.example.com 6985 Event: dialog 6986 Expires: 0 6987 Accept: application/dialog-info+xml 6988 Content-Length: 0 6990 F17 200 OK Bob -> Alice 6992 SIP/2.0 200 OK 6993 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6994 ;branch=z9hG4bK474b8 6995 ;received=192.0.2.103 6996 From: Alice ;tag=837348234 6997 To: Bob ;tag=341123 6998 Call-ID: 4524526232@atlanta.example.com 6999 Expires: 0 7000 CSeq: 2 SUBSCRIBE 7001 Contact: sips:bob@client.biloxi.example.com 7002 Content-Length: 0 7004 F18 NOTIFY Bob -> Alice 7006 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 7007 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7008 ;branch=z9hG4bKb5n2j 7009 Max-Forwards: 70 7010 From: Bob ;tag=341123 7011 To: Alice ;tag=837348234 7012 Call-ID: 4524526232@atlanta.example.com 7013 CSeq: 4 NOTIFY 7014 Contact: 7015 Event: dialog 7016 Subscription-State: terminated;reason=noresource 7017 Content-Type: application/dialog-info+xml 7018 Content-Length: ... 7020 7021 7024 7025 3 7026 confirmed 7027 7028 7030 F19 200 OK Alice -> Bob 7032 SIP/2.0 200 OK 7033 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7034 ;branch=z9hG4bKb5n2j 7035 ;received=192.0.2.105 7036 From: Bob ;tag=341123 7037 To: Alice ;tag=837348234 7038 Call-ID: 4524526232@atlanta.example.com 7039 CSeq: 4 NOTIFY 7040 Content-Length: 0 7042 2.18. Click to Dial 7044 Bob's PC Bob Carol 7045 | REFER Refer-To:Carol F1 | 7046 |------------------->| | 7047 | 202 Accepted F2 | | 7048 |<-------------------| | 7049 | | INVITE F3 | 7050 | |------------------->| 7051 | | 180 Ringing F4 | 7052 | |<-------------------| 7053 | | 200 OK F5 | 7054 | |<-------------------| 7055 | | ACK F6 | 7056 | |------------------->| 7057 | | RTP | 7058 | |<==================>| 7059 | | | 7061 In this example, while browsing the web on his PC, Bob clicks on 7062 Carol's SIP URI intending to establish a session with Carol. Bob's 7063 web browser passes the SIP URI to the SIP client on Bob's PC. The PC 7064 client is configured with the URI of Bob's SIP phone. A REFER is 7065 sent to the SIP phone which results in the establishment of the 7066 session between Bob and Carol. 7068 Note that Bob's PC requests that no REFER dialog be established by 7069 the use of the Refer-Sub: false header field [RFC4488]. 7071 This flow is preferable to the 3pcc flow because the end-to-end SIP 7072 signaling is not interrupted by the 3pcc controller, and because 7073 Bob's experience of the call will not be marred by the lack of 7074 ringback tone or possible clipping. Suitable authorization of the 7075 REFER and explicit authorization of the triggered INVITE by Bob is 7076 necessary. 7078 Message Details 7080 /* Bob's PC SIP Client sends a REFER to Bob's SIP phone */ 7082 F1 REFER PC -> Bob 7084 REFER sips:bob@biloxi.example.com SIP/2.0 7085 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 7086 ;branch=z9hG4bKnashds7 7087 Max-Forwards: 70 7088 From: ;tag=1234567 7089 To: Bob 7090 Call-ID: 1234560183434 7091 CSeq: 1 REFER 7092 Refer-To: 7093 Refer-Sub: false 7094 Contact: 7095 Content-Length: 0 7097 F2 202 Accepted Bob -> PC 7099 SIP/2.0 202 Accepted 7100 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7101 ;branch=z9hG4bKnashds7 7102 ;received=192.0.2.103 7103 From: ;tag=1234567 7104 To: Bob ;tag=314159 7105 Call-ID: 1234560183434 7106 Contact: 7107 CSeq: 1 REFER 7108 Refer-Sub: false 7109 Content-Length: 0 7111 F3 INVITE Bob -> Carol 7112 INVITE sips:carol@chicago.example.com SIP/2.0 7113 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7114 ;branch=z9hG4bKnashdK9 7115 Max-Forwards: 70 7116 From: Bob ;tag=8675309 7117 To: Carol 7118 Call-ID: 7436222@atlanta.example.com 7119 CSeq: 1 INVITE 7120 Contact: 7121 Referred-By: 7122 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 7123 Supported: replaces 7124 Content-Type: application/sdp 7125 Content-Length: ... 7127 v=0 7128 o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com 7129 s= 7130 c=IN IP4 client.biloxi.example.com 7131 t=0 0 7132 m=audio 3458 RTP/AVP 0 7133 a=rtpmap:0 PCMU/8000 7135 F4 180 Ringing Carol -> Bob 7137 SIP/2.0 180 Ringing 7138 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7139 ;branch=z9hG4bKnashdK9 7140 ;received=192.0.2.113 7141 From: Bob ;tag=8675309 7142 To: Carol ;tag=928287 7143 Call-ID: 7436222@atlanta.example.com 7144 CSeq: 1 INVITE 7145 Contact: 7146 Content-Length: 0 7148 F5 200 OK Carol -> Bob 7150 SIP/2.0 200 OK 7151 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7152 ;branch=z9hG4bKnashdK9 7153 ;received=192.0.2.113 7154 From: Bob ;tag=8675309 7155 To: Carol ;tag=928287 7156 Call-ID: 7436222@atlanta.example.com 7157 CSeq: 1 INVITE 7158 Contact: 7159 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 7160 Supported: replaces 7161 Content-Type: application/sdp 7162 Content-Length: ... 7164 v=0 7165 o=carol 2890844527 2890844527 IN IP4 client.chicago.example.com 7166 s= 7167 c=IN IP4 client.chicago.example.com 7168 t=0 0 7169 m=audio 3456 RTP/AVP 0 7170 a=rtpmap:0 PCMU/8000 7172 F6 ACK Bob -> Carol 7174 ACK sips:carol@client.chicago.example.com SIP/2.0 7175 Via: SIP/2.0/TLS client.biloxi.example.com:5061 7176 ;branch=z9hG4bKnashd43 7177 Max-Forwards: 70 7178 From: Bob ;tag=8675309 7179 To: Carol ;tag=928287 7180 Call-ID: 7436222@atlanta.example.com 7181 CSeq: 1 ACK 7182 Content-Length: 0 7184 /* Bob and Carol now have established a session. */ 7186 3. Security Considerations 7188 Since many of the examples in this document involve SIP call control, 7189 either peer-to-peer or 3pcc, the security considerations in the 7190 Multiparty Framework document [I-D.ietf-sipping-cc-framework] apply. 7192 Many of the services shown in this document rely on a particular user 7193 agent being part of a group. Members of a group could be, for 7194 example, employees within a particular department, a set of home 7195 phone extensions, members of a call center, etc. As such, user 7196 agents which are part of the group permit other group members special 7197 privileges and features. For example, while a user agent may not in 7198 general allow another user agent to learn detailed dialog 7199 information, this information might be shared with another group 7200 member in order to facilitate a service such as call pickup. Group 7201 members must be authenticated using normal SIP means such as 7202 certificates or shared secrets. 7204 The service examples in this document make extensive use of the SIP 7205 call control primitives REFER, Replaces, Join, and the dialog 7206 package. The security considerations associated with each of these 7207 extensions [RFC3515], [RFC3891], [RFC3911], [RFC4235] apply to the 7208 scenarios in this document. 7210 4. IANA Considerations 7212 None. 7214 5. Acknowledgements 7216 The authors would like to thank the following reviewers of the 7217 document for their detailed comments and corrections: Vijay Gurbani, 7218 John Elwell, Joel Repiquet, Nagesh Kumar, Chandra Ravipati, Eric 7219 Burger, Jeroen Bemmel, Miguel Garcia, and Dale Worley. 7221 The Transfer - Instant Messaging call flow is based on the "IM-a- 7222 call" call flow by Jonathan Rosenberg and Henning Schulzrinne. The 7223 Automatic Call Back call flow is based on a call flow by Adam Roach. 7224 The authors wish to thank the following individuals for their 7225 assistance and review of this call flows document: Joel Repiquet, Aki 7226 Neimi, Rohan Mahy, Jonathan Rosenberg, Hemant Agrawal, Henry 7227 Sinnreich, Dean Willis, David Devanatham, Joe Pizzimenti, Matt 7228 Cannon, John Hearty, the whole MCI WorldCom IPOP Design team, Scott 7229 Orton, Greg Osterhout, Pat Sollee, Doug Weisenberg, Danny Mistry, 7230 Steve McKinnon, and Denise Ingram, Denise Caballero, Tom Redman, Ilya 7231 Slain, Pat Sollee, John Truetken, and others from MCI WorldCom, 3Com, 7232 Cisco, Lucent and Nortel. 7234 6. References 7236 6.1. Normative References 7238 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 7239 A., Peterson, J., Sparks, R., Handley, M., and E. 7240 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 7241 June 2002. 7243 [RFC3515] Sparks, R., "The Session Initiation Protocol (SIP) Refer 7244 Method", RFC 3515, April 2003. 7246 [RFC3891] Mahy, R., Biggs, B., and R. Dean, "The Session Initiation 7247 Protocol (SIP) "Replaces" Header", RFC 3891, 7248 September 2004. 7250 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 7251 with Session Description Protocol (SDP)", RFC 3264, 7252 June 2002. 7254 [RFC3265] Roach, A., "Session Initiation Protocol (SIP)-Specific 7255 Event Notification", RFC 3265, June 2002. 7257 [RFC4235] 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 [RFC3911] Mahy, R. and D. Petrie, "The Session Initiation Protocol 7262 (SIP) "Join" Header", RFC 3911, October 2004. 7264 [RFC3840] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, 7265 "Indicating User Agent Capabilities in the Session 7266 Initiation Protocol (SIP)", RFC 3840, August 2004. 7268 [RFC4579] Johnston, A. and O. Levin, "Session Initiation Protocol 7269 (SIP) Call Control - Conferencing for User Agents", 7270 BCP 119, RFC 4579, August 2006. 7272 [RFC3428] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., 7273 and D. Gurle, "Session Initiation Protocol (SIP) Extension 7274 for Instant Messaging", RFC 3428, December 2002. 7276 [RFC4488] Levin, O., "Suppression of Session Initiation Protocol 7277 (SIP) REFER Method Implicit Subscription", RFC 4488, 7278 May 2006. 7280 6.2. Informative References 7282 [I-D.ietf-sipping-cc-transfer] 7283 Sparks, R., "Session Initiation Protocol Call Control - 7284 Transfer", draft-ietf-sipping-cc-transfer-09 (work in 7285 progress), December 2007. 7287 [I-D.ietf-sipping-cc-framework] 7288 Mahy, R., Sparks, R., Rosenberg, J., Petrie, D., and A. 7289 Johnston, "A Call Control and Multi-party usage framework 7290 for the Session Initiation Protocol (SIP)", 7291 draft-ietf-sipping-cc-framework-10 (work in progress), 7292 April 2008. 7294 [RFC3665] Johnston, A., Donovan, S., Sparks, R., Cunningham, C., and 7295 K. Summers, "Session Initiation Protocol (SIP) Basic Call 7296 Flow Examples", BCP 75, RFC 3665, December 2003. 7298 [RFC3725] Rosenberg, J., Peterson, J., Schulzrinne, H., and G. 7299 Camarillo, "Best Current Practices for Third Party Call 7300 Control (3pcc) in the Session Initiation Protocol (SIP)", 7301 BCP 85, RFC 3725, April 2004. 7303 [I-D.ietf-sip-gruu] 7304 Rosenberg, J., "Obtaining and Using Globally Routable User 7305 Agent (UA) URIs (GRUU) in the Session Initiation Protocol 7306 (SIP)", draft-ietf-sip-gruu-15 (work in progress), 7307 October 2007. 7309 [RFC4317] Johnston, A. and R. Sparks, "Session Description Protocol 7310 (SDP) Offer/Answer Examples", RFC 4317, December 2005. 7312 [RFC4475] Sparks, R., Hawrylyshen, A., Johnston, A., Rosenberg, J., 7313 and H. Schulzrinne, "Session Initiation Protocol (SIP) 7314 Torture Test Messages", RFC 4475, May 2006. 7316 Authors' Addresses 7318 Alan Johnston (editor) 7319 Avaya 7320 St. Louis, MO 63124 7322 Email: alan@sipstation.com 7324 Robert J. Sparks 7325 Estacado Systems 7327 Email: RjS@estacado.net 7329 Chris Cunningham 7330 Cisco Systems 7332 Email: chrcunni@cisco.com 7334 Steve Donovan 7335 Cisco Systems 7337 Email: srd@cisco.com 7338 Kevin Summers 7339 Sonus 7340 Plano, TX 75093 7342 Email: ksummers@sonusnet.com 7344 Full Copyright Statement 7346 Copyright (C) The IETF Trust (2008). 7348 This document is subject to the rights, licenses and restrictions 7349 contained in BCP 78, and except as set forth therein, the authors 7350 retain all their rights. 7352 This document and the information contained herein are provided on an 7353 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 7354 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 7355 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 7356 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 7357 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 7358 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 7360 Intellectual Property 7362 The IETF takes no position regarding the validity or scope of any 7363 Intellectual Property Rights or other rights that might be claimed to 7364 pertain to the implementation or use of the technology described in 7365 this document or the extent to which any license under such rights 7366 might or might not be available; nor does it represent that it has 7367 made any independent effort to identify any such rights. Information 7368 on the procedures with respect to rights in RFC documents can be 7369 found in BCP 78 and BCP 79. 7371 Copies of IPR disclosures made to the IETF Secretariat and any 7372 assurances of licenses to be made available, or the result of an 7373 attempt made to obtain a general license or permission for the use of 7374 such proprietary rights by implementers or users of this 7375 specification can be obtained from the IETF on-line IPR repository at 7376 http://www.ietf.org/ipr. 7378 The IETF invites any interested party to bring to its attention any 7379 copyrights, patents or patent applications, or other proprietary 7380 rights that may cover technology that may be required to implement 7381 this standard. Please address the information to the IETF at 7382 ietf-ipr@ietf.org.