idnits 2.17.1 draft-ietf-sipping-service-examples-11.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 on line 7016. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 7027. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 7034. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 7040. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 2 instances of too long lines in the document, the longest one being 5 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 1025 has weird spacing: '... /* Bob place...' == Line 2459 has weird spacing: '...and Bob have ...' == Line 2597 has weird spacing: '... /* Bob puts ...' == Line 2817 has weird spacing: '...lls Bob that ...' == Line 4273 has weird spacing: '...and Bob have ...' == (2 more instances...) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (October 20, 2006) is 6397 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: Informational ---------------------------------------------------------------------------- == Unused Reference: '1' is defined on line 6893, but no explicit reference was found in the text == Unused Reference: '13' is defined on line 6936, but no explicit reference was found in the text == Unused Reference: '14' is defined on line 6939, but no explicit reference was found in the text == Unused Reference: '20' is defined on line 6964, but no explicit reference was found in the text == Unused Reference: '21' is defined on line 6968, 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 == Outdated reference: A later version (-15) exists of draft-ietf-sip-gruu-10 Summary: 5 errors (**), 0 flaws (~~), 15 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SIPPING Working Group A. Johnston, Ed. 3 Internet-Draft Avaya 4 Intended status: Informational R. Sparks 5 Expires: April 23, 2007 Estacado Systems 6 C. Cunningham 7 S. Donovan 8 Cisco Systems 9 K. Summers 10 Prodea Systems 11 October 20, 2006 13 Session Initiation Protocol Service Examples 14 draft-ietf-sipping-service-examples-11 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 April 23, 2007. 41 Copyright Notice 43 Copyright (C) The Internet Society (2006). 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 headers. 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 . . . . . . . . . . . . . . . . . . . . . . . . 4 64 2.2. Consultation Hold . . . . . . . . . . . . . . . . . . . . 17 65 2.3. Music On Hold . . . . . . . . . . . . . . . . . . . . . . 36 66 2.4. Transfer - Unattended . . . . . . . . . . . . . . . . . . 44 67 2.5. Transfer - Attended . . . . . . . . . . . . . . . . . . . 51 68 2.6. Transfer - Instant Messaging . . . . . . . . . . . . . . 64 69 2.7. Call Forwarding Unconditional . . . . . . . . . . . . . . 70 70 2.8. Call Forwarding - Busy . . . . . . . . . . . . . . . . . 76 71 2.9. Call Forwarding - No Answer . . . . . . . . . . . . . . . 84 72 2.10. 3-way Conference - Third Party is Added . . . . . . . . . 93 73 2.11. 3-way Conference - Third Party Joins . . . . . . . . . . 99 74 2.12. Find-Me . . . . . . . . . . . . . . . . . . . . . . . . . 104 75 2.13. Call Management (Incoming Call Screening) . . . . . . . . 116 76 2.14. Call Management (Outgoing Call Screening) . . . . . . . . 124 77 2.15. Call Park . . . . . . . . . . . . . . . . . . . . . . . . 127 78 2.16. Call Pickup . . . . . . . . . . . . . . . . . . . . . . . 137 79 2.17. Automatic Redial . . . . . . . . . . . . . . . . . . . . 144 80 2.18. Click to Dial . . . . . . . . . . . . . . . . . . . . . . 150 81 3. Security Considerations . . . . . . . . . . . . . . . . . . . 153 82 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 153 83 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 153 84 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 154 85 6.1. Normative References . . . . . . . . . . . . . . . . . . 154 86 6.2. Informative References . . . . . . . . . . . . . . . . . 155 87 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 156 88 Intellectual Property and Copyright Statements . . . . . . . . . 157 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 references 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], the SIP header 138 extension Join [9], and some of the concepts in the 3pcc (third party 139 call control) [19] document. The SIP Events document [6] describes 140 the use of SUBSCRIBE and NOTIFY while the SIP Dialog Event Package 141 [8] document describes the dialog event package. Some examples make 142 use of the GRUU (Globally Routable User Agent URI) [22] extension. 144 These flows were prepared assuming a network of proxies, registrars, 145 PSTN gateways, and other SIP servers. The use of Secure SIP URIs 146 (sips) is shown throughout this document, implying TLS transport on 147 each hop with assumed certificate validation. However, other 148 security approaches can be used. The use of Digest authentication is 149 shown in some examples. 151 Each call flow is presented with a textual description of the 152 scenario, a message flow diagram showing the messages exchanged 153 between separate network elements, and the detailed contents of each 154 message shown in the diagram. 156 1.1 Legend for Message Flows 158 Dashed lines (---) represent control messages that are mandatory to 159 the call scenario. These control messages can be SIP signaling. 161 Double dashed lines (===) represent media paths between network 162 elements. 164 Messages with parenthesis around name represent optional control 165 messages. 167 Messages are identified in the Figures as F1, F2, etc. This 168 references the message details in the table that follows the Figure. 170 Lines longer than 72 characters are handled using the 171 convention defined in Section 2.1 of RFC 4475 [17]. 173 Comments in the message details are shown in the following form: 175 /* Comments. */ 177 2. Service Examples 179 2.1. Call Hold 180 Alice Proxy Bob 181 | | | 182 | INVITE F1 | | 183 |--------------->| | 184 | | INVITE F2 | 185 |(100 Trying) F3 |------------->| 186 |<---------------| | 187 | |180 Ringing F4| 188 | 180 Ringing F5 |<-------------| 189 |<---------------| | 190 | | 200 OK F6 | 191 | 200 OK F7 |<-------------| 192 |<---------------| | 193 | ACK F8 | | 194 |--------------->| ACK F9 | 195 | |------------->| 196 | Both way RTP Established | 197 |<=============================>| 198 | |INVITE(hold) F10 199 |INVITE(hold) F11|<-------------| 200 |<---------------| | 201 | 200 OK F12 | | 202 |--------------->| 200 OK F13 | 203 | |------------->| 204 | | ACK F14 | 205 | ACK F15 |<-------------| 206 |<---------------| | 207 | No RTP Sent! | 208 | | INVITE F16 | 209 | INVITE F17 |<-------------| 210 |<---------------| | 211 | 200 OK F18 | | 212 |--------------->| 200 OK F19 | 213 | |------------->| 214 | | ACK F20 | 215 | ACK F21 |<-------------| 216 |<---------------| | 217 | Both way RTP Established | 218 |<=============================>| 219 | BYE F22 | | 220 |--------------->| BYE F23 | 221 | |------------->| 222 | | 200 OK F24 | 223 | 200 OK F25 |<-------------| 224 |<---------------| | 225 | | | 227 In this scenario, Alice calls Bob, then Bob places the call on hold. 229 Bob then takes call off hold. Alice hangs up call. Note that hold 230 is unidirectional in nature. However, a UA that places the other 231 party on hold will generally also stop sending media, resulting in no 232 media exchange between the UAs. Older UAs may set the connection 233 address to 0.0.0.0 when initiating hold. However, this behavior has 234 been deprecated in favor of using the a=sendonly SDP attribute. 236 Message Details 238 F1 INVITE Alice -> Proxy 1 240 INVITE sips:bob@biloxi.example.com SIP/2.0 241 Via: SIP/2.0/TLS client.atlanta.example.com:5061 242 ;branch=z9hG4bK74bf9 243 Max-Forwards: 70 244 From: Alice ;tag=1234567 245 To: Bob 246 Call-ID: 12345601@atlanta.example.com 247 CSeq: 1 INVITE 248 Contact: 249 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 250 Supported: replaces 251 Content-Type: application/sdp 252 Content-Length: ... 254 v=0 255 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 256 s= 257 c=IN IP4 client.atlanta.example.com 258 t=0 0 259 m=audio 49170 RTP/AVP 0 260 a=rtpmap:0 PCMU/8000 262 F2 INVITE Proxy 1 -> Bob 264 INVITE sips:bob@client.biloxi.example.com SIP/2.0 265 Via: SIP/2.0/TLS ss1.example.com:5061 266 ;branch=z9hG4bK83749.1 267 Via: SIP/2.0/TLS client.atlanta.example.com:5061 268 ;branch=z9hG4bK74bf9 269 ;received=192.0.2.103 270 Record-Route: 271 Max-Forwards: 69 272 From: Alice ;tag=1234567 273 To: Bob 274 Call-ID: 12345601@atlanta.example.com 275 CSeq: 1 INVITE 276 Contact: 277 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 278 Supported: replaces 279 Content-Type: application/sdp 280 Content-Length: ... 282 v=0 283 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 284 s= 285 c=IN IP4 client.atlanta.example.com 286 t=0 0 287 m=audio 49170 RTP/AVP 0 288 a=rtpmap:0 PCMU/8000 290 F3 (100 Trying) Proxy 1 -> Alice 292 SIP/2.0 100 Trying 293 Via: SIP/2.0/TLS client.atlanta.example.com:5061 294 ;branch=z9hG4bK74bf9 295 ;received=192.0.2.103 296 From: Alice ;tag=1234567 297 To: Bob 298 Call-ID: 12345601@atlanta.example.com 299 CSeq: 1 INVITE 300 Content-Length: 0 302 F4 180 Ringing Bob -> Proxy 1 304 SIP/2.0 180 Ringing 305 Via: SIP/2.0/TLS ss1.example.com:5061 306 ;branch=z9hG4bK83749.1 307 ;received=192.0.2.54 308 Via: SIP/2.0/TLS client.atlanta.example.com:5061 309 ;branch=z9hG4bK74bf9 310 ;received=192.0.2.103 311 Record-Route: 312 From: Alice ;tag=1234567 313 To: Bob ;tag=314159 314 Call-ID: 12345601@atlanta.example.com 315 CSeq: 1 INVITE 316 Contact: 317 Content Length:0 319 F5 180 Ringing Proxy 1 -> Alice 320 SIP/2.0 180 Ringing 321 Via: SIP/2.0/TLS client.atlanta.example.com:5061 322 ;branch=z9hG4bK74bf9 323 ;received=192.0.2.103 324 Record-Route: 325 From: Alice ;tag=1234567 326 To: Bob ;tag=314159 327 Call-ID: 12345601@atlanta.example.com 328 CSeq: 1 INVITE 329 Contact: 330 Content Length: 0 332 F6 200 OK Bob -> Proxy 1 334 SIP/2.0 200 OK 335 Via: SIP/2.0/TLS ss1.example.com:5061 336 ;branch=z9hG4bK83749.1 337 ;received=192.0.2.54 338 Via: SIP/2.0/TLS client.atlanta.example.com:5061 339 ;branch=z9hG4bK74bf9 340 ;received=192.0.2.103 341 Record-Route: 342 From: Alice ;tag=1234567 343 To: Bob ;tag=314159 344 Call-ID: 12345601@atlanta.example.com 345 CSeq: 1 INVITE 346 Contact: 347 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 348 Supported: replaces 349 Content-Type: application/sdp 350 Content-Length: ... 352 v=0 353 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 354 s= 355 c=IN IP4 client.biloxi.example.com 356 t=0 0 357 m=audio 3456 RTP/AVP 0 358 a=rtpmap:0 PCMU/8000 360 F7 200 OK Proxy 1 -> Alice 362 SIP/2.0 200 OK 363 Via: SIP/2.0/TLS client.atlanta.example.com:5061 364 ;branch=z9hG4bK74bf9 365 ;received=192.0.2.103 367 Record-Route: 368 From: Alice ;tag=1234567 369 To: Bob ;tag=314159 370 Call-ID: 12345601@atlanta.example.com 371 CSeq: 1 INVITE 372 Contact: 373 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 374 Supported: replaces 375 Content-Type: application/sdp 376 Content-Length: ... 378 v=0 379 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 380 s= 381 c=IN IP4 client.biloxi.example.com 382 t=0 0 383 m=audio 3456 RTP/AVP 0 384 a=rtpmap:0 PCMU/8000 386 F8 ACK Alice -> Proxy 1 388 ACK sips:bob@client.biloxi.example.com SIP/2.0 389 Via: SIP/2.0/TLS client.atlanta.example.com:5061 390 ;branch=z9hG4bK74bf92 391 Route: 392 Max-Forwards: 70 393 From: Alice ;tag=1234567 394 To: Bob ;tag=314159 395 Call-ID: 12345601@atlanta.example.com 396 CSeq: 1 ACK 397 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 398 Supported: replaces 399 Content-Length: 0 401 F9 ACK Proxy 1 -> Bob 403 ACK sips:bob@client.biloxi.example.com SIP/2.0 404 Via: SIP/2.0/TLS ss1.example.com:5061 405 ;branch=z9hG4bK837492.1 406 Via: SIP/2.0/TLS client.atlanta.example.com:5061 407 ;branch=z9hG4bK74bf92 408 ;received=192.0.2.103 409 Max-Forwards: 69 410 From: Alice ;tag=1234567 411 To: Bob ;tag=314159 412 Call-ID: 12345601@atlanta.example.com 413 CSeq: 1 ACK 414 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 415 Supported: replaces 416 Content-Length: 0 418 /* Bob places Alice on hold. Note that the version is 419 incremented in the o= field of the SDP */ 421 F10 INVITE Bob -> Proxy 1 423 INVITE sips:alice@client.atlanta.example.com SIP/2.0 424 Via: SIP/2.0/TLS client.biloxi.example.com:5061 425 ;branch=z9hG4bKnashds7 426 Route: 427 Max-Forwards: 70 428 From: Bob ;tag=314159 429 To: Alice ;tag=1234567 430 Call-ID: 12345601@atlanta.example.com 431 CSeq: 1 INVITE 432 Contact: 433 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 434 Supported: replaces 435 Content-Type: application/sdp 436 Content-Length: ... 438 v=0 439 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 440 s= 441 c=IN IP4 client.biloxi.example.com 442 t=0 0 443 m=audio 3456 RTP/AVP 0 444 a=rtpmap:0 PCMU/8000 445 a=sendonly 447 F11 INVITE Proxy 1 -> Alice 449 INVITE sips:alice@client.atlanta.example.com SIP/2.0 451 Via: SIP/2.0/TLS ss1.example.com:5061 452 ;branch=z9hG4bK83749.1 453 Via: SIP/2.0/TLS client.biloxi.example.com:5061 454 ;branch=z9hG4bKnashds7 455 ;received=192.0.2.105 456 Record-Route: 457 Max-Forwards: 69 458 From: Bob ;tag=314159 459 To: Alice ;tag=1234567 460 Call-ID: 12345601@atlanta.example.com 461 CSeq: 1 INVITE 462 Contact: 463 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 464 Supported: replaces 465 Content-Type: application/sdp 466 Content-Length: ... 468 v=0 469 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 470 s= 471 c=IN IP4 client.biloxi.example.com 472 t=0 0 473 m=audio 3456 RTP/AVP 0 474 a=rtpmap:0 PCMU/8000 475 a=sendonly 477 /* Alice replies to hold */ 479 F12 200 OK Alice -> Proxy 1 481 SIP/2.0 200 OK 482 Via: SIP/2.0/TLS ss1.example.com:5061 483 ;branch=z9hG4bK83749.1 484 ;received=192.0.2.54 485 Via: SIP/2.0/TLS client.biloxi.example.com:5061 486 ;branch=z9hG4bKnashds7 487 ;received=192.0.2.105 488 Record-Route: 489 From: Bob ;tag=314159 490 To: Alice ;tag=1234567 491 Call-ID: 12345601@atlanta.example.com 492 CSeq: 1 INVITE 493 Contact: 494 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 495 Supported: replaces 496 Content-Type: application/sdp 497 Content-Length: ... 499 v=0 500 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 501 s= 502 c=IN IP4 client.atlanta.example.com 503 t=0 0 504 m=audio 49170 RTP/AVP 0 505 a=rtpmap:0 PCMU/8000 506 a=recvonly 508 F13 200 OK Proxy 1 -> Bob 510 SIP/2.0 200 OK 511 Via: SIP/2.0/TLS client.biloxi.example.com:5061 512 ;branch=z9hG4bKnashds7 513 ;received=192.0.2.105 514 Record-Route: 515 From: Bob ;tag=314159 516 To: Alice ;tag=1234567 517 Call-ID: 12345601@atlanta.example.com 518 CSeq: 1 INVITE 519 Contact: 520 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 521 Supported: replaces 522 Content-Type: application/sdp 523 Content-Length: ... 525 v=0 526 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 527 s= 528 c=IN IP4 client.atlanta.example.com 529 t=0 0 530 m=audio 49170 RTP/AVP 0 531 a=rtpmap:0 PCMU/8000 532 a=recvonly 534 F14 ACK Bob -> Proxy 1 536 ACK sips:alice@client.atlanta.example.com SIP/2.0 537 Via: SIP/2.0/TLS client.biloxi.example.com:5061 538 ;branch=z9hG4bKnashds72 539 Route: 540 Max-Forwards: 70 541 From: Bob ;tag=314159 542 To: Alice ;tag=1234567 543 Call-ID: 12345601@atlanta.example.com 544 CSeq: 1 ACK 545 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 546 Supported: replaces 547 Content-Length: 0 549 F15 ACK Proxy 1 -> Alice 550 ACK sips:alice@client.atlanta.example.com SIP/2.0 551 Via: SIP/2.0/TLS ss1.example.com:5061 552 ;branch=z9hG4bK83749.1 553 Via: SIP/2.0/TLS client.biloxi.example.com:5061 554 ;branch=z9hG4bKnashds72 555 ;received=192.0.2.105 556 Max-Forwards: 69 557 From: Bob ;tag=314159 558 To: Alice ;tag=1234567 559 Call-ID: 12345601@atlanta.example.com 560 CSeq: 1 ACK 561 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 562 Supported: replaces 563 Content-Length: 0 565 /* Bob takes the call off hold */ 567 F16 INVITE Bob -> Proxy 1 569 INVITE sips:alice@client.atlanta.example.com SIP/2.0 570 Via: SIP/2.0/TLS client.biloxi.example.com:5061 571 ;branch=z9hG4bKnashds73 572 Route: 573 Max-Forwards: 70 574 From: Bob ;tag=314159 575 To: Alice ;tag=1234567 576 Call-ID: 12345601@atlanta.example.com 577 CSeq: 2 INVITE 578 Contact: 579 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 580 Supported: replaces 581 Content-Type: application/sdp 582 Content-Length: ... 584 v=0 585 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 586 s= 587 c=IN IP4 client.biloxi.example.com 588 t=0 0 589 m=audio 3456 RTP/AVP 0 590 a=rtpmap:0 PCMU/8000 592 F17 INVITE Proxy 1 -> Alice 594 INVITE sips:alice@client.atlanta.example.com SIP/2.0 595 Via: SIP/2.0/TLS ss1.example.com:5061 596 ;branch=z9hG4bK837493.1 597 Via: SIP/2.0/TLS client.biloxi.example.com:5061 598 ;branch=z9hG4bKnashds73 599 ;received=192.0.2.105 600 Record-Route: 601 Max-Forwards: 69 602 From: Bob ;tag=314159 603 To: Alice ;tag=1234567 604 Call-ID: 12345601@atlanta.example.com 605 CSeq: 2 INVITE 606 Contact: 607 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 608 Supported: replaces 609 Content-Type: application/sdp 610 Content-Length: ... 612 v=0 613 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 614 s= 615 c=IN IP4 client.biloxi.example.com 616 t=0 0 617 m=audio 3456 RTP/AVP 0 618 a=rtpmap:0 PCMU/8000 620 F18 200 OK Alice -> Proxy 1 622 SIP/2.0 200 OK 623 Via: SIP/2.0/TLS ss1.example.com:5061 624 ;branch=z9hG4bK837493.1 625 ;received=192.0.2.54 626 Via: SIP/2.0/TLS client.biloxi.example.com:5061 627 ;branch=z9hG4bKnashds73 628 ;received=192.0.2.105 629 Record-Route: 630 From: Bob ;tag=314159 631 To: Alice ;tag=1234567 632 Call-ID: 12345601@atlanta.example.com 633 CSeq: 2 INVITE 634 Contact: 635 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 636 Supported: replaces 637 Content-Type: application/sdp 638 Content-Length: ... 640 v=0 641 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 642 s= 643 c=IN IP4 client.atlanta.example.com 644 t=0 0 645 m=audio 49170 RTP/AVP 0 646 a=rtpmap:0 PCMU/8000 648 F19 200 OK Proxy 1 -> Bob 650 SIP/2.0 200 OK 651 Via: SIP/2.0/TLS client.biloxi.example.com:5061 652 ;branch=z9hG4bKnashds73 653 ;received=192.0.2.105 654 Record-Route: 655 From: Bob ;tag=314159 656 To: Alice ;tag=1234567 657 Call-ID: 12345601@atlanta.example.com 658 CSeq: 2 INVITE 659 Contact: 660 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 661 Supported: replaces 662 Content-Type: application/sdp 663 Content-Length: ... 665 v=0 666 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 667 s= 668 c=IN IP4 client.atlanta.example.com 669 t=0 0 670 m=audio 49170 RTP/AVP 0 671 a=rtpmap:0 PCMU/8000 673 F20 ACK Bob -> Proxy 1 675 ACK sips:alice@client.atlanta.example.com SIP/2.0 676 Via: SIP/2.0/TLS client.biloxi.example.com:5061 677 ;branch=z9hG4bKnashds74 678 Route: 679 Max-Forwards: 70 680 From: Bob ;tag=314159 681 To: Alice ;tag=1234567 682 Call-ID: 12345601@atlanta.example.com 683 CSeq: 2 ACK 684 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 685 Supported: replaces 686 Content-Length: 0 687 F21 ACK Proxy 1 -> Alice 689 ACK sips:alice@client.atlanta.example.com SIP/2.0 690 Via: SIP/2.0/TLS ss1.example.com:5061 691 ;branch=z9hG4bK837494.1 692 Via: SIP/2.0/TLS client.biloxi.example.com:5061 693 ;branch=z9hG4bKnashds74 694 ;received=192.0.2.105 695 Max-Forwards: 69 696 From: Bob ;tag=314159 697 To: Alice ;tag=1234567 698 Call-ID: 12345601@atlanta.example.com 699 CSeq: 2 ACK 700 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 701 Supported: replaces 702 Content-Length: 0 704 /* RTP Media stream re-established. Alice disconnects. */ 706 F22 BYE Alice -> Proxy 1 708 BYE sips:bob@client.biloxi.example.com SIP/2.0 709 Via: SIP/2.0/TLS client.atlanta.example.com:5061 710 ;branch=z9hG4bK74bf97 711 Route: 712 Max-Forwards: 70 713 From: Alice ;tag=1234567 714 To: Bob ;tag=314159 715 Call-ID: 12345601@atlanta.example.com 716 CSeq: 2 BYE 717 Content-Length: 0 719 F23 BYE Proxy 1 -> Bob 721 BYE sips:bob@client.biloxi.example.com SIP/2.0 722 Via: SIP/2.0/TLS ss1.example.com:5061 723 ;branch=z9hG4bK837497.1 724 Via: SIP/2.0/TLS client.atlanta.example.com:5061 725 ;branch=z9hG4bK74bf97 726 ;received=192.0.2.103 727 Max-Forwards: 69 728 From: Alice ;tag=1234567 729 To: Bob ;tag=314159 730 Call-ID: 12345601@atlanta.example.com 731 CSeq: 2 BYE 732 Content-Length: 0 733 F24 200 OK Bob -> Proxy 1 735 SIP/2.0 200 OK 736 Via: SIP/2.0/TLS ss1.example.com:5061 737 ;branch=z9hG4bK837497.1 738 ;received=192.0.2.54 739 Via: SIP/2.0/TLS client.atlanta.example.com:5061 740 ;branch=z9hG4bK74bf97 741 ;received=192.0.2.103 742 From: Alice ;tag=1234567 743 To: Bob ;tag=314159 744 Call-ID: 12345601@atlanta.example.com 745 CSeq: 2 BYE 746 Content-Length: 0 748 F25 200 OK Proxy 1 -> Alice 750 SIP/2.0 200 OK 751 Via: SIP/2.0/TLS client.atlanta.example.com:5061 752 ;branch=z9hG4bK74bf97 753 ;received=192.0.2.103 754 From: Alice ;tag=1234567 755 To: Bob ;tag=314159 756 Call-ID: 12345601@atlanta.example.com 757 CSeq: 2 BYE 758 Content-Length: 0 760 2.2. Consultation Hold 762 Alice Proxy Bob Carol 763 | | | | 764 | INVITE F1 | | | 765 |--------------->| INVITE F2 | | 766 | |------------->| | 767 |(100 Trying) F3 | | | 768 |<---------------|180 Ringing F4| | 769 | |<-------------| | 770 | 180 Ringing F5 | | | 771 |<---------------| 200 OK F6 | | 772 | |<-------------| | 773 | 200 OK F7 | | | 774 |<---------------| | | 775 | ACK F8 | | | 776 |--------------->| ACK F9 | | 777 | |------------->| | 778 | Both way RTP Established | | 779 |<=============================>| | 780 | |INVITE(hold) F10 | 781 |INVITE(hold) F11|<-------------| | 782 |<---------------| | | 783 | 200 OK F12 | | | 784 |--------------->| 200 OK F13 | | 785 | |------------->| | 786 | | ACK F14 | | 787 | |<-------------| | 788 | ACK F15 | | | 789 |<---------------| | | 790 | No RTP Sent! | | 791 | | INVITE F16 | | 792 | |<-------------| | 793 | | | INVITE F17 | 794 | |--------------------------------->| 795 | |(100 Trying) F18 | 796 | |------------->| | 797 | | | 180 Ringing F19 | 798 | |<---------------------------------| 799 | | 180 Ringing F20 | 800 | |------------->| | 801 | | | 200 OK F21 | 802 | |<---------------------------------| 803 | | 200 OK F22 | | 804 | |------------->| | 805 | | ACK F23 | | 806 | |<-------------| | 807 | | | ACK F24 | 808 | |--------------------------------->| 809 | | Both way RTP Established | 810 | | |<=================>| 811 | | BYE F25 | | 812 | |<-------------| | 813 | | | BYE F26 | 814 | |--------------------------------->| 815 | | | 200 OK F27 | 816 | |<---------------------------------| 817 | | 200 OK F28 | | 818 | |------------->| | 819 | | INVITE F29 | | 820 | INVITE F30 |<-------------| | 821 |<---------------| | | 822 | 200 OK F31 | | | 823 |--------------->| 200 OK F32 | | 824 | |------------->| | 825 | | ACK F33 | | 826 | |<-------------| | 827 | ACK F34 | | | 828 |<---------------| | | 829 | Both way RTP Established | | 830 |<=============================>| | 831 | BYE F35 | | | 832 |--------------->| BYE F36 | | 833 | |------------->| | 834 | | 200 OK F37 | | 835 | |<-------------| | 836 | 200 OK F38 | | | 837 |<---------------| | | 838 | | | | 840 In this scenario, Alice calls Bob. Bob places call on hold. Bob 841 calls Carol. Bob then disconnects with Carol, then takes the call 842 with Alice off hold. The call ends when Alice hangs up. 844 Message Details 846 F1 INVITE Alice -> Proxy 1 848 INVITE sips:bob@biloxi.example.com SIP/2.0 849 Via: SIP/2.0/TLS client.atlanta.example.com:5061 850 ;branch=z9hG4bK74bf9 851 Max-Forwards: 70 852 From: Alice ;tag=1234567 853 To: Bob 854 Call-ID: 12345600@atlanta.example.com 855 CSeq: 1 INVITE 856 Contact: 857 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 858 Supported: replaces 859 Content-Type: application/sdp 860 Content-Length: ... 862 v=0 863 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 864 s= 865 c=IN IP4 client.atlanta.example.com 866 t=0 0 867 m=audio 49170 RTP/AVP 0 868 a=rtpmap:0 PCMU/8000 870 F2 INVITE Proxy 1 -> Bob 872 INVITE sips:bob@client.biloxi.example.com SIP/2.0 873 Via: SIP/2.0/TLS ss1.example.com:5061 874 ;branch=z9hG4bK83749.1 875 Via: SIP/2.0/TLS client.atlanta.example.com:5061 876 ;branch=z9hG4bK74bf9 877 ;received=192.0.2.103 878 Record-Route: 879 Max-Forwards: 69 880 From: Alice ;tag=1234567 881 To: Bob 882 Call-ID: 12345600@atlanta.example.com 883 CSeq: 1 INVITE 884 Contact: 885 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 886 Supported: replaces 887 Content-Type: application/sdp 888 Content-Length: ... 890 v=0 891 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 892 s= 893 c=IN IP4 client.atlanta.example.com 894 t=0 0 895 m=audio 49170 RTP/AVP 0 896 a=rtpmap:0 PCMU/8000 898 F3(100 Trying) Proxy 1 -> Alice 900 SIP/2.0 100 Trying 901 Via: SIP/2.0/TLS client.atlanta.example.com:5061 902 ;branch=z9hG4bK74bf9 903 ;received=192.0.2.103 904 From: Alice ;tag=1234567 905 To: Bob 906 Call-ID: 12345600@atlanta.example.com 907 CSeq: 1 INVITE 908 Content-Length: 0 910 F4 180 Ringing Bob -> Proxy 1 912 SIP/2.0 180 Ringing 913 Via: SIP/2.0/TLS ss1.example.com:5061 914 ;branch=z9hG4bK83749.1 915 ;received=192.0.2.54 916 Via: SIP/2.0/TLS client.atlanta.example.com:5061 917 ;branch=z9hG4bK74bf9 918 ;received=192.0.2.103 919 Record-Route: 920 From: Alice ;tag=1234567 921 To: Bob ;tag=314159 922 Call-ID: 12345600@atlanta.example.com 923 CSeq: 1 INVITE 924 Contact: 925 Content Length:0 927 F5 180 Ringing Proxy 1 -> Alice 929 SIP/2.0 180 Ringing 930 Via: SIP/2.0/TLS client.atlanta.example.com:5061 931 ;branch=z9hG4bK74bf9 932 ;received=192.0.2.103 933 Record-Route: 934 From: Alice ;tag=1234567 935 To: Bob ;tag=314159 936 Call-ID: 12345600@atlanta.example.com 937 CSeq: 1 INVITE 938 Contact: 939 Content Length: 0 941 F6 200 OK Bob -> Proxy 1 943 SIP/2.0 200 OK 944 Via: SIP/2.0/TLS ss1.example.com:5061 945 ;branch=z9hG4bK83749.1 946 ;received=192.0.2.54 947 Via: SIP/2.0/TLS client.atlanta.example.com:5061 948 ;branch=z9hG4bK74bf9 949 ;received=192.0.2.103 950 Record-Route: 951 From: Alice ;tag=1234567 952 To: Bob ;tag=314159 953 Call-ID: 12345600@atlanta.example.com 954 CSeq: 1 INVITE 955 Contact: 956 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 957 Supported: replaces 958 Content-Type: application/sdp 959 Content-Length: ... 961 v=0 962 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 963 s= 964 c=IN IP4 client.biloxi.example.com 965 t=0 0 966 m=audio 3456 RTP/AVP 0 967 a=rtpmap:0 PCMU/8000 969 F7 200 OK Proxy 1 -> Alice 971 SIP/2.0 200 OK 972 Via: SIP/2.0/TLS client.atlanta.example.com:5061 973 ;branch=z9hG4bK74bf9 974 ;received=192.0.2.103 975 Record-Route: 976 From: Alice ;tag=1234567 977 To: Bob ;tag=314159 978 Call-ID: 12345600@atlanta.example.com 979 CSeq: 1 INVITE 980 Contact: 981 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 982 Supported: replaces 983 Content-Type: application/sdp 984 Content-Length: ... 986 v=0 987 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 988 s= 989 c=IN IP4 client.biloxi.example.com 990 t=0 0 991 m=audio 3456 RTP/AVP 0 992 a=rtpmap:0 PCMU/8000 994 F8 ACK Alice -> Proxy 1 996 ACK sips:bob@client.biloxi.example.com SIP/2.0 997 Via: SIP/2.0/TLS client.atlanta.example.com:5061 998 ;branch=z9hG4bK74bf45 999 Route: 1000 Max-Forwards: 70 1001 From: Alice ;tag=1234567 1002 To: Bob ;tag=314159 1003 Call-ID: 12345600@atlanta.example.com 1004 CSeq: 1 ACK 1005 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1006 Supported: replaces 1007 Content-Length: 0 1009 F9 ACK Proxy 1 -> Bob 1010 ACK sips:bob@client.biloxi.example.com SIP/2.0 1011 Via: SIP/2.0/TLS ss1.example.com:5061 1012 ;branch=z9hG4bK837494.1 1013 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1014 ;branch=z9hG4bK74bf45 1015 ;received=192.0.2.103 1016 Max-Forwards: 69 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 /* Bob places Alice on hold. */ 1027 F10 INVITE Bob -> Proxy 1 1029 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1030 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1031 ;branch=z9hG4bKnashds7 1032 Route: 1033 Max-Forwards: 70 1034 From: Bob ;tag=314159 1035 To: Alice ;tag=1234567 1036 Call-ID: 12345600@atlanta.example.com 1037 CSeq: 1 INVITE 1038 Contact: 1039 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1040 Supported: replaces 1041 Content-Type: application/sdp 1042 Content-Length: ... 1044 v=0 1045 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 1046 s= 1047 c=IN IP4 client.biloxi.example.com 1048 t=0 0 1049 m=audio 3456 RTP/AVP 0 1050 a=rtpmap:0 PCMU/8000 1051 a=sendonly 1053 F11 INVITE Proxy 1 -> Alice 1055 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1056 Via: SIP/2.0/TLS ss1.example.com:5061 1057 ;branch=z9hG4bK837497.1 1058 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1059 ;branch=z9hG4bKnashds7 1060 ;received=192.0.2.105 1061 Record-Route: 1062 Max-Forwards: 69 1063 From: Bob ;tag=314159 1064 To: Alice ;tag=1234567 1065 Call-ID: 12345600@atlanta.example.com 1066 CSeq: 1 INVITE 1067 Contact: 1068 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1069 Supported: replaces 1070 Content-Type: application/sdp 1071 Content-Length: ... 1073 v=0 1074 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 1075 s= 1076 c=IN IP4 client.biloxi.example.com 1077 t=0 0 1078 m=audio 3456 RTP/AVP 0 1079 a=rtpmap:0 PCMU/8000 1080 a=sendonly 1082 F12 200 OK Alice -> Proxy 1 1084 SIP/2.0 200 OK 1085 Via: SIP/2.0/TLS ss1.example.com:5061 1086 ;branch=z9hG4bK837497.1 1087 ;received=192.0.2.54 1088 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1089 ;branch=z9hG4bKnashds7 1090 ;received=192.0.2.105 1091 Record-Route: 1092 From: Bob ;tag=314159 1093 To: Alice ;tag=1234567 1094 Call-ID: 12345600@atlanta.example.com 1095 CSeq: 1 INVITE 1096 Contact: 1097 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1098 Supported: replaces 1099 Content-Type: application/sdp 1100 Content-Length: ... 1102 v=0 1103 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1104 s= 1105 c=IN IP4 client.atlanta.example.com 1106 t=0 0 1107 m=audio 49170 RTP/AVP 0 1108 a=rtpmap:0 PCMU/8000 1109 a=recvonly 1111 F13 200 OK Proxy 1 -> Bob 1113 SIP/2.0 200 OK 1114 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1115 ;branch=z9hG4bKnashds7 1116 ;received=192.0.2.105 1117 Record-Route: 1118 From: Bob ;tag=314159 1119 To: Alice ;tag=1234567 1120 Call-ID: 12345600@atlanta.example.com 1121 CSeq: 1 INVITE 1122 Contact: 1123 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1124 Supported: replaces 1125 Content-Type: application/sdp 1126 Content-Length: ... 1128 v=0 1129 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1130 s= 1131 c=IN IP4 client.atlanta.example.com 1132 t=0 0 1133 m=audio 49170 RTP/AVP 0 1134 a=rtpmap:0 PCMU/8000 1135 a=recvonly 1137 F14 ACK Bob -> Proxy 1 1139 ACK sips:alice@client.atlanta.example.com SIP/2.0 1140 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1141 ;branch=z9hG4bKnashdsg 1142 Route: 1143 Max-Forwards: 70 1144 From: Bob ;tag=314159 1145 To: Alice ;tag=1234567 1146 Call-ID: 12345600@atlanta.example.com 1147 CSeq: 1 ACK 1148 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1149 Supported: replaces 1150 Content-Length: 0 1152 F15 ACK Proxy 1 -> Alice 1154 ACK sips:alice@client.atlanta.example.com SIP/2.0 1155 Via: SIP/2.0/TLS ss1.example.com:5061 1156 ;branch=z9hG4bK8374.1 1157 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1158 ;branch=z9hG4bKnashdsg 1159 ;received=192.0.2.105 1160 Max-Forwards: 69 1161 From: Bob ;tag=314159 1162 To: Alice ;tag=1234567 1163 Call-ID: 12345600@atlanta.example.com 1164 CSeq: 1 ACK 1165 Content-Length: 0 1167 F16 INVITE Bob -> Proxy 1 1169 INVITE sips:carol@chicago.example.com SIP/2.0 1170 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1171 ;branch=z9hG4bKnashds22 1172 Max-Forwards: 70 1173 From: Bob ;tag=8675309 1174 To: Carol 1175 Call-ID: 9876543210@biloxi.example.com 1176 CSeq: 1 INVITE 1177 Contact: 1178 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1179 Supported: replaces 1180 Content-Type: application/sdp 1181 Content-Length: ... 1183 v=0 1184 o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com 1185 s= 1186 c=IN IP4 client.biloxi.example.com 1187 t=0 0 1188 m=audio 50170 RTP/AVP 0 1189 a=rtpmap:0 PCMU/8000 1191 F17 INVITE Proxy 1 -> Carol 1193 INVITE sips:carol@client.chicago.example.com SIP/2.0 1194 Via: SIP/2.0/TLS ss1.example.com:5061 1195 ;branch=z9hG4bK83749a.1 1196 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1197 ;branch=z9hG4bKnashds22 1198 ;received=192.0.2.105 1199 Record-Route: 1200 Max-Forwards: 69 1201 From: Bob ;tag=8675309 1202 To: Carol 1203 Call-ID: 9876543210@biloxi.example.com 1204 CSeq: 1 INVITE 1205 Contact: 1206 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1207 Supported: replaces 1208 Content-Type: application/sdp 1209 Content-Length: ... 1211 v=0 1212 o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com 1213 s= 1214 c=IN IP4 client.biloxi.example.com 1215 t=0 0 1216 m=audio 50170 RTP/AVP 0 1217 a=rtpmap:0 PCMU/8000 1219 F18 (100 Trying) Proxy 1 -> Bob 1221 SIP/2.0 100 Trying 1222 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1223 ;branch=z9hG4bKnashds22 1224 ;received=192.0.2.105 1225 From: Bob ;tag=8675309 1226 To: Carol 1227 Call-ID: 9876543210@biloxi.example.com 1228 CSeq: 1 INVITE 1229 Content-Length: 0 1231 F19 180 Ringing Carol -> Proxy 1 1233 SIP/2.0 180 Ringing 1234 Via: SIP/2.0/TLS ss1.example.com:5061 1235 ;branch=z9hG4bK83749a.1 1236 ;received=192.0.2.54 1237 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1238 ;branch=z9hG4bKnashds22 1239 ;received=192.0.2.105 1241 Record-Route: 1242 From: Bob ;tag=8675309 1243 To: Carol ;tag=456654 1244 Call-ID: 9876543210@atlanta.example.com 1245 CSeq: 1 INVITE 1246 Contact: 1247 Content Length:0 1249 F20 180 Ringing Proxy 1 -> Bob 1251 SIP/2.0 180 Ringing 1252 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1253 ;branch=z9hG4bKnashds22 1254 ;received=client.chicago.example.com 1255 Record-Route: 1256 From: Bob ;tag=8675309 1257 To: Carol ;tag=456654 1258 Call-ID: 9876543210@biloxi.example.com 1259 CSeq: 1 INVITE 1260 Contact: 1261 Content Length: 0 1263 F21 200 OK Carol -> Proxy 1 1265 SIP/2.0 200 OK 1266 Via: SIP/2.0/TLS ss1.example.com:5061 1267 ;branch=z9hG4bK83749a.1 1268 ;received=192.0.2.54 1269 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1270 ;branch=z9hG4bKnashds22 1271 ;received=192.0.2.105 1272 Record-Route: 1273 From: Bob ;tag=8675309 1274 To: Carol ;tag=456654 1275 Call-ID: 9876543210@biloxi.example.com 1276 CSeq: 1 INVITE 1277 Contact: 1278 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1279 Supported: replaces 1280 Content-Type: application/sdp 1281 Content-Length: ... 1283 v=0 1284 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 1285 s= 1286 c=IN IP4 client.chicago.example.com 1287 t=0 0 1288 m=audio 3456 RTP/AVP 0 1289 a=rtpmap:0 PCMU/8000 1291 F22 200 OK Proxy 1 -> Bob 1293 SIP/2.0 200 OK 1294 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1295 ;branch=z9hG4bKnashds22 1296 ;received=192.0.2.105 1297 Record-Route: 1298 From: Bob ;tag=8675309 1299 To: Carol ;tag=456654 1300 Call-ID: 9876543210@biloxi.example.com 1301 CSeq: 1 INVITE 1302 Contact: 1303 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1304 Supported: replaces 1305 Content-Type: application/sdp 1306 Content-Length: ... 1308 v=0 1309 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 1310 s= 1311 c=IN IP4 client.chicago.example.com 1312 t=0 0 1313 m=audio 3456 RTP/AVP 0 1314 a=rtpmap:0 PCMU/8000 1316 F23 ACK Bob -> Proxy 1 1318 ACK sips:carol@client.chicago.example.com SIP/2.0 1319 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1320 ;branch=z9hG4bKnashds24 1321 Route: 1322 Max-Forwards: 70 1323 From: Bob ;tag=8675309 1324 To: Carol ;tag=456654 1325 Call-ID: 9876543210@biloxi.example.com 1326 CSeq: 1 ACK 1327 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1328 Supported: replaces 1329 Content-Length: 0 1331 F24 ACK Proxy 1 -> Carol 1332 ACK sips:carol@client.chicago.example.com SIP/2.0 1333 Via: SIP/2.0/TLS ss1.example.com:5061 1334 ;branch=z9hG4bK83749b.1 1335 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1336 ;branch=z9hG4bKnashds24 1337 ;received=192.0.2.105 1338 Max-Forwards: 69 1339 From: Bob ;tag=8675309 1340 To: Carol ;tag=456654 1341 Call-ID: 9876543210@biloxi.example.com 1342 CSeq: 1 ACK 1343 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1344 Supported: replaces 1345 Content-Length: 0 1347 F25 BYE Bob -> Proxy 1 1349 BYE sips:carol@client.chicago.example.com SIP/2.0 1350 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1351 ;branch=z9hG4bKnashds7j 1352 Route: 1353 Max-Forwards: 70 1354 From: Bob ;tag=8675309 1355 To: Carol ;tag=456654 1356 Call-ID: 9876543210@biloxi.example.com 1357 CSeq: 2 BYE 1358 Content-Length: 0 1360 F26 BYE Proxy 1 -> Carol 1362 BYE sips:carol@client.chicago.example.com SIP/2.0 1363 Via: SIP/2.0/TLS ss1.example.com:5061 1364 ;branch=z9hG4bK83749k.1 1365 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1366 ;branch=z9hG4bKnashds7j 1367 ;received=192.0.2.105 1368 Max-Forwards: 69 1369 From: Bob ;tag=8675309 1370 To: Carol ;tag=456654 1371 Call-ID: 9876543210@biloxi.example.com 1372 CSeq: 2 BYE 1373 Content-Length: 0 1375 F27 200 OK Carol -> Proxy 1 1376 SIP/2.0 200 OK 1377 Via: SIP/2.0/TLS ss1.example.com:5061 1378 ;branch=z9hG4bK83749k.1 1379 ;received=192.0.2.54 1380 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1381 ;branch=z9hG4bKnashds7j 1382 ;received=192.0.2.105 1383 From: Bob ;tag=8675309 1384 To: Carol ;tag=456654 1385 Call-ID: 9876543210@biloxi.example.com 1386 CSeq: 2 BYE 1387 Content-Length: 0 1389 F28 200 OK Proxy 1 -> Bob 1391 SIP/2.0 200 OK 1392 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1393 ;branch=z9hG4bKnashds7j 1394 ;received=192.0.2.105 1395 From: Bob ;tag=8675309 1396 To: Carol ;tag=456654 1397 Call-ID: 9876543210@biloxi.example.com 1398 CSeq: 2 BYE 1399 Content-Length: 0 1401 /* Bob takes the call off hold */ 1403 F29 INVITE Bob -> Proxy 1 1405 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1406 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1407 ;branch=z9hG4bKnashds7b 1408 Route: 1409 Max-Forwards: 70 1410 From: Bob ;tag=314159 1411 To: Alice ;tag=1234567 1412 Call-ID: 12345600@atlanta.example.com 1413 CSeq: 2 INVITE 1414 Contact: 1415 Content-Type: application/sdp 1416 Content-Length: ... 1418 v=0 1419 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 1420 s= 1421 c=IN IP4 client.biloxi.example.com 1422 t=0 0 1423 m=audio 3456 RTP/AVP 0 1424 a=rtpmap:0 PCMU/8000 1426 F30 INVITE Proxy 1 -> Alice 1428 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1429 Via: SIP/2.0/TLS ss1.example.com:5061 1430 ;branch=z9hG4bK83749q.1 1431 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1432 ;branch=z9hG4bKnashds7b 1433 ;received=192.0.2.105 1434 Record-Route: 1435 Max-Forwards: 69 1436 From: Bob ;tag=314159 1437 To: Alice ;tag=1234567 1438 Call-ID: 12345600@atlanta.example.com 1439 CSeq: 2 INVITE 1440 Contact: 1441 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1442 Supported: replaces 1443 Content-Type: application/sdp 1444 Content-Length: ... 1446 v=0 1447 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 1448 s= 1449 c=IN IP4 client.biloxi.example.com 1450 t=0 0 1451 m=audio 3456 RTP/AVP 0 1452 a=rtpmap:0 PCMU/8000 1454 F31 200 OK Alice -> Proxy 1 1456 SIP/2.0 200 OK 1457 Via: SIP/2.0/TLS ss1.example.com:5061 1458 ;branch=z9hG4bK83749q.1 1459 ;received=192.0.2.54 1460 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1461 ;branch=z9hG4bKnashds7b 1462 ;received=192.0.2.105 1463 Record-Route: 1464 From: Bob ;tag=314159 1465 To: Alice ;tag=1234567 1466 Call-ID: 12345600@atlanta.example.com 1467 CSeq: 2 INVITE 1468 Contact: 1469 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1470 Supported: replaces 1471 Content-Type: application/sdp 1472 Content-Length: ... 1474 v=0 1475 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 1476 s= 1477 c=IN IP4 client.atlanta.example.com 1478 t=0 0 1479 m=audio 49170 RTP/AVP 0 1480 a=rtpmap:0 PCMU/8000 1482 F32 200 OK Proxy 1 -> Bob 1484 SIP/2.0 200 OK 1485 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1486 ;branch=z9hG4bKnashds7b 1487 ;received=192.0.2.105 1488 Record-Route: 1489 From: Bob ;tag=314159 1490 To: Alice ;tag=1234567 1491 Call-ID: 12345600@atlanta.example.com 1492 CSeq: 2 INVITE 1493 Contact: 1494 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1495 Supported: replaces 1496 Content-Type: application/sdp 1497 Content-Length: ... 1499 v=0 1500 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 1501 s= 1502 c=IN IP4 client.atlanta.example.com 1503 t=0 0 1504 m=audio 49170 RTP/AVP 0 1505 a=rtpmap:0 PCMU/8000 1507 F33 ACK Bob -> Proxy 1 1509 ACK sips:alice@client.atlanta.example.com SIP/2.0 1510 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1511 ;branch=z9hG4bKnashds7d7 1512 Route: 1513 Max-Forwards: 70 1514 From: Bob ;tag=314159 1515 To: Alice ;tag=1234567 1516 Call-ID: 12345600@atlanta.example.com 1517 CSeq: 2 ACK 1518 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1519 Supported: replaces 1520 Content-Length: 0 1522 F34 ACK Proxy 1 -> Alice 1524 ACK sips:alice@client.atlanta.example.com SIP/2.0 1525 Via: SIP/2.0/TLS ss1.example.com:5061 1526 ;branch=z9hG4bK8374.1 1527 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1528 ;branch=z9hG4bKnashds7d7 1529 ;received=192.0.2.105 1530 Max-Forwards: 69 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 F35 BYE Alice -> Proxy 1 1541 BYE sips:bob@client.biloxi.example.com SIP/2.0 1542 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1543 ;branch=z9hG4bK74bf10 1544 Route: 1545 Max-Forwards: 70 1546 From: Alice ;tag=1234567 1547 To: Bob ;tag=314159 1548 Call-ID: 12345600@atlanta.example.com 1549 CSeq: 2 BYE 1550 Content-Length: 0 1552 F36 BYE Proxy 1 -> Bob 1554 BYE sips:bob@client.biloxi.example.com SIP/2.0 1555 Via: SIP/2.0/TLS ss1.example.com:5061 1556 ;branch=z9hG4bK8379.1 1557 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1558 ;branch=z9hG4bK74bf10 1559 ;received=192.0.2.103 1560 Max-Forwards: 69 1561 From: Alice ;tag=1234567 1562 To: Bob ;tag=314159 1563 Call-ID: 12345600@atlanta.example.com 1564 CSeq: 2 BYE 1565 Content-Length: 0 1567 F37 200 OK Bob -> Proxy 1 1569 SIP/2.0 200 OK 1570 Via: SIP/2.0/TLS ss1.example.com:5061 1571 ;branch=z9hG4bK8379.1 1572 ;received=192.0.2.54 1573 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1574 ;branch=z9hG4bK74bf10 1575 ;received=192.0.2.103 1576 From: Alice ;tag=1234567 1577 To: Bob ;tag=314159 1578 Call-ID: 12345600@atlanta.example.com 1579 CSeq: 2 BYE 1580 Content-Length: 0 1582 F38 200 OK Proxy 1 -> Alice 1584 SIP/2.0 200 OK 1585 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1586 ;branch=z9hG4bK74bf10 1587 ;received=192.0.2.103 1588 From: Alice ;tag=1234567 1589 To: Bob ;tag=314159 1590 Call-ID: 12345600@atlanta.example.com 1591 CSeq: 2 BYE 1592 Content-Length: 0 1594 2.3. Music On Hold 1596 Alice Bob Music Server 1597 | | | 1598 | INVITE F1 | | 1599 |--------------->| | 1600 | 180 Ringing F2 | | 1601 |<---------------| | 1602 | 200 OK F3 | | 1603 |<---------------| | 1604 | ACK F4 | | 1605 |--------------->| | 1606 | RTP | | 1607 |<==============>| | 1608 | | | 1609 | Bob places Alice on hold with music 1610 | | | 1611 | | INVITE no sdp F5 1612 | |------------->| 1613 | |200 OK sdpM F6| 1614 | |<-------------| 1615 |INVITE (hold) F7| | 1616 |<---------------| | 1617 | 200 OK sdpA F8 | | 1618 |--------------->| | 1619 | ACK F9 | | 1620 |<---------------| | 1621 | | ACK sdpA F10 | 1622 | |------------->| 1623 | RTP | 1624 |<==============================| 1625 | | | 1626 | Bob Picks up the Call | 1627 | | BYE F11 | 1628 | |------------->| 1629 | | 200 OK F12 | 1630 | |<-------------| 1631 | INVITE F13 | | 1632 |<---------------| | 1633 | 200 OK F14 | | 1634 |--------------->| | 1635 | ACK F15 | | 1636 |<---------------| | 1637 | RTP | | 1638 |<==============>| | 1640 In this flow, Bob places Alice on hold with music. This is performed 1641 by Bob acting as a 3pcc (third party call controller) [19] to INVITE 1642 a Music Server into the session, which sends RTP music to Alice. Bob 1643 picks the call up from hold by sending a BYE to the music server and 1644 taking Alice off hold. 1646 Note that if Alice responds to the INVITE with hold SDP (a=inactive) 1647 in the 200 OK of F8, this call flow will not work properly. The 1648 proper response to hold SDP is shown in F8 (a=recvonly). 1650 Note also that Alice will receive RTP packets from two different IP 1651 addresses during this call flow. Alice could refuse the music by 1652 sending a re-INVITE changing the session to a=inactive. 1654 Message Details 1656 F1 INVITE Alice -> Bob 1658 INVITE sips:bob@biloxi.example.com SIP/2.0 1659 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1660 ;branch=z9hG4bK74bf9 1661 Max-Forwards: 70 1662 From: Alice ;tag=1234567 1663 To: Bob 1664 Call-ID: 12345600@atlanta.example.com 1665 CSeq: 1 INVITE 1666 Contact: 1667 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1668 Supported: replaces 1669 Content-Type: application/sdp 1670 Content-Length: ... 1672 v=0 1673 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 1674 s= 1675 c=IN IP4 client.atlanta.example.com 1676 t=0 0 1677 m=audio 49170 RTP/AVP 0 1678 a=rtpmap:0 PCMU/8000 1680 F2 180 Ringing Bob -> Alice 1682 SIP/2.0 180 Ringing 1683 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1684 ;branch=z9hG4bK74bf9 1685 ;received=192.0.2.103 1687 From: Alice ;tag=1234567 1688 To: Bob ;tag=23431 1689 Call-ID: 12345600@atlanta.example.com 1690 CSeq: 1 INVITE 1691 Contact: 1692 Content-Length: 0 1694 F3 200 OK Bob -> Alice 1696 SIP/2.0 200 OK 1697 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1698 ;branch=z9hG4bK74bf9 1699 ;received=192.0.2.103 1700 From: Alice ;tag=1234567 1701 To: Bob ;tag=23431 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 1707 Content-Type: application/sdp 1708 Content-Length: ... 1710 v=0 1711 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 1712 s= 1713 c=IN IP4 client.biloxi.example.com 1714 t=0 0 1715 m=audio 3456 RTP/AVP 0 1716 a=rtpmap:0 PCMU/8000 1718 F4 ACK Alice -> Bob 1720 ACK sips:bob@client.biloxi.example.com SIP/2.0 1721 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1722 ;branch=z9hG4bK74bfd 1723 Max-Forwards: 70 1724 From: Alice ;tag=1234567 1725 To: Bob ;tag=23431 1726 Call-ID: 12345600@atlanta.example.com 1727 CSeq: 1 ACK 1728 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1729 Supported: replaces 1730 Content-Length: 0 1731 /* Bob places Alice on hold with music by acting as a 3pcc and 1732 sending an INVITE to the Music Server */ 1734 F5 INVITE Bob -> Music Server 1736 INVITE sips:music@server.example.com SIP/2.0 1737 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1738 ;branch=z9hG4bKnashds7 1739 Max-Forwards: 70 1740 From: Bob ;tag=8675309 1741 To: Music 1742 Call-ID: sdjfdjfskdf@biloxi.example.com 1743 CSeq: 1 INVITE 1744 Contact: 1745 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1746 Supported: replaces 1747 Content-Length: 0 1749 F6 200 OK Music Server -> Bob 1751 SIP/2.0 200 OK 1752 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1753 ;branch=z9hG4bKnashds7 1754 ;received=192.0.2.105 1755 From: Bob ;tag=8675309 1756 To: Music ;tag=90210 1757 Call-ID: sdjfdjfskdf@biloxi.example.com 1758 CSeq: 1 INVITE 1759 Contact: 1760 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1761 Supported: replaces 1762 Content-Type: application/sdp 1763 Content-Length: ... 1765 v=0 1766 o=MusicServer 2890844576 2890844577 IN IP4 music.server.example.com 1767 s= 1768 c=IN IP4 music.server.example.com 1769 t=0 0 1770 m=audio 49170 RTP/AVP 0 1771 a=rtpmap:0 PCMU/8000 1772 a=sendonly 1774 /* Bob re-INVITEs Alice on hold */ 1776 F7 INVITE Bob -> Alice 1777 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1778 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1779 ;branch=z9hG4bK74bf5 1780 To: Alice ;tag=1234567 1781 Max-Forwards: 70 1782 From: Bob ;tag=23431 1783 Call-ID: 12345600@atlanta.example.com 1784 CSeq: 1 INVITE 1785 Contact: 1786 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1787 Supported: replaces 1788 Content-Type: application/sdp 1789 Content-Length: ... 1791 v=0 1792 o=bob 2890844527 2890844528 IN IP4 music.server.example.com 1793 s= 1794 c=IN IP4 music.server.example.com 1795 t=0 0 1796 m=audio 49170 RTP/AVP 0 1797 a=rtpmap:0 PCMU/8000 1798 a=sendonly 1800 F8 200 OK Alice -> Bob 1802 SIP/2.0 200 OK 1803 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1804 ;branch=z9hG4bK74bf5 1805 ;received=192.0.2.105 1806 To: Alice ;tag=1234567 1807 From: Bob ;tag=23431 1808 Call-ID: 12345600@atlanta.example.com 1809 CSeq: 1 INVITE 1810 Contact: 1811 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1812 Supported: replaces 1813 Content-Type: application/sdp 1814 Content-Length: ... 1816 v=0 1817 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1818 s= 1819 c=IN IP4 client.atlanta.example.com 1820 t=0 0 1821 m=audio 49170 RTP/AVP 0 1822 a=rtpmap:0 PCMU/8000 1823 a=recvonly 1824 F9 ACK Bob -> Alice 1826 ACK sips:alice@client.atlanta.example.com SIP/2.0 1827 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1828 ;branch=z9hG4bK74bfy 1829 To: Alice ;tag=1234567 1830 Max-Forwards: 70 1831 From: Bob ;tag=23431 1832 Call-ID: 12345600@atlanta.example.com 1833 CSeq: 1 ACK 1834 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1835 Supported: replaces 1836 Content-Length: 0 1838 /* Bob passes SDP of Alice to the Music Server to allow music 1839 to be sent from Bob to Alice */ 1841 F10 ACK Bob -> Music Server 1843 ACK sips:music@server.example.com SIP/2.0 1844 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1845 ;branch=z9hG4bKnashds3 1846 Max-Forwards: 70 1847 From: Bob ;tag=8675309 1848 To: Music ;tag=90210 1849 Call-ID: sdjfdjfskdf@biloxi.example.com 1850 CSeq: 1 ACK 1851 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1852 Supported: replaces 1853 Content-Type: application/sdp 1854 Content-Length: ... 1856 v=0 1857 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 1858 s= 1859 c=IN IP4 client.atlanta.example.com 1860 t=0 0 1861 m=audio 49170 RTP/AVP 0 1862 a=rtpmap:0 PCMU/8000 1863 a=recvonly 1865 /* RTP music is now sent from the Music Server to Alice */ 1867 /* Bob picks up the call from the Music Server */ 1869 F11 BYE Bob -> Music Server 1870 BYE sips:music@server.example.com SIP/2.0 1871 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1872 ;branch=z9hG4bKnashds0 1873 Max-Forwards: 70 1874 From: Bob ;tag=8675309 1875 To: Music ;tag=90210 1876 Call-ID: sdjfdjfskdf@biloxi.example.com 1877 CSeq: 2 BYE 1878 Content-Length: 0 1880 F12 200 OK Music Server -> Bob 1882 SIP/2.0 200 OK 1883 Via: SIP/2.0/TLS client.biloxi.example.com:5061 1884 ;branch=z9hG4bKnashds0 1885 ;received=192.0.2.105 1886 From: Bob ;tag=8675309 1887 To: Music ;tag=90210 1888 Call-ID: sdjfdjfskdf@biloxi.example.com 1889 CSeq: 2 BYE 1890 Content-Length:0 1892 /* B re-INVITEs taking A off hold */ 1894 F13 INVITE Bob -> Alice 1896 INVITE sips:alice@client.atlanta.example.com SIP/2.0 1897 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1898 ;branch=z9hG4bK74b 1899 To: Alice ;tag=1234567 1900 Max-Forwards: 70 1901 From: Bob ;tag=23431 1902 Call-ID: 12345600@atlanta.example.com 1903 CSeq: 2 INVITE 1904 Contact: 1905 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1906 Supported: replaces 1907 Content-Type: application/sdp 1908 Content-Length: ... 1910 v=0 1911 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com 1912 s= 1913 c=IN IP4 client.biloxi.example.com 1914 t=0 0 1915 m=audio 3456 RTP/AVP 0 1916 a=rtpmap:0 PCMU/8000 1918 F14 200 OK Alice -> Bob 1920 SIP/2.0 200 OK 1921 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1922 ;branch=z9hG4bK74b 1923 ;received=192.0.2.105 1924 To: Alice ;tag=1234567 1925 From: Bob ;tag=23431 1926 Call-ID: 12345600@atlanta.example.com 1927 CSeq: 2 INVITE 1928 Contact: 1929 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1930 Supported: replaces 1931 Content-Type: application/sdp 1932 Content-Length: ... 1934 v=0 1935 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com 1936 s= 1937 c=IN IP4 client.atlanta.example.com 1938 t=0 0 1939 m=audio 49170 RTP/AVP 0 1940 a=rtpmap:0 PCMU/8000 1942 F15 ACK Bob -> Alice 1944 ACK sips:alice@client.atlanta.example.com SIP/2.0 1945 Via: SIP/2.0/TLS client.atlanta.example.com:5061 1946 ;branch=z9hG4bK74b5 1947 To: Alice ;tag=1234567 1948 Max-Forwards: 70 1949 From: Bob ;tag=23431 1950 Call-ID: 12345600@atlanta.example.com 1951 CSeq: 2 ACK 1952 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1953 Supported: replaces 1954 Content-Length: 0 1956 /* Normal media session between A and B is resumed */ 1958 2.4. Transfer - Unattended 1960 Alice Bob Carol 1961 | INVITE F1 | | 1962 |<-------------------| | 1963 | 180 Ringing F2 | | 1964 |------------------->| | 1965 | 200 OK F3 | | 1966 |------------------->| | 1967 | ACK F4 | | 1968 |<-------------------| | 1969 | RTP | | 1970 |<==================>| | 1971 | | | 1972 | Alice performs unattended transfer | 1973 | | | 1974 | REFER Refer-To:C F5| | 1975 |------------------->| | 1976 | 202 Accepted F6 | | 1977 |<-------------------| | 1978 | NOTIFY F7 | | 1979 |<-------------------| | 1980 | 200 OK F8 | | 1981 |------------------->| | 1982 | BYE F9 | | 1983 |------------------->| | 1984 | 200 OK F10 | | 1985 |<-------------------| | 1986 | No RTP Session | INVITE Referred-By: A F11 1987 | |------------------->| 1988 | | 180 Ringing F12 | 1989 | |<-------------------| 1990 | | 200 OK F13 | 1991 | |<-------------------| 1992 | | ACK F14 | 1993 | |------------------->| 1994 | | RTP | 1995 | |<==================>| 1996 | NOTIFY F15 | | 1997 |<-------------------| | 1998 | 200 OK F16 | | 1999 |------------------->| | 2000 | | | 2002 In this scenario, Bob calls Alice. Alice then transfers Bob to 2003 Carol, then Alice disconnects with Bob. Bob establishes the session 2004 to Carol then reports the success back to Alice in the NOTIFY in F15. 2006 If the transfer fails, Bob can send a new INVITE back to Alice to re- 2007 establish the session. 2009 Despite the BYE sent by Alice in F9, the dialog between Alice and Bob 2010 still exists until the subscription created by the REFER has 2011 terminated (either due to a NOTIFY containing a Subscription-State: 2012 terminated;reason=noresource header field, as in F15, or a 481 2013 response to a NOTIFY). 2015 For more about call transfer see the transfer [7] document. 2017 Message Details 2019 F1 INVITE Bob -> Alice 2021 INVITE sips:alice@atlanta.example.com SIP/2.0 2022 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2023 ;branch=z9hG4bKnashds7 2024 Max-Forwards: 70 2025 From: Bob ;tag=314159 2026 To: Alice 2027 Call-ID: 12345601@atlanta.example.com 2028 CSeq: 1 INVITE 2029 Contact: 2030 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2031 Supported: replaces 2032 Content-Type: application/sdp 2033 Content-Length: ... 2035 v=0 2036 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 2037 s= 2038 c=IN IP4 client.biloxi.example.com 2039 t=0 0 2040 m=audio 3456 RTP/AVP 0 2041 a=rtpmap:0 PCMU/8000 2043 F2 180 Ringing Alice -> Bob 2045 SIP/2.0 180 Ringing 2046 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2047 ;branch=z9hG4bKnashds7 2048 ;received=192.0.2.113 2049 From: Bob ;tag=314159 2050 To: Alice ;tag=1234567 2051 Call-ID: 12345601@atlanta.example.com 2052 CSeq: 1 INVITE 2053 Contact: 2054 Content-Length: 0 2056 F3 200 OK Alice -> Bob 2058 SIP/2.0 200 OK 2059 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2060 ;branch=z9hG4bKnashds7 2061 ;received=192.0.2.113 2062 From: Bob ;tag=314159 2063 To: Alice ;tag=1234567 2064 Call-ID: 12345601@atlanta.example.com 2065 CSeq: 1 INVITE 2066 Contact: 2067 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2068 Supported: replaces 2069 Content-Type: application/sdp 2070 Content-Length: ... 2072 v=0 2073 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 2074 s= 2075 c=IN IP4 client.atlanta.example.com 2076 t=0 0 2077 m=audio 49170 RTP/AVP 0 2078 a=rtpmap:0 PCMU/8000 2080 F4 ACK Bob -> Alice 2082 ACK sips:alice@client.atlanta.example.com SIP/2.0 2083 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2084 ;branch=z9hG4bKnashds2 2085 Max-Forwards: 70 2086 From: Bob ;tag=314159 2087 To: Alice ;tag=1234567 2088 Call-ID: 12345601@atlanta.example.com 2089 CSeq: 1 ACK 2090 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2091 Supported: replaces 2092 Content-Length: 0 2094 /* Session is established between Alice and Bob. */ 2096 /* Alice performs unattended transfer of Bob to Carol */ 2097 F5 REFER Alice -> Bob 2099 REFER sips:bob@client.biloxi.example.com SIP/2.0 2100 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2101 ;branch=z9hG4bKnashds8 2102 Max-Forwards: 70 2103 From: Alice ;tag=1234567 2104 To: Bob ;tag=314159 2105 Call-ID: 12345601@atlanta.example.com 2106 CSeq: 101 REFER 2107 Refer-To: 2108 Referred-By: 2109 Contact: 2110 Content-Length: 0 2112 F6 202 Accepted Bob -> Alice 2114 SIP/2.0 202 Accepted 2115 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2116 ;branch=z9hG4bKnashds8 2117 ;received=192.0.2.105 2118 From: Alice ;tag=1234567 2119 To: Bob ;tag=314159 2120 Call-ID: 12345601@atlanta.example.com 2121 Contact: 2122 CSeq: 101 REFER 2123 Content-Length: 0 2125 F7 NOTIFY Bob -> Alice 2127 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 2128 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2129 ;branch=z9hG4bKnashds32 2130 Max-Forwards: 70 2131 From: Bob ;tag=314159 2132 To: Alice ;tag=1234567 2133 Call-ID: 12345601@atlanta.example.com 2134 CSeq: 2 NOTIFY 2135 Event: refer 2136 Subscription-State: active;expires=60 2137 Content-Type: message/sipfrag 2138 Content-Length: ... 2140 SIP/2.0 100 Trying 2141 F8 200 OK Alice -> Bob 2143 SIP/2.0 200 OK 2144 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2145 ;branch=z9hG4bKnashds32 2146 ;received=192.0.2.113 2147 From: Bob ;tag=314159 2148 To: Alice ;tag=1234567 2149 Call-ID: 12345601@atlanta.example.com 2150 CSeq: 2 NOTIFY 2151 Content-Length: 0 2153 /* Alice now disconnects with Bob. */ 2155 F9 BYE Alice -> Bob 2157 BYE sips:bob@client.biloxi.example.com SIP/2.0 2158 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2159 ;branch=z9hG4bKnashds43 2160 Max-Forwards: 70 2161 From: Alice ;tag=1234567 2162 To: Bob ;tag=314159 2163 Call-ID: 12345601@atlanta.example.com 2164 CSeq: 102 BYE 2165 Content-Length: 0 2167 F10 200 OK Bob -> Alice 2169 SIP/2.0 200 OK 2170 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2171 ;branch=z9hG4bKnashds43 2172 ;received=192.0.2.105 2173 From: Alice ;tag=1234567 2174 To: Bob ;tag=314159 2175 Call-ID: 12345601@atlanta.example.com 2176 CSeq: 102 BYE 2177 Content-Length: 0 2179 /* Bob attempts the transfer to Carol */ 2181 F11 INVITE Bob -> Carol 2183 INVITE sips:carol@chicago.example.com SIP/2.0 2184 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2185 ;branch=z9hG4bKnashds1 2187 Max-Forwards: 70 2188 From: Bob ;tag=8675309 2189 To: Carol 2190 Call-ID: 7436222@atlanta.example.com 2191 CSeq: 1 INVITE 2192 Contact: 2193 Referred-By: 2194 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2195 Supported: replaces 2196 Content-Type: application/sdp 2197 Content-Length: ... 2199 v=0 2200 o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com 2201 s= 2202 c=IN IP4 client.biloxi.example.com 2203 t=0 0 2204 m=audio 3458 RTP/AVP 0 2205 a=rtpmap:0 PCMU/8000 2207 F12 180 Ringing Carol -> Bob 2209 SIP/2.0 180 Ringing 2210 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2211 ;branch=z9hG4bKnashds1 2212 ;received=192.0.2.113 2213 From: Bob ;tag=8675309 2214 To: Carol ;tag=928287 2215 Call-ID: 7436222@atlanta.example.com 2216 CSeq: 1 INVITE 2217 Contact: 2218 Content-Length: 0 2220 F13 200 OK Carol -> Bob 2222 SIP/2.0 200 OK 2223 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2224 ;branch=z9hG4bKnashds1 2225 ;received=192.0.2.113 2226 From: Bob ;tag=8675309 2227 To: Carol ;tag=928287 2228 Call-ID: 7436222@atlanta.example.com 2229 CSeq: 1 INVITE 2230 Contact: 2231 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2232 Supported: replaces 2233 Content-Type: application/sdp 2234 Content-Length: ... 2236 v=0 2237 o=carol 2890944527 2890844527 IN IP4 client.chicago.example.com 2238 s= 2239 c=IN IP4 client.chicago.example.com 2240 t=0 0 2241 m=audio 3456 RTP/AVP 0 2242 a=rtpmap:0 PCMU/8000 2244 F14 ACK Bob -> Carol 2246 ACK sips:carol@client.chicago.example.com SIP/2.0 2247 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2248 ;branch=z9hG4bKnashds9 2249 Max-Forwards: 70 2250 From: Bob ;tag=8675309 2251 To: Carol ;tag=928287 2252 Call-ID: 7436222@atlanta.example.com 2253 CSeq: 1 ACK 2254 Content-Length: 0 2256 /* Bob and Carol now have established a session. Bob reports 2257 success to Alice which Alice probably ignores. */ 2259 F15 NOTIFY Bob -> Alice 2261 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 2262 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2263 ;branch=z9hG4bKnashds67 2264 Max-Forwards: 70 2265 From: Bob ;tag=314159 2266 To: Alice ;tag=1234567 2267 Call-ID: 12345601@atlanta.example.com 2268 CSeq: 3 NOTIFY 2269 Event: refer 2270 Subscription-State: terminated;reason=noresource 2271 Content-Type: message/sipfrag 2272 Content-Length: ... 2274 SIP/2.0 200 OK 2275 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2276 ;branch=z9hG4bKnashds1 2277 ;received=192.0.2.113 2278 From: Bob ;tag=8675309 2279 To: Carol ;tag=928287 2280 Call-ID: 7436222@atlanta.example.com 2281 CSeq: 1 INVITE 2282 Contact: 2283 Content-Type: application/sdp 2284 Content-Length: ... 2286 F16 200 OK Alice -> Bob 2288 SIP/2.0 200 OK 2289 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2290 ;branch=z9hG4bKnashds6 2291 ;received=192.0.2.113 2292 From: Bob ;tag=314159 2293 To: Alice ;tag=1234567 2294 Call-ID: 12345601@atlanta.example.com 2295 CSeq: 3 NOTIFY 2296 Content-Length: 0 2298 2.5. Transfer - Attended 2300 Alice Bob Carol 2301 | | | 2302 | INVITE F1 | | 2303 |--------------->| | 2304 | 180 Ringing F2 | | 2305 |<---------------| | 2306 | 200 OK F3 | | 2307 |<---------------| | 2308 | ACK F4 | | 2309 |--------------->| | 2310 | RTP | | 2311 |<==============>| | 2312 |INVITE (hold) F5| | 2313 |<---------------| | 2314 | 200 OK F6 | | 2315 |--------------->| | 2316 | ACK F7 | | 2317 |<---------------| | 2318 | No RTP | | 2319 | | INVITE F8 | 2320 | |------------->| 2321 | | 180 Ringing F9 2322 | |<-------------| 2323 | | 200 OK F10 | 2324 | |<-------------| 2325 | | ACK F11 | 2326 | |------------->| 2327 | | RTP | 2328 | |<============>| 2329 | |INVITE (hold) F12 2330 | |------------->| 2331 | | 200 OK F13 | 2332 | |<-------------| 2333 | | ACK F14 | 2334 | |------------->| 2335 | | No RTP | 2336 | REFER Refer-To: C F15 | 2337 |<---------------| | 2338 |202 Accepted F16| | 2339 |--------------->| | 2340 | NOTIFY F17 | | 2341 |--------------->| | 2342 | 200 OK F18 | | 2343 |<---------------| | 2344 | INVITE Replaces: B F19 | 2345 |------------------------------>| 2346 | 200 OK F20 | 2347 |<------------------------------| 2348 | ACK F21 | 2349 |------------------------------>| 2350 | RTP | 2351 |<=============================>| 2352 | | BYE F22 | 2353 | |<-------------| 2354 | | 200 OK F23 | 2355 | |------------->| 2356 | NOTIFY F24 | | 2357 |--------------->| | 2358 | 200 OK F25 | | 2359 |<---------------| | 2360 | BYE F26 | | 2361 |<---------------| | 2362 | 200 OK F27 | | 2363 |--------------->| | 2365 In this scenario, Alice calls Bob. Bob puts Alice on hold then calls 2366 Carol to announce transfer, then places Carol on hold. Bob transfers 2367 Alice to Carol which replaces the session between Bob and Carol. 2368 Carol then disconnects session with Bob. Alice reports success of 2369 transfer to Bob, who then disconnects with Alice. In this example, 2370 the Replaces header field [4] is inserted into the Refer-To URI by 2371 Bob. Note that the Refer-To URI is the Contact URI returned by Carol 2372 in the 200 OK response F10. This ensures that only the correct 2373 instance of Carol is reached. The presence of the Supported: gruu 2374 header field in message F10 indicates that the Contact URI is, in 2375 fact, a GRUU [22] and will be globally routable outside of the 2376 dialog. Without knowing the Contact URI is a gruu, Bob must be 2377 prepared, if the triggered INVITE had failed, to retry the REFER with 2378 a Refer-To URI of the URI used to reach Carol but with a Require: 2379 replaces header escaped in the Refer-To header field, as discussed in 2380 the transfer [7] document. 2382 Message Details 2384 F1 INVITE Alice -> Bob 2386 INVITE sips:bob@biloxi.example.com SIP/2.0 2387 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2388 ;branch=z9hG4bK74bf9 2389 Max-Forwards: 70 2390 From: Alice ;tag=1234567 2391 To: Bob 2392 Call-ID: 12345600@atlanta.example.com 2393 CSeq: 1 INVITE 2394 Contact: 2395 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2396 Supported: replaces 2397 Content-Type: application/sdp 2398 Content-Length: ... 2400 v=0 2401 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 2402 s= 2403 c=IN IP4 client.atlanta.example.com 2404 t=0 0 2405 m=audio 49170 RTP/AVP 0 2406 a=rtpmap:0 PCMU/8000 2408 F2 180 Ringing Bob -> Alice 2410 SIP/2.0 180 Ringing 2411 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2412 ;branch=z9hG4bK74bf9 2413 ;received=192.0.2.103 2414 From: Alice ;tag=1234567 2415 To: Bob ;tag=23431 2416 Call-ID: 12345600@atlanta.example.com 2417 CSeq: 1 INVITE 2418 Contact: 2419 Content-Length: 0 2421 F3 200 OK Bob -> Alice 2423 SIP/2.0 200 OK 2424 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2425 ;branch=z9hG4bK74bf9 2426 ;received=192.0.2.103 2427 From: Alice ;tag=1234567 2428 To: Bob ;tag=23431 2429 Call-ID: 12345600@atlanta.example.com 2430 CSeq: 1 INVITE 2431 Contact: 2432 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2433 Supported: replaces 2434 Content-Type: application/sdp 2435 Content-Length: ... 2437 v=0 2438 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 2439 s= 2440 c=IN IP4 client.biloxi.example.com 2441 t=0 0 2442 m=audio 3456 RTP/AVP 0 2443 a=rtpmap:0 PCMU/8000 2445 F4 ACK Alice -> Bob 2447 ACK sips:bob@client.biloxi.example.com SIP/2.0 2448 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2449 ;branch=z9hG4bK74bf 2450 Max-Forwards: 70 2451 From: Alice ;tag=1234567 2452 To: Bob ;tag=23431 2453 Call-ID: 12345600@atlanta.example.com 2454 CSeq: 1 ACK 2455 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2456 Supported: replaces 2457 Content-Length: 0 2459 /* Alice and Bob have established a session. 2460 Bob puts Alice on Hold */ 2462 F5 INVITE Bob -> Alice 2463 INVITE sips:alice@client.atlanta.example.com SIP/2.0 2464 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2465 ;branch=z9hG4bKnashds7 2466 Max-Forwards: 70 2467 From: Bob ;tag=23431 2468 To: Alice ;tag=1234567 2469 Call-ID: 12345600@atlanta.example.com 2470 CSeq: 1024 INVITE 2471 Contact: 2472 Content-Type: application/sdp 2473 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2474 Supported: replaces 2475 Content-Length: ... 2477 v=0 2478 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 2479 s= 2480 c=IN IP4 client.biloxi.example.com 2481 t=0 0 2482 m=audio 3456 RTP/AVP 0 2483 a=rtpmap:0 PCMU/8000 2484 a=sendonly 2486 F6 200 OK Alice -> Bob 2488 SIP/2.0 200 OK 2489 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2490 ;branch=z9hG4bKnashds7 2491 ;received=192.0.2.113 2492 From: Bob ;tag=23431 2493 To: Alice ;tag=1234567 2494 Call-ID: 12345600@atlanta.example.com 2495 CSeq: 1024 INVITE 2496 Contact: 2497 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2498 Supported: replaces 2499 Content-Type: application/sdp 2500 Content-Length: ... 2502 v=0 2503 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com 2504 s= 2505 c=IN IP4 client.atlanta.example.com 2506 t=0 0 2507 m=audio 49170 RTP/AVP 0 2508 a=rtpmap:0 PCMU/8000 2509 a=recvonly 2510 F7 ACK Bob -> Alice 2512 ACK sips:alice@client.atlanta.example.com SIP/2.0 2513 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2514 ;branch=z9hG4bKnashds3 2515 Max-Forwards: 70 2516 From: Bob ;tag=23431 2517 To: Alice ;tag=1234567 2518 Call-ID: 12345600@atlanta.example.com 2519 CSeq: 1024 ACK 2520 Content-Length: 0 2522 /* Bob calls Carol */ 2524 F8 INVITE Bob -> Carol 2526 INVITE sips:carol@chicago.example.com SIP/2.0 2527 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2528 ;branch=z9hG4bKnash 2529 Max-Forwards: 70 2530 From: Bob ;tag=8675309 2531 To: Carol 2532 Call-ID: sdjfdjfskdf@biloxi.example.com 2533 CSeq: 42 INVITE 2534 Contact: 2535 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2536 Supported: replaces 2537 Content-Type: application/sdp 2538 Content-Length: ... 2540 v=0 2541 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 2542 s= 2543 c=IN IP4 client.biloxi.example.com 2544 t=0 0 2545 m=audio 3458 RTP/AVP 0 2546 a=rtpmap:0 PCMU/8000 2548 F9 180 Ringing Carol -> Bob 2550 SIP/2.0 180 Ringing 2551 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2552 ;branch=z9hG4bKnash 2553 ;received=192.0.2.113 2554 From: Bob ;tag=8675309 2555 To: Carol ;tag=5f35a3 2556 Call-ID: sdjfdjfskdf@biloxi.example.com 2557 CSeq: 42 INVITE 2558 Contact: 2559 Content-Length: 0 2561 F10 200 OK Carol -> Bob 2563 SIP/2.0 200 OK 2564 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2565 ;branch=z9hG4bKnash 2566 ;received=192.0.2.113 2567 From: Bob ;tag=8675309 2568 To: Carol ;tag=5f35a3 2569 Call-ID: sdjfdjfskdf@biloxi.example.com 2570 CSeq: 42 INVITE 2571 Contact: 2572 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2573 Supported: replaces, gruu 2574 Content-Type: application/sdp 2575 Content-Length: ... 2577 v=0 2578 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 2579 s= 2580 c=IN IP4 client.chicago.example.com 2581 t=0 0 2582 m=audio 3456 RTP/AVP 0 2583 a=rtpmap:0 PCMU/8000 2585 F11 ACK Bob -> Carol 2587 ACK sips:39itp34klkd@chicago.example.com SIP/2.0 2588 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2589 ;branch=z9hG4bKnashd5 2590 Max-Forwards: 70 2591 From: Bob ;tag=8675309 2592 To: Carol ;tag=5f35a3 2593 Call-ID: sdjfdjfskdf@biloxi.example.com 2594 CSeq: 42 ACK 2595 Content-Length: 0 2597 /* Bob puts Carol on hold */ 2599 F12 INVITE Bob -> Carol 2600 INVITE sips:39itp34klkd@chicago.example.com SIP/2.0 2601 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2602 ;branch=z9hG4bKnashds0 2603 Max-Forwards: 70 2604 From: Bob ;tag=8675309 2605 To: Carol ;tag=5f35a3 2606 Call-ID: sdjfdjfskdf@biloxi.example.com 2607 CSeq: 43 INVITE 2608 Contact: 2609 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2610 Supported: replaces 2611 Content-Type: application/sdp 2612 Content-Length: ... 2614 v=0 2615 o=bob 289084834 2890844835 IN IP4 client.biloxi.example.com 2616 s= 2617 c=IN IP4 client.biloxi.example.com 2618 t=0 0 2619 m=audio 3458 RTP/AVP 0 2620 a=rtpmap:0 PCMU/8000 2621 a=sendonly 2623 F13 200 OK Carol -> Bob 2625 SIP/2.0 200 OK 2626 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2627 ;branch=z9hG4bKnashds0 2628 ;received=192.0.2.113 2629 From: Bob ;tag=8675309 2630 To: Carol ;tag=5f35a3 2631 Call-ID: sdjfdjfskdf@biloxi.example.com 2632 CSeq: 43 INVITE 2633 Contact: 2634 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2635 Supported: replaces, gruu 2636 Content-Type: application/sdp 2637 Content-Length: ... 2639 v=0 2640 o=carol 2890844922 2890844923 IN IP4 client.chicago.example.com 2641 s= 2642 c=IN IP4 client.chicago.example.com 2643 t=0 0 2644 m=audio 3456 RTP/AVP 0 2645 a=rtpmap:0 PCMU/8000 2646 a=recvonly 2647 F14 ACK Bob -> Carol 2649 ACK sips:39itp34klkd@chicago.example.com SIP/2.0 2650 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2651 ;branch=z9hG4bKnash334 2652 Max-Forwards: 70 2653 From: Bob ;tag=8675309 2654 To: Carol ;tag=5f35a3 2655 Call-ID: sdjfdjfskdf@biloxi.example.com 2656 CSeq: 43 ACK 2657 Content-Length: 0 2659 /* Bob Transfers Alice to Carol. */ 2661 F15 REFER Bob -> Alice 2663 REFER sips:alice@client.atlanta.example.com SIP/2.0 2664 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2665 ;branch=z9hG4bKnashds2g 2666 Max-Forwards: 70 2667 From: Bob ;tag=23431 2668 To: Alice ;tag=1234567 2669 Call-ID: 12345600@atlanta.example.com 2670 CSeq: 1025 REFER 2671 2672 Refer-To: 2675 2676 Referred-By: 2677 Contact: 2678 Content-Length: 0 2680 F16 202 Accepted Alice -> Bob 2682 SIP/2.0 202 Accepted 2683 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2684 ;branch=z9hG4bKnashds2g 2685 ;received=192.0.2.113 2686 From: Bob ;tag=23431 2687 To: Alice ;tag=1234567 2688 Call-ID: 12345600@atlanta.example.com 2689 Contact: 2690 CSeq: 1025 REFER 2691 Content-Length: 0 2692 F17 NOTIFY Alice -> Bob 2694 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 2695 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2696 ;branch=z9hG4bK74bfK 2697 Max-Forwards: 70 2698 From: Alice ;tag=1234567 2699 To: Bob ;tag=23431 2700 Call-ID: 12345600@atlanta.example.com 2701 CSeq: 2 NOTIFY 2702 Contact: 2703 Event: refer 2704 Subscription-State: active;expires=60 2705 Content-Type: message/sipfrag 2706 Content-Length: ... 2708 SIP/2.0 100 Trying 2710 F18 200 OK Bob -> Alice 2712 SIP/2.0 200 OK 2713 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2714 ;branch=z9hG4bK74bfK 2715 ;received=192.0.2.103 2716 From: Alice ;tag=1234567 2717 To: Bob ;tag=23431 2718 Call-ID: 12345600@atlanta.example.com 2719 CSeq: 2 NOTIFY 2720 Content-Length: 0 2722 /* Alice establishes session with Carol which replaces the 2723 session between Bob and Carol */ 2725 F19 INVITE Alice -> Carol 2727 INVITE sips:39itp34klkd@chicago.example.com SIP/2.0 2728 Via: SIP/2.0/TLS chicago.example.com:5061 2729 ;branch=z9hG4bKadfe4ko 2730 To: Carol 2731 Max-Forwards: 70 2732 From: Alice ;tag=3461 2733 Call-ID: 9435674543@atlanta.example.com 2734 CSeq: 1 INVITE 2735 Require: replaces 2736 Referred-By: 2737 Replaces: sdjfdjfskdf@biloxi.example.com 2738 ;to-tag=5f35a3;from-tag=8675309 2739 Contact: 2740 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2741 Supported: replaces 2742 Content-Type: application/sdp 2743 Content-Length: ... 2745 v=0 2746 o=alice 2890844989 2890844989 IN IP4 client.atlanta.example.com 2747 s= 2748 c=IN IP4 client.atlanta.example.com 2749 t=0 0 2750 m=audio 3458 RTP/AVP 0 2751 a=rtpmap:0 PCMU/8000 2753 F20 200 OK Carol -> Alice 2755 SIP/2.0 200 OK 2756 Via: SIP/2.0/TLS chicago.example.com:5061 2757 ;branch=z9hG4bKadfe4ko 2758 ;received=192.0.2.103 2759 To: Carol ;tag=ff3a 2760 From: Alice ;tag=3461 2761 Call-ID: 9435674543@atlanta.example.com 2762 CSeq: 1 INVITE 2763 Contact: 2764 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2765 Supported: replaces, gruu 2766 Content-Type: application/sdp 2767 Content-Length: ... 2769 v=0 2770 o=carol 2890844221 2890844221 IN IP4 client.chicago.example.com 2771 s= 2772 c=IN IP4 client.chicago.example.com 2773 t=0 0 2774 m=audio 49172 RTP/AVP 0 2775 a=rtpmap:0 PCMU/8000 2777 F21 ACK Alice -> Carol 2779 ACK sips:39itp34klkd@chicago.example.com SIP/2.0 2780 Via: SIP/2.0/TLS chicago.example.com:5061 2781 ;branch=z9hG4bKadfe4kU3 2782 To: Carol ;tag=ff3a 2783 Max-Forwards: 70 2784 From: Alice ;tag=3461 2785 Call-ID: 9435674543@atlanta.example.com 2786 CSeq: 1 ACK 2787 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2788 Supported: replaces 2789 Content-Length: 0 2791 /* Carol then disconnects from Bob */ 2793 F22 BYE Carol -> Bob 2795 BYE sips:bob@client.biloxi.example.com SIP/2.0 2796 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2797 ;branch=z9hG4bK74bfE 2798 To: Bob ;tag=8675309 2799 Max-Forwards: 70 2800 From: Carol ;tag=5f35a3 2801 Call-ID: sdjfdjfskdf@biloxi.example.com 2802 CSeq: 1 BYE 2803 Content-Length: 0 2805 F23 200 OK Bob -> Carol 2807 SIP/2.0 200 OK 2808 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2809 ;branch=z9hG4bK74bfE 2810 ;received=192.0.2.123 2811 To: Bob ;tag=8675309 2812 From: Carol ;tag=5f35a3 2813 Call-ID: sdjfdjfskdf@biloxi.example.com 2814 CSeq: 1 BYE 2815 Content-Length: 0 2817 /* Alice tells Bob that the call has been 2818 successfully transferred */ 2820 F24 NOTIFY Alice -> Bob 2822 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 2823 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2824 ;branch=z9hG4bK74bf2N 2825 Max-Forwards: 70 2826 From: Alice ;tag=1234567 2827 To: Bob ;tag=23431 2828 Call-ID: 12345600@atlanta.example.com 2829 CSeq: 3 NOTIFY 2830 Event: refer 2831 Subscription-State: terminated;reason=noresource 2832 Content-Type: message/sipfrag 2833 Content-Length: ... 2835 SIP/2.0 200 OK 2836 Via: SIP/2.0/TLS chicago.example.com:5061 2837 ;branch=z9hG4bKadfe4ko 2838 ;received=192.0.2.103 2839 To: Carol ;tag=ff3a 2840 From: Alice ;tag=3461 2841 Call-ID: 9435674543@atlanta.example.com 2842 CSeq: 1 INVITE 2843 Contact: 2845 F25 200 OK Bob -> Alice 2847 SIP/2.0 200 OK 2848 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2849 ;branch=z9hG4bK74bf9 2850 ;received=192.0.2.103 2851 From: Alice ;tag=1234567 2852 To: Bob ;tag=23431 2853 Call-ID: 12345600@atlanta.example.com 2854 CSeq: 3 NOTIFY 2855 Content-Length: 0 2857 /* Bob disconnects with Alice */ 2859 F26 BYE Bob -> Alice 2861 BYE sips:alice@client.atlanta.example.com SIP/2.0 2862 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2863 ;branch=z9hG4bKnashds7P 2864 Max-Forwards: 70 2865 From: Bob ;tag=23431 2866 To: Alice ;tag=1234567 2867 Call-ID: 12345600@atlanta.example.com 2868 CSeq: 1026 BYE 2869 Content-Length: 0 2871 F27 200 OK Alice -> Bob 2873 SIP/2.0 200 OK 2874 Via: SIP/2.0/TLS client.biloxi.example.com:5061 2875 ;branch=z9hG4bKnashds7P 2876 ;received=192.0.2.113 2877 From: Bob ;tag=23431 2878 To: Alice ;tag=1234567 2879 Call-ID: 12345600@atlanta.example.com 2880 CSeq: 1026 BYE 2881 Content-Length: 0 2883 2.6. Transfer - Instant Messaging 2885 Alice Bob Carol 2886 | | | 2887 | INVITE F1 | | 2888 |------------->| | 2889 | 180 Ringing F2 | 2890 |<-------------| | 2891 | 200 OK F3 | | 2892 |<-------------| | 2893 | ACK F4 | | 2894 |------------->| | 2895 | Both way RTP Established | 2896 |<============>| | 2897 | | MESSAGE F5 | 2898 | |------------------>| 2899 | | 200 OK F6 | 2900 | |<------------------| 2901 | | | 2902 | INVITE Replaces:A-B F7 | 2903 |<---------------------------------| 2904 | 200 OK F8 | 2905 |--------------------------------->| 2906 | ACK F9 | 2907 |<---------------------------------| 2908 | Both way RTP Established | 2909 |<================================>| 2910 | BYE F10 | | 2911 |------------->| | 2912 | 200 OK F11 | | 2913 |<-------------| | 2914 | | 2916 In this scenario, Alice and Bob establish a session between them. 2917 Bob wants Carol to take the call so sends an Instant Message (IM) to 2918 Carol containing Alice's URI and an embedded Replaces header field. 2919 If Carol clicks on the URI, Carol's SIP UA sends an INVITE to Alice 2920 which replaces the session with Bob. 2922 This scenario shows the use of the SIP MESSAGE [15] method to pass 2923 the URI. However, another IM protocol or other method could have 2924 been used to pass the URI from Bob to Carol. 2926 Message Details 2928 F1 INVITE Alice -> Bob 2930 INVITE sips:bob@biloxi.example.com SIP/2.0 2931 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2932 ;branch=z9hG4bK74bf9 2933 Max-Forwards: 70 2934 From: Alice ;tag=1234567 2935 To: Bob 2936 Call-ID: 12345600@atlanta.example.com 2937 CSeq: 1 INVITE 2938 Contact: 2939 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2940 Supported: replaces, gruu 2941 Content-Type: application/sdp 2942 Content-Length: ... 2944 v=0 2945 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 2946 s= 2947 c=IN IP4 client.atlanta.example.com 2948 t=0 0 2949 m=audio 49170 RTP/AVP 0 2950 a=rtpmap:0 PCMU/8000 2952 F2 180 Ringing Bob -> Alice 2954 SIP/2.0 180 Ringing 2955 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2956 ;branch=z9hG4bK74bf9 2957 ;received=192.0.2.103 2958 From: Alice ;tag=1234567 2959 To: Bob ;tag=3145678 2960 Call-ID: 12345600@atlanta.example.com 2961 CSeq: 1 INVITE 2962 Contact: 2963 Content-Length: 0 2965 F3 200 OK Bob -> Alice 2966 SIP/2.0 200 OK 2967 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2968 ;branch=z9hG4bK74bf9 2969 ;received=192.0.2.103 2970 From: Alice ;tag=1234567 2971 To: Bob ;tag=3145678 2972 Call-ID: 12345600@atlanta.example.com 2973 Contact: 2974 CSeq: 1 INVITE 2975 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 2976 Supported: replaces 2977 Content-Type: application/sdp 2978 Content-Length: ... 2980 v=0 2981 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 2982 s= 2983 c=IN IP4 client.biloxi.example.com 2984 t=0 0 2985 m=audio 3456 RTP/AVP 0 2986 a=rtpmap:0 PCMU/8000 2988 F4 ACK Alice -> Bob 2990 ACK sips:bob@client.biloxi.example.com SIP/2.0 2991 Via: SIP/2.0/TLS client.atlanta.example.com:5061 2992 ;branch=z9hG4bK74r 2993 Max-Forwards: 70 2994 From: Alice ;tag=1234567 2995 To: Bob ;tag=3145678 2996 Call-ID: 12345600@atlanta.example.com 2997 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2998 Supported: replaces 2999 CSeq: 1 ACK 3000 Content-Length: 0 3002 /* Bob IMs Carol */ 3004 F5 MESSAGE Bob -> Carol 3006 MESSAGE sips:carol@chicago.example.com SIP/2.0 3007 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3008 ;branch=z9hG4bKnash 3009 Max-Forwards: 70 3010 From: Bob ;tag=8675309 3011 To: Carol 3012 Call-ID: sdjfdjfskdf@biloxi.example.com 3013 CSeq: 42 MESSAGE 3014 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3015 Supported: replaces 3016 Content-Type: text/html 3017 Content-Length: ... 3019 Do you want to take this call from 3020 3021 3024 Alice? 3025 3026 3028 F6 200 OK Carol -> Bob 3030 SIP/2.0 200 OK 3031 Via: SIP/2.0/TLS client.biloxi.example.com:5061 3032 ;branch=z9hG4bKnash 3033 ;received=192.0.2.113 3034 From: Bob ;tag=8675309 3035 To: Carol ;tag=5f35a3 3036 Call-ID: sdjfdjfskdf@biloxi.example.com 3037 CSeq: 42 MESSAGE 3038 Contact: 3039 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3040 Supported: replaces 3041 Content-Length: 0 3043 /* Carol takes the call from Bob */ 3045 F7 INVITE Carol -> Alice 3047 INVITE sips:a8342043f@atlanta.example.com;gruu SIP/2.0 3048 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 3049 ;branch=z9hG4bK74HH 3050 Max-Forwards: 70 3051 From: Carol ;tag=8675310 3052 To: Alice 3053 Call-ID: 563456212@b2.chicago.example.com 3054 CSeq: 1 INVITE 3055 Require: replaces 3056 Replaces: 12345600@atlanta.example.com 3057 ;to-tag=3145678;from-tag=1234567 3059 Contact: 3060 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE 3061 Supported: replaces 3062 Content-Type: application/sdp 3063 Content-Length: ... 3065 v=0 3066 o=carol 2890843122 2890843122 IN IP4 client.chicago.example.com 3067 s= 3068 c=IN IP4 client.chicago.example.com 3069 t=0 0 3070 m=audio 5342 RTP/AVP 0 3071 a=rtpmap:0 PCMU/8000 3073 /* Alice matches the dialog information in the 3074 Replaces header and accepts the INVITE */ 3076 F8 200 OK Alice -> Carol 3078 SIP/2.0 200 OK 3079 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 3080 ;branch=z9hG4bK74HH 3081 ;received=192.0.2.114 3082 From: Carol ;tag=8675310 3083 To: Alice ;tag=131256 3084 Call-ID: 563456212@b2.chicago.example.com 3085 CSeq: 1 INVITE 3086 Contact: 3087 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3088 Supported: replaces, gruu 3089 Content-Type: application/sdp 3090 Content-Length: ... 3092 v=0 3093 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com 3094 s= 3095 c=IN IP4 client.atlanta.example.com 3096 t=0 0 3097 m=audio 49172 RTP/AVP 0 3098 a=rtpmap:0 PCMU/8000 3100 F9 ACK Carol -> Alice 3102 ACK sips:a8342043f@atlanta.example.com;gruu SIP/2.0 3103 Via: SIP/2.0/TLS b2.biloxi.example.com:5061 3104 ;branch=z9hG4bK7435 3106 Max-Forwards: 70 3107 From: Carol ;tag=8675310 3108 To: Alice ;tag=131256 3109 Call-ID: 563456212@b2.chicago.example.com 3110 CSeq: 1 ACK 3111 Content-Length: 0 3113 /* RTP streams are established between Alice and Carol. 3114 Alice Hangs Up with Bob due to the Replaces header field. */ 3116 F10 BYE Alice -> Bob 3118 BYE sips:bob@client.biloxi.example.com SIP/2.0 3119 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3120 ;branch=z9hG4bK74bf 3121 Max-Forwards: 70 3122 From: Alice ;tag=1234567 3123 To: Bob ;tag=3145678 3124 Call-ID: 12345600@atlanta.example.com 3125 CSeq: 2 BYE 3126 Content-Length: 0 3128 F11 200 OK Bob -> Alice 3130 SIP/2.0 200 OK 3131 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3132 ;branch=z9hG4bK74bf 3133 ;received=192.0.2.103 3134 From: Alice ;tag=1234567 3135 To: Bob ;tag=3145678 3136 Call-ID: 12345600@atlanta.example.com 3137 CSeq: 2 BYE 3138 Content-Length: 0 3140 2.7. Call Forwarding Unconditional 3142 Alice Proxy Gateway 3143 | | | 3144 | INVITE F1 | | 3145 |--------------->| | 3146 |(100 Trying) F2 | | 3147 |<---------------| | 3148 | (181 Call Is Being Forwarded) F3 3149 |<---------------| INVITE F4 | 3150 | |------------->| 3151 | |180 Ringing F5| 3152 | 180 Ringing F6 |<-------------| 3153 |<---------------| 200 OK F7 | 3154 | 200 OK F8 |<-------------| 3155 |<---------------| | 3156 | ACK F9 | | 3157 |--------------->| ACK F10 | 3158 | |------------->| 3159 | Both way RTP Established | 3160 |<=============================>| 3161 | BYE F11 | | 3162 |--------------->| BYE F12 | 3163 | |------------->| 3164 | | 200 OK F13 | 3165 | 200 OK F14 |<-------------| 3166 |<---------------| | 3167 | | | 3169 Bob wants all calls forwarded to the PSTN (which is just another URI 3170 to the proxy server). Alice calls Bob. The proxy server rewrites the 3171 Request URI, and forwards the INVITE to a Gateway. Details of 3172 messaging behind the Gateway are not shown. 3174 Note that the 181 Call is Being Forwarded response does not have a To 3175 tag added as the proxy does not wish to establish an early dialog 3176 with Alice. Strictly speaking, the proxy is behaving as a User Agent 3177 in this case as a proxy can not generate non-100 provisional 3178 responses. 3180 Note also that forwarding could be accomplished using a redirect (302 3181 Moved Temporarily response). 3183 Message Details 3185 F1 INVITE Alice -> Proxy 3186 INVITE sips:bob@biloxi.example.com SIP/2.0 3187 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3188 ;branch=z9hG4bK74bf9 3189 Max-Forwards: 70 3190 From: Alice ;tag=1234567 3191 To: Bob 3192 Call-ID: 12345600@atlanta.example.com 3193 CSeq: 1 INVITE 3194 Contact: 3195 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3196 Content-Type: application/sdp 3197 Content-Length: ... 3199 v=0 3200 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3201 s= 3202 c=IN IP4 client.atlanta.example.com 3203 t=0 0 3204 m=audio 49170 RTP/AVP 0 3205 a=rtpmap:0 PCMU/8000 3207 F2 (100 Trying) Proxy -> Alice 3209 SIP/2.0 100 Trying 3210 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3211 ;branch=z9hG4bK74bf9 3212 ;received=192.0.2.103 3213 From: Alice ;tag=1234567 3214 To: Bob 3215 Call-ID: 12345600@atlanta.example.com 3216 CSeq: 1 INVITE 3217 Content-Length: 0 3219 F3 (181 Call is Being Forwarded) Proxy -> Alice 3221 SIP/2.0 181 Call is Being Forwarded 3222 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3223 ;branch=z9hG4bK74bf9 3224 ;received=192.0.2.103 3225 From: Alice ;tag=1234567 3226 To: Bob ;tag=9214d 3227 Call-ID: 12345600@atlanta.example.com 3228 CSeq: 1 INVITE 3229 Content-Length: 0 3230 /* Proxy forwards call by rewriting Request-URI */ 3232 F4 INVITE Proxy -> Gateway 3234 INVITE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3235 Via: SIP/2.0/TLS ss1.example.com:5061 3236 ;branch=z9hG4bK83749.1 3237 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3238 ;branch=z9hG4bK74bf9 3239 ;received=192.0.2.103 3240 Record-Route: 3241 Max-Forwards: 69 3242 From: Alice ;tag=1234567 3243 To: Bob 3244 Call-ID: 12345600@atlanta.example.com 3245 CSeq: 1 INVITE 3246 Contact: 3247 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3248 Content-Type: application/sdp 3249 Content-Length: ... 3251 v=0 3252 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3253 s= 3254 c=IN IP4 client.atlanta.example.com 3255 t=0 0 3256 m=audio 49170 RTP/AVP 0 3257 a=rtpmap:0 PCMU/8000 3259 F5 180 Ringing Gateway -> Proxy 3261 SIP/2.0 180 Ringing 3262 Via: SIP/2.0/TLS ss1.example.com:5061 3263 ;branch=z9hG4bK83749.1 3264 ;received=192.0.2.54 3265 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3266 ;branch=z9hG4bK74bf9 3267 ;received=192.0.2.103 3268 Record-Route: 3269 From: Alice ;tag=1234567 3270 To: Bob ;tag=314159 3271 Call-ID: 12345600@atlanta.example.com 3272 CSeq: 1 INVITE 3273 Contact: 3274 Content Length:0 3275 F6 180 Ringing Proxy -> Alice 3277 SIP/2.0 180 Ringing 3278 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3279 ;branch=z9hG4bK74bf9 3280 ;received=192.0.2.103 3281 Record-Route: 3282 From: Alice ;tag=1234567 3283 To: Bob ;tag=314159 3284 Call-ID: 12345600@atlanta.example.com 3285 CSeq: 1 INVITE 3286 Contact: 3287 Content Length: 0 3289 F7 200 OK Gateway -> Proxy 3291 SIP/2.0 200 OK 3292 Via: SIP/2.0/TLS ss1.example.com:5061 3293 ;branch=z9hG4bK83749.1 3294 ;received=192.0.2.54 3295 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3296 ;branch=z9hG4bK74bf9 3297 ;received=192.0.2.103 3298 Record-Route: 3299 From: Alice ;tag=1234567 3300 To: Bob ;tag=314159 3301 Call-ID: 12345600@atlanta.example.com 3302 CSeq: 1 INVITE 3303 Contact: 3304 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3305 Content-Type: application/sdp 3306 Content-Length: ... 3308 v=0 3309 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com 3310 s= 3311 c=IN IP4 gatewayone.example.com 3312 t=0 0 3313 m=audio 3456 RTP/AVP 0 3314 a=rtpmap:0 PCMU/8000 3316 F8 200 OK Proxy -> Alice 3318 SIP/2.0 200 OK 3319 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3320 ;branch=z9hG4bK74bf9 3321 ;received=192.0.2.103 3322 Record-Route: 3323 From: Alice ;tag=1234567 3324 To: Bob ;tag=314159 3325 Call-ID: 12345600@atlanta.example.com 3326 CSeq: 1 INVITE 3327 Contact: 3328 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3329 Content-Type: application/sdp 3330 Content-Length: ... 3332 v=0 3333 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com 3334 s= 3335 c=IN IP4 gatewayone.example.com 3336 t=0 0 3337 m=audio 3456 RTP/AVP 0 3338 a=rtpmap:0 PCMU/8000 3340 F9 ACK Alice -> Proxy 3342 ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3343 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3344 ;branch=z9hG4bK74bf31 3345 Route: 3346 Max-Forwards: 70 3347 From: Alice ;tag=1234567 3348 To: Bob ;tag=314159 3349 Call-ID: 12345600@atlanta.example.com 3350 CSeq: 1 ACK 3351 Content-Length: 0 3353 F10 ACK Proxy -> Gateway 3355 ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3356 Via: SIP/2.0/TLS ss1.example.com:5061 3357 ;branch=z9hG4bK83749ws.1 3358 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3359 ;branch=z9hG4bK74bf31 3360 ;received=192.0.2.103 3361 Max-Forwards: 69 3362 From: Alice ;tag=1234567 3363 To: Bob ;tag=314159 3364 Call-ID: 12345600@atlanta.example.com 3365 CSeq: 1 ACK 3366 Content-Length: 0 3367 F11 BYE Alice -> Proxy 3369 BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3370 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3371 ;branch=z9hG4bK74bfJe 3372 Route: 3373 Max-Forwards: 70 3374 From: Alice ;tag=1234567 3375 To: Bob ;tag=314159 3376 Call-ID: 12345600@atlanta.example.com 3377 CSeq: 2 BYE 3378 Content-Length: 0 3380 F12 BYE Proxy -> Gateway 3382 BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 3383 Via: SIP/2.0/TLS ss1.example.com:5061 3384 ;branch=z9hG4bK83749G1 3385 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3386 ;branch=z9hG4bK74bfJe 3387 ;received=192.0.2.103 3388 Max-Forwards: 69 3389 From: Alice ;tag=1234567 3390 To: Bob ;tag=314159 3391 Call-ID: 12345600@atlanta.example.com 3392 CSeq: 2 BYE 3393 Content-Length: 0 3395 F13 200 OK Gateway -> Proxy 3397 SIP/2.0 200 OK 3398 Via: SIP/2.0/TLS ss1.example.com:5061 3399 ;branch=z9hG4bK83749G1 3400 ;received=192.0.2.54 3401 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3402 ;branch=z9hG4bK74bfJe 3403 ;received=192.0.2.103 3404 From: Alice ;tag=1234567 3405 To: Bob ;tag=314159 3406 Call-ID: 12345600@atlanta.example.com 3407 CSeq: 2 BYE 3408 Content-Length: 0 3410 F14 200 OK Proxy -> Alice 3411 SIP/2.0 200 OK 3412 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3413 ;branch=z9hG4bK74bfJe 3414 ;received=192.0.2.103 3415 From: Alice ;tag=1234567 3416 To: Bob ;tag=314159 3417 Call-ID: 12345600@atlanta.example.com 3418 CSeq: 2 BYE 3419 Content-Length: 0 3421 2.8. Call Forwarding - Busy 3423 Alice Proxy User B1 User B2 3424 | | | | 3425 | INVITE F1 | | | 3426 |--------------->| INVITE F2 | | 3427 | |------------->| | 3428 |(100 Trying) F3 | | | 3429 |<---------------| 486 Busy F4 | | 3430 | |<-------------| | 3431 | | ACK F5 | | 3432 | |------------->| | 3433 |(181 Call is Being Forwarded) F6 | 3434 |<---------------| | INVITE F7 | 3435 | |--------------------------------->| 3436 | | | 180 Ringing F8 | 3437 | |<---------------------------------| 3438 | 180 Ringing F9 | | | 3439 |<---------------| | 200 OK F10 | 3440 | |<---------------------------------| 3441 | 200 OK F11 | | | 3442 |<---------------| | | 3443 | ACK F12 | | | 3444 |--------------->| | ACK F13 | 3445 | |--------------------------------->| 3446 | Both way RTP Established | 3447 |<=================================================>| 3448 | BYE F14 | | | 3449 |--------------->| | BYE F15 | 3450 | |--------------------------------->| 3451 | | | 200 OK F16 | 3452 | 200 OK F17 |<---------------------------------| 3453 |<---------------| | | 3454 | | | | 3456 Bob wants calls to B1 forwarded to B2 if B1 is busy (this information 3457 is known to the proxy). Alice calls B1, B1 is busy, the proxy server 3458 places call to B2. 3460 Message Details 3462 F1 INVITE Alice -> Proxy 3464 INVITE sips:bob@biloxi.example.com SIP/2.0 3465 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3466 ;branch=z9hG4bK74bf9 3467 Max-Forwards: 70 3468 From: Alice ;tag=1234567 3469 To: Bob 3470 Call-ID: 12345600@atlanta.example.com 3471 CSeq: 1 INVITE 3472 Contact: 3473 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3474 Content-Type: application/sdp 3475 Content-Length: ... 3477 v=0 3478 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3479 s= 3480 c=IN IP4 client.atlanta.example.com 3481 t=0 0 3482 m=audio 49170 RTP/AVP 0 3483 a=rtpmap:0 PCMU/8000 3485 F2 INVITE Proxy -> B1 3487 INVITE sips:bob@client.biloxi.example.com SIP/2.0 3488 Via: SIP/2.0/TLS ss1.example.com:5061 3489 ;branch=z9hG4bK83749.1 3490 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3491 ;branch=z9hG4bK74bf9 3492 ;received=192.0.2.103 3493 Record-Route: 3494 Max-Forwards: 69 3495 From: Alice ;tag=1234567 3496 To: Bob 3497 Call-ID: 12345600@atlanta.example.com 3498 CSeq: 1 INVITE 3499 Contact: 3500 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3501 Content-Type: application/sdp 3502 Content-Length: ... 3504 v=0 3505 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3506 s= 3507 c=IN IP4 client.atlanta.example.com 3508 t=0 0 3509 m=audio 49170 RTP/AVP 0 3510 a=rtpmap:0 PCMU/8000 3512 F3 (100 Trying) Proxy -> Alice 3514 SIP/2.0 100 Trying 3515 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3516 ;branch=z9hG4bK74bf9 3517 ;received=192.0.2.103 3518 From: Alice ;tag=1234567 3519 To: Bob 3520 Call-ID: 12345600@atlanta.example.com 3521 CSeq: 1 INVITE 3522 Content-Length: 0 3524 F4 486 Busy Here B1 -> Proxy 3526 SIP/2.0 486 Busy Here 3527 Via: SIP/2.0/TLS ss1.example.com:5061 3528 ;branch=z9hG4bK83749.1 3529 ;received=192.0.2.54 3530 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3531 ;branch=z9hG4bK74bf9 3532 ;received=192.0.2.103 3533 From: Alice ;tag=1234567 3534 To: Bob ;tag=765432 3535 Call-ID: 12345600@atlanta.example.com 3536 CSeq: 1 INVITE 3537 Content-Length: 0 3539 F5 ACK Proxy -> B1 3541 ACK sips:bob@client.biloxi.example.com SIP/2.0 3542 Via: SIP/2.0/TLS ss1.example.com:5061 3543 ;branch=z9hG4bK83749.1 3544 Max-Forwards: 70 3545 From: Alice ;tag=1234567 3546 To: Bob ;tag=765432 3547 Call-ID: 12345600@atlanta.example.com 3548 CSeq: 1 ACK 3549 Content-Length: 0 3551 F6 (181 Call is Being Forwarded) Proxy -> Alice 3553 SIP/2.0 181 Call is Being Forwarded 3554 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3555 ;branch=z9hG4bK74bf9 3556 ;received=192.0.2.103 3557 From: Alice ;tag=1234567 3558 To: Bob ;tag=9214d 3559 Call-ID: 12345600@atlanta.example.com 3560 CSeq: 1 INVITE 3561 Content-Length: 0 3563 /* The proxy now forwards the call to B2 */ 3565 F7 INVITE Proxy -> B2 3567 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 3568 Via: SIP/2.0/TLS ss1.example.com:5061 3569 ;branch=z9hG4bK83749.2 3570 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3571 ;branch=z9hG4bK74bf9 3572 ;received=192.0.2.103 3573 Record-Route: 3574 Max-Forwards: 69 3575 From: Alice ;tag=1234567 3576 To: Bob 3577 Call-ID: 12345600@atlanta.example.com 3578 CSeq: 1 INVITE 3579 Contact: 3580 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3581 Content-Type: application/sdp 3582 Content-Length: ... 3584 v=0 3585 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3586 s= 3587 c=IN IP4 client.atlanta.example.com 3588 t=0 0 3589 m=audio 49170 RTP/AVP 0 3590 a=rtpmap:0 PCMU/8000 3592 F8 180 Ringing B2 -> Proxy 3593 SIP/2.0 180 Ringing 3594 Via: SIP/2.0/TLS ss1.example.com:5061 3595 ;branch=z9hG4bK83749.2 3596 ;received=192.0.2.54 3597 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3598 ;branch=z9hG4bK74bf9 3599 ;received=192.0.2.103 3600 Record-Route: 3601 From: Alice ;tag=1234567 3602 To: Bob ;tag=7654321 3603 Call-ID: 12345600@atlanta.example.com 3604 CSeq: 1 INVITE 3605 Contact: 3606 Content-Length: 0 3608 F9 180 Ringing Proxy -> Alice 3610 SIP/2.0 180 Ringing 3611 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3612 ;branch=z9hG4bK74bf9 3613 ;received=192.0.2.103 3614 Record-Route: 3615 From: Alice ;tag=1234567 3616 To: Bob ;tag=7654321 3617 Call-ID: 12345600@atlanta.example.com 3618 CSeq: 1 INVITE 3619 Contact: 3620 Content-Length: 0 3622 F10 200 OK B2 -> Proxy 3624 SIP/2.0 200 OK 3625 Via: SIP/2.0/TLS ss1.example.com:5061 3626 ;branch=z9hG4bK83749.2 3627 ;received=192.0.2.54 3628 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3629 ;branch=z9hG4bK74bf9 3630 ;received=192.0.2.103 3631 Record-Route: 3632 From: Alice ;tag=1234567 3633 To: Bob ;tag=7654321 3634 Call-ID: 12345600@atlanta.example.com 3635 CSeq: 1 INVITE 3636 Contact: 3637 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3638 Content-Type: application/sdp 3639 Content-Length: ... 3641 v=0 3642 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 3643 s= 3644 c=IN IP4 client2.biloxi.example.com 3645 t=0 0 3646 m=audio 3456 RTP/AVP 0 3647 a=rtpmap:0 PCMU/8000 3649 F11 200 OK Proxy -> Alice 3651 SIP/2.0 200 OK 3652 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3653 ;branch=z9hG4bK74bf9 3654 ;received=192.0.2.103 3655 Record-Route: 3656 From: Alice ;tag=1234567 3657 To: Bob ;tag=7654321 3658 Call-ID: 12345600@atlanta.example.com 3659 CSeq: 1 INVITE 3660 Contact: 3661 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3662 Content-Type: application/sdp 3663 Content-Length: ... 3665 v=0 3666 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 3667 s= 3668 c=IN IP4 client2.biloxi.example.com 3669 t=0 0 3670 m=audio 3456 RTP/AVP 0 3671 a=rtpmap:0 PCMU/8000 3673 F12 ACK Alice -> Proxy 3675 ACK sips:bob@client2.biloxi.example.com SIP/2.0 3676 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3677 ;branch=z9hG4bK74bfX 3678 Route: 3679 Max-Forwards: 70 3680 From: Alice ;tag=1234567 3681 To: Bob ;tag=7654321 3682 Call-ID: 12345600@atlanta.example.com 3683 CSeq: 1 ACK 3684 Content-Length: 0 3685 F13 ACK Proxy -> B2 3687 ACK sips:bob@client2.biloxi.example.com SIP/2.0 3688 Via: SIP/2.0/TLS ss1.example.com:5061 3689 ;branch=z9hG4bK83731 3690 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3691 ;branch=z9hG4bK74bfX 3692 ;received=192.0.2.103 3693 Max-Forwards: 69 3694 From: Alice ;tag=1234567 3695 To: Bob ;tag=7654321 3696 Call-ID: 12345600@atlanta.example.com 3697 CSeq: 1 ACK 3698 Content-Length: 0 3700 /* RTP streams are established between A and B2 */ 3702 /* Alice eventually hangs up with User B2. */ 3704 F14 BYE Alice -> Proxy 3706 BYE sips:bob@client2.biloxi.example.com SIP/2.0 3707 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3708 ;branch=z9hG4bK74bW4 3709 Route: 3710 Max-Forwards: 70 3711 From: Alice ;tag=1234567 3712 To: Bob ;tag=7654321 3713 Call-ID: 12345600@atlanta.example.com 3714 CSeq: 2 BYE 3715 Content-Length: 0 3717 F15 BYE Proxy -> B2 3719 BYE sips:bob@client2.biloxi.example.com SIP/2.0 3720 Via: SIP/2.0/TLS ss1.example.com:5061 3721 ;branch=z9hG4bK837493 3722 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3723 ;branch=z9hG4bK74bW4 3724 ;received=192.0.2.103 3725 Max-Forwards: 69 3726 From: Alice ;tag=1234567 3727 To: Bob ;tag=7654321 3728 Call-ID: 12345600@atlanta.example.com 3729 CSeq: 2 BYE 3730 Content-Length: 0 3731 F16 200 OK B2 -> Proxy 3733 SIP/2.0 200 OK 3734 Via: SIP/2.0/TLS ss1.example.com:5061 3735 ;branch=z9hG4bK837493 3736 ;received=192.0.2.54 3737 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3738 ;branch=z9hG4bK74bW4 3739 ;received=192.0.2.103 3740 From: Alice ;tag=1234567 3741 To: Bob ;tag=7654321 3742 Call-ID: 12345600@atlanta.example.com 3743 CSeq: 2 BYE 3744 Content-Length: 0 3746 F17 200 OK Proxy -> Alice 3748 SIP/2.0 200 OK 3749 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3750 ;branch=z9hG4bK74bW4 3751 ;received=192.0.2.103 3752 From: Alice ;tag=1234567 3753 To: Bob ;tag=7654321 3754 Call-ID: 12345600@atlanta.example.com 3755 CSeq: 2 BYE 3756 Content-Length: 0 3758 2.9. Call Forwarding - No Answer 3760 Alice Proxy User B1 User B2 3761 | | | | 3762 | INVITE F1 | | | 3763 |--------------->| INVITE F2 | | 3764 |(100 Trying) F3 |------------->| | 3765 |<---------------|180 Ringing F4| | 3766 | 180 Ringing F5 |<-------------| | 3767 |<---------------| | | 3768 | Request Timeout | 3769 | | | | 3770 | | CANCEL F6 | | 3771 | |------------->| | 3772 | | 200 OK F7 | | 3773 | |<-------------| | 3774 | | 487 F8 | | 3775 | |<-------------| | 3776 | | ACK F9 | | 3777 | |------------->| | 3778 |(181 Call is Being Forwarded) F10 | 3779 |<---------------| | INVITE F11 | 3780 | |--------------------------------->| 3781 | | | 180 Ringing F12 | 3782 | 180 Ringing F13|<---------------------------------| 3783 |<---------------| | 200 OK F14 | 3784 | |<---------------------------------| 3785 | 200 OK F15 | | | 3786 |<---------------| | | 3787 | ACK F16 | | | 3788 |--------------->| | ACK F17 | 3789 | |--------------------------------->| 3790 | Both way RTP Established | 3791 |<=================================================>| 3792 | BYE F18 | | | 3793 |--------------->| | BYE F19 | 3794 | |--------------------------------->| 3795 | | | 200 OK F20 | 3796 | 200 OK F21 |<---------------------------------| 3797 |<---------------| | | 3798 | | | | 3800 Bob wants calls to B1 forwarded to B2 if B1 is not answered 3801 (information is known to the proxy server). Alice calls B1 and no 3802 one answers. The proxy server then places the call to B2. 3804 Message Details 3805 F1 INVITE Alice -> Proxy 3807 INVITE sips:bob@biloxi.example.com SIP/2.0 3808 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3809 ;branch=z9hG4bK74bf9 3810 Max-Forwards: 70 3811 From: Alice ;tag=1234567 3812 To: Bob 3813 Call-ID: 12345600@atlanta.example.com 3814 CSeq: 1 INVITE 3815 Contact: 3816 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3817 Content-Type: application/sdp 3818 Content-Length: ... 3820 v=0 3821 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3822 s= 3823 c=IN IP4 client.atlanta.example.com 3824 t=0 0 3825 m=audio 49170 RTP/AVP 0 3826 a=rtpmap:0 PCMU/8000 3828 F2 INVITE Proxy -> B1 3830 INVITE sips:bob@client.biloxi.example.com SIP/2.0 3831 Via: SIP/2.0/TLS ss1.example.com:5061 3832 ;branch=z9hG4bK83749.1 3833 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3834 ;branch=z9hG4bK74bf9 3835 ;received=192.0.2.103 3836 Record-Route: 3837 Max-Forwards: 69 3838 From: Alice ;tag=1234567 3839 To: Bob 3840 Call-ID: 12345600@atlanta.example.com 3841 CSeq: 1 INVITE 3842 Contact: 3843 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3844 Content-Type: application/sdp 3845 Content-Length: ... 3847 v=0 3848 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3849 s= 3850 c=IN IP4 client.atlanta.example.com 3851 t=0 0 3852 m=audio 49170 RTP/AVP 0 3853 a=rtpmap:0 PCMU/8000 3855 F3 (100 Trying) Proxy -> Alice 3857 SIP/2.0 100 Trying 3858 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3859 ;branch=z9hG4bK74bf9 3860 ;received=192.0.2.103 3861 From: Alice ;tag=1234567 3862 To: Bob 3863 Call-ID: 12345600@atlanta.example.com 3864 CSeq: 1 INVITE 3865 Content-Length: 0 3867 F4 180 Ringing B1 -> Proxy 3869 SIP/2.0 180 Ringing 3870 Via: SIP/2.0/TLS ss1.example.com:5061 3871 ;branch=z9hG4bK83749.1 3872 ;received=192.0.2.54 3873 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3874 ;branch=z9hG4bK74bf9 3875 ;received=192.0.2.103 3876 Record-Route: 3877 From: Alice ;tag=1234567 3878 To: Bob ;tag=3145678 3879 Call-ID: 12345600@atlanta.example.com 3880 CSeq: 1 INVITE 3881 Contact: 3882 Content-Length: 0 3884 F5 180 Ringing Proxy -> Alice 3886 SIP/2.0 180 Ringing 3887 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3888 ;branch=z9hG4bK74bf9 3889 ;received=192.0.2.103 3890 Record-Route: 3891 From: Alice ;tag=1234567 3892 To: Bob ;tag=3145678 3893 Call-ID: 12345600@atlanta.example.com 3894 CSeq: 1 INVITE 3895 Contact: 3896 Content-Length: 0 3897 /* B1 rings until a configurable timer expires in the Proxy. The 3898 Proxy sends Cancel and proceeds down the list of routes. */ 3900 F6 CANCEL Proxy -> B1 3902 CANCEL sips:bob@client.biloxi.example.com SIP/2.0 3903 Via: SIP/2.0/TLS ss1.example.com:5061 3904 ;branch=z9hG4bK83749.1 3905 Max-Forwards: 70 3906 From: Alice ;tag=1234567 3907 To: Bob ;tag=3145678 3908 Call-ID: 12345600@atlanta.example.com 3909 CSeq: 1 CANCEL 3910 Content-Length: 0 3912 F7 200 OK B1 -> Proxy 3914 SIP/2.0 200 OK 3915 Via: SIP/2.0/TLS ss1.example.com:5061 3916 ;branch=z9hG4bK83749.1 3917 ;received=192.0.2.54 3918 From: Alice ;tag=1234567 3919 To: Bob ;tag=329d823 3920 Call-ID: 12345600@atlanta.example.com 3921 CSeq: 1 CANCEL 3922 Content-Length: 0 3924 F8 487 Request Terminated B1 -> Proxy 3926 SIP/2.0 487 Request Terminated 3927 Via: SIP/2.0/TLS ss1.example.com:5061 3928 ;branch=z9hG4bK83749.1 3929 ;received=192.0.2.54 3930 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3931 ;branch=z9hG4bK74bf9 3932 ;received=192.0.2.103 3933 From: Alice ;tag=1234567 3934 To: Bob ;tag=3145678 3935 Call-ID: 12345600@atlanta.example.com 3936 CSeq: 1 INVITE 3937 Content-Length: 0 3939 F9 ACK Proxy -> B1 3941 ACK sips:bob@client.biloxi.example.com SIP/2.0 3942 Via: SIP/2.0/TLS ss1.example.com:5061 3943 ;branch=z9hG4bK83749.1 3944 Max-Forwards: 70 3945 From: Alice ;tag=1234567 3946 To: Bob ;tag=3145678 3947 Call-ID: 12345600@atlanta.example.com 3948 CSeq: 1 ACK 3949 Content-Length: 0 3951 F10 (181 Call is Being Forwarded) Proxy -> Alice 3953 SIP/2.0 181 Call is Being Forwarded 3954 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3955 ;branch=z9hG4bK74bf9 3956 ;received=192.0.2.103 3957 From: Alice ;tag=1234567 3958 To: Bob ;tag=9214d 3959 Call-ID: 12345600@atlanta.example.com 3960 CSeq: 1 INVITE 3961 Content-Length: 0 3963 F11 INVITE Proxy -> B2 3965 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 3966 Via: SIP/2.0/TLS ss1.example.com:5061 3967 ;branch=z9hG4bK83749.2 3968 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3969 ;branch=z9hG4bK74bf9 3970 ;received=192.0.2.103 3971 Record-Route: 3972 Max-Forwards: 69 3973 From: Alice ;tag=1234567 3974 To: Bob 3975 Call-ID: 12345600@atlanta.example.com 3976 CSeq: 1 INVITE 3977 Contact: 3978 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3979 Content-Type: application/sdp 3980 Content-Length: ... 3982 v=0 3983 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 3984 s= 3985 c=IN IP4 client.atlanta.example.com 3986 t=0 0 3987 m=audio 49170 RTP/AVP 0 3988 a=rtpmap:0 PCMU/8000 3990 F12 180 Ringing B2 -> Proxy 3992 SIP/2.0 180 Ringing 3993 Via: SIP/2.0/TLS ss1.example.com:5061 3994 ;branch=z9hG4bK83749.2 3995 ;received=192.0.2.54 3996 Via: SIP/2.0/TLS client.atlanta.example.com:5061 3997 ;branch=z9hG4bK74bf9 3998 ;received=192.0.2.103 3999 Record-Route: 4000 From: Alice ;tag=1234567 4001 To: Bob ;tag=765432 4002 Call-ID: 12345600@atlanta.example.com 4003 CSeq: 1 INVITE 4004 Contact: 4005 Content-Length: 0 4007 F13 180 Proxy -> Alice 4009 SIP/2.0 180 Ringing 4010 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4011 ;branch=z9hG4bK74bf9 4012 ;received=192.0.2.103 4013 Record-Route: 4014 From: Alice ;tag=1234567 4015 To: Bob ;tag=765432 4016 Call-ID: 12345600@atlanta.example.com 4017 CSeq: 1 INVITE 4018 Contact: 4019 Content-Length: 0 4021 F14 200 OK B2 -> Proxy 4023 SIP/2.0 200 OK 4024 Via: SIP/2.0/TLS ss1.example.com:5061 4025 ;branch=z9hG4bK83749.2 4026 ;received=192.0.2.54 4027 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4028 ;branch=z9hG4bK74bf9 4029 ;received=192.0.2.103 4030 Record-Route: 4031 From: Alice ;tag=1234567 4032 To: Bob ;tag=765432 4033 Call-ID: 12345600@atlanta.example.com 4034 CSeq: 1 INVITE 4035 Contact: 4036 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4037 Content-Type: application/sdp 4038 Content-Length: ... 4040 v=0 4041 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 4042 s= 4043 c=IN IP4 client2.biloxi.example.com 4044 t=0 0 4045 m=audio 3456 RTP/AVP 0 4046 a=rtpmap:0 PCMU/8000 4048 F15 200 OK Proxy -> Alice 4050 SIP/2.0 200 OK 4051 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4052 ;branch=z9hG4bK74bf9 4053 ;received=192.0.2.103 4054 Record-Route: 4055 From: Alice ;tag=1234567 4056 To: Bob ;tag=765432 4057 Call-ID: 12345600@atlanta.example.com 4058 CSeq: 1 INVITE 4059 Contact: 4060 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4061 Content-Type: application/sdp 4062 Content-Length: ... 4064 v=0 4065 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com 4066 s= 4067 c=IN IP4 client2.biloxi.example.com 4068 t=0 0 4069 m=audio 3456 RTP/AVP 0 4070 a=rtpmap:0 PCMU/8000 4072 F16 ACK Alice -> Proxy 4074 ACK sips:bob@client2.biloxi.example.com SIP/2.0 4075 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4076 ;branch=z9hG4bK74bf3 4077 Route: 4078 Max-Forwards: 70 4079 From: Alice ;tag=1234567 4080 To: Bob ;tag=765432 4081 Call-ID: 12345600@atlanta.example.com 4082 CSeq: 1 ACK 4083 Content-Length: 0 4085 F17 ACK Proxy -> B2 4087 ACK sips:bob@client2.biloxi.example.com SIP/2.0 4088 Via: SIP/2.0/TLS ss1.example.com:5061 4089 ;branch=z9hG4bK8374.1 4090 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4091 ;branch=z9hG4bK74bf3 4092 ;received=192.0.2.103 4093 Max-Forwards: 69 4094 From: Alice ;tag=1234567 4095 To: Bob ;tag=765432 4096 Call-ID: 12345600@atlanta.example.com 4097 CSeq: 1 ACK 4098 Content-Length: 0 4100 /* RTP streams are established between A and B2. 4101 Alice Hangs Up with User B2. */ 4103 F18 BYE Alice -> Proxy 4105 BYE sips:bob@client2.biloxi.example.com SIP/2.0 4106 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4107 ;branch=z9hG4bK74b3f 4108 Route: 4109 Max-Forwards: 70 4110 From: Alice ;tag=1234567 4111 To: Bob ;tag=765432 4112 Call-ID: 12345600@atlanta.example.com 4113 CSeq: 2 BYE 4114 Content-Length: 0 4116 F19 BYE Proxy -> B2 4118 BYE sips:bob@client2.biloxi.example.com SIP/2.0 4119 Via: SIP/2.0/TLS ss1.example.com:5061 4120 ;branch=z9hG4bK837.1 4121 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4122 ;branch=z9hG4bK74b3f 4123 ;received=192.0.2.103 4125 Max-Forwards: 69 4126 From: Alice ;tag=1234567 4127 To: Bob ;tag=765432 4128 Call-ID: 12345600@atlanta.example.com 4129 CSeq: 2 BYE 4130 Content-Length: 0 4132 F20 200 OK B2 -> Proxy 4134 SIP/2.0 200 OK 4135 Via: SIP/2.0/TLS ss1.example.com:5061 4136 ;branch=z9hG4bK837.1 4137 ;received=192.0.2.54 4138 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4139 ;branch=z9hG4bK74b3f 4140 ;received=192.0.2.103 4141 From: Alice ;tag=1234567 4142 To: Bob ;tag=765432 4143 Call-ID: 12345600@atlanta.example.com 4144 CSeq: 2 BYE 4145 Content-Length: 0 4147 F21 200 OK Proxy -> Alice 4149 SIP/2.0 200 OK 4150 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4151 ;branch=z9hG4bK74b3f 4152 ;received=192.0.2.103 4153 From: Alice ;tag=1234567 4154 To: Bob ;tag=765432 4155 Call-ID: 12345600@atlanta.example.com 4156 CSeq: 2 BYE 4157 Content-Length: 0 4159 2.10. 3-way Conference - Third Party is Added 4161 Alice Bob Carol 4162 | INVITE F1 | | 4163 |--------------->| | 4164 | 180 Ringing F2 | | 4165 |<---------------| | 4166 | 200 OK F3 | | 4167 |<---------------| | 4168 | ACK F4 | | 4169 |--------------->| | 4170 | RTP | | 4171 |<==============>| | 4172 | INVITE F5 | | 4173 |<---------------| | 4174 | 200 OK F6 | | 4175 |--------------->| | 4176 | ACK F7 | | 4177 |<---------------| INVITE F8 | 4178 | |------------->| 4179 | | 180 F9 | 4180 | |<-------------| 4181 | | 200 OK F10 | 4182 | |<-------------| 4183 | | ACK F11 | 4184 | |------------->| 4185 | | RTP | 4186 | |<============>| 4188 In this scenario, Alice and Bob are in a 2-party call (session) when 4189 Bob wishes to add Carol into the conversation. Bob is capable of 4190 media mixing in a 3-party call. Bob first sends a re-INVITE to Alice 4191 changing Contact URIs to one that indicates Bob's mixer and acts like 4192 a focus. As a result, Bob includes the "isfocus" feature tag [10] as 4193 described in [11]. Bob then INVITEs Carol using the same Contact 4194 URI. Note that Bob could wait to re-INVITE Alice until after Carol 4195 has answered. Bob could also put Alice on hold before calling Carol 4197 Message Details 4199 F1 INVITE Alice -> Bob 4201 INVITE sips:bob@biloxi.example.com SIP/2.0 4202 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4203 ;branch=z9hG4bK74bf9 4204 Max-Forwards: 70 4205 From: Alice ;tag=1234567 4206 To: Bob 4207 Call-ID: 12345600@atlanta.example.com 4208 CSeq: 1 INVITE 4209 Contact: 4210 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4211 Supported: replaces 4212 Content-Type: application/sdp 4213 Content-Length: ... 4215 v=0 4216 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4217 s= 4218 c=IN IP4 client.atlanta.example.com 4219 t=0 0 4220 m=audio 49170 RTP/AVP 0 4221 a=rtpmap:0 PCMU/8000 4223 F2 180 Ringing Bob -> Alice 4225 SIP/2.0 180 Ringing 4226 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4227 ;branch=z9hG4bK74bf9 4228 ;received=192.0.2.103 4229 From: Alice ;tag=1234567 4230 To: Bob ;tag=23431 4231 Call-ID: 12345600@atlanta.example.com 4232 CSeq: 1 INVITE 4233 Contact: 4234 Content-Length: 0 4236 F3 200 OK Bob -> Alice 4238 SIP/2.0 200 OK 4240 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4241 ;branch=z9hG4bK74bf9 4242 ;received=192.0.2.103 4243 From: Alice ;tag=1234567 4244 To: Bob ;tag=23431 4245 Call-ID: 12345600@atlanta.example.com 4246 CSeq: 1 INVITE 4247 Contact: 4248 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4249 Supported: replaces, gruu 4250 Content-Type: application/sdp 4251 Content-Length: ... 4253 v=0 4254 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 4255 s= 4256 c=IN IP4 client.biloxi.example.com 4257 t=0 0 4258 m=audio 3456 RTP/AVP 0 4259 a=rtpmap:0 PCMU/8000 4261 F4 ACK Alice -> Bob 4263 ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 4264 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4265 ;branch=z9hG4bK74bfL 4266 Max-Forwards: 70 4267 From: Alice ;tag=1234567 4268 To: Bob ;tag=23431 4269 Call-ID: 12345600@atlanta.example.com 4270 CSeq: 1 ACK 4271 Content-Length: 0 4273 /* Alice and Bob have established a session. 4274 Bob re-INVITEs changing Contact URIs */ 4276 F5 INVITE Bob -> Alice 4278 INVITE sips:alice@client.atlanta.example.com SIP/2.0 4279 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4280 ;branch=z9hG4bKnashds 4281 Max-Forwards: 70 4282 From: Bob ;tag=23431 4283 To: Alice ;tag=1234567 4284 Call-ID: 12345600@atlanta.example.com 4285 CSeq: 1024 INVITE 4286 Contact: ;isfocus 4287 Content-Type: application/sdp 4288 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4289 Supported: replaces, gruu 4290 Content-Length: ... 4292 v=0 4293 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 4294 s= 4295 c=IN IP4 client.biloxi.example.com 4296 t=0 0 4297 m=audio 49172 RTP/AVP 0 4298 a=rtpmap:0 PCMU/8000 4300 F6 200 OK Alice -> Bob 4302 SIP/2.0 200 OK 4304 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4305 ;branch=z9hG4bKnashds7 4306 ;received=192.0.2.113 4307 From: Bob ;tag=23431 4308 To: Alice ;tag=1234567 4309 Call-ID: 12345600@atlanta.example.com 4310 CSeq: 1024 INVITE 4311 Contact: 4312 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4313 Supported: replaces 4314 Content-Type: application/sdp 4315 Content-Length: ... 4317 v=0 4318 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4319 s= 4320 c=IN IP4 client.atlanta.example.com 4321 t=0 0 4322 m=audio 49170 RTP/AVP 0 4323 a=rtpmap:0 PCMU/8000 4325 F7 ACK Bob -> Alice 4327 ACK sips:alice@client.atlanta.example.com SIP/2.0 4328 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4329 ;branch=z9hG4bKnash3G 4330 Max-Forwards: 70 4331 From: Bob ;tag=23431 4332 To: Alice ;tag=1234567 4333 Call-ID: 12345600@atlanta.example.com 4334 CSeq: 1024 ACK 4335 Content-Length: 0 4337 /* Bob calls Carol */ 4339 F8 INVITE Bob -> Carol 4341 INVITE sips:carol@chicago.example.com SIP/2.0 4342 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4343 ;branch=z9hG4bKnashJfd 4344 Max-Forwards: 70 4345 From: Bob ;tag=8675309 4346 To: Carol 4347 Call-ID: sdjfdjfskdf@biloxi.example.com 4348 CSeq: 42 INVITE 4349 Contact: ;isfocus 4350 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4351 Supported: replaces, gruu 4352 Content-Type: application/sdp 4353 Content-Length: ... 4355 v=0 4356 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 4357 s= 4358 c=IN IP4 client.biloxi.example.com 4359 t=0 0 4360 m=audio 48174 RTP/AVP 0 4361 a=rtpmap:0 PCMU/8000 4363 F9 180 Ringing Carol -> Bob 4365 SIP/2.0 200 OK 4366 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4367 ;branch=z9hG4bKnashJfd 4368 ;received=192.0.2.113 4369 From: Bob ;tag=8675309 4370 To: Carol ;tag=341313 4371 Call-ID: sdjfdjfskdf@biloxi.example.com 4372 CSeq: 42 INVITE 4373 Contact: 4374 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4375 Supported: replaces 4376 Content-Length: 0 4378 F10 200 OK Carol -> Bob 4380 SIP/2.0 200 OK 4381 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4382 ;branch=z9hG4bKnashJfd 4383 ;received=192.0.2.113 4384 From: Bob ;tag=8675309 4385 To: Carol ;tag=341313 4386 Call-ID: sdjfdjfskdf@biloxi.example.com 4387 CSeq: 42 INVITE 4388 Contact: 4389 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4390 Supported: replaces 4391 Content-Type: application/sdp 4392 Content-Length: ... 4394 v=0 4395 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 4396 s= 4397 c=IN IP4 client.chicago.example.com 4398 t=0 0 4399 m=audio 3456 RTP/AVP 0 4400 a=rtpmap:0 PCMU/8000 4402 F11 ACK Bob -> Carol 4404 ACK sips:carol@client.chicago.example.com SIP/2.0 4405 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4406 ;branch=z9hG4bKnash431 4407 Max-Forwards: 70 4408 From: Bob ;tag=8675309 4409 To: Carol ;tag=341313 4410 Call-ID: sdjfdjfskdf@biloxi.example.com 4411 CSeq: 42 ACK 4412 Content-Length: 0 4414 /* User B's mixer know mixes media from both A and C 4415 to create the 3-way conference. */ 4417 2.11. 3-way Conference - Third Party Joins 4419 Alice Bob Carol 4420 | INVITE F1 | | 4421 |--------------->| | 4422 | 180 Ringing F2 | | 4423 |<---------------| | 4424 | 200 OK F3 | | 4425 |<---------------| | 4426 | ACK F4 | | 4427 |--------------->| | 4428 | RTP | | 4429 |<==============>| INVITE Join:A-B F5 4430 | |<-------------| 4431 | | 180 F6 | 4432 | |------------->| 4433 | INVITE F7 | | 4434 |<---------------| | 4435 | 200 OK F8 | | 4436 |--------------->| | 4437 | ACK F9 | | 4438 |<---------------| | 4439 | | 200 OK F10 | 4440 | |------------->| 4441 | | ACK F11 | 4442 | |<-------------| 4443 | | RTP | 4444 | |<============>| 4446 In this scenario, Alice and Bob are in a 2 party call and Carol 4447 wishes to join resulting in a three party call. Carol could have 4448 learned Bob's dialog identifier using some non-SIP means, or possibly 4449 from a NOTIFY with the dialog package sent by Bob. Carol sends an 4450 INVITE to Bob containing a Join header identifying the dialog between 4451 Alice and Bob. Bob re-INVITEs Alice to switch to focus mode and 4452 includes the "isfocus" feature tag [10] as described in [11]. Bob 4453 then accepts the INVITE from Carol, resulting in the 3-way call. 4455 Message Details 4457 F1 INVITE Alice -> Bob 4459 INVITE sips:bob@biloxi.example.com SIP/2.0 4460 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4461 ;branch=z9hG4bK74bf9 4463 Max-Forwards: 70 4464 From: Alice ;tag=1234567 4465 To: Bob 4466 Call-ID: 12345600@atlanta.example.com 4467 CSeq: 1 INVITE 4468 Contact: 4469 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4470 Supported: replaces 4471 Content-Type: application/sdp 4472 Content-Length: ... 4474 v=0 4475 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4476 s= 4477 c=IN IP4 client.atlanta.example.com 4478 t=0 0 4479 m=audio 49170 RTP/AVP 0 4480 a=rtpmap:0 PCMU/8000 4482 F2 180 Ringing Bob -> Alice 4484 SIP/2.0 180 Ringing 4485 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4486 ;branch=z9hG4bK74bf9 4487 ;received=192.0.2.103 4488 From: Alice ;tag=1234567 4489 To: Bob ;tag=23431 4490 Call-ID: 12345600@atlanta.example.com 4491 CSeq: 1 INVITE 4492 Contact: 4493 Content-Length: 0 4495 F3 200 OK Bob -> Alice 4497 SIP/2.0 200 OK 4498 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4499 ;branch=z9hG4bK74bf9 4500 ;received=192.0.2.103 4501 From: Alice ;tag=1234567 4502 To: Bob ;tag=23431 4503 Call-ID: 12345600@atlanta.example.com 4504 CSeq: 1 INVITE 4505 Contact: 4506 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4507 Supported: replaces, join, gruu 4508 Content-Type: application/sdp 4509 Content-Length: ... 4511 v=0 4512 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 4513 s= 4514 c=IN IP4 client.biloxi.example.com 4515 t=0 0 4516 m=audio 3456 RTP/AVP 0 4517 a=rtpmap:0 PCMU/8000 4519 F4 ACK Alice -> Bob 4521 ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 4522 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4523 ;branch=z9hG4bK74bf6 4524 Max-Forwards: 70 4525 From: Alice ;tag=1234567 4526 To: Bob ;tag=23431 4527 Call-ID: 12345600@atlanta.example.com 4528 CSeq: 1 ACK 4529 Content-Length: 0 4531 /* Alice and Bob have established a session. 4532 Carol requests to join the session */ 4534 F5 INVITE Carol -> Bob 4536 INVITE sips:bob@biloxi.example.com SIP/2.0 4537 Via: SIP/2.0/TLS chicago.example.com:5061 4538 ;branch=z9hG4bKnashds7 4539 Max-Forwards: 70 4540 From: Carol ;tag=8675309 4541 To: Bob 4542 Call-ID: 452k499sk@chicago.example.com 4543 CSeq: 99 INVITE 4544 Contact: 4545 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4546 Supported: replaces, join 4547 Join: 12345600@atlanta.example.com;from-tag=1234567;to-tag=23431 4548 Content-Type: application/sdp 4549 Content-Length: ... 4551 v=0 4552 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 4553 s= 4554 c=IN IP4 client.chicago.example.com 4555 t=0 0 4556 m=audio 3456 RTP/AVP 0 4557 a=rtpmap:0 PCMU/8000 4559 F6 180 Ringing Bob -> Carol 4561 SIP/2.0 200 OK 4562 Via: SIP/2.0/TLS chicago.example.com:5061 4563 ;branch=z9hG4bKnashds7 4564 ;received=120. 4565 From: Carol ;tag=8675309 4566 To: Bob ;tag=0982 4567 Call-ID: 452k499sk@chicago.example.com 4568 CSeq: 99 INVITE 4569 Contact: ;isfocus 4570 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4571 Supported: replaces 4572 Content-Length: 0 4574 F7 INVITE Bob -> Alice 4576 INVITE sips:alice@client.atlanta.example.com SIP/2.0 4577 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4578 ;branch=z9hG4bKnashdyKL 4579 Max-Forwards: 70 4580 From: Bob ;tag=23431 4581 To: Alice ;tag=1234567 4582 Call-ID: 12345600@atlanta.example.com 4583 CSeq: 1024 INVITE 4584 Contact: ;isfocus 4585 Content-Type: application/sdp 4586 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4587 Supported: replaces, join, gruu 4588 Content-Length: ... 4590 v=0 4591 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com 4592 s= 4593 c=IN IP4 client.biloxi.example.com 4594 t=0 0 4595 m=audio 49172 RTP/AVP 0 4596 a=rtpmap:0 PCMU/8000 4598 F8 200 OK Alice -> Bob 4599 SIP/2.0 200 OK 4600 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4601 ;branch=z9hG4bKnashdyKL 4602 ;received=192.0.2.113 4603 From: Bob ;tag=23431 4604 To: Alice ;tag=1234567 4605 Call-ID: 12345600@atlanta.example.com 4606 CSeq: 1024 INVITE 4607 Contact: 4608 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4609 Supported: replaces 4610 Content-Type: application/sdp 4611 Content-Length: ... 4613 v=0 4614 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4615 s= 4616 c=IN IP4 client.atlanta.example.com 4617 t=0 0 4618 m=audio 49170 RTP/AVP 0 4619 a=rtpmap:0 PCMU/8000 4621 F9 ACK Bob -> Alice 4623 ACK sips:alice@client.atlanta.example.com SIP/2.0 4624 Via: SIP/2.0/TLS client.biloxi.example.com:5061 4625 ;branch=z9hG4bKnash3g 4626 Max-Forwards: 70 4627 From: Bob ;tag=23431 4628 To: Alice ;tag=1234567 4629 Call-ID: 12345600@atlanta.example.com 4630 CSeq: 1024 ACK 4631 Content-Length: 0 4633 F10 200 OK Bob -> Carol 4635 SIP/2.0 200 OK 4636 Via: SIP/2.0/TLS chicago.example.com:5061 4637 ;branch=z9hG4bKnashds7 4638 ;received=120. 4639 From: Carol ;tag=8675309 4640 To: Bob ;tag=0982 4641 Call-ID: 452k499sk@chicago.example.com 4642 CSeq: 99 INVITE 4643 Contact: ;isfocus 4644 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4645 Supported: replaces, join, gruu 4646 Content-Type: application/sdp 4647 Content-Length: ... 4649 v=0 4650 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com 4651 s= 4652 c=IN IP4 client.biloxi.example.com 4653 t=0 0 4654 m=audio 48174 RTP/AVP 0 4655 a=rtpmap:0 PCMU/8000 4657 F11 ACK OK Carol -> Bob 4659 ACK sips:bob-Mixer@client.biloxi.example.com SIP/2.0 4660 Via: SIP/2.0/TLS chicago.example.com:5061 4661 ;branch=z9hG4bKnash4Gf 4662 Max-Forwards: 70 4663 From: Carol ;tag=8675309 4664 To: Bob ;tag=0982 4665 Call-ID: 452k499sk@chicago.example.com 4666 CSeq: 99 ACK 4667 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4668 Supported: replaces, join 4669 Content-Length:0 4671 2.12. Find-Me 4673 Alice Proxy User User User User 4674 B1 B2 B3 B4 4675 | | | | | | 4676 | INVITE F1 | | | | | 4677 |--------------->| INVITE F2 | | | | 4678 | |------------->| | | | 4679 |(100 Trying) F3 | | | | | 4680 |<---------------|180 Ringing F4| | | | 4681 | |<-------------| | | | 4682 | 180 Ringing F5 | | | | | 4683 |<---------------| | | | | 4684 | | Timeout | | | | 4685 | | | | | | 4686 | | CANCEL F6 | | | | 4687 | |------------->| | | | 4688 | | 200 OK F7 | | | | 4689 | |<-------------| | | | 4690 | | 487 F8 | | | | 4691 | |<-------------| | | | 4692 | | ACK F9 | | | | 4693 | |------------->| | | | 4694 | | INVITE F10 | | | 4695 | |-------------------->| | | 4696 | |480 Not Logged In F11| | | 4697 | |<--------------------| | | 4698 | | ACK F12| | | 4699 | |-------------------->| | | 4700 | | INVITE F13 | | 4701 | |--------------------------->| | 4702 | | 486 Busy Here F14 | | 4703 | |<---------------------------| | 4704 | | ACK F15 | | 4705 | |--------------------------->| | 4706 | | INVITE F16 | 4707 | |---------------------------------->| 4708 | | 180 Ringing F17 | 4709 | 180 F18 |<----------------------------------| 4710 |<---------------| 200 OK F19 | 4711 | 200 OK F20 |<----------------------------------| 4712 |<---------------| | 4713 | ACK F21 | | 4714 |--------------->| ACK F22 | 4715 | |---------------------------------->| 4716 | Both way RTP Established | 4717 |<==================================================>| 4718 | | BYE F23 | 4719 | BYE F24 |<----------------------------------| 4720 |<---------------| | 4721 | 200 OK F25 | | 4722 |--------------->| 200 OK F26 | 4723 | |---------------------------------->| 4724 | | | 4726 Alice's call to Bob will result in an attempt to locate that user by 4727 calling locations from a list of contacts. The location to answer 4728 the call becomes the active set, no other sets may join the call. 4730 While this flow shows a sequential search, the search could be 4731 accomplished using parallel forking, as in the previous example. 4733 Message Details 4735 F1 INVITE Alice -> Proxy 4736 INVITE sips:bob@biloxi.example.com SIP/2.0 4737 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4738 ;branch=z9hG4bK74bf9 4739 Max-Forwards: 70 4740 From: Alice ;tag=1234567 4741 To: Bob 4742 Call-ID: 12345600@atlanta.example.com 4743 CSeq: 1 INVITE 4744 Contact: 4745 Content-Type: application/sdp 4746 Content-Length: ... 4748 v=0 4749 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4750 s= 4751 c=IN IP4 client.atlanta.example.com 4752 t= 0 0 4753 m=audio 49170 RTP/AVP 0 4754 a=rtpmap:0 PCMU/8000 4756 F2 INVITE Proxy -> B1 4758 INVITE sips:bob@client.biloxi.example.com SIP/2.0 4759 Via: SIP/2.0/TLS ss1.example.com:5061 4760 ;branch=z9hG4bK83749.1 4761 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4762 ;branch=z9hG4bK74bf9 4763 ;received=192.0.2.103 4764 Record-Route: 4765 Max-Forwards: 69 4766 From: Alice ;tag=1234567 4767 To: Bob 4768 Call-ID: 12345600@atlanta.example.com 4769 CSeq: 1 INVITE 4770 Contact: 4771 Content-Type: application/sdp 4772 Content-Length: ... 4774 v=0 4775 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4776 s= 4777 c=IN IP4 client.atlanta.example.com 4778 t= 0 0 4779 m=audio 49170 RTP/AVP 0 4780 a=rtpmap:0 PCMU/8000 4781 F3 (100 Trying) Proxy -> Alice 4783 SIP/2.0 100 Trying 4784 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4785 ;branch=z9hG4bK74bf9 4786 ;received=192.0.2.103 4787 From: Alice ;tag=1234567 4788 To: Bob 4789 Call-ID: 12345600@atlanta.example.com 4790 CSeq: 1 INVITE 4791 Content-Length: 0 4793 F4 180 Ringing B1 -> Proxy 4795 SIP/2.0 180 Ringing 4796 Via: SIP/2.0/TLS ss1.example.com:5061 4797 ;branch=z9hG4bK83749.1 4798 ;received=192.0.2.54 4799 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4800 ;branch=z9hG4bK74bf9 4801 ;received=192.0.2.103 4802 Record-Route: 4803 From: Alice ;tag=1234567 4804 To: Bob ;tag=765432 4805 Call-ID: 12345600@atlanta.example.com 4806 CSeq: 1 INVITE 4807 Contact: 4808 Content-Length: 0 4810 F5 180 Ringing Proxy -> Alice 4812 SIP/2.0 180 Ringing 4813 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4814 ;branch=z9hG4bK74bf9 4815 ;received=192.0.2.103 4816 Record-Route: 4817 From: Alice ;tag=1234567 4818 To: Bob ;tag=765432 4819 Call-ID: 12345600@atlanta.example.com 4820 CSeq: 1 INVITE 4821 Contact: 4822 Content-Length: 0 4824 /* B1 rings until a configurable timer in the Proxy 4825 expires. The Proxy then sends Cancel and proceeds down 4826 the list of routes. */ 4828 F6 CANCEL Proxy -> B1 4830 CANCEL sips:bob@client.biloxi.example.com SIP/2.0 4831 Via: SIP/2.0/TLS ss1.example.com:5061 4832 ;branch=z9hG4bK83749.1 4833 Max-Forwards: 70 4834 From: Alice ;tag=1234567 4835 To: Bob 4836 Call-ID: 12345600@atlanta.example.com 4837 CSeq: 1 CANCEL 4838 Content-Length: 0 4840 F7 200 OK B1 -> Proxy 4842 SIP/2.0 200 OK 4843 Via: SIP/2.0/TLS ss1.example.com:5061 4844 ;branch=z9hG4bK83749.1 4845 ;received=192.0.2.54 4846 From: Alice ;tag=1234567 4847 To: Bob ;tag=765432 4848 Call-ID: 12345600@atlanta.example.com 4849 CSeq: 1 CANCEL 4850 Content-Length: 0 4852 F8 487 Request Terminated B1 -> Proxy 4854 SIP/2.0 487 Request Terminated 4855 Via: SIP/2.0/TLS ss1.example.com:5061 4856 ;branch=z9hG4bK83749.1 4857 ;received=192.0.2.54 4858 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4859 ;branch=z9hG4bK74bf9 4860 ;received=192.0.2.103 4861 From: Alice ;tag=1234567 4862 To: Bob ;tag=765432 4863 Call-ID: 12345600@atlanta.example.com 4864 CSeq: 1 INVITE 4865 Content-Length: 0 4867 F9 ACK Proxy -> B1 4869 ACK sips:bob@client.biloxi.example.com SIP/2.0 4870 Via: SIP/2.0/TLS ss1.example.com:5061 4871 ;branch=z9hG4bK83749.1 4872 Max-Forwards: 70 4873 From: Alice ;tag=1234567 4874 To: Bob ;tag=765432 4875 Call-ID: 12345600@atlanta.example.com 4876 CSeq: 1 ACK 4877 Content-Length: 0 4879 F10 INVITE Proxy -> B2 4881 INVITE sips:bob@client2.biloxi.example.com SIP/2.0 4882 Via: SIP/2.0/TLS ss1.example.com:5061 4883 ;branch=z9hG4bK83749.2 4884 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4885 ;branch=z9hG4bK74bf9 4886 ;received=192.0.2.103 4887 Record-Route: 4888 Max-Forwards: 69 4889 From: Alice ;tag=1234567 4890 To: Bob 4891 Call-ID: 12345600@atlanta.example.com 4892 CSeq: 1 INVITE 4893 Contact: 4894 Content-Type: application/sdp 4895 Content-Length: ... 4897 v=0 4898 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4899 s= 4900 c=IN IP4 client.atlanta.example.com 4901 t=0 0 4902 m=audio 49170 RTP/AVP 0 4903 a=rtpmap:0 PCMU/8000 4905 F11 480 Not Logged In B2 -> Proxy 4907 SIP/2.0 480 Not Logged In 4908 Via: SIP/2.0/TLS ss1.example.com:5061 4909 ;branch=z9hG4bK83749.2 4910 ;received=192.0.2.54 4911 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4912 ;branch=z9hG4bK74bf9 4913 ;received=192.0.2.103 4914 From: Alice ;tag=1234567 4915 To: Bob ;tag=314756 4916 Call-ID: 12345600@atlanta.example.com 4917 CSeq: 1 INVITE 4918 Content-Length: 0 4920 F12 ACK Proxy -> B2 4922 ACK sips:bob@client2.biloxi.example.com SIP/2.0 4923 Via: SIP/2.0/TLS ss1.example.com:5061 4924 ;branch=z9hG4bK83749.2 4925 Max-Forwards: 70 4926 From: Alice ;tag=1234567 4927 To: Bob ;tag=314756 4928 Call-ID: 12345600@atlanta.example.com 4929 CSeq: 1 ACK 4930 Content-Length: 0 4932 F13 INVITE Proxy -> B3 4934 INVITE sips:bob@client3.biloxi.example.com SIP/2.0 4935 Via: SIP/2.0/TLS ss1.example.com:5061 4936 ;branch=z9hG4bK83749.3 4937 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4938 ;branch=z9hG4bK74bf9 4939 ;received=192.0.2.103 4940 Record-Route: 4941 Max-Forwards: 69 4942 From: Alice ;tag=1234567 4943 To: Bob 4944 Call-ID: 12345600@atlanta.example.com 4945 CSeq: 1 INVITE 4946 Contact: 4947 Content-Type: application/sdp 4948 Content-Length: ... 4950 v=0 4951 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 4952 s= 4953 c=IN IP4 client.atlanta.example.com 4954 t=0 0 4955 m=audio 49170 RTP/AVP 0 4956 a=rtpmap:0 PCMU/8000 4958 F14 486 Busy Here B3 -> Proxy 4960 SIP/2.0 486 Busy Here 4961 Via: SIP/2.0/TLS ss1.example.com:5061 4962 ;branch=z9hG4bK83749.3 4963 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4964 ;branch=z9hG4bK74bf9 4965 ;received=192.0.2.103 4966 From: Alice ;tag=1234567 4967 To: Bob ;tag=7654321 4968 Call-ID: 12345600@atlanta.example.com 4969 CSeq: 1 INVITE 4970 Content-Length: 0 4972 F15 ACK Proxy -> B3 4974 ACK sips:bob@client3.biloxi.example.com SIP/2.0 4975 Via: SIP/2.0/TLS ss1.example.com:5061 4976 ;branch=z9hG4bK83765 4977 Max-Forwards: 70 4978 From: Alice ;tag=1234567 4979 To: Bob ;tag=7654321 4980 Call-ID: 12345600@atlanta.example.com 4981 CSeq: 1 ACK 4982 Content-Length: 0 4984 F16 INVITE Proxy -> B4 4986 INVITE sips:bob@client4.biloxi.example.com SIP/2.0 4987 Via: SIP/2.0/TLS ss1.example.com:5061 4988 ;branch=z9hG4bK83749.4 4989 Via: SIP/2.0/TLS client.atlanta.example.com:5061 4990 ;branch=z9hG4bK74bf9 4991 ;received=192.0.2.103 4992 Record-Route: 4993 Max-Forwards: 69 4994 From: Alice ;tag=1234567 4995 To: Bob 4996 Call-ID: 12345600@atlanta.example.com 4997 CSeq: 1 INVITE 4998 Contact: 4999 Content-Type: application/sdp 5000 Content-Length: ... 5002 v=0 5003 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5004 s= 5005 c=IN IP4 client.atlanta.example.com 5006 t=0 0 5007 m=audio 49170 RTP/AVP 0 5008 a=rtpmap:0 PCMU/8000 5010 F17 180 Ringing B4 -> Proxy 5012 SIP/2.0 180 Ringing 5013 Via: SIP/2.0/TLS ss1.example.com:5061 5014 ;branch=z9hG4bK83749.4 5015 ;received=192.0.2.54 5016 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5017 ;branch=z9hG4bK74bf9 5018 ;received=192.0.2.103 5019 Record-Route: 5020 From: Alice ;tag=1234567 5021 To: Bob ;tag=7137136 5022 Call-ID: 12345600@atlanta.example.com 5023 CSeq: 1 INVITE 5024 Contact: 5025 Content-Length: 0 5027 F18 180 Ringing Proxy -> Alice 5029 SIP/2.0 180 Ringing 5030 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5031 ;branch=z9hG4bK74bf9 5032 ;received=192.0.2.103 5033 Record-Route: 5034 From: Alice ;tag=1234567 5035 To: Bob ;tag=7137136 5036 Call-ID: 12345600@atlanta.example.com 5037 CSeq: 1 INVITE 5038 Contact: 5039 Content-Length: 0 5041 F19 200 OK B4 -> Proxy 5043 SIP/2.0 200 OK 5044 Via: SIP/2.0/TLS ss1.example.com:5061 5045 ;branch=z9hG4bK83749.4 5046 ;received=192.0.2.54 5047 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5048 ;branch=z9hG4bK74bf9 5049 ;received=192.0.2.103 5050 Record-Route: 5051 From: Alice ;tag=1234567 5052 To: Bob ;tag=7137136 5053 Call-ID: 12345600@atlanta.example.com 5054 CSeq: 1 INVITE 5055 Contact: 5056 Content-Type: application/sdp 5057 Content-Length: ... 5059 v=0 5060 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com 5061 s= 5062 c=IN IP4 client4.biloxi.example.com 5063 t=0 0 5064 m=audio 3456 RTP/AVP 0 5065 a=rtpmap:0 PCMU/8000 5067 F20 200 OK Proxy -> Alice 5069 SIP/2.0 200 OK 5070 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5071 ;branch=z9hG4bK74bf9 5072 ;received=192.0.2.103 5073 Record-Route: 5074 From: Alice ;tag=1234567 5075 To: Bob ;tag=7137136 5076 Call-ID: 12345600@atlanta.example.com 5077 CSeq: 1 INVITE 5078 Contact: 5079 Content-Type: application/sdp 5080 Content-Length: ... 5082 v=0 5083 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com 5084 s= 5085 c=IN IP4 client4.biloxi.example.com 5086 t=0 0 5087 m=audio 3456 RTP/AVP 0 5088 a=rtpmap:0 PCMU/8000 5090 F21 ACK Alice -> Proxy 5092 ACK sips:bob@client4.biloxi.example.com SIP/2.0 5093 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5094 ;branch=z9hG4bK74bf 5095 Route: 5096 Max-Forwards: 70 5097 From: Alice ;tag=1234567 5098 To: Bob ;tag=7137136 5099 Call-ID: 12345600@atlanta.example.com 5100 CSeq: 1 ACK 5101 Content-Length: 0 5103 F22 ACK Proxy -> B4 5105 ACK sips:bob@client4.biloxi.example.com SIP/2.0 5106 Via: SIP/2.0/TLS ss1.example.com:5061 5107 ;branch=z9hG4bK8374 5108 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5109 ;branch=z9hG4bK74bf 5110 ;received=192.0.2.103 5111 Max-Forwards: 69 5112 From: Alice ;tag=1234567 5113 To: Bob ;tag=7137136 5114 Call-ID: 12345600@atlanta.example.com 5115 CSeq: 1 ACK 5116 Content-Length: 0 5118 /* RTP streams are established between A and B4*/ 5120 /* User B4 Hangs Up with User A. */ 5122 F23 BYE B4 -> Proxy 5124 BYE sips:alice@client.atlanta.example.com SIP/2.0 5125 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5126 ;branch=z9hG4bKnashds7 5127 Route: 5128 Max-Forwards: 70 5129 From: Bob ;tag=7137136 5130 To: Alice ;tag=1234567 5131 Call-ID: 12345600@atlanta.example.com 5132 CSeq: 1 BYE 5133 Content-Length: 0 5135 F24 BYE Proxy -> Alice 5137 BYE sips:alice@client.atlanta.example.com SIP/2.0 5138 Via: SIP/2.0/TLS ss1.example.com:5061 5139 ;branch=z9hG4bK83754 5140 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5141 ;branch=z9hG4bKnashds7 5142 ;received=192.0.2.105 5143 Max-Forwards: 69 5144 From: Bob ;tag=7137136 5145 To: Alice ;tag=1234567 5146 Call-ID: 12345600@atlanta.example.com 5147 CSeq: 1 BYE 5148 Content-Length: 0 5150 F25 200 OK Alice -> Proxy 5152 SIP/2.0 200 OK 5153 Via: SIP/2.0/TLS ss1.example.com:5061 5154 ;branch=z9hG4bK83754 5155 ;received=192.0.2.54 5156 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5157 ;branch=z9hG4bKnashds7 5158 ;received=192.0.2.105 5159 From: Bob ;tag=7137136 5160 To: Alice ;tag=1234567 5161 Call-ID: 12345600@atlanta.example.com 5162 CSeq: 1 BYE 5163 Content-Length: 0 5165 F26 200 OK Proxy -> B4 5167 SIP/2.0 200 OK 5168 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 5169 ;branch=z9hG4bKnashds7 5170 ;received=192.0.2.105 5171 From: Bob ;tag=7137136 5172 To: Alice ;tag=1234567 5173 Call-ID: 12345600@atlanta.example.com 5174 CSeq: 1 BYE 5175 Content-Length: 0 5177 2.13. Call Management (Incoming Call Screening) 5179 Announcement 5180 Alice Proxy Bob Server 5182 | | | | 5183 | INVITE F1 | | | 5184 |------------------------------>| | 5185 | 305 Use Proxy F2 | | 5186 |<------------------------------| | 5187 | ACK F3 | | | 5188 |------------------------------>| | 5189 | INVITE F4 | | | 5190 |--------------->| | | 5191 | 407 Proxy Authorization F5 | | 5192 |<---------------| | | 5193 | ACK F6 | | | 5194 |--------------->| | | 5195 | INVITE F7 | | | 5196 |--------------->| | | 5197 | 403 Screening Failure (Terminating) Error-Info: URI F8 5198 |<---------------| | | 5199 | ACK F9 | | | 5200 |--------------->| | | 5201 | INVITE F10 | | | 5202 |--------------->| INVITE F11 | 5203 | |---------------------------->| 5204 | | 200 OK F12 | 5205 | 200 OK F13 |<----------------------------| 5206 |<---------------| | 5207 | ACK F14 | | 5208 |--------------------------------------------->| 5209 | Announcement Played to Caller | 5210 |<============================================>| 5211 | BYE F15 | 5212 |<---------------------------------------------| 5213 | 200 OK F16 | 5214 |--------------------------------------------->| 5215 | | 5216 | | 5217 | | 5219 Bob has an incoming call screening list, Alice is included on the 5220 list of addresses Bob will not accept calls from. Alice attempts to 5221 call Bob. Messages F1, F2, and F3 are included to show that Bob does 5222 not accept INVITEs that have not been screened by the proxy. 5224 Note that call screening can not be done using the From header - 5225 instead some form of authentication credentials must be used. 5227 The screening proxy inserts an announcement URI in an Error-Info 5228 header field which Alice accesses by sending an INVITE to listen to 5229 the Announcement. 5231 Message Details 5233 F1 INVITE Alice -> Bob 5235 INVITE sips:bob@biloxi.example.com SIP/2.0 5236 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5237 ;branch=z9hG4bK74bf9 5238 Max-Forwards: 70 5239 From: Alice ;tag=1234567 5240 To: Bob 5241 Call-ID: 12345600@atlanta.example.com 5242 CSeq: 1 INVITE 5243 Contact: 5244 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5245 Content-Type: application/sdp 5246 Content-Length: ... 5248 v=0 5249 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5250 s= 5251 c=IN IP4 client.atlanta.example.com 5252 t=0 0 5253 m=audio 49170 RTP/AVP 0 5254 a=rtpmap:0 PCMU/8000 5256 /* Bob only accepts INVITEs that have been screened 5257 by the proxy */ 5259 F2 305 Use Proxy Bob -> Alice 5261 SIP/2.0 305 Use Proxy 5262 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5263 ;branch=z9hG4bK74bf9 5264 ;received=192.0.2.103 5265 From: Alice ;tag=1234567 5266 To: Bob ;tag=342123 5267 Call-ID: 12345600@atlanta.example.com 5268 CSeq: 1 INVITE 5269 Contact: 5270 Content-Length: 0 5271 F3 ACK Alice -> Bob 5273 ACK sips:bob@biloxi.example.com SIP/2.0 5274 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5275 ;branch=z9hG4bK74bf9 5276 Max-Forwards: 70 5277 From: Alice ;tag=1234567 5278 To: Bob ;tag=342123 5279 Call-ID: 12345600@atlanta.example.com 5280 CSeq: 1 ACK 5281 Content-Length: 0 5283 /* A retries the call through the proxy */ 5285 F4 INVITE Alice -> Proxy 1 5287 INVITE sips:bob@biloxi.example.com SIP/2.0 5288 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5289 ;branch=z9hG4bK74bf0 5290 Max-Forwards: 70 5291 From: Alice ;tag=1234567 5292 To: Bob 5293 Call-ID: 12345600@atlanta.example.com 5294 CSeq: 2 INVITE 5295 Contact: 5296 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5297 Content-Type: application/sdp 5298 Content-Length: ... 5300 v=0 5301 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5302 s= 5303 c=IN IP4 client.atlanta.example.com 5304 t=0 0 5305 m=audio 49170 RTP/AVP 0 5306 a=rtpmap:0 PCMU/8000 5308 /* Proxy 1 challenges Alice for authentication */ 5310 F5 407 Proxy Authorization Required Proxy 1 -> Alice 5312 SIP/2.0 407 Proxy Authorization Required 5313 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5314 ;branch=z9hG4bK74bf0 5315 ;received=192.0.2.103 5316 From: Alice ;tag=1234567 5317 To: Bob ;tag=7886765 5318 Call-ID: 12345600@atlanta.example.com 5319 CSeq: 2 INVITE 5320 Proxy-Authenticate: Digest realm="example.com", 5321 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 5322 opaque="", stale=FALSE, qop="auth", algorithm=MD5 5323 Content-Length: 0 5325 F6 ACK Alice -> Proxy 1 5327 ACK sips:bob@biloxi.example.com SIP/2.0 5328 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5329 ;branch=z9hG4bK74bf0 5330 Max-Forwards: 70 5331 From: Alice ;tag=1234567 5332 To: Bob ;tag=7886765 5333 Call-ID: 12345600@atlanta.example.com 5334 CSeq: 2 ACK 5335 Content-Length: 0 5337 /* Alice responds by sending an INVITE with authentication 5338 credentials in it. */ 5340 F7 INVITE Alice -> Proxy 1 5342 INVITE sips:bob@biloxi.example.com SIP/2.0 5343 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5344 ;branch=z9hG4bK74bf2 5345 Max-Forwards: 70 5346 From: Alice ;tag=1234567 5347 To: Bob 5348 Call-ID: 12345600@atlanta.example.com 5349 CSeq: 3 INVITE 5350 Contact: 5351 Proxy-Authorization: Digest username="alice", 5352 realm="example.com", qop="auth", 5353 nc=00000001, cnonce="4gr84543ft2", 5354 nonce="ae9137be1c87d175c2dd63302a0d6e0a", 5355 opaque="", uri="sips:bob@biloxi.example.com", 5356 response="bbaec39f943bdcb3620d90afc548a45c" 5357 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5358 Content-Type: application/sdp 5359 Content-Length: ... 5361 v=0 5362 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5363 s= 5364 c=IN IP4 client.atlanta.example.com 5365 t=0 0 5366 m=audio 49170 RTP/AVP 0 5367 a=rtpmap:0 PCMU/8000 5369 F8 403 Screening Failure (Terminating) Proxy 1 -> Alice 5371 SIP/2.0 403 Screening Failure (Terminating) 5372 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5373 ;branch=z9hG4bK74bf2 5374 ;received=192.0.2.103 5375 From: Alice ;tag=1234567 5376 To: Bob ;tag=ffe254 5377 Call-ID: 12345600@atlanta.example.com 5378 CSeq: 3 INVITE 5379 Error-Info: 5380 Content-Length: 0 5382 F9 ACK Alice -> Proxy 1 5384 ACK sips:bob@biloxi.example.com SIP/2.0 5385 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5386 ;branch=z9hG4bK74bf2 5387 Max-Forwards: 70 5388 From: Alice ;tag=1234567 5389 To: Bob ;tag=ffe254 5390 Call-ID: 12345600@atlanta.example.com 5391 Proxy-Authorization: Digest username="alice", 5392 realm="example.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a", 5393 opaque="", uri="sips:bob@biloxi.example.com", 5394 response="bbaec39f943bdcb3620d90afc548a45c" 5395 CSeq: 3 ACK 5396 Content-Length: 0 5398 /* To hear the recording, Alice connects to the Error-Info URI */ 5400 F10 INVITE Alice -> Proxy 1 5402 INVITE sips:screen-fail-term-ann@biloxi.example.com SIP/2.0 5403 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5404 ;branch=z9hG4bK74bfj 5405 Max-Forwards: 70 5406 From: Alice ;tag=1234567 5407 To: Bob 5408 Call-ID: 12345600@atlanta.example.com 5409 CSeq: 4 INVITE 5410 Contact: 5411 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5412 Content-Type: application/sdp 5413 Content-Length: ... 5415 v=0 5416 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5417 s= 5418 c=IN IP4 client.atlanta.example.com 5419 t=0 0 5420 m=audio 49170 RTP/AVP 0 5421 a=rtpmap:0 PCMU/8000 5423 F11 INVITE Proxy 1 -> Announcement Server 5425 INVITE sips:s-f-term-ann@announce.biloxi.example.com SIP/2.0 5426 Via: SIP/2.0/TLS ss1.example.com:5061 5427 ;branch=z9hG4bK83743 5428 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5429 ;branch=z9hG4bK74bfj 5430 ;received=192.0.2.103 5431 Max-Forwards: 69 5432 From: Alice ;tag=1234567 5433 To: Bob 5434 Call-ID: 12345600@atlanta.example.com 5435 CSeq: 4 INVITE 5436 Contact: 5437 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5438 Content-Type: application/sdp 5439 Content-Length: ... 5441 v=0 5442 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5443 s= 5444 c=IN IP4 client.atlanta.example.com 5445 t=0 0 5446 m=audio 49170 RTP/AVP 0 5447 a=rtpmap:0 PCMU/8000 5449 F12 200 OK Announcement Server -> Proxy 1 5451 SIP/2.0 200 OK 5452 Via: SIP/2.0/TLS ss1.example.com:5061 5453 ;branch=z9hG4bK83743 5454 ;received=192.0.2.100 5455 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5456 ;branch=z9hG4bK74bfj 5457 ;received=192.0.2.103 5458 From: Alice ;tag=1234567 5459 To: Bob ;tag=234934 5460 Call-ID: 12345600@atlanta.example.com 5461 CSeq: 4 INVITE 5462 Contact: 5463 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5464 Content-Type: application/sdp 5465 Content-Length: ... 5467 v=0 5468 o=annc 2890844543 2890844543 IN IP4 announce.biloxi.example.com 5469 s= 5470 c=IN IP4 announce.biloxi.example.com 5471 t=0 0 5472 m=audio 49174 RTP/AVP 0 5473 a=rtpmap:0 PCMU/8000 5475 F13 200 OK Proxy 1 -> Alice 5477 SIP/2.0 200 OK 5478 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5479 ;branch=z9hG4bK74bfj 5480 ;received=192.0.2.103 5481 From: Alice ;tag=1234567 5482 To: Bob ;tag=234934 5483 Call-ID: 12345600@atlanta.example.com 5484 CSeq: 4 INVITE 5485 Contact: 5486 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5487 Content-Type: application/sdp 5488 Content-Length: ... 5490 v=0 5491 o=annc 2890844543 2890844543 IN IP4 announce.biloxi.example.com 5492 s= 5493 c=IN IP4 announce.biloxi.example.com 5494 t=0 0 5495 m=audio 49174 RTP/AVP 0 5496 a=rtpmap:0 PCMU/8000 5498 F14 ACK Alice -> Announcement Server 5499 ACK sips:announce.biloxi.example.com SIP/2.0 5500 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5501 ;branch=z9hG4bK74b32 5502 Max-Forwards: 70 5503 From: Alice ;tag=1234567 5504 To: Bob ;tag=234934 5505 Call-ID: 12345600@atlanta.example.com 5506 CSeq: 4 ACK 5507 Content-Length: 0 5509 /* Announcement Server plays announcement then disconnects */ 5511 F15 BYE Announcement Server -> Alice 5513 BYE sips:alice@client.atlanta.example.com SIP/2.0 5514 Via: SIP/2.0/TLS announcement.example.com:5061 5515 ;branch=z9hG4bK74bKS 5516 Max-Forwards: 70 5517 From: Bob ;tag=234934 5518 To: Alice ;tag=1234567 5519 Call-ID: 12345600@atlanta.example.com 5520 CSeq: 2334 BYE 5521 Content-Length: 0 5523 F16 200 OK Alice -> Announcement Server 5525 SIP/2.0 200 OK 5526 Via: SIP/2.0/TLS announcement.example.com:5061 5527 ;branch=z9hG4bK74bKS 5528 ;received=192.0.2.103 5529 From: Bob ;tag=234934 5530 To: Alice ;tag=1234567 5531 Call-ID: 12345600@atlanta.example.com 5532 CSeq: 2334 BYE 5533 Content-Length: 0 5535 2.14. Call Management (Outgoing Call Screening) 5537 Alice Proxy Bob 5538 | | | 5539 | INVITE F1 | | 5540 |--------------->| | 5541 | 407 Proxy Authorization F2 | 5542 |<---------------| | 5543 | ACK F3 | | 5544 |--------------->| | 5545 | INVITE F4 | | 5546 |--------------->| | 5547 | 403 Screening Failure (Originating) F5 5548 |<---------------| | 5549 | ACK F6 | | 5550 |--------------->| | 5551 | | | 5553 Alice has an outgoing call screening list, Bob is included on the 5554 list of addresses Alice will not be able to place a call to. Alice 5555 attempts to call Bob. 5557 Alice could establish a session to listen to the announcement in the 5558 Error-Info header field. 5560 Message Details 5562 F1 INVITE Alice -> Proxy 1 5564 INVITE sips:bob@biloxi.example.com SIP/2.0 5565 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5566 ;branch=z9hG4bK74bf9 5567 Max-Forwards: 70 5568 From: Alice ;tag=1234567 5569 To: Bob 5570 Call-ID: 12345600@atlanta.example.com 5571 CSeq: 1 INVITE 5572 Contact: 5573 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5574 Content-Type: application/sdp 5575 Content-Length: ... 5577 v=0 5578 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5579 s= 5580 c=IN IP4 client.atlanta.example.com 5581 t=0 0 5582 m=audio 49170 RTP/AVP 0 5583 a=rtpmap:0 PCMU/8000 5585 /* Proxy 1 challenges Alice for authentication */ 5587 F2 407 Proxy Authorization Required Proxy 1 -> Alice 5589 SIP/2.0 407 Proxy Authorization Required 5590 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5591 ;branch=z9hG4bK74bf9 5592 ;received=192.0.2.103 5593 From: Alice ;tag=1234567 5594 To: Bob ;tag=90210 5595 Call-ID: 12345600@atlanta.example.com 5596 CSeq: 1 INVITE 5597 Proxy-Authenticate: Digest realm="example.com", 5598 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 5599 opaque="", stale=FALSE, algorithm=MD5 5600 Content-Length: 0 5602 F3 ACK Alice -> Proxy 1 5604 ACK sips:bob@biloxi.example.com SIP/2.0 5605 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5606 ;branch=z9hG4bK74bf9 5607 Max-Forwards: 70 5608 From: Alice ;tag=1234567 5609 To: Bob ;tag=90210 5610 Call-ID: 12345600@atlanta.example.com 5611 CSeq: 1 ACK 5612 Content-Length: 0 5614 /* Alice responds be sending an INVITE with authentication 5615 credentials in it. */ 5617 F4 INVITE Alice -> Proxy 1 5619 INVITE sips:bob@biloxi.example.com SIP/2.0 5620 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5621 ;branch=z9hG4bK74b4 5622 Max-Forwards: 70 5623 From: Alice ;tag=1234567 5624 To: Bob 5625 Call-ID: 12345600@atlanta.example.com 5626 CSeq: 2 INVITE 5627 Contact: 5628 Proxy-Authorization: Digest username="alice", realm="example.com", 5629 nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 5630 uri="sips:bob@biloxi.example.com", 5631 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 5632 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5633 Content-Type: application/sdp 5634 Content-Length: ... 5636 v=0 5637 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5638 s= 5639 c=IN IP4 client.atlanta.example.com 5640 t=0 0 5641 m=audio 49170 RTP/AVP 0 5642 a=rtpmap:0 PCMU/8000 5644 F5 403 Screening Failure (Originating) Proxy 1 -> Alice 5646 SIP/2.0 403 Screening Failure (Originating) 5647 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5648 ;branch=z9hG4bK74b4 5649 ;received=192.0.2.103 5650 From: Alice ;tag=1234567 5651 To: Bob ;tag=18017 5652 Call-ID: 12345600@atlanta.example.com 5653 CSeq: 2 INVITE 5654 Error-Info: 5655 Content-Length: 0 5657 F6 ACK Alice -> Proxy 1 5659 ACK sips:bob@biloxi.example.com SIP/2.0 5660 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5661 ;branch=z9hG4bK74b4 5662 Max-Forwards: 70 5663 From: Alice ;tag=1234567 5664 To: Bob ;tag=18017 5665 Call-ID: 12345600@atlanta.example.com 5666 CSeq: 2 ACK 5667 Proxy-Authorization: Digest username="alice", realm="example.com", 5668 nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 5669 uri="sips:bob@biloxi.example.com", 5670 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 5672 Content-Length: 0 5674 2.15. Call Park 5676 Alice Bob Park Server Carol 5677 | | | | 5678 | INVITE F1 | | | 5679 |------------->| | | 5680 |180 Ringing F2| | | 5681 |<-------------| | | 5682 | 200 OK F3 | | | 5683 |<-------------| | | 5684 | ACK F4 | | | 5685 |------------->| | | 5686 | RTP Media | | | 5687 |<============>| | | 5688 | Bob Parks Call | | 5689 | | REFER Refer-To: A F5 | 5690 | |------------->| | 5691 | | 202 F6 | | 5692 | |<-------------| | 5693 | | NOTIFY F7 | | 5694 | |<-------------| | 5695 | | 200 F8 | | 5696 | |------------->| | 5697 | INVITE F9 Replaces: B | | 5698 |<----------------------------| | 5699 | 200 OK F10 | | 5700 |---------------------------->| | 5701 | ACK F11 | | 5702 |<----------------------------| | 5703 | RTP Music | | 5704 |<===========================>| | 5705 | BYE F12 | | | 5706 |------------->| NOTIFY F14 | | 5707 | 200 OK F13 |<-------------| | 5708 |<-------------| 200 OK F15 | | 5709 | |------------->| | 5710 | | Carol picks up the call | 5711 | | | | 5712 | INVITE Replaces: Park Server F16 | 5713 |<-------------------------------------------| 5714 | | | 200 F17 | 5715 |------------------------------------------->| 5716 | | | ACK F18 | 5717 |<-------------------------------------------| 5718 | RTP Media | 5719 |<==========================================>| 5720 | BYE F19 | | 5721 |---------------------------->| | 5722 | 200 OK F20 | | 5723 |<----------------------------| | 5724 | No more RTP Music | | 5726 In this example, Alice calls Bob. Bob then parks the call at the Park 5727 Server by sending a REFER to the Park Server. The server sends an 5728 INVITE to Alice which replaces the session between Alice and Bob. The 5729 call is accepted by Alice and causes Alice to send a BYE to Bob. Bob 5730 receives notification of the successful park, and also receives the 5731 dialog identifiers in the application/sip body of the NOTIFY 5732 response. 5734 Carol wishes to retrieve the call, so she sends an INVITE containing 5735 the dialog identifiers to Alice which replaces the session with the 5736 Park Server. Alice accepts the call and sends a BYE to the Park 5737 Server. Note that Carol needs the dialog identifiers to carry out 5738 this sequence. This example assumes that Carol obtains them from 5739 Bob, who obtained them from a NOTIFY from the Park Server. If the 5740 Park Server did not return the dialog identifiers (Call-ID, To and 5741 From tags) in the NOTIFY, Carol could send a SUBSCRIBE to retrieve 5742 this information. 5744 Note that this call flow is a special case of call transfer. 5746 Note also that this flow could also be used for Music on Hold. 5748 Message Details. 5750 F1 INVITE Alice -> Bob 5752 INVITE sips:bob@biloxi.example.com SIP/2.0 5753 Via: SIP/2.0/TLS client.alice.example.com:5061 5754 ;branch=z9hG4bKnashds7 5755 Max-Forwards: 70 5756 From: Alice ;tag=1234567 5757 To: Bob 5758 Call-ID: 12345601@atlanta.example.com 5759 CSeq: 1 INVITE 5760 Contact: 5761 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5762 Supported: replaces, gruu 5763 Content-Type: application/sdp 5764 Content-Length: ... 5766 v=0 5767 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5768 s= 5769 c=IN IP4 client.atlanta.example.com 5770 t=0 0 5771 m=audio 49170 RTP/AVP 0 5772 a=rtpmap:0 PCMU/8000 5774 F2 180 Ringing Bob -> Alice 5776 SIP/2.0 180 Ringing 5777 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5778 ;branch=z9hG4bKnashds7 5779 ;received=192.0.2.105 5780 From: Alice ;tag=1234567 5781 To: Bob ;tag=314159 5782 Call-ID: 12345601@atlanta.example.com 5783 CSeq: 1 INVITE 5784 Contact: 5785 Content-Length: 0 5787 F3 200 OK Bob -> Alice 5789 SIP/2.0 200 OK 5790 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5791 ;branch=z9hG4bKnashds7 5792 ;received=192.0.2.105 5793 From: Alice ;tag=1234567 5794 To: Bob ;tag=314159 5795 Call-ID: 12345601@atlanta.example.com 5796 CSeq: 1 INVITE 5797 Contact: 5798 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5799 Supported: replaces 5800 Content-Type: application/sdp 5801 Content-Length: ... 5803 v=0 5804 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 5805 s= 5806 c=IN IP4 client.biloxi.example.com 5807 t=0 0 5808 m=audio 3456 RTP/AVP 0 5809 a=rtpmap:0 PCMU/8000 5810 F4 ACK Alice -> Bob 5812 ACK sips:bob@client.biloxi.example.com SIP/2.0 5813 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5814 ;branch=z9hG4bKnashds7 5815 Max-Forwards: 70 5816 From: Alice ;tag=1234567 5817 To: Bob ;tag=314159 5818 Call-ID: 12345601@atlanta.example.com 5819 CSeq: 1 ACK 5820 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5821 Supported: replaces 5822 Content-Length: 0 5824 /* Bob REFERs Park Server to establish session with A 5825 which replaces the established session between A and B. 5826 Note that there is no session established between B 5827 and the Park Server. */ 5829 F5 REFER Bob -> Park Server 5831 REFER sips:park@server.example.com SIP/2.0 5832 Via: SIP/2.0/TLS client.biloxi.example.com:5061 5833 ;branch=z9hG4bKnashds9 5834 Max-Forwards: 70 5835 From: Bob ;tag=02134 5836 To: Park Server 5837 Call-ID: 4802029847@biloxi.example.com 5838 CSeq: 1 REFER 5839 5840 Refer-To: 5843 5844 Referred-By: 5845 Contact: 5846 Content-Length: 0 5848 F6 202 Accepted Park Server -> Bob 5850 SIP/2.0 202 Accepted 5851 Via: SIP/2.0/TLS client.biloxi.example.com:5061 5852 ;branch=z9hG4bKnashds9 5853 ;received=192.0.2.105 5854 From: Bob ;tag=02134 5855 To: Park Server ;tag=56323 5856 Call-ID: 4802029847@biloxi.example.com 5857 Contact: 5858 CSeq: 1 REFER 5859 Content-Length: 0 5861 F7 NOTIFY Park Server -> Bob 5863 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 5864 Via: SIP/2.0/TLS server.example.com:5061 5865 ;branch=z9hG4bK74bT6 5866 To: Bob ;tag=02134 5867 Max-Forwards: 70 5868 From: Park Server ;tag=56323 5869 Call-ID: 4802029847@biloxi.example.com 5870 CSeq: 1 NOTIFY 5871 Event: refer 5872 Subscription-State: active;expires=60 5873 Content-Type: message/sipfrag 5874 Content-Length: ... 5876 SIP/2.0 100 Trying 5878 F8 200 OK Bob -> Park Server 5880 SIP/2.0 200 OK 5881 Via: SIP/2.0/TLS server.example.com:5061 5882 ;branch=z9hG4bK74bT6 5883 ;received=192.0.2.103 5884 To: Bob ;tag=02134 5885 From: Park Server ;tag=56323 5886 Call-ID: 4802029847@biloxi.example.com 5887 CSeq: 1 NOTIFY 5888 Content-Length: 0 5890 /* Park Server places call to Alice to replace session 5891 between Alice and Bob. */ 5893 F9 INVITE Park Server -> Alice 5895 INVITE sips:a8342043f@atlanta.example.com;gruu SIP/2.0 5896 Via: SIP/2.0/TLS server.example.com:5061 5897 ;branch=z9hG4bK74rf 5898 Max-Forwards: 70 5899 From: ;tag=0111 5900 To: 5901 Call-ID: a5-75-34-12-76@server.example.com 5902 CSeq: 1 INVITE 5903 Referred-By: 5904 Contact: 5905 Require: replaces 5906 Replaces: 12345601@atlanta.example.com 5907 ;from-tag=314159;to-tag=1234567 5908 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5909 Supported: replaces 5910 Content-Type: application/sdp 5911 Content-Length: ... 5913 v=0 5914 o=ParkServer 2890844576 2890844576 IN IP4 Park.server.example.com 5915 s= 5916 c=IN IP4 music.server.example.com 5917 t=0 0 5918 m=audio 49170 RTP/AVP 0 5919 a=rtpmap:0 PCMU/8000 5921 F10 200 OK Alice -> Park Server 5923 SIP/2.0 200 OK 5924 Via: SIP/2.0/TLS server.example.com:5061 5925 ;branch=z9hG4bK74rf 5926 ;received=192.0.2.103 5927 From: ;tag=0111 5928 To: ;tag=098594 5929 Call-ID: a5-75-34-12-76@server.example.com 5930 CSeq: 1 INVITE 5931 Contact: 5932 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 5933 Supported: replaces, gruu 5934 Content-Type: application/sdp 5935 Content-Length: ... 5937 v=0 5938 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 5939 s= 5940 c=IN IP4 client.atlanta.example.com 5941 t=0 0 5942 m=audio 49170 RTP/AVP 0 5943 a=rtpmap:0 PCMU/8000 5944 a=recvonly 5946 F11 ACK Park Server -> Alice 5947 ACK sips:a8342043f@atlanta.example.com;gruu SIP/2.0 5948 Via: SIP/2.0/TLS server.example.com:5061 5949 ;branch=z9hG4bK7rfF 5950 Max-Forwards: 70 5951 From: ;tag=0111 5952 To: ;tag=098594 5953 Call-ID: a5-75-34-12-76@server.example.com 5954 CSeq: 1 ACK 5955 Content-Length: 0 5957 F12 BYE Alice -> Bob 5959 BYE sips:bob@client.biloxi.example.com SIP/2.0 5960 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5961 ;branch=z9hG4bKnashds7 5962 Max-Forwards: 70 5963 From: Alice ;tag=1234567 5964 To: Bob ;tag=314159 5965 Call-ID: 12345601@atlanta.example.com 5966 CSeq: 2 BYE 5967 Content-Length: 0 5969 F13 200 OK Bob -> Alice 5971 SIP/2.0 200 OK 5972 Via: SIP/2.0/TLS client.atlanta.example.com:5061 5973 ;branch=z9hG4bKnashds7 5974 ;received=192.0.2.105 5975 From: Alice ;tag=1234567 5976 To: Bob ;tag=314159 5977 Call-ID: 12345601@atlanta.example.com 5978 CSeq: 2 BYE 5979 Content-Length: 0 5981 /* Park Server reports success back to B by returning 5982 a 200 OK response. Bob obtains the dialog identifiers 5983 from the headers included in the response. */ 5985 F14 NOTIFY Park Server -> Bob 5987 NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 5988 Via: SIP/2.0/TLS server.example.com:5061 5989 ;branch=z9hG4bK74bf9 5990 To: Bob ;tag=02134 5991 Max-Forwards: 70 5992 From: Park Server ;tag=56323 5993 Call-ID: 4802029847@biloxi.example.com 5994 CSeq: 2 NOTIFY 5995 Event: refer 5996 Subscription-State: terminated;reason=noresource 5997 Content-Type: message/sipfrag 5998 Content-Length: ... 6000 SIP/2.0 200 OK 6001 Via: SIP/2.0/TLS server.example.com:5061 6002 ;branch=z9hG4bK74rf 6003 ;received=192.0.2.103 6004 From: ;tag=0111 6005 To: ;tag=098594 6006 Call-ID: a5-75-34-12-76@server.example.com 6007 CSeq: 1 INVITE 6008 Contact: 6010 F15 200 OK Bob -> Park Server 6012 SIP/2.0 200 OK 6013 Via: SIP/2.0/TLS server.example.com:5061 6014 ;branch=z9hG4bK74bf9 6015 ;received=192.0.2.103 6016 To: Bob ;tag=02134 6017 From: Park Server ;tag=56323 6018 Call-ID: 4802029847@biloxi.example.com 6019 CSeq: 2 NOTIFY 6020 Content-Length: 0 6022 /* Alice is now parked at the Park Server */ 6024 /* Carol picks up the call by sending an INVITE to A which 6025 replaces the existing session with the Park/Park Server. 6026 Carol needs to know the dialog information to construct 6027 the Replaces header. */ 6029 F16 INVITE Carol -> Alice 6031 INVITE sips:alice@atlanta.example.com SIP/2.0 6032 Via: SIP/2.0/TLS client.chicago.example.com:5061 6033 ;branch=z9hG4bK74bQ2 6034 Max-Forwards: 70 6035 From: Carol ;tag=5893461 6036 To: Alice 6037 Call-ID: 6485356@chicago.example.com 6038 CSeq: 1 INVITE 6039 Contact: 6040 Require: replaces 6041 Replaces: a5-75-34-12-76@server.example.com 6042 ;to-tag=098594;from-tag=0111 6043 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 6044 SUBSCRIBE, NOTIFY 6045 Supported: replaces 6046 Content-Type: application/sdp 6047 Content-Length: ... 6049 v=0 6050 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com 6051 s= 6052 c=IN IP4 client.chicago.example.com 6053 t=0 0 6054 m=audio 3456 RTP/AVP 0 6055 a=rtpmap:0 PCMU/8000 6057 F17 200 OK Alice -> Carol 6059 SIP/2.0 200 OK 6060 Via: SIP/2.0/TLS client.chicago.example.com:5061 6061 ;branch=z9hG4bK74bQ2 6062 ;received=192.0.2.105 6063 From: Carol ;tag=5893461 6064 To: Alice ;tag=222 6065 Call-ID: 6485356@chicago.example.com 6066 CSeq: 1 INVITE 6067 Contact: 6068 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6069 Supported: replaces, gruu 6070 Content-Type: application/sdp 6071 Content-Length: ... 6073 v=0 6074 o=alice 2890844527 2890844527 IN IP4 client.atlanta.example.com 6075 s= 6076 c=IN IP4 client.atlanta.example.com 6077 t=0 0 6078 m=audio 49170 RTP/AVP 0 6079 a=rtpmap:0 PCMU/8000 6081 F18 ACK Carol -> Alice 6083 ACK sips:a8342043f@atlanta.example.com;gruu SIP/2.0 6084 Via: SIP/2.0/TLS client.chicago.example.com:5061 6085 ;branch=z9hG4bK74bJ0 6086 Max-Forwards: 70 6087 From: Carol ;tag=5893461 6088 To: Alice ;tag=222 6089 Call-ID: 6485356@chicago.example.com 6090 CSeq: 1 ACK 6091 Content-Length: 0 6093 /* A replaces the session to the Park Server with the new 6094 session with C and generates a BYE to disconnect the 6095 Park Server. */ 6097 F19 BYE Alice -> Park Server 6099 BYE sips:park@server.example.com SIP/2.0 6100 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6101 ;branch=z9hG4bK74b4N 6102 Max-Forwards: 70 6103 From: Alice ;tag=098594 6104 To: ;tag=0111 6105 Call-ID: a5-75-34-12-76@server.example.com 6106 CSeq: 1 BYE 6107 Content-Length: 0 6109 F20 200 OK Park Server -> Alice 6111 SIP/2.0 200 OK 6112 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6113 ;branch=z9hG4bK74b4N 6114 ;received=192.0.2.103 6115 From: Alice ;tag=098594 6116 To: ;tag=0111 6117 Call-ID: a5-75-34-12-76@server.example.com 6118 CSeq: 1 BYE 6119 Content-Length: 0 6121 2.16. Call Pickup 6123 Alice Bob Bill 6124 | | | 6125 | INVITE F1 | | 6126 |------------->| | 6127 |180 Ringing F2| | 6128 |<-------------| | 6129 | | SUBSCRIBE F3 | 6130 | |<------------------| 6131 | | 200 OK F4 | 6132 | |------------------>| 6133 | | NOTIFY F5 | 6134 | |------------------>| 6135 | | 200 OK F6 | 6136 | |<------------------| 6137 | INVITE Replaces:Bob F7 | 6138 |<---------------------------------| 6139 | | 200 OK F8 | 6140 |--------------------------------->| 6141 | CANCEL F9 | | 6142 |------------->| | 6143 | 200 OK F10 | | 6144 |<-------------| | 6145 | 487 F11 | | 6146 |<-------------| | 6147 | ACK F12 | | 6148 |------------->| | 6149 | ACK F13 | 6150 |<---------------------------------| 6151 | | 6152 | Two way RTP Established | 6153 |<================================>| 6154 | BYE F14 | 6155 |--------------------------------->| 6156 | 200 OK F15 | 6157 |<---------------------------------| 6158 | | 6160 Bob and Bill are part of a work group at example.com that can pick up 6161 each other's calls. Alice calls Bob who does not answer. Bill 6162 wishes to pick up the call and sends a SUBSCRIBE to Bob to retrieve 6163 the dialog information. Bill then generates an INVITE with a 6164 Replaces to Alice. Alice answers the INVITE and sends a CANCEL to 6165 stop Bob's phone ringing. Note that the relative order of the 487/ 6166 ACK sequence (F11/F12) and the 200 OK to the CANCEL (F10) is not 6167 deterministic. 6169 This call flow shows the use of the "early-only" parameter [4] in the 6170 Replaces header field of F7. This parameter prevents Alice from 6171 accepting the INVITE if Bob has already accepted the INVITE. If Bill 6172 had wished to "take" the call from Bob regardless of whether he had 6173 answered, the parameter would not have been present in F7. 6175 Also note that the subscription between Bob and Carol could have been 6176 established prior to Alice's call. 6178 Message Details 6180 F1 INVITE Alice -> Bob 6182 INVITE sips:bob@biloxi.example.com SIP/2.0 6183 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6184 ;branch=z9hG4bK74bf9 6185 Max-Forwards: 70 6186 From: Alice ;tag=1234567 6187 To: Bob 6188 Call-ID: 12345600@atlanta.example.com 6189 CSeq: 1 INVITE 6190 Contact: 6191 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6192 Supported: replaces, gruu 6193 Content-Type: application/sdp 6194 Content-Length: ... 6196 v=0 6197 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6198 s= 6199 c=IN IP4 client.atlanta.example.com 6200 t=0 0 6201 m=audio 49170 RTP/AVP 0 6202 a=rtpmap:0 PCMU/8000 6204 F2 180 Ringing Bob -> Alice 6206 SIP/2.0 180 Ringing 6207 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6208 ;branch=z9hG4bK74bf9 6209 ;received=192.0.2.103 6210 From: Alice ;tag=1234567 6211 To: Bob ;tag=3145678 6212 Call-ID: 12345600@atlanta.example.com 6213 CSeq: 1 INVITE 6214 Contact: 6215 Content-Length: 0 6217 /* Bill decides to pick up the call. */ 6219 F3 SUBSCRIBE Bill -> Bob 6221 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 6222 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6223 ;branch=z9hG4bK74bf 6224 Max-Forwards: 70 6225 From: Bill ;tag=8675309 6226 To: Bob 6227 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6228 CSeq: 1 SUBSCRIBE 6229 Contact: 6230 Event: dialog 6231 Subscription-State: active;expires=0 6232 Accept: application/dialog-info+xml 6233 Content-Length: 0 6235 F4 200 OK Bob -> Bill 6237 SIP/2.0 200 OK 6238 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6239 ;branch=z9hG4bK74bf 6240 ;received=192.0.2.114 6241 Max-Forwards: 70 6242 From: Bill ;tag=8675309 6243 To: Bob ;tag=31451098 6244 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6245 CSeq: 1 SUBSCRIBE 6246 Content-Length: 0 6248 F5 NOTIFY Bob -> Bill 6250 NOTIFY sips:bill@pc.biloxi.example.com SIP/2.0 6251 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6252 ;branch=z9hG4bK74br 6253 Max-Forwards: 70 6254 From: Bob ;tag=31451098 6255 To: Bill ;tag=8675309 6256 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6257 CSeq: 1 NOTIFY 6258 Contact: 6259 Event: dialog 6260 Subscription-State: terminated;reason=timeout 6261 Content-Type: application/dialog-info+xml 6262 Content-Length: ... 6264 6265 6267 6269 1 6270 6271 sips:bob@biloxi.example.com 6272 sips:bob@client.biloxi.example.com 6273 6274 6275 sips:alice@atlanta.example.com 6276 sips:a8342043@atlanta.example.com 6277 6278 early 6279 6280 6282 F6 200 OK Bill -> Bob 6284 SIP/2.0 200 OK 6285 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6286 ;branch=z9hG4bK74br 6287 ;received=192.0.2.105 6288 From: Bob ;tag=31451098 6289 To: Bill ;tag=8675309 6290 Call-ID: rt4353gs2egg@pc.biloxi.example.com 6291 CSeq: 1 NOTIFY 6292 Contact: 6293 Content-Length: 0 6295 F7 INVITE Bill -> Alice 6297 INVITE sips:a8342043f@atlanta.example.com;gruu SIP/2.0 6298 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6299 ;branch=z9hG4bK74HH 6300 Max-Forwards: 70 6301 From: Bill ;tag=8675310 6302 To: Alice 6303 Call-ID: 563456212@b2.biloxi.example.com 6304 CSeq: 1 INVITE 6305 Require: replaces 6306 Replaces: 12345600@atlanta.example.com 6307 ;from-tag=314578;to-tag=1234567;early-only 6308 Contact: 6309 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6310 Supported: replaces 6311 Content-Type: application/sdp 6312 Content-Length: ... 6314 v=0 6315 o=bill 2890843122 2890843122 IN IP4 pc.biloxi.example.com 6316 s= 6317 c=IN IP4 pc.biloxi.example.com 6318 t=0 0 6319 m=audio 5342 RTP/AVP 0 6320 a=rtpmap:0 PCMU/8000 6322 /* Alice matches the dialog information in the Replaces header 6323 and accepts the INVITE. */ 6325 F8 200 OK Alice -> Bill 6327 SIP/2.0 200 OK 6328 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6329 ;branch=z9hG4bK74HH 6330 ;received=192.0.2.114 6331 From: Bill ;tag=8675310 6332 To: Alice ;tag=131256 6333 Call-ID: 563456212@b2.biloxi.example.com 6334 CSeq: 1 INVITE 6335 Contact: 6336 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6337 Supported: replaces, gruu 6338 Content-Type: application/sdp 6339 Content-Length: ... 6341 v=0 6342 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com 6343 s= 6344 c=IN IP4 client.atlanta.example.com 6345 t=0 0 6346 m=audio 49172 RTP/AVP 0 6347 a=rtpmap:0 PCMU/8000 6349 /* Alice stops Bob's phone from ringing by sending a CANCEL */ 6351 F9 CANCEL Alice -> Bob 6352 CANCEL sips:bob@biloxi.example.com SIP/2.0 6353 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6354 ;branch=z9hG4bK74bf9 6355 Max-Forwards: 70 6356 From: Alice ;tag=1234567 6357 To: Bob 6358 Call-ID: 12345600@atlanta.example.com 6359 CSeq: 1 CANCEL 6360 Content-Length: 0 6362 F10 200 OK Bob -> Alice 6364 SIP/2.0 200 OK 6365 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6366 ;branch=z9hG4bK74bf9 6367 ;received=192.0.2.103 6368 From: Alice ;tag=1234567 6369 To: Bob ;tag=3145678 6370 Call-ID: 12345600@atlanta.example.com 6371 CSeq: 1 CANCEL 6372 Content-Length: 0 6374 F11 487 Request Terminated Bob -> Alice 6376 SIP/2.0 487 Request Terminated 6377 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6378 ;branch=z9hG4bK74bf9 6379 ;received=192.0.2.103 6380 From: Alice ;tag=1234567 6381 To: Bob ;tag=3145678 6382 Call-ID: 12345600@atlanta.example.com 6383 CSeq: 1 INVITE 6384 Content-Length: 0 6386 F12 ACK Alice -> Bob 6388 ACK sips:bob@client.biloxi.example.com SIP/2.0 6389 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6390 ;branch=z9hG4bK83749.1 6391 Max-Forwards: 70 6392 From: Alice ;tag=1234567 6393 To: Bob ;tag=3145678 6394 Call-ID: 12345600@atlanta.example.com 6395 CSeq: 1 ACK 6396 Content-Length: 0 6397 F13 ACK Bill -> Alice 6399 ACK sips:a8342043f@atlanta.example.com;gruu SIP/2.0 6400 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6401 ;branch=z9hG4bK7435 6402 Max-Forwards: 70 6403 From: Bill ;tag=8675310 6404 To: Alice ;tag=131256 6405 Call-ID: 563456212@b2.biloxi.example.com 6406 CSeq: 1 ACK 6407 Content-Length: 0 6409 /* RTP streams are established between Alice and Bill. 6410 Later, Alice Hangs Up with Bob. */ 6412 F14 BYE Alice -> Bill 6414 BYE sips:bill@pc.biloxi.example.com SIP/2.0 6415 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6416 ;branch=z9hG4bK74bf2 6417 Max-Forwards: 70 6418 To: Bill ;tag=8675310 6419 From: Alice ;tag=131256 6420 Call-ID: 563456212@b2.biloxi.example.com 6421 CSeq: 1 BYE 6422 Content-Length: 0 6424 F15 200 OK Bill -> Alice 6426 SIP/2.0 200 OK 6427 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6428 ;branch=z9hG4bK74bf2 6429 ;received=192.0.2.105 6430 To: Bill ;tag=8675310 6431 From: Alice ;tag=131256 6432 Call-ID: 563456212@b2.biloxi.example.com 6433 CSeq: 1 BYE 6434 Content-Length: 0 6436 2.17. Automatic Redial 6438 Alice Bob 6439 | | 6440 | INVITE F1 | 6441 |--------------->| 6442 |486 Busy Here F2| 6443 |<---------------| Bob is busy 6444 | ACK F3 | 6445 |--------------->| 6446 | SUBSCRIBE F4 | 6447 |--------------->| 6448 | 200 OK F5 | 6449 |<---------------| 6450 | NOTIFY F6 | 6451 |<---------------| 6452 | 200 OK F7 | 6453 |--------------->| 6454 | | 6455 | NOTIFY F8 | Bob is now available 6456 |<---------------| 6457 | 200 OK F9 | 6458 |--------------->| 6459 | | 6460 | INVITE F10 | 6461 |--------------->| Session setup successfully 6462 | 180 Ringing F11| 6463 |<---------------| 6464 | 200 OK F12 | 6465 |<---------------| 6466 | ACK F13 | 6467 |--------------->| 6468 | Media Session | 6469 |<==============>| 6470 | | 6472 Bob is initially busy when Alice calls. Alice subscribes to User B's 6473 call state using a SUBSCRIBE F4. Bob sends a NOTIFY F8 when Bob is 6474 available. Alice is alerted, then Alice sends an INVITE to B to 6475 establish the session. 6477 Message Details 6479 F1 INVITE Alice -> Bob 6481 INVITE sips:bob@biloxi.example.com SIP/2.0 6482 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6483 ;branch=z9hG4bK74bf9 6484 Max-Forwards: 70 6485 From: Alice ;tag=1234567 6486 To: Bob 6487 Call-ID: 12345600@atlanta.example.com 6488 CSeq: 1 INVITE 6489 Contact: 6490 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6491 Supported: replaces 6492 Content-Type: application/sdp 6493 Content-Length: ... 6495 v=0 6496 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com 6497 s= 6498 c=IN IP4 client.atlanta.example.com 6499 t=0 0 6500 m=audio 49170 RTP/AVP 0 6501 a=rtpmap:0 PCMU/8000 6503 F2 486 Busy Here 6505 SIP/2.0 486 Busy Here 6506 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6507 ;branch=z9hG4bK74bf9 6508 From: Alice ;tag=1234567 6509 To: Bob ;tag=982039i4 6510 Call-ID: 12345600@atlanta.example.com 6511 CSeq: 1 INVITE 6512 Content-Length: 0 6514 F3 ACK Alice -> Bob 6516 ACK sips:bob@biloxi.example.com SIP/2.0 6517 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6518 ;branch=z9hG4bK74bf9 6519 Max-Forwards: 70 6520 From: Alice ;tag=1234567 6521 To: Bob ;tag=982039i4 6522 Call-ID: 12345600@atlanta.example.com 6523 CSeq: 1 ACK 6524 Content-Length: 0 6526 F4 SUBSCRIBE Alice -> Bob 6527 SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 6528 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6529 ;branch=z9hG4bK74b8G 6530 Max-Forwards: 70 6531 From: Alice ;tag=837348234 6532 To: Bob 6533 Call-ID: 4524526232@atlanta.example.com 6534 CSeq: 1 SUBSCRIBE 6535 Contact: sip:alice@client.atlanta.example.com 6536 Event: dialog 6537 Accept: application/dialog-info+xml 6538 Content-Length: 0 6540 F5 200 OK Bob -> Alice 6542 SIP/2.0 200 OK 6543 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6544 ;branch=z9hG4bK74b8G 6545 From: Alice ;tag=837348234 6546 To: Bob ;tag=341123 6547 Call-ID: 4524526232@atlanta.example.com 6548 Expires: 60 6549 CSeq: 1 SUBSCRIBE 6550 Contact: sip:bob@client.biloxi.example.com 6551 Content-Length: 0 6553 F6 NOTIFY Bob -> Alice 6555 NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 6556 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6557 ;branch=z9hG4bK74bn2 6558 Max-Forwards: 70 6559 From: Bob ;tag=341123 6560 To: Alice ;tag=837348234 6561 Call-ID: 4524526232@atlanta.example.com 6562 CSeq: 1 NOTIFY 6563 Contact: 6564 Event: dialog 6565 Subscription-State: active;expires=59 6566 Content-Type: application/dialog-info+xml 6567 Content-Length: ... 6569 6570 6572 6573 1 6574 confirmed 6575 6576 6578 F7 200 OK Alice -> Bob 6580 SIP/2.0 200 OK 6581 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6582 ;branch=z9hG4bK74bn2 6583 From: Bob ;tag=341123 6584 To: Alice ;tag=837348234 6585 Call-ID: 4524526232@atlanta.example.com 6586 CSeq: 1 NOTIFY 6587 Content-Length: 0 6589 /* Bob is now available and Bob terminates the subscription. */ 6591 F8 NOTIFY Bob -> Alice 6593 NOTIFY sips:alice@atlanta.example.com SIP/2.0 6594 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6595 ;branch=z9hG4bK74bVi 6596 Max-Forwards: 70 6597 From: Bob ;tag=341123 6598 To: Alice ;tag=837348234 6599 Call-ID: 4524526232@atlanta.example.com 6600 CSeq: 2 NOTIFY 6601 Event: dialog 6602 Subscription-State: terminiated;reason=noresource 6603 Content-Type: application/dialog-info+xml 6604 Content-Length: ... 6606 6607 6609 6610 terminated 6611 6612 6614 F9 200 OK Alice -> Bob 6616 SIP/2.0 200 OK 6617 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6618 ;branch=z9hG4bK74bVi 6619 From: Bob ;tag=341123 6620 To: Alice ;tag=837348234 6621 Call-ID: 4524526232@atlanta.example.com 6622 CSeq: 2 NOTIFY 6623 Content-Length: 0 6625 F10 INVITE Alice -> Bob 6627 INVITE sips:bob@biloxi.example.com SIP/2.0 6628 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6629 ;branch=z9hG4bK74bfq 6630 Max-Forwards: 70 6631 From: Alice ;tag=f23fkg14k 6632 To: Bob 6633 Call-ID: aoij4i9okitr@atlanta.example.com 6634 CSeq: 1 INVITE 6635 Contact: 6636 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6637 Supported: replaces 6638 Content-Type: application/sdp 6639 Content-Length: ... 6641 v=0 6642 o=alice 2890844826 2890844826 IN IP4 client.atlanta.example.com 6643 s= 6644 c=IN IP4 client.atlanta.example.com 6645 t=0 0 6646 m=audio 49170 RTP/AVP 0 6647 a=rtpmap:0 PCMU/8000 6649 F11 180 Ringing Bob -> Alice 6651 SIP/2.0 180 Ringing 6652 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6653 ;branch=z9hG4bK74bfq 6654 ;received=192.0.2.103 6655 From: Alice ;tag=f23fkg14k 6656 To: Bob ;tag=23431 6657 Call-ID: aoij4i9okitr@atlanta.example.com 6658 CSeq: 1 INVITE 6659 Contact: 6660 Content-Length: 0 6662 F12 200 OK Bob -> Alice 6663 SIP/2.0 200 OK 6664 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6665 ;branch=z9hG4bK74bfq 6666 ;received=192.0.2.103 6667 From: Alice ;tag=f23fkg14k 6668 To: Bob ;tag=23431 6669 Call-ID: aoij4i9okitr@atlanta.example.com 6670 CSeq: 1 INVITE 6671 Contact: 6672 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 6673 Supported: replaces 6674 Content-Type: application/sdp 6675 Content-Length: ... 6677 v=0 6678 o=bob 2890854527 2890854527 IN IP4 client.biloxi.example.com 6679 s= 6680 c=IN IP4 client.biloxi.example.com 6681 t=0 0 6682 m=audio 3456 RTP/AVP 0 6683 a=rtpmap:0 PCMU/8000 6685 F13 ACK Alice -> Bob 6687 ACK sips:bob@client.biloxi.example.com SIP/2.0 6688 Via: SIP/2.0/TLS client.atlanta.example.com:5061 6689 ;branch=z9hG4bK74bLBJ 6690 Max-Forwards: 70 6691 From: Alice ;tag=f23fkg14k 6692 To: Bob ;tag=23431 6693 Call-ID: aoij4i9okitr@atlanta.example.com 6694 CSeq: 1 ACK 6695 Content-Length: 0 6697 2.18. Click to Dial 6699 Bob's PC Bob Carol 6700 | REFER Refer-To:Carol F1 | 6701 |------------------->| | 6702 | 202 Accepted F2 | | 6703 |<-------------------| | 6704 | | INVITE F3 | 6705 | |------------------->| 6706 | | 180 Ringing F4 | 6707 | |<-------------------| 6708 | | 200 OK F5 | 6709 | |<-------------------| 6710 | | ACK F6 | 6711 | |------------------->| 6712 | | RTP | 6713 | |<==================>| 6714 | | | 6716 In this example, while browsing the web on his PC, Bob clicks on 6717 Carol's SIP URI intending to establish a session with Carol. Bob's 6718 web browser passes the SIP URI to the SIP client on Bob's PC. The PC 6719 client is configured with the URI of Bob's SIP phone. A REFER is 6720 sent to the SIP phone which results in the establishment of the 6721 session between Bob and Carol. 6723 Note that Bob's PC requests that no REFER dialog be established by 6724 the use of the Refer-Sub: false header field [16]. 6726 This flow is preferable to the 3pcc flow because the end-to-end SIP 6727 signaling is not interrupted by the 3pcc controller, and because 6728 Bob's experience of the call will not be marred by the lack of 6729 ringback tone or possible clipping. Suitable authorization of the 6730 REFER and explicit authorization of the triggered INVITE by Bob is 6731 necessary. 6733 Message Details 6735 /* Bob's PC SIP Client sends a REFER to Bob's SIP phone */ 6737 F1 REFER PC -> Bob 6739 REFER sips:bob@biloxi.example.com SIP/2.0 6740 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 6741 ;branch=z9hG4bKnashds7 6742 Max-Forwards: 70 6743 From: ;tag=1234567 6744 To: Bob 6745 Call-ID: 1234560183434 6746 CSeq: 1 REFER 6747 Refer-To: 6748 Refer-Sub: false 6749 Contact: 6750 Content-Length: 0 6752 F2 202 Accepted Bob -> PC 6754 SIP/2.0 202 Accepted 6755 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6756 ;branch=z9hG4bKnashds7 6757 ;received=192.0.2.103 6758 From: ;tag=1234567 6759 To: Bob ;tag=314159 6760 Call-ID: 1234560183434 6761 Contact: 6762 CSeq: 1 REFER 6763 Refer-Sub: false 6764 Content-Length: 0 6766 F3 INVITE Bob -> Carol 6768 INVITE sips:carol@chicago.example.com SIP/2.0 6769 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6770 ;branch=z9hG4bKnashdK9 6771 Max-Forwards: 70 6772 From: Bob ;tag=8675309 6773 To: Carol 6774 Call-ID: 7436222@atlanta.example.com 6775 CSeq: 1 INVITE 6776 Contact: 6777 Referred-By: 6778 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6779 Supported: replaces 6780 Content-Type: application/sdp 6781 Content-Length: ... 6783 v=0 6784 o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com 6785 s= 6786 c=IN IP4 client.biloxi.example.com 6787 t=0 0 6788 m=audio 3458 RTP/AVP 0 6789 a=rtpmap:0 PCMU/8000 6791 F4 180 Ringing Carol -> Bob 6793 SIP/2.0 180 Ringing 6794 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6795 ;branch=z9hG4bKnashdK9 6796 ;received=192.0.2.113 6797 From: Bob ;tag=8675309 6798 To: Carol ;tag=928287 6799 Call-ID: 7436222@atlanta.example.com 6800 CSeq: 1 INVITE 6801 Contact: 6802 Content-Length: 0 6804 F5 200 OK Carol -> Bob 6806 SIP/2.0 200 OK 6807 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6808 ;branch=z9hG4bKnashdK9 6809 ;received=192.0.2.113 6810 From: Bob ;tag=8675309 6811 To: Carol ;tag=928287 6812 Call-ID: 7436222@atlanta.example.com 6813 CSeq: 1 INVITE 6814 Contact: 6815 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6816 Supported: replaces 6817 Content-Type: application/sdp 6818 Content-Length: ... 6820 v=0 6821 o=carol 2890844527 2890844527 IN IP4 client.chicago.example.com 6822 s= 6823 c=IN IP4 client.chicago.example.com 6824 t=0 0 6825 m=audio 3456 RTP/AVP 0 6826 a=rtpmap:0 PCMU/8000 6828 F6 ACK Bob -> Carol 6830 ACK sips:carol@client.chicago.example.com SIP/2.0 6831 Via: SIP/2.0/TLS client.biloxi.example.com:5061 6832 ;branch=z9hG4bKnashd43 6833 Max-Forwards: 70 6834 From: Bob ;tag=8675309 6835 To: Carol ;tag=928287 6836 Call-ID: 7436222@atlanta.example.com 6837 CSeq: 1 ACK 6838 Content-Length: 0 6840 /* Bob and Carol now have established a session. */ 6842 3. Security Considerations 6844 Since many of the examples in this document involve SIP call control, 6845 either peer-to-peer or 3pcc, the security considerations in the 6846 Multiparty Framework document [12] apply. 6848 Many of the services shown in this document rely on a particular user 6849 agent being part of a group. Members of a group could be, for 6850 example, employees within a particular department, a set of home 6851 phone extensions, members of a call center, etc. As such, user 6852 agents which are part of the group permit other group members special 6853 privileges and features. For example, while a user agent may not in 6854 general allow another user agent to learn detailed dialog 6855 information, this information might be shared with another group 6856 member in order to facilitate a service such as call pickup. Group 6857 members must be authenticated using normal SIP means such as 6858 certificates or shared secrets. 6860 The service examples in this document make extensive use of the SIP 6861 call control primitives REFER, Replaces, Join, and the dialog 6862 package. The security considerations associated with each of these 6863 extensions apply to the scenarios in this document. 6865 4. IANA Considerations 6867 None. 6869 5. Acknowledgements 6871 The authors would like to thank the following reviewers of the 6872 document for their detailed comments and corrections: Vijay Gurbani, 6873 John Elwell, Joel Repiquet, Nagesh Kumar, Chandra Ravipati, Eric 6874 Burger, Jeroen Bemmel, Miguel Garcia, and Dale Worley. 6876 The Transfer - Instant Messaging call flow is based on the "IM-a- 6877 call" call flow by Jonathan Rosenberg and Henning Schulzrinne. The 6878 Automatic Call Back call flow is based on a call flow by Adam Roach. 6879 The authors wish to thank the following individuals for their 6880 assistance and review of this call flows document: Joel Repiquet, Aki 6881 Neimi, Rohan Mahy, Jonathan Rosenberg, Hemant Agrawal, Henry 6882 Sinnreich, Dean Willis, David Devanatham, Joe Pizzimenti, Matt 6883 Cannon, John Hearty, the whole MCI WorldCom IPOP Design team, Scott 6884 Orton, Greg Osterhout, Pat Sollee, Doug Weisenberg, Danny Mistry, 6885 Steve McKinnon, and Denise Ingram, Denise Caballero, Tom Redman, Ilya 6886 Slain, Pat Sollee, John Truetken, and others from MCI WorldCom, 3Com, 6887 Cisco, Lucent and Nortel. 6889 6. References 6891 6.1. Normative References 6893 [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement 6894 Levels", BCP 14, RFC 2119, March 1997. 6896 [2] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., 6897 Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: 6898 Session Initiation Protocol", RFC 3261, June 2002. 6900 [3] Sparks, R., "The Session Initiation Protocol (SIP) Refer 6901 Method", RFC 3515, April 2003. 6903 [4] Mahy, R., Biggs, B., and R. Dean, "The Session Initiation 6904 Protocol (SIP) "Replaces" Header", RFC 3891, September 2004. 6906 [5] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with 6907 Session Description Protocol (SDP)", RFC 3264, June 2002. 6909 [6] Roach, A., "Session Initiation Protocol (SIP)-Specific Event 6910 Notification", RFC 3265, June 2002. 6912 [7] Sparks, R., "Session Initiation Protocol Call Control - 6913 Transfer", draft-ietf-sipping-cc-transfer-07 (work in 6914 progress), October 2006. 6916 [8] Rosenberg, J., Schulzrinne, H., and R. Mahy, "An INVITE- 6917 Initiated Dialog Event Package for the Session Initiation 6918 Protocol (SIP)", RFC 4235, November 2005. 6920 [9] Mahy, R. and D. Petrie, "The Session Initiation Protocol (SIP) 6921 "Join" Header", RFC 3911, October 2004. 6923 [10] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, "Indicating 6924 User Agent Capabilities in the Session Initiation Protocol 6925 (SIP)", RFC 3840, August 2004. 6927 [11] Johnston, A. and O. Levin, "Session Initiation Protocol (SIP) 6928 Call Control - Conferencing for User Agents", BCP 119, 6929 RFC 4579, August 2006. 6931 [12] Mahy, R., "A Call Control and Multi-party usage framework for 6932 the Session Initiation Protocol (SIP)", 6933 draft-ietf-sipping-cc-framework-06 (work in progress), 6934 March 2006. 6936 [13] Campbell, B. and R. Sparks, "Control of Service Context using 6937 SIP Request-URI", RFC 3087, April 2001. 6939 [14] Sparks, R., "Internet Media Type message/sipfrag", RFC 3420, 6940 November 2002. 6942 [15] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., and 6943 D. Gurle, "Session Initiation Protocol (SIP) Extension for 6944 Instant Messaging", RFC 3428, December 2002. 6946 [16] Levin, O., "Suppression of Session Initiation Protocol (SIP) 6947 REFER Method Implicit Subscription", RFC 4488, May 2006. 6949 [17] Sparks, R., Hawrylyshen, A., Johnston, A., Rosenberg, J., and 6950 H. Schulzrinne, "Session Initiation Protocol (SIP) Torture Test 6951 Messages", RFC 4475, May 2006. 6953 6.2. Informative References 6955 [18] Johnston, A., Donovan, S., Sparks, R., Cunningham, C., and K. 6956 Summers, "Session Initiation Protocol (SIP) Basic Call Flow 6957 Examples", BCP 75, RFC 3665, December 2003. 6959 [19] Rosenberg, J., Peterson, J., Schulzrinne, H., and G. Camarillo, 6960 "Best Current Practices for Third Party Call Control (3pcc) in 6961 the Session Initiation Protocol (SIP)", BCP 85, RFC 3725, 6962 April 2004. 6964 [20] Rosenberg, J., Schulzrinne, H., and O. Levin, "A Session 6965 Initiation Protocol (SIP) Event Package for Conference State", 6966 RFC 4575, August 2006. 6968 [21] Rosenberg, J., "A Session Initiation Protocol (SIP) Event 6969 Package for Registrations", RFC 3680, March 2004. 6971 [22] Rosenberg, J., "Obtaining and Using Globally Routable User 6972 Agent (UA) URIs (GRUU) in the Session Initiation Protocol 6973 (SIP)", draft-ietf-sip-gruu-10 (work in progress), August 2006. 6975 Authors' Addresses 6977 Alan Johnston (editor) 6978 Avaya 6979 St. Louis, MO 63124 6981 Email: alan@sipstation.com 6983 Robert J. Sparks 6984 Estacado Systems 6986 Email: RjS@estacado.net 6988 Chris Cunningham 6989 Cisco Systems 6991 Steve Donovan 6992 Cisco Systems 6994 Email: srd@cisco.com 6996 Kevin Summers 6997 Prodea Systems 6998 Plano, TX 75093 7000 Email: kevin.summers@prodeasystems.com 7002 Full Copyright Statement 7004 Copyright (C) The Internet Society (2006). 7006 This document is subject to the rights, licenses and restrictions 7007 contained in BCP 78, and except as set forth therein, the authors 7008 retain all their rights. 7010 This document and the information contained herein are provided on an 7011 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 7012 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 7013 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 7014 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 7015 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 7016 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 7018 Intellectual Property 7020 The IETF takes no position regarding the validity or scope of any 7021 Intellectual Property Rights or other rights that might be claimed to 7022 pertain to the implementation or use of the technology described in 7023 this document or the extent to which any license under such rights 7024 might or might not be available; nor does it represent that it has 7025 made any independent effort to identify any such rights. Information 7026 on the procedures with respect to rights in RFC documents can be 7027 found in BCP 78 and BCP 79. 7029 Copies of IPR disclosures made to the IETF Secretariat and any 7030 assurances of licenses to be made available, or the result of an 7031 attempt made to obtain a general license or permission for the use of 7032 such proprietary rights by implementers or users of this 7033 specification can be obtained from the IETF on-line IPR repository at 7034 http://www.ietf.org/ipr. 7036 The IETF invites any interested party to bring to its attention any 7037 copyrights, patents or patent applications, or other proprietary 7038 rights that may cover technology that may be required to implement 7039 this standard. Please address the information to the IETF at 7040 ietf-ipr@ietf.org. 7042 Acknowledgment 7044 Funding for the RFC Editor function is provided by the IETF 7045 Administrative Support Activity (IASA).