idnits 2.17.1 draft-ietf-sipping-service-examples-01.txt: -(5425): 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 11 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 133 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. == There are 213 instances of lines with non-RFC2606-compliant FQDNs in the document. == There are 98 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 1847 has weird spacing: '...success back ...' == Line 4304 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 ---------------------------------------------------------------------------- No issues found here. Summary: 7 errors (**), 0 flaws (~~), 7 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-01.txt Robert Sparks 5 Category: Informational Chris Cunningham 6 April 2002 Steve Donovan 7 Expires: September 2002 dynamicsoft 8 Kevin Summers 9 Sonus 11 SIP 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 SIP (Session Initiation 33 Protocol) services. This covers most features offered in so-called 34 Centrex offerings from local exchange carriers and PBX (Private 35 Branch Exchange) features. Most of the services shown in this 36 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 method and Replaces header. These features 39 are not intended to be an exhaustive set, but rather show 40 implementations of common features likely to be implemented on SIP IP 41 telephones in a business environment. 43 Table of Contents 45 1 Overview...................................................3 46 1.1 Legend for Message Flows...................................4 47 1.2 Document History...........................................4 48 2 IP Telephony Services Features Call Flows..................7 49 2.1 Call Hold..................................................7 50 2.2 Consultation Hold.........................................18 51 2.3 Music On Hold.............................................33 52 2.4 Unattended Transfer.......................................40 53 2.5 Attended Transfer.........................................46 54 2.6 Call Forwarding Unconditional.............................57 55 2.7 Call Forwarding - Busy....................................62 56 2.8 Call Forwarding - No Answer...............................69 57 2.9 3-way Conference..........................................77 58 2.10 Single Line Extension.....................................78 59 2.11 Find-Me...................................................94 60 2.12 Call Management (Incoming Call Screening)................104 61 2.13 Call Management (Outgoing Call Screening)................108 62 2.14 Call Park................................................111 63 2.15 Call Pickup..............................................119 64 2.16 Automatic Redial.........................................126 65 3 References...............................................132 66 4 Author's Addresses.......................................133 68 1 Overview 70 This informational document provides call flows detailing a SIP 71 implementation of the following traditional telephony services: 73 Call Hold Music on Hold 74 Unattended Transfer Consultation Hold 75 Unconditional Call Forwarding Attended Transfer 76 No Answer Call Forwarding Busy Call Forwarding 77 Single-Line Extension 3-way Call 78 Incoming Call Screening Find-Me 79 Call Pickup Call Park 80 Outgoing Call Screening Automatic Redial 82 It is the hope of the authors that this document will be useful for 83 SIP implementors, users, designers, and protocol researchers alike 84 and will help further the goal of a standard SIP implementation for 85 IP Telephony. It is envisioned that as changes to the standard and 86 additional RFCs are added that this document will reflect those 87 changes and represent the current state of a standard SIP IP 88 Telephony implementation. 90 These flows use SIP as defined by RFC 2543bis [2] and [8]. Note that 91 this document is informational, and nothing stated here should be 92 taken as normative. The SIP specification and the other referenced 93 documents are definitive as far as protocol issues are concerned. 94 Also, these flows do not represent the only way to implement these 95 services - other approaches such as 3pcc (Third Party Call Control) 96 or Back-to-Back User Agents (B2BUA) may be more appropriate in some 97 circumstances. 99 These flows assume the functionality described in the SIP Call Flow 100 Examples document [3], which explores basic behavior and PSTN 101 internetworking. Some of the scenarios described herein make use of 102 the SIP method extension REFER [4] and the SIP header extension 103 Replaces [5], the SIP header extension Accept-Contact [6], and some 104 of the concepts in the 3pcc (third party call control) document [7]. 105 The SIP Events document [11] describes the use of SUBSCRIBE and 106 NOTIFY while the SIP Call Package document [10] describes the dialog 107 event package. 109 The call flow for the Single Line Extension requires an INVITE 110 containing "join" semantics, which request the recipient to provide 111 media mixing for a session. No SIP Working Group document describes 112 such a mechanism to date. 114 These flows were prepared assuming a network of proxies, registrars, 115 PSTN gateways, and other SIP servers that have a pre-established 116 trust relationship with each other, secured through other means than 117 SIP. User agents wishing to use the services in this network are 118 required to authenticate themselves with an edge proxy using SIP 119 Digest. To improve the clarity of this document, authentication of 120 User Agents is not explicitly shown in all flows, except where 121 authentication directly relates to the service example. 123 Each call flow is presented with a textual description of the 124 scenario, a message flow diagram showing the messages exchanged 125 between separate network elements, and the detailed contents of each 126 message shown in the diagram. 128 1.1 Legend for Message Flows 130 Dashed lines (---) represent control messages that are mandatory to 131 the call scenario. These control messages can be SIP or PSTN 132 signaling. 134 Double dashed lines (===) represent media paths between network 135 elements. 137 Messages with parenthesis around name represent optional control 138 messages. 140 Messages are identified in the Figures as F1, F2, etc. This 141 references the message details in the table that follows the Figure. 142 Comments in the message details are shown in the following form: 144 /* Comments. */ 146 1.2 Document History 148 The first version of this document was the Internet-Draft 149 "draft-sparks-sip-service-examples.txt" October 1999. 151 The next version was combined with the SIP Telephony Call Flows 152 document into the "draft-ietf-sip-call-flows-00.txt" April 2000. 154 This version is based on Section 7 of that document with many of the 155 examples extensively rewritten using the REFER method. 157 1.3 Changes to 00 159 - Moddified all REFER flows to include 202 Accepted and NOTIFY 160 result message. 162 - Removed "Telephony" from title of document. 164 - Added note on 2.9 on use of REFER to exit 3-way conference. 166 - Modified Music on Hold/Call Park flow (2.2). 168 - Modified order of messages in transfers (2.4 and 2.5) to more 169 closely resemble PSTN experience. 171 - Added Call Pickup flow (2.13). 173 - Added editorial notes on usefulness of Replaces header. 175 1.4 Changes to 01 177 - Added Replaces header to flows. 179 - Changed handling of call hold. 181 - Added Contact and Referred-By headers and ref parameters to REFER 182 messages. 184 - Changed some Contacts, Routes, and Request-URIs to IP addresses. 186 - Incremented o= line when SDP is updated with hold. 188 - Added From tags throughout. 190 - Renamed Music On Hold/Call Park to Call Park and added new Music On 191 Hold call flow using 3pcc. 193 1.5 Changes to 02 195 - Changed call hold flows to show sendonly attribute based on [8]. 197 - Removed ref parameter from the Referred-By headers since it is now 198 just a generic paramter in the latest draft [4]. (Note that if the 199 ref parameter stays, additional characters such as "<", "@", and ">" 200 must be escaped.) 202 - Removed tags in CANCEL requests and responses. 204 1.6 Changes to sipping-00 206 - Added Max-Forwards 208 - Added branch parm and received param to Vias 210 - Changed Record-Route and Route behavior to show loose routing. 212 - Added Record-Route and Contact to 18x responses 214 - Changed Call Pickup to show Replaces with an early dialog 216 - Changed description of Single Line Extension service 218 - Changed Call Park and Pickup flow to show a different user picking 219 up the call. 221 - Added Allow and Supported headers to REFER and replaces flows. 223 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 2 IP Telephony Services Features Call Flows 238 These call flows show how a number of standard telephony features can 239 be implemented using SIP. They are not meant to represent a complete 240 set. Some calls make use of SIP extensions. 242 2.1 Call Hold 244 User A Proxy User B 245 | | | 246 | INVITE F1 | | 247 |--------------->| | 248 | | INVITE F2 | 249 |(100 Trying) F3 |------------->| 250 |<---------------| | 251 | |180 Ringing F4| 252 | 180 Ringing F5 |<-------------| 253 |<---------------| | 254 | | 200 OK F6 | 255 | 200 OK F7 |<-------------| 256 |<---------------| | 257 | ACK F8 | | 258 |--------------->| ACK F9 | 259 | |------------->| 260 | Both way RTP Established | 261 |<=============================>| 262 | |INVITE(hold) F10 263 |INVITE(hold) F11|<-------------| 264 |<---------------| | 265 | 200 OK F12 | | 266 |--------------->| 200 OK F13 | 267 | |------------->| 268 | | ACK F14 | 269 | ACK F15 |<-------------| 270 |<---------------| | 271 | No RTP Sent! | 272 | | INVITE F16 | 273 | INVITE F17 |<-------------| 274 |<---------------| | 275 | 200 OK F18 | | 276 |--------------->| 200 OK F19 | 277 | |------------->| 278 | | ACK F20 | 279 | ACK F21 |<-------------| 280 |<---------------| | 281 | Both way RTP Established | 282 |<=============================>| 283 | BYE F22 | | 284 |--------------->| BYE F23 | 285 | |------------->| 286 | | 200 OK F24 | 287 | 200 OK F25 |<-------------| 288 |<---------------| | 289 | | | 291 User A calls User B, User B places call on hold. User B then takes 292 call off hold. User A hangs up call. Hold is unidirectional in 293 nature. However, a UA that places the other party on hold will 294 generally also stop sending media, resulting in no media exchange 295 between the UAs. 297 Message Details 299 F1 INVITE A -> Proxy 1 301 INVITE sip:UserB@there.com SIP/2.0 302 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 303 Max-Forwards: 70 304 From: BigGuy ;tag=1234567 305 To: LittleGuy 306 Call-ID: 12345601@here.com 307 CSeq: 1 INVITE 308 Contact: 309 Content-Type: application/sdp 310 Content-Length: ... 312 v=0 313 o=UserA 2890844526 2890844526 IN IP4 client.here.com 314 s=Session SDP 315 c=IN IP4 100.101.102.103 316 t=3034423619 0 317 m=audio 49170 RTP/AVP 0 318 a=rtpmap:0 PCMU/8000 320 F2 INVITE Proxy 1 -> B 322 INVITE sip:UserB@110.111.112.113 SIP/2.0 323 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 324 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 325 ;received=100.101.102.103 326 Record-Route: 327 Max-Forwards: 69 328 From: BigGuy ;tag=1234567 329 To: LittleGuy 330 Call-ID: 12345601@here.com 331 CSeq: 1 INVITE 332 Contact: 333 Content-Type: application/sdp 334 Content-Length: ... 336 v=0 337 o=UserA 2890844526 2890844526 IN IP4 client.here.com 338 s=Session SDP 339 c=IN IP4 100.101.102.103 340 t=3034423619 0 341 m=audio 49170 RTP/AVP 0 342 a=rtpmap:0 PCMU/8000 344 F3 (100 Trying) Proxy 1 -> A 346 SIP/2.0 100 Trying 347 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 348 ;received=100.101.102.103 349 From: BigGuy ;tag=1234567 350 To: LittleGuy 351 Call-ID: 12345601@here.com 352 CSeq: 1 INVITE 353 Content-Length: 0 355 F4 180 Ringing B -> Proxy 1 357 SIP/2.0 180 Ringing 358 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 359 ;received=1.2.3.4 360 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 361 ;received=100.101.102.103 362 Record-Route: 363 From: BigGuy ;tag=1234567 364 To: LittleGuy ;tag=314159 365 Call-ID: 12345601@here.com 366 CSeq: 1 INVITE 367 Contact: 368 Content Length:0 370 F5 180 Ringing Proxy 1 -> A 372 SIP/2.0 180 Ringing 373 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 374 ;received=100.101.102.103 375 Record-Route: 376 From: BigGuy ;tag=1234567 377 To: LittleGuy ;tag=314159 378 Call-ID: 12345601@here.com 379 CSeq: 1 INVITE 380 Contact: 381 Content Length: 0 383 F6 200 OK B -> Proxy 1 384 SIP/2.0 200 OK 385 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 386 ;received=1.2.3.4 387 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 388 ;received=100.101.102.103 389 Record-Route: 390 From: BigGuy ;tag=1234567 391 To: LittleGuy ;tag=314159 392 Call-ID: 12345601@here.com 393 CSeq: 1 INVITE 394 Contact: 395 Content-Type: application/sdp 396 Content-Length: ... 398 v=0 399 o=UserB 2890844527 2890844527 IN IP4 client.there.com 400 s=Session SDP 401 c=IN IP4 110.111.112.113 402 t=3034423619 0 403 m=audio 3456 RTP/AVP 0 404 a=rtpmap:0 PCMU/8000 406 F7 200 OK Proxy 1 -> A 408 SIP/2.0 200 OK 409 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 410 ;received=100.101.102.103 411 Record-Route: 412 From: BigGuy ;tag=1234567 413 To: LittleGuy ;tag=314159 414 Call-ID: 12345601@here.com 415 CSeq: 1 INVITE 416 Contact: 417 Content-Type: application/sdp 418 Content-Length: ... 420 v=0 421 o=UserB 2890844527 2890844527 IN IP4 client.there.com 422 s=Session SDP 423 c=IN IP4 110.111.112.113 424 t=3034423619 0 425 m=audio 3456 RTP/AVP 0 426 a=rtpmap:0 PCMU/8000 428 F8 ACK A -> Proxy 1 430 ACK sip:UserB@110.111.112.113 SIP/2.0 431 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 432 Route: 433 Max-Forwards: 70 434 From: BigGuy ;tag=1234567 435 To: LittleGuy ;tag=314159 436 Call-ID: 12345601@here.com 437 CSeq: 1 ACK 438 Content-Length: 0 440 F9 ACK Proxy 1 -> B 442 ACK sip:UserB@110.111.112.113 SIP/2.0 443 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 444 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 445 ;received=100.101.102.103 446 Max-Forwards: 69 447 From: BigGuy ;tag=1234567 448 To: LittleGuy ;tag=314159 449 Call-ID: 12345601@here.com 450 CSeq: 1 ACK 451 Content-Length: 0 453 /* User B places User A on hold. Note that the version is 454 incremented in the o= field of the SDP */ 456 F10 INVITE B -> Proxy 1 458 INVITE sip:UserA@100.101.102.103 SIP/2.0 459 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 460 Route: 461 Max-Forwards: 70 462 From: LittleGuy ;tag=314159 463 To: BigGuy ;tag=1234567 464 Call-ID: 12345601@here.com 465 CSeq: 1 INVITE 466 Contact: 467 Content-Type: application/sdp 468 Content-Length: ... 470 v=0 471 o=UserB 2890844527 2890844528 IN IP4 client.there.com 472 s=Session SDP 473 c=IN IP4 110.111.112.113 474 t=3034423619 0 475 m=audio 3456 RTP/AVP 0 476 a=rtpmap:0 PCMU/8000 477 a=sendonly 479 F11 INVITE Proxy 1 -> A 481 INVITE sip:UserA@100.101.102.103 SIP/2.0 482 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 483 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 484 ;received=120.121.122.123 485 Record-Route: 486 Max-Forwards: 69 487 From: LittleGuy ;tag=314159 488 To: BigGuy ;tag=1234567 489 Call-ID: 12345601@here.com 490 CSeq: 1 INVITE 491 Contact: 492 Content-Type: application/sdp 493 Content-Length: ... 495 v=0 496 o=UserB 2890844527 2890844528 IN IP4 client.there.com 497 s=Session SDP 498 c=IN IP4 110.111.112.113 499 t=3034423619 0 500 m=audio 3456 RTP/AVP 0 501 a=rtpmap:0 PCMU/8000 502 a=sendonly 504 /* A replies with normal SDP */ 506 F12 200 OK A -> Proxy 1 508 SIP/2.0 200 OK 509 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 510 ;received=1.2.3.4 511 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 512 ;received=120.121.122.123 513 Record-Route: 514 From: LittleGuy ;tag=314159 515 To: BigGuy ;tag=1234567 516 Call-ID: 12345601@here.com 517 CSeq: 1 INVITE 518 Contact: 519 Content-Type: application/sdp 520 Content-Length: ... 522 v=0 523 o=UserA 2890844526 2890844526 IN IP4 client.here.com 524 s=Session SDP 525 c=IN IP4 100.101.102.103 526 t=3034423619 0 527 m=audio 49170 RTP/AVP 0 528 a=rtpmap:0 PCMU/8000 530 F13 200 OK Proxy 1 -> B 532 SIP/2.0 200 OK 533 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 534 ;received=120.121.122.123 535 Record-Route: 536 From: LittleGuy ;tag=314159 537 To: BigGuy ;tag=1234567 538 Call-ID: 12345601@here.com 539 CSeq: 1 INVITE 540 Contact: 541 Content-Type: application/sdp 542 Content-Length: ... 544 v=0 545 o=UserA 2890844526 2890844526 IN IP4 client.here.com 546 s=Session SDP 547 c=IN IP4 100.101.102.103 548 t=3034423619 0 549 m=audio 49170 RTP/AVP 0 550 a=rtpmap:0 PCMU/8000 552 F14 ACK B -> Proxy 1 554 ACK sip:UserA@100.101.102.103 SIP/2.0 555 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 556 Route: 557 Max-Forwards: 70 558 From: LittleGuy ;tag=314159 559 To: BigGuy ;tag=1234567 560 Call-ID: 12345601@here.com 561 CSeq: 1 ACK 562 Content-Length: 0 564 F15 ACK Proxy 1 -> A 566 ACK sip:UserA@100.101.102.103 SIP/2.0 567 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 568 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 569 ;received=120.121.122.123 570 Max-Forwards: 69 571 From: LittleGuy ;tag=314159 572 To: BigGuy ;tag=1234567 573 Call-ID: 12345601@here.com 574 CSeq: 1 ACK 575 Content-Length: 0 577 /* User B takes the call off hold */ 579 F16 INVITE B -> Proxy 1 581 INVITE sip:UserA@100.101.102.103 SIP/2.0 582 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 583 Route: 584 Max-Forwards: 70 585 From: LittleGuy ;tag=314159 586 To: BigGuy ;tag=1234567 587 Call-ID: 12345601@here.com 588 CSeq: 2 INVITE 589 Contact: 590 Content-Type: application/sdp 591 Content-Length: ... 593 v=0 594 o=UserB 2890844527 2890844529 IN IP4 client.there.com 595 s=Session SDP 596 c=IN IP4 110.111.112.113 597 t=3034423619 0 598 m=audio 3456 RTP/AVP 0 599 a=rtpmap:0 PCMU/8000 601 F17 INVITE Proxy 1 -> A 603 INVITE sip:UserA@100.101.102.103 SIP/2.0 604 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 605 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 606 ;received=120.121.122.123 607 Record-Route: 608 Max-Forwards: 69 609 From: LittleGuy ;tag=314159 610 To: BigGuy ;tag=1234567 611 Call-ID: 12345601@here.com 612 CSeq: 2 INVITE 613 Contact: 614 Content-Type: application/sdp 615 Content-Length: ... 617 v=0 618 o=UserB 2890844527 2890844529 IN IP4 client.there.com 619 s=Session SDP 620 c=IN IP4 110.111.112.113 621 t=3034423619 0 622 m=audio 3456 RTP/AVP 0 623 a=rtpmap:0 PCMU/8000 625 F18 200 OK A -> Proxy 1 627 SIP/2.0 200 OK 628 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 629 ;received=1.2.3.4 630 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 631 ;received=120.121.122.123 633 Record-Route: 634 From: LittleGuy ;tag=314159 635 To: BigGuy ;tag=1234567 636 Call-ID: 12345601@here.com 637 CSeq: 2 INVITE 638 Contact: 639 Content-Type: application/sdp 640 Content-Length: ... 642 v=0 643 o=UserA 2890844526 2890844526 IN IP4 client.here.com 644 s=Session SDP 645 c=IN IP4 100.101.102.103 646 t=3034423619 0 647 m=audio 49170 RTP/AVP 0 648 a=rtpmap:0 PCMU/8000 650 F19 200 OK Proxy 1 -> B 652 SIP/2.0 200 OK 653 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 654 ;received=120.121.122.123 655 Record-Route: 656 From: LittleGuy ;tag=314159 657 To: BigGuy ;tag=1234567 658 Call-ID: 12345601@here.com 659 CSeq: 2 INVITE 660 Contact: 661 Content-Type: application/sdp 662 Content-Length: ... 664 v=0 665 o=UserA 2890844526 2890844526 IN IP4 client.here.com 666 s=Session SDP 667 c=IN IP4 100.101.102.103 668 t=3034423619 0 669 m=audio 49170 RTP/AVP 0 670 a=rtpmap:0 PCMU/8000 672 F20 ACK B -> Proxy 1 674 ACK sip:UserA@100.101.102.103 SIP/2.0 675 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 676 Route: 677 Max-Forwards: 70 678 From: LittleGuy ;tag=314159 679 To: BigGuy ;tag=1234567 680 Call-ID: 12345601@here.com 681 CSeq: 2 ACK 682 Content-Length: 0 683 F21 ACK Proxy 1 -> A 685 ACK sip:UserA@100.101.102.103 SIP/2.0 686 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 687 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 688 ;received=120.121.122.123 689 Max-Forwards: 69 690 From: LittleGuy ;tag=314159 691 To: BigGuy ;tag=1234567 692 Call-ID: 12345601@here.com 693 CSeq: 2 ACK 694 Content-Length: 0 696 /* RTP Media stream re-established. User A disconnects. */ 698 F22 BYE A -> Proxy 1 700 BYE sip:UserB@110.111.112.113 SIP/2.0 701 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 702 Route: 703 Max-Forwards: 70 704 From: BigGuy ;tag=1234567 705 To: LittleGuy ;tag=314159 706 Call-ID: 12345601@here.com 707 CSeq: 2 BYE 708 Content-Length: 0 710 F23 BYE Proxy 1 -> B 712 BYE sip:UserB@110.111.112.113 SIP/2.0 713 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 714 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 715 ;received=100.101.102.103 716 Max-Forwards: 69 717 From: BigGuy ;tag=1234567 718 To: LittleGuy ;tag=314159 719 Call-ID: 12345601@here.com 720 CSeq: 2 BYE 721 Content-Length: 0 723 F24 200 OK B -> Proxy 1 725 SIP/2.0 200 OK 726 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 727 ;received=1.2.3.4 728 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 729 ;received=100.101.102.103 731 From: BigGuy ;tag=1234567 732 To: LittleGuy ;tag=314159 733 Call-ID: 12345601@here.com 734 CSeq: 2 BYE 735 Content-Length: 0 737 F25 200 OK Proxy 1 -> A 739 SIP/2.0 200 OK 740 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 741 ;received=100.101.102.103 742 From: BigGuy ;tag=1234567 743 To: LittleGuy ;tag=314159 744 Call-ID: 12345601@here.com 745 CSeq: 2 BYE 746 Content-Length: 0 748 2.2 Consultation Hold 750 User A Proxy User B User C 751 | | | | 752 | INVITE F1 | | | 753 |--------------->| INVITE F2 | | 754 | |------------->| | 755 |(100 Trying) F3 | | | 756 |<---------------|180 Ringing F4| | 757 | |<-------------| | 758 | 180 Ringing F5 | | | 759 |<---------------| 200 OK F6 | | 760 | |<-------------| | 761 | 200 OK F7 | | | 762 |<---------------| | | 763 | ACK F8 | | | 764 |--------------->| ACK F9 | | 765 | |------------->| | 766 | Both way RTP Established | | 767 |<=============================>| | 768 | |INVITE(hold) F10 | 769 |INVITE(hold) F11|<-------------| | 770 |<---------------| | | 771 | 200 OK F12 | | | 772 |--------------->| 200 OK F13 | | 773 | |------------->| | 774 | | ACK F14 | | 775 | |<-------------| | 776 | ACK F15 | | | 777 |<---------------| | | 778 | No RTP Sent! | | 779 | | INVITE F16 | | 780 | |<-------------| | 781 | | | INVITE F17 | 782 | |--------------------------------->| 783 | |(100 Trying) F18 | 784 | |------------->| | 785 | | | 180 Ringing F19 | 786 | |<---------------------------------| 787 | | 180 Ringing F20 | 788 | |------------->| | 789 | | | 200 OK F21 | 790 | |<---------------------------------| 791 | | 200 OK F22 | | 792 | |------------->| | 793 | | ACK F23 | | 794 | |<-------------| | 795 | | | ACK F24 | 796 | |--------------------------------->| 797 | | Both way RTP Established | 798 | | |<=================>| 799 | | BYE F25 | | 800 | |<-------------| | 801 | | | BYE F26 | 802 | |--------------------------------->| 803 | | | 200 OK F27 | 804 | |<---------------------------------| 805 | | 200 OK F28 | | 806 | |------------->| | 807 | | INVITE F29 | | 808 | INVITE F30 |<-------------| | 809 |<---------------| | | 810 | 200 OK F31 | | | 811 |--------------->| 200 OK F32 | | 812 | |------------->| | 813 | | ACK F33 | | 814 | |<-------------| | 815 | ACK F34 | | | 816 |<---------------| | | 817 | Both way RTP Established | | 818 |<=============================>| | 819 | BYE F35 | | | 820 |--------------->| BYE F36 | | 821 | |------------->| | 822 | | 200 OK F37 | | 823 | |<-------------| | 824 | 200 OK F38 | | | 825 |<---------------| | | 826 | | | | 828 User A calls user B. User B places call on hold. User B calls User 829 C. User B then disconnects with C, then takes the call with User A 830 off hold. The call ends with B hangs up. 832 Message Details 834 F1 INVITE A -> Proxy 1 836 INVITE sip:UserB@there.com SIP/2.0 837 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 838 Max-Forwards: 70 839 From: BigGuy ;tag=1234567 840 To: LittleGuy 841 Call-ID: 12345600@here.com 842 CSeq: 1 INVITE 843 Contact: 844 Content-Type: application/sdp 845 Content-Length: ... 847 v=0 848 o=UserA 2890844526 2890844526 IN IP4 client.here.com 849 s=Session SDP 850 c=IN IP4 100.101.102.103 851 t=3034423619 0 852 m=audio 49170 RTP/AVP 0 853 a=rtpmap:0 PCMU/8000 855 F2 INVITE Proxy 1 -> B 857 INVITE sip:UserB@110.111.112.113 SIP/2.0 858 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 859 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 860 ;received=100.101.102.103 861 Record-Route: 862 Max-Forwards: 69 863 From: BigGuy ;tag=1234567 864 To: LittleGuy 865 Call-ID: 12345600@here.com 866 CSeq: 1 INVITE 867 Contact: 868 Content-Type: application/sdp 869 Content-Length: ... 871 v=0 872 o=UserA 2890844526 2890844526 IN IP4 client.here.com 873 s=Session SDP 874 c=IN IP4 100.101.102.103 875 t=3034423619 0 876 m=audio 49170 RTP/AVP 0 877 a=rtpmap:0 PCMU/8000 879 F3(100 Trying) Proxy 1 -> A 881 SIP/2.0 100 Trying 882 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 883 ;received=100.101.102.103 884 From: BigGuy ;tag=1234567 885 To: LittleGuy 886 Call-ID: 12345600@here.com 887 CSeq: 1 INVITE 888 Content-Length: 0 890 F4 180 Ringing B -> Proxy 1 892 SIP/2.0 180 Ringing 893 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 894 ;received=1.2.3.4 895 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 896 ;received=100.101.102.103 897 Record-Route: 898 From: BigGuy ;tag=1234567 899 To: LittleGuy ;tag=314159 900 Call-ID: 12345600@here.com 901 CSeq: 1 INVITE 902 Contact: 903 Content Length:0 905 F5 180 Ringing Proxy 1 -> A 907 SIP/2.0 180 Ringing 908 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 909 ;received=100.101.102.103 910 Record-Route: 911 From: BigGuy ;tag=1234567 912 To: LittleGuy ;tag=314159 913 Call-ID: 12345600@here.com 914 CSeq: 1 INVITE 915 Contact: 916 Content Length: 0 918 F6 200 OK B -> Proxy 1 920 SIP/2.0 200 OK 921 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 922 ;received=1.2.3.4 923 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 924 ;received=100.101.102.103 925 Record-Route: 926 From: BigGuy ;tag=1234567 927 To: LittleGuy ;tag=314159 928 Call-ID: 12345600@here.com 929 CSeq: 1 INVITE 930 Contact: 931 Content-Type: application/sdp 932 Content-Length: ... 934 v=0 935 o=UserB 2890844527 2890844527 IN IP4 client.there.com 936 s=Session SDP 937 c=IN IP4 110.111.112.113 938 t=3034423619 0 939 m=audio 3456 RTP/AVP 0 940 a=rtpmap:0 PCMU/8000 942 F7 200 OK Proxy 1 -> A 944 SIP/2.0 200 OK 945 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 946 ;received=100.101.102.103 948 Record-Route: 949 From: BigGuy ;tag=1234567 950 To: LittleGuy ;tag=314159 951 Call-ID: 12345600@here.com 952 CSeq: 1 INVITE 953 Contact: 954 Content-Type: application/sdp 955 Content-Length: ... 957 v=0 958 o=UserB 2890844527 2890844527 IN IP4 client.there.com 959 s=Session SDP 960 c=IN IP4 110.111.112.113 961 t=3034423619 0 962 m=audio 3456 RTP/AVP 0 963 a=rtpmap:0 PCMU/8000 965 F8 ACK A -> Proxy 1 967 ACK sip:UserB@110.111.112.113 SIP/2.0 968 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 969 Route: 970 Max-Forwards: 70 971 From: BigGuy ;tag=1234567 972 To: LittleGuy ;tag=314159 973 Call-ID: 12345600@here.com 974 CSeq: 1 ACK 975 Content-Length: 0 977 F9 ACK Proxy 1 -> B 979 ACK sip:UserB@110.111.112.113 SIP/2.0 980 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 981 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 982 ;received=100.101.102.103 983 Max-Forwards: 69 984 From: BigGuy ;tag=1234567 985 To: LittleGuy ;tag=314159 986 Call-ID: 12345600@here.com 987 CSeq: 1 ACK 988 Content-Length: 0 990 /* User B places User A on hold. */ 992 F10 INVITE B -> Proxy 1 994 INVITE sip:UserA@100.101.102.103 SIP/2.0 995 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 996 Route: 997 Max-Forwards: 70 998 From: LittleGuy ;tag=314159 999 To: BigGuy ;tag=1234567 1000 Call-ID: 12345600@here.com 1001 CSeq: 1 INVITE 1002 Contact: 1003 Content-Type: application/sdp 1004 Content-Length: ... 1006 v=0 1007 o=UserB 2890844527 2890844528 IN IP4 client.there.com 1008 s=Session SDP 1009 c=IN IP4 110.111.112.113 1010 t=3034423619 0 1011 m=audio 3456 RTP/AVP 0 1012 a=rtpmap:0 PCMU/8000 1013 a=sendonly 1015 F11 INVITE Proxy 1 -> A 1017 INVITE sip:UserA@100.101.102.103 SIP/2.0 1018 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1019 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1020 ;received=120.121.122.123 1021 Record-Route: 1022 Max-Forwards: 69 1023 From: LittleGuy ;tag=314159 1024 To: BigGuy ;tag=1234567 1025 Call-ID: 12345600@here.com 1026 CSeq: 1 INVITE 1027 Contact: 1028 Content-Type: application/sdp 1029 Content-Length: ... 1031 v=0 1032 o=UserB 2890844527 2890844528 IN IP4 client.there.com 1033 s=Session SDP 1034 c=IN IP4 110.111.112.113 1035 t=3034423619 0 1036 m=audio 3456 RTP/AVP 0 1037 a=rtpmap:0 PCMU/8000 1038 a=sendonly 1040 F12 200 OK A -> Proxy 1 1042 SIP/2.0 200 OK 1043 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1044 ;received=1.2.3.4 1045 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1046 ;received=120.121.122.123 1048 Record-Route: 1049 From: LittleGuy ;tag=314159 1050 To: BigGuy ;tag=1234567 1051 Call-ID: 12345600@here.com 1052 CSeq: 1 INVITE 1053 Contact: 1054 Content-Type: application/sdp 1055 Content-Length: ... 1057 v=0 1058 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1059 s=Session SDP 1060 c=IN IP4 100.101.102.103 1061 t=3034423619 0 1062 m=audio 49170 RTP/AVP 0 1063 a=rtpmap:0 PCMU/8000 1065 F13 200 OK Proxy 1 -> B 1067 SIP/2.0 200 OK 1068 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1069 ;received=120.121.122.123 1070 Record-Route: 1071 From: LittleGuy ;tag=314159 1072 To: BigGuy ;tag=1234567 1073 Call-ID: 12345600@here.com 1074 CSeq: 1 INVITE 1075 Contact: 1076 Content-Type: application/sdp 1077 Content-Length: ... 1079 v=0 1080 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1081 s=Session SDP 1082 c=IN IP4 100.101.102.103 1083 t=3034423619 0 1084 m=audio 49170 RTP/AVP 0 1085 a=rtpmap:0 PCMU/8000 1087 F14 ACK B -> Proxy 1 1089 ACK sip:UserA@100.101.102.103 SIP/2.0 1090 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1091 Route: 1092 Max-Forwards: 70 1093 From: LittleGuy ;tag=314159 1094 To: BigGuy ;tag=1234567 1095 Call-ID: 12345600@here.com 1096 CSeq: 1 ACK 1097 Content-Length: 0 1098 F15 ACK Proxy 1 -> A 1100 ACK sip:UserA@100.101.102.103 SIP/2.0 1101 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1102 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1103 ;received=120.121.122.123 1104 Max-Forwards: 69 1105 From: LittleGuy ;tag=314159 1106 To: BigGuy ;tag=1234567 1107 Call-ID: 12345600@here.com 1108 CSeq: 1 ACK 1109 Content-Length: 0 1111 F16 INVITE B -> Proxy 1 1113 INVITE sip:UserC@anywhere.com SIP/2.0 1114 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1115 Max-Forwards: 70 1116 From: LittleGuy ;tag=8675309 1117 To: OtherGuy 1118 Call-ID: 9876543210@there.com 1119 CSeq: 1 INVITE 1120 Contact: 1121 Content-Type: application/sdp 1122 Content-Length: ... 1124 v=0 1125 o=UserB 2890844834 2890844834 IN IP4 client.there.com 1126 s=Session SDP 1127 c=IN IP4 110.111.112.113 1128 t=3034423619 0 1129 m=audio 50170 RTP/AVP 0 1130 a=rtpmap:0 PCMU/8000 1132 F17 INVITE Proxy 1 -> C 1134 INVITE sip:UserC@120.121.122.123 SIP/2.0 1135 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1136 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1137 ;received=120.121.122.123 1138 Record-Route: 1139 Max-Forwards: 69 1140 From: LittleGuy ;tag=8675309 1141 To: OtherGuy 1142 Call-ID: 9876543210@there.com 1143 CSeq: 1 INVITE 1144 Contact: 1145 Content-Type: application/sdp 1146 Content-Length: ... 1148 v=0 1149 o=UserB 2890844834 2890844834 IN IP4 client.there.com 1150 s=Session SDP 1151 c=IN IP4 110.111.112.113 1152 t=3034423619 0 1153 m=audio 50170 RTP/AVP 0 1154 a=rtpmap:0 PCMU/8000 1156 F18 (100 Trying) Proxy 1 -> B 1158 SIP/2.0 100 Trying 1159 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1160 ;received=120.121.122.123 1161 From: LittleGuy ;tag=8675309 1162 To: OtherGuy 1163 Call-ID: 9876543210@there.com 1164 CSeq: 1 INVITE 1165 Content-Length: 0 1167 F19 180 Ringing C -> Proxy 1 1169 SIP/2.0 180 Ringing 1170 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1171 ;received=1.2.3.4 1172 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1173 ;received=120.121.122.123 1174 Record-Route: 1175 From: LittleGuy ;tag=8675309 1176 To: OtherGuy ;tag=456654 1177 Call-ID: 9876543210@here.com 1178 CSeq: 1 INVITE 1179 Contact: 1180 Content Length:0 1182 F20 180 Ringing Proxy 1 -> B 1184 SIP/2.0 180 Ringing 1185 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1186 ;received=120.121.122.123 1187 Record-Route: 1188 From: LittleGuy ;tag=8675309 1189 To: OtherGuy ;tag=456654 1190 Call-ID: 9876543210@there.com 1191 CSeq: 1 INVITE 1192 Contact: 1193 Content Length: 0 1194 F21 200 OK C -> Proxy 1 1196 SIP/2.0 200 OK 1197 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1198 ;received=1.2.3.4 1199 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1200 ;received=120.121.122.123 1201 Record-Route: 1202 From: LittleGuy ;tag=8675309 1203 To: OtherGuy ;tag=456654 1204 Call-ID: 9876543210@there.com 1205 CSeq: 1 INVITE 1206 Contact: 1207 Content-Type: application/sdp 1208 Content-Length: ... 1210 v=0 1211 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 1212 s=Session SDP 1213 c=IN IP4 120.121.122.123 1214 t=3034423619 0 1215 m=audio 3456 RTP/AVP 0 1216 a=rtpmap:0 PCMU/8000 1218 F22 200 OK Proxy 1 -> B 1220 SIP/2.0 200 OK 1221 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1222 ;received=120.121.122.123 1223 Record-Route: 1224 From: LittleGuy ;tag=8675309 1225 To: OtherGuy ;tag=456654 1226 Call-ID: 9876543210@there.com 1227 CSeq: 1 INVITE 1228 Contact: 1229 Content-Type: application/sdp 1230 Content-Length: ... 1232 v=0 1233 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 1234 s=Session SDP 1235 c=IN IP4 120.121.122.123 1236 t=3034423619 0 1237 m=audio 3456 RTP/AVP 0 1238 a=rtpmap:0 PCMU/8000 1240 F23 ACK B -> Proxy 1 1242 ACK sip:UserC@120.121.122.123 SIP/2.0 1243 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1244 Route: 1245 Max-Forwards: 70 1246 From: LittleGuy ;tag=8675309 1247 To: OtherGuy ;tag=456654 1248 Call-ID: 9876543210@there.com 1249 CSeq: 1 ACK 1250 Content-Length: 0 1252 F24 ACK Proxy 1 -> C 1254 ACK sip:UserC@120.121.122.123 SIP/2.0 1255 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1256 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1257 ;received=120.121.122.123 1258 Max-Forwards: 69 1259 From: LittleGuy ;tag=8675309 1260 To: OtherGuy ;tag=456654 1261 Call-ID: 9876543210@there.com 1262 CSeq: 1 ACK 1263 Content-Length: 0 1265 F25 BYE B -> Proxy 1 1267 BYE sip:UserC@120.121.122.123 SIP/2.0 1268 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1269 Route: 1270 Max-Forwards: 70 1271 From: LittleGuy ;tag=8675309 1272 To: OtherGuy ;tag=456654 1273 Call-ID: 9876543210@there.com 1274 CSeq: 2 BYE 1275 Content-Length: 0 1277 F26 BYE Proxy 1 -> C 1279 BYE sip:UserC@120.121.122.123 SIP/2.0 1280 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1281 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1282 ;received=120.121.122.123 1283 Max-Forwards: 69 1284 From: LittleGuy ;tag=8675309 1285 To: OtherGuy ;tag=456654 1286 Call-ID: 9876543210@there.com 1287 CSeq: 2 BYE 1288 Content-Length: 0 1290 F27 200 OK C -> Proxy 1 1291 SIP/2.0 200 OK 1292 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1293 ;received=1.2.3.4 1294 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1295 ;received=120.121.122.123 1296 From: LittleGuy ;tag=8675309 1297 To: OtherGuy ;tag=456654 1298 Call-ID: 9876543210@there.com 1299 CSeq: 2 BYE 1300 Content-Length: 0 1302 F28 200 OK Proxy 1 -> B 1304 SIP/2.0 200 OK 1305 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1306 ;received=120.121.122.123 1307 From: LittleGuy ;tag=8675309 1308 To: OtherGuy ;tag=456654 1309 Call-ID: 9876543210@there.com 1310 CSeq: 2 BYE 1311 Content-Length: 0 1313 /* User B takes the call off hold */ 1315 F29 INVITE B -> Proxy 1 1317 INVITE sip:UserA@100.101.102.103 SIP/2.0 1318 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1319 Route: 1320 Max-Forwards: 70 1321 From: LittleGuy ;tag=314159 1322 To: BigGuy ;tag=1234567 1323 Call-ID: 12345600@here.com 1324 CSeq: 2 INVITE 1325 Contact: 1326 Content-Type: application/sdp 1327 Content-Length: ... 1329 v=0 1330 o=UserB 2890844527 2890844529 IN IP4 client.there.com 1331 s=Session SDP 1332 c=IN IP4 110.111.112.113 1333 t=3034423619 0 1334 m=audio 3456 RTP/AVP 0 1335 a=rtpmap:0 PCMU/8000 1337 F30 INVITE Proxy 1 -> A 1338 INVITE sip:UserA@100.101.102.103 SIP/2.0 1339 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1340 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1341 ;received=120.121.122.123 1342 Record-Route: 1343 Max-Forwards: 69 1344 From: LittleGuy ;tag=314159 1345 To: BigGuy ;tag=1234567 1346 Call-ID: 12345600@here.com 1347 CSeq: 2 INVITE 1348 Contact: 1349 Content-Type: application/sdp 1350 Content-Length: ... 1352 v=0 1353 o=UserB 2890844527 2890844529 IN IP4 client.there.com 1354 s=Session SDP 1355 c=IN IP4 110.111.112.113 1356 t=3034423619 0 1357 m=audio 3456 RTP/AVP 0 1358 a=rtpmap:0 PCMU/8000 1360 F31 200 OK A -> Proxy 1 1362 SIP/2.0 200 OK 1363 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1364 ;received=1.2.3.4 1365 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1366 ;received=120.121.122.123 1367 Record-Route: 1368 From: LittleGuy ;tag=314159 1369 To: BigGuy ;tag=1234567 1370 Call-ID: 12345600@here.com 1371 CSeq: 2 INVITE 1372 Contact: 1373 Content-Type: application/sdp 1374 Content-Length: ... 1376 v=0 1377 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1378 s=Session SDP 1379 c=IN IP4 100.101.102.103 1380 t=3034423619 0 1381 m=audio 49170 RTP/AVP 0 1382 a=rtpmap:0 PCMU/8000 1384 F32 200 OK Proxy 1 -> B 1386 SIP/2.0 200 OK 1387 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1388 ;received=120.121.122.123 1389 Record-Route: 1390 From: LittleGuy ;tag=314159 1391 To: BigGuy ;tag=1234567 1392 Call-ID: 12345600@here.com 1393 CSeq: 2 INVITE 1394 Contact: 1395 Content-Type: application/sdp 1396 Content-Length: ... 1398 v=0 1399 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1400 s=Session SDP 1401 c=IN IP4 100.101.102.103 1402 t=3034423619 0 1403 m=audio 49170 RTP/AVP 0 1404 a=rtpmap:0 PCMU/8000 1406 F33 ACK B -> Proxy 1 1408 ACK sip:UserA@100.101.102.103 SIP/2.0 1409 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1410 Route: 1411 Max-Forwards: 70 1412 From: LittleGuy ;tag=314159 1413 To: BigGuy ;tag=1234567 1414 Call-ID: 12345600@here.com 1415 CSeq: 2 ACK 1416 Content-Length: 0 1418 F34 ACK Proxy 1 -> A 1420 ACK sip:UserA@100.101.102.103 SIP/2.0 1421 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1422 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1423 ;received=120.121.122.123 1424 Max-Forwards: 69 1425 From: LittleGuy ;tag=314159 1426 To: BigGuy ;tag=1234567 1427 Call-ID: 12345600@here.com 1428 CSeq: 2 ACK 1429 Content-Length: 0 1431 F35 BYE A -> Proxy 1 1433 BYE sip:UserB@110.111.112.113 SIP/2.0 1434 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1435 Route: 1436 Max-Forwards: 70 1437 From: BigGuy ;tag=1234567 1438 To: LittleGuy ;tag=314159 1439 Call-ID: 12345600@here.com 1440 CSeq: 2 BYE 1441 Content-Length: 0 1443 F36 BYE Proxy 1 -> B 1445 BYE sip:UserB@110.111.112.113 SIP/2.0 1446 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1447 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1448 ;received=100.101.102.103 1449 Max-Forwards: 69 1450 From: BigGuy ;tag=1234567 1451 To: LittleGuy ;tag=314159 1452 Call-ID: 12345600@here.com 1453 CSeq: 2 BYE 1454 Content-Length: 0 1456 F37 200 OK B -> Proxy 1 1458 SIP/2.0 200 OK 1459 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1460 ;received=1.2.3.4 1461 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1462 ;received=100.101.102.103 1463 From: BigGuy ;tag=1234567 1464 To: LittleGuy ;tag=314159 1465 Call-ID: 12345600@here.com 1466 CSeq: 2 BYE 1467 Content-Length: 0 1469 F38 200 OK Proxy 1 -> A 1471 SIP/2.0 200 OK 1472 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1473 ;received=100.101.102.103 1474 From: BigGuy ;tag=1234567 1475 To: LittleGuy ;tag=314159 1476 Call-ID: 12345600@here.com 1477 CSeq: 2 BYE 1478 Content-Length: 0 1480 2.3 Music On Hold 1482 User A User B Music Server 1483 | | | 1484 | INVITE F1 | | 1485 |--------------->| | 1486 | 180 Ringing F2 | | 1487 |<---------------| | 1488 | 200 OK F3 | | 1489 |<---------------| | 1490 | ACK F4 | | 1491 |--------------->| | 1492 | RTP | | 1493 |<==============>| | 1494 | | | 1495 | B places A on hold with music | 1496 | | | 1497 | | INVITE no sdp F5 1498 | |------------->| 1499 | |200 OK sdpM F6| 1500 | |<-------------| 1501 |INVITE (hold) F7| | 1502 |<---------------| | 1503 | 200 OK sdpA F8 | | 1504 |--------------->| | 1505 | ACK F9 | | 1506 |<---------------| | 1507 | | ACK sdpA F10 | 1508 | |------------->| 1509 | RTP | 1510 |<==============================| 1511 | | | 1512 | B Picks up the Call | 1513 | | BYE F11 | 1514 | |------------->| 1515 | | 200 OK F12 | 1516 | |<-------------| 1517 | INVITE F13 | | 1518 |<---------------| | 1519 | 200 OK F14 | | 1520 |--------------->| | 1521 | ACK F15 | | 1522 |<---------------| | 1523 | RTP | | 1524 |<==============>| | 1526 In this flow,B places A on hold with music. This is performed by B 1527 acting as a B2BUA (Back-to-Back User Agent) using 3pcc (third party 1528 call control) [7] to INVITE a Music Server into the session, which 1529 sends RTP music to A. B picks the call up from hold by sending a BYE 1530 to the music server and taking A off of hold. 1532 Note that if A responds to the INVITE with hold SDP with hold SDP in 1533 the 200 OK, this call flow will not work properly. 1535 Note also that A will receive RTP packets from two different IP 1536 addresses during this call flow. 1538 Message Details 1540 F1 INVITE A -> B 1542 INVITE sip:UserB@there.com SIP/2.0 1543 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1544 Max-Forwards: 70 1545 From: BigGuy ;tag=1234567 1546 To: LittleGuy 1547 Call-ID: 12345600@here.com 1548 CSeq: 1 INVITE 1549 Contact: 1550 Content-Type: application/sdp 1551 Content-Length: ... 1553 v=0 1554 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1555 s=Session SDP 1556 c=IN IP4 100.101.102.103 1557 t=3034423619 0 1558 m=audio 49170 RTP/AVP 0 1559 a=rtpmap:0 PCMU/8000 1561 F2 180 Ringing B -> A 1563 SIP/2.0 180 Ringing 1564 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1565 ;received=100.101.102.103 1566 From: BigGuy ;tag=1234567 1567 To: LittleGuy ;tag=23431 1568 Call-ID: 12345600@here.com 1569 CSeq: 1 INVITE 1570 Contact: 1571 Content-Length: 0 1573 F3 200 OK B -> A 1575 SIP/2.0 200 OK 1576 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1577 ;received=100.101.102.103 1578 From: BigGuy ;tag=1234567 1579 To: LittleGuy ;tag=23431 1580 Call-ID: 12345600@here.com 1581 CSeq: 1 INVITE 1582 Contact: 1583 Content-Type: application/sdp 1584 Content-Length: ... 1586 v=0 1587 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1588 s=Session SDP 1589 c=IN IP4 110.111.112.113 1590 t=3034423619 0 1591 m=audio 3456 RTP/AVP 0 1592 a=rtpmap:0 PCMU/8000 1594 F4 ACK A -> B 1596 ACK sip:UserB@110.111.112.113 SIP/2.0 1597 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1598 Max-Forwards: 70 1599 From: BigGuy ;tag=1234567 1600 To: LittleGuy ;tag=23431 1601 Call-ID: 12345600@here.com 1602 CSeq: 1 ACK 1603 Content-Length: 0 1605 /* User B places A on hold with music by acting as a B2BUA and 1606 sending an INVITE to the Music Server */ 1608 F5 INVITE B -> Music Server 1610 INVITE sip:music@server.com SIP/2.0 1611 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1612 Max-Forwards: 70 1613 From: LittleGuy ;tag=8675309 1614 To: Music 1615 Call-ID: sdjfdjfskdf@there.com 1616 CSeq: 1 INVITE 1617 Contact: 1618 Content-Length: 0 1620 F6 200 OK C -> B 1622 SIP/2.0 200 OK 1623 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1624 ;received=120.121.122.123 1625 From: LittleGuy ;tag=8675309 1626 To: Music ;tag=90210 1627 Call-ID: sdjfdjfskdf@there.com 1628 CSeq: 1 INVITE 1629 Contact: 1630 Content-Type: application/sdp 1631 Content-Length: ... 1633 v=0 1634 o=MusicServer 2890844576 2890844576 IN IP4 music.server.com 1635 s=Session SDP 1636 c=IN IP4 50.60.70.80 1637 t=3034423619 0 1638 m=audio 49170 RTP/AVP 0 1639 a=rtpmap:0 PCMU/8000 1640 a=sendonly 1642 /* B re-INVITEs A on hold */ 1644 F7 INVITE B -> A 1646 INVITE sip:UserA@100.101.102.103 SIP/2.0 1647 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1648 To: BigGuy ;tag=1234567 1649 Max-Forwards: 70 1650 From: LittleGuy ;tag=23431 1651 Call-ID: 12345600@here.com 1652 CSeq: 1 INVITE 1653 Contact: 1654 Content-Type: application/sdp 1655 Content-Length: ... 1657 v=0 1658 o=UserB 2890844527 2890844528 IN IP4 music.server.com 1659 s=Session SDP 1660 c=IN IP4 50.60.70.80 1661 t=3034423619 0 1662 m=audio 49170 RTP/AVP 0 1663 a=rtpmap:0 PCMU/8000 1664 a=sendonly 1666 /* A responds with normal SDP */ 1668 F8 200 OK A -> B 1670 SIP/2.0 200 OK 1671 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1672 ;received=100.101.102.103 1673 To: BigGuy ;tag=1234567 1674 From: LittleGuy ;tag=23431 1675 Call-ID: 12345600@here.com 1676 CSeq: 1 INVITE 1677 Contact: 1678 Content-Type: application/sdp 1679 Content-Length: ... 1681 v=0 1682 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1683 s=Session SDP 1684 c=IN IP4 100.101.102.103 1685 t=3034423619 0 1686 m=audio 49170 RTP/AVP 0 1687 a=rtpmap:0 PCMU/8000 1689 F9 ACK B -> A 1691 ACK sip:UserA@100.101.102.103 SIP/2.0 1692 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1693 To: BigGuy ;tag=1234567 1694 Max-Forwards: 70 1695 From: LittleGuy ;tag=23431 1696 Call-ID: 12345600@here.com 1697 CSeq: 1 ACK 1698 Content-Length: 0 1700 /* B passes SDP of A to the Music Server to allow music to be sent 1701 from B to A */ 1703 F10 ACK B -> Music Server 1705 ACK sip:music@server.com SIP/2.0 1706 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1707 Max-Forwards: 70 1708 From: LittleGuy ;tag=8675309 1709 To: Music ;tag=90210 1710 Call-ID: sdjfdjfskdf@there.com 1711 CSeq: 1 ACK 1712 Content-Type: application/sdp 1713 Content-Length: ... 1715 v=0 1716 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1717 s=Session SDP 1718 c=IN IP4 100.101.102.103 1719 t=3034423619 0 1720 m=audio 49170 RTP/AVP 0 1721 a=rtpmap:0 PCMU/8000 1723 /* RTP music is now sent from the Music Server to A */ 1725 /* B picks up the call from the Music Server */ 1726 F11 BYE B -> Music Server 1728 BYE sip:music@server.com SIP/2.0 1729 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1730 Max-Forwards: 70 1731 From: LittleGuy ;tag=8675309 1732 To: Music ;tag=90210 1733 Call-ID: sdjfdjfskdf@there.com 1734 CSeq: 2 BYE 1735 Content-Length: 0 1737 F12 200 OK Music Server -> B 1739 SIP/2.0 200 OK 1740 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1741 ;received=120.121.122.123 1742 From: LittleGuy ;tag=8675309 1743 To: Music ;tag=90210 1744 Call-ID: sdjfdjfskdf@there.com 1745 CSeq: 2 BYE 1746 Content-Length:0 1748 /* B re-INVITEs taking A off hold */ 1750 F13 INVITE B -> A 1752 INVITE sip:UserA@100.101.102.103 SIP/2.0 1753 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1754 To: BigGuy ;tag=1234567 1755 Max-Forwards: 70 1756 From: LittleGuy ;tag=23431 1757 Call-ID: 12345600@here.com 1758 CSeq: 2 INVITE 1759 Contact: 1760 Content-Type: application/sdp 1761 Content-Length: ... 1763 v=0 1764 o=UserB 2890844527 2890844529 IN IP4 client.there.com 1765 s=Session SDP 1766 c=IN IP4 110.111.112.113 1767 t=3034423619 0 1768 m=audio 3456 RTP/AVP 0 1769 a=rtpmap:0 PCMU/8000 1771 F14 200 OK A -> B 1773 SIP/2.0 200 OK 1774 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1775 ;received=100.101.102.103 1776 To: BigGuy ;tag=1234567 1777 From: LittleGuy ;tag=23431 1778 Call-ID: 12345600@here.com 1779 CSeq: 2 INVITE 1780 Contact: 1781 Content-Type: application/sdp 1782 Content-Length: ... 1784 v=0 1785 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1786 s=Session SDP 1787 c=IN IP4 100.101.102.103 1788 t=3034423619 0 1789 m=audio 49170 RTP/AVP 0 1790 a=rtpmap:0 PCMU/8000 1792 F15 ACK B -> A 1794 ACK sip:UserA@100.101.102.103 SIP/2.0 1795 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1796 To: BigGuy ;tag=1234567 1797 Max-Forwards: 70 1798 From: LittleGuy ;tag=23431 1799 Call-ID: 12345600@here.com 1800 CSeq: 2 ACK 1801 Content-Length: 0 1803 /* Normal media session between A and B is resumed */ 1805 2.4 Unattended Transfer 1807 User A User B User C 1808 | INVITE F1 | | 1809 |<-------------------| | 1810 | 180 Ringing F2 | | 1811 |------------------->| | 1812 | 200 OK F3 | | 1813 |------------------->| | 1814 | ACK F4 | | 1815 |<-------------------| | 1816 | RTP | | 1817 |<==================>| | 1818 | | | 1819 | A performs unattended transfer | 1820 | | | 1821 | REFER Refer-To:C F5| | 1822 |------------------->| | 1823 | 202 Accepted F6 | | 1824 |<-------------------| | 1825 | BYE F7 | | 1826 |------------------->| | 1827 | 200 OK F8 | | 1828 |<-------------------| | 1829 | No RTP Session | INVITE Referred-By: A F9 1830 | |------------------->| 1831 | | 180 Ringing F10 | 1832 | |<-------------------| 1833 | | 200 OK F11 | 1834 | |<-------------------| 1835 | | ACK F12 | 1836 | |------------------->| 1837 | | RTP | 1838 | |<==================>| 1839 | NOTIFY F13 | | 1840 |<-------------------| | 1841 | 200 OK F14 | | 1842 |------------------->| | 1843 | | | 1845 User B call User A. User A then transfers User B to User C, then 1846 User A disconnects with User B. User B establishes the session to C 1847 then reports the success back to A in the NOTIFY. If the transfer 1848 fails, User B can send a new INVITE back to A to re-establish the 1849 session. 1851 Note that the BYE could be sent by A after the NOTIFY. Also, if A 1852 has flushed all state information, the NOTIFY may receive a 481 Call 1853 Leg Does Not Exist. 1855 Message Details 1857 F1 INVITE B -> A 1859 INVITE sip:UserA@here.com SIP/2.0 1860 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1861 Max-Forwards: 70 1862 From: LittleGuy ;tag=314159 1863 To: BigGuy 1864 Call-ID: 12345601@here.com 1865 CSeq: 1 INVITE 1866 Contact: 1867 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1868 Supported: replaces 1869 Content-Type: application/sdp 1870 Content-Length: ... 1872 v=0 1873 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1874 s=Session SDP 1875 c=IN IP4 110.111.112.113 1876 t=3034423619 0 1877 m=audio 3456 RTP/AVP 0 1878 a=rtpmap:0 PCMU/8000 1880 F2 180 Ringing A -> B 1882 SIP/2.0 180 Ringing 1883 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1884 ;received=120.121.122.123 1885 From: LittleGuy ;tag=314159 1886 To: BigGuy ;tag=1234567 1887 Call-ID: 12345601@here.com 1888 CSeq: 1 INVITE 1889 Contact: 1890 Content-Length: 0 1892 F3 200 OK A -> B 1894 SIP/2.0 200 OK 1895 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1896 ;received=120.121.122.123 1897 From: LittleGuy ;tag=314159 1898 To: BigGuy ;tag=1234567 1899 Call-ID: 12345601@here.com 1900 CSeq: 1 INVITE 1901 Contact: 1902 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1903 Supported: replaces 1904 Content-Type: application/sdp 1905 Content-Length: ... 1907 v=0 1908 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1909 s=Session SDP 1910 c=IN IP4 100.101.102.103 1911 t=3034423619 0 1912 m=audio 49170 RTP/AVP 0 1913 a=rtpmap:0 PCMU/8000 1915 F4 ACK B -> A 1917 ACK sip:UserA@100.101.102.103 SIP/2.0 1918 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1919 Max-Forwards: 70 1920 From: LittleGuy ;tag=314159 1921 To: BigGuy ;tag=1234567 1922 Call-ID: 12345601@here.com 1923 CSeq: 1 ACK 1924 Content-Length: 0 1926 /* Session is established between A and B. */ 1928 /* A peforms unattended transfer of B to C */ 1930 F5 REFER A -> B 1932 REFER sip:UserB@110.111.112.113 SIP/2.0 1933 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1934 Max-Forwards: 70 1935 From: BigGuy ;tag=1234567 1936 To: LittleGuy ;tag=314159 1937 Call-ID: 12345601@here.com 1938 CSeq: 2 REFER 1939 Refer-To: 1940 Referred-By: 1941 Contact: 1942 Content-Length: 0 1944 F6 202 Accepted B -> A 1946 SIP/2.0 202 Accepted 1947 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1948 ;received=120.121.122.123 1949 From: BigGuy ;tag=1234567 1950 To: LittleGuy ;tag=314159 1951 Call-ID: 12345601@here.com 1952 CSeq: 2 REFER 1953 Content-Length: 0 1955 /* A now disconnects with B */ 1957 F7 BYE A -> B 1959 BYE sip:UserB@110.111.112.113 SIP/2.0 1960 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1961 Max-Forwards: 70 1962 From: BigGuy ;tag=1234567 1963 To: LittleGuy ;tag=314159 1964 Call-ID: 12345601@here.com 1965 CSeq: 3 BYE 1966 Content-Length: 0 1968 F8 200 OK B -> A 1970 SIP/2.0 200 OK 1971 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1972 ;received=120.121.122.123 1973 From: BigGuy ;tag=1234567 1974 To: LittleGuy ;tag=314159 1975 Call-ID: 12345601@here.com 1976 CSeq: 3 BYE 1977 Content-Length: 0 1979 /* B attempts the transfer to C */ 1981 F9 INVITE B -> C 1983 INVITE sip:UserC@anywhere.com SIP/2.0 1984 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1985 Max-Forwards: 70 1986 From: LittleGuy ;tag=8675309 1987 To: OtherGuy 1988 Call-ID: 7436222@here.com 1989 CSeq: 1 INVITE 1990 Contact: 1991 Referred-By: 1992 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1993 Supported: replaces 1994 Content-Type: application/sdp 1995 Content-Length: ... 1997 v=0 1998 o=UserB 2890844539 2890844539 IN IP4 client.there.com 1999 s=Session SDP 2000 c=IN IP4 110.111.112.113 2001 t=3034423821 0 2002 m=audio 3458 RTP/AVP 0 2003 a=rtpmap:0 PCMU/8000 2005 F10 180 Ringing C -> B 2007 SIP/2.0 180 Ringing 2008 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2009 ;received=120.121.122.123 2010 From: LittleGuy ;tag=8675309 2011 To: OtherGuy ;tag=928287 2012 Call-ID: 7436222@here.com 2013 CSeq: 1 INVITE 2014 Contact: 2015 Content-Length: 0 2017 F11 200 OK C -> B 2019 SIP/2.0 200 OK 2020 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2021 ;received=120.121.122.123 2022 From: LittleGuy ;tag=8675309 2023 To: OtherGuy ;tag=928287 2024 Call-ID: 7436222@here.com 2025 CSeq: 1 INVITE 2026 Contact: 2027 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2028 Supported: replaces 2029 Content-Type: application/sdp 2030 Content-Length: ... 2032 v=0 2033 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com 2034 s=Session SDP 2035 c=IN IP4 120.121.122.123 2036 t=3034423619 0 2037 m=audio 3456 RTP/AVP 0 2038 a=rtpmap:0 PCMU/8000 2040 F12 ACK B -> C 2042 ACK sip:UserC@120.121.122.123 SIP/2.0 2043 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2044 Max-Forwards: 70 2045 From: LittleGuy ;tag=8675309 2046 To: OtherGuy ;tag=928287 2047 Call-ID: 7436222@here.com 2048 CSeq: 1 ACK 2049 Content-Length: 0 2050 /* B and C now have established a session. B reports success to A 2051 which A probably ignores. */ 2053 F13 NOTIFY B -> A 2055 NOTIFY sip:UserA@100.101.102.103 SIP/2.0 2056 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2057 Max-Forwards: 70 2058 From: LittleGuy ;tag=314159 2059 To: BigGuy ;tag=1234567 2060 Call-ID: 12345601@here.com 2061 CSeq: 2 NOTIFY 2062 Event: refer 2063 Content-Type: application/sip 2064 Content-Length: ... 2066 SIP/2.0 200 OK 2067 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2068 ;received=120.121.122.123 2069 From: LittleGuy ;tag=8675309 2070 To: OtherGuy ;tag=928287 2071 Call-ID: 7436222@here.com 2072 CSeq: 1 INVITE 2073 Contact: 2074 Content-Type: application/sdp 2075 Content-Length: ... 2077 F14 200 OK A -> B 2079 SIP/2.0 200 OK 2080 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2081 ;received=120.121.122.123 2082 From: LittleGuy ;tag=314159 2083 To: BigGuy ;tag=1234567 2084 Call-ID: 12345601@here.com 2085 CSeq: 2 NOTIFY 2086 Content-Length: 0 2088 2.5 Attended Transfer 2090 User A User B User C 2091 | | | 2092 | INVITE F1 | | 2093 |--------------->| | 2094 | 180 Ringing F2 | | 2095 |<---------------| | 2096 | 200 OK F3 | | 2097 |<---------------| | 2098 | ACK F4 | | 2099 |--------------->| | 2100 | RTP | | 2101 |<==============>| | 2102 |INVITE (hold) F5| | 2103 |<---------------| | 2104 | 200 OK F6 | | 2105 |--------------->| | 2106 | ACK F7 | | 2107 |<---------------| | 2108 | No RTP | | 2109 | | INVITE F8 | 2110 | |------------->| 2111 | | 180 Ringing F9 2112 | |<-------------| 2113 | | 200 OK F10 | 2114 | |<-------------| 2115 | | ACK F11 | 2116 | |------------->| 2117 | | RTP | 2118 | |<============>| 2119 | |INVITE (hold) F12 2120 | |------------->| 2121 | | 200 OK F13 | 2122 | |<-------------| 2123 | | ACK F14 | 2124 | |------------->| 2125 | | No RTP | 2126 | REFER Refer-To: C F15 | 2127 |<---------------| | 2128 |202 Accepted F16| | 2129 |--------------->| | 2130 | INVITE Replaces: B F17 | 2131 |------------------------------>| 2132 | 200 OK F18 | 2133 |<------------------------------| 2134 | ACK F19 | 2135 |------------------------------>| 2136 | RTP | 2137 |<=============================>| 2138 | | BYE F20 | 2139 | |<-------------| 2140 | | 200 OK F21 | 2141 | |------------->| 2142 | NOTIFY F22 | | 2143 |--------------->| | 2144 | 200 OK F23 | | 2145 |<---------------| | 2146 | BYE F24 | | 2147 |<---------------| | 2148 | 200 OK F25 | | 2149 |--------------->| | 2151 User A calls User B. User B puts User A on hold then calls User C to 2152 announce transfer, then places C on hold. User B transfers User A to 2153 User C which replaces the session between B and C. C then 2154 disconnects session with B. A reports success of transfer to B, who 2155 then disconnects with A. In this example, the Replaces header [5] is 2156 inserted into the Refer-To URL by B. Note the presence of the 2157 Require: Replaces header field in the REFER F15. This ensures that 2158 only the correct instance of User C is reached. 2160 For further details on types of call transfers, refer to [9]. 2162 Message Details 2164 F1 INVITE A -> B 2166 INVITE sip:UserB@there.com SIP/2.0 2167 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2168 Max-Forwards: 70 2169 From: BigGuy ;tag=1234567 2170 To: LittleGuy 2171 Call-ID: 12345600@here.com 2172 CSeq: 1 INVITE 2173 Contact: 2174 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2175 Supported: replaces 2176 Content-Type: application/sdp 2177 Content-Length: ... 2179 v=0 2180 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2181 s=Session SDP 2182 c=IN IP4 100.101.102.103 2183 t=3034423619 0 2184 m=audio 49170 RTP/AVP 0 2185 a=rtpmap:0 PCMU/8000 2187 F2 180 Ringing B -> A 2188 SIP/2.0 180 Ringing 2189 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2190 ;received=100.101.102.103 2191 From: BigGuy ;tag=1234567 2192 To: LittleGuy ;tag=23431 2193 Call-ID: 12345600@here.com 2194 CSeq: 1 INVITE 2195 Contact: 2196 Content-Length: 0 2198 F3 200 OK B -> A 2200 SIP/2.0 200 OK 2201 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2202 ;received=100.101.102.103 2203 From: BigGuy ;tag=1234567 2204 To: LittleGuy ;tag=23431 2205 Call-ID: 12345600@here.com 2206 CSeq: 1 INVITE 2207 Contact: 2208 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2209 Supported: replaces 2210 Content-Type: application/sdp 2211 Content-Length: ... 2213 v=0 2214 o=UserB 2890844527 2890844527 IN IP4 client.there.com 2215 s=Session SDP 2216 c=IN IP4 110.111.112.113 2217 t=3034423619 0 2218 m=audio 3456 RTP/AVP 0 2219 a=rtpmap:0 PCMU/8000 2221 F4 ACK A -> B 2223 ACK sip:UserB@110.111.112.113 SIP/2.0 2224 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2225 Max-Forwards: 70 2226 From: BigGuy ;tag=1234567 2227 To: LittleGuy ;tag=23431 2228 Call-ID: 12345600@here.com 2229 CSeq: 1 ACK 2230 Content-Length: 0 2232 /* User A and User B have established a session. User B puts User A 2233 on Hold */ 2235 F5 INVITE B -> A 2236 INVITE sip:UserA@100.101.102.103 SIP/2.0 2237 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2238 Max-Forwards: 70 2239 From: LittleGuy ;tag=23431 2240 To: BigGuy ;tag=1234567 2241 Call-ID: 12345600@here.com 2242 CSeq: 1024 INVITE 2243 Contact: 2244 Content-Type: application/sdp 2245 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2246 Supported: replaces 2247 Content-Length: ... 2249 v=0 2250 o=UserB 2890844527 2890844528 IN IP4 client.there.com 2251 s=Session SDP 2252 c=IN IP4 110.111.112.113 2253 t=3034423619 0 2254 m=audio 3456 RTP/AVP 0 2255 a=rtpmap:0 PCMU/8000 2256 a=sendonly 2258 F6 200 OK A -> B 2260 SIP/2.0 200 OK 2261 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2262 ;received=120.121.122.123 2263 From: LittleGuy ;tag=23431 2264 To: BigGuy ;tag=1234567 2265 Call-ID: 12345600@here.com 2266 CSeq: 1024 INVITE 2267 Contact: 2268 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2269 Supported: replaces 2270 Content-Type: application/sdp 2271 Content-Length: ... 2273 v=0 2274 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2275 s=Session SDP 2276 c=IN IP4 100.101.102.103 2277 t=3034423619 0 2278 m=audio 49170 RTP/AVP 0 2279 a=rtpmap:0 PCMU/8000 2281 F7 ACK B -> A 2283 ACK sip:UserA@100.101.102.103 SIP/2.0 2284 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2285 Max-Forwards: 70 2286 From: LittleGuy ;tag=23431 2287 To: BigGuy ;tag=1234567 2288 Call-ID: 12345600@here.com 2289 CSeq: 1024 ACK 2290 Content-Length: 0 2292 /* User B calls User C */ 2294 F8 INVITE B -> C 2296 INVITE sip:UserC@anywhere.com SIP/2.0 2297 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2298 Max-Forwards: 70 2299 From: LittleGuy ;tag=8675309 2300 To: OtherGuy 2301 Call-ID: sdjfdjfskdf@there.com 2302 CSeq: 42 INVITE 2303 Contact: 2304 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2305 Supported: replaces 2306 Content-Type: application/sdp 2307 Content-Length: ... 2309 v=0 2310 o=UserB 28908445834 2890844834 IN IP4 client.there.com 2311 s=Session SDP 2312 c=IN IP4 110.111.112.113 2313 t=3034423645 0 2314 m=audio 3458 RTP/AVP 0 2315 a=rtpmap:0 PCMU/8000 2317 F9 180 Ringing C -> B 2319 SIP/2.0 180 Ringing 2320 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2321 ;received=120.121.122.123 2322 From: LittleGuy ;tag=8675309 2323 To: OtherGuy ;tag=5f35a3 2324 Call-ID: sdjfdjfskdf@there.com 2325 CSeq: 42 INVITE 2326 Contact: 2327 Content-Length: 0 2329 F10 200 OK C -> B 2331 SIP/2.0 200 OK 2332 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2333 ;received=120.121.122.123 2334 From: LittleGuy ;tag=8675309 2335 To: OtherGuy ;tag=5f35a3 2336 Call-ID: sdjfdjfskdf@there.com 2337 CSeq: 42 INVITE 2338 Contact: 2339 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2340 Supported: replaces 2341 Content-Type: application/sdp 2342 Content-Length: ... 2344 v=0 2345 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 2346 s=Session SDP 2347 c=IN IP4 120.121.122.123 2348 t=3034423619 0 2349 m=audio 3456 RTP/AVP 0 2350 a=rtpmap:0 PCMU/8000 2352 F11 ACK B -> C 2354 ACK sip:UserC@120.121.122.123 SIP/2.0 2355 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2356 Max-Forwards: 70 2357 From: LittleGuy ;tag=8675309 2358 To: OtherGuy ;tag=5f35a3 2359 Call-ID: sdjfdjfskdf@there.com 2360 CSeq: 42 ACK 2361 Content-Length: 0 2363 /* User B puts User C on hold */ 2365 F12 INVITE B -> C 2367 INVITE sip:UserC@120.121.122.123 SIP/2.0 2368 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2369 Max-Forwards: 70 2370 From: LittleGuy ;tag=8675309 2371 To: OtherGuy ;tag=5f35a3 2372 Call-ID: sdjfdjfskdf@there.com 2373 CSeq: 43 INVITE 2374 Contact: 2375 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2376 Supported: replaces 2377 Content-Type: application/sdp 2378 Content-Length: ... 2380 v=0 2381 o=UserB 289084834 2890844835 IN IP4 client.there.com 2382 s=Session SDP 2383 c=IN IP4 110.111.112.113 2384 t=3034423645 0 2385 m=audio 3458 RTP/AVP 0 2386 a=rtpmap:0 PCMU/8000 2387 a=sendonly 2389 F13 200 OK C -> B 2391 SIP/2.0 200 OK 2392 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2393 ;received=120.121.122.123 2394 From: LittleGuy ;tag=8675309 2395 To: OtherGuy ;tag=5f35a3 2396 Call-ID: sdjfdjfskdf@there.com 2397 CSeq: 43 INVITE 2398 Contact: 2399 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2400 Supported: replaces 2401 Content-Type: application/sdp 2402 Content-Length: ... 2404 v=0 2405 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 2406 s=Session SDP 2407 c=IN IP4 120.121.122.123 2408 t=3034423619 0 2409 m=audio 3456 RTP/AVP 0 2410 a=rtpmap:0 PCMU/8000 2412 F14 ACK B -> C 2414 ACK sip:UserC@120.121.122.123 SIP/2.0 2415 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2416 Max-Forwards: 70 2417 From: LittleGuy ;tag=8675309 2418 To: OtherGuy ;tag=5f35a3 2419 Call-ID: sdjfdjfskdf@there.com 2420 CSeq: 43 ACK 2421 Content-Length: 0 2423 /* User B Transfers User A to User C. */ 2425 F15 REFER B -> A 2427 REFER sip:UserA@100.101.102.103 SIP/2.0 2428 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2429 Max-Forwards: 70 2430 From: LittleGuy ;tag=23431 2431 To: BigGuy ;tag=1234567 2432 Call-ID: 12345678900@here.com 2433 CSeq: 1025 REFER 2434 Refer-To: 2436 Referred-By: 2437 Contact: 2438 Content-Length: 0 2440 F16 202 Accepted A -> B 2442 SIP/2.0 202 Accepted 2443 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2444 ;received=120.121.122.123 2445 From: LittleGuy ;tag=1234567 2446 To: BigGuy ;tag=23431 2447 Call-ID: 12345678900@here.com 2448 CSeq: 1025 REFER 2449 Content-Length: 0 2451 /* User A establishes session with User C which replaces the session 2452 between User B and User C */ 2454 F17 INVITE A -> C 2456 INVITE sip:UserA@here.com SIP/2.0 2457 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKadfe4ko 2458 To: OtherGuy 2459 Max-Forwards: 70 2460 From: BigGuy ;tag=3461 2461 Call-ID: 9435674543@here.com 2462 CSeq: 1 INVITE 2463 Referred-By: 2464 Accept-Contact: ;only=true 2465 Replaces: 12345600@here.com;to-tag=23431;from-tag=8675309 2466 Contact: 2467 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2468 Supported: replaces 2469 Require: replaces 2470 Content-Type: application/sdp 2471 Content-Length: ... 2473 v=0 2474 o=UserC 2890844989 2890844989 IN IP4 client.anywhere.com 2475 s=Session SDP 2476 c=IN IP4 120.121.122.123 2477 t=3034423643 0 2478 m=audio 3458 RTP/AVP 0 2479 a=rtpmap:0 PCMU/8000 2481 F18 200 OK C -> A 2483 SIP/2.0 200 OK 2484 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKadfe4ko 2485 ;received=120.121.122.123 2486 To: OtherGuy ;tag=ff3a 2487 From: BigGuy ;tag=3461 2488 Call-ID: 9435674543@here.com 2489 CSeq: 1 INVITE 2490 Contact: 2491 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2492 Supported: replaces 2493 Content-Type: application/sdp 2494 Content-Length: ... 2496 v=0 2497 o=UserA 2890844221 2890844221 IN IP4 client.here.com 2498 s=Session SDP 2499 c=IN IP4 100.101.102.103 2500 t=3034423452 0 2501 m=audio 49172 RTP/AVP 0 2502 a=rtpmap:0 PCMU/8000 2504 F19 ACK A -> C 2506 ACK sip:UserC@120.121.122.123 SIP/2.0 2507 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKadfe4ko 2508 To: OtherGuy ;tag=ff3a 2509 Max-Forwards: 70 2510 From: BigGuy ;tag=3461 2511 Call-ID: 9435674543@here.com 2512 CSeq: 1 INVITE 2513 Content-Length: 0 2515 /* User C then disconnects from User B */ 2517 F20 BYE C -> B 2519 BYE sip:UserB@110.111.112.113 SIP/2.0 2520 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2521 To: LittleGuy ;tag=8675309 2522 Max-Forwards: 70 2523 From: OtherGuy ;tag=5f35a3 2524 Call-ID: sdjfdjfskdf@there.com 2525 CSeq: 1 BYE 2526 Content-Length: 0 2528 F21 200 OK B -> C 2530 SIP/2.0 200 OK 2531 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2532 ;received=100.101.102.103 2534 To: LittleGuy ;tag=8675309 2535 From: OtherGuy ;tag=5f35a3 2536 Call-ID: sdjfdjfskdf@there.com 2537 CSeq: 1 BYE 2538 Content-Length: 0 2540 /* User A tells User B that the call has been successfully 2541 transferred */ 2543 F22 NOTIFY A -> B 2545 NOTIFY sip:UserB@110.111.112.113 SIP/2.0 2546 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2547 Max-Forwards: 70 2548 From: BigGuy ;tag=1234567 2549 To: LittleGuy ;tag=23431 2550 Call-ID: 12345678900@here.com 2551 CSeq: 2 NOTIFY 2552 Content-Type: application/sdp 2553 Content-Length: ... 2555 SIP/2.0 200 OK 2556 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKadfe4ko 2557 ;received=120.121.122.123 2558 From: OtherGuy ;tag=ff3a 2559 To: BigGuy ;tag=3461 2560 Call-ID: 9435674543@anywhere.com 2561 CSeq: 1 INVITE 2562 Contact: 2564 F23 200 OK B -> C 2566 SIP/2.0 200 OK 2567 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2568 ;received=100.101.102.103 2569 To: LittleGuy ;tag=1234567 2570 From: OtherGuy ;tag=5f35a3 2571 Call-ID: 12345678900@here.com 2572 CSeq: 2 NOTIFY 2573 Content-Length: 0 2575 /* User B disconnects with User A */ 2577 F24 BYE B -> A 2579 BYE sip:UserA@100.101.102.103 SIP/2.0 2580 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2581 Max-Forwards: 70 2582 From: LittleGuy ;tag=23431 2583 To: BigGuy ;tag=1234567 2584 Call-ID: 12345678900@here.com 2585 CSeq: 1026 BYE 2586 Content-Length: 0 2588 F25 200 OK A -> B 2590 SIP/2.0 200 OK 2591 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2592 ;received=120.121.122.123 2593 From: LittleGuy ;tag=23431 2594 To: BigGuy ;tag=1234567 2595 Call-ID: 12345678900@here.com 2596 CSeq: 1026 BYE 2597 Content-Length: 0 2599 2.6 Call Forwarding Unconditional 2601 User A Proxy Gateway 2602 | | | 2603 | INVITE F1 | | 2604 |--------------->| INVITE F2 | 2605 |(100 Trying) F3 |------------->| 2606 |<---------------|180 Ringing F4| 2607 | 180 Ringing F5 |<-------------| 2608 |<---------------| 200 OK F6 | 2609 | 200 OK F7 |<-------------| 2610 |<---------------| | 2611 | ACK F8 | | 2612 |--------------->| ACK F9 | 2613 | |------------->| 2614 | Both way RTP Established | 2615 |<=============================>| 2616 | BYE F10 | | 2617 |--------------->| BYE F11 | 2618 | |------------->| 2619 | | 200 OK F12 | 2620 | 200 OK F13 |<-------------| 2621 |<---------------| | 2622 | | | 2624 User B wants all calls forwarded to the PSTN. User A calls User B. 2625 The Proxy server rewrites the request URI, and forwards the INVITE to 2626 a Gateway. Details of messaging behind the Gateway are not shown. 2628 Message Details 2630 F1 INVITE A -> Proxy 2632 INVITE sip:UserB@there.com SIP/2.0 2633 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2634 Max-Forwards: 70 2635 From: BigGuy ;tag=1234567 2636 To: LittleGuy 2637 Call-ID: 12345600@here.com 2638 CSeq: 1 INVITE 2639 Contact: 2640 Content-Type: application/sdp 2641 Content-Length: ... 2643 v=0 2644 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2645 s=Session SDP 2646 c=IN IP4 100.101.102.103 2647 t=3034423619 0 2648 m=audio 49170 RTP/AVP 0 2649 a=rtpmap:0 PCMU/8000 2651 /* Proxy forwards call by rewriting Request-URI */ 2653 F2 INVITE Proxy -> Gateway 2655 INVITE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2656 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2657 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2658 ;received=100.101.102.103 2659 Record-Route: 2660 Max-Forwards: 69 2661 From: BigGuy ;tag=1234567 2662 To: LittleGuy 2663 Call-ID: 12345600@here.com 2664 CSeq: 1 INVITE 2665 Contact: 2666 Content-Type: application/sdp 2667 Content-Length: ... 2669 v=0 2670 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2671 s=Session SDP 2672 c=IN IP4 100.101.102.103 2673 t=3034423619 0 2674 m=audio 49170 RTP/AVP 0 2675 a=rtpmap:0 PCMU/8000 2677 F3 (100 Trying) Proxy -> A 2679 SIP/2.0 100 Trying 2680 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2681 ;received=100.101.102.103 2682 From: BigGuy ;tag=1234567 2683 To: LittleGuy 2684 Call-ID: 12345600@here.com 2685 CSeq: 1 INVITE 2686 Content-Length: 0 2688 F4 180 Ringing Gateway -> Proxy 2690 SIP/2.0 180 Ringing 2691 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2692 ;received=1.2.3.4 2693 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2694 ;received=100.101.102.103 2695 Record-Route: 2696 From: BigGuy ;tag=1234567 2697 To: LittleGuy ;tag=314159 2698 Call-ID: 12345600@here.com 2699 CSeq: 1 INVITE 2700 Contact: 2701 Content Length:0 2703 F5 180 Ringing Proxy -> A 2705 SIP/2.0 180 Ringing 2706 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2707 ;received=100.101.102.103 2708 Record-Route: 2709 From: BigGuy ;tag=1234567 2710 To: LittleGuy ;tag=314159 2711 Call-ID: 12345600@here.com 2712 CSeq: 1 INVITE 2713 Contact: 2714 Content Length: 0 2716 F6 200 OK Gateway -> Proxy 2718 SIP/2.0 200 OK 2719 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2720 ;received=1.2.3.4 2721 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2722 ;received=100.101.102.103 2723 Record-Route: 2724 From: BigGuy ;tag=1234567 2725 To: LittleGuy ;tag=314159 2726 Call-ID: 12345600@here.com 2727 CSeq: 1 INVITE 2728 Contact: 2729 Content-Type: application/sdp 2730 Content-Length: ... 2732 v=0 2733 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 2734 s=Session SDP 2735 c=IN IP4 gatewayone.wcom.com 2736 t=0 0 2737 m=audio 3456 RTP/AVP 0 2738 a=rtpmap:0 PCMU/8000 2740 F7 200 OK Proxy -> A 2742 SIP/2.0 200 OK 2743 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2744 ;received=100.101.102.103 2746 Record-Route: 2747 From: BigGuy ;tag=1234567 2748 To: LittleGuy ;tag=314159 2749 Call-ID: 12345600@here.com 2750 CSeq: 1 INVITE 2751 Contact: 2752 Content-Type: application/sdp 2753 Content-Length: ... 2755 v=0 2756 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 2757 s=Session SDP 2758 c=IN IP4 gatewayone.wcom.com 2759 t=0 0 2760 m=audio 3456 RTP/AVP 0 2761 a=rtpmap:0 PCMU/8000 2763 F8 ACK A -> Proxy 2765 ACK sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2766 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2767 Route: 2768 Max-Forwards: 70 2769 From: BigGuy ;tag=1234567 2770 To: LittleGuy ;tag=314159 2771 Call-ID: 12345600@here.com 2772 CSeq: 1 ACK 2773 Content-Length: 0 2775 F9 ACK Proxy -> Gateway 2777 ACK sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2778 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2779 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2780 ;received=100.101.102.103 2781 Max-Forwards: 69 2782 From: BigGuy ;tag=1234567 2783 To: LittleGuy ;tag=314159 2784 Call-ID: 12345600@here.com 2785 CSeq: 1 ACK 2786 Content-Length: 0 2788 F10 BYE A -> Proxy 1 2790 BYE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2791 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2792 Route: 2793 Max-Forwards: 70 2794 From: BigGuy ;tag=1234567 2795 To: LittleGuy ;tag=314159 2796 Call-ID: 12345600@here.com 2797 CSeq: 2 BYE 2798 Content-Length: 0 2800 F11 BYE Proxy 1 -> Gateway 2802 BYE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2803 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2804 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2805 ;received=100.101.102.103 2806 Max-Forwards: 69 2807 From: BigGuy ;tag=1234567 2808 To: LittleGuy ;tag=314159 2809 Call-ID: 12345600@here.com 2810 CSeq: 2 BYE 2811 Content-Length: 0 2813 F12 200 OK Gateway -> Proxy 1 2815 SIP/2.0 200 OK 2816 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2817 ;received=1.2.3.4 2818 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2819 ;received=100.101.102.103 2820 From: BigGuy ;tag=1234567 2821 To: LittleGuy ;tag=314159 2822 Call-ID: 12345600@here.com 2823 CSeq: 2 BYE 2824 Content-Length: 0 2826 F13 200 OK Proxy 1 -> A 2828 SIP/2.0 200 OK 2829 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2830 ;received=100.101.102.103 2831 From: BigGuy ;tag=1234567 2832 To: LittleGuy ;tag=314159 2833 Call-ID: 12345600@here.com 2834 CSeq: 2 BYE 2835 Content-Length: 0 2837 2.7 Call Forwarding - Busy 2839 User A Proxy User B1 User B2 2840 | | | | 2841 | INVITE F1 | | | 2842 |--------------->| INVITE F2 | | 2843 | |------------->| | 2844 |(100 Trying) F3 | | | 2845 |<---------------| 486 Busy F4 | | 2846 | |<-------------| | 2847 | | ACK F5 | | 2848 | |------------->| | 2849 | | | INVITE F6 | 2850 | |--------------------------------->| 2851 | | | 180 Ringing F7 | 2852 | |<---------------------------------| 2853 | 180 Ringing F8 | | | 2854 |<---------------| | 200 OK F9 | 2855 | |<---------------------------------| 2856 | 200 OK F10 | | | 2857 |<---------------| | | 2858 | ACK F11 | | | 2859 |--------------->| | ACK F12 | 2860 | |--------------------------------->| 2861 | Both way RTP Established | 2862 |<=================================================>| 2863 | BYE F13 | | | 2864 |--------------->| | BYE F14 | 2865 | |--------------------------------->| 2866 | | | 200 OK F15 | 2867 | 200 OK F16 |<---------------------------------| 2868 |<---------------| | | 2869 | | | | 2871 User B wants calls to B1 forwarded to B2 if B1 is busy (this 2872 information is known to the proxy). User A calls B1, B1 is busy, the 2873 proxy server places call to B2. 2875 Message Details 2877 F1 INVITE A -> Proxy 2879 INVITE sip:UserB@there.com SIP/2.0 2880 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2881 Max-Forwards: 70 2882 From: BigGuy ;tag=1234567 2883 To: LittleGuy 2884 Call-ID: 12345600@here.com 2885 CSeq: 1 INVITE 2886 Contact: 2887 Content-Type: application/sdp 2888 Content-Length: ... 2890 v=0 2891 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2892 s=Session SDP 2893 c=IN IP4 100.101.102.103 2894 t=0 0 2895 m=audio 49170 RTP/AVP 0 2896 a=rtpmap:0 PCMU/8000 2898 F2 INVITE Proxy -> B1 2900 INVITE sip:UserB@110.111.112.113 SIP/2.0 2901 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2902 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2903 ;received=100.101.102.103 2904 Record-Route: 2905 Max-Forwards: 69 2906 From: BigGuy ;tag=1234567 2907 To: LittleGuy 2908 Call-ID: 12345600@here.com 2909 CSeq: 1 INVITE 2910 Contact: 2911 Content-Type: application/sdp 2912 Content-Length: ... 2914 v=0 2915 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2916 s=Session SDP 2917 c=IN IP4 100.101.102.103 2918 t=0 0 2919 m=audio 49170 RTP/AVP 0 2920 a=rtpmap:0 PCMU/8000 2922 F3 (100 Trying) Proxy -> A 2924 SIP/2.0 100 Trying 2925 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2926 ;received=100.101.102.103 2927 From: BigGuy ;tag=1234567 2928 To: LittleGuy 2929 Call-ID: 12345600@here.com 2930 CSeq: 1 INVITE 2931 Content-Length: 0 2933 F4 486 Busy Here B1 -> Proxy 2935 SIP/2.0 486 Busy Here 2936 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2937 ;received=1.2.3.4 2938 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2939 ;received=100.101.102.103 2940 From: BigGuy ;tag=1234567 2941 To: LittleGuy ;tag=765432 2942 Call-ID: 12345600@here.com 2943 CSeq: 1 INVITE 2944 Content-Length: 0 2946 F5 ACK Proxy -> B1 2948 ACK sip:UserB@110.111.112.113 SIP/2.0 2949 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2950 Max-Forwards: 70 2951 From: BigGuy ;tag=1234567 2952 To: LittleGuy ;tag=765432 2953 Call-ID: 12345600@here.com 2954 CSeq: 1 ACK 2955 Content-Length: 0 2957 /* The proxy now forwards the call to B2 */ 2959 F6 INVITE Proxy -> B2 2961 INVITE sip:UserB2@110.111.112.114 SIP/2.0 2962 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 2963 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2964 ;received=100.101.102.103 2965 Record-Route: 2966 Max-Forwards: 69 2967 From: BigGuy ;tag=1234567 2968 To: LittleGuy 2969 Call-ID: 12345600@here.com 2970 CSeq: 1 INVITE 2971 Contact: 2972 Content-Type: application/sdp 2973 Content-Length: ... 2975 v=0 2976 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2977 s=Session SDP 2978 c=IN IP4 100.101.102.103 2979 t=0 0 2980 m=audio 49170 RTP/AVP 0 2981 a=rtpmap:0 PCMU/8000 2983 F7 180 Ringing B2 -> Proxy 2984 SIP/2.0 180 Ringing 2985 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 2986 ;received=1.2.3.4 2987 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2988 ;received=100.101.102.103 2989 Record-Route: 2990 From: BigGuy ;tag=1234567 2991 To: LittleGuy ;tag=7654321 2992 Call-ID: 12345600@here.com 2993 CSeq: 1 INVITE 2994 Contact: 2995 Content-Length: 0 2997 F8 180 Ringing Proxy -> A 2999 SIP/2.0 180 Ringing 3000 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3001 ;received=100.101.102.103 3002 Record-Route: 3003 From: BigGuy ;tag=1234567 3004 To: LittleGuy ;tag=7654321 3005 Call-ID: 12345600@here.com 3006 CSeq: 1 INVITE 3007 Contact: 3008 Content-Length: 0 3010 F9 200 OK B2 -> Proxy 3012 SIP/2.0 200 OK 3013 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3014 ;received=1.2.3.4 3015 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3016 ;received=100.101.102.103 3017 Record-Route: 3018 From: BigGuy ;tag=1234567 3019 To: LittleGuy ;tag=7654321 3020 Call-ID: 12345600@here.com 3021 CSeq: 1 INVITE 3022 Contact: 3023 Content-Type: application/sdp 3024 Content-Length: ... 3026 v=0 3027 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 3028 s=Session SDP 3029 c=IN IP4 110.111.112.114 3030 t=0 0 3031 m=audio 3456 RTP/AVP 0 3032 a=rtpmap:0 PCMU/8000 3033 F10 200 OK Proxy -> A 3035 SIP/2.0 200 OK 3036 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3037 ;received=100.101.102.103 3038 Record-Route: 3039 From: BigGuy ;tag=1234567 3040 To: LittleGuy ;tag=7654321 3041 Call-ID: 12345600@here.com 3042 CSeq: 1 INVITE 3043 Contact: 3044 Content-Type: application/sdp 3045 Content-Length: ... 3047 v=0 3048 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 3049 s=Session SDP 3050 c=IN IP4 110.111.112.114 3051 t=0 0 3052 m=audio 3456 RTP/AVP 0 3053 a=rtpmap:0 PCMU/8000 3055 F11 ACK A -> Proxy 3057 ACK sip:UserB2@110.111.112.114 SIP/2.0 3058 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3059 Route: 3060 Max-Forwards: 70 3061 From: BigGuy ;tag=1234567 3062 To: LittleGuy ;tag=7654321 3063 Call-ID: 12345600@here.com 3064 CSeq: 1 ACK 3065 Content-Length: 0 3067 F12 ACK Proxy -> B2 3069 ACK sip:UserB2@110.111.112.114 SIP/2.0 3070 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3071 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3072 ;received=100.101.102.103 3073 Max-Forwards: 69 3074 From: BigGuy ;tag=1234567 3075 To: LittleGuy ;tag=7654321 3076 Call-ID: 12345600@here.com 3077 CSeq: 1 ACK 3078 Content-Length: 0 3080 /* RTP streams are established between A and B2 */ 3081 /* User A eventually hangs up with User B2. */ 3083 F13 BYE A -> Proxy 3085 BYE sip:UserB2@110.111.112.114 SIP/2.0 3086 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3087 Route: 3088 Max-Forwards: 70 3089 From: BigGuy ;tag=1234567 3090 To: LittleGuy ;tag=7654321 3091 Call-ID: 12345600@here.com 3092 CSeq: 2 BYE 3093 Content-Length: 0 3095 F14 BYE Proxy -> B2 3097 BYE sip:UserB2@110.111.112.114 SIP/2.0 3098 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3099 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3100 ;received=100.101.102.103 3101 Max-Forwards: 69 3102 From: BigGuy ;tag=1234567 3103 To: LittleGuy ;tag=7654321 3104 Call-ID: 12345600@here.com 3105 CSeq: 2 BYE 3106 Content-Length: 0 3108 F15 200 OK B2 -> Proxy 3110 SIP/2.0 200 OK 3111 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3112 ;received=1.2.3.4 3113 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3114 ;received=100.101.102.103 3115 From: BigGuy ;tag=1234567 3116 To: LittleGuy ;tag=7654321 3117 Call-ID: 12345600@here.com 3118 CSeq: 2 BYE 3119 Content-Length: 0 3121 F16 200 OK Proxy -> A 3123 SIP/2.0 200 OK 3124 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3125 ;received=100.101.102.103 3126 From: BigGuy ;tag=1234567 3127 To: LittleGuy ;tag=7654321 3128 Call-ID: 12345600@here.com 3129 CSeq: 2 BYE 3130 Content-Length: 0 3132 2.8 Call Forwarding - No Answer 3134 User A Proxy User B1 User B2 3135 | | | | 3136 | INVITE F1 | | | 3137 |--------------->| INVITE F2 | | 3138 |(100 Trying) F3 |------------->| | 3139 |<---------------|180 Ringing F4| | 3140 | 180 Ringing F5 |<-------------| | 3141 |<---------------| | | 3142 | Request Timeout | 3143 | | | | 3144 | | CANCEL F6 | | 3145 | |------------->| | 3146 | | 200 OK F7 | | 3147 | |<-------------| | 3148 | | 487 F8 | | 3149 | |<-------------| | 3150 | | ACK F9 | | 3151 | |------------->| | 3152 | | | INVITE F10 | 3153 | |--------------------------------->| 3154 | | | 180 Ringing F11 | 3155 | 180 Ringing F12|<---------------------------------| 3156 |<---------------| | 200 OK F13 | 3157 | |<---------------------------------| 3158 | 200 OK F14 | | | 3159 |<---------------| | | 3160 | ACK F15 | | | 3161 |--------------->| | ACK F16 | 3162 | |--------------------------------->| 3163 | Both way RTP Established | 3164 |<=================================================>| 3165 | BYE F17 | | | 3166 |--------------->| | BYE F18 | 3167 | |--------------------------------->| 3168 | | | 200 OK F19 | 3169 | 200 OK F20 |<---------------------------------| 3170 |<---------------| | | 3171 | | | | 3173 User B wants calls to B1 forwarded to B2 if B1 is not answered 3174 (information is known to the proxy server). User A calls B1 and no 3175 one answers. The proxy server then places the call to B2. 3177 Message Details 3179 F1 INVITE A -> Proxy 3181 INVITE sip:UserB@there.com SIP/2.0 3182 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3183 Max-Forwards: 70 3184 From: BigGuy ;tag=1234567 3185 To: LittleGuy 3186 Call-ID: 12345600@here.com 3187 CSeq: 1 INVITE 3188 Contact: 3189 Content-Type: application/sdp 3190 Content-Length: ... 3192 v=0 3193 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3194 s=Session SDP 3195 c=IN IP4 100.101.102.103 3196 t=0 0 3197 m=audio 49170 RTP/AVP 0 3198 a=rtpmap:0 PCMU/8000 3200 F2 INVITE Proxy -> B1 3202 INVITE sip:UserB1@110.111.112.113 SIP/2.0 3203 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3204 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3205 ;received=100.101.102.103 3206 Record-Route: 3207 Max-Forwards: 69 3208 From: BigGuy ;tag=1234567 3209 To: LittleGuy 3210 Call-ID: 12345600@here.com 3211 CSeq: 1 INVITE 3212 Contact: 3213 Content-Type: application/sdp 3214 Content-Length: ... 3216 v=0 3217 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3218 s=Session SDP 3219 c=IN IP4 100.101.102.103 3220 t=0 0 3221 m=audio 49170 RTP/AVP 0 3222 a=rtpmap:0 PCMU/8000 3224 F3 (100 Trying) Proxy -> A 3226 SIP/2.0 100 Trying 3227 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3228 ;received=100.101.102.103 3229 From: BigGuy ;tag=1234567 3230 To: LittleGuy 3231 Call-ID: 12345600@here.com 3232 CSeq: 1 INVITE 3233 Content-Length: 0 3235 F4 180 Ringing B1 -> Proxy 3237 SIP/2.0 180 Ringing 3238 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3239 ;received=1.2.3.4 3240 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3241 ;received=100.101.102.103 3242 Record-Route: 3243 From: BigGuy ;tag=1234567 3244 To: LittleGuy ;tag=3145678 3245 Call-ID: 12345600@here.com 3246 CSeq: 1 INVITE 3247 Contact: 3248 Content-Length: 0 3250 F5 180 Ringing Proxy -> A 3252 SIP/2.0 180 Ringing 3253 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3254 ;received=100.101.102.103 3255 Record-Route: 3256 From: BigGuy ;tag=1234567 3257 To: LittleGuy ;tag=3145678 3258 Call-ID: 12345600@here.com 3259 CSeq: 1 INVITE 3260 Contact: 3261 Content-Length: 0 3263 /* B1 rings until a configurable timer expires in the Proxy. The 3264 Proxy sends Cancel and proceeds down the list of routes. */ 3266 F6 CANCEL Proxy -> B1 3268 CANCEL sip:UserB1@110.111.112.113 SIP/2.0 3269 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3270 Max-Forwards: 70 3271 From: BigGuy 3272 To: LittleGuy 3273 Call-ID: 12345600@here.com 3274 CSeq: 1 CANCEL 3275 Content-Length: 0 3277 F7 200 OK B1 -> Proxy 3279 SIP/2.0 200 OK 3280 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3281 ;received=1.2.3.4 3282 From: BigGuy 3283 To: LittleGuy 3284 Call-ID: 12345600@here.com 3285 CSeq: 1 CANCEL 3286 Content-Length: 0 3288 F8 487 Request Terminated B1 -> Proxy 3290 SIP/2.0 487 Request Terminated 3291 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3292 ;received=1.2.3.4 3293 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3294 ;received=100.101.102.103 3295 From: BigGuy ;tag=1234567 3296 To: LittleGuy ;tag=3145678 3297 Call-ID: 12345600@here.com 3298 CSeq: 1 INVITE 3299 Content-Length: 0 3301 F9 ACK Proxy -> B1 3303 ACK sip:UserB@110.111.112.113 SIP/2.0 3304 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3305 Max-Forwards: 70 3306 From: BigGuy ;tag=1234567 3307 To: LittleGuy ;tag=3145678 3308 Call-ID: 12345600@here.com 3309 CSeq: 1 ACK 3310 Content-Length: 0 3312 F10 INVITE Proxy -> B2 3314 INVITE sip:UserB2@110.111.112.114 SIP/2.0 3315 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3316 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3317 ;received=100.101.102.103 3318 Record-Route: 3319 Max-Forwards: 69 3320 From: BigGuy ;tag=1234567 3321 To: LittleGuy 3322 Call-ID: 12345600@here.com 3323 CSeq: 1 INVITE 3324 Contact: 3325 Content-Type: application/sdp 3326 Content-Length: ... 3328 v=0 3329 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3330 s=Session SDP 3331 c=IN IP4 100.101.102.103 3332 t=0 0 3333 m=audio 49170 RTP/AVP 0 3334 a=rtpmap:0 PCMU/8000 3336 F11 180 Ringing B2 -> Proxy 3338 SIP/2.0 180 Ringing 3339 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3340 ;received=1.2.3.4 3341 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3342 ;received=100.101.102.103 3343 Record-Route: 3344 From: BigGuy ;tag=1234567 3345 To: LittleGuy ;tag=765432 3346 Call-ID: 12345600@here.com 3347 CSeq: 1 INVITE 3348 Contact: 3349 Content-Length: 0 3351 F12 180 Proxy -> A 3353 SIP/2.0 180 Ringing 3354 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3355 ;received=100.101.102.103 3356 Record-Route: 3357 From: BigGuy ;tag=1234567 3358 To: LittleGuy ;tag=765432 3359 Call-ID: 12345600@here.com 3360 CSeq: 1 INVITE 3361 Contact: 3362 Content-Length: 0 3364 F13 200 OK B2 -> Proxy 3366 SIP/2.0 200 OK 3367 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3368 ;received=1.2.3.4 3369 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3370 ;received=100.101.102.103 3371 Record-Route: 3372 From: BigGuy ;tag=1234567 3373 To: LittleGuy ;tag=765432 3374 Call-ID: 12345600@here.com 3375 CSeq: 1 INVITE 3376 Contact: 3377 Content-Type: application/sdp 3378 Content-Length: ... 3380 v=0 3381 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 3382 s=Session SDP 3383 c=IN IP4 110.111.112.114 3384 t=0 0 3385 m=audio 3456 RTP/AVP 0 3386 a=rtpmap:0 PCMU/8000 3388 F14 200 OK Proxy -> A 3390 SIP/2.0 200 OK 3391 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3392 ;received=100.101.102.103 3393 Record-Route: 3394 From: BigGuy ;tag=1234567 3395 To: LittleGuy ;tag=765432 3396 Call-ID: 12345600@here.com 3397 CSeq: 1 INVITE 3398 Contact: 3399 Content-Type: application/sdp 3400 Content-Length: ... 3402 v=0 3403 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 3404 s=Session SDP 3405 c=IN IP4 110.111.112.114 3406 t=0 0 3407 m=audio 3456 RTP/AVP 0 3408 a=rtpmap:0 PCMU/8000 3410 F15 ACK A -> Proxy 3412 ACK sip:UserB2@110.111.112.114 SIP/2.0 3413 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3414 Route: 3415 Max-Forwards: 70 3416 From: BigGuy ;tag=1234567 3417 To: LittleGuy ;tag=765432 3418 Call-ID: 12345600@here.com 3419 CSeq: 1 ACK 3420 Content-Length: 0 3422 F16 ACK Proxy -> B2 3424 ACK sip:UserB2@110.111.112.114 SIP/2.0 3425 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3426 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3427 ;received=100.101.102.103 3428 Max-Forwards: 69 3429 From: BigGuy ;tag=1234567 3430 To: LittleGuy ;tag=765432 3431 Call-ID: 12345600@here.com 3432 CSeq: 1 ACK 3433 Content-Length: 0 3435 /* RTP streams are established between A and B2. User A Hangs Up 3436 with User B2. */ 3438 F17 BYE A -> Proxy 3440 BYE sip:UserB2@110.111.112.114 SIP/2.0 3441 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3442 Route: 3443 Max-Forwards: 70 3444 From: BigGuy ;tag=1234567 3445 To: LittleGuy ;tag=765432 3446 Call-ID: 12345600@here.com 3447 CSeq: 2 BYE 3448 Content-Length: 0 3450 F18 BYE Proxy -> B2 3452 BYE sip:UserB2@110.111.112.114 SIP/2.0 3453 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3454 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3455 ;received=100.101.102.103 3456 Max-Forwards: 69 3457 From: BigGuy ;tag=1234567 3458 To: LittleGuy ;tag=765432 3459 Call-ID: 12345600@here.com 3460 CSeq: 2 BYE 3461 Content-Length: 0 3463 F19 200 OK B2 -> Proxy 3465 SIP/2.0 200 OK 3466 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3467 ;received=1.2.3.4 3468 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3469 ;received=100.101.102.103 3470 From: BigGuy ;tag=1234567 3471 To: LittleGuy ;tag=765432 3472 Call-ID: 12345600@here.com 3473 CSeq: 2 BYE 3474 Content-Length: 0 3475 F20 200 OK Proxy -> A 3477 SIP/2.0 200 OK 3478 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3479 ;received=100.101.102.103 3480 From: BigGuy ;tag=1234567 3481 To: LittleGuy ;tag=765432 3482 Call-ID: 12345600@here.com 3483 CSeq: 2 BYE 3484 Content-Length: 0 3486 2.9 3-way Conference 3488 User A calls User B, User B then invites user C to a 3-way call. User 3489 B will mix the audio streams (act as the conference bridge). If user 3490 B drops out of the call then the entire call is dropped. This is not 3491 a fully meshed conference, and does not make use of the concepts in 3492 the call control draft. 3494 The signaling for this scenario is as follows: User A calls User B, 3495 this establishes the call between A and B. User B calls User C, this 3496 establishes the call between B and C. User B will mix the audio 3497 streams, sending media originating at A to C, and media originating 3498 at C to A. There is no SIP signaling relationship between User A and 3499 User C. 3501 The REFER method with the Replaces header could be used by User B to 3502 drop out of the call without disconnecting A and C. 3504 2.10 Single Line Extension 3506 User A Forking Proxy User User User 3507 B1 B2 B3 3508 | | | | | 3509 | INVITE F1 | | | | 3510 |--------------->| INVITE F2 | | | 3511 | |------------->| | | 3512 | | INVITE F3 | | 3513 | |-------------------->| | 3514 | | INVITE F4 | | 3515 | |--------------------------->| 3516 | 100 Trying F5 | | | | 3517 |<---------------|180 Ringing F6| | | 3518 | |<-------------| | | 3519 | 180 Ringing F7 | | | | 3520 |<---------------| | | | 3521 | | 480 Not Logged In F8| | 3522 | |<--------------------| | 3523 | | ACK F9 | | 3524 | |-------------------->| | 3525 | | 180 Ringing F10 | 3526 | 180 F11 |<---------------------------| 3527 |<---------------| 200 OK F12 | 3528 | 200 OK F13 |<---------------------------| 3529 |<---------------| | | | 3530 | | CANCEL 14 | | | 3531 | |------------->| | | 3532 | | 200 OK F15 | | | 3533 | |<-------------| | | 3534 | | 487 F16 | | | 3535 | |<-------------| | | 3536 | | ACK F17 | | | 3537 | |------------->| | | 3538 | ACK F18 | | | | 3539 |--------------->| ACK F19 | | 3540 | |--------------------------->| 3541 | Both way RTP Established | 3542 |<===========================================>| 3543 | | NOTIFY F20 | 3544 | |<---------------------------| 3545 | | NOTIFY F21 | | | 3546 | |------------->| | | 3547 | | NOTIFY F22 | | 3548 | |-------------------->| | 3549 | | NOTIFY F23 | | 3550 | |--------------------------->| 3551 | | 200 OK F24 | | | 3552 | |<-------------| | | 3553 | | 200 OK F25 | 3554 | |--------------------------->| 3555 | | 200 OK F26 | | 3556 | |<--------------------| | 3557 | | 482 Loop Detected F27 | 3558 | |<---------------------------| 3559 | | | 3560 | User B2 wants to join the call | 3561 | | | 3562 | | INVITE "Join" F28 | | 3563 | |<--------------------| | 3564 | | INVITE "Join" F29 | | 3565 | |------------->| | | 3566 | | INVITE "Join" F30 | 3567 | |-------------------->| | 3568 | | INVITE "Join" F31 | 3569 | |--------------------------->| 3570 | | 100 Trying F32 | | 3571 | |-------------------->| | 3572 | | 481 Dialog Does Not Exist F33 3573 | |<-------------| | | 3574 | | ACK F34 | | | 3575 | |------------->| | | 3576 | | 482 Loop Detected F35 | 3577 | |<--------------------| | 3578 | | ACK F36 | | 3579 | |-------------------->| | 3580 | | 200 OK F37 | 3581 | |<---------------------------| 3582 | | 200 OK F38 | | 3583 | |-------------------->| | 3584 | | |ACK F39 3585 | | |----->| 3586 | | Both way RTP Established 3587 | | |<====>| B3 mixes RTP 3588 | | | | 3590 In Single Line Extension a call will ring several extensions at the 3591 same time (forking). The extension to answer the call becomes the 3592 active set. If other extensions pick up, the call becomes a 3593 conference call. 3595 In this flow, A calls B which results in the INVITE being forked to 3596 three devices, B1, B2, and B3. B3 answers the call and is connected 3597 to A. B3 sends a NOTIFY containing the dialog information to B, 3598 which is forked to B1 and B2. A user at B2 wishes to join the call 3599 and sends an INVITE with "join" semantics to B to request this. This 3600 INVITE is forked and is accepted by B3 who then performs the mixing 3601 function. Note that this INVITE with "join" semantics has not yet 3602 been defined in a WG document yet. 3604 Note that if B3 is not capable of mixing the media, B3 would transfer 3605 both A and B2 to a conferencing bridge which would perform the 3606 mixing. 3608 The use of SUBSCRIBE and NOTIFY is defined in [11] while the dialog 3609 Event package is defined in [10]. 3611 Message Details 3613 F1 INVITE A -> Proxy 3615 INVITE sip:UserB@there.com SIP/2.0 3616 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3617 Max-Forwards: 70 3618 From: BigGuy ;tag=1234567 3619 To: LittleGuy 3620 Call-ID: 12345600@here.com 3621 CSeq: 1 INVITE 3622 Contact: 3623 Content-Type: application/sdp 3624 Content-Length: ... 3626 v=0 3627 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3628 s=Session SDP 3629 c=IN IP4 100.101.102.103 3630 t= 0 0 3631 m=audio 49170 RTP/AVP 0 3632 a=rtpmap:0 PCMU/8000 3634 F2 INVITE Proxy -> B1 3636 INVITE sip:UserB@110.111.112.113 SIP/2.0 3637 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3638 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3639 ;received=100.101.102.103 3640 Max-Forwards: 69 3641 From: BigGuy ;tag=1234567 3642 To: LittleGuy 3643 Call-ID: 12345600@here.com 3644 CSeq: 1 INVITE 3645 Contact: 3646 Content-Type: application/sdp 3647 Content-Length: ... 3649 v=0 3650 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3651 s=Session SDP 3652 c=IN IP4 100.101.102.103 3653 t= 0 0 3654 m=audio 49170 RTP/AVP 0 3655 a=rtpmap:0 PCMU/8000 3657 F3 INVITE Proxy -> B2 3659 INVITE sip:UserB2@110.111.112.114 SIP/2.0 3660 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3661 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3662 ;received=100.101.102.103 3663 Max-Forwards: 69 3664 From: BigGuy ;tag=1234567 3665 To: LittleGuy 3666 Call-ID: 12345600@here.com 3667 CSeq: 1 INVITE 3668 Contact: 3669 Content-Type: application/sdp 3670 Content-Length: ... 3672 v=0 3673 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3674 s=Session SDP 3675 c=IN IP4 100.101.102.103 3676 t=0 0 3677 m=audio 49170 RTP/AVP 0 3678 a=rtpmap:0 PCMU/8000 3680 F4 INVITE Proxy -> B3 3682 INVITE sip:UserB3@110.111.112.115 SIP/2.0 3683 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 3684 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3685 ;received=100.101.102.103 3686 Max-Forwards: 69 3687 From: BigGuy ;tag=1234567 3688 To: LittleGuy 3689 Call-ID: 12345600@here.com 3690 CSeq: 1 INVITE 3691 Contact: 3692 Content-Type: application/sdp 3693 Content-Length: ... 3695 v=0 3696 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3697 s=Session SDP 3698 c=IN IP4 100.101.102.103 3699 t=0 0 3700 m=audio 49170 RTP/AVP 0 3701 a=rtpmap:0 PCMU/8000 3702 F5 100 Trying Proxy -> A 3704 SIP/2.0 100 Trying 3705 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3706 ;received=100.101.102.103 3707 From: BigGuy ;tag=1234567 3708 To: LittleGuy 3709 Call-ID: 12345600@here.com 3710 CSeq: 1 INVITE 3711 Content-Length: 0 3713 F6 180 Ringing B1 -> Proxy 3715 SIP/2.0 180 Ringing 3716 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3717 ;received=1.2.3.4 3718 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3719 ;received=100.101.102.103 3720 From: BigGuy ;tag=1234567 3721 To: LittleGuy ;tag=765432 3722 Call-ID: 12345600@here.com 3723 CSeq: 1 INVITE 3724 Contact: 3725 Content-Length: 0 3727 F7 180 Ringing Proxy -> A 3729 SIP/2.0 180 Ringing 3730 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3731 ;received=100.101.102.103 3732 From: BigGuy ;tag=1234567 3733 To: LittleGuy ;tag=765432 3734 Call-ID: 12345600@here.com 3735 CSeq: 1 INVITE 3736 Contact: 3737 Content-Length: 0 3739 F8 480 Not Logged In B2 -> Proxy 3741 SIP/2.0 480 Not Logged In 3742 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3743 ;received=1.2.3.4 3744 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3745 ;received=100.101.102.103 3746 From: BigGuy ;tag=1234567 3747 To: LittleGuy ;tag=314756 3748 Call-ID: 12345600@here.com 3749 CSeq: 1 INVITE 3750 Content-Length: 0 3752 F9 ACK Proxy -> B2 3754 ACK sip:UserB2@110.111.112.114 SIP/2.0 3755 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3756 Max-Forwards: 70 3757 From: BigGuy ;tag=1234567 3758 To: LittleGuy ;tag=314756 3759 Call-ID: 12345600@here.com 3760 CSeq: 1 ACK 3761 Content-Length: 0 3763 F10 180 Ringing B3 -> Proxy 3765 SIP/2.0 180 Ringing 3766 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.3 3767 ;received=1.2.3.4 3768 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3769 ;received=100.101.102.103 3770 From: BigGuy ;tag=1234567 3771 To: LittleGuy ;tag=7137136 3772 Call-ID: 12345600@here.com 3773 CSeq: 1 INVITE 3774 Contact: 3775 Content-Length: 0 3777 F11 180 Ringing B3 -> Proxy 3779 SIP/2.0 180 Ringing 3780 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3781 ;received=100.101.102.103 3782 From: BigGuy ;tag=1234567 3783 To: LittleGuy ;tag=7137136 3784 Call-ID: 12345600@here.com 3785 CSeq: 1 INVITE 3786 Contact: 3787 Content-Length: 0 3789 F12 200 OK B3 -> Proxy 3791 SIP/2.0 200 OK 3792 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.3 3793 ;received=1.2.3.4 3794 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3795 ;received=100.101.102.103 3796 From: BigGuy ;tag=1234567 3797 To: LittleGuy ;tag=7137136 3798 Call-ID: 12345600@here.com 3799 CSeq: 1 INVITE 3800 Contact: 3801 Content-Type: application/sdp 3802 Content-Length: ... 3804 v=0 3805 o=UserB 2890844527 2890844527 IN IP4 client3.there.com 3806 s=Session SDP 3807 c=IN IP4 110.111.112.115 3808 t=0 0 3809 m=audio 3456 RTP/AVP 0 3810 a=rtpmap:0 PCMU/8000 3812 F13 200 OK Proxy -> A 3814 SIP/2.0 200 OK 3815 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3816 ;received=100.101.102.103 3817 From: BigGuy ;tag=1234567 3818 To: LittleGuy ;tag=7137136 3819 Call-ID: 12345600@here.com 3820 CSeq: 1 INVITE 3821 Contact: 3822 Content-Type: application/sdp 3823 Content-Length: ... 3825 v=0 3826 o=UserB 2890844527 2890844527 IN IP4 client3.there.com 3827 s=Session SDP 3828 c=IN IP4 110.111.112.115 3829 t=0 0 3830 m=audio 3456 RTP/AVP 0 3831 a=rtpmap:0 PCMU/8000 3833 /* Forking Proxy cancels pending branch B1 */ 3835 F14 CANCEL Proxy -> B1 3837 CANCEL sip:UserB@110.111.112.113 SIP/2.0 3838 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3839 Max-Forwards: 70 3840 From: BigGuy 3841 To: LittleGuy 3842 Call-ID: 12345600@here.com 3843 CSeq: 1 CANCEL 3844 Content-Length: 0 3845 F15 200 OK B1 -> Proxy 3847 SIP/2.0 200 OK 3848 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3849 ;received=1.2.3.4 3850 From: BigGuy 3851 To: LittleGuy 3852 Call-ID: 12345600@here.com 3853 CSeq: 1 CANCEL 3854 Content-Length: 0 3856 F16 487 Request Terminated B1 -> Proxy 3858 SIP/2.0 487 Request Terminated 3859 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3860 ;received=1.2.3.4 3861 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3862 ;received=100.101.102.103 3863 From: BigGuy ;tag=1234567 3864 To: LittleGuy ;tag=765432 3865 Call-ID: 12345600@here.com 3866 CSeq: 1 INVITE 3867 Content-Length: 0 3869 F17 ACK Proxy -> B1 3871 ACK sip:UserB@110.111.112.113 SIP/2.0 3872 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3873 Max-Forwards: 70 3874 From: BigGuy ;tag=1234567 3875 To: LittleGuy ;tag=765432 3876 Call-ID: 12345600@here.com 3877 CSeq: 1 ACK 3878 Content-Length: 0 3880 F18 ACK A -> Proxy 3882 ACK sip:UserB4@110.111.112.115 SIP/2.0 3883 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3884 Max-Forwards: 70 3885 From: BigGuy ;tag=1234567 3886 To: LittleGuy ;tag=7137136 3887 Call-ID: 12345600@here.com 3888 CSeq: 1 ACK 3889 Content-Length: 0 3890 F19 ACK Proxy -> B3 3892 ACK sip:UserB4@110.111.112.115 SIP/2.0 3893 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 3894 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3895 ;received=100.101.102.103 3896 Max-Forwards: 69 3897 From: BigGuy ;tag=1234567 3898 To: LittleGuy ;tag=7137136 3899 Call-ID: 12345600@here.com 3900 CSeq: 1 ACK 3901 Content-Length: 0 3903 /* RTP streams are established between A and B3*/ 3905 /* User B3 sends a NOTIFY to the group with established dialog 3906 information. */ 3908 F20 NOTIFY B3 -> Proxy 3910 NOTIFY sip:UserB@there.com SIP/2.0 3911 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 3912 Max-Forwards: 70 3913 From: LittleGuy ;tag=w2Hu8sj 3914 To: LittleGuy 3915 Call-ID: 8458999275@there.com 3916 CSeq: 1 NOTIFY 3917 Event: dialog 3918 Content-Type: application/dialog-info+xml 3919 Content-Length: ... 3921 3925 OK 3927 F21 NOTIFY Proxy -> B1 3929 NOTIFY sip:UserB1@110.111.112.113 SIP/2.0 3930 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.1 3931 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 3932 ;received=110.111.112.115 3933 Max-Forwards: 69 3934 From: LittleGuy ;tag=w2Hu8sj 3935 To: LittleGuy 3936 Call-ID: 8458999275@there.com 3937 CSeq: 1 NOTIFY 3938 Event: dialog 3939 Content-Type: application/dialog-info+xml 3940 Content-Length: ... 3942 3946 OK 3948 F22 Proxy -> B2 3950 NOTIFY sip:UserB1@110.111.112.114 SIP/2.0 3951 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 3952 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 3953 ;received=110.111.112.115 3954 Max-Forwards: 69 3955 From: LittleGuy ;tag=w2Hu8sj 3956 To: LittleGuy 3957 Call-ID: 8458999275@there.com 3958 CSeq: 1 NOTIFY 3959 Event: dialog 3960 Content-Type: application/dialog-info+xml 3961 Content-Length: ... 3963 3967 OK 3969 F23 NOTIFY Proxy-> B3 3971 NOTIFY sip:UserB1@110.111.112.115 SIP/2.0 3972 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 3973 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 3974 ;received=110.111.112.115 3975 Max-Forwards: 69 3976 From: LittleGuy ;tag=w2Hu8sj 3977 To: LittleGuy 3978 Call-ID: 8458999275@there.com 3979 CSeq: 1 NOTIFY 3980 Event: dialog 3981 Content-Type: application/dialog-info+xml 3982 Content-Length: ... 3984 3988 OK 3989 F24 200 OK B1 -> Proxy 3991 SIP/2.0 200 OK 3992 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.1 3993 ;received=1.2.3.4 3994 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 3995 ;received=110.111.112.115 3996 From: LittleGuy ;tag=w2Hu8sj 3997 To: LittleGuy 3998 Call-ID: 8458999275@there.com 3999 CSeq: 1 NOTIFY 4000 Content-Length: 0 4002 F25 200 OK Proxy -> B3 4004 SIP/2.0 200 OK 4005 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 4006 ;received=110.111.112.115 4007 From: LittleGuy ;tag=w2Hu8sj 4008 To: LittleGuy 4009 Call-ID: 8458999275@there.com 4010 CSeq: 1 NOTIFY 4011 Content-Length: 0 4013 F26 200 OK B2 -> Proxy 4015 SIP/2.0 200 OK 4016 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 4017 ;received=1.2.3.4 4018 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 4019 ;received=110.111.112.115 4020 From: LittleGuy ;tag=w2Hu8sj 4021 To: LittleGuy 4022 Call-ID: 8458999275@there.com 4023 CSeq: 1 NOTIFY 4024 Content-Length: 0 4026 F27 200 OK B3 -> Proxy 4028 SIP/2.0 482 Loop Detected 4029 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 4030 ;received=1.2.3.4 4031 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 4032 ;received=110.111.112.115 4033 From: LittleGuy ;tag=w2Hu8sj 4034 To: LittleGuy 4035 Call-ID: 8458999275@there.com 4036 CSeq: 1 NOTIFY 4037 Content-Length: 0 4039 /* User B2 decided to join the call. Note that this INVITE with 4040 "join" semantics has not yet been defined in a WG document yet. 4041 Presumably it will use dialog indentifiers from the NOTIFY. */ 4043 F28 INVITE B2 -> Proxy 4045 INVITE sip:UserB@there.com SIP/2.0 4046 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 4047 Max-Forwards: 70 4048 From: LittleGuy ;tag=4524524312 4049 To: LittleGuy 4050 Call-ID: 524251233@there.com 4051 CSeq: 1 INVITE 4052 Contact: 4053 Content-Type: application/sdp 4054 Content-Length: ... 4056 v=0 4057 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 4058 s=Session SDP 4059 c=IN IP4 110.111.112.114 4060 t=0 0 4061 m=audio 3458 RTP/AVP 0 4062 a=rtpmap:0 PCMU/8000 4064 F29 INVITE Proxy -> B1 4066 INVITE sip:UserB1@110.111.112.113 SIP/2.0 4067 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.1 4068 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 4069 ;received=110.111.112.114 4070 Max-Forwards: 69 4071 From: LittleGuy ;tag=4524524312 4072 To: LittleGuy 4073 Call-ID: 524251233@there.com 4074 CSeq: 1 INVITE 4075 Contact: 4076 Content-Type: application/sdp 4077 Content-Length: ... 4079 v=0 4080 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 4081 s=Session SDP 4082 c=IN IP4 110.111.112.114 4083 t=0 0 4084 m=audio 3458 RTP/AVP 0 4085 a=rtpmap:0 PCMU/8000 4086 F30 INVITE Proxy -> B2 4088 INVITE sip:UserB1@110.111.112.114 SIP/2.0 4089 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 4090 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 4091 ;received=110.111.112.114 4092 Max-Forwards: 69 4093 From: LittleGuy ;tag=4524524312 4094 To: LittleGuy 4095 Call-ID: 524251233@there.com 4096 CSeq: 1 INVITE 4097 Contact: 4098 Content-Type: application/sdp 4099 Content-Length: ... 4101 v=0 4102 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 4103 s=Session SDP 4104 c=IN IP4 110.111.112.114 4105 t=0 0 4106 m=audio 3458 RTP/AVP 0 4107 a=rtpmap:0 PCMU/8000 4109 F31 INVITE Proxy -> B1 4111 INVITE sip:UserB1@110.111.112.115 SIP/2.0 4112 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 4113 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 4114 ;received=110.111.112.114 4115 Max-Forwards: 69 4116 From: LittleGuy ;tag=4524524312 4117 To: LittleGuy 4118 Call-ID: 524251233@there.com 4119 CSeq: 1 INVITE 4120 Contact: 4121 Content-Type: application/sdp 4122 Content-Length: ... 4124 v=0 4125 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 4126 s=Session SDP 4127 c=IN IP4 110.111.112.114 4128 t=0 0 4129 m=audio 3458 RTP/AVP 0 4130 a=rtpmap:0 PCMU/8000 4132 F32 100 Trying Proxy -> B2 4133 SIP/2.0 100 Trying 4134 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 4135 ;received=110.111.112.114 4136 From: LittleGuy ;tag=4524524312 4137 To: LittleGuy 4138 Call-ID: 524251233@there.com 4139 CSeq: 1 INVITE 4140 Content-Length: 0 4142 /* B1 does not have an established dialog, so it returns a 481 */ 4144 F33 481 Dialog Does Not Exist B1 -> Proxy 4146 SIP/2.0 481 Dialog Does Not Exist 4147 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 4148 ;received=1.2.3.4 4149 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 4150 ;received=110.111.112.114 4151 From: LittleGuy ;tag=4524524312 4152 To: LittleGuy ;tag=68324lk42jd 4153 Call-ID: 524251233@there.com 4154 CSeq: 1 INVITE 4155 Content-Length: 0 4157 F34 ACK Proxy -> B1 4159 ACK sip:UserB1@110.111.112.113 SIP/2.0 4160 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 4161 From: LittleGuy ;tag=4524524312 4162 To: LittleGuy ;tag=68324lk42jd 4163 Call-ID: 524251233@there.com 4164 CSeq: 1 ACK 4165 Content-Length: 0 4167 F35 482 Loop Detected B2 -> Proxy 4169 SIP/2.0 482 Loop Detected 4170 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 4171 ;received=1.2.3.4 4172 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 4173 ;received=110.111.112.114 4174 From: LittleGuy ;tag=4524524312 4175 To: LittleGuy ;tag=134lkwe 4176 Call-ID: 524251233@there.com 4177 CSeq: 1 INVITE 4178 Content-Length: 0 4180 F36 ACK Proxy -> B2 4181 ACK sip:UserB2@110.111.112.114 SIP/2.0 4182 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.2 4183 From: LittleGuy ;tag=4524524312 4184 To: LittleGuy ;tag=134lkwe 4185 Call-ID: 524251233@there.com 4186 CSeq: 1 ACK 4187 Content-Length: 0 4189 /* B3 has an existing dialog and agrees to mix B2 into the session. 4190 */ 4192 F37 200 OK User B3 -> Proxy 4194 SIP/2.0 200 OK 4195 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK4558a.3 4196 ;received=1.2.3.4 4197 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 4198 ;received=110.111.112.114 4199 From: LittleGuy ;tag=4524524312 4200 To: LittleGuy ;tag=3891908734 4201 Call-ID: 524251233@there.com 4202 CSeq: 1 INVITE 4203 Contact: 4204 Content-Type: application/sdp 4205 Content-Length: ... 4207 v=0 4208 o=UserB 2890844527 2890844527 IN IP4 client3.there.com 4209 s=Session SDP 4210 c=IN IP4 110.111.112.115 4211 t=0 0 4212 m=audio 3460 RTP/AVP 0 4213 a=rtpmap:0 PCMU/8000 4215 F38 200 OK User B3 -> Proxy 4217 SIP/2.0 200 OK 4218 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 4219 ;received=110.111.112.114 4220 Max-Forwards: 69 4221 From: LittleGuy ;tag=4524524312 4222 To: LittleGuy ;tag=3891908734 4223 Call-ID: 524251233@there.com 4224 CSeq: 1 INVITE 4225 Contact: 4226 Content-Type: application/sdp 4227 Content-Length: ... 4229 v=0 4230 o=UserB 2890844527 2890844527 IN IP4 client3.there.com 4231 s=Session SDP 4232 c=IN IP4 110.111.112.115 4233 t=0 0 4234 m=audio 3460 RTP/AVP 0 4235 a=rtpmap:0 PCMU/8000 4237 F39 ACK B2 -> B3 4239 ACK sip:UserB3@110.111.112.115 SIP/2.0 4240 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKq0qwli6ewlk 4241 Max-Forwards: 69 4242 From: LittleGuy ;tag=4524524312 4243 To: LittleGuy ;tag=3891908734 4244 Call-ID: 524251233@there.com 4245 CSeq: 1 ACK 4246 Content-Length: 0 4248 2.11 Find-Me 4250 User A Proxy User User User User 4251 B1 B2 B3 B4 4252 | | | | | | 4253 | INVITE F1 | | | | | 4254 |--------------->| INVITE F2 | | | | 4255 | |------------->| | | | 4256 |(100 Trying) F3 | | | | | 4257 |<---------------|180 Ringing F4| | | | 4258 | |<-------------| | | | 4259 | 180 Ringing F5 | | | | | 4260 |<---------------| | | | | 4261 | | Timeout | | | | 4262 | | | | | | 4263 | | CANCEL F6 | | | | 4264 | |------------->| | | | 4265 | | 200 OK F7 | | | | 4266 | |<-------------| | | | 4267 | | 487 F8 | | | | 4268 | |<-------------| | | | 4269 | | ACK F9 | | | | 4270 | |------------->| | | | 4271 | | INVITE F10 | | | 4272 | |-------------------->| | | 4273 | |480 Not Logged In F11| | | 4274 | |<--------------------| | | 4275 | | ACK F12| | | 4276 | |-------------------->| | | 4277 | | INVITE F13 | | 4278 | |--------------------------->| | 4279 | | 486 Busy Here F14 | | 4280 | |<---------------------------| | 4281 | | ACK F15 | | 4282 | |--------------------------->| | 4283 | | INVITE F16 | 4284 | |---------------------------------->| 4285 | | 180 Ringing F17 | 4286 | 180 F18 |<----------------------------------| 4287 |<---------------| 200 OK F19 | 4288 | 200 OK F20 |<----------------------------------| 4289 |<---------------| | 4290 | ACK F21 | | 4291 |--------------->| ACK F22 | 4292 | |---------------------------------->| 4293 | Both way RTP Established | 4294 |<==================================================>| 4295 | | BYE F23 | 4296 | BYE F24 |<----------------------------------| 4297 |<---------------| | 4298 | 200 OK F25 | | 4299 |--------------->| 200 OK F26 | 4300 | |---------------------------------->| 4301 | | | 4303 A call to a user will attempt to locate that user by calling 4304 locations from a list of contacts. The location to answer the call 4305 becomes the active set, no other sets may join the call. 4307 While this flow shows a sequential search, the search could be 4308 accomplished using parallel forking, as in the previous example. 4310 Message Details 4312 F1 INVITE A -> Proxy 4314 INVITE sip:UserB@there.com SIP/2.0 4315 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4316 Max-Forwards: 70 4317 From: BigGuy ;tag=1234567 4318 To: LittleGuy 4319 Call-ID: 12345600@here.com 4320 CSeq: 1 INVITE 4321 Contact: 4322 Content-Type: application/sdp 4323 Content-Length: ... 4325 v=0 4326 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4327 s=Session SDP 4328 c=IN IP4 100.101.102.103 4329 t= 0 0 4330 m=audio 49170 RTP/AVP 0 4331 a=rtpmap:0 PCMU/8000 4333 F2 INVITE Proxy -> B1 4335 INVITE sip:UserB@110.111.112.113 SIP/2.0 4336 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4337 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4338 ;received=100.101.102.103 4339 Record-Route: 4340 Max-Forwards: 69 4341 From: BigGuy ;tag=1234567 4342 To: LittleGuy 4343 Call-ID: 12345600@here.com 4344 CSeq: 1 INVITE 4345 Contact: 4346 Content-Type: application/sdp 4347 Content-Length: ... 4349 v=0 4350 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4351 s=Session SDP 4352 c=IN IP4 100.101.102.103 4353 t= 0 0 4354 m=audio 49170 RTP/AVP 0 4355 a=rtpmap:0 PCMU/8000 4357 F3 (100 Trying) Proxy -> A 4359 SIP/2.0 100 Trying 4360 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4361 ;received=100.101.102.103 4362 From: BigGuy ;tag=1234567 4363 To: LittleGuy 4364 Call-ID: 12345600@here.com 4365 CSeq: 1 INVITE 4366 Content-Length: 0 4368 F4 180 Ringing B1 -> Proxy 4370 SIP/2.0 180 Ringing 4371 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4372 ;received=1.2.3.4 4373 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4374 ;received=100.101.102.103 4375 Record-Route: 4376 From: BigGuy ;tag=1234567 4377 To: LittleGuy ;tag=765432 4378 Call-ID: 12345600@here.com 4379 CSeq: 1 INVITE 4380 Contact: 4381 Content-Length: 0 4383 F5 180 Ringing Proxy -> A 4385 SIP/2.0 180 Ringing 4386 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4387 ;received=100.101.102.103 4388 Record-Route: 4389 From: BigGuy ;tag=1234567 4390 To: LittleGuy ;tag=765432 4391 Call-ID: 12345600@here.com 4392 CSeq: 1 INVITE 4393 Contact: 4394 Content-Length: 0 4396 /* B1 rings for until a configurable timer in the Proxy expires. The 4397 Proxy then sends Cancel and proceeds down the list of routes. */ 4399 F6 CANCEL Proxy -> B1 4401 CANCEL sip:UserB@110.111.112.113 SIP/2.0 4402 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4403 Max-Forwards: 70 4404 From: BigGuy 4405 To: LittleGuy 4406 Call-ID: 12345600@here.com 4407 CSeq: 1 CANCEL 4408 Content-Length: 0 4410 F7 200 OK B1 -> Proxy 4412 SIP/2.0 200 OK 4413 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4414 ;received=1.2.3.4 4415 From: BigGuy 4416 To: LittleGuy 4417 Call-ID: 12345600@here.com 4418 CSeq: 1 CANCEL 4419 Content-Length: 0 4421 F8 487 Request Terminated B1 -> Proxy 4423 SIP/2.0 487 Request Terminated 4424 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4425 ;received=1.2.3.4 4426 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4427 ;received=100.101.102.103 4428 From: BigGuy ;tag=1234567 4429 To: LittleGuy ;tag=765432 4430 Call-ID: 12345600@here.com 4431 CSeq: 1 INVITE 4432 Content-Length: 0 4434 F9 ACK Proxy -> B1 4436 ACK sip:UserB@110.111.112.113 SIP/2.0 4437 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4438 Max-Forwards: 70 4439 From: BigGuy ;tag=1234567 4440 To: LittleGuy ;tag=765432 4441 Call-ID: 12345600@here.com 4442 CSeq: 1 ACK 4443 Content-Length: 0 4444 F10 INVITE Proxy -> B2 4446 INVITE sip:UserB2@110.111.112.114 SIP/2.0 4447 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 4448 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4449 ;received=100.101.102.103 4450 Record-Route: 4451 Max-Forwards: 69 4452 From: BigGuy ;tag=1234567 4453 To: LittleGuy 4454 Call-ID: 12345600@here.com 4455 CSeq: 1 INVITE 4456 Contact: 4457 Content-Type: application/sdp 4458 Content-Length: ... 4460 v=0 4461 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4462 s=Session SDP 4463 c=IN IP4 100.101.102.103 4464 t=0 0 4465 m=audio 49170 RTP/AVP 0 4466 a=rtpmap:0 PCMU/8000 4468 F11 480 Not Logged In B2 -> Proxy 4470 SIP/2.0 480 Not Logged In 4471 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 4472 ;received=1.2.3.4 4473 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4474 ;received=100.101.102.103 4475 From: BigGuy ;tag=1234567 4476 To: LittleGuy ;tag=314756 4477 Call-ID: 12345600@here.com 4478 CSeq: 1 INVITE 4479 Content-Length: 0 4481 F12 ACK Proxy -> B2 4483 ACK sip:UserB2@110.111.112.114 SIP/2.0 4484 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 4485 Max-Forwards: 70 4486 From: BigGuy ;tag=1234567 4487 To: LittleGuy ;tag=314756 4488 Call-ID: 12345600@here.com 4489 CSeq: 1 ACK 4490 Content-Length: 0 4492 F13 INVITE Proxy -> B3 4493 INVITE sip:UserB3@110.111.112.115 SIP/2.0 4494 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 4495 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4496 ;received=100.101.102.103 4497 Record-Route: 4498 Max-Forwards: 69 4499 From: BigGuy ;tag=1234567 4500 To: LittleGuy 4501 Call-ID: 12345600@here.com 4502 CSeq: 1 INVITE 4503 Contact: 4504 Content-Type: application/sdp 4505 Content-Length: ... 4507 v=0 4508 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4509 s=Session SDP 4510 c=IN IP4 100.101.102.103 4511 t=0 0 4512 m=audio 49170 RTP/AVP 0 4513 a=rtpmap:0 PCMU/8000 4515 F14 486 Busy Here B3 -> Proxy 4517 SIP/2.0 486 Busy Here 4518 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 4519 ;received=1.2.3.4 4520 From: BigGuy ;tag=1234567 4521 To: LittleGuy ;tag=7654321 4522 Call-ID: 12345600@here.com 4523 CSeq: 1 INVITE 4524 Content-Length: 0 4526 F15 ACK Proxy -> B3 4528 ACK sip:UserB3@110.111.112.115 SIP/2.0 4529 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 4530 Max-Forwards: 70 4531 From: BigGuy ;tag=1234567 4532 To: LittleGuy ;tag=7654321 4533 Call-ID: 12345600@here.com 4534 CSeq: 1 ACK 4535 Content-Length: 0 4537 F16 INVITE Proxy -> B4 4539 INVITE sip:UserB4@110.111.112.116 SIP/2.0 4540 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 4541 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4542 ;received=100.101.102.103 4543 Record-Route: 4544 Max-Forwards: 69 4545 From: BigGuy ;tag=1234567 4546 To: LittleGuy 4547 Call-ID: 12345600@here.com 4548 CSeq: 1 INVITE 4549 Contact: 4550 Content-Type: application/sdp 4551 Content-Length: ... 4553 v=0 4554 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4555 s=Session SDP 4556 c=IN IP4 100.101.102.103 4557 t=0 0 4558 m=audio 49170 RTP/AVP 0 4559 a=rtpmap:0 PCMU/8000 4561 F17 180 Ringing B4 -> Proxy 4563 SIP/2.0 180 Ringing 4564 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 4565 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4566 ;received=100.101.102.103 4567 Record-Route: 4568 From: BigGuy ;tag=1234567 4569 To: LittleGuy ;tag=7137136 4570 Call-ID: 12345600@here.com 4571 CSeq: 1 INVITE 4572 Contact: 4573 Content-Length: 0 4575 F18 180 Ringing B4 -> Proxy 4577 SIP/2.0 180 Ringing 4578 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4579 ;received=100.101.102.103 4580 Record-Route: 4581 From: BigGuy ;tag=1234567 4582 To: LittleGuy ;tag=7137136 4583 Call-ID: 12345600@here.com 4584 CSeq: 1 INVITE 4585 Contact: 4586 Content-Length: 0 4588 F19 200 OK B4 -> Proxy 4589 SIP/2.0 200 OK 4590 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 4591 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4592 ;received=100.101.102.103 4593 Record-Route: 4594 From: BigGuy ;tag=1234567 4595 To: LittleGuy ;tag=7137136 4596 Call-ID: 12345600@here.com 4597 CSeq: 1 INVITE 4598 Contact: 4599 Content-Type: application/sdp 4600 Content-Length: ... 4602 v=0 4603 o=UserB 2890844527 2890844527 IN IP4 client4.there.com 4604 s=Session SDP 4605 c=IN IP4 110.111.112.116 4606 t=0 0 4607 m=audio 3456 RTP/AVP 0 4608 a=rtpmap:0 PCMU/8000 4610 F20 200 OK Proxy -> A 4612 SIP/2.0 200 OK 4613 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4614 ;received=100.101.102.103 4615 Record-Route: 4616 From: BigGuy ;tag=1234567 4617 To: LittleGuy ;tag=7137136 4618 Call-ID: 12345600@here.com 4619 CSeq: 1 INVITE 4620 Contact: 4621 Content-Type: application/sdp 4622 Content-Length: ... 4624 v=0 4625 o=UserB 2890844527 2890844527 IN IP4 client4.there.com 4626 s=Session SDP 4627 c=IN IP4 110.111.112.116 4628 t=0 0 4629 m=audio 3456 RTP/AVP 0 4630 a=rtpmap:0 PCMU/8000 4632 F21 ACK A -> Proxy 4634 ACK sip:UserB4@110.111.112.116 SIP/2.0 4635 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4636 Route: 4637 Max-Forwards: 70 4638 From: BigGuy ;tag=1234567 4639 To: LittleGuy ;tag=7137136 4640 Call-ID: 12345600@here.com 4641 CSeq: 1 ACK 4642 Content-Length: 0 4644 F22 ACK Proxy -> B4 4646 ACK sip:UserB4@110.111.112.116 SIP/2.0 4647 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4648 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4649 ;received=100.101.102.103 4650 Max-Forwards: 69 4651 From: BigGuy ;tag=1234567 4652 To: LittleGuy ;tag=7137136 4653 Call-ID: 12345600@here.com 4654 CSeq: 1 ACK 4655 Content-Length: 0 4657 /* RTP streams are established between A and B4*/ 4659 /* User B4 Hangs Up with User A. */ 4661 F23 BYE B4 -> Proxy 4663 BYE sip:UserA@100.101.102.103 SIP/2.0 4664 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 4665 Route: 4666 Max-Forwards: 70 4667 From: LittleGuy ;tag=7137136 4668 To: BigGuy ;tag=1234567 4669 Call-ID: 12345600@here.com 4670 CSeq: 1 BYE 4671 Content-Length: 0 4673 F24 BYE Proxy -> A 4675 BYE sip:UserA@100.101.102.103 SIP/2.0 4676 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4677 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 4678 ;received=120.121.122.123 4679 Max-Forwards: 69 4680 From: LittleGuy ;tag=7137136 4681 To: BigGuy ;tag=1234567 4682 Call-ID: 12345600@here.com 4683 CSeq: 1 BYE 4684 Content-Length: 0 4686 F25 200 OK A -> Proxy 4687 SIP/2.0 200 OK 4688 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4689 ;received=1.2.3.4 4690 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 4691 ;received=120.121.122.123 4692 From: LittleGuy ;tag=7137136 4693 To: BigGuy ;tag=1234567 4694 Call-ID: 12345600@here.com 4695 CSeq: 1 BYE 4696 Content-Length: 0 4698 F26 200 OK Proxy -> B4 4700 SIP/2.0 200 OK 4701 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 4702 ;received=120.121.122.123 4703 From: LittleGuy ;tag=7137136 4704 To: BigGuy ;tag=1234567 4705 Call-ID: 12345600@here.com 4706 CSeq: 1 BYE 4707 Content-Length: 0 4709 2.12 Call Management (Incoming Call Screening) 4711 User A Proxy User B 4712 | | | 4713 | INVITE F1 | | 4714 |------------------------------>| 4715 | 305 Use Proxy F2 | 4716 |<------------------------------| 4717 | ACK F3 | | 4718 |------------------------------>| 4719 | INVITE F4 | | 4720 |--------------->| | 4721 | 407 Proxy Authorization F5 | 4722 |<---------------| | 4723 | ACK F6 | | 4724 |--------------->| | 4725 | INVITE F7 | | 4726 |--------------->| | 4727 | 403 Screening Failure (Terminating) F8 4728 |<---------------| | 4729 | ACK F9 | | 4730 |--------------->| | 4731 | | | 4733 User B has an incoming call screening list, User A is included on the 4734 list of addresses User B will not accept calls from. User A attempts 4735 to call user B. Messages F1, F2, and F3 are included to show that 4736 User B does not accept INVITEs that have not been screened by the 4737 proxy. 4739 Note that call screening can not be done using the From header � 4740 instead some form of authentication credentials must be used. 4742 Message Details 4744 F1 INVITE A -> B 4746 INVITE sip:UserB@there.com SIP/2.0 4747 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4748 Max-Forwards: 70 4749 From: BigGuy ;tag=1234567 4750 To: LittleGuy 4751 Call-ID: 12345600@here.com 4752 CSeq: 1 INVITE 4753 Contact: 4754 Content-Type: application/sdp 4755 Content-Length: ... 4757 v=0 4758 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4759 s=Session SDP 4760 c=IN IP4 100.101.102.103 4761 t=3034423619 0 4762 m=audio 49170 RTP/AVP 0 4763 a=rtpmap:0 PCMU/8000 4765 /* User B only accepts INVITEs that have been screened by the proxy 4766 */ 4768 F2 305 Use Proxy B -> A 4770 SIP/2.0 305 Use Proxy 4771 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4772 ;received=100.101.102.103 4773 From: BigGuy ;tag=1234567 4774 To: LittleGuy ;tag=342123 4775 Call-ID: 12345600@here.com 4776 CSeq: 1 INVITE 4777 Contact: 4778 Content-Length: 0 4780 F3 ACK A -> B 4782 ACK sip:UserB@there.com SIP/2.0 4783 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4784 Max-Forwards: 70 4785 From: BigGuy ;tag=1234567 4786 To: LittleGuy ;tag=342123 4787 Call-ID: 12345600@here.com 4788 CSeq: 1 ACK 4789 Content-Length: 0 4791 /* A retries the call through the proxy */ 4793 F4 INVITE A -> Proxy 1 4795 INVITE sip:UserB@there.com SIP/2.0 4796 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4797 Max-Forwards: 70 4798 From: BigGuy ;tag=1234567 4799 To: LittleGuy 4800 Call-ID: 12345600@here.com 4801 CSeq: 2 INVITE 4802 Contact: 4803 Content-Type: application/sdp 4804 Content-Length: ... 4806 v=0 4807 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4808 s=Session SDP 4809 c=IN IP4 100.101.102.103 4810 t=3034423619 0 4811 m=audio 49170 RTP/AVP 0 4812 a=rtpmap:0 PCMU/8000 4814 /* Proxy 1 challenges User A for authentication */ 4816 F5 407 Proxy Authorization Required Proxy 1 -> A 4818 SIP/2.0 407 Proxy Authorization Required 4819 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4820 ;received=100.101.102.103 4821 From: BigGuy ;tag=1234567 4822 To: LittleGuy ;tag=7886765 4823 Call-ID: 12345600@here.com 4824 CSeq: 2 INVITE 4825 Proxy-Authenticate: Digest realm="wcom.com", 4826 domain="sip:ss1.wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 4827 opaque="", stale=FALSE, algorithm=MD5 4828 Content-Length: 0 4830 F6 ACK A -> Proxy 1 4832 ACK sip:UserB@there.com SIP/2.0 4833 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4834 Max-Forwards: 70 4835 From: BigGuy ;tag=1234567 4836 To: LittleGuy ;tag=7886765 4837 Call-ID: 12345600@here.com 4838 CSeq: 2 ACK 4839 Content-Length: 0 4841 /* User A responds by sending an INVITE with authentication 4842 credentials in it. */ 4844 F7 INVITE A -> Proxy 1 4846 INVITE sip:UserB@there.com SIP/2.0 4847 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4848 Max-Forwards: 70 4849 From: BigGuy ;tag=1234567 4850 To: LittleGuy 4851 Call-ID: 12345600@here.com 4852 CSeq: 3 INVITE 4853 Contact: 4854 Proxy-Authorization: Digest username="UserA", 4855 realm="wcom.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a", 4856 opaque="", uri="sip:UserB@there.com", 4857 response="bbaec39f943bdcb3620d90afc548a45c" 4858 Content-Type: application/sdp 4859 Content-Length: ... 4861 v=0 4862 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4863 s=Session SDP 4864 c=IN IP4 100.101.102.103 4865 t=3034423619 0 4866 m=audio 49170 RTP/AVP 0 4867 a=rtpmap:0 PCMU/8000 4869 F8 403 Screening Failure (Terminating) Proxy 1 -> A 4871 SIP/2.0 403 Screening Failure (Terminating) 4872 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4873 ;received=100.101.102.103 4874 From: BigGuy ;tag=1234567 4875 To: LittleGuy ;tag=ffe254 4876 Call-ID: 12345600@here.com 4877 CSeq: 3 INVITE 4878 Error-Info: 4879 Content-Length: 0 4881 F9 ACK A -> Proxy 1 4883 ACK sip:UserB@there.com SIP/2.0 4884 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4885 Max-Forwards: 70 4886 From: BigGuy ;tag=1234567 4887 To: LittleGuy ;tag=ffe254 4888 Call-ID: 12345600@here.com 4889 CSeq: 3 ACK 4890 Content-Length: 0 4892 2.13 Call Management (Outgoing Call Screening) 4894 User A Proxy User B 4895 | | | 4896 | INVITE F1 | | 4897 |--------------->| | 4898 | 407 Proxy Authorization F2 | 4899 |<---------------| | 4900 | ACK F3 | | 4901 |--------------->| | 4902 | INVITE F4 | | 4903 |--------------->| | 4904 | 403 Screening Failure (Originating) F5 4905 |<---------------| | 4906 | ACK F6 | | 4907 |--------------->| | 4908 | | | 4910 User A has an outgoing call screening list, User B is included on the 4911 list of addresses User A will not be able to place a call to. User A 4912 attempts to call user B. 4914 Message Details 4916 F1 INVITE A -> Proxy 1 4918 INVITE sip:UserB@there.com SIP/2.0 4919 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4920 Max-Forwards: 70 4921 From: BigGuy ;tag=1234567 4922 To: LittleGuy 4923 Call-ID: 12345600@here.com 4924 CSeq: 1 INVITE 4925 Contact: 4926 Content-Type: application/sdp 4927 Content-Length: ... 4929 v=0 4930 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4931 s=Session SDP 4932 c=IN IP4 100.101.102.103 4933 t=3034423619 0 4934 m=audio 49170 RTP/AVP 0 4935 a=rtpmap:0 PCMU/8000 4937 /* Proxy 1 challenges User A for authentication */ 4939 F2 407 Proxy Authorization Required Proxy 1 -> A 4940 SIP/2.0 407 Proxy Authorization Required 4941 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4942 ;received=100.101.102.103 4943 From: BigGuy ;tag=1234567 4944 To: LittleGuy ;tag=90210 4945 Call-ID: 12345600@here.com 4946 CSeq: 1 INVITE 4947 Proxy-Authenticate: Digest realm="wcom.com", 4948 domain="sip:ss1.wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 4949 opaque="", stale=FALSE, algorithm=MD5 4950 Content-Length: 0 4952 F3 ACK A -> Proxy 1 4954 ACK sip:UserB@there.com SIP/2.0 4955 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4956 Max-Forwards: 70 4957 From: BigGuy ;tag=1234567 4958 To: LittleGuy ;tag=90210 4959 Call-ID: 12345600@here.com 4960 CSeq: 1 ACK 4961 Content-Length: 0 4963 /* User A responds be sending an INVITE with authentication 4964 credentials in it. */ 4966 F4 INVITE A -> Proxy 1 4968 INVITE sip:UserB@there.com SIP/2.0 4969 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4970 Max-Forwards: 70 4971 From: BigGuy ;tag=1234567 4972 To: LittleGuy 4973 Call-ID: 12345600@here.com 4974 CSeq: 2 INVITE 4975 Contact: 4976 Proxy-Authorization: Digest username="UserA", realm="wcom.com", 4977 nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 4978 uri="sip:UserB@there.com", 4979 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 4980 Content-Type: application/sdp 4981 Content-Length: ... 4983 v=0 4984 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4985 s=Session SDP 4986 c=IN IP4 100.101.102.103 4987 t=3034423619 0 4988 m=audio 49170 RTP/AVP 0 4989 a=rtpmap:0 PCMU/8000 4990 F5 403 Screening Failure (Originating) Proxy 1 -> A 4992 SIP/2.0 403 Screening Failure (Originating) 4993 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4994 ;received=100.101.102.103 4995 From: BigGuy ;tag=1234567 4996 To: LittleGuy ;tag=18017 4997 Call-ID: 12345600@here.com 4998 CSeq: 2 INVITE 4999 Error-Info: 5000 Content-Length: 0 5002 F6 ACK A -> Proxy 1 5004 ACK sip:UserB@there.com SIP/2.0 5005 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5006 Max-Forwards: 70 5007 From: BigGuy ;tag=1234567 5008 To: LittleGuy ;tag=18017 5009 Call-ID: 12345600@here.com 5010 CSeq: 2 ACK 5011 Content-Length: 0 5013 2.14 5014 Call Park 5016 User A User B Park Server User C 5017 | | | | 5018 | INVITE F1 | | | 5019 |------------->| | | 5020 |180 Ringing F2| | | 5021 |<-------------| | | 5022 | 200 OK F3 | | | 5023 |<-------------| | | 5024 | ACK F4 | | | 5025 |------------->| | | 5026 | RTP Media | | | 5027 |<============>| | | 5028 | User B Parks Call | | 5029 | | REFER Refer-To: A F5 | 5030 | |------------->| | 5031 | | 202 F6 | | 5032 | |<-------------| | 5033 | INVITE F7 Replaces: B | | 5034 |<----------------------------| | 5035 | 200 OK F8 | | 5036 |---------------------------->| | 5037 | ACK F9 | | 5038 |<----------------------------| | 5039 | RTP Music | | 5040 |<===========================>| | 5041 | BYE F10 | | | 5042 |------------->| NOTIFY F12 | | 5043 | 200 OK F11 |<-------------| | 5044 |<-------------| 200 OK F13 | | 5045 | |------------->| | 5046 | | User C picks up the call | 5047 | | | | 5048 | INVITE Replaces: Park Server F14 | 5049 |<-------------------------------------------| 5050 | | | 200 F15 | 5051 |------------------------------------------->| 5052 | | | ACK F16 | 5053 |<-------------------------------------------| 5054 | RTP Media | 5055 |<==========================================>| 5056 | BYE F17 | | 5057 |---------------------------->| | 5058 | 200 OK F18 | | 5059 |<----------------------------| | 5060 | No more RTP Music | | 5062 In this example, User A calls User B. User B then parks the call at 5063 the Park Server by sending a REFER to the Park Server. The server 5064 sends an INVITE to A which replaces the session between A and B. The 5065 call is accepted by A and causes A to send a BYE to B. User B 5066 receives notification of the successful park, and also receives the 5067 Call-ID in the application/sip body of the NOTIFY response. User C 5068 wishes to retrieve the call, a new INVITE is sent to A which replaces 5069 the session with the Park Server. User A accepts the call and sends 5070 a BYE to the Park Server. Note that if the Park Server did not return 5071 the dialog identifiers (Call-ID, To and From tags) in the NOTIFY, C 5072 could send a SUBSCRIBE to retrieve this information. 5074 Note that this call is a special case of call transfer. 5076 Note also that this flow could also be used for Music on Hold. 5078 Message Details. 5080 F1 INVITE A -> B 5082 INVITE sip:UserB@there.com SIP/2.0 5083 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 5084 Max-Forwards: 70 5085 From: BigGuy ;tag=1234567 5086 To: LittleGuy 5087 Call-ID: 12345601@here.com 5088 CSeq: 1 INVITE 5089 Contact: 5090 Supported: replaces 5091 Content-Type: application/sdp 5092 Content-Length: ... 5094 v=0 5095 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5096 s=Session SDP 5097 c=IN IP4 100.101.102.103 5098 t=3034423619 0 5099 m=audio 49170 RTP/AVP 0 5100 a=rtpmap:0 PCMU/8000 5102 F2 180 Ringing B -> A 5104 SIP/2.0 180 Ringing 5105 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 5106 ;received=120.121.122.123 5107 From: BigGuy ;tag=1234567 5108 To: LittleGuy ;tag=314159 5109 Call-ID: 12345601@here.com 5110 CSeq: 1 INVITE 5111 Contact: 5112 Content-Length: 0 5113 F3 200 OK B -> A 5115 SIP/2.0 200 OK 5116 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 5117 ;received=120.121.122.123 5118 From: BigGuy ;tag=1234567 5119 To: LittleGuy ;tag=314159 5120 Call-ID: 12345601@here.com 5121 CSeq: 1 INVITE 5122 Contact: 5123 Content-Type: application/sdp 5124 Content-Length: ... 5126 v=0 5127 o=UserB 2890844527 2890844527 IN IP4 client.there.com 5128 s=Session SDP 5129 c=IN IP4 110.111.112.113 5130 t=3034423619 0 5131 m=audio 3456 RTP/AVP 0 5132 a=rtpmap:0 PCMU/8000 5134 F4 ACK A -> B 5136 ACK sip:UserB@110.111.112.113 SIP/2.0 5137 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 5138 Max-Forwards: 70 5139 From: BigGuy ;tag=1234567 5140 To: LittleGuy ;tag=314159 5141 Call-ID: 12345601@here.com 5142 CSeq: 1 ACK 5143 Content-Length: 0 5145 /* User B REFERs Park Server to establish session with A which 5146 replaces the established session between A and B. Note that there is 5147 no session established between B and the Park Server. */ 5149 F5 REFER B -> Park Server 5151 REFER sip:park@server.com SIP/2.0 5152 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 5153 Max-Forwards: 70 5154 From: LittleGuy ;tag=02134 5155 To: Park Server 5156 Call-ID: 4802029847@there.com 5157 CSeq: 1 REFER 5158 Refer-To: 5161 Referred-By: 5162 Contact: 5163 Content-Length: 0 5165 F6 202 Accepted Park Server -> B 5167 SIP/2.0 202 Accepted 5168 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 5169 ;received=120.121.122.123 5170 From: LittleGuy ;tag=02134 5171 To: Park Server ;tag=56323 5172 Call-ID: 4802029847@there.com 5173 CSeq: 1 REFER 5174 Content-Length: 0 5176 /* Park Server places call to User A to replace session between A and 5177 B */ 5179 F7 INVITE Park Server -> A 5181 INVITE sip:UserA@100.101.102.103 SIP/2.0 5182 Via: SIP/2.0/UDP server.com:5060 5183 Max-Forwards: 70 5184 From: ;tag=0111 5185 To: 5186 Call-ID: a5-75-34-12-76@server.com 5187 CSeq: 1 INVITE 5188 Referred-By: 5189 Contact: 5190 Replaces: 12345601@here.com;from-tag=314159;to-tag=1234567 5191 Accept-Contact: ;only=true 5192 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5193 Content-Type: application/sdp 5194 Content-Length: ... 5196 v=0 5197 o=ParkServer 2890844576 2890844576 IN IP4 Park.server.com 5198 s=Session SDP 5199 c=IN IP4 50.60.70.80 5200 t=3034423619 0 5201 m=audio 49170 RTP/AVP 0 5202 a=rtpmap:0 PCMU/8000 5204 F8 200 OK A-> Park Server 5206 SIP/2.0 200 OK 5207 Via: SIP/2.0/UDP server.com:5060 5208 From: ;tag=0111 5209 To: BigGuy ;tag=098594 5210 Call-ID: a5-75-34-12-76@server.com 5211 CSeq: 1 INVITE 5212 Contact: 5213 Supported: replaces 5214 Content-Type: application/sdp 5215 Content-Length: ... 5217 v=0 5218 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5219 s=Session SDP 5220 c=IN IP4 100.101.102.103 5221 t=3034423619 0 5222 m=audio 49170 RTP/AVP 0 5223 a=rtpmap:0 PCMU/8000 5224 a=recvonly 5226 F9 ACK Park Server -> A 5228 ACK sip:UserA@100.101.102.103 SIP/2.0 5229 Via: SIP/2.0/UDP server.com:5060 5230 Max-Forwards: 70 5231 From: ;tag=0111 5232 To: BigGuy ;tag=098594 5233 Call-ID: a5-75-34-12-76@server.com 5234 CSeq: 1 ACK 5235 Content-Length: 0 5237 F10 BYE A -> B 5239 ACK sip:UserB@110.111.112.113 SIP/2.0 5240 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 5241 Max-Forwards: 70 5242 From: BigGuy ;tag=1234567 5243 To: LittleGuy ;tag=314159 5244 Call-ID: 12345601@here.com 5245 CSeq: 2 BYE 5246 Content-Length: 0 5248 F11 200 OK B -> A 5250 SIP/2.0 200 OK 5251 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 5252 ;received=120.121.122.123 5253 From: BigGuy ;tag=1234567 5254 To: LittleGuy ;tag=314159 5255 Call-ID: 12345601@here.com 5256 CSeq: 2 BYE 5257 Content-Length: 0 5258 /* Park Server reports success back to B by returning all the SIP 5259 headers in 200 OK response */ 5261 F12 NOTIFY Park Server -> B 5263 NOTIFY sip:UserB@110.111.112.113 SIP/2.0 5264 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5265 To: LittleGuy ;tag=02134 5266 Max-Forwards: 70 5267 From: Park Server ;tag=56323 5268 Call-ID: 4802029847@there.com 5269 CSeq: 1 NOTIFY 5270 Event: refer 5271 Content-Type: application/sip 5272 Content-Length: ... 5274 SIP/2.0 200 OK 5275 Via: SIP/2.0/UDP server.com:5060 5276 From: ;tag=0111 5277 To: BigGuy ;tag=098594 5278 Call-ID: a5-75-34-12-76@server.com 5279 CSeq: 1 INVITE 5280 Contact: 5282 F13 200 OK B -> Park Server 5284 SIP/2.0 200 OK 5285 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5286 ;received=100.101.102.103 5287 To: LittleGuy ;tag=02134 5288 From: Park Server ;tag=56323 5289 Call-ID: 4802029847@there.com 5290 CSeq: 1 NOTIFY 5291 Content-Length: 0 5293 /* User A is now parked at the Park Server */ 5295 /* User C picks up the call by sending an INVITE to A which replaces 5296 the existing session with the Park/Park Server. C needs to know the 5297 dialog information to construct the Replaces header. */ 5299 F14 INVITE C -> A 5301 INVITE sip:UserA@here.com SIP/2.0 5302 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bK74bf9 5303 Max-Forwards: 70 5304 From: OtherGuy ;tag=5893461 5305 To: BigGuy 5306 Call-ID: 6485356@anywhere.com 5307 CSeq: 1 INVITE 5308 Contact: 5309 Replaces: a5-75-34-12-76@server.com;from-tag=098594;to-tag=0111 5310 Content-Type: application/sdp 5311 Content-Length: ... 5313 v=0 5314 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 5315 s=Session SDP 5316 c=IN IP4 120.121.122.123 5317 t=3034423619 0 5318 m=audio 3456 RTP/AVP 0 5319 a=rtpmap:0 PCMU/8000 5321 F15 200 OK A -> C 5323 SIP/2.0 200 OK 5324 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5325 ;received=120.121.122.123 5326 From: OtherGuy ;tag=5893461 5327 To: BigGuy ;tag=222 5328 Call-ID: 6485356@anywhere.com 5329 CSeq: 1 INVITE 5330 Contact: 5331 Supported: replaces 5332 Content-Type: application/sdp 5333 Content-Length: ... 5335 v=0 5336 o=UserA 2890844527 2890844527 IN IP4 client.here.com 5337 s=Session SDP 5338 c=IN IP4 100.101.102.103 5339 t=3034423619 0 5340 m=audio 49170 RTP/AVP 0 5341 a=rtpmap:0 PCMU/8000 5343 F16 ACK C -> A 5345 ACK sip:UserA@100.101.102.103 SIP/2.0 5346 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5347 Max-Forwards: 70 5348 From: OtherGuy ;tag=5893461 5349 To: BigGuy ;tag=222 5350 Call-ID: 6485356@anywhere.com 5351 CSeq: 1 ACK 5352 Content-Length: 0 5354 /* A replaces the session to the Park Server with the new session 5355 with C and generates a BYE to disconnect the Park Server */ 5356 F17 BYE A -> Park Server 5358 BYE sip:park@server.com SIP/2.0 5359 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5360 Max-Forwards: 70 5361 From: BigGuy ;tag=098594 5362 To: ;tag=0111 5363 Call-ID: a5-75-34-12-76@server.com 5364 CSeq: 1 BYE 5365 Content-Length: 0 5367 F18 200 OK Park Server -> A 5369 SIP/2.0 200 OK 5370 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5371 ;received=100.101.102.103 5372 From: BigGuy ;tag=098594 5373 To: ;tag=0111 5374 Call-ID: a5-75-34-12-76@server.com 5375 CSeq: 1 BYE 5376 Content-Length: 0 5378 2.15 Call Pickup 5380 User A User B User D 5381 | | | 5382 | INVITE F1 | | 5383 |------------->| | 5384 |180 Ringing F2| | 5385 |<-------------| | 5386 | | SUBSCRIBE F3 | 5387 | |<------------------| 5388 | | 200 OK F4 | 5389 | |------------------>| 5390 | | NOTIFY F5 | 5391 | |------------------>| 5392 | | 200 OK F6 | 5393 | |<------------------| 5394 | INVITE Replaces:B F7 | 5395 |<---------------------------------| 5396 | | 200 OK F8 | 5397 |--------------------------------->| 5398 | CANCEL F9 | | 5399 |------------->| | 5400 | 200 OK F10 | | 5401 |<-------------| | 5402 | 487 F11 | | 5403 |<-------------| | 5404 | ACK F12 | | 5405 |------------->| | 5406 | ACK F13 | 5407 |<---------------------------------| 5408 | | NOTIFY F14 | 5409 | |------------------>| 5410 | | 481 F15 | 5411 | |<------------------| 5412 | | 5413 | Both way RTP Established | 5414 |<================================>| 5415 | BYE F16 | 5416 |--------------------------------->| 5417 | 200 OK F17 | 5418 |<---------------------------------| 5419 | | 5421 User B and D are part of a work group at there.com that can pick up 5422 each others calls. User A calls B who does not answer. User D wishes 5423 to pick up the call and sends a SUBSCRIBE to B to retrieve the dialog 5424 information. D then generates an INVITE with a Replaces to A. A 5425 answers the INVITE and sends a CANCEL to stop B�s phone ringing. Note 5426 that the order of the CANCEL/ACK sequence in F11 through F20 is not 5427 significant. 5429 Message Details 5431 F1 INVITE A -> B 5433 INVITE sip:UserB@there.com SIP/2.0 5434 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5435 Max-Forwards: 70 5436 From: BigGuy ;tag=1234567 5437 To: LittleGuy 5438 Call-ID: 12345600@here.com 5439 CSeq: 1 INVITE 5440 Contact: 5441 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5442 Supported: replaces 5443 Content-Type: application/sdp 5444 Content-Length: ... 5446 v=0 5447 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5448 s=Session SDP 5449 c=IN IP4 100.101.102.103 5450 t=0 0 5451 m=audio 49170 RTP/AVP 0 5452 a=rtpmap:0 PCMU/8000 5454 F2 180 Ringing B1 -> A 5456 SIP/2.0 180 Ringing 5457 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5458 ;received=100.101.102.103 5459 From: BigGuy ;tag=1234567 5460 To: LittleGuy ;tag=3145678 5461 Call-ID: 12345600@here.com 5462 CSeq: 1 INVITE 5463 Contact: 5464 Content-Length: 0 5466 /* User B2 decides to pick up the call */ 5468 F3 SUBSCRIBE D -> B 5470 SUBSCRIBE sip:UserB@there.com SIP/2.0 5471 Via: SIP/2.0/UDP smallguy.there.com:5060;branch=z9hG4bK74bf 5472 Max-Forwards: 70 5473 From: SmallGuy ;tag=8675309 5474 To: LittleGuy 5475 Call-ID: rt4353gs2egg@smallguy.there.com 5476 CSeq: 1 INVITE 5477 Contact: 5478 Event: dialog 5479 Accept: application/dialog-info+xml 5480 Content-Length: 0 5482 F4 200 OK B -> D 5484 SIP/2.0 200 OK 5485 Via: SIP/2.0/UDP smallguy.there.com:5060;branch=z9hG4bK74bf 5486 ;received=110.111.112.114 5487 Max-Forwards: 70 5488 From: SmallGuy ;tag=8675309 5489 To: LittleGuy ;tag=31451098 5490 Call-ID: rt4353gs2egg@smallguy.there.com 5491 CSeq: 1 INVITE 5492 Content-Length: 0 5494 F5 NOTIFY B -> D 5496 NOTIFY sip:UserB@there.com SIP/2.0 5497 Via: SIP/2.0/UDP littleguy.there.com:5060;branch=z9hG4bK74bf 5498 Max-Forwards: 70 5499 From: LittleGuy ;tag=31451098 5500 To: SmallGuy ;tag=8675309 5501 Call-ID: rt4353gs2egg@smallguy.there.com 5502 CSeq: 1 NOTIFY 5503 Contact: 5504 Event: dialog 5505 Content-Type: application/dialog-info+xml 5506 Content-Length: ... 5508 5512 Ringing 5514 F6 200 OK D -> B 5516 SIP/2.0 200 OK 5517 Via: SIP/2.0/UDP littleguy.there.com:5060;branch=z9hG4bK74bf 5518 From: LittleGuy ;tag=31451098 5519 To: SmallGuy ;tag=8675309 5520 Call-ID: rt4353gs2egg@smallguy.there.com 5521 CSeq: 1 NOTIFY 5522 Contact: 5523 Content-Length: 0 5524 F7 INVITE D -> A 5526 INVITE sip:UserA@here.com SIP/2.0 5527 Via: SIP/2.0/UDP smallguy.there.com:5060;branch=z9hG4bK74bf 5528 Max-Forwards: 70 5529 From: SmallGuy ;tag=8675309 5530 To: BigGuy 5531 Call-ID: 563456212@b2.there.com 5532 CSeq: 1 INVITE 5533 Accept-Contact: ;only=true 5534 Replaces: 12345600@here.com;to-tag=314578;from-tag=1234567 5535 Contact: 5536 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5537 Supported: replaces 5538 Content-Type: application/sdp 5539 Content-Length: ... 5541 v=0 5542 o=UserB 2890843122 2890843122 IN IP4 smallguy.there.com 5543 s=Session SDP 5544 c=IN IP4 110.111.112.114 5545 t=3034423619 0 5546 m=audio 5342 RTP/AVP 0 5547 a=rtpmap:0 PCMU/8000 5549 /* A matches the dialog information in the Replaces header and 5550 accepts the INVITE */ 5552 F8 200 OK A -> D 5554 SIP/2.0 200 OK 5555 Via: SIP/2.0/UDP smallguy.there.com:5060;branch=z9hG4bK74bf 5556 ;received=110.111.112.114 5557 From: SmallGuy ;tag=8675309 5558 To: BigGuy ;tag=131256 5559 Call-ID: 563456212@b2.there.com 5560 CSeq: 1 INVITE 5561 Contact: 5562 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 5563 Supported: replaces 5564 Content-Type: application/sdp 5565 Content-Length: ... 5567 v=0 5568 o=UserA 289084543 289084543 IN IP4 client.here.com 5569 s=Session SDP 5570 c=IN IP4 100.101.102.103 5571 t=0 0 5572 m=audio 49172 RTP/AVP 0 5573 a=rtpmap:0 PCMU/8000 5574 /* A stops B�s phone from ringing by sending a CANCEL */ 5576 F9 CANCEL A -> B 5578 CANCEL sip:UserB@there.com SIP/2.0 5579 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5580 Max-Forwards: 70 5581 From: BigGuy ;tag=1234567 5582 To: LittleGuy 5583 Call-ID: 12345600@here.com 5584 CSeq: 1 CANCEL 5585 Content-Length: 0 5587 F10 200 OK B -> A 5589 SIP/2.0 200 OK 5590 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5591 ;received=100.101.102.103 5592 From: BigGuy ;tag=1234567 5593 To: LittleGuy 5594 Call-ID: 12345600@here.com 5595 CSeq: 1 CANCEL 5596 Content-Length: 0 5598 F11 487 Request Terminated B1 -> Proxy 5600 SIP/2.0 487 Request Terminated 5601 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5602 ;received=100.101.102.103 5603 From: BigGuy ;tag=1234567 5604 To: LittleGuy ;tag=3145678 5605 Call-ID: 12345600@here.com 5606 CSeq: 1 INVITE 5607 Content-Length: 0 5609 F12 ACK A -> B 5611 ACK sip:UserB1@110.111.112.113 SIP/2.0 5612 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 5613 Max-Forwards: 70 5614 From: BigGuy ;tag=1234567 5615 To: LittleGuy ;tag=3145678 5616 Call-ID: 12345600@here.com 5617 CSeq: 1 ACK 5618 Content-Length: 0 5619 Content-Length: 0 5621 F13 ACK D -> A 5623 ACK sip:UserA@100.101.102.103 SIP/2.0 5624 Via: SIP/2.0/UDP b2.there.com:5060;branch=z9hG4bK74bf 5625 Max-Forwards: 70 5626 From: LittleGuy ;tag=8675309 5627 To: BigGuy ;tag=131256 5628 Call-ID: 563456212@b2.there.com 5629 CSeq: 1 ACK 5630 Content-Length: 0 5632 F14 NOTIFY B -> D 5634 NOTIFY sip:UserB@there.com SIP/2.0 5635 Via: SIP/2.0/UDP littleguy.there.com:5060;branch=z9hG4bK74bf 5636 Max-Forwards: 70 5637 From: LittleGuy ;tag=31451098 5638 To: SmallGuy ;tag=8675309 5639 Call-ID: rt4353gs2egg@smallguy.there.com 5640 CSeq: 2 NOTIFY 5641 Contact: 5642 Event: dialog 5643 Content-Type: application/dialog-info+xml 5644 Content-Length: ... 5646 5650 Request Terminated 5652 F15 481 Dialog Does Not Exist D -> B 5654 SIP/2.0 481 Dialog Does Not Exist 5655 Via: SIP/2.0/UDP littleguy.there.com:5060;branch=z9hG4bK74bf 5656 From: LittleGuy ;tag=31451098 5657 To: SmallGuy ;tag=8675309 5658 Call-ID: rt4353gs2egg@smallguy.there.com 5659 CSeq: 2 NOTIFY 5660 Contact: 5661 Content-Length: 0 5663 /* RTP streams are established between A and D. User A Hangs Up 5664 with User B2. */ 5666 F16 BYE A -> Proxy 5667 BYE sip:UserD@there.com SIP/2.0 5668 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5669 Max-Forwards: 70 5670 To: LittleGuy ;tag=8675309 5671 From: BigGuy ;tag=131256 5672 Call-ID: 563456212@b2.there.com 5673 CSeq: 2 BYE 5674 Content-Length: 0 5676 F17 200 OK D -> A 5678 SIP/2.0 200 OK 5679 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5680 ;received=100.101.102.103 5681 To: LittleGuy ;tag=8675309 5682 From: BigGuy ;tag=131256 5683 Call-ID: 563456212@b2.there.com 5684 CSeq: 2 BYE 5685 Content-Length: 0 5687 2.16 Automatic Redial 5689 User A User B 5690 | | 5691 | INVITE F1 | 5692 |--------------->| 5693 |486 Busy Here F2| 5694 |<---------------| User B is busy 5695 | ACK F3 | 5696 |--------------->| 5697 | SUBSCRIBE F4 | 5698 |--------------->| 5699 | 200 OK F5 | 5700 |<---------------| 5701 | NOTIFY F6 | 5702 |<---------------| 5703 | 200 OK F7 | 5704 |--------------->| 5705 | | 5706 | NOTIFY F8 | User B is now available 5707 |<---------------| 5708 | 200 OK F9 | 5709 |--------------->| 5710 | | 5711 | INVITE F10 | 5712 |--------------->| Session setup successfully 5713 | 180 Ringing F11| 5714 |<---------------| 5715 | 200 OK F12 | 5716 |<---------------| 5717 | ACK F13 | 5718 |--------------->| 5719 | Media Session | 5720 |<==============>| 5721 | | 5723 User B is initially busy when User A calls. User A subscribes to 5724 User B�s call state using a SUBSCRIBE F4. User B sends a NOTIFY F8 5725 when User B is available. A is alerted, then User A sends an INVITE 5726 to B to establish the session. 5728 Message Details 5730 F1 INVITE A -> B 5732 INVITE sip:UserB@there.com SIP/2.0 5733 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5734 Max-Forwards: 70 5735 From: BigGuy ;tag=1234567 5736 To: LittleGuy 5737 Call-ID: 12345600@here.com 5738 CSeq: 1 INVITE 5739 Contact: 5740 Content-Type: application/sdp 5741 Content-Length: ... 5743 v=0 5744 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5745 s=Session SDP 5746 c=IN IP4 100.101.102.103 5747 t=3034423619 0 5748 m=audio 49170 RTP/AVP 0 5749 a=rtpmap:0 PCMU/8000 5751 F2 486 Busy Here 5753 SIP/2.0 486 Busy Here 5754 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5755 From: BigGuy ;tag=1234567 5756 To: LittleGuy ;tag=982039i4 5757 Call-ID: 12345600@here.com 5758 CSeq: 1 INVITE 5759 Content-Length: 0 5761 F3 ACK A -> B 5763 INVITE sip:UserB@there.com SIP/2.0 5764 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5765 Max-Forwards: 70 5766 From: BigGuy ;tag=1234567 5767 To: LittleGuy ;tag=982039i4 5768 Call-ID: 12345600@here.com 5769 CSeq: 1 ACK 5770 Content-Length: 0 5772 F4 SUBSCRIBE A -> B 5774 SUBSCRIBE sip:UserB@there.com SIP/2.0 5775 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5776 Max-Forwards: 70 5777 From: BigGuy ;tag=837348234 5778 To: LittleGuy 5779 Call-ID: 4524526232@here.com 5780 CSeq: 1 SUBSCRIBE 5781 Contact: UserA@100.101.102.103 5782 Event: dialog 5783 Accept: application/dialog-info+xml 5784 Content-Length: 0 5785 F5 200 OK B -> A 5787 SIP/2.0 200 OK 5788 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5789 From: BigGuy ;tag=837348234 5790 To: LittleGuy 5791 Call-ID: 4524526232@here.com 5792 CSeq: 1 SUBSCRIBE 5793 Contact: UserB@110.111.112.113 5794 Content-Length: 0 5796 F6 NOTIFY B -> A 5798 NOTIFY sip:UserA@here.com SIP/2.0 5799 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5800 Max-Forwards: 70 5801 From: LittleGuy ;tag=341123 5802 To: BigGuy ;tag=837348234 5803 Call-ID: 4524526232@here.com 5804 CSeq: 1 NOTIFY 5805 Event: dialog 5806 Content-Type: application/dialog-info+xml 5807 Content-Length: ... 5809 5810 Busy Here 5812 F7 200 OK A -> B 5814 SIP/2.0 200 OK 5815 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5816 From: LittleGuy ;tag=341123 5817 To: BigGuy ;tag=837348234 5818 Call-ID: 4524526232@here.com 5819 CSeq: 1 NOTIFY 5820 Content-Length: 0 5822 /* User B is now available */ 5824 F8 NOTIFY B -> A 5826 NOTIFY sip:UserA@here.com SIP/2.0 5827 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5828 Max-Forwards: 70 5829 From: LittleGuy ;tag=341123 5830 To: BigGuy ;tag=837348234 5831 Call-ID: 4524526232@here.com 5832 CSeq: 2 NOTIFY 5833 Event: dialog 5834 Content-Type: application/dialog-info+xml 5835 Content-Length: ... 5837 5838 Disconnected 5840 F9 200 OK A -> B 5842 SIP/2.0 200 OK 5843 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5844 From: LittleGuy ;tag=341123 5845 To: BigGuy ;tag=837348234 5846 Call-ID: 4524526232@here.com 5847 CSeq: 2 NOTIFY 5848 Content-Length: 0 5850 Message Details 5852 F10 INVITE A -> B 5854 INVITE sip:UserB@there.com SIP/2.0 5855 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5856 Max-Forwards: 70 5857 From: BigGuy ;tag=f23fkg14k 5858 To: LittleGuy 5859 Call-ID: aoij4i9okitr@here.com 5860 CSeq: 1 INVITE 5861 Contact: 5862 Content-Type: application/sdp 5863 Content-Length: ... 5865 v=0 5866 o=UserA 2890844526 2890844526 IN IP4 client.here.com 5867 s=Session SDP 5868 c=IN IP4 100.101.102.103 5869 t=3034423619 0 5870 m=audio 49170 RTP/AVP 0 5871 a=rtpmap:0 PCMU/8000 5873 F11 180 Ringing B -> A 5875 SIP/2.0 180 Ringing 5876 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5877 ;received=100.101.102.103 5878 From: BigGuy ;tag=f23fkg14k 5879 To: LittleGuy ;tag=23431 5880 Call-ID: aoij4i9okitr@here.com 5881 CSeq: 1 INVITE 5882 Contact: 5883 Content-Length: 0 5885 F12 200 OK B -> A 5887 SIP/2.0 200 OK 5888 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5889 ;received=100.101.102.103 5890 From: BigGuy ;tag=f23fkg14k 5891 To: LittleGuy ;tag=23431 5892 Call-ID: aoij4i9okitr@here.com 5893 CSeq: 1 INVITE 5894 Contact: 5895 Content-Type: application/sdp 5896 Content-Length: ... 5898 v=0 5899 o=UserB 2890844527 2890844527 IN IP4 client.there.com 5900 s=Session SDP 5901 c=IN IP4 110.111.112.113 5902 t=3034423619 0 5903 m=audio 3456 RTP/AVP 0 5904 a=rtpmap:0 PCMU/8000 5906 F13 ACK A -> B 5908 ACK sip:UserB@110.111.112.113 SIP/2.0 5909 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5910 Max-Forwards: 70 5911 From: BigGuy ;tag=f23fkg14k 5912 To: LittleGuy ;tag=23431 5913 Call-ID: aoij4i9okitr@here.com 5914 CSeq: 1 ACK 5915 Content-Length: 0 5916 Acknowledgements 5918 The Automatic Call Back call flow is based on a call flow by Adam 5919 Roach. The Single Line Extension call flow is based on a call flow 5920 by Jonathan Rosenberg. The authors wish to thank the following 5921 individuals for their assistance and review of this call flows 5922 document: Rohan Mahey, Jonathan Rosenberg, Hemant Agrawal, Henry 5923 Sinnreich, Dean Willis, David Devanatham, Joe Pizzimenti, Matt 5924 Cannon, John Hearty, the whole MCI WorldCom IPOP Design team, Scott 5925 Orton, Greg Osterhout, Pat Sollee, Doug Weisenberg, Danny Mistry, 5926 Steve McKinnon, and Denise Ingram, Denise Caballero, Tom Redman, Ilya 5927 Slain, Pat Sollee, John Truetken, and others from MCI WorldCom, 3Com, 5928 Cisco, Lucent and Nortel. 5930 3 References 5932 [1] S. Bradner, "The Internet Standards Process -- Revision 3", BCP 5933 9, RFC 2026, October 1996. 5935 [2] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, 5936 J. Peterson, R. Sparks, M. Handley, and E. Schooler, "SIP: 5937 Session Initiation Protocol", Internet Engineering Task Force, 5938 February 2002, Work in Progress. 5940 [3] A. Johnston, S. Donovan, R. Sparks, C. Cunningham, D. Willis, J. 5941 Rosenberg, and H. Schulzrinne, "SIP Call Flow Examples", Internet 5942 Draft, Internet Engineering Task Force, February 2002, Work in 5943 Progress. 5945 [4] R. Sparks, "The Refer Method", Internet Draft, 5946 Internet Engineering Task Force, October 2001, 5947 Work in Progress. 5949 [5] B. Biggs, R. Dean, and R. Mahy, "The SIP Replaces header," 5950 Internet Draft, Internet Engineering Task Force, January 2002, 5951 Work in Progress. 5953 [6] H. Schulzrinne and J. Rosenberg, "SIP Caller Preferences and 5954 Callee Capabilities," Internet Engineering Task Force, June 2001, 5955 Work in Progress. 5957 [7] J. Rosenberg, J. Peterson, H. Schulzrinne, and G. Camarillo, 5958 "Third Party Call Control in SIP," Internet Engineering Task 5959 Force, March 2001, Work in Progress. 5961 [8] J. Rosenberg and H. Schulzrinne, "An Offer/Answer Model with 5962 SDP," Internet Engineering Task Force, October 2001, Work in 5963 progress. 5965 [9] R. Sparks, "SIP Call Control � Transfer," Internet Engineering 5966 Task Force, July 2001, Work in progress. 5968 [10] J. Rosenberg and H. Schulzrinne, "SIP Event Package for Call 5969 Leg," Internet Engineering Task Force, April 2002, Work in 5970 progress. 5972 [11] A. Roach, "SIP-Specific Event Notification," Internet 5973 Engineering Task Force, February 2002, Work in progress. 5975 4 Author's Addresses 5977 Alan Johnston Email: alan.johnston@wcom.com 5978 sip:alan.johnston@siptest.wcom.com 5980 Robert Sparks Email: rsparks@dynamicsoft.com 5982 Chris Cunningham Email: ccunningham@dynamicsoft.com 5984 Steve Donovan Email: sdonovan@dynamicsoft.com 5986 Kevin Summers Email: kevin.summers@sonusnet.com 5988 Copyright Notice 5990 "Copyright (C) The Internet Society 2002. All Rights Reserved. 5992 This document and translations of it may be copied and furnished to 5993 others, and derivative works that comment on or otherwise explain it 5994 or assist in its implementation may be prepared, copied, published 5995 and distributed, in whole or in part, without restriction of any 5996 kind, provided that the above copyright notice and this paragraph are 5997 included on all such copies and derivative works. However, this 5998 document itself may not be modified in any way, such as by removing 5999 the copyright notice or references to the Internet Society or other 6000 Internet organizations, except as needed for the purpose of 6001 developing Internet standards in which case the procedures for 6002 copyrights defined in the Internet Standards process must be 6003 followed, or as required to translate it into languages other than 6004 English. 6006 The limited permissions granted above are perpetual and will not be 6007 revoked by the Internet Society or its successors or assigns. 6009 This document and the information contained herein is provided on an 6010 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 6011 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 6012 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 6013 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 6014 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.