idnits 2.17.1 draft-ietf-sipping-service-examples-03.txt: -(3838): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == There are 10 instances of lines with non-ascii characters in the document. == It seems as if not all pages are separated by form feeds - found 0 form feeds but 148 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. == There are 634 instances of lines with non-RFC2606-compliant FQDNs in the document. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 1870 has weird spacing: '...success back ...' == Line 4866 has weird spacing: '...s. The locat...' -- 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.) -- Couldn't find a document date in the document -- date freshness check skipped. -- 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 ---------------------------------------------------------------------------- ** Obsolete normative reference: RFC 3265 (ref. '11') (Obsoleted by RFC 6665) Summary: 6 errors (**), 0 flaws (~~), 6 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force Alan Johnston 3 Internet Draft WorldCom 4 Document: draft-ietf-sipping-service-examples-03.txt Robert Sparks 5 Category: Informational Chris Cunningham 6 November 2002 Steve Donovan 7 Expires: May 2003 dynamicsoft 8 Kevin Summers 9 Sonus 11 Session Initiation Protocol Service Examples 13 Status of this Memo 15 This document is an Internet-Draft and is in full conformance with 16 all provisions of Section 10 of RFC2026[1]. 18 Internet-Drafts are working documents of the Internet Engineering 19 Task Force (IETF), its areas, and its working groups. Note that other 20 groups may also distribute working documents as Internet-Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet- Drafts as reference 24 material or to cite them other than as "work in progress." 25 The list of current Internet-Drafts can be accessed at 26 http://www.ietf.org/ietf/1id-abstracts.txt 27 The list of Internet-Draft Shadow Directories can be accessed at 28 http://www.ietf.org/shadow.html. 30 Abstract 32 This informational document gives examples of Session Initiation 33 Protocol (SIP) services. This covers most features offered in so- 34 called Centrex offerings from local exchange carriers and PBX 35 (Private Branch Exchange) features. Most of the services shown in 36 this document are implemented in the SIP User Agents, although some 37 require the assistance of a SIP Proxy. Some require some extensions 38 to SIP including the REFER, SUBSCRIBE, and NOTIFY methods and the 39 Replaces and Join headers. These features are not intended to be an 40 exhaustive set, but rather show implementations of common features 41 likely to be implemented on SIP IP telephones in a business 42 environment. 44 Table of Contents 46 1 Overview...................................................3 47 1.1 Legend for Message Flows...................................4 48 1.2 Document History...........................................4 49 2 IP Telephony Services Features Call Flows..................8 50 2.1 Call Hold..................................................8 51 2.2 Consultation Hold.........................................19 52 2.3 Music On Hold.............................................34 53 2.4 Unattended Transfer.......................................41 54 2.5 Attended Transfer.........................................48 55 2.6 Call Forwarding Unconditional.............................59 56 2.7 Call Forwarding - Busy....................................64 57 2.8 Call Forwarding - No Answer...............................71 58 2.9 3-way Conference � Third Party is Added...................79 59 2.10 3-way Conference � Third Party Joins......................84 60 2.11 Single Line Extension.....................................89 61 2.12 Find-Me..................................................105 62 2.13 Call Management (Incoming Call Screening)................115 63 2.14 Call Management (Outgoing Call Screening)................119 64 2.15 Call Park................................................122 65 2.16 Call Pickup..............................................131 66 2.17 Automatic Redial.........................................138 67 3 Security Considerations..................................144 68 4 IANA Considerations......................................145 69 5 Acknowledgements.........................................146 70 6 References...............................................147 71 7 Author's Addresses.......................................148 73 1 Overview 75 This informational document provides call flows detailing a SIP 76 implementation of the following traditional telephony services: 78 Call Hold Music on Hold 79 Unattended Transfer Consultation Hold 80 Unconditional Call Forwarding Attended Transfer 81 No Answer Call Forwarding Busy Call Forwarding 82 Single-Line Extension 3-way Call 83 Incoming Call Screening Find-Me 84 Call Pickup Call Park 85 Outgoing Call Screening Automatic Redial 87 It is the hope of the authors that this document will be useful for 88 SIP implementors, users, designers, and protocol researchers alike 89 and will help further the goal of a standard SIP implementation for 90 IP Telephony. It is envisioned that as changes to the standard and 91 additional RFCs are added that this document will reflect those 92 changes and represent the current state of a standard SIP IP 93 Telephony implementation. 95 These flows use SIP as defined by RFC 3261 [2] and SDP usage defined 96 by RFC 3264 [8]. Note that this document is informational, and 97 nothing stated here should be taken as normative. The SIP 98 specification and the other referenced documents are definitive as 99 far as protocol issues are concerned. Also, these flows do not 100 represent the only way to implement these services - other approaches 101 such as 3pcc (Third Party Call Control) or Back-to-Back User Agents 102 (B2BUA) may be more appropriate in some circumstances. The design 103 and principles of these service examples are described in the the 104 Multiparty Framework document [12]. 106 These flows assume the functionality described in the SIP Basic Call 107 Flow Examples document [3], which explores basic behavior. Some of 108 the scenarios described herein make use of the SIP method extension 109 REFER [4] and the SIP header extension Replaces [5], the SIP header 110 extension Join [6], and some of the concepts in the 3pcc (third party 111 call control) document [7]. The SIP Events document [11] describes 112 the use of SUBSCRIBE and NOTIFY while the SIP Call Package document 113 [10] describes the dialog event package. 115 These flows were prepared assuming a network of proxies, registrars, 116 PSTN gateways, and other SIP servers that have a pre-established 117 trust relationship with each other, secured through other means than 118 SIP. User agents wishing to use the services in this network are 119 required to authenticate themselves with an edge proxy using SIP 120 Digest. To improve the clarity of this document, authentication of 121 User Agents is not explicitly shown in all flows, except where 122 authentication directly relates to the service example. 124 Each call flow is presented with a textual description of the 125 scenario, a message flow diagram showing the messages exchanged 126 between separate network elements, and the detailed contents of each 127 message shown in the diagram. 129 1.1 Legend for Message Flows 131 Dashed lines (---) represent control messages that are mandatory to 132 the call scenario. These control messages can be SIP or PSTN 133 signaling. 135 Double dashed lines (===) represent media paths between network 136 elements. 138 Messages with parenthesis around name represent optional control 139 messages. 141 Messages are identified in the Figures as F1, F2, etc. This 142 references the message details in the table that follows the Figure. 143 Comments in the message details are shown in the following form: 145 /* Comments. */ 147 1.2 Document History 149 The first version of this document was the Internet-Draft 150 "draft-sparks-sip-service-examples.txt" October 1999. 152 The next version was combined with the SIP Telephony Call Flows 153 document into the "draft-ietf-sip-call-flows-00.txt" April 2000. 155 This version is based on Section 7 of that document with many of the 156 examples extensively rewritten using the REFER method. 158 1.3 Changes to 00 160 - Moddified all REFER flows to include 202 Accepted and NOTIFY 161 result message. 163 - Removed "Telephony" from title of document. 165 - Added note on 2.9 on use of REFER to exit 3-way conference. 167 - Modified Music on Hold/Call Park flow (2.2). 169 - Modified order of messages in transfers (2.4 and 2.5) to more 170 closely resemble PSTN experience. 172 - Added Call Pickup flow (2.13). 174 - Added editorial notes on usefulness of Replaces header. 176 1.4 Changes to 01 178 - Added Replaces header to flows. 180 - Changed handling of call hold. 182 - Added Contact and Referred-By headers and ref parameters to REFER 183 messages. 185 - Changed some Contacts, Routes, and Request-URIs to IP addresses. 187 - Incremented o= line when SDP is updated with hold. 189 - Added From tags throughout. 191 - Renamed Music On Hold/Call Park to Call Park and added new Music On 192 Hold call flow using 3pcc. 194 1.5 Changes to 02 196 - Changed call hold flows to show sendonly attribute based on [8]. 198 - Removed ref parameter from the Referred-By headers since it is now 199 just a generic paramter in the latest draft [4]. (Note that if the 200 ref parameter stays, additional characters such as "<", "@", and ">" 201 must be escaped.) 203 - Removed tags in CANCEL requests and responses. 205 1.6 Changes to sipping-00 207 - Added Max-Forwards 209 - Added branch parm and received param to Vias 211 - Changed Record-Route and Route behavior to show loose routing. 213 - Added Record-Route and Contact to 18x responses 215 - Changed Call Pickup to show Replaces with an early dialog 217 - Changed description of Single Line Extension service 219 - Changed Call Park and Pickup flow to show a different user picking 220 up the call. 222 - Added Allow and Supported headers to REFER and replaces flows. 224 1.7 Changes to -01 225 - Added SIP Events and dialog event package to Call Pickup flow. 227 - Added Auto Redial call flows 229 - Updated based on new Replaces draft with 481 behavior instead of 230 using Accept-Contact in attended transfer. 232 - Added Single Line Extension call flow. 234 - Added Error-Info in call screening flows. 236 1.8 Changes to -02 238 - Added 3-way call flows showing transition from 2 party call. 240 1.9 Changes to -03 242 - Fixed owner/version SDP errors in hold SDP. 244 - Add Notification of remote-URI in Call Pickup scenario 246 - Updated 3-way conference flows to show just internal User Agent 247 mixing 249 - Added FQDNs in Contacts and SDP, changed example addresses 251 - Replaced use of Accept-Contact header with Contact URI 253 - Updated for refer-06 changes 255 2 IP Telephony Services Features Call Flows 257 These call flows show how a number of standard telephony features can 258 be implemented using SIP. They are not meant to represent a complete 259 set. Some calls make use of SIP extensions. 261 2.1 Call Hold 263 User A Proxy User B 264 | | | 265 | INVITE F1 | | 266 |--------------->| | 267 | | INVITE F2 | 268 |(100 Trying) F3 |------------->| 269 |<---------------| | 270 | |180 Ringing F4| 271 | 180 Ringing F5 |<-------------| 272 |<---------------| | 273 | | 200 OK F6 | 274 | 200 OK F7 |<-------------| 275 |<---------------| | 276 | ACK F8 | | 277 |--------------->| ACK F9 | 278 | |------------->| 279 | Both way RTP Established | 280 |<=============================>| 281 | |INVITE(hold) F10 282 |INVITE(hold) F11|<-------------| 283 |<---------------| | 284 | 200 OK F12 | | 285 |--------------->| 200 OK F13 | 286 | |------------->| 287 | | ACK F14 | 288 | ACK F15 |<-------------| 289 |<---------------| | 290 | No RTP Sent! | 291 | | INVITE F16 | 292 | INVITE F17 |<-------------| 293 |<---------------| | 294 | 200 OK F18 | | 295 |--------------->| 200 OK F19 | 296 | |------------->| 297 | | ACK F20 | 298 | ACK F21 |<-------------| 299 |<---------------| | 300 | Both way RTP Established | 301 |<=============================>| 302 | BYE F22 | | 303 |--------------->| BYE F23 | 304 | |------------->| 305 | | 200 OK F24 | 306 | 200 OK F25 |<-------------| 307 |<---------------| | 308 | | | 310 User A calls User B, User B places call on hold. User B then takes 311 call off hold. User A hangs up call. Hold is unidirectional in 312 nature. However, a UA that places the other party on hold will 313 generally also stop sending media, resulting in no media exchange 314 between the UAs. 316 Message Details 318 F1 INVITE A -> Proxy 1 320 INVITE sip:UserB@there.com SIP/2.0 321 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 322 Max-Forwards: 70 323 From: BigGuy ;tag=1234567 324 To: LittleGuy 325 Call-ID: 12345601@here.com 326 CSeq: 1 INVITE 327 Contact: 328 Content-Type: application/sdp 329 Content-Length: ... 331 v=0 332 o=UserA 2890844526 2890844526 IN IP4 client.here.com 333 s=Session SDP 334 c=IN IP4 client.here.com 335 t=3034423619 0 336 m=audio 49170 RTP/AVP 0 337 a=rtpmap:0 PCMU/8000 339 F2 INVITE Proxy 1 -> B 341 INVITE sip:UserB@client.there.com SIP/2.0 342 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 343 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 344 ;received=192.0.2.103 345 Record-Route: 346 Max-Forwards: 69 347 From: BigGuy ;tag=1234567 348 To: LittleGuy 349 Call-ID: 12345601@here.com 350 CSeq: 1 INVITE 351 Contact: 352 Content-Type: application/sdp 353 Content-Length: ... 355 v=0 356 o=UserA 2890844526 2890844526 IN IP4 client.here.com 357 s=Session SDP 358 c=IN IP4 client.here.com 359 t=3034423619 0 360 m=audio 49170 RTP/AVP 0 361 a=rtpmap:0 PCMU/8000 363 F3 (100 Trying) Proxy 1 -> A 365 SIP/2.0 100 Trying 366 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 367 ;received=192.0.2.103 368 From: BigGuy ;tag=1234567 369 To: LittleGuy 370 Call-ID: 12345601@here.com 371 CSeq: 1 INVITE 372 Content-Length: 0 374 F4 180 Ringing B -> Proxy 1 376 SIP/2.0 180 Ringing 377 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 378 ;received=192.0.2.54 379 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 380 ;received=192.0.2.103 381 Record-Route: 382 From: BigGuy ;tag=1234567 383 To: LittleGuy ;tag=314159 384 Call-ID: 12345601@here.com 385 CSeq: 1 INVITE 386 Contact: 387 Content Length:0 389 F5 180 Ringing Proxy 1 -> A 391 SIP/2.0 180 Ringing 392 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 393 ;received=192.0.2.103 394 Record-Route: 395 From: BigGuy ;tag=1234567 396 To: LittleGuy ;tag=314159 397 Call-ID: 12345601@here.com 398 CSeq: 1 INVITE 399 Contact: 400 Content Length: 0 402 F6 200 OK B -> Proxy 1 403 SIP/2.0 200 OK 404 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 405 ;received=192.0.2.54 406 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 407 ;received=192.0.2.103 408 Record-Route: 409 From: BigGuy ;tag=1234567 410 To: LittleGuy ;tag=314159 411 Call-ID: 12345601@here.com 412 CSeq: 1 INVITE 413 Contact: 414 Content-Type: application/sdp 415 Content-Length: ... 417 v=0 418 o=UserB 2890844527 2890844527 IN IP4 client.there.com 419 s=Session SDP 420 c=IN IP4 client.there.com 421 t=3034423619 0 422 m=audio 3456 RTP/AVP 0 423 a=rtpmap:0 PCMU/8000 425 F7 200 OK Proxy 1 -> A 427 SIP/2.0 200 OK 428 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 429 ;received=192.0.2.103 430 Record-Route: 431 From: BigGuy ;tag=1234567 432 To: LittleGuy ;tag=314159 433 Call-ID: 12345601@here.com 434 CSeq: 1 INVITE 435 Contact: 436 Content-Type: application/sdp 437 Content-Length: ... 439 v=0 440 o=UserB 2890844527 2890844527 IN IP4 client.there.com 441 s=Session SDP 442 c=IN IP4 client.there.com 443 t=3034423619 0 444 m=audio 3456 RTP/AVP 0 445 a=rtpmap:0 PCMU/8000 447 F8 ACK A -> Proxy 1 449 ACK sip:UserB@client.there.com SIP/2.0 450 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 451 Route: 452 Max-Forwards: 70 453 From: BigGuy ;tag=1234567 454 To: LittleGuy ;tag=314159 455 Call-ID: 12345601@here.com 456 CSeq: 1 ACK 457 Content-Length: 0 459 F9 ACK Proxy 1 -> B 461 ACK sip:UserB@client.there.com SIP/2.0 462 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 463 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 464 ;received=192.0.2.103 465 Max-Forwards: 69 466 From: BigGuy ;tag=1234567 467 To: LittleGuy ;tag=314159 468 Call-ID: 12345601@here.com 469 CSeq: 1 ACK 470 Content-Length: 0 472 /* User B places User A on hold. Note that the version is 473 incremented in the o= field of the SDP */ 475 F10 INVITE B -> Proxy 1 477 INVITE sip:UserA@client.here.com SIP/2.0 478 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 479 Route: 480 Max-Forwards: 70 481 From: LittleGuy ;tag=314159 482 To: BigGuy ;tag=1234567 483 Call-ID: 12345601@here.com 484 CSeq: 1 INVITE 485 Contact: 486 Content-Type: application/sdp 487 Content-Length: ... 489 v=0 490 o=UserB 2890844527 2890844528 IN IP4 client.there.com 491 s=Session SDP 492 c=IN IP4 client.there.com 493 t=3034423619 0 494 m=audio 3456 RTP/AVP 0 495 a=rtpmap:0 PCMU/8000 496 a=sendonly 498 F11 INVITE Proxy 1 -> A 500 INVITE sip:UserA@client.here.com SIP/2.0 501 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 502 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 503 ;received=192.0.2.105 504 Record-Route: 505 Max-Forwards: 69 506 From: LittleGuy ;tag=314159 507 To: BigGuy ;tag=1234567 508 Call-ID: 12345601@here.com 509 CSeq: 1 INVITE 510 Contact: 511 Content-Type: application/sdp 512 Content-Length: ... 514 v=0 515 o=UserB 2890844527 2890844528 IN IP4 client.there.com 516 s=Session SDP 517 c=IN IP4 client.there.com 518 t=3034423619 0 519 m=audio 3456 RTP/AVP 0 520 a=rtpmap:0 PCMU/8000 521 a=sendonly 523 /* A replies with normal SDP */ 525 F12 200 OK A -> Proxy 1 527 SIP/2.0 200 OK 528 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 529 ;received=192.0.2.54 530 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 531 ;received=192.0.2.105 532 Record-Route: 533 From: LittleGuy ;tag=314159 534 To: BigGuy ;tag=1234567 535 Call-ID: 12345601@here.com 536 CSeq: 1 INVITE 537 Contact: 538 Content-Type: application/sdp 539 Content-Length: ... 541 v=0 542 o=UserA 2890844526 2890844526 IN IP4 client.here.com 543 s=Session SDP 544 c=IN IP4 client.here.com 545 t=3034423619 0 546 m=audio 49170 RTP/AVP 0 547 a=rtpmap:0 PCMU/8000 549 F13 200 OK Proxy 1 -> B 551 SIP/2.0 200 OK 552 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 553 ;received=192.0.2.105 554 Record-Route: 555 From: LittleGuy ;tag=314159 556 To: BigGuy ;tag=1234567 557 Call-ID: 12345601@here.com 558 CSeq: 1 INVITE 559 Contact: 560 Content-Type: application/sdp 561 Content-Length: ... 563 v=0 564 o=UserA 2890844526 2890844526 IN IP4 client.here.com 565 s=Session SDP 566 c=IN IP4 client.here.com 567 t=3034423619 0 568 m=audio 49170 RTP/AVP 0 569 a=rtpmap:0 PCMU/8000 571 F14 ACK B -> Proxy 1 573 ACK sip:UserA@client.here.com SIP/2.0 574 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 575 Route: 576 Max-Forwards: 70 577 From: LittleGuy ;tag=314159 578 To: BigGuy ;tag=1234567 579 Call-ID: 12345601@here.com 580 CSeq: 1 ACK 581 Content-Length: 0 583 F15 ACK Proxy 1 -> A 585 ACK sip:UserA@client.here.com SIP/2.0 586 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 587 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 588 ;received=192.0.2.105 589 Max-Forwards: 69 590 From: LittleGuy ;tag=314159 591 To: BigGuy ;tag=1234567 592 Call-ID: 12345601@here.com 593 CSeq: 1 ACK 594 Content-Length: 0 596 /* User B takes the call off hold */ 598 F16 INVITE B -> Proxy 1 600 INVITE sip:UserA@client.here.com SIP/2.0 601 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 602 Route: 603 Max-Forwards: 70 604 From: LittleGuy ;tag=314159 605 To: BigGuy ;tag=1234567 606 Call-ID: 12345601@here.com 607 CSeq: 2 INVITE 608 Contact: 609 Content-Type: application/sdp 610 Content-Length: ... 612 v=0 613 o=UserB 2890844527 2890844529 IN IP4 client.there.com 614 s=Session SDP 615 c=IN IP4 client.there.com 616 t=3034423619 0 617 m=audio 3456 RTP/AVP 0 618 a=rtpmap:0 PCMU/8000 620 F17 INVITE Proxy 1 -> A 622 INVITE sip:UserA@client.here.com SIP/2.0 623 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 624 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 625 ;received=192.0.2.105 626 Record-Route: 627 Max-Forwards: 69 628 From: LittleGuy ;tag=314159 629 To: BigGuy ;tag=1234567 630 Call-ID: 12345601@here.com 631 CSeq: 2 INVITE 632 Contact: 633 Content-Type: application/sdp 634 Content-Length: ... 636 v=0 637 o=UserB 2890844527 2890844529 IN IP4 client.there.com 638 s=Session SDP 639 c=IN IP4 client.there.com 640 t=3034423619 0 641 m=audio 3456 RTP/AVP 0 642 a=rtpmap:0 PCMU/8000 644 F18 200 OK A -> Proxy 1 646 SIP/2.0 200 OK 647 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 648 ;received=192.0.2.54 649 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 650 ;received=192.0.2.105 652 Record-Route: 653 From: LittleGuy ;tag=314159 654 To: BigGuy ;tag=1234567 655 Call-ID: 12345601@here.com 656 CSeq: 2 INVITE 657 Contact: 658 Content-Type: application/sdp 659 Content-Length: ... 661 v=0 662 o=UserA 2890844526 2890844526 IN IP4 client.here.com 663 s=Session SDP 664 c=IN IP4 client.here.com 665 t=3034423619 0 666 m=audio 49170 RTP/AVP 0 667 a=rtpmap:0 PCMU/8000 669 F19 200 OK Proxy 1 -> B 671 SIP/2.0 200 OK 672 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 673 ;received=192.0.2.105 674 Record-Route: 675 From: LittleGuy ;tag=314159 676 To: BigGuy ;tag=1234567 677 Call-ID: 12345601@here.com 678 CSeq: 2 INVITE 679 Contact: 680 Content-Type: application/sdp 681 Content-Length: ... 683 v=0 684 o=UserA 2890844526 2890844526 IN IP4 client.here.com 685 s=Session SDP 686 c=IN IP4 client.here.com 687 t=3034423619 0 688 m=audio 49170 RTP/AVP 0 689 a=rtpmap:0 PCMU/8000 691 F20 ACK B -> Proxy 1 693 ACK sip:UserA@client.here.com SIP/2.0 694 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 695 Route: 696 Max-Forwards: 70 697 From: LittleGuy ;tag=314159 698 To: BigGuy ;tag=1234567 699 Call-ID: 12345601@here.com 700 CSeq: 2 ACK 701 Content-Length: 0 702 F21 ACK Proxy 1 -> A 704 ACK sip:UserA@client.here.com SIP/2.0 705 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 706 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 707 ;received=192.0.2.105 708 Max-Forwards: 69 709 From: LittleGuy ;tag=314159 710 To: BigGuy ;tag=1234567 711 Call-ID: 12345601@here.com 712 CSeq: 2 ACK 713 Content-Length: 0 715 /* RTP Media stream re-established. User A disconnects. */ 717 F22 BYE A -> Proxy 1 719 BYE sip:UserB@client.there.com SIP/2.0 720 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 721 Route: 722 Max-Forwards: 70 723 From: BigGuy ;tag=1234567 724 To: LittleGuy ;tag=314159 725 Call-ID: 12345601@here.com 726 CSeq: 2 BYE 727 Content-Length: 0 729 F23 BYE Proxy 1 -> B 731 BYE sip:UserB@client.there.com SIP/2.0 732 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 733 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 734 ;received=192.0.2.103 735 Max-Forwards: 69 736 From: BigGuy ;tag=1234567 737 To: LittleGuy ;tag=314159 738 Call-ID: 12345601@here.com 739 CSeq: 2 BYE 740 Content-Length: 0 742 F24 200 OK B -> Proxy 1 744 SIP/2.0 200 OK 745 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 746 ;received=192.0.2.54 747 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 748 ;received=192.0.2.103 750 From: BigGuy ;tag=1234567 751 To: LittleGuy ;tag=314159 752 Call-ID: 12345601@here.com 753 CSeq: 2 BYE 754 Content-Length: 0 756 F25 200 OK Proxy 1 -> A 758 SIP/2.0 200 OK 759 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 760 ;received=192.0.2.103 761 From: BigGuy ;tag=1234567 762 To: LittleGuy ;tag=314159 763 Call-ID: 12345601@here.com 764 CSeq: 2 BYE 765 Content-Length: 0 767 2.2 Consultation Hold 769 User A Proxy User B User C 770 | | | | 771 | INVITE F1 | | | 772 |--------------->| INVITE F2 | | 773 | |------------->| | 774 |(100 Trying) F3 | | | 775 |<---------------|180 Ringing F4| | 776 | |<-------------| | 777 | 180 Ringing F5 | | | 778 |<---------------| 200 OK F6 | | 779 | |<-------------| | 780 | 200 OK F7 | | | 781 |<---------------| | | 782 | ACK F8 | | | 783 |--------------->| ACK F9 | | 784 | |------------->| | 785 | Both way RTP Established | | 786 |<=============================>| | 787 | |INVITE(hold) F10 | 788 |INVITE(hold) F11|<-------------| | 789 |<---------------| | | 790 | 200 OK F12 | | | 791 |--------------->| 200 OK F13 | | 792 | |------------->| | 793 | | ACK F14 | | 794 | |<-------------| | 795 | ACK F15 | | | 796 |<---------------| | | 797 | No RTP Sent! | | 798 | | INVITE F16 | | 799 | |<-------------| | 800 | | | INVITE F17 | 801 | |--------------------------------->| 802 | |(100 Trying) F18 | 803 | |------------->| | 804 | | | 180 Ringing F19 | 805 | |<---------------------------------| 806 | | 180 Ringing F20 | 807 | |------------->| | 808 | | | 200 OK F21 | 809 | |<---------------------------------| 810 | | 200 OK F22 | | 811 | |------------->| | 812 | | ACK F23 | | 813 | |<-------------| | 814 | | | ACK F24 | 815 | |--------------------------------->| 816 | | Both way RTP Established | 817 | | |<=================>| 818 | | BYE F25 | | 819 | |<-------------| | 820 | | | BYE F26 | 821 | |--------------------------------->| 822 | | | 200 OK F27 | 823 | |<---------------------------------| 824 | | 200 OK F28 | | 825 | |------------->| | 826 | | INVITE F29 | | 827 | INVITE F30 |<-------------| | 828 |<---------------| | | 829 | 200 OK F31 | | | 830 |--------------->| 200 OK F32 | | 831 | |------------->| | 832 | | ACK F33 | | 833 | |<-------------| | 834 | ACK F34 | | | 835 |<---------------| | | 836 | Both way RTP Established | | 837 |<=============================>| | 838 | BYE F35 | | | 839 |--------------->| BYE F36 | | 840 | |------------->| | 841 | | 200 OK F37 | | 842 | |<-------------| | 843 | 200 OK F38 | | | 844 |<---------------| | | 845 | | | | 847 User A calls user B. User B places call on hold. User B calls User 848 C. User B then disconnects with C, then takes the call with User A 849 off hold. The call ends with B hangs up. 851 Message Details 853 F1 INVITE A -> Proxy 1 855 INVITE sip:UserB@there.com SIP/2.0 856 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 857 Max-Forwards: 70 858 From: BigGuy ;tag=1234567 859 To: LittleGuy 860 Call-ID: 12345600@here.com 861 CSeq: 1 INVITE 862 Contact: 863 Content-Type: application/sdp 864 Content-Length: ... 866 v=0 867 o=UserA 2890844526 2890844526 IN IP4 client.here.com 868 s=Session SDP 869 c=IN IP4 client.here.com 870 t=3034423619 0 871 m=audio 49170 RTP/AVP 0 872 a=rtpmap:0 PCMU/8000 874 F2 INVITE Proxy 1 -> B 876 INVITE sip:UserB@client.there.com SIP/2.0 877 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 878 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 879 ;received=192.0.2.103 880 Record-Route: 881 Max-Forwards: 69 882 From: BigGuy ;tag=1234567 883 To: LittleGuy 884 Call-ID: 12345600@here.com 885 CSeq: 1 INVITE 886 Contact: 887 Content-Type: application/sdp 888 Content-Length: ... 890 v=0 891 o=UserA 2890844526 2890844526 IN IP4 client.here.com 892 s=Session SDP 893 c=IN IP4 client.here.com 894 t=3034423619 0 895 m=audio 49170 RTP/AVP 0 896 a=rtpmap:0 PCMU/8000 898 F3(100 Trying) Proxy 1 -> A 900 SIP/2.0 100 Trying 901 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 902 ;received=192.0.2.103 903 From: BigGuy ;tag=1234567 904 To: LittleGuy 905 Call-ID: 12345600@here.com 906 CSeq: 1 INVITE 907 Content-Length: 0 909 F4 180 Ringing B -> Proxy 1 911 SIP/2.0 180 Ringing 912 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 913 ;received=192.0.2.54 914 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 915 ;received=192.0.2.103 916 Record-Route: 917 From: BigGuy ;tag=1234567 918 To: LittleGuy ;tag=314159 919 Call-ID: 12345600@here.com 920 CSeq: 1 INVITE 921 Contact: 922 Content Length:0 924 F5 180 Ringing Proxy 1 -> A 926 SIP/2.0 180 Ringing 927 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 928 ;received=192.0.2.103 929 Record-Route: 930 From: BigGuy ;tag=1234567 931 To: LittleGuy ;tag=314159 932 Call-ID: 12345600@here.com 933 CSeq: 1 INVITE 934 Contact: 935 Content Length: 0 937 F6 200 OK B -> Proxy 1 939 SIP/2.0 200 OK 940 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 941 ;received=192.0.2.54 942 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 943 ;received=192.0.2.103 944 Record-Route: 945 From: BigGuy ;tag=1234567 946 To: LittleGuy ;tag=314159 947 Call-ID: 12345600@here.com 948 CSeq: 1 INVITE 949 Contact: 950 Content-Type: application/sdp 951 Content-Length: ... 953 v=0 954 o=UserB 2890844527 2890844527 IN IP4 client.there.com 955 s=Session SDP 956 c=IN IP4 client.there.com 957 t=3034423619 0 958 m=audio 3456 RTP/AVP 0 959 a=rtpmap:0 PCMU/8000 961 F7 200 OK Proxy 1 -> A 963 SIP/2.0 200 OK 964 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 965 ;received=192.0.2.103 967 Record-Route: 968 From: BigGuy ;tag=1234567 969 To: LittleGuy ;tag=314159 970 Call-ID: 12345600@here.com 971 CSeq: 1 INVITE 972 Contact: 973 Content-Type: application/sdp 974 Content-Length: ... 976 v=0 977 o=UserB 2890844527 2890844527 IN IP4 client.there.com 978 s=Session SDP 979 c=IN IP4 client.there.com 980 t=3034423619 0 981 m=audio 3456 RTP/AVP 0 982 a=rtpmap:0 PCMU/8000 984 F8 ACK A -> Proxy 1 986 ACK sip:UserB@client.there.com SIP/2.0 987 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 988 Route: 989 Max-Forwards: 70 990 From: BigGuy ;tag=1234567 991 To: LittleGuy ;tag=314159 992 Call-ID: 12345600@here.com 993 CSeq: 1 ACK 994 Content-Length: 0 996 F9 ACK Proxy 1 -> B 998 ACK sip:UserB@client.there.com SIP/2.0 999 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1000 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1001 ;received=192.0.2.103 1002 Max-Forwards: 69 1003 From: BigGuy ;tag=1234567 1004 To: LittleGuy ;tag=314159 1005 Call-ID: 12345600@here.com 1006 CSeq: 1 ACK 1007 Content-Length: 0 1009 /* User B places User A on hold. */ 1011 F10 INVITE B -> Proxy 1 1013 INVITE sip:UserA@client.here.com SIP/2.0 1014 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1015 Route: 1016 Max-Forwards: 70 1017 From: LittleGuy ;tag=314159 1018 To: BigGuy ;tag=1234567 1019 Call-ID: 12345600@here.com 1020 CSeq: 1 INVITE 1021 Contact: 1022 Content-Type: application/sdp 1023 Content-Length: ... 1025 v=0 1026 o=UserB 2890844527 2890844528 IN IP4 client.there.com 1027 s=Session SDP 1028 c=IN IP4 client.there.com 1029 t=3034423619 0 1030 m=audio 3456 RTP/AVP 0 1031 a=rtpmap:0 PCMU/8000 1032 a=sendonly 1034 F11 INVITE Proxy 1 -> A 1036 INVITE sip:UserA@client.here.com SIP/2.0 1037 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1038 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1039 ;received=192.0.2.105 1040 Record-Route: 1041 Max-Forwards: 69 1042 From: LittleGuy ;tag=314159 1043 To: BigGuy ;tag=1234567 1044 Call-ID: 12345600@here.com 1045 CSeq: 1 INVITE 1046 Contact: 1047 Content-Type: application/sdp 1048 Content-Length: ... 1050 v=0 1051 o=UserB 2890844527 2890844528 IN IP4 client.there.com 1052 s=Session SDP 1053 c=IN IP4 client.there.com 1054 t=3034423619 0 1055 m=audio 3456 RTP/AVP 0 1056 a=rtpmap:0 PCMU/8000 1057 a=sendonly 1059 F12 200 OK A -> Proxy 1 1061 SIP/2.0 200 OK 1062 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1063 ;received=192.0.2.54 1064 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1065 ;received=192.0.2.105 1067 Record-Route: 1068 From: LittleGuy ;tag=314159 1069 To: BigGuy ;tag=1234567 1070 Call-ID: 12345600@here.com 1071 CSeq: 1 INVITE 1072 Contact: 1073 Content-Type: application/sdp 1074 Content-Length: ... 1076 v=0 1077 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1078 s=Session SDP 1079 c=IN IP4 client.here.com 1080 t=3034423619 0 1081 m=audio 49170 RTP/AVP 0 1082 a=rtpmap:0 PCMU/8000 1084 F13 200 OK Proxy 1 -> B 1086 SIP/2.0 200 OK 1087 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1088 ;received=192.0.2.105 1089 Record-Route: 1090 From: LittleGuy ;tag=314159 1091 To: BigGuy ;tag=1234567 1092 Call-ID: 12345600@here.com 1093 CSeq: 1 INVITE 1094 Contact: 1095 Content-Type: application/sdp 1096 Content-Length: ... 1098 v=0 1099 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1100 s=Session SDP 1101 c=IN IP4 client.here.com 1102 t=3034423619 0 1103 m=audio 49170 RTP/AVP 0 1104 a=rtpmap:0 PCMU/8000 1106 F14 ACK B -> Proxy 1 1108 ACK sip:UserA@client.here.com SIP/2.0 1109 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1110 Route: 1111 Max-Forwards: 70 1112 From: LittleGuy ;tag=314159 1113 To: BigGuy ;tag=1234567 1114 Call-ID: 12345600@here.com 1115 CSeq: 1 ACK 1116 Content-Length: 0 1117 F15 ACK Proxy 1 -> A 1119 ACK sip:UserA@client.here.com SIP/2.0 1120 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1121 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1122 ;received=192.0.2.105 1123 Max-Forwards: 69 1124 From: LittleGuy ;tag=314159 1125 To: BigGuy ;tag=1234567 1126 Call-ID: 12345600@here.com 1127 CSeq: 1 ACK 1128 Content-Length: 0 1130 F16 INVITE B -> Proxy 1 1132 INVITE sip:UserC@anywhere.com SIP/2.0 1133 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1134 Max-Forwards: 70 1135 From: LittleGuy ;tag=8675309 1136 To: OtherGuy 1137 Call-ID: 9876543210@there.com 1138 CSeq: 1 INVITE 1139 Contact: 1140 Content-Type: application/sdp 1141 Content-Length: ... 1143 v=0 1144 o=UserB 2890844834 2890844834 IN IP4 client.there.com 1145 s=Session SDP 1146 c=IN IP4 client.there.com 1147 t=3034423619 0 1148 m=audio 50170 RTP/AVP 0 1149 a=rtpmap:0 PCMU/8000 1151 F17 INVITE Proxy 1 -> C 1153 INVITE sip:UserC@client.anywhere.com SIP/2.0 1154 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1155 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1156 ;received=192.0.2.105 1157 Record-Route: 1158 Max-Forwards: 69 1159 From: LittleGuy ;tag=8675309 1160 To: OtherGuy 1161 Call-ID: 9876543210@there.com 1162 CSeq: 1 INVITE 1163 Contact: 1164 Content-Type: application/sdp 1165 Content-Length: ... 1167 v=0 1168 o=UserB 2890844834 2890844834 IN IP4 client.there.com 1169 s=Session SDP 1170 c=IN IP4 client.there.com 1171 t=3034423619 0 1172 m=audio 50170 RTP/AVP 0 1173 a=rtpmap:0 PCMU/8000 1175 F18 (100 Trying) Proxy 1 -> B 1177 SIP/2.0 100 Trying 1178 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1179 ;received=192.0.2.105 1180 From: LittleGuy ;tag=8675309 1181 To: OtherGuy 1182 Call-ID: 9876543210@there.com 1183 CSeq: 1 INVITE 1184 Content-Length: 0 1186 F19 180 Ringing C -> Proxy 1 1188 SIP/2.0 180 Ringing 1189 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1190 ;received=192.0.2.54 1191 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1192 ;received=192.0.2.105 1193 Record-Route: 1194 From: LittleGuy ;tag=8675309 1195 To: OtherGuy ;tag=456654 1196 Call-ID: 9876543210@here.com 1197 CSeq: 1 INVITE 1198 Contact: 1199 Content Length:0 1201 F20 180 Ringing Proxy 1 -> B 1203 SIP/2.0 180 Ringing 1204 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1205 ;received=client.anywhere.com 1206 Record-Route: 1207 From: LittleGuy ;tag=8675309 1208 To: OtherGuy ;tag=456654 1209 Call-ID: 9876543210@there.com 1210 CSeq: 1 INVITE 1211 Contact: 1212 Content Length: 0 1213 F21 200 OK C -> Proxy 1 1215 SIP/2.0 200 OK 1216 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1217 ;received=192.0.2.54 1218 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1219 ;received=192.0.2.105 1220 Record-Route: 1221 From: LittleGuy ;tag=8675309 1222 To: OtherGuy ;tag=456654 1223 Call-ID: 9876543210@there.com 1224 CSeq: 1 INVITE 1225 Contact: 1226 Content-Type: application/sdp 1227 Content-Length: ... 1229 v=0 1230 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 1231 s=Session SDP 1232 c=IN IP4 client.anywhere.com 1233 t=3034423619 0 1234 m=audio 3456 RTP/AVP 0 1235 a=rtpmap:0 PCMU/8000 1237 F22 200 OK Proxy 1 -> B 1239 SIP/2.0 200 OK 1240 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1241 ;received=192.0.2.105 1242 Record-Route: 1243 From: LittleGuy ;tag=8675309 1244 To: OtherGuy ;tag=456654 1245 Call-ID: 9876543210@there.com 1246 CSeq: 1 INVITE 1247 Contact: 1248 Content-Type: application/sdp 1249 Content-Length: ... 1251 v=0 1252 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 1253 s=Session SDP 1254 c=IN IP4 client.anywhere.com 1255 t=3034423619 0 1256 m=audio 3456 RTP/AVP 0 1257 a=rtpmap:0 PCMU/8000 1259 F23 ACK B -> Proxy 1 1261 ACK sip:UserC@client.anywhere.com SIP/2.0 1262 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1263 Route: 1264 Max-Forwards: 70 1265 From: LittleGuy ;tag=8675309 1266 To: OtherGuy ;tag=456654 1267 Call-ID: 9876543210@there.com 1268 CSeq: 1 ACK 1269 Content-Length: 0 1271 F24 ACK Proxy 1 -> C 1273 ACK sip:UserC@client.anywhere.com SIP/2.0 1274 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1275 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1276 ;received=192.0.2.105 1277 Max-Forwards: 69 1278 From: LittleGuy ;tag=8675309 1279 To: OtherGuy ;tag=456654 1280 Call-ID: 9876543210@there.com 1281 CSeq: 1 ACK 1282 Content-Length: 0 1284 F25 BYE B -> Proxy 1 1286 BYE sip:UserC@client.anywhere.com SIP/2.0 1287 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1288 Route: 1289 Max-Forwards: 70 1290 From: LittleGuy ;tag=8675309 1291 To: OtherGuy ;tag=456654 1292 Call-ID: 9876543210@there.com 1293 CSeq: 2 BYE 1294 Content-Length: 0 1296 F26 BYE Proxy 1 -> C 1298 BYE sip:UserC@client.anywhere.com SIP/2.0 1299 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1300 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1301 ;received=192.0.2.105 1302 Max-Forwards: 69 1303 From: LittleGuy ;tag=8675309 1304 To: OtherGuy ;tag=456654 1305 Call-ID: 9876543210@there.com 1306 CSeq: 2 BYE 1307 Content-Length: 0 1309 F27 200 OK C -> Proxy 1 1310 SIP/2.0 200 OK 1311 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1312 ;received=192.0.2.54 1313 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1314 ;received=192.0.2.105 1315 From: LittleGuy ;tag=8675309 1316 To: OtherGuy ;tag=456654 1317 Call-ID: 9876543210@there.com 1318 CSeq: 2 BYE 1319 Content-Length: 0 1321 F28 200 OK Proxy 1 -> B 1323 SIP/2.0 200 OK 1324 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1325 ;received=192.0.2.105 1326 From: LittleGuy ;tag=8675309 1327 To: OtherGuy ;tag=456654 1328 Call-ID: 9876543210@there.com 1329 CSeq: 2 BYE 1330 Content-Length: 0 1332 /* User B takes the call off hold */ 1334 F29 INVITE B -> Proxy 1 1336 INVITE sip:UserA@client.here.com SIP/2.0 1337 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1338 Route: 1339 Max-Forwards: 70 1340 From: LittleGuy ;tag=314159 1341 To: BigGuy ;tag=1234567 1342 Call-ID: 12345600@here.com 1343 CSeq: 2 INVITE 1344 Contact: 1345 Content-Type: application/sdp 1346 Content-Length: ... 1348 v=0 1349 o=UserB 2890844527 2890844529 IN IP4 client.there.com 1350 s=Session SDP 1351 c=IN IP4 client.there.com 1352 t=3034423619 0 1353 m=audio 3456 RTP/AVP 0 1354 a=rtpmap:0 PCMU/8000 1356 F30 INVITE Proxy 1 -> A 1357 INVITE sip:UserA@client.here.com SIP/2.0 1358 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1359 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1360 ;received=192.0.2.105 1361 Record-Route: 1362 Max-Forwards: 69 1363 From: LittleGuy ;tag=314159 1364 To: BigGuy ;tag=1234567 1365 Call-ID: 12345600@here.com 1366 CSeq: 2 INVITE 1367 Contact: 1368 Content-Type: application/sdp 1369 Content-Length: ... 1371 v=0 1372 o=UserB 2890844527 2890844529 IN IP4 client.there.com 1373 s=Session SDP 1374 c=IN IP4 client.there.com 1375 t=3034423619 0 1376 m=audio 3456 RTP/AVP 0 1377 a=rtpmap:0 PCMU/8000 1379 F31 200 OK A -> Proxy 1 1381 SIP/2.0 200 OK 1382 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1383 ;received=192.0.2.54 1384 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1385 ;received=192.0.2.105 1386 Record-Route: 1387 From: LittleGuy ;tag=314159 1388 To: BigGuy ;tag=1234567 1389 Call-ID: 12345600@here.com 1390 CSeq: 2 INVITE 1391 Contact: 1392 Content-Type: application/sdp 1393 Content-Length: ... 1395 v=0 1396 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1397 s=Session SDP 1398 c=IN IP4 client.here.com 1399 t=3034423619 0 1400 m=audio 49170 RTP/AVP 0 1401 a=rtpmap:0 PCMU/8000 1403 F32 200 OK Proxy 1 -> B 1405 SIP/2.0 200 OK 1406 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1407 ;received=192.0.2.105 1408 Record-Route: 1409 From: LittleGuy ;tag=314159 1410 To: BigGuy ;tag=1234567 1411 Call-ID: 12345600@here.com 1412 CSeq: 2 INVITE 1413 Contact: 1414 Content-Type: application/sdp 1415 Content-Length: ... 1417 v=0 1418 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1419 s=Session SDP 1420 c=IN IP4 client.here.com 1421 t=3034423619 0 1422 m=audio 49170 RTP/AVP 0 1423 a=rtpmap:0 PCMU/8000 1425 F33 ACK B -> Proxy 1 1427 ACK sip:UserA@client.here.com SIP/2.0 1428 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1429 Route: 1430 Max-Forwards: 70 1431 From: LittleGuy ;tag=314159 1432 To: BigGuy ;tag=1234567 1433 Call-ID: 12345600@here.com 1434 CSeq: 2 ACK 1435 Content-Length: 0 1437 F34 ACK Proxy 1 -> A 1439 ACK sip:UserA@client.here.com SIP/2.0 1440 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1441 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1442 ;received=192.0.2.105 1443 Max-Forwards: 69 1444 From: LittleGuy ;tag=314159 1445 To: BigGuy ;tag=1234567 1446 Call-ID: 12345600@here.com 1447 CSeq: 2 ACK 1448 Content-Length: 0 1450 F35 BYE A -> Proxy 1 1452 BYE sip:UserB@client.there.com SIP/2.0 1453 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1454 Route: 1455 Max-Forwards: 70 1456 From: BigGuy ;tag=1234567 1457 To: LittleGuy ;tag=314159 1458 Call-ID: 12345600@here.com 1459 CSeq: 2 BYE 1460 Content-Length: 0 1462 F36 BYE Proxy 1 -> B 1464 BYE sip:UserB@client.there.com SIP/2.0 1465 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1466 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1467 ;received=192.0.2.103 1468 Max-Forwards: 69 1469 From: BigGuy ;tag=1234567 1470 To: LittleGuy ;tag=314159 1471 Call-ID: 12345600@here.com 1472 CSeq: 2 BYE 1473 Content-Length: 0 1475 F37 200 OK B -> Proxy 1 1477 SIP/2.0 200 OK 1478 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1479 ;received=192.0.2.54 1480 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1481 ;received=192.0.2.103 1482 From: BigGuy ;tag=1234567 1483 To: LittleGuy ;tag=314159 1484 Call-ID: 12345600@here.com 1485 CSeq: 2 BYE 1486 Content-Length: 0 1488 F38 200 OK Proxy 1 -> A 1490 SIP/2.0 200 OK 1491 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1492 ;received=192.0.2.103 1493 From: BigGuy ;tag=1234567 1494 To: LittleGuy ;tag=314159 1495 Call-ID: 12345600@here.com 1496 CSeq: 2 BYE 1497 Content-Length: 0 1499 2.3 Music On Hold 1501 User A User B Music Server 1502 | | | 1503 | INVITE F1 | | 1504 |--------------->| | 1505 | 180 Ringing F2 | | 1506 |<---------------| | 1507 | 200 OK F3 | | 1508 |<---------------| | 1509 | ACK F4 | | 1510 |--------------->| | 1511 | RTP | | 1512 |<==============>| | 1513 | | | 1514 | B places A on hold with music | 1515 | | | 1516 | | INVITE no sdp F5 1517 | |------------->| 1518 | |200 OK sdpM F6| 1519 | |<-------------| 1520 |INVITE (hold) F7| | 1521 |<---------------| | 1522 | 200 OK sdpA F8 | | 1523 |--------------->| | 1524 | ACK F9 | | 1525 |<---------------| | 1526 | | ACK sdpA F10 | 1527 | |------------->| 1528 | RTP | 1529 |<==============================| 1530 | | | 1531 | B Picks up the Call | 1532 | | BYE F11 | 1533 | |------------->| 1534 | | 200 OK F12 | 1535 | |<-------------| 1536 | INVITE F13 | | 1537 |<---------------| | 1538 | 200 OK F14 | | 1539 |--------------->| | 1540 | ACK F15 | | 1541 |<---------------| | 1542 | RTP | | 1543 |<==============>| | 1545 In this flow,B places A on hold with music. This is performed by B 1546 acting as a B2BUA (Back-to-Back User Agent) using 3pcc (third party 1547 call control) [7] to INVITE a Music Server into the session, which 1548 sends RTP music to A. B picks the call up from hold by sending a BYE 1549 to the music server and taking A off of hold. 1551 Note that if A responds to the INVITE with hold SDP with hold SDP in 1552 the 200 OK, this call flow will not work properly. 1554 Note also that A will receive RTP packets from two different IP 1555 addresses during this call flow. 1557 Message Details 1559 F1 INVITE A -> B 1561 INVITE sip:UserB@there.com SIP/2.0 1562 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1563 Max-Forwards: 70 1564 From: BigGuy ;tag=1234567 1565 To: LittleGuy 1566 Call-ID: 12345600@here.com 1567 CSeq: 1 INVITE 1568 Contact: 1569 Content-Type: application/sdp 1570 Content-Length: ... 1572 v=0 1573 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1574 s=Session SDP 1575 c=IN IP4 client.here.com 1576 t=3034423619 0 1577 m=audio 49170 RTP/AVP 0 1578 a=rtpmap:0 PCMU/8000 1580 F2 180 Ringing B -> A 1582 SIP/2.0 180 Ringing 1583 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1584 ;received=192.0.2.103 1585 From: BigGuy ;tag=1234567 1586 To: LittleGuy ;tag=23431 1587 Call-ID: 12345600@here.com 1588 CSeq: 1 INVITE 1589 Contact: 1590 Content-Length: 0 1592 F3 200 OK B -> A 1594 SIP/2.0 200 OK 1595 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1596 ;received=192.0.2.103 1597 From: BigGuy ;tag=1234567 1598 To: LittleGuy ;tag=23431 1599 Call-ID: 12345600@here.com 1600 CSeq: 1 INVITE 1601 Contact: 1602 Content-Type: application/sdp 1603 Content-Length: ... 1605 v=0 1606 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1607 s=Session SDP 1608 c=IN IP4 client.there.com 1609 t=3034423619 0 1610 m=audio 3456 RTP/AVP 0 1611 a=rtpmap:0 PCMU/8000 1613 F4 ACK A -> B 1615 ACK sip:UserB@client.there.com SIP/2.0 1616 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1617 Max-Forwards: 70 1618 From: BigGuy ;tag=1234567 1619 To: LittleGuy ;tag=23431 1620 Call-ID: 12345600@here.com 1621 CSeq: 1 ACK 1622 Content-Length: 0 1624 /* User B places A on hold with music by acting as a B2BUA and 1625 sending an INVITE to the Music Server */ 1627 F5 INVITE B -> Music Server 1629 INVITE sip:music@server.com SIP/2.0 1630 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1631 Max-Forwards: 70 1632 From: LittleGuy ;tag=8675309 1633 To: Music 1634 Call-ID: sdjfdjfskdf@there.com 1635 CSeq: 1 INVITE 1636 Contact: 1637 Content-Length: 0 1639 F6 200 OK C -> B 1641 SIP/2.0 200 OK 1642 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1643 ;received=192.0.2.105 1644 From: LittleGuy ;tag=8675309 1645 To: Music ;tag=90210 1646 Call-ID: sdjfdjfskdf@there.com 1647 CSeq: 1 INVITE 1648 Contact: 1649 Content-Type: application/sdp 1650 Content-Length: ... 1652 v=0 1653 o=MusicServer 2890844576 2890844577 IN IP4 music.server.com 1654 s=Session SDP 1655 c=IN IP4 music.server.com 1656 t=3034423619 0 1657 m=audio 49170 RTP/AVP 0 1658 a=rtpmap:0 PCMU/8000 1659 a=sendonly 1661 /* B re-INVITEs A on hold */ 1663 F7 INVITE B -> A 1665 INVITE sip:UserA@client.here.com SIP/2.0 1666 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1667 To: BigGuy ;tag=1234567 1668 Max-Forwards: 70 1669 From: LittleGuy ;tag=23431 1670 Call-ID: 12345600@here.com 1671 CSeq: 1 INVITE 1672 Contact: 1673 Content-Type: application/sdp 1674 Content-Length: ... 1676 v=0 1677 o=UserB 2890844527 2890844528 IN IP4 music.server.com 1678 s=Session SDP 1679 c=IN IP4 music.server.com 1680 t=3034423619 0 1681 m=audio 49170 RTP/AVP 0 1682 a=rtpmap:0 PCMU/8000 1683 a=sendonly 1685 /* A responds with normal SDP */ 1687 F8 200 OK A -> B 1689 SIP/2.0 200 OK 1690 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1691 ;received=192.0.2.103 1692 To: BigGuy ;tag=1234567 1693 From: LittleGuy ;tag=23431 1694 Call-ID: 12345600@here.com 1695 CSeq: 1 INVITE 1696 Contact: 1697 Content-Type: application/sdp 1698 Content-Length: ... 1700 v=0 1701 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1702 s=Session SDP 1703 c=IN IP4 client.here.com 1704 t=3034423619 0 1705 m=audio 49170 RTP/AVP 0 1706 a=rtpmap:0 PCMU/8000 1708 F9 ACK B -> A 1710 ACK sip:UserA@client.here.com SIP/2.0 1711 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1712 To: BigGuy ;tag=1234567 1713 Max-Forwards: 70 1714 From: LittleGuy ;tag=23431 1715 Call-ID: 12345600@here.com 1716 CSeq: 1 ACK 1717 Content-Length: 0 1719 /* B passes SDP of A to the Music Server to allow music to be sent 1720 from B to A */ 1722 F10 ACK B -> Music Server 1724 ACK sip:music@server.com SIP/2.0 1725 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1726 Max-Forwards: 70 1727 From: LittleGuy ;tag=8675309 1728 To: Music ;tag=90210 1729 Call-ID: sdjfdjfskdf@there.com 1730 CSeq: 1 ACK 1731 Content-Type: application/sdp 1732 Content-Length: ... 1734 v=0 1735 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1736 s=Session SDP 1737 c=IN IP4 client.here.com 1738 t=3034423619 0 1739 m=audio 49170 RTP/AVP 0 1740 a=rtpmap:0 PCMU/8000 1742 /* RTP music is now sent from the Music Server to A */ 1744 /* B picks up the call from the Music Server */ 1745 F11 BYE B -> Music Server 1747 BYE sip:music@server.com SIP/2.0 1748 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1749 Max-Forwards: 70 1750 From: LittleGuy ;tag=8675309 1751 To: Music ;tag=90210 1752 Call-ID: sdjfdjfskdf@there.com 1753 CSeq: 2 BYE 1754 Content-Length: 0 1756 F12 200 OK Music Server -> B 1758 SIP/2.0 200 OK 1759 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1760 ;received=192.0.2.105 1761 From: LittleGuy ;tag=8675309 1762 To: Music ;tag=90210 1763 Call-ID: sdjfdjfskdf@there.com 1764 CSeq: 2 BYE 1765 Content-Length:0 1767 /* B re-INVITEs taking A off hold */ 1769 F13 INVITE B -> A 1771 INVITE sip:UserA@client.here.com SIP/2.0 1772 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1773 To: BigGuy ;tag=1234567 1774 Max-Forwards: 70 1775 From: LittleGuy ;tag=23431 1776 Call-ID: 12345600@here.com 1777 CSeq: 2 INVITE 1778 Contact: 1779 Content-Type: application/sdp 1780 Content-Length: ... 1782 v=0 1783 o=UserB 2890844527 2890844529 IN IP4 client.there.com 1784 s=Session SDP 1785 c=IN IP4 client.there.com 1786 t=3034423619 0 1787 m=audio 3456 RTP/AVP 0 1788 a=rtpmap:0 PCMU/8000 1790 F14 200 OK A -> B 1792 SIP/2.0 200 OK 1793 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1794 ;received=192.0.2.103 1795 To: BigGuy ;tag=1234567 1796 From: LittleGuy ;tag=23431 1797 Call-ID: 12345600@here.com 1798 CSeq: 2 INVITE 1799 Contact: 1800 Content-Type: application/sdp 1801 Content-Length: ... 1803 v=0 1804 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1805 s=Session SDP 1806 c=IN IP4 client.here.com 1807 t=3034423619 0 1808 m=audio 49170 RTP/AVP 0 1809 a=rtpmap:0 PCMU/8000 1811 F15 ACK B -> A 1813 ACK sip:UserA@client.here.com SIP/2.0 1814 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 1815 To: BigGuy ;tag=1234567 1816 Max-Forwards: 70 1817 From: LittleGuy ;tag=23431 1818 Call-ID: 12345600@here.com 1819 CSeq: 2 ACK 1820 Content-Length: 0 1822 /* Normal media session between A and B is resumed */ 1824 2.4 Unattended Transfer 1826 User A User B User C 1827 | INVITE F1 | | 1828 |<-------------------| | 1829 | 180 Ringing F2 | | 1830 |------------------->| | 1831 | 200 OK F3 | | 1832 |------------------->| | 1833 | ACK F4 | | 1834 |<-------------------| | 1835 | RTP | | 1836 |<==================>| | 1837 | | | 1838 | A performs unattended transfer | 1839 | | | 1840 | REFER Refer-To:C F5| | 1841 |------------------->| | 1842 | 202 Accepted F6 | | 1843 |<-------------------| | 1844 | NOTIFY F7 | | 1845 |<-------------------| | 1846 | 200 OK F8 | | 1847 |------------------->| | 1848 | BYE F9 | | 1849 |------------------->| | 1850 | 200 OK F10 | | 1851 |<-------------------| | 1852 | No RTP Session | INVITE Referred-By: A F11 1853 | |------------------->| 1854 | | 180 Ringing F12 | 1855 | |<-------------------| 1856 | | 200 OK F13 | 1857 | |<-------------------| 1858 | | ACK F14 | 1859 | |------------------->| 1860 | | RTP | 1861 | |<==================>| 1862 | NOTIFY F14 | | 1863 |<-------------------| | 1864 | 200 OK F15 | | 1865 |------------------->| | 1866 | | | 1868 User B call User A. User A then transfers User B to User C, then 1869 User A disconnects with User B. User B establishes the session to C 1870 then reports the success back to A in the NOTIFY. If the transfer 1871 fails, User B can send a new INVITE back to A to re-establish the 1872 session. 1874 Note that the BYE could be sent by A after the NOTIFY. Also, if A 1875 has flushed all state information, the NOTIFY may receive a 481 Call 1876 Leg Does Not Exist. 1878 Message Details 1880 F1 INVITE B -> A 1882 INVITE sip:UserA@here.com SIP/2.0 1883 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1884 Max-Forwards: 70 1885 From: LittleGuy ;tag=314159 1886 To: BigGuy 1887 Call-ID: 12345601@here.com 1888 CSeq: 1 INVITE 1889 Contact: 1890 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1891 Supported: replaces 1892 Content-Type: application/sdp 1893 Content-Length: ... 1895 v=0 1896 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1897 s=Session SDP 1898 c=IN IP4 client.there.com 1899 t=3034423619 0 1900 m=audio 3456 RTP/AVP 0 1901 a=rtpmap:0 PCMU/8000 1903 F2 180 Ringing A -> B 1905 SIP/2.0 180 Ringing 1906 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1907 ;received=192.0.2.113 1908 From: LittleGuy ;tag=314159 1909 To: BigGuy ;tag=1234567 1910 Call-ID: 12345601@here.com 1911 CSeq: 1 INVITE 1912 Contact: 1913 Content-Length: 0 1915 F3 200 OK A -> B 1917 SIP/2.0 200 OK 1918 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1919 ;received=192.0.2.113 1920 From: LittleGuy ;tag=314159 1921 To: BigGuy ;tag=1234567 1922 Call-ID: 12345601@here.com 1923 CSeq: 1 INVITE 1924 Contact: 1925 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1926 Supported: replaces 1927 Content-Type: application/sdp 1928 Content-Length: ... 1930 v=0 1931 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1932 s=Session SDP 1933 c=IN IP4 client.here.com 1934 t=3034423619 0 1935 m=audio 49170 RTP/AVP 0 1936 a=rtpmap:0 PCMU/8000 1938 F4 ACK B -> A 1940 ACK sip:UserA@client.here.com SIP/2.0 1941 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1942 Max-Forwards: 70 1943 From: LittleGuy ;tag=314159 1944 To: BigGuy ;tag=1234567 1945 Call-ID: 12345601@here.com 1946 CSeq: 1 ACK 1947 Content-Length: 0 1949 /* Session is established between A and B. */ 1951 /* A peforms unattended transfer of B to C */ 1953 F5 REFER A -> B 1955 REFER sip:UserB@client.there.com SIP/2.0 1956 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1957 Max-Forwards: 70 1958 From: BigGuy ;tag=1234567 1959 To: LittleGuy ;tag=314159 1960 Call-ID: 12345601@here.com 1961 CSeq: 2 REFER 1962 Refer-To: 1963 Referred-By: 1964 Contact: 1965 Content-Length: 0 1967 F6 202 Accepted B -> A 1969 SIP/2.0 202 Accepted 1970 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1971 ;received=192.0.2.113 1972 From: BigGuy ;tag=1234567 1973 To: LittleGuy ;tag=314159 1974 Call-ID: 12345601@here.com 1975 CSeq: 2 REFER 1976 Content-Length: 0 1978 F7 NOTIFY B -> A 1980 NOTIFY sip:UserA@client.here.com SIP/2.0 1981 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1982 Max-Forwards: 70 1983 From: LittleGuy ;tag=314159 1984 To: BigGuy ;tag=1234567 1985 Call-ID: 12345601@here.com 1986 CSeq: 2 NOTIFY 1987 Event: refer 1988 Subscription-State: active;expires=60 1989 Content-Type: message/sipfrag 1990 Content-Length: ... 1992 SIP/2.0 100 Trying 1994 F8 200 OK A -> B 1996 SIP/2.0 200 OK 1997 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 1998 ;received=192.0.2.113 1999 From: LittleGuy ;tag=314159 2000 To: BigGuy ;tag=1234567 2001 Call-ID: 12345601@here.com 2002 CSeq: 2 NOTIFY 2003 Content-Length: 0 2005 /* A now disconnects with B */ 2007 F9 BYE A -> B 2009 BYE sip:UserB@client.there.com SIP/2.0 2010 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2011 Max-Forwards: 70 2012 From: BigGuy ;tag=1234567 2013 To: LittleGuy ;tag=314159 2014 Call-ID: 12345601@here.com 2015 CSeq: 3 BYE 2016 Content-Length: 0 2017 F10 200 OK B -> A 2019 SIP/2.0 200 OK 2020 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2021 ;received=192.0.2.105 2022 From: BigGuy ;tag=1234567 2023 To: LittleGuy ;tag=314159 2024 Call-ID: 12345601@here.com 2025 CSeq: 3 BYE 2026 Content-Length: 0 2028 /* B attempts the transfer to C */ 2030 F11 INVITE B -> C 2032 INVITE sip:UserC@anywhere.com SIP/2.0 2033 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2034 Max-Forwards: 70 2035 From: LittleGuy ;tag=8675309 2036 To: OtherGuy 2037 Call-ID: 7436222@here.com 2038 CSeq: 1 INVITE 2039 Contact: 2040 Referred-By: 2041 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2042 Supported: replaces 2043 Content-Type: application/sdp 2044 Content-Length: ... 2046 v=0 2047 o=UserB 2890844539 2890844539 IN IP4 client.there.com 2048 s=Session SDP 2049 c=IN IP4 client.there.com 2050 t=3034423821 0 2051 m=audio 3458 RTP/AVP 0 2052 a=rtpmap:0 PCMU/8000 2054 F12 180 Ringing C -> B 2056 SIP/2.0 180 Ringing 2057 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2058 ;received=192.0.2.113 2059 From: LittleGuy ;tag=8675309 2060 To: OtherGuy ;tag=928287 2061 Call-ID: 7436222@here.com 2062 CSeq: 1 INVITE 2063 Contact: 2064 Content-Length: 0 2065 F13 200 OK C -> B 2067 SIP/2.0 200 OK 2068 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2069 ;received=192.0.2.113 2070 From: LittleGuy ;tag=8675309 2071 To: OtherGuy ;tag=928287 2072 Call-ID: 7436222@here.com 2073 CSeq: 1 INVITE 2074 Contact: 2075 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2076 Supported: replaces 2077 Content-Type: application/sdp 2078 Content-Length: ... 2080 v=0 2081 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com 2082 s=Session SDP 2083 c=IN IP4 client.anywhere.com 2084 t=3034423619 0 2085 m=audio 3456 RTP/AVP 0 2086 a=rtpmap:0 PCMU/8000 2088 F14 ACK B -> C 2090 ACK sip:UserC@client.anywhere.com SIP/2.0 2091 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2092 Max-Forwards: 70 2093 From: LittleGuy ;tag=8675309 2094 To: OtherGuy ;tag=928287 2095 Call-ID: 7436222@here.com 2096 CSeq: 1 ACK 2097 Content-Length: 0 2099 /* B and C now have established a session. B reports success to A 2100 which A probably ignores. */ 2102 F15 NOTIFY B -> A 2104 NOTIFY sip:UserA@client.here.com SIP/2.0 2105 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2106 Max-Forwards: 70 2107 From: LittleGuy ;tag=314159 2108 To: BigGuy ;tag=1234567 2109 Call-ID: 12345601@here.com 2110 CSeq: 3 NOTIFY 2111 Event: refer 2112 Subscription-State: terminated;reason=noresource 2113 Content-Type: message/sipfrag 2114 Content-Length: ... 2116 SIP/2.0 200 OK 2117 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2118 ;received=192.0.2.113 2119 From: LittleGuy ;tag=8675309 2120 To: OtherGuy ;tag=928287 2121 Call-ID: 7436222@here.com 2122 CSeq: 1 INVITE 2123 Contact: 2124 Content-Type: application/sdp 2125 Content-Length: ... 2127 F16 200 OK A -> B 2129 SIP/2.0 200 OK 2130 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2131 ;received=192.0.2.113 2132 From: LittleGuy ;tag=314159 2133 To: BigGuy ;tag=1234567 2134 Call-ID: 12345601@here.com 2135 CSeq: 3 NOTIFY 2136 Content-Length: 0 2138 2.5 Attended Transfer 2140 User A User B User C 2141 | | | 2142 | INVITE F1 | | 2143 |--------------->| | 2144 | 180 Ringing F2 | | 2145 |<---------------| | 2146 | 200 OK F3 | | 2147 |<---------------| | 2148 | ACK F4 | | 2149 |--------------->| | 2150 | RTP | | 2151 |<==============>| | 2152 |INVITE (hold) F5| | 2153 |<---------------| | 2154 | 200 OK F6 | | 2155 |--------------->| | 2156 | ACK F7 | | 2157 |<---------------| | 2158 | No RTP | | 2159 | | INVITE F8 | 2160 | |------------->| 2161 | | 180 Ringing F9 2162 | |<-------------| 2163 | | 200 OK F10 | 2164 | |<-------------| 2165 | | ACK F11 | 2166 | |------------->| 2167 | | RTP | 2168 | |<============>| 2169 | |INVITE (hold) F12 2170 | |------------->| 2171 | | 200 OK F13 | 2172 | |<-------------| 2173 | | ACK F14 | 2174 | |------------->| 2175 | | No RTP | 2176 | REFER Refer-To: C F15 | 2177 |<---------------| | 2178 |202 Accepted F16| | 2179 |--------------->| | 2180 | NOTIFY F17 | | 2181 |--------------->| | 2182 | 200 OK F18 | | 2183 |<---------------| | 2184 | INVITE Replaces: B F19 | 2185 |------------------------------>| 2186 | 200 OK F20 | 2187 |<------------------------------| 2188 | ACK F21 | 2189 |------------------------------>| 2190 | RTP | 2191 |<=============================>| 2192 | | BYE F22 | 2193 | |<-------------| 2194 | | 200 OK F23 | 2195 | |------------->| 2196 | NOTIFY F24 | | 2197 |--------------->| | 2198 | 200 OK F25 | | 2199 |<---------------| | 2200 | BYE F26 | | 2201 |<---------------| | 2202 | 200 OK F27 | | 2203 |--------------->| | 2205 User A calls User B. User B puts User A on hold then calls User C to 2206 announce transfer, then places C on hold. User B transfers User A to 2207 User C which replaces the session between B and C. C then 2208 disconnects session with B. A reports success of transfer to B, who 2209 then disconnects with A. In this example, the Replaces header [5] is 2210 inserted into the Refer-To URL by B. Note that the Refer-To URI is 2211 the Contact URI returned by C in the 200 OK response F10. This 2212 ensures that only the correct instance of User C is reached. If the 2213 triggered INVITE had failed, B would have retried the REFER with a 2214 Refer-To URI of the URI used to reach User C but with a Require: 2215 replaces header escaped in the Refer-To header field, as discussed in 2216 [9]. 2218 Message Details 2220 F1 INVITE A -> B 2222 INVITE sip:UserB@there.com SIP/2.0 2223 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2224 Max-Forwards: 70 2225 From: BigGuy ;tag=1234567 2226 To: LittleGuy 2227 Call-ID: 12345600@here.com 2228 CSeq: 1 INVITE 2229 Contact: 2230 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2231 Supported: replaces 2232 Content-Type: application/sdp 2233 Content-Length: ... 2235 v=0 2236 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2237 s=Session SDP 2238 c=IN IP4 client.here.com 2239 t=3034423619 0 2240 m=audio 49170 RTP/AVP 0 2241 a=rtpmap:0 PCMU/8000 2243 F2 180 Ringing B -> A 2245 SIP/2.0 180 Ringing 2246 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2247 ;received=192.0.2.103 2248 From: BigGuy ;tag=1234567 2249 To: LittleGuy ;tag=23431 2250 Call-ID: 12345600@here.com 2251 CSeq: 1 INVITE 2252 Contact: 2253 Content-Length: 0 2255 F3 200 OK B -> A 2257 SIP/2.0 200 OK 2258 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2259 ;received=192.0.2.103 2260 From: BigGuy ;tag=1234567 2261 To: LittleGuy ;tag=23431 2262 Call-ID: 12345600@here.com 2263 CSeq: 1 INVITE 2264 Contact: 2265 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2266 Supported: replaces 2267 Content-Type: application/sdp 2268 Content-Length: ... 2270 v=0 2271 o=UserB 2890844527 2890844527 IN IP4 client.there.com 2272 s=Session SDP 2273 c=IN IP4 client.there.com 2274 t=3034423619 0 2275 m=audio 3456 RTP/AVP 0 2276 a=rtpmap:0 PCMU/8000 2278 F4 ACK A -> B 2280 ACK sip:UserB@client.there.com SIP/2.0 2281 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2282 Max-Forwards: 70 2283 From: BigGuy ;tag=1234567 2284 To: LittleGuy ;tag=23431 2285 Call-ID: 12345600@here.com 2286 CSeq: 1 ACK 2287 Content-Length: 0 2288 /* User A and User B have established a session. User B puts User A 2289 on Hold */ 2291 F5 INVITE B -> A 2293 INVITE sip:UserA@client.here.com SIP/2.0 2294 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2295 Max-Forwards: 70 2296 From: LittleGuy ;tag=23431 2297 To: BigGuy ;tag=1234567 2298 Call-ID: 12345600@here.com 2299 CSeq: 1024 INVITE 2300 Contact: 2301 Content-Type: application/sdp 2302 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2303 Supported: replaces 2304 Content-Length: ... 2306 v=0 2307 o=UserB 2890844527 2890844528 IN IP4 client.there.com 2308 s=Session SDP 2309 c=IN IP4 client.there.com 2310 t=3034423619 0 2311 m=audio 3456 RTP/AVP 0 2312 a=rtpmap:0 PCMU/8000 2313 a=sendonly 2315 F6 200 OK A -> B 2317 SIP/2.0 200 OK 2318 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2319 ;received=192.0.2.113 2320 From: LittleGuy ;tag=23431 2321 To: BigGuy ;tag=1234567 2322 Call-ID: 12345600@here.com 2323 CSeq: 1024 INVITE 2324 Contact: 2325 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2326 Supported: replaces 2327 Content-Type: application/sdp 2328 Content-Length: ... 2330 v=0 2331 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2332 s=Session SDP 2333 c=IN IP4 client.here.com 2334 t=3034423619 0 2335 m=audio 49170 RTP/AVP 0 2336 a=rtpmap:0 PCMU/8000 2337 F7 ACK B -> A 2339 ACK sip:UserA@client.here.com SIP/2.0 2340 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2341 Max-Forwards: 70 2342 From: LittleGuy ;tag=23431 2343 To: BigGuy ;tag=1234567 2344 Call-ID: 12345600@here.com 2345 CSeq: 1024 ACK 2346 Content-Length: 0 2348 /* User B calls User C */ 2350 F8 INVITE B -> C 2352 INVITE sip:UserC@anywhere.com SIP/2.0 2353 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2354 Max-Forwards: 70 2355 From: LittleGuy ;tag=8675309 2356 To: OtherGuy 2357 Call-ID: sdjfdjfskdf@there.com 2358 CSeq: 42 INVITE 2359 Contact: 2360 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2361 Supported: replaces 2362 Content-Type: application/sdp 2363 Content-Length: ... 2365 v=0 2366 o=UserB 28908445834 2890844834 IN IP4 client.there.com 2367 s=Session SDP 2368 c=IN IP4 client.there.com 2369 t=3034423645 0 2370 m=audio 3458 RTP/AVP 0 2371 a=rtpmap:0 PCMU/8000 2373 F9 180 Ringing C -> B 2375 SIP/2.0 180 Ringing 2376 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2377 ;received=192.0.2.113 2378 From: LittleGuy ;tag=8675309 2379 To: OtherGuy ;tag=5f35a3 2380 Call-ID: sdjfdjfskdf@there.com 2381 CSeq: 42 INVITE 2382 Contact: 2383 Content-Length: 0 2384 F10 200 OK C -> B 2386 SIP/2.0 200 OK 2387 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2388 ;received=192.0.2.113 2389 From: LittleGuy ;tag=8675309 2390 To: OtherGuy ;tag=5f35a3 2391 Call-ID: sdjfdjfskdf@there.com 2392 CSeq: 42 INVITE 2393 Contact: 2394 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2395 Supported: replaces 2396 Content-Type: application/sdp 2397 Content-Length: ... 2399 v=0 2400 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 2401 s=Session SDP 2402 c=IN IP4 client.anywhere.com 2403 t=3034423619 0 2404 m=audio 3456 RTP/AVP 0 2405 a=rtpmap:0 PCMU/8000 2407 F11 ACK B -> C 2409 ACK sip:UserC@client.anywhere.com SIP/2.0 2410 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2411 Max-Forwards: 70 2412 From: LittleGuy ;tag=8675309 2413 To: OtherGuy ;tag=5f35a3 2414 Call-ID: sdjfdjfskdf@there.com 2415 CSeq: 42 ACK 2416 Content-Length: 0 2418 /* User B puts User C on hold */ 2420 F12 INVITE B -> C 2422 INVITE sip:UserC@client.anywhere.com SIP/2.0 2423 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2424 Max-Forwards: 70 2425 From: LittleGuy ;tag=8675309 2426 To: OtherGuy ;tag=5f35a3 2427 Call-ID: sdjfdjfskdf@there.com 2428 CSeq: 43 INVITE 2429 Contact: 2430 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2431 Supported: replaces 2432 Content-Type: application/sdp 2433 Content-Length: ... 2435 v=0 2436 o=UserB 289084834 2890844835 IN IP4 client.there.com 2437 s=Session SDP 2438 c=IN IP4 client.there.com 2439 t=3034423645 0 2440 m=audio 3458 RTP/AVP 0 2441 a=rtpmap:0 PCMU/8000 2442 a=sendonly 2444 F13 200 OK C -> B 2446 SIP/2.0 200 OK 2447 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2448 ;received=192.0.2.113 2449 From: LittleGuy ;tag=8675309 2450 To: OtherGuy ;tag=5f35a3 2451 Call-ID: sdjfdjfskdf@there.com 2452 CSeq: 43 INVITE 2453 Contact: 2454 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2455 Supported: replaces 2456 Content-Type: application/sdp 2457 Content-Length: ... 2459 v=0 2460 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 2461 s=Session SDP 2462 c=IN IP4 client.anywhere.com 2463 t=3034423619 0 2464 m=audio 3456 RTP/AVP 0 2465 a=rtpmap:0 PCMU/8000 2467 F14 ACK B -> C 2469 ACK sip:UserC@client.anywhere.com SIP/2.0 2470 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2471 Max-Forwards: 70 2472 From: LittleGuy ;tag=8675309 2473 To: OtherGuy ;tag=5f35a3 2474 Call-ID: sdjfdjfskdf@there.com 2475 CSeq: 43 ACK 2476 Content-Length: 0 2478 /* User B Transfers User A to User C. */ 2480 F15 REFER B -> A 2482 REFER sip:UserA@client.here.com SIP/2.0 2483 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2484 Max-Forwards: 70 2485 From: LittleGuy ;tag=23431 2486 To: BigGuy ;tag=1234567 2487 Call-ID: 12345678900@here.com 2488 CSeq: 1025 REFER 2489 Refer-To: 2491 Referred-By: 2492 Contact: 2493 Content-Length: 0 2495 F16 202 Accepted A -> B 2497 SIP/2.0 202 Accepted 2498 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2499 ;received=192.0.2.113 2500 From: LittleGuy ;tag=1234567 2501 To: BigGuy ;tag=23431 2502 Call-ID: 12345678900@here.com 2503 CSeq: 1025 REFER 2504 Content-Length: 0 2506 F17 NOTIFY A -> B 2508 NOTIFY sip:UserB@client.there.com SIP/2.0 2509 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2510 Max-Forwards: 70 2511 From: BigGuy ;tag=1234567 2512 To: LittleGuy ;tag=23431 2513 Call-ID: 12345678900@here.com 2514 CSeq: 2 NOTIFY 2515 Event: refer 2516 Subscription-State: active;expires=60 2517 Content-Type: message/sipfrag 2518 Content-Length: ... 2520 SIP/2.0 100 Trying 2522 F18 200 OK B -> C 2524 SIP/2.0 200 OK 2525 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2526 ;received=192.0.2.103 2527 To: LittleGuy ;tag=1234567 2528 From: OtherGuy ;tag=5f35a3 2529 Call-ID: 12345678900@here.com 2530 CSeq: 2 NOTIFY 2531 Content-Length: 0 2532 /* User A establishes session with User C which replaces the session 2533 between User B and User C */ 2535 F19 INVITE A -> C 2537 INVITE sip:UserC@client.anywhere.com SIP/2.0 2538 Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKadfe4ko 2539 To: OtherGuy 2540 Max-Forwards: 70 2541 From: BigGuy ;tag=3461 2542 Call-ID: 9435674543@here.com 2543 CSeq: 1 INVITE 2544 Referred-By: 2545 Replaces: 12345600@here.com;to-tag=23431;from-tag=8675309 2546 Contact: 2547 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2548 Supported: replaces 2549 Content-Type: application/sdp 2550 Content-Length: ... 2552 v=0 2553 o=UserA 2890844989 2890844989 IN IP4 client.here.com 2554 s=Session SDP 2555 c=IN IP4 client.here.com 2556 t=3034423643 0 2557 m=audio 3458 RTP/AVP 0 2558 a=rtpmap:0 PCMU/8000 2560 F20 200 OK C -> A 2562 SIP/2.0 200 OK 2563 Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKadfe4ko 2564 ;received=192.0.2.123 2565 To: OtherGuy ;tag=ff3a 2566 From: BigGuy ;tag=3461 2567 Call-ID: 9435674543@here.com 2568 CSeq: 1 INVITE 2569 Contact: 2570 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2571 Supported: replaces 2572 Content-Type: application/sdp 2573 Content-Length: ... 2575 v=0 2576 o=UserA 2890844221 2890844221 IN IP4 client.anywhere.com 2577 s=Session SDP 2578 c=IN IP4 client.anywhere.com 2579 t=3034423452 0 2580 m=audio 49172 RTP/AVP 0 2581 a=rtpmap:0 PCMU/8000 2582 F21 ACK A -> C 2584 ACK sip:UserC@client.anywhere.com SIP/2.0 2585 Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKadfe4ko 2586 To: OtherGuy ;tag=ff3a 2587 Max-Forwards: 70 2588 From: BigGuy ;tag=3461 2589 Call-ID: 9435674543@here.com 2590 CSeq: 1 INVITE 2591 Content-Length: 0 2593 /* User C then disconnects from User B */ 2595 F22 BYE C -> B 2597 BYE sip:UserB@client.there.com SIP/2.0 2598 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2599 To: LittleGuy ;tag=8675309 2600 Max-Forwards: 70 2601 From: OtherGuy ;tag=5f35a3 2602 Call-ID: sdjfdjfskdf@there.com 2603 CSeq: 1 BYE 2604 Content-Length: 0 2606 F23 200 OK B -> C 2608 SIP/2.0 200 OK 2609 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2610 ;received=192.0.2.103 2611 To: LittleGuy ;tag=8675309 2612 From: OtherGuy ;tag=5f35a3 2613 Call-ID: sdjfdjfskdf@there.com 2614 CSeq: 1 BYE 2615 Content-Length: 0 2617 /* User A tells User B that the call has been successfully 2618 transferred */ 2620 F24 NOTIFY A -> B 2622 NOTIFY sip:UserB@client.there.com SIP/2.0 2623 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2624 Max-Forwards: 70 2625 From: BigGuy ;tag=1234567 2626 To: LittleGuy ;tag=23431 2627 Call-ID: 12345678900@here.com 2628 CSeq: 3 NOTIFY 2629 Event: refer 2630 Subscription-State: terminated;reason=noresource 2631 Content-Type: message/sipfrag 2632 Content-Length: ... 2634 SIP/2.0 200 OK 2635 Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKadfe4ko 2636 ;received=192.0.2.123 2637 From: OtherGuy ;tag=ff3a 2638 To: BigGuy ;tag=3461 2639 Call-ID: 9435674543@anywhere.com 2640 CSeq: 1 INVITE 2641 Contact: 2643 F25 200 OK B -> C 2645 SIP/2.0 200 OK 2646 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2647 ;received=192.0.2.103 2648 To: LittleGuy ;tag=1234567 2649 From: OtherGuy ;tag=5f35a3 2650 Call-ID: 12345678900@here.com 2651 CSeq: 3 NOTIFY 2652 Content-Length: 0 2654 /* User B disconnects with User A */ 2656 F26 BYE B -> A 2658 BYE sip:UserA@client.here.com SIP/2.0 2659 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2660 Max-Forwards: 70 2661 From: LittleGuy ;tag=23431 2662 To: BigGuy ;tag=1234567 2663 Call-ID: 12345678900@here.com 2664 CSeq: 1026 BYE 2665 Content-Length: 0 2667 F27 200 OK A -> B 2669 SIP/2.0 200 OK 2670 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 2671 ;received=192.0.2.113 2672 From: LittleGuy ;tag=23431 2673 To: BigGuy ;tag=1234567 2674 Call-ID: 12345678900@here.com 2675 CSeq: 1026 BYE 2676 Content-Length: 0 2678 2.6 Call Forwarding Unconditional 2680 User A Proxy Gateway 2681 | | | 2682 | INVITE F1 | | 2683 |--------------->| INVITE F2 | 2684 |(100 Trying) F3 |------------->| 2685 |<---------------|180 Ringing F4| 2686 | 180 Ringing F5 |<-------------| 2687 |<---------------| 200 OK F6 | 2688 | 200 OK F7 |<-------------| 2689 |<---------------| | 2690 | ACK F8 | | 2691 |--------------->| ACK F9 | 2692 | |------------->| 2693 | Both way RTP Established | 2694 |<=============================>| 2695 | BYE F10 | | 2696 |--------------->| BYE F11 | 2697 | |------------->| 2698 | | 200 OK F12 | 2699 | 200 OK F13 |<-------------| 2700 |<---------------| | 2701 | | | 2703 User B wants all calls forwarded to the PSTN. User A calls User B. 2704 The Proxy server rewrites the request URI, and forwards the INVITE to 2705 a Gateway. Details of messaging behind the Gateway are not shown. 2707 Message Details 2709 F1 INVITE A -> Proxy 2711 INVITE sip:UserB@there.com SIP/2.0 2712 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2713 Max-Forwards: 70 2714 From: BigGuy ;tag=1234567 2715 To: LittleGuy 2716 Call-ID: 12345600@here.com 2717 CSeq: 1 INVITE 2718 Contact: 2719 Content-Type: application/sdp 2720 Content-Length: ... 2722 v=0 2723 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2724 s=Session SDP 2725 c=IN IP4 client.here.com 2726 t=3034423619 0 2727 m=audio 49170 RTP/AVP 0 2728 a=rtpmap:0 PCMU/8000 2730 /* Proxy forwards call by rewriting Request-URI */ 2732 F2 INVITE Proxy -> Gateway 2734 INVITE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2735 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2736 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2737 ;received=192.0.2.103 2738 Record-Route: 2739 Max-Forwards: 69 2740 From: BigGuy ;tag=1234567 2741 To: LittleGuy 2742 Call-ID: 12345600@here.com 2743 CSeq: 1 INVITE 2744 Contact: 2745 Content-Type: application/sdp 2746 Content-Length: ... 2748 v=0 2749 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2750 s=Session SDP 2751 c=IN IP4 client.here.com 2752 t=3034423619 0 2753 m=audio 49170 RTP/AVP 0 2754 a=rtpmap:0 PCMU/8000 2756 F3 (100 Trying) Proxy -> A 2758 SIP/2.0 100 Trying 2759 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2760 ;received=192.0.2.103 2761 From: BigGuy ;tag=1234567 2762 To: LittleGuy 2763 Call-ID: 12345600@here.com 2764 CSeq: 1 INVITE 2765 Content-Length: 0 2767 F4 180 Ringing Gateway -> Proxy 2769 SIP/2.0 180 Ringing 2770 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2771 ;received=192.0.2.54 2772 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2773 ;received=192.0.2.103 2774 Record-Route: 2775 From: BigGuy ;tag=1234567 2776 To: LittleGuy ;tag=314159 2777 Call-ID: 12345600@here.com 2778 CSeq: 1 INVITE 2779 Contact: 2780 Content Length:0 2782 F5 180 Ringing Proxy -> A 2784 SIP/2.0 180 Ringing 2785 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2786 ;received=192.0.2.103 2787 Record-Route: 2788 From: BigGuy ;tag=1234567 2789 To: LittleGuy ;tag=314159 2790 Call-ID: 12345600@here.com 2791 CSeq: 1 INVITE 2792 Contact: 2793 Content Length: 0 2795 F6 200 OK Gateway -> Proxy 2797 SIP/2.0 200 OK 2798 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2799 ;received=192.0.2.54 2800 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2801 ;received=192.0.2.103 2802 Record-Route: 2803 From: BigGuy ;tag=1234567 2804 To: LittleGuy ;tag=314159 2805 Call-ID: 12345600@here.com 2806 CSeq: 1 INVITE 2807 Contact: 2808 Content-Type: application/sdp 2809 Content-Length: ... 2811 v=0 2812 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 2813 s=Session SDP 2814 c=IN IP4 gatewayone.wcom.com 2815 t=0 0 2816 m=audio 3456 RTP/AVP 0 2817 a=rtpmap:0 PCMU/8000 2819 F7 200 OK Proxy -> A 2821 SIP/2.0 200 OK 2822 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2823 ;received=192.0.2.103 2825 Record-Route: 2826 From: BigGuy ;tag=1234567 2827 To: LittleGuy ;tag=314159 2828 Call-ID: 12345600@here.com 2829 CSeq: 1 INVITE 2830 Contact: 2831 Content-Type: application/sdp 2832 Content-Length: ... 2834 v=0 2835 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 2836 s=Session SDP 2837 c=IN IP4 gatewayone.wcom.com 2838 t=0 0 2839 m=audio 3456 RTP/AVP 0 2840 a=rtpmap:0 PCMU/8000 2842 F8 ACK A -> Proxy 2844 ACK sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2845 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2846 Route: 2847 Max-Forwards: 70 2848 From: BigGuy ;tag=1234567 2849 To: LittleGuy ;tag=314159 2850 Call-ID: 12345600@here.com 2851 CSeq: 1 ACK 2852 Content-Length: 0 2854 F9 ACK Proxy -> Gateway 2856 ACK sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2857 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2858 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2859 ;received=192.0.2.103 2860 Max-Forwards: 69 2861 From: BigGuy ;tag=1234567 2862 To: LittleGuy ;tag=314159 2863 Call-ID: 12345600@here.com 2864 CSeq: 1 ACK 2865 Content-Length: 0 2867 F10 BYE A -> Proxy 1 2869 BYE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2870 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2871 Route: 2872 Max-Forwards: 70 2873 From: BigGuy ;tag=1234567 2874 To: LittleGuy ;tag=314159 2875 Call-ID: 12345600@here.com 2876 CSeq: 2 BYE 2877 Content-Length: 0 2879 F11 BYE Proxy 1 -> Gateway 2881 BYE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2882 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2883 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2884 ;received=192.0.2.103 2885 Max-Forwards: 69 2886 From: BigGuy ;tag=1234567 2887 To: LittleGuy ;tag=314159 2888 Call-ID: 12345600@here.com 2889 CSeq: 2 BYE 2890 Content-Length: 0 2892 F12 200 OK Gateway -> Proxy 1 2894 SIP/2.0 200 OK 2895 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2896 ;received=192.0.2.54 2897 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2898 ;received=192.0.2.103 2899 From: BigGuy ;tag=1234567 2900 To: LittleGuy ;tag=314159 2901 Call-ID: 12345600@here.com 2902 CSeq: 2 BYE 2903 Content-Length: 0 2905 F13 200 OK Proxy 1 -> A 2907 SIP/2.0 200 OK 2908 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2909 ;received=192.0.2.103 2910 From: BigGuy ;tag=1234567 2911 To: LittleGuy ;tag=314159 2912 Call-ID: 12345600@here.com 2913 CSeq: 2 BYE 2914 Content-Length: 0 2916 2.7 Call Forwarding - Busy 2918 User A Proxy User B1 User B2 2919 | | | | 2920 | INVITE F1 | | | 2921 |--------------->| INVITE F2 | | 2922 | |------------->| | 2923 |(100 Trying) F3 | | | 2924 |<---------------| 486 Busy F4 | | 2925 | |<-------------| | 2926 | | ACK F5 | | 2927 | |------------->| | 2928 | | | INVITE F6 | 2929 | |--------------------------------->| 2930 | | | 180 Ringing F7 | 2931 | |<---------------------------------| 2932 | 180 Ringing F8 | | | 2933 |<---------------| | 200 OK F9 | 2934 | |<---------------------------------| 2935 | 200 OK F10 | | | 2936 |<---------------| | | 2937 | ACK F11 | | | 2938 |--------------->| | ACK F12 | 2939 | |--------------------------------->| 2940 | Both way RTP Established | 2941 |<=================================================>| 2942 | BYE F13 | | | 2943 |--------------->| | BYE F14 | 2944 | |--------------------------------->| 2945 | | | 200 OK F15 | 2946 | 200 OK F16 |<---------------------------------| 2947 |<---------------| | | 2948 | | | | 2950 User B wants calls to B1 forwarded to B2 if B1 is busy (this 2951 information is known to the proxy). User A calls B1, B1 is busy, the 2952 proxy server places call to B2. 2954 Message Details 2956 F1 INVITE A -> Proxy 2958 INVITE sip:UserB@there.com SIP/2.0 2959 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2960 Max-Forwards: 70 2961 From: BigGuy ;tag=1234567 2962 To: LittleGuy 2963 Call-ID: 12345600@here.com 2964 CSeq: 1 INVITE 2965 Contact: 2966 Content-Type: application/sdp 2967 Content-Length: ... 2969 v=0 2970 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2971 s=Session SDP 2972 c=IN IP4 client.here.com 2973 t=0 0 2974 m=audio 49170 RTP/AVP 0 2975 a=rtpmap:0 PCMU/8000 2977 F2 INVITE Proxy -> B1 2979 INVITE sip:UserB@client.there.com SIP/2.0 2980 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2981 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 2982 ;received=192.0.2.103 2983 Record-Route: 2984 Max-Forwards: 69 2985 From: BigGuy ;tag=1234567 2986 To: LittleGuy 2987 Call-ID: 12345600@here.com 2988 CSeq: 1 INVITE 2989 Contact: 2990 Content-Type: application/sdp 2991 Content-Length: ... 2993 v=0 2994 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2995 s=Session SDP 2996 c=IN IP4 client.here.com 2997 t=0 0 2998 m=audio 49170 RTP/AVP 0 2999 a=rtpmap:0 PCMU/8000 3001 F3 (100 Trying) Proxy -> A 3003 SIP/2.0 100 Trying 3004 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3005 ;received=192.0.2.103 3006 From: BigGuy ;tag=1234567 3007 To: LittleGuy 3008 Call-ID: 12345600@here.com 3009 CSeq: 1 INVITE 3010 Content-Length: 0 3012 F4 486 Busy Here B1 -> Proxy 3014 SIP/2.0 486 Busy Here 3015 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3016 ;received=192.0.2.54 3017 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3018 ;received=192.0.2.103 3019 From: BigGuy ;tag=1234567 3020 To: LittleGuy ;tag=765432 3021 Call-ID: 12345600@here.com 3022 CSeq: 1 INVITE 3023 Content-Length: 0 3025 F5 ACK Proxy -> B1 3027 ACK sip:UserB@client.there.com SIP/2.0 3028 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3029 Max-Forwards: 70 3030 From: BigGuy ;tag=1234567 3031 To: LittleGuy ;tag=765432 3032 Call-ID: 12345600@here.com 3033 CSeq: 1 ACK 3034 Content-Length: 0 3036 /* The proxy now forwards the call to B2 */ 3038 F6 INVITE Proxy -> B2 3040 INVITE sip:UserB2@client2.there.com SIP/2.0 3041 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3042 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3043 ;received=192.0.2.103 3044 Record-Route: 3045 Max-Forwards: 69 3046 From: BigGuy ;tag=1234567 3047 To: LittleGuy 3048 Call-ID: 12345600@here.com 3049 CSeq: 1 INVITE 3050 Contact: 3051 Content-Type: application/sdp 3052 Content-Length: ... 3054 v=0 3055 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3056 s=Session SDP 3057 c=IN IP4 client.here.com 3058 t=0 0 3059 m=audio 49170 RTP/AVP 0 3060 a=rtpmap:0 PCMU/8000 3062 F7 180 Ringing B2 -> Proxy 3063 SIP/2.0 180 Ringing 3064 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3065 ;received=192.0.2.54 3066 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3067 ;received=192.0.2.103 3068 Record-Route: 3069 From: BigGuy ;tag=1234567 3070 To: LittleGuy ;tag=7654321 3071 Call-ID: 12345600@here.com 3072 CSeq: 1 INVITE 3073 Contact: 3074 Content-Length: 0 3076 F8 180 Ringing Proxy -> A 3078 SIP/2.0 180 Ringing 3079 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3080 ;received=192.0.2.103 3081 Record-Route: 3082 From: BigGuy ;tag=1234567 3083 To: LittleGuy ;tag=7654321 3084 Call-ID: 12345600@here.com 3085 CSeq: 1 INVITE 3086 Contact: 3087 Content-Length: 0 3089 F9 200 OK B2 -> Proxy 3091 SIP/2.0 200 OK 3092 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3093 ;received=192.0.2.54 3094 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3095 ;received=192.0.2.103 3096 Record-Route: 3097 From: BigGuy ;tag=1234567 3098 To: LittleGuy ;tag=7654321 3099 Call-ID: 12345600@here.com 3100 CSeq: 1 INVITE 3101 Contact: 3102 Content-Type: application/sdp 3103 Content-Length: ... 3105 v=0 3106 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 3107 s=Session SDP 3108 c=IN IP4 client2.there.com 3109 t=0 0 3110 m=audio 3456 RTP/AVP 0 3111 a=rtpmap:0 PCMU/8000 3112 F10 200 OK Proxy -> A 3114 SIP/2.0 200 OK 3115 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3116 ;received=192.0.2.103 3117 Record-Route: 3118 From: BigGuy ;tag=1234567 3119 To: LittleGuy ;tag=7654321 3120 Call-ID: 12345600@here.com 3121 CSeq: 1 INVITE 3122 Contact: 3123 Content-Type: application/sdp 3124 Content-Length: ... 3126 v=0 3127 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 3128 s=Session SDP 3129 c=IN IP4 client2.there.com 3130 t=0 0 3131 m=audio 3456 RTP/AVP 0 3132 a=rtpmap:0 PCMU/8000 3134 F11 ACK A -> Proxy 3136 ACK sip:UserB2@client2.there.com SIP/2.0 3137 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3138 Route: 3139 Max-Forwards: 70 3140 From: BigGuy ;tag=1234567 3141 To: LittleGuy ;tag=7654321 3142 Call-ID: 12345600@here.com 3143 CSeq: 1 ACK 3144 Content-Length: 0 3146 F12 ACK Proxy -> B2 3148 ACK sip:UserB2@client2.there.com SIP/2.0 3149 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3150 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3151 ;received=192.0.2.103 3152 Max-Forwards: 69 3153 From: BigGuy ;tag=1234567 3154 To: LittleGuy ;tag=7654321 3155 Call-ID: 12345600@here.com 3156 CSeq: 1 ACK 3157 Content-Length: 0 3159 /* RTP streams are established between A and B2 */ 3160 /* User A eventually hangs up with User B2. */ 3162 F13 BYE A -> Proxy 3164 BYE sip:UserB2@client2.there.com SIP/2.0 3165 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3166 Route: 3167 Max-Forwards: 70 3168 From: BigGuy ;tag=1234567 3169 To: LittleGuy ;tag=7654321 3170 Call-ID: 12345600@here.com 3171 CSeq: 2 BYE 3172 Content-Length: 0 3174 F14 BYE Proxy -> B2 3176 BYE sip:UserB2@client2.there.com SIP/2.0 3177 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3178 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3179 ;received=192.0.2.103 3180 Max-Forwards: 69 3181 From: BigGuy ;tag=1234567 3182 To: LittleGuy ;tag=7654321 3183 Call-ID: 12345600@here.com 3184 CSeq: 2 BYE 3185 Content-Length: 0 3187 F15 200 OK B2 -> Proxy 3189 SIP/2.0 200 OK 3190 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3191 ;received=192.0.2.54 3192 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3193 ;received=192.0.2.103 3194 From: BigGuy ;tag=1234567 3195 To: LittleGuy ;tag=7654321 3196 Call-ID: 12345600@here.com 3197 CSeq: 2 BYE 3198 Content-Length: 0 3200 F16 200 OK Proxy -> A 3202 SIP/2.0 200 OK 3203 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3204 ;received=192.0.2.103 3205 From: BigGuy ;tag=1234567 3206 To: LittleGuy ;tag=7654321 3207 Call-ID: 12345600@here.com 3208 CSeq: 2 BYE 3209 Content-Length: 0 3211 2.8 Call Forwarding - No Answer 3213 User A Proxy User B1 User B2 3214 | | | | 3215 | INVITE F1 | | | 3216 |--------------->| INVITE F2 | | 3217 |(100 Trying) F3 |------------->| | 3218 |<---------------|180 Ringing F4| | 3219 | 180 Ringing F5 |<-------------| | 3220 |<---------------| | | 3221 | Request Timeout | 3222 | | | | 3223 | | CANCEL F6 | | 3224 | |------------->| | 3225 | | 200 OK F7 | | 3226 | |<-------------| | 3227 | | 487 F8 | | 3228 | |<-------------| | 3229 | | ACK F9 | | 3230 | |------------->| | 3231 | | | INVITE F10 | 3232 | |--------------------------------->| 3233 | | | 180 Ringing F11 | 3234 | 180 Ringing F12|<---------------------------------| 3235 |<---------------| | 200 OK F13 | 3236 | |<---------------------------------| 3237 | 200 OK F14 | | | 3238 |<---------------| | | 3239 | ACK F15 | | | 3240 |--------------->| | ACK F16 | 3241 | |--------------------------------->| 3242 | Both way RTP Established | 3243 |<=================================================>| 3244 | BYE F17 | | | 3245 |--------------->| | BYE F18 | 3246 | |--------------------------------->| 3247 | | | 200 OK F19 | 3248 | 200 OK F20 |<---------------------------------| 3249 |<---------------| | | 3250 | | | | 3252 User B wants calls to B1 forwarded to B2 if B1 is not answered 3253 (information is known to the proxy server). User A calls B1 and no 3254 one answers. The proxy server then places the call to B2. 3256 Message Details 3258 F1 INVITE A -> Proxy 3260 INVITE sip:UserB@there.com SIP/2.0 3261 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3262 Max-Forwards: 70 3263 From: BigGuy ;tag=1234567 3264 To: LittleGuy 3265 Call-ID: 12345600@here.com 3266 CSeq: 1 INVITE 3267 Contact: 3268 Content-Type: application/sdp 3269 Content-Length: ... 3271 v=0 3272 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3273 s=Session SDP 3274 c=IN IP4 client.here.com 3275 t=0 0 3276 m=audio 49170 RTP/AVP 0 3277 a=rtpmap:0 PCMU/8000 3279 F2 INVITE Proxy -> B1 3281 INVITE sip:UserB1@client.there.com SIP/2.0 3282 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3283 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3284 ;received=192.0.2.103 3285 Record-Route: 3286 Max-Forwards: 69 3287 From: BigGuy ;tag=1234567 3288 To: LittleGuy 3289 Call-ID: 12345600@here.com 3290 CSeq: 1 INVITE 3291 Contact: 3292 Content-Type: application/sdp 3293 Content-Length: ... 3295 v=0 3296 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3297 s=Session SDP 3298 c=IN IP4 client.here.com 3299 t=0 0 3300 m=audio 49170 RTP/AVP 0 3301 a=rtpmap:0 PCMU/8000 3303 F3 (100 Trying) Proxy -> A 3305 SIP/2.0 100 Trying 3306 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3307 ;received=192.0.2.103 3308 From: BigGuy ;tag=1234567 3309 To: LittleGuy 3310 Call-ID: 12345600@here.com 3311 CSeq: 1 INVITE 3312 Content-Length: 0 3314 F4 180 Ringing B1 -> Proxy 3316 SIP/2.0 180 Ringing 3317 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3318 ;received=192.0.2.54 3319 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3320 ;received=192.0.2.103 3321 Record-Route: 3322 From: BigGuy ;tag=1234567 3323 To: LittleGuy ;tag=3145678 3324 Call-ID: 12345600@here.com 3325 CSeq: 1 INVITE 3326 Contact: 3327 Content-Length: 0 3329 F5 180 Ringing Proxy -> A 3331 SIP/2.0 180 Ringing 3332 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3333 ;received=192.0.2.103 3334 Record-Route: 3335 From: BigGuy ;tag=1234567 3336 To: LittleGuy ;tag=3145678 3337 Call-ID: 12345600@here.com 3338 CSeq: 1 INVITE 3339 Contact: 3340 Content-Length: 0 3342 /* B1 rings until a configurable timer expires in the Proxy. The 3343 Proxy sends Cancel and proceeds down the list of routes. */ 3345 F6 CANCEL Proxy -> B1 3347 CANCEL sip:UserB1@client.there.com SIP/2.0 3348 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3349 Max-Forwards: 70 3350 From: BigGuy 3351 To: LittleGuy 3352 Call-ID: 12345600@here.com 3353 CSeq: 1 CANCEL 3354 Content-Length: 0 3356 F7 200 OK B1 -> Proxy 3358 SIP/2.0 200 OK 3359 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3360 ;received=192.0.2.54 3361 From: BigGuy 3362 To: LittleGuy 3363 Call-ID: 12345600@here.com 3364 CSeq: 1 CANCEL 3365 Content-Length: 0 3367 F8 487 Request Terminated B1 -> Proxy 3369 SIP/2.0 487 Request Terminated 3370 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3371 ;received=192.0.2.54 3372 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3373 ;received=192.0.2.103 3374 From: BigGuy ;tag=1234567 3375 To: LittleGuy ;tag=3145678 3376 Call-ID: 12345600@here.com 3377 CSeq: 1 INVITE 3378 Content-Length: 0 3380 F9 ACK Proxy -> B1 3382 ACK sip:UserB@client.there.com SIP/2.0 3383 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3384 Max-Forwards: 70 3385 From: BigGuy ;tag=1234567 3386 To: LittleGuy ;tag=3145678 3387 Call-ID: 12345600@here.com 3388 CSeq: 1 ACK 3389 Content-Length: 0 3391 F10 INVITE Proxy -> B2 3393 INVITE sip:UserB2@client2.there.com SIP/2.0 3394 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3395 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3396 ;received=192.0.2.103 3397 Record-Route: 3398 Max-Forwards: 69 3399 From: BigGuy ;tag=1234567 3400 To: LittleGuy 3401 Call-ID: 12345600@here.com 3402 CSeq: 1 INVITE 3403 Contact: 3404 Content-Type: application/sdp 3405 Content-Length: ... 3407 v=0 3408 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3409 s=Session SDP 3410 c=IN IP4 client.here.com 3411 t=0 0 3412 m=audio 49170 RTP/AVP 0 3413 a=rtpmap:0 PCMU/8000 3415 F11 180 Ringing B2 -> Proxy 3417 SIP/2.0 180 Ringing 3418 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3419 ;received=192.0.2.54 3420 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3421 ;received=192.0.2.103 3422 Record-Route: 3423 From: BigGuy ;tag=1234567 3424 To: LittleGuy ;tag=765432 3425 Call-ID: 12345600@here.com 3426 CSeq: 1 INVITE 3427 Contact: 3428 Content-Length: 0 3430 F12 180 Proxy -> A 3432 SIP/2.0 180 Ringing 3433 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3434 ;received=192.0.2.103 3435 Record-Route: 3436 From: BigGuy ;tag=1234567 3437 To: LittleGuy ;tag=765432 3438 Call-ID: 12345600@here.com 3439 CSeq: 1 INVITE 3440 Contact: 3441 Content-Length: 0 3443 F13 200 OK B2 -> Proxy 3445 SIP/2.0 200 OK 3446 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3447 ;received=192.0.2.54 3448 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3449 ;received=192.0.2.103 3450 Record-Route: 3451 From: BigGuy ;tag=1234567 3452 To: LittleGuy ;tag=765432 3453 Call-ID: 12345600@here.com 3454 CSeq: 1 INVITE 3455 Contact: 3456 Content-Type: application/sdp 3457 Content-Length: ... 3459 v=0 3460 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 3461 s=Session SDP 3462 c=IN IP4 client2.there.com 3463 t=0 0 3464 m=audio 3456 RTP/AVP 0 3465 a=rtpmap:0 PCMU/8000 3467 F14 200 OK Proxy -> A 3469 SIP/2.0 200 OK 3470 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3471 ;received=192.0.2.103 3472 Record-Route: 3473 From: BigGuy ;tag=1234567 3474 To: LittleGuy ;tag=765432 3475 Call-ID: 12345600@here.com 3476 CSeq: 1 INVITE 3477 Contact: 3478 Content-Type: application/sdp 3479 Content-Length: ... 3481 v=0 3482 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 3483 s=Session SDP 3484 c=IN IP4 client2.there.com 3485 t=0 0 3486 m=audio 3456 RTP/AVP 0 3487 a=rtpmap:0 PCMU/8000 3489 F15 ACK A -> Proxy 3491 ACK sip:UserB2@client2.there.com SIP/2.0 3492 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3493 Route: 3494 Max-Forwards: 70 3495 From: BigGuy ;tag=1234567 3496 To: LittleGuy ;tag=765432 3497 Call-ID: 12345600@here.com 3498 CSeq: 1 ACK 3499 Content-Length: 0 3501 F16 ACK Proxy -> B2 3503 ACK sip:UserB2@client2.there.com SIP/2.0 3504 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3505 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3506 ;received=192.0.2.103 3507 Max-Forwards: 69 3508 From: BigGuy ;tag=1234567 3509 To: LittleGuy ;tag=765432 3510 Call-ID: 12345600@here.com 3511 CSeq: 1 ACK 3512 Content-Length: 0 3514 /* RTP streams are established between A and B2. User A Hangs Up 3515 with User B2. */ 3517 F17 BYE A -> Proxy 3519 BYE sip:UserB2@client2.there.com SIP/2.0 3520 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3521 Route: 3522 Max-Forwards: 70 3523 From: BigGuy ;tag=1234567 3524 To: LittleGuy ;tag=765432 3525 Call-ID: 12345600@here.com 3526 CSeq: 2 BYE 3527 Content-Length: 0 3529 F18 BYE Proxy -> B2 3531 BYE sip:UserB2@client2.there.com SIP/2.0 3532 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3533 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3534 ;received=192.0.2.103 3535 Max-Forwards: 69 3536 From: BigGuy ;tag=1234567 3537 To: LittleGuy ;tag=765432 3538 Call-ID: 12345600@here.com 3539 CSeq: 2 BYE 3540 Content-Length: 0 3542 F19 200 OK B2 -> Proxy 3544 SIP/2.0 200 OK 3545 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3546 ;received=192.0.2.54 3547 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3548 ;received=192.0.2.103 3549 From: BigGuy ;tag=1234567 3550 To: LittleGuy ;tag=765432 3551 Call-ID: 12345600@here.com 3552 CSeq: 2 BYE 3553 Content-Length: 0 3554 F20 200 OK Proxy -> A 3556 SIP/2.0 200 OK 3557 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3558 ;received=192.0.2.103 3559 From: BigGuy ;tag=1234567 3560 To: LittleGuy ;tag=765432 3561 Call-ID: 12345600@here.com 3562 CSeq: 2 BYE 3563 Content-Length: 0 3565 2.9 3-way Conference � Third Party is Added 3567 User A User B User C 3568 | INVITE F1 | | 3569 |--------------->| | 3570 | 180 Ringing F2 | | 3571 |<---------------| | 3572 | 200 OK F3 | | 3573 |<---------------| | 3574 | ACK F4 | | 3575 |--------------->| | 3576 | RTP | | 3577 |<==============>| | 3578 | INVITE F5 | | 3579 |<---------------| | 3580 | 200 OK F6 | | 3581 |--------------->| | 3582 | ACK F7 | | 3583 |<---------------| INVITE F8 | 3584 | |------------->| 3585 | | 180 F9 | 3586 | |<-------------| 3587 | | 200 OK F10 | 3588 | |<-------------| 3589 | | ACK F11 | 3590 | |------------->| 3591 | | RTP | 3592 | |<============>| 3594 In this scenario, A and B are in a 2-party call (session) when B 3595 wishes to add C into the conversation. B is capable of media mixing 3596 in a 3-party call. B first sends a re-INVITE to A changing Contact 3597 URIs to one that indicates A's mixer. B then INVITEs C using the 3598 same Contact URI. 3600 Message Details 3602 F1 INVITE A -> B 3604 INVITE sip:UserB@there.com SIP/2.0 3605 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3606 Max-Forwards: 70 3607 From: BigGuy ;tag=1234567 3608 To: LittleGuy 3609 Call-ID: 12345600@here.com 3610 CSeq: 1 INVITE 3611 Contact: 3612 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3613 Supported: replaces 3614 Content-Type: application/sdp 3615 Content-Length: ... 3617 v=0 3618 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3619 s=Session SDP 3620 c=IN IP4 client.here.com 3621 t=3034423619 0 3622 m=audio 49170 RTP/AVP 0 3623 a=rtpmap:0 PCMU/8000 3625 F2 180 Ringing B -> A 3627 SIP/2.0 180 Ringing 3628 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3629 ;received=192.0.2.103 3630 From: BigGuy ;tag=1234567 3631 To: LittleGuy ;tag=23431 3632 Call-ID: 12345600@here.com 3633 CSeq: 1 INVITE 3634 Contact: 3635 Content-Length: 0 3637 F3 200 OK B -> A 3639 SIP/2.0 200 OK 3640 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3641 ;received=192.0.2.103 3642 From: BigGuy ;tag=1234567 3643 To: LittleGuy ;tag=23431 3644 Call-ID: 12345600@here.com 3645 CSeq: 1 INVITE 3646 Contact: 3647 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3648 Supported: replaces 3649 Content-Type: application/sdp 3650 Content-Length: ... 3652 v=0 3653 o=UserB 2890844527 2890844527 IN IP4 client.there.com 3654 s=Session SDP 3655 c=IN IP4 client.there.com 3656 t=3034423619 0 3657 m=audio 3456 RTP/AVP 0 3658 a=rtpmap:0 PCMU/8000 3660 F4 ACK A -> B 3661 ACK sip:UserB@client.there.com SIP/2.0 3662 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3663 Max-Forwards: 70 3664 From: BigGuy ;tag=1234567 3665 To: LittleGuy ;tag=23431 3666 Call-ID: 12345600@here.com 3667 CSeq: 1 ACK 3668 Content-Length: 0 3670 /* User A and User B have established a session. User B re-INVITEs 3671 changing Contact URIs */ 3673 F5 INVITE B -> A 3675 INVITE sip:UserA@client.here.com SIP/2.0 3676 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 3677 Max-Forwards: 70 3678 From: LittleGuy ;tag=23431 3679 To: BigGuy ;tag=1234567 3680 Call-ID: 12345600@here.com 3681 CSeq: 1024 INVITE 3682 Contact: 3683 Content-Type: application/sdp 3684 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3685 Supported: replaces 3686 Content-Length: ... 3688 v=0 3689 o=UserB 2890844527 2890844528 IN IP4 client.there.com 3690 s=Session SDP 3691 c=IN IP4 client.there.com 3692 t=3034423619 0 3693 m=audio 49172 RTP/AVP 0 3694 a=rtpmap:0 PCMU/8000 3695 a=sendonly 3697 F6 200 OK A -> B 3699 SIP/2.0 200 OK 3700 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 3701 ;received=192.0.2.113 3702 From: LittleGuy ;tag=23431 3703 To: BigGuy ;tag=1234567 3704 Call-ID: 12345600@here.com 3705 CSeq: 1024 INVITE 3706 Contact: 3707 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3708 Supported: replaces 3709 Content-Type: application/sdp 3710 Content-Length: ... 3712 v=0 3713 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3714 s=Session SDP 3715 c=IN IP4 client.here.com 3716 t=3034423619 0 3717 m=audio 49170 RTP/AVP 0 3718 a=rtpmap:0 PCMU/8000 3720 F7 ACK B -> A 3722 ACK sip:UserA@client.here.com SIP/2.0 3723 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 3724 Max-Forwards: 70 3725 From: LittleGuy ;tag=23431 3726 To: BigGuy ;tag=1234567 3727 Call-ID: 12345600@here.com 3728 CSeq: 1024 ACK 3729 Content-Length: 0 3731 /* User B calls C */ 3733 F8 INVITE B -> C 3735 INVITE sip:UserC@anywhere.com SIP/2.0 3736 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 3737 Max-Forwards: 70 3738 From: LittleGuy ;tag=8675309 3739 To: OtherGuy 3740 Call-ID: sdjfdjfskdf@there.com 3741 CSeq: 42 INVITE 3742 Contact: 3743 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3744 Supported: replaces 3745 Content-Type: application/sdp 3746 Content-Length: ... 3748 v=0 3749 o=UserB 28908445834 2890844834 IN IP4 client.there.com 3750 s=Session SDP 3751 c=IN IP4 client.there.com 3752 t=3034423645 0 3753 m=audio 48174 RTP/AVP 0 3754 a=rtpmap:0 PCMU/8000 3756 F9 180 Ringing C -> B 3758 SIP/2.0 200 OK 3759 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 3760 ;received=192.0.2.113 3761 From: LittleGuy ;tag=8675309 3762 To: OtherGuy ;tag=341313 3763 Call-ID: sdjfdjfskdf@there.com 3764 CSeq: 42 INVITE 3765 Contact: 3766 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3767 Supported: replaces 3768 Content-Length: 0 3770 F10 200 OK C -> B 3772 SIP/2.0 200 OK 3773 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 3774 ;received=192.0.2.113 3775 From: LittleGuy ;tag=8675309 3776 To: OtherGuy ;tag=341313 3777 Call-ID: sdjfdjfskdf@there.com 3778 CSeq: 42 INVITE 3779 Contact: 3780 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3781 Supported: replaces 3782 Content-Type: application/sdp 3783 Content-Length: ... 3785 v=0 3786 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 3787 s=Session SDP 3788 c=IN IP4 client.anywhere.com 3789 t=3034423619 0 3790 m=audio 3456 RTP/AVP 0 3791 a=rtpmap:0 PCMU/8000 3793 F11 ACK B -> C 3795 ACK sip:UserC@client.anywhere.com SIP/2.0 3796 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 3797 Max-Forwards: 70 3798 From: LittleGuy ;tag=8675309 3799 To: OtherGuy ;tag=341313 3800 Call-ID: sdjfdjfskdf@there.com 3801 CSeq: 42 ACK 3802 Content-Length: 0 3804 /* User B's mixer know mixes media from both A and C to create the 3- 3805 way conference. */ 3807 2.10 3808 3-way Conference � Third Party Joins 3810 User A User B User C 3811 | INVITE F1 | | 3812 |--------------->| | 3813 | 180 Ringing F2 | | 3814 |<---------------| | 3815 | 200 OK F3 | | 3816 |<---------------| | 3817 | ACK F4 | | 3818 |--------------->| | 3819 | RTP | | 3820 |<==============>| INVITE Join:A-B F5 3821 | |<-------------| 3822 | | 180 F6 | 3823 | |------------->| 3824 | INVITE F7 | | 3825 |<---------------| | 3826 | 200 OK F8 | | 3827 |--------------->| | 3828 | ACK F9 | | 3829 |<---------------| | 3830 | | 200 OK F10 | 3831 | |------------->| 3832 | | ACK F11 | 3833 | |<-------------| 3834 | | RTP | 3835 | |<============>| 3837 In this scenario, A and B are in a 2 party call and C wishes to join 3838 resulting in a three party call. C could have learned B�s conference 3839 URI using some non-SIP means, or possibly from a NOTIFY with the 3840 dialog package sent by B. C sends an INVITE to B containing a Join 3841 header identifying the dialog between A and B. B re-INVITEs A to 3842 switch to B's mixer then accepts the INVITE from C, resulting in the 3843 3-way call. 3845 Message Details 3847 F1 INVITE A -> B 3849 INVITE sip:UserB@there.com SIP/2.0 3850 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3851 Max-Forwards: 70 3852 From: BigGuy ;tag=1234567 3853 To: LittleGuy 3854 Call-ID: 12345600@here.com 3855 CSeq: 1 INVITE 3856 Contact: 3857 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3858 Supported: replaces 3859 Content-Type: application/sdp 3860 Content-Length: ... 3862 v=0 3863 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3864 s=Session SDP 3865 c=IN IP4 client.here.com 3866 t=3034423619 0 3867 m=audio 49170 RTP/AVP 0 3868 a=rtpmap:0 PCMU/8000 3870 F2 180 Ringing B -> A 3872 SIP/2.0 180 Ringing 3873 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3874 ;received=192.0.2.103 3875 From: BigGuy ;tag=1234567 3876 To: LittleGuy ;tag=23431 3877 Call-ID: 12345600@here.com 3878 CSeq: 1 INVITE 3879 Contact: 3880 Content-Length: 0 3882 F3 200 OK B -> A 3884 SIP/2.0 200 OK 3885 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3886 ;received=192.0.2.103 3887 From: BigGuy ;tag=1234567 3888 To: LittleGuy ;tag=23431 3889 Call-ID: 12345600@here.com 3890 CSeq: 1 INVITE 3891 Contact: 3892 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3893 Supported: replaces, join 3894 Content-Type: application/sdp 3895 Content-Length: ... 3897 v=0 3898 o=UserB 2890844527 2890844527 IN IP4 client.there.com 3899 s=Session SDP 3900 c=IN IP4 client.there.com 3901 t=3034423619 0 3902 m=audio 3456 RTP/AVP 0 3903 a=rtpmap:0 PCMU/8000 3904 F4 ACK A -> B 3906 ACK sip:UserB@client.there.com SIP/2.0 3907 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 3908 Max-Forwards: 70 3909 From: BigGuy ;tag=1234567 3910 To: LittleGuy ;tag=23431 3911 Call-ID: 12345600@here.com 3912 CSeq: 1 ACK 3913 Content-Length: 0 3915 /* User A and User B have established a session. User C requests to 3916 join the session */ 3918 F5 INVITE C -> B 3920 INVITE sip:UserB@there.com SIP/2.0 3921 Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKnashds7 3922 Max-Forwards: 70 3923 From: OtherGuy ;tag=8675309 3924 To: LittleGuy 3925 Call-ID: 452k499sk@anywhere.com 3926 CSeq: 99 INVITE 3927 Contact: 3928 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3929 Supported: replaces, join 3930 Join: 12345600@here.com;from-tag=1234567;to-tag=23431 3931 Content-Type: application/sdp 3932 Content-Length: ... 3934 v=0 3935 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 3936 s=Session SDP 3937 c=IN IP4 client.anywhere.com 3938 t=3034423619 0 3939 m=audio 3456 RTP/AVP 0 3940 a=rtpmap:0 PCMU/8000 3942 F6 180 Ringing C -> B 3944 SIP/2.0 200 OK 3945 Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKnashds7 3946 ;received=192.0.2.120 3947 From: OtherGuy ;tag=8675309 3948 To: LittleGuy ;tag=0982 3949 Call-ID: 452k499sk@anywhere.com 3950 CSeq: 99 INVITE 3951 Contact: 3952 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3953 Supported: replaces 3954 Content-Length: 0 3956 F7 INVITE B -> A 3958 INVITE sip:UserA@client.here.com SIP/2.0 3959 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 3960 Max-Forwards: 70 3961 From: LittleGuy ;tag=23431 3962 To: BigGuy ;tag=1234567 3963 Call-ID: 12345600@here.com 3964 CSeq: 1024 INVITE 3965 Contact: 3966 Content-Type: application/sdp 3967 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3968 Supported: replaces 3969 Content-Length: ... 3971 v=0 3972 o=UserB 2890844527 2890844528 IN IP4 client.there.com 3973 s=Session SDP 3974 c=IN IP4 client.there.com 3975 t=3034423619 0 3976 m=audio 49172 RTP/AVP 0 3977 a=rtpmap:0 PCMU/8000 3978 a=sendonly 3980 F8 200 OK A -> B 3982 SIP/2.0 200 OK 3983 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 3984 ;received=192.0.2.113 3985 From: LittleGuy ;tag=23431 3986 To: BigGuy ;tag=1234567 3987 Call-ID: 12345600@here.com 3988 CSeq: 1024 INVITE 3989 Contact: 3990 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3991 Supported: replaces 3992 Content-Type: application/sdp 3993 Content-Length: ... 3995 v=0 3996 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3997 s=Session SDP 3998 c=IN IP4 client.here.com 3999 t=3034423619 0 4000 m=audio 49170 RTP/AVP 0 4001 a=rtpmap:0 PCMU/8000 4003 F9 ACK B -> A 4005 ACK sip:UserA@client.here.com SIP/2.0 4006 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 4007 Max-Forwards: 70 4008 From: LittleGuy ;tag=23431 4009 To: BigGuy ;tag=1234567 4010 Call-ID: 12345600@here.com 4011 CSeq: 1024 ACK 4012 Content-Length: 0 4014 F10 200 OK C -> B 4016 SIP/2.0 200 OK 4017 Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKnashds7 4018 ;received=192.0.2.120 4019 From: OtherGuy ;tag=8675309 4020 To: LittleGuy ;tag=0982 4021 Call-ID: 452k499sk@anywhere.com 4022 CSeq: 99 INVITE 4023 Contact: 4024 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4025 Supported: replaces 4026 Content-Type: application/sdp 4027 Content-Length: ... 4029 v=0 4030 o=UserB 28908445834 2890844834 IN IP4 client.there.com 4031 s=Session SDP 4032 c=IN IP4 client.there.com 4033 t=3034423645 0 4034 m=audio 48174 RTP/AVP 0 4035 a=rtpmap:0 PCMU/8000 4037 F11 ACK OK B -> C 4039 ACK sip:UserB@there.com SIP/2.0 4040 Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bKnashds7 4041 Max-Forwards: 70 4042 From: OtherGuy ;tag=8675309 4043 To: LittleGuy ;tag=0982 4044 Call-ID: 452k499sk@anywhere.com 4045 CSeq: 99 ACK 4046 Content-Length:0 4048 2.11 Single Line Extension 4050 User A Forking Proxy User User User 4051 B1 B2 B3 4052 | | | | | 4053 | INVITE F1 | | | | 4054 |--------------->| INVITE F2 | | | 4055 | |------------->| | | 4056 | | INVITE F3 | | 4057 | |-------------------->| | 4058 | | INVITE F4 | | 4059 | |--------------------------->| 4060 | 100 Trying F5 | | | | 4061 |<---------------|180 Ringing F6| | | 4062 | |<-------------| | | 4063 | 180 Ringing F7 | | | | 4064 |<---------------| | | | 4065 | | 480 Not Logged In F8| | 4066 | |<--------------------| | 4067 | | ACK F9 | | 4068 | |-------------------->| | 4069 | | 180 Ringing F10 | 4070 | 180 F11 |<---------------------------| 4071 |<---------------| 200 OK F12 | 4072 | 200 OK F13 |<---------------------------| 4073 |<---------------| | | | 4074 | | CANCEL 14 | | | 4075 | |------------->| | | 4076 | | 200 OK F15 | | | 4077 | |<-------------| | | 4078 | | 487 F16 | | | 4079 | |<-------------| | | 4080 | | ACK F17 | | | 4081 | |------------->| | | 4082 | ACK F18 | | | | 4083 |--------------->| ACK F19 | | 4084 | |--------------------------->| 4085 | Both way RTP Established | 4086 |<===========================================>| 4087 | | NOTIFY F20 | 4088 | |<---------------------------| 4089 | | NOTIFY F21 | | | 4090 | |------------->| | | 4091 | | NOTIFY F22 | | 4092 | |-------------------->| | 4093 | | NOTIFY F23 | | 4094 | |--------------------------->| 4095 | | 200 OK F24 | | | 4096 | |<-------------| | | 4097 | | 200 OK F25 | 4098 | |--------------------------->| 4099 | | 200 OK F26 | | 4100 | |<--------------------| | 4101 | | 482 Loop Detected F27 | 4102 | |<---------------------------| 4103 | | | 4104 | User B2 wants to join the call | 4105 | | | 4106 | | INVITE Join:A-B3 F28 | 4107 | |<--------------------| | 4108 | | INVITE Join: A-B3 F29 | 4109 | |------------->| | | 4110 | | INVITE Join: A-B3 F30 | 4111 | |-------------------->| | 4112 | | INVITE Join: A-B3 F31 4113 | |--------------------------->| 4114 | | 100 Trying F32 | | 4115 | |-------------------->| | 4116 | | 481 Dialog Does Not Exist F33 4117 | |<-------------| | | 4118 | | ACK F34 | | | 4119 | |------------->| | | 4120 | | 482 Loop Detected F35 | 4121 | |<--------------------| | 4122 | | ACK F36 | | 4123 | |-------------------->| | 4124 | | 200 OK F37 | 4125 | |<---------------------------| 4126 | | 200 OK F38 | | 4127 | |-------------------->| | 4128 | | |ACK F39 4129 | | |----->| 4130 | | Both way RTP Established 4131 | | |<====>| B3 mixes RTP 4132 | | | | 4134 In Single Line Extension a call will ring several extensions at the 4135 same time (forking). The extension to answer the call becomes the 4136 active set. If other extensions pick up, the call becomes a 4137 conference call. 4139 In this flow, A calls B which results in the INVITE being forked to 4140 three devices, B1, B2, and B3. B3 answers the call and is connected 4141 to A. B3 sends a NOTIFY containing the dialog information to B, 4142 which is forked to B1 and B2. A user at B2 wishes to join the call 4143 and sends an INVITE with a Join header field to B to request this. 4144 This INVITE is forked and is accepted by B3 who then performs the 4145 mixing function. 4147 Note that if B3 is not capable of mixing the media, B3 would transfer 4148 both A and B2 to a conferencing bridge which would perform the 4149 mixing. 4151 The use of SUBSCRIBE and NOTIFY is defined in [11] while the dialog 4152 Event package is defined in [10]. 4154 Message Details 4156 F1 INVITE A -> Proxy 4158 INVITE sip:UserB@there.com SIP/2.0 4159 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4160 Max-Forwards: 70 4161 From: BigGuy ;tag=1234567 4162 To: LittleGuy 4163 Call-ID: 12345600@here.com 4164 CSeq: 1 INVITE 4165 Contact: 4166 Content-Type: application/sdp 4167 Content-Length: ... 4169 v=0 4170 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4171 s=Session SDP 4172 c=IN IP4 client.here.com 4173 t= 0 0 4174 m=audio 49170 RTP/AVP 0 4175 a=rtpmap:0 PCMU/8000 4177 F2 INVITE Proxy -> B1 4179 INVITE sip:UserB@client.there.com SIP/2.0 4180 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4181 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4182 ;received=192.0.2.103 4183 Max-Forwards: 69 4184 From: BigGuy ;tag=1234567 4185 To: LittleGuy 4186 Call-ID: 12345600@here.com 4187 CSeq: 1 INVITE 4188 Contact: 4189 Content-Type: application/sdp 4190 Content-Length: ... 4192 v=0 4193 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4194 s=Session SDP 4195 c=IN IP4 client.here.com 4196 t= 0 0 4197 m=audio 49170 RTP/AVP 0 4198 a=rtpmap:0 PCMU/8000 4199 F3 INVITE Proxy -> B2 4201 INVITE sip:UserB2@client2.there.com SIP/2.0 4202 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 4203 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4204 ;received=192.0.2.103 4205 Max-Forwards: 69 4206 From: BigGuy ;tag=1234567 4207 To: LittleGuy 4208 Call-ID: 12345600@here.com 4209 CSeq: 1 INVITE 4210 Contact: 4211 Content-Type: application/sdp 4212 Content-Length: ... 4214 v=0 4215 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4216 s=Session SDP 4217 c=IN IP4 client.here.com 4218 t=0 0 4219 m=audio 49170 RTP/AVP 0 4220 a=rtpmap:0 PCMU/8000 4222 F4 INVITE Proxy -> B3 4224 INVITE sip:UserB3@client3.there.com SIP/2.0 4225 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 4226 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4227 ;received=192.0.2.103 4228 Max-Forwards: 69 4229 From: BigGuy ;tag=1234567 4230 To: LittleGuy 4231 Call-ID: 12345600@here.com 4232 CSeq: 1 INVITE 4233 Contact: 4234 Content-Type: application/sdp 4235 Content-Length: ... 4237 v=0 4238 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4239 s=Session SDP 4240 c=IN IP4 client.here.com 4241 t=0 0 4242 m=audio 49170 RTP/AVP 0 4243 a=rtpmap:0 PCMU/8000 4244 F5 100 Trying Proxy -> A 4246 SIP/2.0 100 Trying 4247 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4248 ;received=192.0.2.103 4249 From: BigGuy ;tag=1234567 4250 To: LittleGuy 4251 Call-ID: 12345600@here.com 4252 CSeq: 1 INVITE 4253 Content-Length: 0 4255 F6 180 Ringing B1 -> Proxy 4257 SIP/2.0 180 Ringing 4258 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4259 ;received=192.0.2.54 4260 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4261 ;received=192.0.2.103 4262 From: BigGuy ;tag=1234567 4263 To: LittleGuy ;tag=765432 4264 Call-ID: 12345600@here.com 4265 CSeq: 1 INVITE 4266 Contact: 4267 Content-Length: 0 4269 F7 180 Ringing Proxy -> A 4271 SIP/2.0 180 Ringing 4272 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4273 ;received=192.0.2.103 4274 From: BigGuy ;tag=1234567 4275 To: LittleGuy ;tag=765432 4276 Call-ID: 12345600@here.com 4277 CSeq: 1 INVITE 4278 Contact: 4279 Content-Length: 0 4281 F8 480 Not Logged In B2 -> Proxy 4283 SIP/2.0 480 Not Logged In 4284 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 4285 ;received=192.0.2.54 4286 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4287 ;received=192.0.2.103 4288 From: BigGuy ;tag=1234567 4289 To: LittleGuy ;tag=314756 4290 Call-ID: 12345600@here.com 4291 CSeq: 1 INVITE 4292 Content-Length: 0 4294 F9 ACK Proxy -> B2 4296 ACK sip:UserB2@client2.there.com SIP/2.0 4297 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 4298 Max-Forwards: 70 4299 From: BigGuy ;tag=1234567 4300 To: LittleGuy ;tag=314756 4301 Call-ID: 12345600@here.com 4302 CSeq: 1 ACK 4303 Content-Length: 0 4305 F10 180 Ringing B3 -> Proxy 4307 SIP/2.0 180 Ringing 4308 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.3 4309 ;received=192.0.2.54 4310 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4311 ;received=192.0.2.103 4312 From: BigGuy ;tag=1234567 4313 To: LittleGuy ;tag=7137136 4314 Call-ID: 12345600@here.com 4315 CSeq: 1 INVITE 4316 Contact: 4317 Content-Length: 0 4319 F11 180 Ringing B3 -> Proxy 4321 SIP/2.0 180 Ringing 4322 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4323 ;received=192.0.2.103 4324 From: BigGuy ;tag=1234567 4325 To: LittleGuy ;tag=7137136 4326 Call-ID: 12345600@here.com 4327 CSeq: 1 INVITE 4328 Contact: 4329 Content-Length: 0 4331 F12 200 OK B3 -> Proxy 4333 SIP/2.0 200 OK 4334 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.3 4335 ;received=192.0.2.54 4336 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4337 ;received=192.0.2.103 4338 From: BigGuy ;tag=1234567 4339 To: LittleGuy ;tag=7137136 4340 Call-ID: 12345600@here.com 4341 CSeq: 1 INVITE 4342 Contact: 4343 Content-Type: application/sdp 4344 Content-Length: ... 4346 v=0 4347 o=UserB 2890844527 2890844527 IN IP4 client3.there.com 4348 s=Session SDP 4349 c=IN IP4 client3.there.com 4350 t=0 0 4351 m=audio 3456 RTP/AVP 0 4352 a=rtpmap:0 PCMU/8000 4354 F13 200 OK Proxy -> A 4356 SIP/2.0 200 OK 4357 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4358 ;received=192.0.2.103 4359 From: BigGuy ;tag=1234567 4360 To: LittleGuy ;tag=7137136 4361 Call-ID: 12345600@here.com 4362 CSeq: 1 INVITE 4363 Contact: 4364 Content-Type: application/sdp 4365 Content-Length: ... 4367 v=0 4368 o=UserB 2890844527 2890844527 IN IP4 client3.there.com 4369 s=Session SDP 4370 c=IN IP4 client3.there.com 4371 t=0 0 4372 m=audio 3456 RTP/AVP 0 4373 a=rtpmap:0 PCMU/8000 4375 /* Forking Proxy cancels pending branch B1 */ 4377 F14 CANCEL Proxy -> B1 4379 CANCEL sip:UserB@client.there.com SIP/2.0 4380 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4381 Max-Forwards: 70 4382 From: BigGuy 4383 To: LittleGuy 4384 Call-ID: 12345600@here.com 4385 CSeq: 1 CANCEL 4386 Content-Length: 0 4388 F15 200 OK B1 -> Proxy 4389 SIP/2.0 200 OK 4390 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4391 ;received=192.0.2.54 4392 From: BigGuy 4393 To: LittleGuy 4394 Call-ID: 12345600@here.com 4395 CSeq: 1 CANCEL 4396 Content-Length: 0 4398 F16 487 Request Terminated B1 -> Proxy 4400 SIP/2.0 487 Request Terminated 4401 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4402 ;received=192.0.2.54 4403 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4404 ;received=192.0.2.103 4405 From: BigGuy ;tag=1234567 4406 To: LittleGuy ;tag=765432 4407 Call-ID: 12345600@here.com 4408 CSeq: 1 INVITE 4409 Content-Length: 0 4411 F17 ACK Proxy -> B1 4413 ACK sip:UserB@client.there.com SIP/2.0 4414 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4415 Max-Forwards: 70 4416 From: BigGuy ;tag=1234567 4417 To: LittleGuy ;tag=765432 4418 Call-ID: 12345600@here.com 4419 CSeq: 1 ACK 4420 Content-Length: 0 4422 F18 ACK A -> Proxy 4424 ACK sip:UserB4@client3.there.com SIP/2.0 4425 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4426 Max-Forwards: 70 4427 From: BigGuy ;tag=1234567 4428 To: LittleGuy ;tag=7137136 4429 Call-ID: 12345600@here.com 4430 CSeq: 1 ACK 4431 Content-Length: 0 4433 F19 ACK Proxy -> B3 4435 ACK sip:UserB4@client3.there.com SIP/2.0 4436 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 4437 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4438 ;received=192.0.2.103 4439 Max-Forwards: 69 4440 From: BigGuy ;tag=1234567 4441 To: LittleGuy ;tag=7137136 4442 Call-ID: 12345600@here.com 4443 CSeq: 1 ACK 4444 Content-Length: 0 4446 /* RTP streams are established between A and B3*/ 4448 /* User B3 sends a NOTIFY to the group with established dialog 4449 information. */ 4451 F20 NOTIFY B3 -> Proxy 4453 NOTIFY sip:UserB@there.com SIP/2.0 4454 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4455 Max-Forwards: 70 4456 From: LittleGuy ;tag=w2Hu8sj 4457 To: LittleGuy 4458 Call-ID: 8458999275@there.com 4459 CSeq: 1 NOTIFY 4460 Event: dialog 4461 Subscription-State: active;expires=3600 4462 Content-Type: application/dialog-info+xml 4463 Content-Length: ... 4465 4466 4468 4470 confirmed 4471 4472 4474 F21 NOTIFY Proxy -> B1 4476 NOTIFY sip:UserB1@client.there.com SIP/2.0 4477 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.1 4478 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4479 ;received=192.0.2.115 4480 Max-Forwards: 69 4481 From: LittleGuy ;tag=w2Hu8sj 4482 To: LittleGuy 4483 Call-ID: 8458999275@there.com 4484 CSeq: 1 NOTIFY 4485 Event: dialog 4486 Subscription-State: active;expires=3600 4487 Content-Type: application/dialog-info+xml 4488 Content-Length: ... 4490 4491 4493 4495 confirmed 4496 4497 4499 F22 Proxy -> B2 4501 NOTIFY sip:UserB1@client2.there.com SIP/2.0 4502 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 4503 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4504 ;received=192.0.2.115 4505 Max-Forwards: 69 4506 From: LittleGuy ;tag=w2Hu8sj 4507 To: LittleGuy 4508 Call-ID: 8458999275@there.com 4509 CSeq: 1 NOTIFY 4510 Event: dialog 4511 Subscription-State: active;expires=3600 4512 Content-Type: application/dialog-info+xml 4513 Content-Length: ... 4515 4516 4518 4520 confirmed 4521 4522 4524 F23 NOTIFY Proxy-> B3 4526 NOTIFY sip:UserB1@client3.there.com SIP/2.0 4527 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 4528 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4529 ;received=192.0.2.115 4530 Max-Forwards: 69 4531 From: LittleGuy ;tag=w2Hu8sj 4532 To: LittleGuy 4533 Call-ID: 8458999275@there.com 4534 CSeq: 1 NOTIFY 4535 Event: dialog 4536 Subscription-State: active;expires=3600 4537 Content-Type: application/dialog-info+xml 4538 Content-Length: ... 4540 4541 4543 4545 confirmed 4546 4547 4549 F24 200 OK B1 -> Proxy 4551 SIP/2.0 200 OK 4552 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.1 4553 ;received=192.0.2.54 4554 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4555 ;received=192.0.2.115 4556 From: LittleGuy ;tag=w2Hu8sj 4557 To: LittleGuy 4558 Call-ID: 8458999275@there.com 4559 CSeq: 1 NOTIFY 4560 Content-Length: 0 4562 F25 200 OK Proxy -> B3 4564 SIP/2.0 200 OK 4565 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4566 ;received=192.0.2.115 4567 From: LittleGuy ;tag=w2Hu8sj 4568 To: LittleGuy 4569 Call-ID: 8458999275@there.com 4570 CSeq: 1 NOTIFY 4571 Content-Length: 0 4573 F26 200 OK B2 -> Proxy 4575 SIP/2.0 200 OK 4576 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 4577 ;received=192.0.2.54 4578 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4579 ;received=192.0.2.115 4580 From: LittleGuy ;tag=w2Hu8sj 4581 To: LittleGuy 4582 Call-ID: 8458999275@there.com 4583 CSeq: 1 NOTIFY 4584 Content-Length: 0 4585 F27 200 OK B3 -> Proxy 4587 SIP/2.0 482 Loop Detected 4588 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 4589 ;received=192.0.2.54 4590 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4591 ;received=192.0.2.115 4592 From: LittleGuy ;tag=w2Hu8sj 4593 To: LittleGuy 4594 Call-ID: 8458999275@there.com 4595 CSeq: 1 NOTIFY 4596 Content-Length: 0 4598 /* User B2 decided to join the call. */ 4600 F28 INVITE B2 -> Proxy 4602 INVITE sip:UserB@there.com SIP/2.0 4603 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4604 Max-Forwards: 70 4605 From: LittleGuy ;tag=4524524312 4606 To: LittleGuy 4607 Call-ID: 524251233@there.com 4608 CSeq: 1 INVITE 4609 Contact: 4610 Join: 12345600@here.com;to-tag=765432;from-tag=1234567 4611 Content-Type: application/sdp 4612 Content-Length: ... 4614 v=0 4615 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 4616 s=Session SDP 4617 c=IN IP4 client2.there.com 4618 t=0 0 4619 m=audio 3458 RTP/AVP 0 4620 a=rtpmap:0 PCMU/8000 4622 F29 INVITE Proxy -> B1 4624 INVITE sip:UserB1@client.there.com SIP/2.0 4625 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.1 4626 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4627 ;received=192.0.2.114 4628 Max-Forwards: 69 4629 From: LittleGuy ;tag=4524524312 4630 To: LittleGuy 4631 Call-ID: 524251233@there.com 4632 CSeq: 1 INVITE 4633 Contact: 4634 Join: 12345600@here.com;to-tag=765432;from-tag=1234567 4635 Content-Type: application/sdp 4636 Content-Length: ... 4638 v=0 4639 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 4640 s=Session SDP 4641 c=IN IP4 client2.there.com 4642 t=0 0 4643 m=audio 3458 RTP/AVP 0 4644 a=rtpmap:0 PCMU/8000 4646 F30 INVITE Proxy -> B2 4648 INVITE sip:UserB1@client2.there.com SIP/2.0 4649 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 4650 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4651 ;received=192.0.2.114 4652 Max-Forwards: 69 4653 From: LittleGuy ;tag=4524524312 4654 To: LittleGuy 4655 Call-ID: 524251233@there.com 4656 CSeq: 1 INVITE 4657 Contact: 4658 Join: 12345600@here.com;to-tag=765432;from-tag=1234567 4659 Content-Type: application/sdp 4660 Content-Length: ... 4662 v=0 4663 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 4664 s=Session SDP 4665 c=IN IP4 client2.there.com 4666 t=0 0 4667 m=audio 3458 RTP/AVP 0 4668 a=rtpmap:0 PCMU/8000 4670 F31 INVITE Proxy -> B1 4672 INVITE sip:UserB1@client3.there.com SIP/2.0 4673 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 4674 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4675 ;received=192.0.2.114 4676 Max-Forwards: 69 4677 From: LittleGuy ;tag=4524524312 4678 To: LittleGuy 4679 Call-ID: 524251233@there.com 4680 CSeq: 1 INVITE 4681 Contact: 4682 Join: 12345600@here.com;to-tag=765432;from-tag=1234567 4683 Content-Type: application/sdp 4684 Content-Length: ... 4686 v=0 4687 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 4688 s=Session SDP 4689 c=IN IP4 client2.there.com 4690 t=0 0 4691 m=audio 3458 RTP/AVP 0 4692 a=rtpmap:0 PCMU/8000 4694 F32 100 Trying Proxy -> B2 4696 SIP/2.0 100 Trying 4697 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4698 ;received=192.0.2.114 4699 From: LittleGuy ;tag=4524524312 4700 To: LittleGuy 4701 Call-ID: 524251233@there.com 4702 CSeq: 1 INVITE 4703 Content-Length: 0 4705 /* B1 does not have an established dialog, so it returns a 481 */ 4707 F33 481 Dialog Does Not Exist B1 -> Proxy 4709 SIP/2.0 481 Dialog Does Not Exist 4710 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 4711 ;received=192.0.2.54 4712 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4713 ;received=192.0.2.114 4714 From: LittleGuy ;tag=4524524312 4715 To: LittleGuy ;tag=68324lk42jd 4716 Call-ID: 524251233@there.com 4717 CSeq: 1 INVITE 4718 Content-Length: 0 4720 F34 ACK Proxy -> B1 4722 ACK sip:UserB1@client.there.com SIP/2.0 4723 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 4724 From: LittleGuy ;tag=4524524312 4725 To: LittleGuy ;tag=68324lk42jd 4726 Call-ID: 524251233@there.com 4727 CSeq: 1 ACK 4728 Content-Length: 0 4729 F35 482 Loop Detected B2 -> Proxy 4731 SIP/2.0 482 Loop Detected 4732 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 4733 ;received=192.0.2.54 4734 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4735 ;received=192.0.2.114 4736 From: LittleGuy ;tag=4524524312 4737 To: LittleGuy ;tag=134lkwe 4738 Call-ID: 524251233@there.com 4739 CSeq: 1 INVITE 4740 Content-Length: 0 4742 F36 ACK Proxy -> B2 4744 ACK sip:UserB2@client2.there.com SIP/2.0 4745 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 4746 From: LittleGuy ;tag=4524524312 4747 To: LittleGuy ;tag=134lkwe 4748 Call-ID: 524251233@there.com 4749 CSeq: 1 ACK 4750 Content-Length: 0 4752 /* B3 has an existing dialog and agrees to mix B2 into the session. 4753 */ 4755 F37 200 OK User B3 -> Proxy 4757 SIP/2.0 200 OK 4758 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 4759 ;received=192.0.2.54 4760 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4761 ;received=192.0.2.114 4762 From: LittleGuy ;tag=4524524312 4763 To: LittleGuy ;tag=3891908734 4764 Call-ID: 524251233@there.com 4765 CSeq: 1 INVITE 4766 Contact: 4767 Content-Type: application/sdp 4768 Content-Length: ... 4770 v=0 4771 o=UserB 2890844527 2890844527 IN IP4 client3.there.com 4772 s=Session SDP 4773 c=IN IP4 client3.there.com 4774 t=0 0 4775 m=audio 3460 RTP/AVP 0 4776 a=rtpmap:0 PCMU/8000 4777 F38 200 OK User B3 -> Proxy 4779 SIP/2.0 200 OK 4780 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4781 ;received=192.0.2.114 4782 Max-Forwards: 69 4783 From: LittleGuy ;tag=4524524312 4784 To: LittleGuy ;tag=3891908734 4785 Call-ID: 524251233@there.com 4786 CSeq: 1 INVITE 4787 Contact: 4788 Content-Type: application/sdp 4789 Content-Length: ... 4791 v=0 4792 o=UserB 2890844527 2890844527 IN IP4 client3.there.com 4793 s=Session SDP 4794 c=IN IP4 client3.there.com 4795 t=0 0 4796 m=audio 3460 RTP/AVP 0 4797 a=rtpmap:0 PCMU/8000 4799 F39 ACK B2 -> B3 4801 ACK sip:UserB3@client3.there.com SIP/2.0 4802 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKq0qwli6ewlk 4803 Max-Forwards: 69 4804 From: LittleGuy ;tag=4524524312 4805 To: LittleGuy ;tag=3891908734 4806 Call-ID: 524251233@there.com 4807 CSeq: 1 ACK 4808 Content-Length: 0 4810 2.12 Find-Me 4812 User A Proxy User User User User 4813 B1 B2 B3 B4 4814 | | | | | | 4815 | INVITE F1 | | | | | 4816 |--------------->| INVITE F2 | | | | 4817 | |------------->| | | | 4818 |(100 Trying) F3 | | | | | 4819 |<---------------|180 Ringing F4| | | | 4820 | |<-------------| | | | 4821 | 180 Ringing F5 | | | | | 4822 |<---------------| | | | | 4823 | | Timeout | | | | 4824 | | | | | | 4825 | | CANCEL F6 | | | | 4826 | |------------->| | | | 4827 | | 200 OK F7 | | | | 4828 | |<-------------| | | | 4829 | | 487 F8 | | | | 4830 | |<-------------| | | | 4831 | | ACK F9 | | | | 4832 | |------------->| | | | 4833 | | INVITE F10 | | | 4834 | |-------------------->| | | 4835 | |480 Not Logged In F11| | | 4836 | |<--------------------| | | 4837 | | ACK F12| | | 4838 | |-------------------->| | | 4839 | | INVITE F13 | | 4840 | |--------------------------->| | 4841 | | 486 Busy Here F14 | | 4842 | |<---------------------------| | 4843 | | ACK F15 | | 4844 | |--------------------------->| | 4845 | | INVITE F16 | 4846 | |---------------------------------->| 4847 | | 180 Ringing F17 | 4848 | 180 F18 |<----------------------------------| 4849 |<---------------| 200 OK F19 | 4850 | 200 OK F20 |<----------------------------------| 4851 |<---------------| | 4852 | ACK F21 | | 4853 |--------------->| ACK F22 | 4854 | |---------------------------------->| 4855 | Both way RTP Established | 4856 |<==================================================>| 4857 | | BYE F23 | 4858 | BYE F24 |<----------------------------------| 4859 |<---------------| | 4860 | 200 OK F25 | | 4861 |--------------->| 200 OK F26 | 4862 | |---------------------------------->| 4863 | | | 4865 A call to a user will attempt to locate that user by calling 4866 locations from a list of contacts. The location to answer the call 4867 becomes the active set, no other sets may join the call. 4869 While this flow shows a sequential search, the search could be 4870 accomplished using parallel forking, as in the previous example. 4872 Message Details 4874 F1 INVITE A -> Proxy 4876 INVITE sip:UserB@there.com SIP/2.0 4877 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4878 Max-Forwards: 70 4879 From: BigGuy ;tag=1234567 4880 To: LittleGuy 4881 Call-ID: 12345600@here.com 4882 CSeq: 1 INVITE 4883 Contact: 4884 Content-Type: application/sdp 4885 Content-Length: ... 4887 v=0 4888 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4889 s=Session SDP 4890 c=IN IP4 client.here.com 4891 t= 0 0 4892 m=audio 49170 RTP/AVP 0 4893 a=rtpmap:0 PCMU/8000 4895 F2 INVITE Proxy -> B1 4897 INVITE sip:UserB@client.there.com SIP/2.0 4898 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4899 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4900 ;received=192.0.2.103 4901 Record-Route: 4902 Max-Forwards: 69 4903 From: BigGuy ;tag=1234567 4904 To: LittleGuy 4905 Call-ID: 12345600@here.com 4906 CSeq: 1 INVITE 4907 Contact: 4908 Content-Type: application/sdp 4909 Content-Length: ... 4911 v=0 4912 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4913 s=Session SDP 4914 c=IN IP4 client.here.com 4915 t= 0 0 4916 m=audio 49170 RTP/AVP 0 4917 a=rtpmap:0 PCMU/8000 4919 F3 (100 Trying) Proxy -> A 4921 SIP/2.0 100 Trying 4922 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4923 ;received=192.0.2.103 4924 From: BigGuy ;tag=1234567 4925 To: LittleGuy 4926 Call-ID: 12345600@here.com 4927 CSeq: 1 INVITE 4928 Content-Length: 0 4930 F4 180 Ringing B1 -> Proxy 4932 SIP/2.0 180 Ringing 4933 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4934 ;received=192.0.2.54 4935 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4936 ;received=192.0.2.103 4937 Record-Route: 4938 From: BigGuy ;tag=1234567 4939 To: LittleGuy ;tag=765432 4940 Call-ID: 12345600@here.com 4941 CSeq: 1 INVITE 4942 Contact: 4943 Content-Length: 0 4945 F5 180 Ringing Proxy -> A 4947 SIP/2.0 180 Ringing 4948 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4949 ;received=192.0.2.103 4950 Record-Route: 4951 From: BigGuy ;tag=1234567 4952 To: LittleGuy ;tag=765432 4953 Call-ID: 12345600@here.com 4954 CSeq: 1 INVITE 4955 Contact: 4956 Content-Length: 0 4958 /* B1 rings for until a configurable timer in the Proxy expires. The 4959 Proxy then sends Cancel and proceeds down the list of routes. */ 4961 F6 CANCEL Proxy -> B1 4963 CANCEL sip:UserB@client.there.com SIP/2.0 4964 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4965 Max-Forwards: 70 4966 From: BigGuy 4967 To: LittleGuy 4968 Call-ID: 12345600@here.com 4969 CSeq: 1 CANCEL 4970 Content-Length: 0 4972 F7 200 OK B1 -> Proxy 4974 SIP/2.0 200 OK 4975 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4976 ;received=192.0.2.54 4977 From: BigGuy 4978 To: LittleGuy 4979 Call-ID: 12345600@here.com 4980 CSeq: 1 CANCEL 4981 Content-Length: 0 4983 F8 487 Request Terminated B1 -> Proxy 4985 SIP/2.0 487 Request Terminated 4986 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4987 ;received=192.0.2.54 4988 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 4989 ;received=192.0.2.103 4990 From: BigGuy ;tag=1234567 4991 To: LittleGuy ;tag=765432 4992 Call-ID: 12345600@here.com 4993 CSeq: 1 INVITE 4994 Content-Length: 0 4996 F9 ACK Proxy -> B1 4998 ACK sip:UserB@client.there.com SIP/2.0 4999 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 5000 Max-Forwards: 70 5001 From: BigGuy ;tag=1234567 5002 To: LittleGuy ;tag=765432 5003 Call-ID: 12345600@here.com 5004 CSeq: 1 ACK 5005 Content-Length: 0 5006 F10 INVITE Proxy -> B2 5008 INVITE sip:UserB2@client2.there.com SIP/2.0 5009 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 5010 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5011 ;received=192.0.2.103 5012 Record-Route: 5013 Max-Forwards: 69 5014 From: BigGuy ;tag=1234567 5015 To: LittleGuy 5016 Call-ID: 12345600@here.com 5017 CSeq: 1 INVITE 5018 Contact: 5019 Content-Type: application/sdp 5020 Content-Length: ... 5022 v=0 5023 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5024 s=Session SDP 5025 c=IN IP4 client.here.com 5026 t=0 0 5027 m=audio 49170 RTP/AVP 0 5028 a=rtpmap:0 PCMU/8000 5030 F11 480 Not Logged In B2 -> Proxy 5032 SIP/2.0 480 Not Logged In 5033 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 5034 ;received=192.0.2.54 5035 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5036 ;received=192.0.2.103 5037 From: BigGuy ;tag=1234567 5038 To: LittleGuy ;tag=314756 5039 Call-ID: 12345600@here.com 5040 CSeq: 1 INVITE 5041 Content-Length: 0 5043 F12 ACK Proxy -> B2 5045 ACK sip:UserB2@client2.there.com SIP/2.0 5046 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 5047 Max-Forwards: 70 5048 From: BigGuy ;tag=1234567 5049 To: LittleGuy ;tag=314756 5050 Call-ID: 12345600@here.com 5051 CSeq: 1 ACK 5052 Content-Length: 0 5054 F13 INVITE Proxy -> B3 5055 INVITE sip:UserB3@client3.there.com SIP/2.0 5056 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 5057 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5058 ;received=192.0.2.103 5059 Record-Route: 5060 Max-Forwards: 69 5061 From: BigGuy ;tag=1234567 5062 To: LittleGuy 5063 Call-ID: 12345600@here.com 5064 CSeq: 1 INVITE 5065 Contact: 5066 Content-Type: application/sdp 5067 Content-Length: ... 5069 v=0 5070 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5071 s=Session SDP 5072 c=IN IP4 client.here.com 5073 t=0 0 5074 m=audio 49170 RTP/AVP 0 5075 a=rtpmap:0 PCMU/8000 5077 F14 486 Busy Here B3 -> Proxy 5079 SIP/2.0 486 Busy Here 5080 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 5081 ;received=192.0.2.54 5082 From: BigGuy ;tag=1234567 5083 To: LittleGuy ;tag=7654321 5084 Call-ID: 12345600@here.com 5085 CSeq: 1 INVITE 5086 Content-Length: 0 5088 F15 ACK Proxy -> B3 5090 ACK sip:UserB3@client3.there.com SIP/2.0 5091 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 5092 Max-Forwards: 70 5093 From: BigGuy ;tag=1234567 5094 To: LittleGuy ;tag=7654321 5095 Call-ID: 12345600@here.com 5096 CSeq: 1 ACK 5097 Content-Length: 0 5099 F16 INVITE Proxy -> B4 5101 INVITE sip:UserB4@client4.there.com SIP/2.0 5102 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 5103 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5104 ;received=192.0.2.103 5105 Record-Route: 5106 Max-Forwards: 69 5107 From: BigGuy ;tag=1234567 5108 To: LittleGuy 5109 Call-ID: 12345600@here.com 5110 CSeq: 1 INVITE 5111 Contact: 5112 Content-Type: application/sdp 5113 Content-Length: ... 5115 v=0 5116 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5117 s=Session SDP 5118 c=IN IP4 client.here.com 5119 t=0 0 5120 m=audio 49170 RTP/AVP 0 5121 a=rtpmap:0 PCMU/8000 5123 F17 180 Ringing B4 -> Proxy 5125 SIP/2.0 180 Ringing 5126 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 5127 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5128 ;received=192.0.2.103 5129 Record-Route: 5130 From: BigGuy ;tag=1234567 5131 To: LittleGuy ;tag=7137136 5132 Call-ID: 12345600@here.com 5133 CSeq: 1 INVITE 5134 Contact: 5135 Content-Length: 0 5137 F18 180 Ringing B4 -> Proxy 5139 SIP/2.0 180 Ringing 5140 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5141 ;received=192.0.2.103 5142 Record-Route: 5143 From: BigGuy ;tag=1234567 5144 To: LittleGuy ;tag=7137136 5145 Call-ID: 12345600@here.com 5146 CSeq: 1 INVITE 5147 Contact: 5148 Content-Length: 0 5150 F19 200 OK B4 -> Proxy 5151 SIP/2.0 200 OK 5152 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 5153 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5154 ;received=192.0.2.103 5155 Record-Route: 5156 From: BigGuy ;tag=1234567 5157 To: LittleGuy ;tag=7137136 5158 Call-ID: 12345600@here.com 5159 CSeq: 1 INVITE 5160 Contact: 5161 Content-Type: application/sdp 5162 Content-Length: ... 5164 v=0 5165 o=UserB 2890844527 2890844527 IN IP4 client4.there.com 5166 s=Session SDP 5167 c=IN IP4 client4.there.com 5168 t=0 0 5169 m=audio 3456 RTP/AVP 0 5170 a=rtpmap:0 PCMU/8000 5172 F20 200 OK Proxy -> A 5174 SIP/2.0 200 OK 5175 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5176 ;received=192.0.2.103 5177 Record-Route: 5178 From: BigGuy ;tag=1234567 5179 To: LittleGuy ;tag=7137136 5180 Call-ID: 12345600@here.com 5181 CSeq: 1 INVITE 5182 Contact: 5183 Content-Type: application/sdp 5184 Content-Length: ... 5186 v=0 5187 o=UserB 2890844527 2890844527 IN IP4 client4.there.com 5188 s=Session SDP 5189 c=IN IP4 client4.there.com 5190 t=0 0 5191 m=audio 3456 RTP/AVP 0 5192 a=rtpmap:0 PCMU/8000 5194 F21 ACK A -> Proxy 5196 ACK sip:UserB4@client4.there.com SIP/2.0 5197 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5198 Route: 5199 Max-Forwards: 70 5200 From: BigGuy ;tag=1234567 5201 To: LittleGuy ;tag=7137136 5202 Call-ID: 12345600@here.com 5203 CSeq: 1 ACK 5204 Content-Length: 0 5206 F22 ACK Proxy -> B4 5208 ACK sip:UserB4@client4.there.com SIP/2.0 5209 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 5210 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5211 ;received=192.0.2.103 5212 Max-Forwards: 69 5213 From: BigGuy ;tag=1234567 5214 To: LittleGuy ;tag=7137136 5215 Call-ID: 12345600@here.com 5216 CSeq: 1 ACK 5217 Content-Length: 0 5219 /* RTP streams are established between A and B4*/ 5221 /* User B4 Hangs Up with User A. */ 5223 F23 BYE B4 -> Proxy 5225 BYE sip:UserA@client.here.com SIP/2.0 5226 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 5227 Route: 5228 Max-Forwards: 70 5229 From: LittleGuy ;tag=7137136 5230 To: BigGuy ;tag=1234567 5231 Call-ID: 12345600@here.com 5232 CSeq: 1 BYE 5233 Content-Length: 0 5235 F24 BYE Proxy -> A 5237 BYE sip:UserA@client.here.com SIP/2.0 5238 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 5239 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 5240 ;received=192.0.2.105 5241 Max-Forwards: 69 5242 From: LittleGuy ;tag=7137136 5243 To: BigGuy ;tag=1234567 5244 Call-ID: 12345600@here.com 5245 CSeq: 1 BYE 5246 Content-Length: 0 5248 F25 200 OK A -> Proxy 5249 SIP/2.0 200 OK 5250 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 5251 ;received=192.0.2.54 5252 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 5253 ;received=192.0.2.105 5254 From: LittleGuy ;tag=7137136 5255 To: BigGuy ;tag=1234567 5256 Call-ID: 12345600@here.com 5257 CSeq: 1 BYE 5258 Content-Length: 0 5260 F26 200 OK Proxy -> B4 5262 SIP/2.0 200 OK 5263 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 5264 ;received=192.0.2.105 5265 From: LittleGuy ;tag=7137136 5266 To: BigGuy ;tag=1234567 5267 Call-ID: 12345600@here.com 5268 CSeq: 1 BYE 5269 Content-Length: 0 5271 2.13 Call Management (Incoming Call Screening) 5273 User A Proxy User B 5274 | | | 5275 | INVITE F1 | | 5276 |------------------------------>| 5277 | 305 Use Proxy F2 | 5278 |<------------------------------| 5279 | ACK F3 | | 5280 |------------------------------>| 5281 | INVITE F4 | | 5282 |--------------->| | 5283 | 407 Proxy Authorization F5 | 5284 |<---------------| | 5285 | ACK F6 | | 5286 |--------------->| | 5287 | INVITE F7 | | 5288 |--------------->| | 5289 | 403 Screening Failure (Terminating) F8 5290 |<---------------| | 5291 | ACK F9 | | 5292 |--------------->| | 5293 | | | 5295 User B has an incoming call screening list, User A is included on the 5296 list of addresses User B will not accept calls from. User A attempts 5297 to call user B. Messages F1, F2, and F3 are included to show that 5298 User B does not accept INVITEs that have not been screened by the 5299 proxy. 5301 Note that call screening can not be done using the From header � 5302 instead some form of authentication credentials must be used. 5304 Message Details 5306 F1 INVITE A -> B 5308 INVITE sip:UserB@there.com SIP/2.0 5309 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5310 Max-Forwards: 70 5311 From: BigGuy ;tag=1234567 5312 To: LittleGuy 5313 Call-ID: 12345600@here.com 5314 CSeq: 1 INVITE 5315 Contact: 5316 Content-Type: application/sdp 5317 Content-Length: ... 5319 v=0 5320 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5321 s=Session SDP 5322 c=IN IP4 client.here.com 5323 t=3034423619 0 5324 m=audio 49170 RTP/AVP 0 5325 a=rtpmap:0 PCMU/8000 5327 /* User B only accepts INVITEs that have been screened by the proxy 5328 */ 5330 F2 305 Use Proxy B -> A 5332 SIP/2.0 305 Use Proxy 5333 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5334 ;received=192.0.2.103 5335 From: BigGuy ;tag=1234567 5336 To: LittleGuy ;tag=342123 5337 Call-ID: 12345600@here.com 5338 CSeq: 1 INVITE 5339 Contact: 5340 Content-Length: 0 5342 F3 ACK A -> B 5344 ACK sip:UserB@there.com SIP/2.0 5345 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5346 Max-Forwards: 70 5347 From: BigGuy ;tag=1234567 5348 To: LittleGuy ;tag=342123 5349 Call-ID: 12345600@here.com 5350 CSeq: 1 ACK 5351 Content-Length: 0 5353 /* A retries the call through the proxy */ 5355 F4 INVITE A -> Proxy 1 5357 INVITE sip:UserB@there.com SIP/2.0 5358 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5359 Max-Forwards: 70 5360 From: BigGuy ;tag=1234567 5361 To: LittleGuy 5362 Call-ID: 12345600@here.com 5363 CSeq: 2 INVITE 5364 Contact: 5365 Content-Type: application/sdp 5366 Content-Length: ... 5368 v=0 5369 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5370 s=Session SDP 5371 c=IN IP4 client.here.com 5372 t=3034423619 0 5373 m=audio 49170 RTP/AVP 0 5374 a=rtpmap:0 PCMU/8000 5376 /* Proxy 1 challenges User A for authentication */ 5378 F5 407 Proxy Authorization Required Proxy 1 -> A 5380 SIP/2.0 407 Proxy Authorization Required 5381 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5382 ;received=192.0.2.103 5383 From: BigGuy ;tag=1234567 5384 To: LittleGuy ;tag=7886765 5385 Call-ID: 12345600@here.com 5386 CSeq: 2 INVITE 5387 Proxy-Authenticate: Digest realm="wcom.com", 5388 domain="sip:ss1.wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 5389 opaque="", stale=FALSE, algorithm=MD5 5390 Content-Length: 0 5392 F6 ACK A -> Proxy 1 5394 ACK sip:UserB@there.com SIP/2.0 5395 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5396 Max-Forwards: 70 5397 From: BigGuy ;tag=1234567 5398 To: LittleGuy ;tag=7886765 5399 Call-ID: 12345600@here.com 5400 CSeq: 2 ACK 5401 Content-Length: 0 5403 /* User A responds by sending an INVITE with authentication 5404 credentials in it. */ 5406 F7 INVITE A -> Proxy 1 5408 INVITE sip:UserB@there.com SIP/2.0 5409 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5410 Max-Forwards: 70 5411 From: BigGuy ;tag=1234567 5412 To: LittleGuy 5413 Call-ID: 12345600@here.com 5414 CSeq: 3 INVITE 5415 Contact: 5416 Proxy-Authorization: Digest username="UserA", 5417 realm="wcom.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a", 5418 opaque="", uri="sip:UserB@there.com", 5419 response="bbaec39f943bdcb3620d90afc548a45c" 5420 Content-Type: application/sdp 5421 Content-Length: ... 5423 v=0 5424 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5425 s=Session SDP 5426 c=IN IP4 client.here.com 5427 t=3034423619 0 5428 m=audio 49170 RTP/AVP 0 5429 a=rtpmap:0 PCMU/8000 5431 F8 403 Screening Failure (Terminating) Proxy 1 -> A 5433 SIP/2.0 403 Screening Failure (Terminating) 5434 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5435 ;received=192.0.2.103 5436 From: BigGuy ;tag=1234567 5437 To: LittleGuy ;tag=ffe254 5438 Call-ID: 12345600@here.com 5439 CSeq: 3 INVITE 5440 Error-Info: 5441 Content-Length: 0 5443 F9 ACK A -> Proxy 1 5445 ACK sip:UserB@there.com SIP/2.0 5446 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5447 Max-Forwards: 70 5448 From: BigGuy ;tag=1234567 5449 To: LittleGuy ;tag=ffe254 5450 Call-ID: 12345600@here.com 5451 CSeq: 3 ACK 5452 Content-Length: 0 5454 2.14 Call Management (Outgoing Call Screening) 5456 User A Proxy User B 5457 | | | 5458 | INVITE F1 | | 5459 |--------------->| | 5460 | 407 Proxy Authorization F2 | 5461 |<---------------| | 5462 | ACK F3 | | 5463 |--------------->| | 5464 | INVITE F4 | | 5465 |--------------->| | 5466 | 403 Screening Failure (Originating) F5 5467 |<---------------| | 5468 | ACK F6 | | 5469 |--------------->| | 5470 | | | 5472 User A has an outgoing call screening list, User B is included on the 5473 list of addresses User A will not be able to place a call to. User A 5474 attempts to call user B. 5476 Message Details 5478 F1 INVITE A -> Proxy 1 5480 INVITE sip:UserB@there.com SIP/2.0 5481 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5482 Max-Forwards: 70 5483 From: BigGuy ;tag=1234567 5484 To: LittleGuy 5485 Call-ID: 12345600@here.com 5486 CSeq: 1 INVITE 5487 Contact: 5488 Content-Type: application/sdp 5489 Content-Length: ... 5491 v=0 5492 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5493 s=Session SDP 5494 c=IN IP4 client.here.com 5495 t=3034423619 0 5496 m=audio 49170 RTP/AVP 0 5497 a=rtpmap:0 PCMU/8000 5499 /* Proxy 1 challenges User A for authentication */ 5501 F2 407 Proxy Authorization Required Proxy 1 -> A 5502 SIP/2.0 407 Proxy Authorization Required 5503 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5504 ;received=192.0.2.103 5505 From: BigGuy ;tag=1234567 5506 To: LittleGuy ;tag=90210 5507 Call-ID: 12345600@here.com 5508 CSeq: 1 INVITE 5509 Proxy-Authenticate: Digest realm="wcom.com", 5510 domain="sip:ss1.wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 5511 opaque="", stale=FALSE, algorithm=MD5 5512 Content-Length: 0 5514 F3 ACK A -> Proxy 1 5516 ACK sip:UserB@there.com SIP/2.0 5517 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5518 Max-Forwards: 70 5519 From: BigGuy ;tag=1234567 5520 To: LittleGuy ;tag=90210 5521 Call-ID: 12345600@here.com 5522 CSeq: 1 ACK 5523 Content-Length: 0 5525 /* User A responds be sending an INVITE with authentication 5526 credentials in it. */ 5528 F4 INVITE A -> Proxy 1 5530 INVITE sip:UserB@there.com SIP/2.0 5531 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5532 Max-Forwards: 70 5533 From: BigGuy ;tag=1234567 5534 To: LittleGuy 5535 Call-ID: 12345600@here.com 5536 CSeq: 2 INVITE 5537 Contact: 5538 Proxy-Authorization: Digest username="UserA", realm="wcom.com", 5539 nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 5540 uri="sip:UserB@there.com", 5541 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 5542 Content-Type: application/sdp 5543 Content-Length: ... 5545 v=0 5546 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5547 s=Session SDP 5548 c=IN IP4 client.here.com 5549 t=3034423619 0 5550 m=audio 49170 RTP/AVP 0 5551 a=rtpmap:0 PCMU/8000 5552 F5 403 Screening Failure (Originating) Proxy 1 -> A 5554 SIP/2.0 403 Screening Failure (Originating) 5555 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5556 ;received=192.0.2.103 5557 From: BigGuy ;tag=1234567 5558 To: LittleGuy ;tag=18017 5559 Call-ID: 12345600@here.com 5560 CSeq: 2 INVITE 5561 Error-Info: 5562 Content-Length: 0 5564 F6 ACK A -> Proxy 1 5566 ACK sip:UserB@there.com SIP/2.0 5567 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5568 Max-Forwards: 70 5569 From: BigGuy ;tag=1234567 5570 To: LittleGuy ;tag=18017 5571 Call-ID: 12345600@here.com 5572 CSeq: 2 ACK 5573 Content-Length: 0 5575 2.15 5576 Call Park 5578 User A User B Park Server User C 5579 | | | | 5580 | INVITE F1 | | | 5581 |------------->| | | 5582 |180 Ringing F2| | | 5583 |<-------------| | | 5584 | 200 OK F3 | | | 5585 |<-------------| | | 5586 | ACK F4 | | | 5587 |------------->| | | 5588 | RTP Media | | | 5589 |<============>| | | 5590 | User B Parks Call | | 5591 | | REFER Refer-To: A F5 | 5592 | |------------->| | 5593 | | 202 F6 | | 5594 | |<-------------| | 5595 | | NOTIFY F7 | | 5596 | |<-------------| | 5597 | | 200 F8 | | 5598 | |------------->| | 5599 | INVITE F9 Replaces: B | | 5600 |<----------------------------| | 5601 | 200 OK F10 | | 5602 |---------------------------->| | 5603 | ACK F11 | | 5604 |<----------------------------| | 5605 | RTP Music | | 5606 |<===========================>| | 5607 | BYE F12 | | | 5608 |------------->| NOTIFY F14 | | 5609 | 200 OK F13 |<-------------| | 5610 |<-------------| 200 OK F15 | | 5611 | |------------->| | 5612 | | User C picks up the call | 5613 | | | | 5614 | INVITE Replaces: Park Server F16 | 5615 |<-------------------------------------------| 5616 | | | 200 F17 | 5617 |------------------------------------------->| 5618 | | | ACK F18 | 5619 |<-------------------------------------------| 5620 | RTP Media | 5621 |<==========================================>| 5622 | BYE F19 | | 5623 |---------------------------->| | 5624 | 200 OK F20 | | 5625 |<----------------------------| | 5626 | No more RTP Music | | 5628 In this example, User A calls User B. User B then parks the call at 5629 the Park Server by sending a REFER to the Park Server. The server 5630 sends an INVITE to A which replaces the session between A and B. The 5631 call is accepted by A and causes A to send a BYE to B. User B 5632 receives notification of the successful park, and also receives the 5633 Call-ID in the application/sip body of the NOTIFY response. User C 5634 wishes to retrieve the call, a new INVITE is sent to A which replaces 5635 the session with the Park Server. User A accepts the call and sends 5636 a BYE to the Park Server. Note that if the Park Server did not return 5637 the dialog identifiers (Call-ID, To and From tags) in the NOTIFY, C 5638 could send a SUBSCRIBE to retrieve this information. 5640 Note that this call is a special case of call transfer. 5642 Note also that this flow could also be used for Music on Hold. 5644 Message Details. 5646 F1 INVITE A -> B 5648 INVITE sip:UserB@there.com SIP/2.0 5649 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 5650 Max-Forwards: 70 5651 From: BigGuy ;tag=1234567 5652 To: LittleGuy 5653 Call-ID: 12345601@here.com 5654 CSeq: 1 INVITE 5655 Contact: 5656 Supported: replaces 5657 Content-Type: application/sdp 5658 Content-Length: ... 5660 v=0 5661 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5662 s=Session SDP 5663 c=IN IP4 client.here.com 5664 t=3034423619 0 5665 m=audio 49170 RTP/AVP 0 5666 a=rtpmap:0 PCMU/8000 5668 F2 180 Ringing B -> A 5670 SIP/2.0 180 Ringing 5671 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 5672 ;received=192.0.2.105 5673 From: BigGuy ;tag=1234567 5674 To: LittleGuy ;tag=314159 5675 Call-ID: 12345601@here.com 5676 CSeq: 1 INVITE 5677 Contact: 5678 Content-Length: 0 5680 F3 200 OK B -> A 5682 SIP/2.0 200 OK 5683 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 5684 ;received=192.0.2.105 5685 From: BigGuy ;tag=1234567 5686 To: LittleGuy ;tag=314159 5687 Call-ID: 12345601@here.com 5688 CSeq: 1 INVITE 5689 Contact: 5690 Content-Type: application/sdp 5691 Content-Length: ... 5693 v=0 5694 o=UserB 2890844527 2890844527 IN IP4 client.there.com 5695 s=Session SDP 5696 c=IN IP4 client.there.com 5697 t=3034423619 0 5698 m=audio 3456 RTP/AVP 0 5699 a=rtpmap:0 PCMU/8000 5701 F4 ACK A -> B 5703 ACK sip:UserB@client.there.com SIP/2.0 5704 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 5705 Max-Forwards: 70 5706 From: BigGuy ;tag=1234567 5707 To: LittleGuy ;tag=314159 5708 Call-ID: 12345601@here.com 5709 CSeq: 1 ACK 5710 Content-Length: 0 5712 /* User B REFERs Park Server to establish session with A which 5713 replaces the established session between A and B. Note that there is 5714 no session established between B and the Park Server. */ 5716 F5 REFER B -> Park Server 5718 REFER sip:park@server.com SIP/2.0 5719 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 5720 Max-Forwards: 70 5721 From: LittleGuy ;tag=02134 5722 To: Park Server 5723 Call-ID: 4802029847@there.com 5724 CSeq: 1 REFER 5725 Refer-To: 5727 Referred-By: 5728 Contact: 5729 Content-Length: 0 5731 F6 202 Accepted Park Server -> B 5733 SIP/2.0 202 Accepted 5734 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 5735 ;received=192.0.2.105 5736 From: LittleGuy ;tag=02134 5737 To: Park Server ;tag=56323 5738 Call-ID: 4802029847@there.com 5739 CSeq: 1 REFER 5740 Content-Length: 0 5742 F7 NOTIFY Park Server -> B 5744 NOTIFY sip:UserB@client.there.com SIP/2.0 5745 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5746 To: LittleGuy ;tag=02134 5747 Max-Forwards: 70 5748 From: Park Server ;tag=56323 5749 Call-ID: 4802029847@there.com 5750 CSeq: 1 NOTIFY 5751 Event: refer 5752 Subscription-State: active;expires=60 5753 Content-Type: message/sipfrag 5754 Content-Length: ... 5756 SIP/2.0 100 Trying 5758 F8 200 OK B -> Park Server 5760 SIP/2.0 200 OK 5761 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5762 ;received=192.0.2.103 5763 To: LittleGuy ;tag=02134 5764 From: Park Server ;tag=56323 5765 Call-ID: 4802029847@there.com 5766 CSeq: 1 NOTIFY 5767 Content-Length: 0 5769 /* Park Server places call to User A to replace session between A and 5770 B */ 5772 F9 INVITE Park Server -> A 5773 INVITE sip:UserA@client.here.com SIP/2.0 5774 Via: SIP/2.0/UDP server.com:5060 5775 Max-Forwards: 70 5776 From: ;tag=0111 5777 To: 5778 Call-ID: a5-75-34-12-76@server.com 5779 CSeq: 1 INVITE 5780 Referred-By: 5781 Contact: 5782 Replaces: 12345601@here.com;from-tag=314159;to-tag=1234567 5783 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5784 Content-Type: application/sdp 5785 Content-Length: ... 5787 v=0 5788 o=ParkServer 2890844576 2890844576 IN IP4 Park.server.com 5789 s=Session SDP 5790 c=IN IP4 music.server.com 5791 t=3034423619 0 5792 m=audio 49170 RTP/AVP 0 5793 a=rtpmap:0 PCMU/8000 5795 F10 200 OK A-> Park Server 5797 SIP/2.0 200 OK 5798 Via: SIP/2.0/UDP music.server.com:5060 5799 From: ;tag=0111 5800 To: BigGuy ;tag=098594 5801 Call-ID: a5-75-34-12-76@server.com 5802 CSeq: 1 INVITE 5803 Contact: 5804 Supported: replaces 5805 Content-Type: application/sdp 5806 Content-Length: ... 5808 v=0 5809 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5810 s=Session SDP 5811 c=IN IP4 client.here.com 5812 t=3034423619 0 5813 m=audio 49170 RTP/AVP 0 5814 a=rtpmap:0 PCMU/8000 5815 a=recvonly 5817 F11 ACK Park Server -> A 5819 ACK sip:UserA@client.here.com SIP/2.0 5820 Via: SIP/2.0/UDP music.server.com:5060 5821 Max-Forwards: 70 5822 From: ;tag=0111 5823 To: BigGuy ;tag=098594 5824 Call-ID: a5-75-34-12-76@server.com 5825 CSeq: 1 ACK 5826 Content-Length: 0 5828 F12 BYE A -> B 5830 ACK sip:UserB@client.there.com SIP/2.0 5831 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 5832 Max-Forwards: 70 5833 From: BigGuy ;tag=1234567 5834 To: LittleGuy ;tag=314159 5835 Call-ID: 12345601@here.com 5836 CSeq: 2 BYE 5837 Content-Length: 0 5839 F13 200 OK B -> A 5841 SIP/2.0 200 OK 5842 Via: SIP/2.0/UDP client.there.com:5060;branch=z9hG4bKnashds7 5843 ;received=192.0.2.105 5844 From: BigGuy ;tag=1234567 5845 To: LittleGuy ;tag=314159 5846 Call-ID: 12345601@here.com 5847 CSeq: 2 BYE 5848 Content-Length: 0 5850 /* Park Server reports success back to B by returning all the SIP 5851 headers in 200 OK response */ 5853 F14 NOTIFY Park Server -> B 5855 NOTIFY sip:UserB@client.there.com SIP/2.0 5856 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5857 To: LittleGuy ;tag=02134 5858 Max-Forwards: 70 5859 From: Park Server ;tag=56323 5860 Call-ID: 4802029847@there.com 5861 CSeq: 1 NOTIFY 5862 Event: refer 5863 Subscription-State: terminated;reason=noresource 5864 Content-Type: message/sipfrag 5865 Content-Length: ... 5867 SIP/2.0 200 OK 5868 Via: SIP/2.0/UDP music.server.com:5060 5869 From: ;tag=0111 5870 To: BigGuy ;tag=098594 5871 Call-ID: a5-75-34-12-76@server.com 5872 CSeq: 2 INVITE 5873 Contact: 5875 F15 200 OK B -> Park Server 5877 SIP/2.0 200 OK 5878 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5879 ;received=192.0.2.103 5880 To: LittleGuy ;tag=02134 5881 From: Park Server ;tag=56323 5882 Call-ID: 4802029847@there.com 5883 CSeq: 2 NOTIFY 5884 Content-Length: 0 5886 /* User A is now parked at the Park Server */ 5888 /* User C picks up the call by sending an INVITE to A which replaces 5889 the existing session with the Park/Park Server. C needs to know the 5890 dialog information to construct the Replaces header. */ 5892 F16 INVITE C -> A 5894 INVITE sip:UserA@here.com SIP/2.0 5895 Via: SIP/2.0/UDP client.anywhere.com:5060;branch=z9hG4bK74bf9 5896 Max-Forwards: 70 5897 From: OtherGuy ;tag=5893461 5898 To: BigGuy 5899 Call-ID: 6485356@anywhere.com 5900 CSeq: 1 INVITE 5901 Contact: 5902 Replaces: a5-75-34-12-76@server.com;from-tag=098594;to-tag=0111 5903 Content-Type: application/sdp 5904 Content-Length: ... 5906 v=0 5907 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 5908 s=Session SDP 5909 c=IN IP4 client.anywhere.com 5910 t=3034423619 0 5911 m=audio 3456 RTP/AVP 0 5912 a=rtpmap:0 PCMU/8000 5914 F17 200 OK A -> C 5916 SIP/2.0 200 OK 5917 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5918 ;received=192.0.2.105 5920 From: OtherGuy ;tag=5893461 5921 To: BigGuy ;tag=222 5922 Call-ID: 6485356@anywhere.com 5923 CSeq: 1 INVITE 5924 Contact: 5925 Supported: replaces 5926 Content-Type: application/sdp 5927 Content-Length: ... 5929 v=0 5930 o=UserA 2890844527 2890844527 IN IP4 client.here.com 5931 s=Session SDP 5932 c=IN IP4 client.here.com 5933 t=3034423619 0 5934 m=audio 49170 RTP/AVP 0 5935 a=rtpmap:0 PCMU/8000 5937 F18 ACK C -> A 5939 ACK sip:UserA@client.here.com SIP/2.0 5940 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5941 Max-Forwards: 70 5942 From: OtherGuy ;tag=5893461 5943 To: BigGuy ;tag=222 5944 Call-ID: 6485356@anywhere.com 5945 CSeq: 1 ACK 5946 Content-Length: 0 5948 /* A replaces the session to the Park Server with the new session 5949 with C and generates a BYE to disconnect the Park Server */ 5951 F19 BYE A -> Park Server 5953 BYE sip:park@server.com SIP/2.0 5954 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5955 Max-Forwards: 70 5956 From: BigGuy ;tag=098594 5957 To: ;tag=0111 5958 Call-ID: a5-75-34-12-76@server.com 5959 CSeq: 1 BYE 5960 Content-Length: 0 5962 F20 200 OK Park Server -> A 5964 SIP/2.0 200 OK 5965 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 5966 ;received=192.0.2.103 5967 From: BigGuy ;tag=098594 5968 To: ;tag=0111 5969 Call-ID: a5-75-34-12-76@server.com 5970 CSeq: 1 BYE 5971 Content-Length: 0 5973 2.16 Call Pickup 5975 User A User B User D 5976 | | | 5977 | INVITE F1 | | 5978 |------------->| | 5979 |180 Ringing F2| | 5980 |<-------------| | 5981 | | SUBSCRIBE F3 | 5982 | |<------------------| 5983 | | 200 OK F4 | 5984 | |------------------>| 5985 | | NOTIFY F5 | 5986 | |------------------>| 5987 | | 200 OK F6 | 5988 | |<------------------| 5989 | INVITE Replaces:B F7 | 5990 |<---------------------------------| 5991 | | 200 OK F8 | 5992 |--------------------------------->| 5993 | CANCEL F9 | | 5994 |------------->| | 5995 | 200 OK F10 | | 5996 |<-------------| | 5997 | 487 F11 | | 5998 |<-------------| | 5999 | ACK F12 | | 6000 |------------->| | 6001 | ACK F13 | 6002 |<---------------------------------| 6003 | | NOTIFY F14 | 6004 | |------------------>| 6005 | | 481 F15 | 6006 | |<------------------| 6007 | | 6008 | Both way RTP Established | 6009 |<================================>| 6010 | BYE F16 | 6011 |--------------------------------->| 6012 | 200 OK F17 | 6013 |<---------------------------------| 6014 | | 6016 User B and D are part of a work group at client.there.com that can 6017 pick up each others calls. User A calls B who does not answer. User 6018 D wishes to pick up the call and sends a SUBSCRIBE to B to retrieve 6019 the dialog information. D then generates an INVITE with a Replaces 6020 to A. A answers the INVITE and sends a CANCEL to stop B�s phone 6021 ringing. Note that the order of the CANCEL/ACK sequence in F11 6022 through F20 is not significant. 6024 Message Details 6026 F1 INVITE A -> B 6028 INVITE sip:UserB@there.com SIP/2.0 6029 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6030 Max-Forwards: 70 6031 From: BigGuy ;tag=1234567 6032 To: LittleGuy 6033 Call-ID: 12345600@here.com 6034 CSeq: 1 INVITE 6035 Contact: 6036 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6037 Supported: replaces 6038 Content-Type: application/sdp 6039 Content-Length: ... 6041 v=0 6042 o=UserA 2890844526 2890844526 IN IP4 client.here.com 6043 s=Session SDP 6044 c=IN IP4 client.here.com 6045 t=0 0 6046 m=audio 49170 RTP/AVP 0 6047 a=rtpmap:0 PCMU/8000 6049 F2 180 Ringing B1 -> A 6051 SIP/2.0 180 Ringing 6052 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6053 ;received=192.0.2.103 6054 From: BigGuy ;tag=1234567 6055 To: LittleGuy ;tag=3145678 6056 Call-ID: 12345600@here.com 6057 CSeq: 1 INVITE 6058 Contact: 6059 Content-Length: 0 6061 /* User B decides to pick up the call */ 6063 F3 SUBSCRIBE D -> B 6065 SUBSCRIBE sip:UserB@there.com SIP/2.0 6066 Via: SIP/2.0/UDP smallguy.there.com:5060;branch=z9hG4bK74bf 6067 Max-Forwards: 70 6068 From: SmallGuy ;tag=8675309 6069 To: LittleGuy 6070 Call-ID: rt4353gs2egg@smallguy.there.com 6071 CSeq: 1 INVITE 6072 Contact: 6073 Event: dialog 6074 Subscription-State: active;expires=3600 6075 Accept: application/dialog-info+xml 6076 Content-Length: 0 6078 F4 200 OK B -> D 6080 SIP/2.0 200 OK 6081 Via: SIP/2.0/UDP smallguy.there.com:5060;branch=z9hG4bK74bf 6082 ;received=192.0.2.114 6083 Max-Forwards: 70 6084 From: SmallGuy ;tag=8675309 6085 To: LittleGuy ;tag=31451098 6086 Call-ID: rt4353gs2egg@smallguy.there.com 6087 CSeq: 1 INVITE 6088 Content-Length: 0 6090 F5 NOTIFY B -> D 6092 NOTIFY sip:UserB@there.com SIP/2.0 6093 Via: SIP/2.0/UDP littleguy.there.com:5060;branch=z9hG4bK74bf 6094 Max-Forwards: 70 6095 From: LittleGuy ;tag=31451098 6096 To: SmallGuy ;tag=8675309 6097 Call-ID: rt4353gs2egg@smallguy.there.com 6098 CSeq: 1 NOTIFY 6099 Contact: 6100 Event: dialog 6101 Subscription-State: active;expires=3600 6102 Content-Type: application/dialog-info+xml 6103 Content-Length: ... 6105 6106 6108 6111 early 6112 6113 6115 F6 200 OK D -> B 6117 SIP/2.0 200 OK 6118 Via: SIP/2.0/UDP littleguy.there.com:5060;branch=z9hG4bK74bf 6119 From: LittleGuy ;tag=31451098 6120 To: SmallGuy ;tag=8675309 6121 Call-ID: rt4353gs2egg@smallguy.there.com 6122 CSeq: 1 NOTIFY 6123 Contact: 6124 Content-Length: 0 6126 F7 INVITE D -> A 6128 INVITE sip:UserA@client.here.com SIP/2.0 6129 Via: SIP/2.0/UDP smallguy.there.com:5060;branch=z9hG4bK74bf 6130 Max-Forwards: 70 6131 From: SmallGuy ;tag=8675309 6132 To: BigGuy 6133 Call-ID: 563456212@b2.there.com 6134 CSeq: 1 INVITE 6135 Replaces: 12345600@here.com;to-tag=314578;from-tag=1234567 6136 Contact: 6137 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6138 Supported: replaces 6139 Content-Type: application/sdp 6140 Content-Length: ... 6142 v=0 6143 o=UserB 2890843122 2890843122 IN IP4 smallguy.there.com 6144 s=Session SDP 6145 c=IN IP4 client2.there.com 6146 t=3034423619 0 6147 m=audio 5342 RTP/AVP 0 6148 a=rtpmap:0 PCMU/8000 6150 /* A matches the dialog information in the Replaces header and 6151 accepts the INVITE */ 6153 F8 200 OK A -> D 6155 SIP/2.0 200 OK 6156 Via: SIP/2.0/UDP smallguy.there.com:5060;branch=z9hG4bK74bf 6157 ;received=192.0.2.114 6158 From: SmallGuy ;tag=8675309 6159 To: BigGuy ;tag=131256 6160 Call-ID: 563456212@b2.there.com 6161 CSeq: 1 INVITE 6162 Contact: 6163 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 6164 Supported: replaces 6165 Content-Type: application/sdp 6166 Content-Length: ... 6168 v=0 6169 o=UserA 289084543 289084543 IN IP4 client.here.com 6170 s=Session SDP 6171 c=IN IP4 client.here.com 6172 t=0 0 6173 m=audio 49172 RTP/AVP 0 6174 a=rtpmap:0 PCMU/8000 6176 /* A stops B�s phone from ringing by sending a CANCEL */ 6178 F9 CANCEL A -> B 6180 CANCEL sip:UserB@there.com SIP/2.0 6181 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6182 Max-Forwards: 70 6183 From: BigGuy ;tag=1234567 6184 To: LittleGuy 6185 Call-ID: 12345600@here.com 6186 CSeq: 1 CANCEL 6187 Content-Length: 0 6189 F10 200 OK B -> A 6191 SIP/2.0 200 OK 6192 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6193 ;received=192.0.2.103 6194 From: BigGuy ;tag=1234567 6195 To: LittleGuy 6196 Call-ID: 12345600@here.com 6197 CSeq: 1 CANCEL 6198 Content-Length: 0 6200 F11 487 Request Terminated B1 -> Proxy 6202 SIP/2.0 487 Request Terminated 6203 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6204 ;received=192.0.2.103 6205 From: BigGuy ;tag=1234567 6206 To: LittleGuy ;tag=3145678 6207 Call-ID: 12345600@here.com 6208 CSeq: 1 INVITE 6209 Content-Length: 0 6211 F12 ACK A -> B 6213 ACK sip:UserB1@client.there.com SIP/2.0 6214 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 6215 Max-Forwards: 70 6216 From: BigGuy ;tag=1234567 6217 To: LittleGuy ;tag=3145678 6218 Call-ID: 12345600@here.com 6219 CSeq: 1 ACK 6220 Content-Length: 0 6222 Content-Length: 0 6224 F13 ACK D -> A 6226 ACK sip:UserA@client.here.com SIP/2.0 6227 Via: SIP/2.0/UDP b2.there.com:5060;branch=z9hG4bK74bf 6228 Max-Forwards: 70 6229 From: LittleGuy ;tag=8675309 6230 To: BigGuy ;tag=131256 6231 Call-ID: 563456212@b2.there.com 6232 CSeq: 1 ACK 6233 Content-Length: 0 6235 F14 NOTIFY B -> D 6237 NOTIFY sip:UserB@there.com SIP/2.0 6238 Via: SIP/2.0/UDP littleguy.there.com:5060;branch=z9hG4bK74bf 6239 Max-Forwards: 70 6240 From: LittleGuy ;tag=31451098 6241 To: SmallGuy ;tag=8675309 6242 Call-ID: rt4353gs2egg@smallguy.there.com 6243 CSeq: 2 NOTIFY 6244 Contact: 6245 Event: dialog 6246 Subscription-State: active;expires=3600 6247 Content-Type: application/dialog-info+xml 6248 Content-Length: ... 6250 6251 6253 6255 terminated 6256 6257 6259 F15 481 Dialog Does Not Exist D -> B 6261 SIP/2.0 481 Dialog Does Not Exist 6262 Via: SIP/2.0/UDP littleguy.there.com:5060;branch=z9hG4bK74bf 6263 From: LittleGuy ;tag=31451098 6264 To: SmallGuy ;tag=8675309 6265 Call-ID: rt4353gs2egg@smallguy.there.com 6266 CSeq: 2 NOTIFY 6267 Contact: 6268 Content-Length: 0 6270 /* RTP streams are established between A and D. User A Hangs Up 6271 with User B. */ 6273 F16 BYE A -> Proxy 6275 BYE sip:UserD@there.com SIP/2.0 6276 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6277 Max-Forwards: 70 6278 To: LittleGuy ;tag=8675309 6279 From: BigGuy ;tag=131256 6280 Call-ID: 563456212@b2.there.com 6281 CSeq: 2 BYE 6282 Content-Length: 0 6284 F17 200 OK D -> A 6286 SIP/2.0 200 OK 6287 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6288 ;received=192.0.2.103 6289 To: LittleGuy ;tag=8675309 6290 From: BigGuy ;tag=131256 6291 Call-ID: 563456212@b2.there.com 6292 CSeq: 2 BYE 6293 Content-Length: 0 6295 2.17 Automatic Redial 6297 User A User B 6298 | | 6299 | INVITE F1 | 6300 |--------------->| 6301 |486 Busy Here F2| 6302 |<---------------| User B is busy 6303 | ACK F3 | 6304 |--------------->| 6305 | SUBSCRIBE F4 | 6306 |--------------->| 6307 | 200 OK F5 | 6308 |<---------------| 6309 | NOTIFY F6 | 6310 |<---------------| 6311 | 200 OK F7 | 6312 |--------------->| 6313 | | 6314 | NOTIFY F8 | User B is now available 6315 |<---------------| 6316 | 200 OK F9 | 6317 |--------------->| 6318 | | 6319 | INVITE F10 | 6320 |--------------->| Session setup successfully 6321 | 180 Ringing F11| 6322 |<---------------| 6323 | 200 OK F12 | 6324 |<---------------| 6325 | ACK F13 | 6326 |--------------->| 6327 | Media Session | 6328 |<==============>| 6329 | | 6331 User B is initially busy when User A calls. User A subscribes to 6332 User B�s call state using a SUBSCRIBE F4. User B sends a NOTIFY F8 6333 when User B is available. A is alerted, then User A sends an INVITE 6334 to B to establish the session. 6336 Message Details 6338 F1 INVITE A -> B 6340 INVITE sip:UserB@there.com SIP/2.0 6341 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6342 Max-Forwards: 70 6343 From: BigGuy ;tag=1234567 6344 To: LittleGuy 6345 Call-ID: 12345600@here.com 6346 CSeq: 1 INVITE 6347 Contact: 6348 Content-Type: application/sdp 6349 Content-Length: ... 6351 v=0 6352 o=UserA 2890844526 2890844526 IN IP4 client.here.com 6353 s=Session SDP 6354 c=IN IP4 client.here.com 6355 t=3034423619 0 6356 m=audio 49170 RTP/AVP 0 6357 a=rtpmap:0 PCMU/8000 6359 F2 486 Busy Here 6361 SIP/2.0 486 Busy Here 6362 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6363 From: BigGuy ;tag=1234567 6364 To: LittleGuy ;tag=982039i4 6365 Call-ID: 12345600@here.com 6366 CSeq: 1 INVITE 6367 Content-Length: 0 6369 F3 ACK A -> B 6371 INVITE sip:UserB@there.com SIP/2.0 6372 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6373 Max-Forwards: 70 6374 From: BigGuy ;tag=1234567 6375 To: LittleGuy ;tag=982039i4 6376 Call-ID: 12345600@here.com 6377 CSeq: 1 ACK 6378 Content-Length: 0 6380 F4 SUBSCRIBE A -> B 6382 SUBSCRIBE sip:UserB@there.com SIP/2.0 6383 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6384 Max-Forwards: 70 6385 From: BigGuy ;tag=837348234 6386 To: LittleGuy 6387 Call-ID: 4524526232@here.com 6388 CSeq: 1 SUBSCRIBE 6389 Contact: UserA@client.here.com 6390 Event: dialog 6391 Subscription-State: active;expires=3600 6392 Accept: application/dialog-info+xml 6393 Content-Length: 0 6395 F5 200 OK B -> A 6397 SIP/2.0 200 OK 6398 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6399 From: BigGuy ;tag=837348234 6400 To: LittleGuy 6401 Call-ID: 4524526232@here.com 6402 CSeq: 1 SUBSCRIBE 6403 Contact: UserB@client.there.com 6404 Content-Length: 0 6406 F6 NOTIFY B -> A 6408 NOTIFY sip:UserA@here.com SIP/2.0 6409 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6410 Max-Forwards: 70 6411 From: LittleGuy ;tag=341123 6412 To: BigGuy ;tag=837348234 6413 Call-ID: 4524526232@here.com 6414 CSeq: 1 NOTIFY 6415 Event: dialog 6416 Subscription-State: active;expires=3600 6417 Content-Type: application/dialog-info+xml 6418 Content-Length: ... 6420 6421 6423 6424 confirmed 6425 6426 6428 F7 200 OK A -> B 6430 SIP/2.0 200 OK 6431 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6432 From: LittleGuy ;tag=341123 6433 To: BigGuy ;tag=837348234 6434 Call-ID: 4524526232@here.com 6435 CSeq: 1 NOTIFY 6436 Content-Length: 0 6438 /* User B is now available */ 6440 F8 NOTIFY B -> A 6441 NOTIFY sip:UserA@here.com SIP/2.0 6442 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6443 Max-Forwards: 70 6444 From: LittleGuy ;tag=341123 6445 To: BigGuy ;tag=837348234 6446 Call-ID: 4524526232@here.com 6447 CSeq: 2 NOTIFY 6448 Event: dialog 6449 Subscription-State: active;expires=3600 6450 Content-Type: application/dialog-info+xml 6451 Content-Length: ... 6453 6454 6456 6457 terminated 6458 6459 6461 F9 200 OK A -> B 6463 SIP/2.0 200 OK 6464 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6465 From: LittleGuy ;tag=341123 6466 To: BigGuy ;tag=837348234 6467 Call-ID: 4524526232@here.com 6468 CSeq: 2 NOTIFY 6469 Content-Length: 0 6471 Message Details 6473 F10 INVITE A -> B 6475 INVITE sip:UserB@there.com SIP/2.0 6476 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6477 Max-Forwards: 70 6478 From: BigGuy ;tag=f23fkg14k 6479 To: LittleGuy 6480 Call-ID: aoij4i9okitr@here.com 6481 CSeq: 1 INVITE 6482 Contact: 6483 Content-Type: application/sdp 6484 Content-Length: ... 6486 v=0 6487 o=UserA 2890844526 2890844526 IN IP4 client.here.com 6488 s=Session SDP 6489 c=IN IP4 client.here.com 6490 t=3034423619 0 6491 m=audio 49170 RTP/AVP 0 6492 a=rtpmap:0 PCMU/8000 6494 F11 180 Ringing B -> A 6496 SIP/2.0 180 Ringing 6497 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6498 ;received=192.0.2.103 6499 From: BigGuy ;tag=f23fkg14k 6500 To: LittleGuy ;tag=23431 6501 Call-ID: aoij4i9okitr@here.com 6502 CSeq: 1 INVITE 6503 Contact: 6504 Content-Length: 0 6506 F12 200 OK B -> A 6508 SIP/2.0 200 OK 6509 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6510 ;received=192.0.2.103 6511 From: BigGuy ;tag=f23fkg14k 6512 To: LittleGuy ;tag=23431 6513 Call-ID: aoij4i9okitr@here.com 6514 CSeq: 1 INVITE 6515 Contact: 6516 Content-Type: application/sdp 6517 Content-Length: ... 6519 v=0 6520 o=UserB 2890844527 2890844527 IN IP4 client.there.com 6521 s=Session SDP 6522 c=IN IP4 client.there.com 6523 t=3034423619 0 6524 m=audio 3456 RTP/AVP 0 6525 a=rtpmap:0 PCMU/8000 6527 F13 ACK A -> B 6529 ACK sip:UserB@client.there.com SIP/2.0 6530 Via: SIP/2.0/UDP client.here.com:5060;branch=z9hG4bK74bf9 6531 Max-Forwards: 70 6532 From: BigGuy ;tag=f23fkg14k 6533 To: LittleGuy ;tag=23431 6534 Call-ID: aoij4i9okitr@here.com 6535 CSeq: 1 ACK 6536 Content-Length: 0 6538 3 Security Considerations 6540 Since many of the examples in this document involve SIP call control, 6541 either peer-to-peer or 3pcc, the security considerations in the 6542 Multiparty Framework document [12] apply. 6544 4 IANA Considerations 6546 None. 6548 5 Acknowledgements 6550 The Automatic Call Back call flow is based on a call flow by Adam 6551 Roach. The Single Line Extension call flow is based on a call flow 6552 by Jonathan Rosenberg. The authors wish to thank the following 6553 individuals for their assistance and review of this call flows 6554 document: Rohan Mahey, Jonathan Rosenberg, Hemant Agrawal, Henry 6555 Sinnreich, Dean Willis, David Devanatham, Joe Pizzimenti, Matt 6556 Cannon, John Hearty, the whole MCI WorldCom IPOP Design team, Scott 6557 Orton, Greg Osterhout, Pat Sollee, Doug Weisenberg, Danny Mistry, 6558 Steve McKinnon, and Denise Ingram, Denise Caballero, Tom Redman, Ilya 6559 Slain, Pat Sollee, John Truetken, and others from MCI WorldCom, 3Com, 6560 Cisco, Lucent and Nortel. 6562 6 References 6564 [1] S. Bradner, "The Internet Standards Process -- Revision 3", BCP 6565 9, RFC 2026, October 1996. 6567 [2] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, 6568 J. Peterson, R. Sparks, M. Handley, and E. Schooler, "SIP: 6569 Session Initiation Protocol", RFC 3261, June 2002. 6571 [3] A. Johnston, S. Donovan, R. Sparks, C. Cunningham, D. Willis, J. 6572 Rosenberg, and H. Schulzrinne, "SIP Call Flow Examples", Internet 6573 Draft, Internet Engineering Task Force, February 2002, Work in 6574 Progress. 6576 [4] R. Sparks, "The Refer Method", Internet Draft, 6577 Internet Engineering Task Force, July 2002, 6578 Work in Progress. 6580 [5] B. Biggs, R. Dean, and R. Mahy, "The SIP Replaces header," 6581 Internet Draft, Internet Engineering Task Force, January 2002, 6582 Work in Progress. 6584 [6] R. Mahy and D. Petrie,"The SIP Join Header," Internet Engineering 6585 Task Force, October 2002, Work in Progress. 6587 [7] J. Rosenberg, J. Peterson, H. Schulzrinne, and G. Camarillo, 6588 "Third Party Call Control in SIP," Internet Engineering Task 6589 Force, March 2001, Work in Progress. 6591 [8] J. Rosenberg and H. Schulzrinne, "An Offer/Answer Model with 6592 SDP," RFC 3264, June 2002. 6594 [9] R. Sparks and A. Johnston, "SIP Call Control � Transfer," 6595 Internet Engineering Task Force, October 2002, Work in progress. 6597 [10] J. Rosenberg and H. Schulzrinne, "A Session Initiation Protocol 6598 (SIP) Event Package for Dialog State," Internet Engineering Task 6599 Force, June 2002, Work in progress. 6601 [11] A. Roach, "SIP-Specific Event Notification," RFC 3265, June 6602 2002. 6604 [12] R. Mahy, B. Campbell, A. Johnston, D. Petrie, J. Rosenberg, and 6605 R. Sparks, "A Multi-party Application Framework for SIP," 6606 Internet Engineering Task Force, February 2002, Work in 6607 progress. 6609 7 Author's Addresses 6611 Alan Johnston Email: alan.johnston@wcom.com 6612 sip:alan.johnston@siptest.wcom.com 6614 Robert Sparks Email: rsparks@dynamicsoft.com 6616 Chris Cunningham Email: ccunningham@dynamicsoft.com 6618 Steve Donovan Email: sdonovan@dynamicsoft.com 6620 Kevin Summers Email: kevin.summers@sonusnet.com 6622 Copyright Notice 6624 "Copyright (C) The Internet Society 2002. All Rights Reserved. 6626 This document and translations of it may be copied and furnished to 6627 others, and derivative works that comment on or otherwise explain it 6628 or assist in its implementation may be prepared, copied, published 6629 and distributed, in whole or in part, without restriction of any 6630 kind, provided that the above copyright notice and this paragraph are 6631 included on all such copies and derivative works. However, this 6632 document itself may not be modified in any way, such as by removing 6633 the copyright notice or references to the Internet Society or other 6634 Internet organizations, except as needed for the purpose of 6635 developing Internet standards in which case the procedures for 6636 copyrights defined in the Internet Standards process must be 6637 followed, or as required to translate it into languages other than 6638 English. 6640 The limited permissions granted above are perpetual and will not be 6641 revoked by the Internet Society or its successors or assigns. 6643 This document and the information contained herein is provided on an 6644 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 6645 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 6646 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 6647 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 6648 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.