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