idnits 2.17.1 draft-ietf-sipping-service-examples-00.txt: 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 4 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 113 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 182 instances of lines with non-RFC2606-compliant FQDNs in the document. == There are 86 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 1825 has weird spacing: '...success back ...' == Line 3546 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-00.txt Robert Sparks 5 Category: Informational Chris Cunningham 6 February 2002 Steve Donovan 7 Expires: August 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..................6 49 2.1 Call Hold..................................................6 50 2.2 Consultation Hold.........................................17 51 2.3 Music On Hold.............................................32 52 2.4 Unattended Transfer.......................................39 53 2.5 Attended Transfer.........................................45 54 2.6 Call Forwarding Unconditional.............................56 55 2.7 Call Forwarding - Busy....................................61 56 2.8 Call Forwarding - No Answer...............................68 57 2.9 3-way Conference..........................................76 58 2.10 Single Line Extension.....................................76 59 2.11 Find-Me...................................................77 60 2.12 Call Management (Incoming Call Screening).................87 61 2.13 Call Management (Outgoing Call Screening).................91 62 2.14 Call Park.................................................94 63 2.15 Call Pickup..............................................102 64 3 References...............................................112 65 4 Author's Addresses.......................................113 67 1 Overview 69 This informational document provides call flows detailing a SIP 70 implementation of the following traditional telephony services: 72 Call Hold Music on Hold 73 Unattended Transfer Consultation Hold 74 Unconditional Call Forwarding Attended Transfer 75 No Answer Call Forwarding Busy Call Forwarding 76 Single-Line Extension 3-way Call 77 Incoming Call Screening Find-Me 78 Call Pickup Call Park 79 Outgoing Call Screening 81 It is the hope of the authors that this document will be useful for 82 SIP implementors, users, designers, and protocol researchers alike 83 and will help further the goal of a standard SIP implementation for 84 IP Telephony. It is envisioned that as changes to the standard and 85 additional RFCs are added that this document will reflect those 86 changes and represent the current state of a standard SIP IP 87 Telephony implementation. 89 These flows use SIP as defined by RFC 2543bis [2] and [8]. Note that 90 this document is informational, and nothing stated here should be 91 taken as normative. The SIP specification and the other referenced 92 documents are definitive as far as protocol issues are concerned. 93 Also, these flows do not represent the only way to implement these 94 services - other approaches such as 3pcc (Third Party Call Control) 95 or Back-to-Back User Agents (B2BUA) may be more appropriate in some 96 circumstances. 98 These flows assume the functionality described in the SIP Call Flow 99 Examples document [3], which explores basic behavior and PSTN 100 internetworking. Some of the scenarios described herein make use of 101 the SIP method extension REFER [4] and the SIP header extension 102 Replaces [5], the SIP header extension Accept-Contact [6], and some 103 of the concepts in the 3pcc (third party call control) document [7]. 105 These flows were prepared assuming a network of proxies, registrars, 106 PSTN gateways, and other SIP servers that have a pre-established 107 trust relationship with each other, secured through other means than 108 SIP. User agents wishing to use the services in this network are 109 required to authenticate themselves with an edge proxy using SIP 110 Digest. To improve the clarity of this document, authentication of 111 User Agents is not explicitly shown in all flows, except where 112 authentication directly relates to the service example. 114 Each call flow is presented with a textual description of the 115 scenario, a message flow diagram showing the messages exchanged 116 between separate network elements, and the detailed contents of each 117 message shown in the diagram. 119 1.1 Legend for Message Flows 121 Dashed lines (---) represent control messages that are mandatory to 122 the call scenario. These control messages can be SIP or PSTN 123 signaling. 125 Double dashed lines (===) represent media paths between network 126 elements. 128 Messages with parenthesis around name represent optional control 129 messages. 131 Messages are identified in the Figures as F1, F2, etc. This 132 references the message details in the table that follows the Figure. 133 Comments in the message details are shown in the following form: 135 /* Comments. */ 137 1.2 Document History 139 The first version of this document was the Internet-Draft 140 "draft-sparks-sip-service-examples.txt" October 1999. 142 The next version was combined with the SIP Telephony Call Flows 143 document into the "draft-ietf-sip-call-flows-00.txt" April 2000. 145 This version is based on Section 7 of that document with many of the 146 examples extensively rewritten using the REFER method. 148 1.3 Changes to 00 150 - Moddified all REFER flows to include 202 Accepted and NOTIFY 151 result message. 153 - Removed "Telephony" from title of document. 155 - Added note on 2.9 on use of REFER to exit 3-way conference. 157 - Modified Music on Hold/Call Park flow (2.2). 159 - Modified order of messages in transfers (2.4 and 2.5) to more 160 closely resemble PSTN experience. 162 - Added Call Pickup flow (2.13). 164 - Added editorial notes on usefulness of Replaces header. 166 1.4 Changes to 01 168 - Added Replaces header to flows. 170 - Changed handling of call hold. 172 - Added Contact and Referred-By headers and ref parameters to REFER 173 messages. 175 - Changed some Contacts, Routes, and Request-URIs to IP addresses. 177 - Incremented o= line when SDP is updated with hold. 179 - Added From tags throughout. 181 - Renamed Music On Hold/Call Park to Call Park and added new Music On 182 Hold call flow using 3pcc. 184 1.5 Changes to 02 186 - Changed call hold flows to show sendonly attribute based on [8]. 188 - Removed ref parameter from the Referred-By headers since it is now 189 just a generic paramter in the latest draft [4]. (Note that if the 190 ref parameter stays, additional characters such as "<", "@", and ">" 191 must be escaped.) 193 - Removed tags in CANCEL requests and responses. 195 1.6 Changes to sipping-00 197 - Added Max-Forwards 199 - Added branch parm and received param to Vias 201 - Changed Record-Route and Route behavior to show loose routing. 203 - Added Record-Route and Contact to 18x responses 205 - Changed Call Pickup to show Replaces with an early dialog 207 - Changed description of Single Line Extension service 209 - Changed Call Park and Pickup flow to show a different user picking 210 up the call. 212 - Added Allow and Supported headers to REFER and replaces flows. 214 2 IP Telephony Services Features Call Flows 216 These call flows show how a number of standard telephony features can 217 be implemented using SIP. They are not meant to represent a complete 218 set. Some calls make use of SIP extensions. 220 2.1 Call Hold 222 User A Proxy User B 223 | | | 224 | INVITE F1 | | 225 |--------------->| | 226 | | INVITE F2 | 227 |(100 Trying) F3 |------------->| 228 |<---------------| | 229 | |180 Ringing F4| 230 | 180 Ringing F5 |<-------------| 231 |<---------------| | 232 | | 200 OK F6 | 233 | 200 OK F7 |<-------------| 234 |<---------------| | 235 | ACK F8 | | 236 |--------------->| ACK F9 | 237 | |------------->| 238 | Both way RTP Established | 239 |<=============================>| 240 | |INVITE(hold) F10 241 |INVITE(hold) F11|<-------------| 242 |<---------------| | 243 | 200 OK F12 | | 244 |--------------->| 200 OK F13 | 245 | |------------->| 246 | | ACK F14 | 247 | ACK F15 |<-------------| 248 |<---------------| | 249 | No RTP Sent! | 250 | | INVITE F16 | 251 | INVITE F17 |<-------------| 252 |<---------------| | 253 | 200 OK F18 | | 254 |--------------->| 200 OK F19 | 255 | |------------->| 256 | | ACK F20 | 257 | ACK F21 |<-------------| 258 |<---------------| | 259 | Both way RTP Established | 260 |<=============================>| 261 | BYE F22 | | 262 |--------------->| BYE F23 | 263 | |------------->| 264 | | 200 OK F24 | 265 | 200 OK F25 |<-------------| 266 |<---------------| | 267 | | | 269 User A calls User B, User B places call on hold. User B then takes 270 call off hold. User A hangs up call. Hold is unidirectional in 271 nature. However, a UA that places the other party on hold will 272 generally also stop sending media, resulting in no media exchange 273 between the UAs. 275 Message Details 277 F1 INVITE A -> Proxy 1 279 INVITE sip:UserB@there.com SIP/2.0 280 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 281 Max-Forwards: 70 282 From: BigGuy ;tag=1234567 283 To: LittleGuy 284 Call-ID: 12345601@here.com 285 CSeq: 1 INVITE 286 Contact: 287 Content-Type: application/sdp 288 Content-Length: ... 290 v=0 291 o=UserA 2890844526 2890844526 IN IP4 client.here.com 292 s=Session SDP 293 c=IN IP4 100.101.102.103 294 t=3034423619 0 295 m=audio 49170 RTP/AVP 0 296 a=rtpmap:0 PCMU/8000 298 F2 INVITE Proxy 1 -> B 300 INVITE sip:UserB@110.111.112.113 SIP/2.0 301 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 302 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 303 ;received=100.101.102.103 304 Record-Route: 305 Max-Forwards: 69 306 From: BigGuy ;tag=1234567 307 To: LittleGuy 308 Call-ID: 12345601@here.com 309 CSeq: 1 INVITE 310 Contact: 311 Content-Type: application/sdp 312 Content-Length: ... 314 v=0 315 o=UserA 2890844526 2890844526 IN IP4 client.here.com 316 s=Session SDP 317 c=IN IP4 100.101.102.103 318 t=3034423619 0 319 m=audio 49170 RTP/AVP 0 320 a=rtpmap:0 PCMU/8000 322 F3 (100 Trying) Proxy 1 -> A 324 SIP/2.0 100 Trying 325 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 326 ;received=100.101.102.103 327 From: BigGuy ;tag=1234567 328 To: LittleGuy 329 Call-ID: 12345601@here.com 330 CSeq: 1 INVITE 331 Content-Length: 0 333 F4 180 Ringing B -> Proxy 1 335 SIP/2.0 180 Ringing 336 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 337 ;received=1.2.3.4 338 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 339 ;received=100.101.102.103 340 Record-Route: 341 From: BigGuy ;tag=1234567 342 To: LittleGuy ;tag=314159 343 Call-ID: 12345601@here.com 344 CSeq: 1 INVITE 345 Contact: 346 Content Length:0 348 F5 180 Ringing Proxy 1 -> A 350 SIP/2.0 180 Ringing 351 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 352 ;received=100.101.102.103 353 Record-Route: 354 From: BigGuy ;tag=1234567 355 To: LittleGuy ;tag=314159 356 Call-ID: 12345601@here.com 357 CSeq: 1 INVITE 358 Contact: 359 Content Length: 0 361 F6 200 OK B -> Proxy 1 362 SIP/2.0 200 OK 363 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 364 ;received=1.2.3.4 365 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 366 ;received=100.101.102.103 367 Record-Route: 368 From: BigGuy ;tag=1234567 369 To: LittleGuy ;tag=314159 370 Call-ID: 12345601@here.com 371 CSeq: 1 INVITE 372 Contact: 373 Content-Type: application/sdp 374 Content-Length: ... 376 v=0 377 o=UserB 2890844527 2890844527 IN IP4 client.there.com 378 s=Session SDP 379 c=IN IP4 110.111.112.113 380 t=3034423619 0 381 m=audio 3456 RTP/AVP 0 382 a=rtpmap:0 PCMU/8000 384 F7 200 OK Proxy 1 -> A 386 SIP/2.0 200 OK 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 F8 ACK A -> Proxy 1 408 ACK sip:UserB@110.111.112.113 SIP/2.0 409 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 410 Route: 411 Max-Forwards: 70 412 From: BigGuy ;tag=1234567 413 To: LittleGuy ;tag=314159 414 Call-ID: 12345601@here.com 415 CSeq: 1 ACK 416 Content-Length: 0 418 F9 ACK Proxy 1 -> B 420 ACK sip:UserB@110.111.112.113 SIP/2.0 421 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 422 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 423 ;received=100.101.102.103 424 Max-Forwards: 69 425 From: BigGuy ;tag=1234567 426 To: LittleGuy ;tag=314159 427 Call-ID: 12345601@here.com 428 CSeq: 1 ACK 429 Content-Length: 0 431 /* User B places User A on hold. Note that the version is 432 incremented in the o= field of the SDP */ 434 F10 INVITE B -> Proxy 1 436 INVITE sip:UserA@100.101.102.103 SIP/2.0 437 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 438 Route: 439 Max-Forwards: 70 440 From: LittleGuy ;tag=314159 441 To: BigGuy ;tag=1234567 442 Call-ID: 12345601@here.com 443 CSeq: 1 INVITE 444 Contact: 445 Content-Type: application/sdp 446 Content-Length: ... 448 v=0 449 o=UserB 2890844527 2890844528 IN IP4 client.there.com 450 s=Session SDP 451 c=IN IP4 110.111.112.113 452 t=3034423619 0 453 m=audio 3456 RTP/AVP 0 454 a=rtpmap:0 PCMU/8000 455 a=sendonly 457 F11 INVITE Proxy 1 -> A 459 INVITE sip:UserA@100.101.102.103 SIP/2.0 460 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 461 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 462 ;received=120.121.122.123 463 Record-Route: 464 Max-Forwards: 69 465 From: LittleGuy ;tag=314159 466 To: BigGuy ;tag=1234567 467 Call-ID: 12345601@here.com 468 CSeq: 1 INVITE 469 Contact: 470 Content-Type: application/sdp 471 Content-Length: ... 473 v=0 474 o=UserB 2890844527 2890844528 IN IP4 client.there.com 475 s=Session SDP 476 c=IN IP4 110.111.112.113 477 t=3034423619 0 478 m=audio 3456 RTP/AVP 0 479 a=rtpmap:0 PCMU/8000 480 a=sendonly 482 /* A replies with normal SDP */ 484 F12 200 OK A -> Proxy 1 486 SIP/2.0 200 OK 487 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 488 ;received=1.2.3.4 489 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 490 ;received=120.121.122.123 491 Record-Route: 492 From: LittleGuy ;tag=314159 493 To: BigGuy ;tag=1234567 494 Call-ID: 12345601@here.com 495 CSeq: 1 INVITE 496 Contact: 497 Content-Type: application/sdp 498 Content-Length: ... 500 v=0 501 o=UserA 2890844526 2890844526 IN IP4 client.here.com 502 s=Session SDP 503 c=IN IP4 100.101.102.103 504 t=3034423619 0 505 m=audio 49170 RTP/AVP 0 506 a=rtpmap:0 PCMU/8000 508 F13 200 OK Proxy 1 -> B 510 SIP/2.0 200 OK 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 F14 ACK B -> Proxy 1 532 ACK sip:UserA@100.101.102.103 SIP/2.0 533 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 534 Route: 535 Max-Forwards: 70 536 From: LittleGuy ;tag=314159 537 To: BigGuy ;tag=1234567 538 Call-ID: 12345601@here.com 539 CSeq: 1 ACK 540 Content-Length: 0 542 F15 ACK Proxy 1 -> A 544 ACK sip:UserA@100.101.102.103 SIP/2.0 545 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 546 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 547 ;received=120.121.122.123 548 Max-Forwards: 69 549 From: LittleGuy ;tag=314159 550 To: BigGuy ;tag=1234567 551 Call-ID: 12345601@here.com 552 CSeq: 1 ACK 553 Content-Length: 0 555 /* User B takes the call off hold */ 557 F16 INVITE B -> Proxy 1 559 INVITE sip:UserA@100.101.102.103 SIP/2.0 560 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 561 Route: 562 Max-Forwards: 70 563 From: LittleGuy ;tag=314159 564 To: BigGuy ;tag=1234567 565 Call-ID: 12345601@here.com 566 CSeq: 2 INVITE 567 Contact: 568 Content-Type: application/sdp 569 Content-Length: ... 571 v=0 572 o=UserB 2890844527 2890844529 IN IP4 client.there.com 573 s=Session SDP 574 c=IN IP4 110.111.112.113 575 t=3034423619 0 576 m=audio 3456 RTP/AVP 0 577 a=rtpmap:0 PCMU/8000 579 F17 INVITE Proxy 1 -> A 581 INVITE sip:UserA@100.101.102.103 SIP/2.0 582 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 583 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 584 ;received=120.121.122.123 585 Record-Route: 586 Max-Forwards: 69 587 From: LittleGuy ;tag=314159 588 To: BigGuy ;tag=1234567 589 Call-ID: 12345601@here.com 590 CSeq: 2 INVITE 591 Contact: 592 Content-Type: application/sdp 593 Content-Length: ... 595 v=0 596 o=UserB 2890844527 2890844529 IN IP4 client.there.com 597 s=Session SDP 598 c=IN IP4 110.111.112.113 599 t=3034423619 0 600 m=audio 3456 RTP/AVP 0 601 a=rtpmap:0 PCMU/8000 603 F18 200 OK A -> Proxy 1 605 SIP/2.0 200 OK 606 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 607 ;received=1.2.3.4 608 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 609 ;received=120.121.122.123 611 Record-Route: 612 From: LittleGuy ;tag=314159 613 To: BigGuy ;tag=1234567 614 Call-ID: 12345601@here.com 615 CSeq: 2 INVITE 616 Contact: 617 Content-Type: application/sdp 618 Content-Length: ... 620 v=0 621 o=UserA 2890844526 2890844526 IN IP4 client.here.com 622 s=Session SDP 623 c=IN IP4 100.101.102.103 624 t=3034423619 0 625 m=audio 49170 RTP/AVP 0 626 a=rtpmap:0 PCMU/8000 628 F19 200 OK Proxy 1 -> B 630 SIP/2.0 200 OK 631 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 632 ;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 F20 ACK B -> Proxy 1 652 ACK sip:UserA@100.101.102.103 SIP/2.0 653 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 654 Route: 655 Max-Forwards: 70 656 From: LittleGuy ;tag=314159 657 To: BigGuy ;tag=1234567 658 Call-ID: 12345601@here.com 659 CSeq: 2 ACK 660 Content-Length: 0 661 F21 ACK Proxy 1 -> A 663 ACK sip:UserA@100.101.102.103 SIP/2.0 664 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 665 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 666 ;received=120.121.122.123 667 Max-Forwards: 69 668 From: LittleGuy ;tag=314159 669 To: BigGuy ;tag=1234567 670 Call-ID: 12345601@here.com 671 CSeq: 2 ACK 672 Content-Length: 0 674 /* RTP Media stream re-established. User A disconnects. */ 676 F22 BYE A -> Proxy 1 678 BYE sip:UserB@110.111.112.113 SIP/2.0 679 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 680 Route: 681 Max-Forwards: 70 682 From: BigGuy ;tag=1234567 683 To: LittleGuy ;tag=314159 684 Call-ID: 12345601@here.com 685 CSeq: 2 BYE 686 Content-Length: 0 688 F23 BYE Proxy 1 -> B 690 BYE sip:UserB@110.111.112.113 SIP/2.0 691 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 692 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 693 ;received=100.101.102.103 694 Max-Forwards: 69 695 From: BigGuy ;tag=1234567 696 To: LittleGuy ;tag=314159 697 Call-ID: 12345601@here.com 698 CSeq: 2 BYE 699 Content-Length: 0 701 F24 200 OK B -> Proxy 1 703 SIP/2.0 200 OK 704 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 705 ;received=1.2.3.4 706 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 707 ;received=100.101.102.103 709 From: BigGuy ;tag=1234567 710 To: LittleGuy ;tag=314159 711 Call-ID: 12345601@here.com 712 CSeq: 2 BYE 713 Content-Length: 0 715 F25 200 OK Proxy 1 -> A 717 SIP/2.0 200 OK 718 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 719 ;received=100.101.102.103 720 From: BigGuy ;tag=1234567 721 To: LittleGuy ;tag=314159 722 Call-ID: 12345601@here.com 723 CSeq: 2 BYE 724 Content-Length: 0 726 2.2 Consultation Hold 728 User A Proxy User B User C 729 | | | | 730 | INVITE F1 | | | 731 |--------------->| INVITE F2 | | 732 | |------------->| | 733 |(100 Trying) F3 | | | 734 |<---------------|180 Ringing F4| | 735 | |<-------------| | 736 | 180 Ringing F5 | | | 737 |<---------------| 200 OK F6 | | 738 | |<-------------| | 739 | 200 OK F7 | | | 740 |<---------------| | | 741 | ACK F8 | | | 742 |--------------->| ACK F9 | | 743 | |------------->| | 744 | Both way RTP Established | | 745 |<=============================>| | 746 | |INVITE(hold) F10 | 747 |INVITE(hold) F11|<-------------| | 748 |<---------------| | | 749 | 200 OK F12 | | | 750 |--------------->| 200 OK F13 | | 751 | |------------->| | 752 | | ACK F14 | | 753 | |<-------------| | 754 | ACK F15 | | | 755 |<---------------| | | 756 | No RTP Sent! | | 757 | | INVITE F16 | | 758 | |<-------------| | 759 | | | INVITE F17 | 760 | |--------------------------------->| 761 | |(100 Trying) F18 | 762 | |------------->| | 763 | | | 180 Ringing F19 | 764 | |<---------------------------------| 765 | | 180 Ringing F20 | 766 | |------------->| | 767 | | | 200 OK F21 | 768 | |<---------------------------------| 769 | | 200 OK F22 | | 770 | |------------->| | 771 | | ACK F23 | | 772 | |<-------------| | 773 | | | ACK F24 | 774 | |--------------------------------->| 775 | | Both way RTP Established | 776 | | |<=================>| 777 | | BYE F25 | | 778 | |<-------------| | 779 | | | BYE F26 | 780 | |--------------------------------->| 781 | | | 200 OK F27 | 782 | |<---------------------------------| 783 | | 200 OK F28 | | 784 | |------------->| | 785 | | INVITE F29 | | 786 | INVITE F30 |<-------------| | 787 |<---------------| | | 788 | 200 OK F31 | | | 789 |--------------->| 200 OK F32 | | 790 | |------------->| | 791 | | ACK F33 | | 792 | |<-------------| | 793 | ACK F34 | | | 794 |<---------------| | | 795 | Both way RTP Established | | 796 |<=============================>| | 797 | BYE F35 | | | 798 |--------------->| BYE F36 | | 799 | |------------->| | 800 | | 200 OK F37 | | 801 | |<-------------| | 802 | 200 OK F38 | | | 803 |<---------------| | | 804 | | | | 806 User A calls user B. User B places call on hold. User B calls User 807 C. User B then disconnects with C, then takes the call with User A 808 off hold. The call ends with B hangs up. 810 Message Details 812 F1 INVITE A -> Proxy 1 814 INVITE sip:UserB@there.com SIP/2.0 815 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 816 Max-Forwards: 70 817 From: BigGuy ;tag=1234567 818 To: LittleGuy 819 Call-ID: 12345600@here.com 820 CSeq: 1 INVITE 821 Contact: 822 Content-Type: application/sdp 823 Content-Length: ... 825 v=0 826 o=UserA 2890844526 2890844526 IN IP4 client.here.com 827 s=Session SDP 828 c=IN IP4 100.101.102.103 829 t=3034423619 0 830 m=audio 49170 RTP/AVP 0 831 a=rtpmap:0 PCMU/8000 833 F2 INVITE Proxy 1 -> B 835 INVITE sip:UserB@110.111.112.113 SIP/2.0 836 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 837 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 838 ;received=100.101.102.103 839 Record-Route: 840 Max-Forwards: 69 841 From: BigGuy ;tag=1234567 842 To: LittleGuy 843 Call-ID: 12345600@here.com 844 CSeq: 1 INVITE 845 Contact: 846 Content-Type: application/sdp 847 Content-Length: ... 849 v=0 850 o=UserA 2890844526 2890844526 IN IP4 client.here.com 851 s=Session SDP 852 c=IN IP4 100.101.102.103 853 t=3034423619 0 854 m=audio 49170 RTP/AVP 0 855 a=rtpmap:0 PCMU/8000 857 F3(100 Trying) Proxy 1 -> A 859 SIP/2.0 100 Trying 860 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 861 ;received=100.101.102.103 862 From: BigGuy ;tag=1234567 863 To: LittleGuy 864 Call-ID: 12345600@here.com 865 CSeq: 1 INVITE 866 Content-Length: 0 868 F4 180 Ringing B -> Proxy 1 870 SIP/2.0 180 Ringing 871 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 872 ;received=1.2.3.4 873 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 874 ;received=100.101.102.103 875 Record-Route: 876 From: BigGuy ;tag=1234567 877 To: LittleGuy ;tag=314159 878 Call-ID: 12345600@here.com 879 CSeq: 1 INVITE 880 Contact: 881 Content Length:0 883 F5 180 Ringing Proxy 1 -> A 885 SIP/2.0 180 Ringing 886 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 887 ;received=100.101.102.103 888 Record-Route: 889 From: BigGuy ;tag=1234567 890 To: LittleGuy ;tag=314159 891 Call-ID: 12345600@here.com 892 CSeq: 1 INVITE 893 Contact: 894 Content Length: 0 896 F6 200 OK B -> Proxy 1 898 SIP/2.0 200 OK 899 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 900 ;received=1.2.3.4 901 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 902 ;received=100.101.102.103 903 Record-Route: 904 From: BigGuy ;tag=1234567 905 To: LittleGuy ;tag=314159 906 Call-ID: 12345600@here.com 907 CSeq: 1 INVITE 908 Contact: 909 Content-Type: application/sdp 910 Content-Length: ... 912 v=0 913 o=UserB 2890844527 2890844527 IN IP4 client.there.com 914 s=Session SDP 915 c=IN IP4 110.111.112.113 916 t=3034423619 0 917 m=audio 3456 RTP/AVP 0 918 a=rtpmap:0 PCMU/8000 920 F7 200 OK Proxy 1 -> A 922 SIP/2.0 200 OK 923 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 924 ;received=100.101.102.103 926 Record-Route: 927 From: BigGuy ;tag=1234567 928 To: LittleGuy ;tag=314159 929 Call-ID: 12345600@here.com 930 CSeq: 1 INVITE 931 Contact: 932 Content-Type: application/sdp 933 Content-Length: ... 935 v=0 936 o=UserB 2890844527 2890844527 IN IP4 client.there.com 937 s=Session SDP 938 c=IN IP4 110.111.112.113 939 t=3034423619 0 940 m=audio 3456 RTP/AVP 0 941 a=rtpmap:0 PCMU/8000 943 F8 ACK A -> Proxy 1 945 ACK sip:UserB@110.111.112.113 SIP/2.0 946 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 947 Route: 948 Max-Forwards: 70 949 From: BigGuy ;tag=1234567 950 To: LittleGuy ;tag=314159 951 Call-ID: 12345600@here.com 952 CSeq: 1 ACK 953 Content-Length: 0 955 F9 ACK Proxy 1 -> B 957 ACK sip:UserB@110.111.112.113 SIP/2.0 958 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 959 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 960 ;received=100.101.102.103 961 Max-Forwards: 69 962 From: BigGuy ;tag=1234567 963 To: LittleGuy ;tag=314159 964 Call-ID: 12345600@here.com 965 CSeq: 1 ACK 966 Content-Length: 0 968 /* User B places User A on hold. */ 970 F10 INVITE B -> Proxy 1 972 INVITE sip:UserA@100.101.102.103 SIP/2.0 973 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 974 Route: 975 Max-Forwards: 70 976 From: LittleGuy ;tag=314159 977 To: BigGuy ;tag=1234567 978 Call-ID: 12345600@here.com 979 CSeq: 1 INVITE 980 Contact: 981 Content-Type: application/sdp 982 Content-Length: ... 984 v=0 985 o=UserB 2890844527 2890844528 IN IP4 client.there.com 986 s=Session SDP 987 c=IN IP4 110.111.112.113 988 t=3034423619 0 989 m=audio 3456 RTP/AVP 0 990 a=rtpmap:0 PCMU/8000 991 a=sendonly 993 F11 INVITE Proxy 1 -> A 995 INVITE sip:UserA@100.101.102.103 SIP/2.0 996 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 997 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 998 ;received=120.121.122.123 999 Record-Route: 1000 Max-Forwards: 69 1001 From: LittleGuy ;tag=314159 1002 To: BigGuy ;tag=1234567 1003 Call-ID: 12345600@here.com 1004 CSeq: 1 INVITE 1005 Contact: 1006 Content-Type: application/sdp 1007 Content-Length: ... 1009 v=0 1010 o=UserB 2890844527 2890844528 IN IP4 client.there.com 1011 s=Session SDP 1012 c=IN IP4 110.111.112.113 1013 t=3034423619 0 1014 m=audio 3456 RTP/AVP 0 1015 a=rtpmap:0 PCMU/8000 1016 a=sendonly 1018 F12 200 OK A -> Proxy 1 1020 SIP/2.0 200 OK 1021 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1022 ;received=1.2.3.4 1023 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1024 ;received=120.121.122.123 1026 Record-Route: 1027 From: LittleGuy ;tag=314159 1028 To: BigGuy ;tag=1234567 1029 Call-ID: 12345600@here.com 1030 CSeq: 1 INVITE 1031 Contact: 1032 Content-Type: application/sdp 1033 Content-Length: ... 1035 v=0 1036 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1037 s=Session SDP 1038 c=IN IP4 100.101.102.103 1039 t=3034423619 0 1040 m=audio 49170 RTP/AVP 0 1041 a=rtpmap:0 PCMU/8000 1043 F13 200 OK Proxy 1 -> B 1045 SIP/2.0 200 OK 1046 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1047 ;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 F14 ACK B -> Proxy 1 1067 ACK sip:UserA@100.101.102.103 SIP/2.0 1068 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1069 Route: 1070 Max-Forwards: 70 1071 From: LittleGuy ;tag=314159 1072 To: BigGuy ;tag=1234567 1073 Call-ID: 12345600@here.com 1074 CSeq: 1 ACK 1075 Content-Length: 0 1076 F15 ACK Proxy 1 -> A 1078 ACK sip:UserA@100.101.102.103 SIP/2.0 1079 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1080 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1081 ;received=120.121.122.123 1082 Max-Forwards: 69 1083 From: LittleGuy ;tag=314159 1084 To: BigGuy ;tag=1234567 1085 Call-ID: 12345600@here.com 1086 CSeq: 1 ACK 1087 Content-Length: 0 1089 F16 INVITE B -> Proxy 1 1091 INVITE sip:UserC@anywhere.com SIP/2.0 1092 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1093 Max-Forwards: 70 1094 From: LittleGuy ;tag=8675309 1095 To: OtherGuy 1096 Call-ID: 9876543210@there.com 1097 CSeq: 1 INVITE 1098 Contact: 1099 Content-Type: application/sdp 1100 Content-Length: ... 1102 v=0 1103 o=UserB 2890844834 2890844834 IN IP4 client.there.com 1104 s=Session SDP 1105 c=IN IP4 110.111.112.113 1106 t=3034423619 0 1107 m=audio 50170 RTP/AVP 0 1108 a=rtpmap:0 PCMU/8000 1110 F17 INVITE Proxy 1 -> C 1112 INVITE sip:UserC@120.121.122.123 SIP/2.0 1113 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1114 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1115 ;received=120.121.122.123 1116 Record-Route: 1117 Max-Forwards: 69 1118 From: LittleGuy ;tag=8675309 1119 To: OtherGuy 1120 Call-ID: 9876543210@there.com 1121 CSeq: 1 INVITE 1122 Contact: 1123 Content-Type: application/sdp 1124 Content-Length: ... 1126 v=0 1127 o=UserB 2890844834 2890844834 IN IP4 client.there.com 1128 s=Session SDP 1129 c=IN IP4 110.111.112.113 1130 t=3034423619 0 1131 m=audio 50170 RTP/AVP 0 1132 a=rtpmap:0 PCMU/8000 1134 F18 (100 Trying) Proxy 1 -> B 1136 SIP/2.0 100 Trying 1137 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1138 ;received=120.121.122.123 1139 From: LittleGuy ;tag=8675309 1140 To: OtherGuy 1141 Call-ID: 9876543210@there.com 1142 CSeq: 1 INVITE 1143 Content-Length: 0 1145 F19 180 Ringing C -> Proxy 1 1147 SIP/2.0 180 Ringing 1148 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1149 ;received=1.2.3.4 1150 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1151 ;received=120.121.122.123 1152 Record-Route: 1153 From: LittleGuy ;tag=8675309 1154 To: OtherGuy ;tag=456654 1155 Call-ID: 9876543210@here.com 1156 CSeq: 1 INVITE 1157 Contact: 1158 Content Length:0 1160 F20 180 Ringing Proxy 1 -> B 1162 SIP/2.0 180 Ringing 1163 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1164 ;received=120.121.122.123 1165 Record-Route: 1166 From: LittleGuy ;tag=8675309 1167 To: OtherGuy ;tag=456654 1168 Call-ID: 9876543210@there.com 1169 CSeq: 1 INVITE 1170 Contact: 1171 Content Length: 0 1172 F21 200 OK C -> Proxy 1 1174 SIP/2.0 200 OK 1175 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1176 ;received=1.2.3.4 1177 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1178 ;received=120.121.122.123 1179 Record-Route: 1180 From: LittleGuy ;tag=8675309 1181 To: OtherGuy ;tag=456654 1182 Call-ID: 9876543210@there.com 1183 CSeq: 1 INVITE 1184 Contact: 1185 Content-Type: application/sdp 1186 Content-Length: ... 1188 v=0 1189 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 1190 s=Session SDP 1191 c=IN IP4 120.121.122.123 1192 t=3034423619 0 1193 m=audio 3456 RTP/AVP 0 1194 a=rtpmap:0 PCMU/8000 1196 F22 200 OK Proxy 1 -> B 1198 SIP/2.0 200 OK 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 F23 ACK B -> Proxy 1 1220 ACK sip:UserC@120.121.122.123 SIP/2.0 1221 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1222 Route: 1223 Max-Forwards: 70 1224 From: LittleGuy ;tag=8675309 1225 To: OtherGuy ;tag=456654 1226 Call-ID: 9876543210@there.com 1227 CSeq: 1 ACK 1228 Content-Length: 0 1230 F24 ACK Proxy 1 -> C 1232 ACK sip:UserC@120.121.122.123 SIP/2.0 1233 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1234 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1235 ;received=120.121.122.123 1236 Max-Forwards: 69 1237 From: LittleGuy ;tag=8675309 1238 To: OtherGuy ;tag=456654 1239 Call-ID: 9876543210@there.com 1240 CSeq: 1 ACK 1241 Content-Length: 0 1243 F25 BYE B -> Proxy 1 1245 BYE sip:UserC@120.121.122.123 SIP/2.0 1246 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1247 Route: 1248 Max-Forwards: 70 1249 From: LittleGuy ;tag=8675309 1250 To: OtherGuy ;tag=456654 1251 Call-ID: 9876543210@there.com 1252 CSeq: 2 BYE 1253 Content-Length: 0 1255 F26 BYE Proxy 1 -> C 1257 BYE sip:UserC@120.121.122.123 SIP/2.0 1258 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1259 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1260 ;received=120.121.122.123 1261 Max-Forwards: 69 1262 From: LittleGuy ;tag=8675309 1263 To: OtherGuy ;tag=456654 1264 Call-ID: 9876543210@there.com 1265 CSeq: 2 BYE 1266 Content-Length: 0 1268 F27 200 OK C -> Proxy 1 1269 SIP/2.0 200 OK 1270 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1271 ;received=1.2.3.4 1272 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1273 ;received=120.121.122.123 1274 From: LittleGuy ;tag=8675309 1275 To: OtherGuy ;tag=456654 1276 Call-ID: 9876543210@there.com 1277 CSeq: 2 BYE 1278 Content-Length: 0 1280 F28 200 OK Proxy 1 -> B 1282 SIP/2.0 200 OK 1283 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1284 ;received=120.121.122.123 1285 From: LittleGuy ;tag=8675309 1286 To: OtherGuy ;tag=456654 1287 Call-ID: 9876543210@there.com 1288 CSeq: 2 BYE 1289 Content-Length: 0 1291 /* User B takes the call off hold */ 1293 F29 INVITE B -> Proxy 1 1295 INVITE sip:UserA@100.101.102.103 SIP/2.0 1296 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1297 Route: 1298 Max-Forwards: 70 1299 From: LittleGuy ;tag=314159 1300 To: BigGuy ;tag=1234567 1301 Call-ID: 12345600@here.com 1302 CSeq: 2 INVITE 1303 Contact: 1304 Content-Type: application/sdp 1305 Content-Length: ... 1307 v=0 1308 o=UserB 2890844527 2890844529 IN IP4 client.there.com 1309 s=Session SDP 1310 c=IN IP4 110.111.112.113 1311 t=3034423619 0 1312 m=audio 3456 RTP/AVP 0 1313 a=rtpmap:0 PCMU/8000 1315 F30 INVITE Proxy 1 -> A 1316 INVITE sip:UserA@100.101.102.103 SIP/2.0 1317 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1318 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1319 ;received=120.121.122.123 1320 Record-Route: 1321 Max-Forwards: 69 1322 From: LittleGuy ;tag=314159 1323 To: BigGuy ;tag=1234567 1324 Call-ID: 12345600@here.com 1325 CSeq: 2 INVITE 1326 Contact: 1327 Content-Type: application/sdp 1328 Content-Length: ... 1330 v=0 1331 o=UserB 2890844527 2890844529 IN IP4 client.there.com 1332 s=Session SDP 1333 c=IN IP4 110.111.112.113 1334 t=3034423619 0 1335 m=audio 3456 RTP/AVP 0 1336 a=rtpmap:0 PCMU/8000 1338 F31 200 OK A -> Proxy 1 1340 SIP/2.0 200 OK 1341 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1342 ;received=1.2.3.4 1343 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1344 ;received=120.121.122.123 1345 Record-Route: 1346 From: LittleGuy ;tag=314159 1347 To: BigGuy ;tag=1234567 1348 Call-ID: 12345600@here.com 1349 CSeq: 2 INVITE 1350 Contact: 1351 Content-Type: application/sdp 1352 Content-Length: ... 1354 v=0 1355 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1356 s=Session SDP 1357 c=IN IP4 100.101.102.103 1358 t=3034423619 0 1359 m=audio 49170 RTP/AVP 0 1360 a=rtpmap:0 PCMU/8000 1362 F32 200 OK Proxy 1 -> B 1364 SIP/2.0 200 OK 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 F33 ACK B -> Proxy 1 1386 ACK sip:UserA@100.101.102.103 SIP/2.0 1387 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1388 Route: 1389 Max-Forwards: 70 1390 From: LittleGuy ;tag=314159 1391 To: BigGuy ;tag=1234567 1392 Call-ID: 12345600@here.com 1393 CSeq: 2 ACK 1394 Content-Length: 0 1396 F34 ACK Proxy 1 -> A 1398 ACK sip:UserA@100.101.102.103 SIP/2.0 1399 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1400 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1401 ;received=120.121.122.123 1402 Max-Forwards: 69 1403 From: LittleGuy ;tag=314159 1404 To: BigGuy ;tag=1234567 1405 Call-ID: 12345600@here.com 1406 CSeq: 2 ACK 1407 Content-Length: 0 1409 F35 BYE A -> Proxy 1 1411 BYE sip:UserB@110.111.112.113 SIP/2.0 1412 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1413 Route: 1414 Max-Forwards: 70 1415 From: BigGuy ;tag=1234567 1416 To: LittleGuy ;tag=314159 1417 Call-ID: 12345600@here.com 1418 CSeq: 2 BYE 1419 Content-Length: 0 1421 F36 BYE Proxy 1 -> B 1423 BYE sip:UserB@110.111.112.113 SIP/2.0 1424 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1425 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1426 ;received=100.101.102.103 1427 Max-Forwards: 69 1428 From: BigGuy ;tag=1234567 1429 To: LittleGuy ;tag=314159 1430 Call-ID: 12345600@here.com 1431 CSeq: 2 BYE 1432 Content-Length: 0 1434 F37 200 OK B -> Proxy 1 1436 SIP/2.0 200 OK 1437 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 1438 ;received=1.2.3.4 1439 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1440 ;received=100.101.102.103 1441 From: BigGuy ;tag=1234567 1442 To: LittleGuy ;tag=314159 1443 Call-ID: 12345600@here.com 1444 CSeq: 2 BYE 1445 Content-Length: 0 1447 F38 200 OK Proxy 1 -> A 1449 SIP/2.0 200 OK 1450 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1451 ;received=100.101.102.103 1452 From: BigGuy ;tag=1234567 1453 To: LittleGuy ;tag=314159 1454 Call-ID: 12345600@here.com 1455 CSeq: 2 BYE 1456 Content-Length: 0 1458 2.3 Music On Hold 1460 User A User B Music Server 1461 | | | 1462 | INVITE F1 | | 1463 |--------------->| | 1464 | 180 Ringing F2 | | 1465 |<---------------| | 1466 | 200 OK F3 | | 1467 |<---------------| | 1468 | ACK F4 | | 1469 |--------------->| | 1470 | RTP | | 1471 |<==============>| | 1472 | | | 1473 | B places A on hold with music | 1474 | | | 1475 | | INVITE no sdp F5 1476 | |------------->| 1477 | |200 OK sdpM F6| 1478 | |<-------------| 1479 |INVITE (hold) F7| | 1480 |<---------------| | 1481 | 200 OK sdpA F8 | | 1482 |--------------->| | 1483 | ACK F9 | | 1484 |<---------------| | 1485 | | ACK sdpA F10 | 1486 | |------------->| 1487 | RTP | 1488 |<==============================| 1489 | | | 1490 | B Picks up the Call | 1491 | | BYE F11 | 1492 | |------------->| 1493 | | 200 OK F12 | 1494 | |<-------------| 1495 | INVITE F13 | | 1496 |<---------------| | 1497 | 200 OK F14 | | 1498 |--------------->| | 1499 | ACK F15 | | 1500 |<---------------| | 1501 | RTP | | 1502 |<==============>| | 1504 In this flow,B places A on hold with music. This is performed by B 1505 acting as a B2BUA (Back-to-Back User Agent) using 3pcc (third party 1506 call control) [7] to INVITE a Music Server into the session, which 1507 sends RTP music to A. B picks the call up from hold by sending a BYE 1508 to the music server and taking A off of hold. 1510 Note that if A responds to the INVITE with hold SDP with hold SDP in 1511 the 200 OK, this call flow will not work properly. 1513 Note also that A will receive RTP packets from two different IP 1514 addresses during this call flow. 1516 Message Details 1518 F1 INVITE A -> B 1520 INVITE sip:UserB@there.com SIP/2.0 1521 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1522 Max-Forwards: 70 1523 From: BigGuy ;tag=1234567 1524 To: LittleGuy 1525 Call-ID: 12345600@here.com 1526 CSeq: 1 INVITE 1527 Contact: 1528 Content-Type: application/sdp 1529 Content-Length: ... 1531 v=0 1532 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1533 s=Session SDP 1534 c=IN IP4 100.101.102.103 1535 t=3034423619 0 1536 m=audio 49170 RTP/AVP 0 1537 a=rtpmap:0 PCMU/8000 1539 F2 180 Ringing B -> A 1541 SIP/2.0 180 Ringing 1542 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1543 ;received=100.101.102.103 1544 From: BigGuy ;tag=1234567 1545 To: LittleGuy ;tag=23431 1546 Call-ID: 12345600@here.com 1547 CSeq: 1 INVITE 1548 Contact: 1549 Content-Length: 0 1551 F3 200 OK B -> A 1553 SIP/2.0 200 OK 1554 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1555 ;received=100.101.102.103 1556 From: BigGuy ;tag=1234567 1557 To: LittleGuy ;tag=23431 1558 Call-ID: 12345600@here.com 1559 CSeq: 1 INVITE 1560 Contact: 1561 Content-Type: application/sdp 1562 Content-Length: ... 1564 v=0 1565 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1566 s=Session SDP 1567 c=IN IP4 110.111.112.113 1568 t=3034423619 0 1569 m=audio 3456 RTP/AVP 0 1570 a=rtpmap:0 PCMU/8000 1572 F4 ACK A -> B 1574 ACK sip:UserB@110.111.112.113 SIP/2.0 1575 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1576 Max-Forwards: 70 1577 From: BigGuy ;tag=1234567 1578 To: LittleGuy ;tag=23431 1579 Call-ID: 12345600@here.com 1580 CSeq: 1 ACK 1581 Content-Length: 0 1583 /* User B places A on hold with music by acting as a B2BUA and 1584 sending an INVITE to the Music Server */ 1586 F5 INVITE B -> Music Server 1588 INVITE sip:music@server.com SIP/2.0 1589 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1590 Max-Forwards: 70 1591 From: LittleGuy ;tag=8675309 1592 To: Music 1593 Call-ID: sdjfdjfskdf@there.com 1594 CSeq: 1 INVITE 1595 Contact: 1596 Content-Length: 0 1598 F6 200 OK C -> B 1600 SIP/2.0 200 OK 1601 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1602 ;received=120.121.122.123 1603 From: LittleGuy ;tag=8675309 1604 To: Music ;tag=90210 1605 Call-ID: sdjfdjfskdf@there.com 1606 CSeq: 1 INVITE 1607 Contact: 1608 Content-Type: application/sdp 1609 Content-Length: ... 1611 v=0 1612 o=MusicServer 2890844576 2890844576 IN IP4 music.server.com 1613 s=Session SDP 1614 c=IN IP4 50.60.70.80 1615 t=3034423619 0 1616 m=audio 49170 RTP/AVP 0 1617 a=rtpmap:0 PCMU/8000 1618 a=sendonly 1620 /* B re-INVITEs A on hold */ 1622 F7 INVITE B -> A 1624 INVITE sip:UserA@100.101.102.103 SIP/2.0 1625 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1626 To: BigGuy ;tag=1234567 1627 Max-Forwards: 70 1628 From: LittleGuy ;tag=23431 1629 Call-ID: 12345600@here.com 1630 CSeq: 1 INVITE 1631 Contact: 1632 Content-Type: application/sdp 1633 Content-Length: ... 1635 v=0 1636 o=UserB 2890844527 2890844528 IN IP4 music.server.com 1637 s=Session SDP 1638 c=IN IP4 50.60.70.80 1639 t=3034423619 0 1640 m=audio 49170 RTP/AVP 0 1641 a=rtpmap:0 PCMU/8000 1642 a=sendonly 1644 /* A responds with normal SDP */ 1646 F8 200 OK A -> B 1648 SIP/2.0 200 OK 1649 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1650 ;received=100.101.102.103 1651 To: BigGuy ;tag=1234567 1652 From: LittleGuy ;tag=23431 1653 Call-ID: 12345600@here.com 1654 CSeq: 1 INVITE 1655 Contact: 1656 Content-Type: application/sdp 1657 Content-Length: ... 1659 v=0 1660 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1661 s=Session SDP 1662 c=IN IP4 100.101.102.103 1663 t=3034423619 0 1664 m=audio 49170 RTP/AVP 0 1665 a=rtpmap:0 PCMU/8000 1667 F9 ACK B -> A 1669 ACK sip:UserA@100.101.102.103 SIP/2.0 1670 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1671 To: BigGuy ;tag=1234567 1672 Max-Forwards: 70 1673 From: LittleGuy ;tag=23431 1674 Call-ID: 12345600@here.com 1675 CSeq: 1 ACK 1676 Content-Length: 0 1678 /* B passes SDP of A to the Music Server to allow music to be sent 1679 from B to A */ 1681 F10 ACK B -> Music Server 1683 ACK sip:music@server.com SIP/2.0 1684 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1685 Max-Forwards: 70 1686 From: LittleGuy ;tag=8675309 1687 To: Music ;tag=90210 1688 Call-ID: sdjfdjfskdf@there.com 1689 CSeq: 1 ACK 1690 Content-Type: application/sdp 1691 Content-Length: ... 1693 v=0 1694 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1695 s=Session SDP 1696 c=IN IP4 100.101.102.103 1697 t=3034423619 0 1698 m=audio 49170 RTP/AVP 0 1699 a=rtpmap:0 PCMU/8000 1701 /* RTP music is now sent from the Music Server to A */ 1703 /* B picks up the call from the Music Server */ 1704 F11 BYE B -> Music Server 1706 BYE sip:music@server.com SIP/2.0 1707 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1708 Max-Forwards: 70 1709 From: LittleGuy ;tag=8675309 1710 To: Music ;tag=90210 1711 Call-ID: sdjfdjfskdf@there.com 1712 CSeq: 2 BYE 1713 Content-Length: 0 1715 F12 200 OK Music Server -> B 1717 SIP/2.0 200 OK 1718 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1719 ;received=120.121.122.123 1720 From: LittleGuy ;tag=8675309 1721 To: Music ;tag=90210 1722 Call-ID: sdjfdjfskdf@there.com 1723 CSeq: 2 BYE 1724 Content-Length:0 1726 /* B re-INVITEs taking A off hold */ 1728 F13 INVITE B -> A 1730 INVITE sip:UserA@100.101.102.103 SIP/2.0 1731 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1732 To: BigGuy ;tag=1234567 1733 Max-Forwards: 70 1734 From: LittleGuy ;tag=23431 1735 Call-ID: 12345600@here.com 1736 CSeq: 2 INVITE 1737 Contact: 1738 Content-Type: application/sdp 1739 Content-Length: ... 1741 v=0 1742 o=UserB 2890844527 2890844529 IN IP4 client.there.com 1743 s=Session SDP 1744 c=IN IP4 110.111.112.113 1745 t=3034423619 0 1746 m=audio 3456 RTP/AVP 0 1747 a=rtpmap:0 PCMU/8000 1749 F14 200 OK A -> B 1751 SIP/2.0 200 OK 1752 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1753 ;received=100.101.102.103 1754 To: BigGuy ;tag=1234567 1755 From: LittleGuy ;tag=23431 1756 Call-ID: 12345600@here.com 1757 CSeq: 2 INVITE 1758 Contact: 1759 Content-Type: application/sdp 1760 Content-Length: ... 1762 v=0 1763 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1764 s=Session SDP 1765 c=IN IP4 100.101.102.103 1766 t=3034423619 0 1767 m=audio 49170 RTP/AVP 0 1768 a=rtpmap:0 PCMU/8000 1770 F15 ACK B -> A 1772 ACK sip:UserA@100.101.102.103 SIP/2.0 1773 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1774 To: BigGuy ;tag=1234567 1775 Max-Forwards: 70 1776 From: LittleGuy ;tag=23431 1777 Call-ID: 12345600@here.com 1778 CSeq: 2 ACK 1779 Content-Length: 0 1781 /* Normal media session between A and B is resumed */ 1783 2.4 Unattended Transfer 1785 User A User B User C 1786 | INVITE F1 | | 1787 |<-------------------| | 1788 | 180 Ringing F2 | | 1789 |------------------->| | 1790 | 200 OK F3 | | 1791 |------------------->| | 1792 | ACK F4 | | 1793 |<-------------------| | 1794 | RTP | | 1795 |<==================>| | 1796 | | | 1797 | A performs unattended transfer | 1798 | | | 1799 | REFER Refer-To:C F5| | 1800 |------------------->| | 1801 | 202 Accepted F6 | | 1802 |<-------------------| | 1803 | BYE F7 | | 1804 |------------------->| | 1805 | 200 OK F8 | | 1806 |<-------------------| | 1807 | No RTP Session | INVITE Referred-By: A F9 1808 | |------------------->| 1809 | | 180 Ringing F10 | 1810 | |<-------------------| 1811 | | 200 OK F11 | 1812 | |<-------------------| 1813 | | ACK F12 | 1814 | |------------------->| 1815 | | RTP | 1816 | |<==================>| 1817 | NOTIFY F13 | | 1818 |<-------------------| | 1819 | 200 OK F14 | | 1820 |------------------->| | 1821 | | | 1823 User B call User A. User A then transfers User B to User C, then 1824 User A disconnects with User B. User B establishes the session to C 1825 then reports the success back to A in the NOTIFY. If the transfer 1826 fails, User B can send a new INVITE back to A to re-establish the 1827 session. 1829 Note that the BYE could be sent by A after the NOTIFY. Also, if A 1830 has flushed all state information, the NOTIFY may receive a 481 Call 1831 Leg Does Not Exist. 1833 Message Details 1835 F1 INVITE B -> A 1837 INVITE sip:UserA@here.com SIP/2.0 1838 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1839 Max-Forwards: 70 1840 From: LittleGuy ;tag=314159 1841 To: BigGuy 1842 Call-ID: 12345601@here.com 1843 CSeq: 1 INVITE 1844 Contact: 1845 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1846 Supported: replaces 1847 Content-Type: application/sdp 1848 Content-Length: ... 1850 v=0 1851 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1852 s=Session SDP 1853 c=IN IP4 110.111.112.113 1854 t=3034423619 0 1855 m=audio 3456 RTP/AVP 0 1856 a=rtpmap:0 PCMU/8000 1858 F2 180 Ringing A -> B 1860 SIP/2.0 180 Ringing 1861 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1862 ;received=120.121.122.123 1863 From: LittleGuy ;tag=314159 1864 To: BigGuy ;tag=1234567 1865 Call-ID: 12345601@here.com 1866 CSeq: 1 INVITE 1867 Contact: 1868 Content-Length: 0 1870 F3 200 OK A -> B 1872 SIP/2.0 200 OK 1873 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1874 ;received=120.121.122.123 1875 From: LittleGuy ;tag=314159 1876 To: BigGuy ;tag=1234567 1877 Call-ID: 12345601@here.com 1878 CSeq: 1 INVITE 1879 Contact: 1880 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1881 Supported: replaces 1882 Content-Type: application/sdp 1883 Content-Length: ... 1885 v=0 1886 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1887 s=Session SDP 1888 c=IN IP4 100.101.102.103 1889 t=3034423619 0 1890 m=audio 49170 RTP/AVP 0 1891 a=rtpmap:0 PCMU/8000 1893 F4 ACK B -> A 1895 ACK sip:UserA@100.101.102.103 SIP/2.0 1896 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1897 Max-Forwards: 70 1898 From: LittleGuy ;tag=314159 1899 To: BigGuy ;tag=1234567 1900 Call-ID: 12345601@here.com 1901 CSeq: 1 ACK 1902 Content-Length: 0 1904 /* Session is established between A and B. */ 1906 /* A peforms unattended transfer of B to C */ 1908 F5 REFER A -> B 1910 REFER sip:UserB@110.111.112.113 SIP/2.0 1911 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1912 Max-Forwards: 70 1913 From: BigGuy ;tag=1234567 1914 To: LittleGuy ;tag=314159 1915 Call-ID: 12345601@here.com 1916 CSeq: 2 REFER 1917 Refer-To: 1918 Referred-By: 1919 Contact: 1920 Content-Length: 0 1922 F6 202 Accepted B -> A 1924 SIP/2.0 202 Accepted 1925 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1926 ;received=120.121.122.123 1927 From: BigGuy ;tag=1234567 1928 To: LittleGuy ;tag=314159 1929 Call-ID: 12345601@here.com 1930 CSeq: 2 REFER 1931 Content-Length: 0 1933 /* A now disconnects with B */ 1935 F7 BYE A -> B 1937 BYE sip:UserB@110.111.112.113 SIP/2.0 1938 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1939 Max-Forwards: 70 1940 From: BigGuy ;tag=1234567 1941 To: LittleGuy ;tag=314159 1942 Call-ID: 12345601@here.com 1943 CSeq: 3 BYE 1944 Content-Length: 0 1946 F8 200 OK B -> A 1948 SIP/2.0 200 OK 1949 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1950 ;received=120.121.122.123 1951 From: BigGuy ;tag=1234567 1952 To: LittleGuy ;tag=314159 1953 Call-ID: 12345601@here.com 1954 CSeq: 3 BYE 1955 Content-Length: 0 1957 /* B attempts the transfer to C */ 1959 F9 INVITE B -> C 1961 INVITE sip:UserC@anywhere.com SIP/2.0 1962 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1963 Max-Forwards: 70 1964 From: LittleGuy ;tag=8675309 1965 To: OtherGuy 1966 Call-ID: 7436222@here.com 1967 CSeq: 1 INVITE 1968 Contact: 1969 Referred-By: 1970 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 1971 Supported: replaces 1972 Content-Type: application/sdp 1973 Content-Length: ... 1975 v=0 1976 o=UserB 2890844539 2890844539 IN IP4 client.there.com 1977 s=Session SDP 1978 c=IN IP4 110.111.112.113 1979 t=3034423821 0 1980 m=audio 3458 RTP/AVP 0 1981 a=rtpmap:0 PCMU/8000 1983 F10 180 Ringing C -> B 1985 SIP/2.0 180 Ringing 1986 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1987 ;received=120.121.122.123 1988 From: LittleGuy ;tag=8675309 1989 To: OtherGuy ;tag=928287 1990 Call-ID: 7436222@here.com 1991 CSeq: 1 INVITE 1992 Contact: 1993 Content-Length: 0 1995 F11 200 OK C -> B 1997 SIP/2.0 200 OK 1998 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1999 ;received=120.121.122.123 2000 From: LittleGuy ;tag=8675309 2001 To: OtherGuy ;tag=928287 2002 Call-ID: 7436222@here.com 2003 CSeq: 1 INVITE 2004 Contact: 2005 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2006 Supported: replaces 2007 Content-Type: application/sdp 2008 Content-Length: ... 2010 v=0 2011 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com 2012 s=Session SDP 2013 c=IN IP4 120.121.122.123 2014 t=3034423619 0 2015 m=audio 3456 RTP/AVP 0 2016 a=rtpmap:0 PCMU/8000 2018 F12 ACK B -> C 2020 ACK sip:UserC@120.121.122.123 SIP/2.0 2021 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2022 Max-Forwards: 70 2023 From: LittleGuy ;tag=8675309 2024 To: OtherGuy ;tag=928287 2025 Call-ID: 7436222@here.com 2026 CSeq: 1 ACK 2027 Content-Length: 0 2028 /* B and C now have established a session. B reports success to A 2029 which A probably ignores. */ 2031 F13 NOTIFY B -> A 2033 NOTIFY sip:UserA@100.101.102.103 SIP/2.0 2034 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2035 Max-Forwards: 70 2036 From: LittleGuy ;tag=314159 2037 To: BigGuy ;tag=1234567 2038 Call-ID: 12345601@here.com 2039 CSeq: 2 NOTIFY 2040 Event: refer 2041 Content-Type: application/sip 2042 Content-Length: ... 2044 SIP/2.0 200 OK 2045 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2046 ;received=120.121.122.123 2047 From: LittleGuy ;tag=8675309 2048 To: OtherGuy ;tag=928287 2049 Call-ID: 7436222@here.com 2050 CSeq: 1 INVITE 2051 Contact: 2052 Content-Type: application/sdp 2053 Content-Length: ... 2055 F14 200 OK A -> B 2057 SIP/2.0 200 OK 2058 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2059 ;received=120.121.122.123 2060 From: LittleGuy ;tag=314159 2061 To: BigGuy ;tag=1234567 2062 Call-ID: 12345601@here.com 2063 CSeq: 2 NOTIFY 2064 Content-Length: 0 2066 2.5 Attended Transfer 2068 User A User B User C 2069 | | | 2070 | INVITE F1 | | 2071 |--------------->| | 2072 | 180 Ringing F2 | | 2073 |<---------------| | 2074 | 200 OK F3 | | 2075 |<---------------| | 2076 | ACK F4 | | 2077 |--------------->| | 2078 | RTP | | 2079 |<==============>| | 2080 |INVITE (hold) F5| | 2081 |<---------------| | 2082 | 200 OK F6 | | 2083 |--------------->| | 2084 | ACK F7 | | 2085 |<---------------| | 2086 | No RTP | | 2087 | | INVITE F8 | 2088 | |------------->| 2089 | | 180 Ringing F9 2090 | |<-------------| 2091 | | 200 OK F10 | 2092 | |<-------------| 2093 | | ACK F11 | 2094 | |------------->| 2095 | | RTP | 2096 | |<============>| 2097 | |INVITE (hold) F12 2098 | |------------->| 2099 | | 200 OK F13 | 2100 | |<-------------| 2101 | | ACK F14 | 2102 | |------------->| 2103 | | No RTP | 2104 | REFER Refer-To: C F15 | 2105 |<---------------| | 2106 |202 Accepted F16| | 2107 |--------------->| | 2108 | INVITE Replaces: B F17 | 2109 |------------------------------>| 2110 | 200 OK F18 | 2111 |<------------------------------| 2112 | ACK F19 | 2113 |------------------------------>| 2114 | RTP | 2115 |<=============================>| 2116 | | BYE F20 | 2117 | |<-------------| 2118 | | 200 OK F21 | 2119 | |------------->| 2120 | NOTIFY F22 | | 2121 |--------------->| | 2122 | 200 OK F23 | | 2123 |<---------------| | 2124 | BYE F24 | | 2125 |<---------------| | 2126 | 200 OK F25 | | 2127 |--------------->| | 2129 User A calls User B. User B puts User A on hold then calls User C to 2130 announce transfer, then places C on hold. User B transfers User A to 2131 User C which replaces the session between B and C. C then 2132 disconnects session with B. A reports success of transfer to B, who 2133 then disconnects with A. In this example, the Replaces header [5] is 2134 inserted into the Refer-To URL by B. The Accept-Contact header [6] 2135 is also used to ensure that the triggered INVITE reaches the same 2136 instance of the User C. 2138 For further details on types of call transfers, refer to [9]. 2140 Message Details 2142 F1 INVITE A -> B 2144 INVITE sip:UserB@there.com SIP/2.0 2145 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2146 Max-Forwards: 70 2147 From: BigGuy ;tag=1234567 2148 To: LittleGuy 2149 Call-ID: 12345600@here.com 2150 CSeq: 1 INVITE 2151 Contact: 2152 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2153 Supported: replaces 2154 Content-Type: application/sdp 2155 Content-Length: ... 2157 v=0 2158 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2159 s=Session SDP 2160 c=IN IP4 100.101.102.103 2161 t=3034423619 0 2162 m=audio 49170 RTP/AVP 0 2163 a=rtpmap:0 PCMU/8000 2165 F2 180 Ringing B -> A 2166 SIP/2.0 180 Ringing 2167 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2168 ;received=100.101.102.103 2169 From: BigGuy ;tag=1234567 2170 To: LittleGuy ;tag=23431 2171 Call-ID: 12345600@here.com 2172 CSeq: 1 INVITE 2173 Contact: 2174 Content-Length: 0 2176 F3 200 OK B -> A 2178 SIP/2.0 200 OK 2179 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2180 ;received=100.101.102.103 2181 From: BigGuy ;tag=1234567 2182 To: LittleGuy ;tag=23431 2183 Call-ID: 12345600@here.com 2184 CSeq: 1 INVITE 2185 Contact: 2186 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2187 Supported: replaces 2188 Content-Type: application/sdp 2189 Content-Length: ... 2191 v=0 2192 o=UserB 2890844527 2890844527 IN IP4 client.there.com 2193 s=Session SDP 2194 c=IN IP4 110.111.112.113 2195 t=3034423619 0 2196 m=audio 3456 RTP/AVP 0 2197 a=rtpmap:0 PCMU/8000 2199 F4 ACK A -> B 2201 ACK sip:UserB@110.111.112.113 SIP/2.0 2202 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2203 Max-Forwards: 70 2204 From: BigGuy ;tag=1234567 2205 To: LittleGuy ;tag=23431 2206 Call-ID: 12345600@here.com 2207 CSeq: 1 ACK 2208 Content-Length: 0 2210 /* User A and User B have established a session. User B puts User A 2211 on Hold */ 2213 F5 INVITE B -> A 2214 INVITE sip:UserA@100.101.102.103 SIP/2.0 2215 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2216 Max-Forwards: 70 2217 From: LittleGuy ;tag=23431 2218 To: BigGuy ;tag=1234567 2219 Call-ID: 12345600@here.com 2220 CSeq: 1024 INVITE 2221 Contact: 2222 Content-Type: application/sdp 2223 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2224 Supported: replaces 2225 Content-Length: ... 2227 v=0 2228 o=UserB 2890844527 2890844528 IN IP4 client.there.com 2229 s=Session SDP 2230 c=IN IP4 110.111.112.113 2231 t=3034423619 0 2232 m=audio 3456 RTP/AVP 0 2233 a=rtpmap:0 PCMU/8000 2234 a=sendonly 2236 F6 200 OK A -> B 2238 SIP/2.0 200 OK 2239 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2240 ;received=120.121.122.123 2241 From: LittleGuy ;tag=23431 2242 To: BigGuy ;tag=1234567 2243 Call-ID: 12345600@here.com 2244 CSeq: 1024 INVITE 2245 Contact: 2246 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2247 Supported: replaces 2248 Content-Type: application/sdp 2249 Content-Length: ... 2251 v=0 2252 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2253 s=Session SDP 2254 c=IN IP4 100.101.102.103 2255 t=3034423619 0 2256 m=audio 49170 RTP/AVP 0 2257 a=rtpmap:0 PCMU/8000 2259 F7 ACK B -> A 2261 ACK sip:UserA@100.101.102.103 SIP/2.0 2262 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2263 Max-Forwards: 70 2264 From: LittleGuy ;tag=23431 2265 To: BigGuy ;tag=1234567 2266 Call-ID: 12345600@here.com 2267 CSeq: 1024 ACK 2268 Content-Length: 0 2270 /* User B calls User C */ 2272 F8 INVITE B -> C 2274 INVITE sip:UserC@anywhere.com SIP/2.0 2275 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2276 Max-Forwards: 70 2277 From: LittleGuy ;tag=8675309 2278 To: OtherGuy 2279 Call-ID: sdjfdjfskdf@there.com 2280 CSeq: 42 INVITE 2281 Contact: 2282 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2283 Supported: replaces 2284 Content-Type: application/sdp 2285 Content-Length: ... 2287 v=0 2288 o=UserB 28908445834 2890844834 IN IP4 client.there.com 2289 s=Session SDP 2290 c=IN IP4 110.111.112.113 2291 t=3034423645 0 2292 m=audio 3458 RTP/AVP 0 2293 a=rtpmap:0 PCMU/8000 2295 F9 180 Ringing C -> B 2297 SIP/2.0 180 Ringing 2298 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2299 ;received=120.121.122.123 2300 From: LittleGuy ;tag=8675309 2301 To: OtherGuy ;tag=5f35a3 2302 Call-ID: sdjfdjfskdf@there.com 2303 CSeq: 42 INVITE 2304 Contact: 2305 Content-Length: 0 2307 F10 200 OK C -> B 2309 SIP/2.0 200 OK 2310 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2311 ;received=120.121.122.123 2312 From: LittleGuy ;tag=8675309 2313 To: OtherGuy ;tag=5f35a3 2314 Call-ID: sdjfdjfskdf@there.com 2315 CSeq: 42 INVITE 2316 Contact: 2317 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2318 Supported: replaces 2319 Content-Type: application/sdp 2320 Content-Length: ... 2322 v=0 2323 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 2324 s=Session SDP 2325 c=IN IP4 120.121.122.123 2326 t=3034423619 0 2327 m=audio 3456 RTP/AVP 0 2328 a=rtpmap:0 PCMU/8000 2330 F11 ACK B -> C 2332 ACK sip:UserC@120.121.122.123 SIP/2.0 2333 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2334 Max-Forwards: 70 2335 From: LittleGuy ;tag=8675309 2336 To: OtherGuy ;tag=5f35a3 2337 Call-ID: sdjfdjfskdf@there.com 2338 CSeq: 42 ACK 2339 Content-Length: 0 2341 /* User B puts User C on hold */ 2343 F12 INVITE B -> C 2345 INVITE sip:UserC@120.121.122.123 SIP/2.0 2346 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2347 Max-Forwards: 70 2348 From: LittleGuy ;tag=8675309 2349 To: OtherGuy ;tag=5f35a3 2350 Call-ID: sdjfdjfskdf@there.com 2351 CSeq: 43 INVITE 2352 Contact: 2353 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2354 Supported: replaces 2355 Content-Type: application/sdp 2356 Content-Length: ... 2358 v=0 2359 o=UserB 289084834 2890844835 IN IP4 client.there.com 2360 s=Session SDP 2361 c=IN IP4 110.111.112.113 2362 t=3034423645 0 2363 m=audio 3458 RTP/AVP 0 2364 a=rtpmap:0 PCMU/8000 2365 a=sendonly 2367 F13 200 OK C -> B 2369 SIP/2.0 200 OK 2370 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2371 ;received=120.121.122.123 2372 From: LittleGuy ;tag=8675309 2373 To: OtherGuy ;tag=5f35a3 2374 Call-ID: sdjfdjfskdf@there.com 2375 CSeq: 43 INVITE 2376 Contact: 2377 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2378 Supported: replaces 2379 Content-Type: application/sdp 2380 Content-Length: ... 2382 v=0 2383 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 2384 s=Session SDP 2385 c=IN IP4 120.121.122.123 2386 t=3034423619 0 2387 m=audio 3456 RTP/AVP 0 2388 a=rtpmap:0 PCMU/8000 2390 F14 ACK B -> C 2392 ACK sip:UserC@120.121.122.123 SIP/2.0 2393 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2394 Max-Forwards: 70 2395 From: LittleGuy ;tag=8675309 2396 To: OtherGuy ;tag=5f35a3 2397 Call-ID: sdjfdjfskdf@there.com 2398 CSeq: 43 ACK 2399 Content-Length: 0 2401 /* User B Transfers User A to User C. */ 2403 F15 REFER B -> A 2405 REFER sip:UserA@100.101.102.103 SIP/2.0 2406 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2407 Max-Forwards: 70 2408 From: LittleGuy ;tag=23431 2409 To: BigGuy ;tag=1234567 2410 Call-ID: 12345678900@here.com 2411 CSeq: 1025 REFER 2412 Refer-To: 2415 Referred-By: 2416 Contact: 2417 Content-Length: 0 2419 F16 202 Accepted A -> B 2421 SIP/2.0 202 Accepted 2422 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2423 ;received=120.121.122.123 2424 From: LittleGuy ;tag=1234567 2425 To: BigGuy ;tag=23431 2426 Call-ID: 12345678900@here.com 2427 CSeq: 1025 REFER 2428 Content-Length: 0 2430 /* User A establishes session with User C which replaces the session 2431 between User B and User C */ 2433 F17 INVITE A -> C 2435 INVITE sip:UserA@here.com SIP/2.0 2436 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKadfe4ko 2437 To: OtherGuy 2438 Max-Forwards: 70 2439 From: BigGuy ;tag=3461 2440 Call-ID: 9435674543@here.com 2441 CSeq: 1 INVITE 2442 Referred-By: 2443 Accept-Contact: ;only=true 2444 Replaces: 12345600@here.com;to-tag=23431;from-tag=8675309 2445 Contact: 2446 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2447 Supported: replaces 2448 Content-Type: application/sdp 2449 Content-Length: ... 2451 v=0 2452 o=UserC 2890844989 2890844989 IN IP4 client.anywhere.com 2453 s=Session SDP 2454 c=IN IP4 120.121.122.123 2455 t=3034423643 0 2456 m=audio 3458 RTP/AVP 0 2457 a=rtpmap:0 PCMU/8000 2459 F18 200 OK C -> A 2461 SIP/2.0 200 OK 2462 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKadfe4ko 2463 ;received=120.121.122.123 2464 To: OtherGuy ;tag=ff3a 2465 From: BigGuy ;tag=3461 2466 Call-ID: 9435674543@here.com 2467 CSeq: 1 INVITE 2468 Contact: 2469 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 2470 Supported: replaces 2471 Content-Type: application/sdp 2472 Content-Length: ... 2474 v=0 2475 o=UserA 2890844221 2890844221 IN IP4 client.here.com 2476 s=Session SDP 2477 c=IN IP4 100.101.102.103 2478 t=3034423452 0 2479 m=audio 49172 RTP/AVP 0 2480 a=rtpmap:0 PCMU/8000 2482 F19 ACK A -> C 2484 ACK sip:UserC@120.121.122.123 SIP/2.0 2485 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKadfe4ko 2486 To: OtherGuy ;tag=ff3a 2487 Max-Forwards: 70 2488 From: BigGuy ;tag=3461 2489 Call-ID: 9435674543@here.com 2490 CSeq: 1 INVITE 2491 Content-Length: 0 2493 /* User C then disconnects from User B */ 2495 F20 BYE C -> B 2497 BYE sip:UserB@110.111.112.113 SIP/2.0 2498 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2499 To: LittleGuy ;tag=8675309 2500 Max-Forwards: 70 2501 From: OtherGuy ;tag=5f35a3 2502 Call-ID: sdjfdjfskdf@there.com 2503 CSeq: 1 BYE 2504 Content-Length: 0 2506 F21 200 OK B -> C 2508 SIP/2.0 200 OK 2509 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2510 ;received=100.101.102.103 2512 To: LittleGuy ;tag=8675309 2513 From: OtherGuy ;tag=5f35a3 2514 Call-ID: sdjfdjfskdf@there.com 2515 CSeq: 1 BYE 2516 Content-Length: 0 2518 /* User A tells User B that the call has been successfully 2519 transferred */ 2521 F22 NOTIFY A -> B 2523 NOTIFY sip:UserB@110.111.112.113 SIP/2.0 2524 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2525 Max-Forwards: 70 2526 From: BigGuy ;tag=1234567 2527 To: LittleGuy ;tag=23431 2528 Call-ID: 12345678900@here.com 2529 CSeq: 2 NOTIFY 2530 Content-Type: application/sdp 2531 Content-Length: ... 2533 SIP/2.0 200 OK 2534 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bKadfe4ko 2535 ;received=120.121.122.123 2536 From: OtherGuy ;tag=ff3a 2537 To: BigGuy ;tag=3461 2538 Call-ID: 9435674543@anywhere.com 2539 CSeq: 1 INVITE 2540 Contact: 2542 F23 200 OK B -> C 2544 SIP/2.0 200 OK 2545 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2546 ;received=100.101.102.103 2547 To: LittleGuy ;tag=1234567 2548 From: OtherGuy ;tag=5f35a3 2549 Call-ID: 12345678900@here.com 2550 CSeq: 2 NOTIFY 2551 Content-Length: 0 2553 /* User B disconnects with User A */ 2555 F24 BYE B -> A 2557 BYE sip:UserA@100.101.102.103 SIP/2.0 2558 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2559 Max-Forwards: 70 2560 From: LittleGuy ;tag=23431 2561 To: BigGuy ;tag=1234567 2562 Call-ID: 12345678900@here.com 2563 CSeq: 1026 BYE 2564 Content-Length: 0 2566 F25 200 OK A -> B 2568 SIP/2.0 200 OK 2569 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2570 ;received=120.121.122.123 2571 From: LittleGuy ;tag=23431 2572 To: BigGuy ;tag=1234567 2573 Call-ID: 12345678900@here.com 2574 CSeq: 1026 BYE 2575 Content-Length: 0 2577 2.6 Call Forwarding Unconditional 2579 User A Proxy Gateway 2580 | | | 2581 | INVITE F1 | | 2582 |--------------->| INVITE F2 | 2583 |(100 Trying) F3 |------------->| 2584 |<---------------|180 Ringing F4| 2585 | 180 Ringing F5 |<-------------| 2586 |<---------------| 200 OK F6 | 2587 | 200 OK F7 |<-------------| 2588 |<---------------| | 2589 | ACK F8 | | 2590 |--------------->| ACK F9 | 2591 | |------------->| 2592 | Both way RTP Established | 2593 |<=============================>| 2594 | BYE F10 | | 2595 |--------------->| BYE F11 | 2596 | |------------->| 2597 | | 200 OK F12 | 2598 | 200 OK F13 |<-------------| 2599 |<---------------| | 2600 | | | 2602 User B wants all calls forwarded to the PSTN. User A calls User B. 2603 The Proxy server rewrites the request URI, and forwards the INVITE to 2604 a Gateway. Details of messaging behind the Gateway are not shown. 2606 Message Details 2608 F1 INVITE A -> Proxy 2610 INVITE sip:UserB@there.com SIP/2.0 2611 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2612 Max-Forwards: 70 2613 From: BigGuy ;tag=1234567 2614 To: LittleGuy 2615 Call-ID: 12345600@here.com 2616 CSeq: 1 INVITE 2617 Contact: 2618 Content-Type: application/sdp 2619 Content-Length: ... 2621 v=0 2622 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2623 s=Session SDP 2624 c=IN IP4 100.101.102.103 2625 t=3034423619 0 2626 m=audio 49170 RTP/AVP 0 2627 a=rtpmap:0 PCMU/8000 2629 /* Proxy forwards call by rewriting Request-URI */ 2631 F2 INVITE Proxy -> Gateway 2633 INVITE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2634 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2635 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2636 ;received=100.101.102.103 2637 Record-Route: 2638 Max-Forwards: 69 2639 From: BigGuy ;tag=1234567 2640 To: LittleGuy 2641 Call-ID: 12345600@here.com 2642 CSeq: 1 INVITE 2643 Contact: 2644 Content-Type: application/sdp 2645 Content-Length: ... 2647 v=0 2648 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2649 s=Session SDP 2650 c=IN IP4 100.101.102.103 2651 t=3034423619 0 2652 m=audio 49170 RTP/AVP 0 2653 a=rtpmap:0 PCMU/8000 2655 F3 (100 Trying) Proxy -> A 2657 SIP/2.0 100 Trying 2658 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2659 ;received=100.101.102.103 2660 From: BigGuy ;tag=1234567 2661 To: LittleGuy 2662 Call-ID: 12345600@here.com 2663 CSeq: 1 INVITE 2664 Content-Length: 0 2666 F4 180 Ringing Gateway -> Proxy 2668 SIP/2.0 180 Ringing 2669 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2670 ;received=1.2.3.4 2671 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2672 ;received=100.101.102.103 2673 Record-Route: 2674 From: BigGuy ;tag=1234567 2675 To: LittleGuy ;tag=314159 2676 Call-ID: 12345600@here.com 2677 CSeq: 1 INVITE 2678 Contact: 2679 Content Length:0 2681 F5 180 Ringing Proxy -> A 2683 SIP/2.0 180 Ringing 2684 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2685 ;received=100.101.102.103 2686 Record-Route: 2687 From: BigGuy ;tag=1234567 2688 To: LittleGuy ;tag=314159 2689 Call-ID: 12345600@here.com 2690 CSeq: 1 INVITE 2691 Contact: 2692 Content Length: 0 2694 F6 200 OK Gateway -> Proxy 2696 SIP/2.0 200 OK 2697 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2698 ;received=1.2.3.4 2699 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2700 ;received=100.101.102.103 2701 Record-Route: 2702 From: BigGuy ;tag=1234567 2703 To: LittleGuy ;tag=314159 2704 Call-ID: 12345600@here.com 2705 CSeq: 1 INVITE 2706 Contact: 2707 Content-Type: application/sdp 2708 Content-Length: ... 2710 v=0 2711 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 2712 s=Session SDP 2713 c=IN IP4 gatewayone.wcom.com 2714 t=0 0 2715 m=audio 3456 RTP/AVP 0 2716 a=rtpmap:0 PCMU/8000 2718 F7 200 OK Proxy -> A 2720 SIP/2.0 200 OK 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 F8 ACK A -> Proxy 2742 ACK sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2743 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2744 Route: 2745 Max-Forwards: 70 2746 From: BigGuy ;tag=1234567 2747 To: LittleGuy ;tag=314159 2748 Call-ID: 12345600@here.com 2749 CSeq: 1 ACK 2750 Content-Length: 0 2752 F9 ACK Proxy -> Gateway 2754 ACK sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2755 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2756 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2757 ;received=100.101.102.103 2758 Max-Forwards: 69 2759 From: BigGuy ;tag=1234567 2760 To: LittleGuy ;tag=314159 2761 Call-ID: 12345600@here.com 2762 CSeq: 1 ACK 2763 Content-Length: 0 2765 F10 BYE A -> Proxy 1 2767 BYE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2768 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2769 Route: 2770 Max-Forwards: 70 2771 From: BigGuy ;tag=1234567 2772 To: LittleGuy ;tag=314159 2773 Call-ID: 12345600@here.com 2774 CSeq: 2 BYE 2775 Content-Length: 0 2777 F11 BYE Proxy 1 -> Gateway 2779 BYE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2780 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2781 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2782 ;received=100.101.102.103 2783 Max-Forwards: 69 2784 From: BigGuy ;tag=1234567 2785 To: LittleGuy ;tag=314159 2786 Call-ID: 12345600@here.com 2787 CSeq: 2 BYE 2788 Content-Length: 0 2790 F12 200 OK Gateway -> Proxy 1 2792 SIP/2.0 200 OK 2793 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2794 ;received=1.2.3.4 2795 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2796 ;received=100.101.102.103 2797 From: BigGuy ;tag=1234567 2798 To: LittleGuy ;tag=314159 2799 Call-ID: 12345600@here.com 2800 CSeq: 2 BYE 2801 Content-Length: 0 2803 F13 200 OK Proxy 1 -> A 2805 SIP/2.0 200 OK 2806 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2807 ;received=100.101.102.103 2808 From: BigGuy ;tag=1234567 2809 To: LittleGuy ;tag=314159 2810 Call-ID: 12345600@here.com 2811 CSeq: 2 BYE 2812 Content-Length: 0 2814 2.7 Call Forwarding - Busy 2816 User A Proxy User B1 User B2 2817 | | | | 2818 | INVITE F1 | | | 2819 |--------------->| INVITE F2 | | 2820 | |------------->| | 2821 |(100 Trying) F3 | | | 2822 |<---------------| 486 Busy F4 | | 2823 | |<-------------| | 2824 | | ACK F5 | | 2825 | |------------->| | 2826 | | | INVITE F6 | 2827 | |--------------------------------->| 2828 | | | 180 Ringing F7 | 2829 | |<---------------------------------| 2830 | 180 Ringing F8 | | | 2831 |<---------------| | 200 OK F9 | 2832 | |<---------------------------------| 2833 | 200 OK F10 | | | 2834 |<---------------| | | 2835 | ACK F11 | | | 2836 |--------------->| | ACK F12 | 2837 | |--------------------------------->| 2838 | Both way RTP Established | 2839 |<=================================================>| 2840 | BYE F13 | | | 2841 |--------------->| | BYE F14 | 2842 | |--------------------------------->| 2843 | | | 200 OK F15 | 2844 | 200 OK F16 |<---------------------------------| 2845 |<---------------| | | 2846 | | | | 2848 User B wants calls to B1 forwarded to B2 if B1 is busy (this 2849 information is known to the proxy). User A calls B1, B1 is busy, the 2850 proxy server places call to B2. 2852 Message Details 2854 F1 INVITE A -> Proxy 2856 INVITE sip:UserB@there.com SIP/2.0 2857 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2858 Max-Forwards: 70 2859 From: BigGuy ;tag=1234567 2860 To: LittleGuy 2861 Call-ID: 12345600@here.com 2862 CSeq: 1 INVITE 2863 Contact: 2864 Content-Type: application/sdp 2865 Content-Length: ... 2867 v=0 2868 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2869 s=Session SDP 2870 c=IN IP4 100.101.102.103 2871 t=0 0 2872 m=audio 49170 RTP/AVP 0 2873 a=rtpmap:0 PCMU/8000 2875 F2 INVITE Proxy -> B1 2877 INVITE sip:UserB@110.111.112.113 SIP/2.0 2878 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2879 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2880 ;received=100.101.102.103 2881 Record-Route: 2882 Max-Forwards: 69 2883 From: BigGuy ;tag=1234567 2884 To: LittleGuy 2885 Call-ID: 12345600@here.com 2886 CSeq: 1 INVITE 2887 Contact: 2888 Content-Type: application/sdp 2889 Content-Length: ... 2891 v=0 2892 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2893 s=Session SDP 2894 c=IN IP4 100.101.102.103 2895 t=0 0 2896 m=audio 49170 RTP/AVP 0 2897 a=rtpmap:0 PCMU/8000 2899 F3 (100 Trying) Proxy -> A 2901 SIP/2.0 100 Trying 2902 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2903 ;received=100.101.102.103 2904 From: BigGuy ;tag=1234567 2905 To: LittleGuy 2906 Call-ID: 12345600@here.com 2907 CSeq: 1 INVITE 2908 Content-Length: 0 2910 F4 486 Busy Here B1 -> Proxy 2912 SIP/2.0 486 Busy Here 2913 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2914 ;received=1.2.3.4 2915 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2916 ;received=100.101.102.103 2917 From: BigGuy ;tag=1234567 2918 To: LittleGuy ;tag=765432 2919 Call-ID: 12345600@here.com 2920 CSeq: 1 INVITE 2921 Content-Length: 0 2923 F5 ACK Proxy -> B1 2925 ACK sip:UserB@110.111.112.113 SIP/2.0 2926 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 2927 Max-Forwards: 70 2928 From: BigGuy ;tag=1234567 2929 To: LittleGuy ;tag=765432 2930 Call-ID: 12345600@here.com 2931 CSeq: 1 ACK 2932 Content-Length: 0 2934 /* The proxy now forwards the call to B2 */ 2936 F6 INVITE Proxy -> B2 2938 INVITE sip:UserB2@110.111.112.114 SIP/2.0 2939 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 2940 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2941 ;received=100.101.102.103 2942 Record-Route: 2943 Max-Forwards: 69 2944 From: BigGuy ;tag=1234567 2945 To: LittleGuy 2946 Call-ID: 12345600@here.com 2947 CSeq: 1 INVITE 2948 Contact: 2949 Content-Type: application/sdp 2950 Content-Length: ... 2952 v=0 2953 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2954 s=Session SDP 2955 c=IN IP4 100.101.102.103 2956 t=0 0 2957 m=audio 49170 RTP/AVP 0 2958 a=rtpmap:0 PCMU/8000 2960 F7 180 Ringing B2 -> Proxy 2961 SIP/2.0 180 Ringing 2962 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 2963 ;received=1.2.3.4 2964 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2965 ;received=100.101.102.103 2966 Record-Route: 2967 From: BigGuy ;tag=1234567 2968 To: LittleGuy ;tag=7654321 2969 Call-ID: 12345600@here.com 2970 CSeq: 1 INVITE 2971 Contact: 2972 Content-Length: 0 2974 F8 180 Ringing Proxy -> A 2976 SIP/2.0 180 Ringing 2977 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2978 ;received=100.101.102.103 2979 Record-Route: 2980 From: BigGuy ;tag=1234567 2981 To: LittleGuy ;tag=7654321 2982 Call-ID: 12345600@here.com 2983 CSeq: 1 INVITE 2984 Contact: 2985 Content-Length: 0 2987 F9 200 OK B2 -> Proxy 2989 SIP/2.0 200 OK 2990 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 2991 ;received=1.2.3.4 2992 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2993 ;received=100.101.102.103 2994 Record-Route: 2995 From: BigGuy ;tag=1234567 2996 To: LittleGuy ;tag=7654321 2997 Call-ID: 12345600@here.com 2998 CSeq: 1 INVITE 2999 Contact: 3000 Content-Type: application/sdp 3001 Content-Length: ... 3003 v=0 3004 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 3005 s=Session SDP 3006 c=IN IP4 110.111.112.114 3007 t=0 0 3008 m=audio 3456 RTP/AVP 0 3009 a=rtpmap:0 PCMU/8000 3010 F10 200 OK Proxy -> A 3012 SIP/2.0 200 OK 3013 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3014 ;received=100.101.102.103 3015 Record-Route: 3016 From: BigGuy ;tag=1234567 3017 To: LittleGuy ;tag=7654321 3018 Call-ID: 12345600@here.com 3019 CSeq: 1 INVITE 3020 Contact: 3021 Content-Type: application/sdp 3022 Content-Length: ... 3024 v=0 3025 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 3026 s=Session SDP 3027 c=IN IP4 110.111.112.114 3028 t=0 0 3029 m=audio 3456 RTP/AVP 0 3030 a=rtpmap:0 PCMU/8000 3032 F11 ACK A -> Proxy 3034 ACK sip:UserB2@110.111.112.114 SIP/2.0 3035 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3036 Route: 3037 Max-Forwards: 70 3038 From: BigGuy ;tag=1234567 3039 To: LittleGuy ;tag=7654321 3040 Call-ID: 12345600@here.com 3041 CSeq: 1 ACK 3042 Content-Length: 0 3044 F12 ACK Proxy -> B2 3046 ACK sip:UserB2@110.111.112.114 SIP/2.0 3047 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3048 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3049 ;received=100.101.102.103 3050 Max-Forwards: 69 3051 From: BigGuy ;tag=1234567 3052 To: LittleGuy ;tag=7654321 3053 Call-ID: 12345600@here.com 3054 CSeq: 1 ACK 3055 Content-Length: 0 3057 /* RTP streams are established between A and B2 */ 3058 /* User A eventually hangs up with User B2. */ 3060 F13 BYE A -> Proxy 3062 BYE sip:UserB2@110.111.112.114 SIP/2.0 3063 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3064 Route: 3065 Max-Forwards: 70 3066 From: BigGuy ;tag=1234567 3067 To: LittleGuy ;tag=7654321 3068 Call-ID: 12345600@here.com 3069 CSeq: 2 BYE 3070 Content-Length: 0 3072 F14 BYE Proxy -> B2 3074 BYE sip:UserB2@110.111.112.114 SIP/2.0 3075 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3076 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3077 ;received=100.101.102.103 3078 Max-Forwards: 69 3079 From: BigGuy ;tag=1234567 3080 To: LittleGuy ;tag=7654321 3081 Call-ID: 12345600@here.com 3082 CSeq: 2 BYE 3083 Content-Length: 0 3085 F15 200 OK B2 -> Proxy 3087 SIP/2.0 200 OK 3088 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3089 ;received=1.2.3.4 3090 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3091 ;received=100.101.102.103 3092 From: BigGuy ;tag=1234567 3093 To: LittleGuy ;tag=7654321 3094 Call-ID: 12345600@here.com 3095 CSeq: 2 BYE 3096 Content-Length: 0 3098 F16 200 OK Proxy -> A 3100 SIP/2.0 200 OK 3101 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3102 ;received=100.101.102.103 3103 From: BigGuy ;tag=1234567 3104 To: LittleGuy ;tag=7654321 3105 Call-ID: 12345600@here.com 3106 CSeq: 2 BYE 3107 Content-Length: 0 3109 2.8 Call Forwarding - No Answer 3111 User A Proxy User B1 User B2 3112 | | | | 3113 | INVITE F1 | | | 3114 |--------------->| INVITE F2 | | 3115 |(100 Trying) F3 |------------->| | 3116 |<---------------|180 Ringing F4| | 3117 | 180 Ringing F5 |<-------------| | 3118 |<---------------| | | 3119 | Request Timeout | 3120 | | | | 3121 | | CANCEL F6 | | 3122 | |------------->| | 3123 | | 200 OK F7 | | 3124 | |<-------------| | 3125 | | 487 F8 | | 3126 | |<-------------| | 3127 | | ACK F9 | | 3128 | |------------->| | 3129 | | | INVITE F10 | 3130 | |--------------------------------->| 3131 | | | 180 Ringing F11 | 3132 | 180 Ringing F12|<---------------------------------| 3133 |<---------------| | 200 OK F13 | 3134 | |<---------------------------------| 3135 | 200 OK F14 | | | 3136 |<---------------| | | 3137 | ACK F15 | | | 3138 |--------------->| | ACK F16 | 3139 | |--------------------------------->| 3140 | Both way RTP Established | 3141 |<=================================================>| 3142 | BYE F17 | | | 3143 |--------------->| | BYE F18 | 3144 | |--------------------------------->| 3145 | | | 200 OK F19 | 3146 | 200 OK F20 |<---------------------------------| 3147 |<---------------| | | 3148 | | | | 3150 User B wants calls to B1 forwarded to B2 if B1 is not answered 3151 (information is known to the proxy server). User A calls B1 and no 3152 one answers. The proxy server then places the call to B2. 3154 Message Details 3156 F1 INVITE A -> Proxy 3158 INVITE sip:UserB@there.com SIP/2.0 3159 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3160 Max-Forwards: 70 3161 From: BigGuy ;tag=1234567 3162 To: LittleGuy 3163 Call-ID: 12345600@here.com 3164 CSeq: 1 INVITE 3165 Contact: 3166 Content-Type: application/sdp 3167 Content-Length: ... 3169 v=0 3170 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3171 s=Session SDP 3172 c=IN IP4 100.101.102.103 3173 t=0 0 3174 m=audio 49170 RTP/AVP 0 3175 a=rtpmap:0 PCMU/8000 3177 F2 INVITE Proxy -> B1 3179 INVITE sip:UserB1@110.111.112.113 SIP/2.0 3180 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3181 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3182 ;received=100.101.102.103 3183 Record-Route: 3184 Max-Forwards: 69 3185 From: BigGuy ;tag=1234567 3186 To: LittleGuy 3187 Call-ID: 12345600@here.com 3188 CSeq: 1 INVITE 3189 Contact: 3190 Content-Type: application/sdp 3191 Content-Length: ... 3193 v=0 3194 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3195 s=Session SDP 3196 c=IN IP4 100.101.102.103 3197 t=0 0 3198 m=audio 49170 RTP/AVP 0 3199 a=rtpmap:0 PCMU/8000 3201 F3 (100 Trying) Proxy -> A 3203 SIP/2.0 100 Trying 3204 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3205 ;received=100.101.102.103 3206 From: BigGuy ;tag=1234567 3207 To: LittleGuy 3208 Call-ID: 12345600@here.com 3209 CSeq: 1 INVITE 3210 Content-Length: 0 3212 F4 180 Ringing B1 -> Proxy 3214 SIP/2.0 180 Ringing 3215 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3216 ;received=1.2.3.4 3217 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3218 ;received=100.101.102.103 3219 Record-Route: 3220 From: BigGuy ;tag=1234567 3221 To: LittleGuy ;tag=3145678 3222 Call-ID: 12345600@here.com 3223 CSeq: 1 INVITE 3224 Contact: 3225 Content-Length: 0 3227 F5 180 Ringing Proxy -> A 3229 SIP/2.0 180 Ringing 3230 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3231 ;received=100.101.102.103 3232 Record-Route: 3233 From: BigGuy ;tag=1234567 3234 To: LittleGuy ;tag=3145678 3235 Call-ID: 12345600@here.com 3236 CSeq: 1 INVITE 3237 Contact: 3238 Content-Length: 0 3240 /* B1 rings until a configurable timer expires in the Proxy. The 3241 Proxy sends Cancel and proceeds down the list of routes. */ 3243 F6 CANCEL Proxy -> B1 3245 CANCEL sip:UserB1@110.111.112.113 SIP/2.0 3246 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3247 Max-Forwards: 70 3248 From: BigGuy 3249 To: LittleGuy 3250 Call-ID: 12345600@here.com 3251 CSeq: 1 CANCEL 3252 Content-Length: 0 3254 F7 200 OK B1 -> Proxy 3256 SIP/2.0 200 OK 3257 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3258 ;received=1.2.3.4 3259 From: BigGuy 3260 To: LittleGuy 3261 Call-ID: 12345600@here.com 3262 CSeq: 1 CANCEL 3263 Content-Length: 0 3265 F8 487 Request Terminated B1 -> Proxy 3267 SIP/2.0 487 Request Terminated 3268 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3269 ;received=1.2.3.4 3270 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3271 ;received=100.101.102.103 3272 From: BigGuy ;tag=1234567 3273 To: LittleGuy ;tag=3145678 3274 Call-ID: 12345600@here.com 3275 CSeq: 1 INVITE 3276 Content-Length: 0 3278 F9 ACK Proxy -> B1 3280 ACK sip:UserB@110.111.112.113 SIP/2.0 3281 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3282 Max-Forwards: 70 3283 From: BigGuy ;tag=1234567 3284 To: LittleGuy ;tag=3145678 3285 Call-ID: 12345600@here.com 3286 CSeq: 1 ACK 3287 Content-Length: 0 3289 F10 INVITE Proxy -> B2 3291 INVITE sip:UserB2@110.111.112.114 SIP/2.0 3292 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3293 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3294 ;received=100.101.102.103 3295 Record-Route: 3296 Max-Forwards: 69 3297 From: BigGuy ;tag=1234567 3298 To: LittleGuy 3299 Call-ID: 12345600@here.com 3300 CSeq: 1 INVITE 3301 Contact: 3302 Content-Type: application/sdp 3303 Content-Length: ... 3305 v=0 3306 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3307 s=Session SDP 3308 c=IN IP4 100.101.102.103 3309 t=0 0 3310 m=audio 49170 RTP/AVP 0 3311 a=rtpmap:0 PCMU/8000 3313 F11 180 Ringing B2 -> Proxy 3315 SIP/2.0 180 Ringing 3316 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3317 ;received=1.2.3.4 3318 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3319 ;received=100.101.102.103 3320 Record-Route: 3321 From: BigGuy ;tag=1234567 3322 To: LittleGuy ;tag=765432 3323 Call-ID: 12345600@here.com 3324 CSeq: 1 INVITE 3325 Contact: 3326 Content-Length: 0 3328 F12 180 Proxy -> A 3330 SIP/2.0 180 Ringing 3331 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3332 ;received=100.101.102.103 3333 Record-Route: 3334 From: BigGuy ;tag=1234567 3335 To: LittleGuy ;tag=765432 3336 Call-ID: 12345600@here.com 3337 CSeq: 1 INVITE 3338 Contact: 3339 Content-Length: 0 3341 F13 200 OK B2 -> Proxy 3343 SIP/2.0 200 OK 3344 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3345 ;received=1.2.3.4 3346 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3347 ;received=100.101.102.103 3348 Record-Route: 3349 From: BigGuy ;tag=1234567 3350 To: LittleGuy ;tag=765432 3351 Call-ID: 12345600@here.com 3352 CSeq: 1 INVITE 3353 Contact: 3354 Content-Type: application/sdp 3355 Content-Length: ... 3357 v=0 3358 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 3359 s=Session SDP 3360 c=IN IP4 110.111.112.114 3361 t=0 0 3362 m=audio 3456 RTP/AVP 0 3363 a=rtpmap:0 PCMU/8000 3365 F14 200 OK Proxy -> A 3367 SIP/2.0 200 OK 3368 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3369 ;received=100.101.102.103 3370 Record-Route: 3371 From: BigGuy ;tag=1234567 3372 To: LittleGuy ;tag=765432 3373 Call-ID: 12345600@here.com 3374 CSeq: 1 INVITE 3375 Contact: 3376 Content-Type: application/sdp 3377 Content-Length: ... 3379 v=0 3380 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 3381 s=Session SDP 3382 c=IN IP4 110.111.112.114 3383 t=0 0 3384 m=audio 3456 RTP/AVP 0 3385 a=rtpmap:0 PCMU/8000 3387 F15 ACK A -> Proxy 3389 ACK sip:UserB2@110.111.112.114 SIP/2.0 3390 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3391 Route: 3392 Max-Forwards: 70 3393 From: BigGuy ;tag=1234567 3394 To: LittleGuy ;tag=765432 3395 Call-ID: 12345600@here.com 3396 CSeq: 1 ACK 3397 Content-Length: 0 3399 F16 ACK Proxy -> B2 3401 ACK sip:UserB2@110.111.112.114 SIP/2.0 3402 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3403 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3404 ;received=100.101.102.103 3405 Max-Forwards: 69 3406 From: BigGuy ;tag=1234567 3407 To: LittleGuy ;tag=765432 3408 Call-ID: 12345600@here.com 3409 CSeq: 1 ACK 3410 Content-Length: 0 3412 /* RTP streams are established between A and B2. User A Hangs Up 3413 with User B2. */ 3415 F17 BYE A -> Proxy 3417 BYE sip:UserB2@110.111.112.114 SIP/2.0 3418 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3419 Route: 3420 Max-Forwards: 70 3421 From: BigGuy ;tag=1234567 3422 To: LittleGuy ;tag=765432 3423 Call-ID: 12345600@here.com 3424 CSeq: 2 BYE 3425 Content-Length: 0 3427 F18 BYE Proxy -> B2 3429 BYE sip:UserB2@110.111.112.114 SIP/2.0 3430 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3431 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3432 ;received=100.101.102.103 3433 Max-Forwards: 69 3434 From: BigGuy ;tag=1234567 3435 To: LittleGuy ;tag=765432 3436 Call-ID: 12345600@here.com 3437 CSeq: 2 BYE 3438 Content-Length: 0 3440 F19 200 OK B2 -> Proxy 3442 SIP/2.0 200 OK 3443 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3444 ;received=1.2.3.4 3445 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3446 ;received=100.101.102.103 3447 From: BigGuy ;tag=1234567 3448 To: LittleGuy ;tag=765432 3449 Call-ID: 12345600@here.com 3450 CSeq: 2 BYE 3451 Content-Length: 0 3452 F20 200 OK Proxy -> A 3454 SIP/2.0 200 OK 3455 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3456 ;received=100.101.102.103 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 2.9 3-way Conference 3465 User A calls User B, User B then invites user C to a 3-way call. User 3466 B will mix the audio streams (act as the conference bridge). If user 3467 B drops out of the call then the entire call is dropped. This is not 3468 a fully meshed conference, and does not make use of the concepts in 3469 the call control draft. 3471 The signaling for this scenario is as follows: User A calls User B, 3472 this establishes the call between A and B. User B calls User C, this 3473 establishes the call between B and C. User B will mix the audio 3474 streams, sending media originating at A to C, and media originating 3475 at C to A. There is no SIP signaling relationship between User A and 3476 User C. 3478 The REFER method with the Replaces header could be used by User B to 3479 drop out of the call without disconnecting A and C. 3481 2.10 Single Line Extension 3483 In Single Line Extension a call will ring several extensions at the 3484 same time (forking). The extension to answer the call becomes the 3485 active set. If other extensions pick up, the call becomes a 3486 conference call. 3488 Call Flow TBD. 3490 2.11 Find-Me 3492 User A Proxy User User User User 3493 B1 B2 B3 B4 3494 | | | | | | 3495 | INVITE F1 | | | | | 3496 |--------------->| INVITE F2 | | | | 3497 | |------------->| | | | 3498 |(100 Trying) F3 | | | | | 3499 |<---------------|180 Ringing F4| | | | 3500 | |<-------------| | | | 3501 | 180 Ringing F5 | | | | | 3502 |<---------------| | | | | 3503 | | Timeout | | | | 3504 | | | | | | 3505 | | CANCEL F6 | | | | 3506 | |------------->| | | | 3507 | | 200 OK F7 | | | | 3508 | |<-------------| | | | 3509 | | 487 F8 | | | | 3510 | |<-------------| | | | 3511 | | ACK F9 | | | | 3512 | |------------->| | | | 3513 | | INVITE F10 | | | 3514 | |-------------------->| | | 3515 | |480 Not Logged In F11| | | 3516 | |<--------------------| | | 3517 | | ACK F12| | | 3518 | |-------------------->| | | 3519 | | INVITE F13 | | 3520 | |--------------------------->| | 3521 | | 486 Busy Here F14 | | 3522 | |<---------------------------| | 3523 | | ACK F15 | | 3524 | |--------------------------->| | 3525 | | INVITE F16 | 3526 | |---------------------------------->| 3527 | | 180 Ringing F17 | 3528 | 180 F18 |<----------------------------------| 3529 |<---------------| 200 OK F19 | 3530 | 200 OK F20 |<----------------------------------| 3531 |<---------------| | 3532 | ACK F21 | | 3533 |--------------->| ACK F22 | 3534 | |---------------------------------->| 3535 | Both way RTP Established | 3536 |<==================================================>| 3537 | | BYE F23 | 3538 | BYE F24 |<----------------------------------| 3539 |<---------------| | 3540 | 200 OK F25 | | 3541 |--------------->| 200 OK F26 | 3542 | |---------------------------------->| 3543 | | | 3545 A call to a user will attempt to locate that user by calling 3546 locations from a list of contacts. The location to answer the call 3547 becomes the active set, no other sets may join the call. 3549 It is anticipated that the Find-me feature will be associated with 3550 individual users. The signaling for the implementation of Single 3551 Line Extension and Find-Me is the same, the difference may be in the 3552 provisioning of the service. 3554 Message Details 3556 F1 INVITE A -> Proxy 3558 INVITE sip:UserB@there.com SIP/2.0 3559 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3560 Max-Forwards: 70 3561 From: BigGuy ;tag=1234567 3562 To: LittleGuy 3563 Call-ID: 12345600@here.com 3564 CSeq: 1 INVITE 3565 Contact: 3566 Content-Type: application/sdp 3567 Content-Length: ... 3569 v=0 3570 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3571 s=Session SDP 3572 c=IN IP4 100.101.102.103 3573 t= 0 0 3574 m=audio 49170 RTP/AVP 0 3575 a=rtpmap:0 PCMU/8000 3577 F2 INVITE Proxy -> B1 3579 INVITE sip:UserB@110.111.112.113 SIP/2.0 3580 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3581 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3582 ;received=100.101.102.103 3583 Record-Route: 3584 Max-Forwards: 69 3585 From: BigGuy ;tag=1234567 3586 To: LittleGuy 3587 Call-ID: 12345600@here.com 3588 CSeq: 1 INVITE 3589 Contact: 3590 Content-Type: application/sdp 3591 Content-Length: ... 3593 v=0 3594 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3595 s=Session SDP 3596 c=IN IP4 100.101.102.103 3597 t= 0 0 3598 m=audio 49170 RTP/AVP 0 3599 a=rtpmap:0 PCMU/8000 3601 F3 (100 Trying) Proxy -> A 3603 SIP/2.0 100 Trying 3604 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3605 ;received=100.101.102.103 3606 From: BigGuy ;tag=1234567 3607 To: LittleGuy 3608 Call-ID: 12345600@here.com 3609 CSeq: 1 INVITE 3610 Content-Length: 0 3612 F4 180 Ringing B1 -> Proxy 3614 SIP/2.0 180 Ringing 3615 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3616 ;received=1.2.3.4 3617 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3618 ;received=100.101.102.103 3619 Record-Route: 3620 From: BigGuy ;tag=1234567 3621 To: LittleGuy ;tag=765432 3622 Call-ID: 12345600@here.com 3623 CSeq: 1 INVITE 3624 Contact: 3625 Content-Length: 0 3627 F5 180 Ringing Proxy -> A 3629 SIP/2.0 180 Ringing 3630 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3631 ;received=100.101.102.103 3632 Record-Route: 3633 From: BigGuy ;tag=1234567 3634 To: LittleGuy ;tag=765432 3635 Call-ID: 12345600@here.com 3636 CSeq: 1 INVITE 3637 Contact: 3638 Content-Length: 0 3639 /* B1 rings for until a configurable timer in the Proxy expires. The 3640 Proxy then sends Cancel and proceeds down the list of routes. */ 3642 F6 CANCEL Proxy -> B1 3644 CANCEL sip:UserB@110.111.112.113 SIP/2.0 3645 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3646 Max-Forwards: 70 3647 From: BigGuy 3648 To: LittleGuy 3649 Call-ID: 12345600@here.com 3650 CSeq: 1 CANCEL 3651 Content-Length: 0 3653 F7 200 OK B1 -> Proxy 3655 SIP/2.0 200 OK 3656 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3657 ;received=1.2.3.4 3658 From: BigGuy 3659 To: LittleGuy 3660 Call-ID: 12345600@here.com 3661 CSeq: 1 CANCEL 3662 Content-Length: 0 3664 F8 487 Request Terminated B1 -> Proxy 3666 SIP/2.0 487 Request Terminated 3667 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3668 ;received=1.2.3.4 3669 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3670 ;received=100.101.102.103 3671 From: BigGuy ;tag=1234567 3672 To: LittleGuy ;tag=765432 3673 Call-ID: 12345600@here.com 3674 CSeq: 1 INVITE 3675 Content-Length: 0 3677 F9 ACK Proxy -> B1 3679 ACK sip:UserB@110.111.112.113 SIP/2.0 3680 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3681 Max-Forwards: 70 3682 From: BigGuy ;tag=1234567 3683 To: LittleGuy ;tag=765432 3684 Call-ID: 12345600@here.com 3685 CSeq: 1 ACK 3686 Content-Length: 0 3688 F10 INVITE Proxy -> B2 3690 INVITE sip:UserB2@110.111.112.114 SIP/2.0 3691 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3692 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3693 ;received=100.101.102.103 3694 Record-Route: 3695 Max-Forwards: 69 3696 From: BigGuy ;tag=1234567 3697 To: LittleGuy 3698 Call-ID: 12345600@here.com 3699 CSeq: 1 INVITE 3700 Contact: 3701 Content-Type: application/sdp 3702 Content-Length: ... 3704 v=0 3705 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3706 s=Session SDP 3707 c=IN IP4 100.101.102.103 3708 t=0 0 3709 m=audio 49170 RTP/AVP 0 3710 a=rtpmap:0 PCMU/8000 3712 F11 480 Not Logged In B2 -> Proxy 3714 SIP/2.0 480 Not Logged In 3715 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3716 ;received=1.2.3.4 3717 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3718 ;received=100.101.102.103 3719 From: BigGuy ;tag=1234567 3720 To: LittleGuy ;tag=314756 3721 Call-ID: 12345600@here.com 3722 CSeq: 1 INVITE 3723 Content-Length: 0 3725 F12 ACK Proxy -> B2 3727 ACK sip:UserB2@110.111.112.114 SIP/2.0 3728 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.2 3729 Max-Forwards: 70 3730 From: BigGuy ;tag=1234567 3731 To: LittleGuy ;tag=314756 3732 Call-ID: 12345600@here.com 3733 CSeq: 1 ACK 3734 Content-Length: 0 3735 F13 INVITE Proxy -> B3 3737 INVITE sip:UserB3@110.111.112.115 SIP/2.0 3738 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 3739 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3740 ;received=100.101.102.103 3741 Record-Route: 3742 Max-Forwards: 69 3743 From: BigGuy ;tag=1234567 3744 To: LittleGuy 3745 Call-ID: 12345600@here.com 3746 CSeq: 1 INVITE 3747 Contact: 3748 Content-Type: application/sdp 3749 Content-Length: ... 3751 v=0 3752 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3753 s=Session SDP 3754 c=IN IP4 100.101.102.103 3755 t=0 0 3756 m=audio 49170 RTP/AVP 0 3757 a=rtpmap:0 PCMU/8000 3759 F14 486 Busy Here B3 -> Proxy 3761 SIP/2.0 486 Busy Here 3762 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 3763 ;received=1.2.3.4 3764 From: BigGuy ;tag=1234567 3765 To: LittleGuy ;tag=7654321 3766 Call-ID: 12345600@here.com 3767 CSeq: 1 INVITE 3768 Content-Length: 0 3770 F15 ACK Proxy -> B3 3772 ACK sip:UserB3@110.111.112.115 SIP/2.0 3773 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.3 3774 Max-Forwards: 70 3775 From: BigGuy ;tag=1234567 3776 To: LittleGuy ;tag=7654321 3777 Call-ID: 12345600@here.com 3778 CSeq: 1 ACK 3779 Content-Length: 0 3781 F16 INVITE Proxy -> B4 3782 INVITE sip:UserB4@110.111.112.116 SIP/2.0 3783 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 3784 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3785 ;received=100.101.102.103 3786 Record-Route: 3787 Max-Forwards: 69 3788 From: BigGuy ;tag=1234567 3789 To: LittleGuy 3790 Call-ID: 12345600@here.com 3791 CSeq: 1 INVITE 3792 Contact: 3793 Content-Type: application/sdp 3794 Content-Length: ... 3796 v=0 3797 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3798 s=Session SDP 3799 c=IN IP4 100.101.102.103 3800 t=0 0 3801 m=audio 49170 RTP/AVP 0 3802 a=rtpmap:0 PCMU/8000 3804 F17 180 Ringing B4 -> Proxy 3806 SIP/2.0 180 Ringing 3807 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 3808 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3809 ;received=100.101.102.103 3810 Record-Route: 3811 From: BigGuy ;tag=1234567 3812 To: LittleGuy ;tag=7137136 3813 Call-ID: 12345600@here.com 3814 CSeq: 1 INVITE 3815 Contact: 3816 Content-Length: 0 3818 F18 180 Ringing B4 -> Proxy 3820 SIP/2.0 180 Ringing 3821 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3822 ;received=100.101.102.103 3823 Record-Route: 3824 From: BigGuy ;tag=1234567 3825 To: LittleGuy ;tag=7137136 3826 Call-ID: 12345600@here.com 3827 CSeq: 1 INVITE 3828 Contact: 3829 Content-Length: 0 3830 F19 200 OK B4 -> Proxy 3832 SIP/2.0 200 OK 3833 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 3834 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3835 ;received=100.101.102.103 3836 Record-Route: 3837 From: BigGuy ;tag=1234567 3838 To: LittleGuy ;tag=7137136 3839 Call-ID: 12345600@here.com 3840 CSeq: 1 INVITE 3841 Contact: 3842 Content-Type: application/sdp 3843 Content-Length: ... 3845 v=0 3846 o=UserB 2890844527 2890844527 IN IP4 client4.there.com 3847 s=Session SDP 3848 c=IN IP4 110.111.112.116 3849 t=0 0 3850 m=audio 3456 RTP/AVP 0 3851 a=rtpmap:0 PCMU/8000 3853 F20 200 OK Proxy -> A 3855 SIP/2.0 200 OK 3856 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3857 ;received=100.101.102.103 3858 Record-Route: 3859 From: BigGuy ;tag=1234567 3860 To: LittleGuy ;tag=7137136 3861 Call-ID: 12345600@here.com 3862 CSeq: 1 INVITE 3863 Contact: 3864 Content-Type: application/sdp 3865 Content-Length: ... 3867 v=0 3868 o=UserB 2890844527 2890844527 IN IP4 client4.there.com 3869 s=Session SDP 3870 c=IN IP4 110.111.112.116 3871 t=0 0 3872 m=audio 3456 RTP/AVP 0 3873 a=rtpmap:0 PCMU/8000 3875 F21 ACK A -> Proxy 3877 ACK sip:UserB4@110.111.112.116 SIP/2.0 3878 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3879 Route: 3880 Max-Forwards: 70 3881 From: BigGuy ;tag=1234567 3882 To: LittleGuy ;tag=7137136 3883 Call-ID: 12345600@here.com 3884 CSeq: 1 ACK 3885 Content-Length: 0 3887 F22 ACK Proxy -> B4 3889 ACK sip:UserB4@110.111.112.116 SIP/2.0 3890 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3891 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3892 ;received=100.101.102.103 3893 Max-Forwards: 69 3894 From: BigGuy ;tag=1234567 3895 To: LittleGuy ;tag=7137136 3896 Call-ID: 12345600@here.com 3897 CSeq: 1 ACK 3898 Content-Length: 0 3900 /* RTP streams are established between A and B4*/ 3902 /* User B4 Hangs Up with User A. */ 3904 F23 BYE B4 -> Proxy 3906 BYE sip:UserA@100.101.102.103 SIP/2.0 3907 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 3908 Route: 3909 Max-Forwards: 70 3910 From: LittleGuy ;tag=7137136 3911 To: BigGuy ;tag=1234567 3912 Call-ID: 12345600@here.com 3913 CSeq: 1 BYE 3914 Content-Length: 0 3916 F24 BYE Proxy -> A 3918 BYE sip:UserA@100.101.102.103 SIP/2.0 3919 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3920 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 3921 ;received=120.121.122.123 3922 Max-Forwards: 69 3923 From: LittleGuy ;tag=7137136 3924 To: BigGuy ;tag=1234567 3925 Call-ID: 12345600@here.com 3926 CSeq: 1 BYE 3927 Content-Length: 0 3928 F25 200 OK A -> Proxy 3930 SIP/2.0 200 OK 3931 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 3932 ;received=1.2.3.4 3933 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 3934 ;received=120.121.122.123 3935 From: LittleGuy ;tag=7137136 3936 To: BigGuy ;tag=1234567 3937 Call-ID: 12345600@here.com 3938 CSeq: 1 BYE 3939 Content-Length: 0 3941 F26 200 OK Proxy -> B4 3943 SIP/2.0 200 OK 3944 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 3945 ;received=120.121.122.123 3946 From: LittleGuy ;tag=7137136 3947 To: BigGuy ;tag=1234567 3948 Call-ID: 12345600@here.com 3949 CSeq: 1 BYE 3950 Content-Length: 0 3952 2.12 Call Management (Incoming Call Screening) 3954 User A Proxy User B 3955 | | | 3956 | INVITE F1 | | 3957 |------------------------------>| 3958 | 305 Use Proxy F2 | 3959 |<------------------------------| 3960 | ACK F3 | | 3961 |------------------------------>| 3962 | INVITE F4 | | 3963 |--------------->| | 3964 | 407 Proxy Authorization F5 | 3965 |<---------------| | 3966 | ACK F6 | | 3967 |--------------->| | 3968 | INVITE F7 | | 3969 |--------------->| | 3970 | 403 Screening Failure (Terminating) F8 3971 |<---------------| | 3972 | ACK F9 | | 3973 |--------------->| | 3974 | | | 3976 User B has an incoming call screening list, User A is included on the 3977 list of addresses User B will not accept calls from. User A attempts 3978 to call user B. Messages F1, F2, and F3 are included to show that 3979 User B does not accept INVITEs that have not been screened by the 3980 proxy. 3982 Message Details 3984 F1 INVITE A -> B 3986 INVITE sip:UserB@there.com SIP/2.0 3987 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3988 Max-Forwards: 70 3989 From: BigGuy ;tag=1234567 3990 To: LittleGuy 3991 Call-ID: 12345600@here.com 3992 CSeq: 1 INVITE 3993 Contact: 3994 Content-Type: application/sdp 3995 Content-Length: ... 3997 v=0 3998 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3999 s=Session SDP 4000 c=IN IP4 100.101.102.103 4001 t=3034423619 0 4002 m=audio 49170 RTP/AVP 0 4003 a=rtpmap:0 PCMU/8000 4005 /* User B only accepts INVITEs that have been screened by the proxy 4006 */ 4008 F2 305 Use Proxy B -> A 4010 SIP/2.0 305 Use Proxy 4011 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4012 ;received=100.101.102.103 4013 From: BigGuy ;tag=1234567 4014 To: LittleGuy ;tag=342123 4015 Call-ID: 12345600@here.com 4016 CSeq: 1 INVITE 4017 Contact: 4018 Content-Length: 0 4020 F3 ACK A -> B 4022 ACK sip:UserB@there.com SIP/2.0 4023 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4024 Max-Forwards: 70 4025 From: BigGuy ;tag=1234567 4026 To: LittleGuy ;tag=342123 4027 Call-ID: 12345600@here.com 4028 CSeq: 1 ACK 4029 Content-Length: 0 4031 /* A retries the call through the proxy */ 4033 F4 INVITE A -> Proxy 1 4035 INVITE sip:UserB@there.com SIP/2.0 4036 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4037 Max-Forwards: 70 4038 From: BigGuy ;tag=1234567 4039 To: LittleGuy 4040 Call-ID: 12345600@here.com 4041 CSeq: 2 INVITE 4042 Contact: 4043 Content-Type: application/sdp 4044 Content-Length: ... 4046 v=0 4047 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4048 s=Session SDP 4049 c=IN IP4 100.101.102.103 4050 t=3034423619 0 4051 m=audio 49170 RTP/AVP 0 4052 a=rtpmap:0 PCMU/8000 4054 /* Proxy 1 challenges User A for authentication */ 4056 F5 407 Proxy Authorization Required Proxy 1 -> A 4058 SIP/2.0 407 Proxy Authorization Required 4059 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4060 ;received=100.101.102.103 4061 From: BigGuy ;tag=1234567 4062 To: LittleGuy ;tag=7886765 4063 Call-ID: 12345600@here.com 4064 CSeq: 2 INVITE 4065 Proxy-Authenticate: Digest realm="wcom.com", 4066 domain="sip:ss1.wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 4067 opaque="", stale=FALSE, algorithm=MD5 4068 Content-Length: 0 4070 F6 ACK A -> Proxy 1 4072 ACK sip:UserB@there.com SIP/2.0 4073 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4074 Max-Forwards: 70 4075 From: BigGuy ;tag=1234567 4076 To: LittleGuy ;tag=7886765 4077 Call-ID: 12345600@here.com 4078 CSeq: 2 ACK 4079 Content-Length: 0 4081 /* User A responds by sending an INVITE with authentication 4082 credentials in it. */ 4084 F7 INVITE A -> Proxy 1 4086 INVITE sip:UserB@there.com SIP/2.0 4087 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4088 Max-Forwards: 70 4089 From: BigGuy ;tag=1234567 4090 To: LittleGuy 4091 Call-ID: 12345600@here.com 4092 CSeq: 3 INVITE 4093 Contact: 4094 Proxy-Authorization: Digest username="UserA", 4095 realm="wcom.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a", 4096 opaque="", uri="sip:UserB@there.com", 4097 response="bbaec39f943bdcb3620d90afc548a45c" 4098 Content-Type: application/sdp 4099 Content-Length: ... 4101 v=0 4102 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4103 s=Session SDP 4104 c=IN IP4 100.101.102.103 4105 t=3034423619 0 4106 m=audio 49170 RTP/AVP 0 4107 a=rtpmap:0 PCMU/8000 4109 F8 403 Screening Failure (Terminating) Proxy 1 -> A 4111 SIP/2.0 403 Screening Failure (Terminating) 4112 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4113 ;received=100.101.102.103 4114 From: BigGuy ;tag=1234567 4115 To: LittleGuy ;tag=ffe254 4116 Call-ID: 12345600@here.com 4117 CSeq: 3 INVITE 4118 Content-Length: 0 4120 F9 ACK A -> Proxy 1 4122 ACK sip:UserB@there.com SIP/2.0 4123 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4124 Max-Forwards: 70 4125 From: BigGuy ;tag=1234567 4126 To: LittleGuy ;tag=ffe254 4127 Call-ID: 12345600@here.com 4128 CSeq: 3 ACK 4129 Content-Length: 0 4131 2.13 Call Management (Outgoing Call Screening) 4133 User A Proxy User B 4134 | | | 4135 | INVITE F1 | | 4136 |--------------->| | 4137 | 407 Proxy Authorization F2 | 4138 |<---------------| | 4139 | ACK F3 | | 4140 |--------------->| | 4141 | INVITE F4 | | 4142 |--------------->| | 4143 | 403 Screening Failure (Originating) F5 4144 |<---------------| | 4145 | ACK F6 | | 4146 |--------------->| | 4147 | | | 4149 User A has an outgoing call screening list, User B is included on the 4150 list of addresses User A will not be able to place a call to. User A 4151 attempts to call user B. 4153 Message Details 4155 F1 INVITE A -> Proxy 1 4157 INVITE sip:UserB@there.com SIP/2.0 4158 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4159 Max-Forwards: 70 4160 From: BigGuy ;tag=1234567 4161 To: LittleGuy 4162 Call-ID: 12345600@here.com 4163 CSeq: 1 INVITE 4164 Contact: 4165 Content-Type: application/sdp 4166 Content-Length: ... 4168 v=0 4169 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4170 s=Session SDP 4171 c=IN IP4 100.101.102.103 4172 t=3034423619 0 4173 m=audio 49170 RTP/AVP 0 4174 a=rtpmap:0 PCMU/8000 4176 /* Proxy 1 challenges User A for authentication */ 4178 F2 407 Proxy Authorization Required Proxy 1 -> A 4179 SIP/2.0 407 Proxy Authorization Required 4180 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4181 ;received=100.101.102.103 4182 From: BigGuy ;tag=1234567 4183 To: LittleGuy ;tag=90210 4184 Call-ID: 12345600@here.com 4185 CSeq: 1 INVITE 4186 Proxy-Authenticate: Digest realm="wcom.com", 4187 domain="sip:ss1.wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 4188 opaque="", stale=FALSE, algorithm=MD5 4189 Content-Length: 0 4191 F3 ACK A -> Proxy 1 4193 ACK sip:UserB@there.com SIP/2.0 4194 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4195 Max-Forwards: 70 4196 From: BigGuy ;tag=1234567 4197 To: LittleGuy ;tag=90210 4198 Call-ID: 12345600@here.com 4199 CSeq: 1 ACK 4200 Content-Length: 0 4202 /* User A responds be sending an INVITE with authentication 4203 credentials in it. */ 4205 F4 INVITE A -> Proxy 1 4207 INVITE sip:UserB@there.com SIP/2.0 4208 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4209 Max-Forwards: 70 4210 From: BigGuy ;tag=1234567 4211 To: LittleGuy 4212 Call-ID: 12345600@here.com 4213 CSeq: 2 INVITE 4214 Contact: 4215 Proxy-Authorization: Digest username="UserA", realm="wcom.com", 4216 nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 4217 uri="sip:UserB@there.com", 4218 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 4219 Content-Type: application/sdp 4220 Content-Length: ... 4222 v=0 4223 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4224 s=Session SDP 4225 c=IN IP4 100.101.102.103 4226 t=3034423619 0 4227 m=audio 49170 RTP/AVP 0 4228 a=rtpmap:0 PCMU/8000 4229 F5 403 Screening Failure (Originating) Proxy 1 -> A 4231 SIP/2.0 403 Screening Failure (Originating) 4232 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4233 ;received=100.101.102.103 4234 From: BigGuy ;tag=1234567 4235 To: LittleGuy ;tag=18017 4236 Call-ID: 12345600@here.com 4237 CSeq: 2 INVITE 4238 Content-Length: 0 4240 F6 ACK A -> Proxy 1 4242 ACK sip:UserB@there.com SIP/2.0 4243 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4244 Max-Forwards: 70 4245 From: BigGuy ;tag=1234567 4246 To: LittleGuy ;tag=18017 4247 Call-ID: 12345600@here.com 4248 CSeq: 2 ACK 4249 Content-Length: 0 4251 2.14 4252 Call Park 4254 User A User B Park Server User C 4255 | | | | 4256 | INVITE F1 | | | 4257 |------------->| | | 4258 |180 Ringing F2| | | 4259 |<-------------| | | 4260 | 200 OK F3 | | | 4261 |<-------------| | | 4262 | ACK F4 | | | 4263 |------------->| | | 4264 | RTP Media | | | 4265 |<============>| | | 4266 | User B Parks Call | | 4267 | | REFER Refer-To: A F5 | 4268 | |------------->| | 4269 | | 202 F6 | | 4270 | |<-------------| | 4271 | INVITE F7 Replaces: B | | 4272 |<----------------------------| | 4273 | 200 OK F8 | | 4274 |---------------------------->| | 4275 | ACK F9 | | 4276 |<----------------------------| | 4277 | RTP Music | | 4278 |<===========================>| | 4279 | BYE F10 | | | 4280 |------------->| NOTIFY F12 | | 4281 | 200 OK F11 |<-------------| | 4282 |<-------------| 200 OK F13 | | 4283 | |------------->| | 4284 | | User C picks up the call | 4285 | | | | 4286 | | | INVITE F14 | 4287 |<-------------------------------------------| 4288 | | | 200 F15 | 4289 |------------------------------------------->| 4290 | | | ACK F16 | 4291 |<-------------------------------------------| 4292 | RTP Media | 4293 |<==========================================>| 4294 | BYE F17 | | 4295 |---------------------------->| | 4296 | 200 OK F18 | | 4297 |<----------------------------| | 4298 | No more RTP Music | | 4300 In this example, User A calls User B. User B then parks the call at 4301 the Park Server by sending a REFER to the Park Server. The server 4302 sends an INVITE to A which replaces the session between A and B. The 4303 call is accepted by A and causes A to send a BYE to B. User B 4304 receives notification of the successful park, and also receives the 4305 Call-ID in the application/sip body of the NOTIFY response. User C 4306 wishes to retrieve the call, a new INVITE is sent to A which replaces 4307 the session with the Park Server. User A accepts the call and sends 4308 a BYE to the Park Server. User C needs some method of learning the 4309 dialog information of A�s session with the Park Server. 4311 Note that this call is a special case of call transfer. 4313 Note also that this flow could also be used for Music on Hold. 4315 Message Details. 4317 F1 INVITE A -> B 4319 INVITE sip:UserB@there.com SIP/2.0 4320 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 4321 Max-Forwards: 70 4322 From: BigGuy ;tag=1234567 4323 To: LittleGuy 4324 Call-ID: 12345601@here.com 4325 CSeq: 1 INVITE 4326 Contact: 4327 Supported: replaces 4328 Content-Type: application/sdp 4329 Content-Length: ... 4331 v=0 4332 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4333 s=Session SDP 4334 c=IN IP4 100.101.102.103 4335 t=3034423619 0 4336 m=audio 49170 RTP/AVP 0 4337 a=rtpmap:0 PCMU/8000 4339 F2 180 Ringing B -> A 4341 SIP/2.0 180 Ringing 4342 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 4343 ;received=120.121.122.123 4344 From: BigGuy ;tag=1234567 4345 To: LittleGuy ;tag=314159 4346 Call-ID: 12345601@here.com 4347 CSeq: 1 INVITE 4348 Contact: 4349 Content-Length: 0 4350 F3 200 OK B -> A 4352 SIP/2.0 200 OK 4353 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 4354 ;received=120.121.122.123 4355 From: BigGuy ;tag=1234567 4356 To: LittleGuy ;tag=314159 4357 Call-ID: 12345601@here.com 4358 CSeq: 1 INVITE 4359 Contact: 4360 Content-Type: application/sdp 4361 Content-Length: ... 4363 v=0 4364 o=UserB 2890844527 2890844527 IN IP4 client.there.com 4365 s=Session SDP 4366 c=IN IP4 110.111.112.113 4367 t=3034423619 0 4368 m=audio 3456 RTP/AVP 0 4369 a=rtpmap:0 PCMU/8000 4371 F4 ACK A -> B 4373 ACK sip:UserB@110.111.112.113 SIP/2.0 4374 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 4375 Max-Forwards: 70 4376 From: BigGuy ;tag=1234567 4377 To: LittleGuy ;tag=314159 4378 Call-ID: 12345601@here.com 4379 CSeq: 1 ACK 4380 Content-Length: 0 4382 /* User B REFERs Park Server to establish session with A which 4383 replaces the established session between A and B. Note that there is 4384 no session established between B and the Park Server. */ 4386 F5 REFER B -> Park Server 4388 REFER sip:park@server.com SIP/2.0 4389 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 4390 Max-Forwards: 70 4391 From: LittleGuy ;tag=02134 4392 To: Park Server 4393 Call-ID: 4802029847@there.com 4394 CSeq: 1 REFER 4395 Refer-To: 4398 Referred-By: 4399 Contact: 4400 Content-Length: 0 4402 F6 202 Accepted Park Server -> B 4404 SIP/2.0 202 Accepted 4405 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 4406 ;received=120.121.122.123 4407 From: LittleGuy ;tag=02134 4408 To: Park Server ;tag=56323 4409 Call-ID: 4802029847@there.com 4410 CSeq: 1 REFER 4411 Content-Length: 0 4413 /* Park Server places call to User A to replace session between A and 4414 B */ 4416 F7 INVITE Park Server -> A 4418 INVITE sip:UserA@100.101.102.103 SIP/2.0 4419 Via: SIP/2.0/UDP server.com:5060 4420 Max-Forwards: 70 4421 From: ;tag=0111 4422 To: 4423 Call-ID: a5-75-34-12-76@server.com 4424 CSeq: 1 INVITE 4425 Referred-By: 4426 Contact: 4427 Replaces: 12345601@here.com;from-tag=314159;to-tag=1234567 4428 Accept-Contact: ;only=true 4429 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4430 Content-Type: application/sdp 4431 Content-Length: ... 4433 v=0 4434 o=ParkServer 2890844576 2890844576 IN IP4 Park.server.com 4435 s=Session SDP 4436 c=IN IP4 50.60.70.80 4437 t=3034423619 0 4438 m=audio 49170 RTP/AVP 0 4439 a=rtpmap:0 PCMU/8000 4441 F8 200 OK A-> Park Server 4443 SIP/2.0 200 OK 4444 Via: SIP/2.0/UDP server.com:5060 4445 From: ;tag=0111 4446 To: BigGuy ;tag=098594 4447 Call-ID: a5-75-34-12-76@server.com 4448 CSeq: 1 INVITE 4449 Contact: 4450 Supported: replaces 4451 Content-Type: application/sdp 4452 Content-Length: ... 4454 v=0 4455 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4456 s=Session SDP 4457 c=IN IP4 100.101.102.103 4458 t=3034423619 0 4459 m=audio 49170 RTP/AVP 0 4460 a=rtpmap:0 PCMU/8000 4461 a=recvonly 4463 F9 ACK Park Server -> A 4465 ACK sip:UserA@100.101.102.103 SIP/2.0 4466 Via: SIP/2.0/UDP server.com:5060 4467 Max-Forwards: 70 4468 From: ;tag=0111 4469 To: BigGuy ;tag=098594 4470 Call-ID: a5-75-34-12-76@server.com 4471 CSeq: 1 ACK 4472 Content-Length: 0 4474 F10 BYE A -> B 4476 ACK sip:UserB@110.111.112.113 SIP/2.0 4477 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 4478 Max-Forwards: 70 4479 From: BigGuy ;tag=1234567 4480 To: LittleGuy ;tag=314159 4481 Call-ID: 12345601@here.com 4482 CSeq: 2 BYE 4483 Content-Length: 0 4485 F11 200 OK B -> A 4487 SIP/2.0 200 OK 4488 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 4489 ;received=120.121.122.123 4490 From: BigGuy ;tag=1234567 4491 To: LittleGuy ;tag=314159 4492 Call-ID: 12345601@here.com 4493 CSeq: 2 BYE 4494 Content-Length: 0 4495 /* Park Server reports success back to B by returning all the SIP 4496 headers in 200 OK response */ 4498 F12 NOTIFY Park Server -> B 4500 NOTIFY sip:UserB@110.111.112.113 SIP/2.0 4501 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4502 To: LittleGuy ;tag=02134 4503 Max-Forwards: 70 4504 From: Park Server ;tag=56323 4505 Call-ID: 4802029847@there.com 4506 CSeq: 1 NOTIFY 4507 Event: refer 4508 Content-Type: application/sip 4509 Content-Length: ... 4511 SIP/2.0 200 OK 4512 Via: SIP/2.0/UDP server.com:5060 4513 From: ;tag=0111 4514 To: BigGuy ;tag=098594 4515 Call-ID: a5-75-34-12-76@server.com 4516 CSeq: 1 INVITE 4517 Contact: 4519 F13 200 OK B -> Park Server 4521 SIP/2.0 200 OK 4522 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4523 ;received=100.101.102.103 4524 To: LittleGuy ;tag=02134 4525 From: Park Server ;tag=56323 4526 Call-ID: 4802029847@there.com 4527 CSeq: 1 NOTIFY 4528 Content-Length: 0 4530 /* User A is now parked at the Park Server */ 4532 /* User C picks up the call by sending an INVITE to A which replaces 4533 the existing session with the Park/Park Server. C needs to know the 4534 dialog information to construct the Replaces header. */ 4536 F14 INVITE C -> A 4538 INVITE sip:UserA@here.com SIP/2.0 4539 Via: SIP/2.0/UDP anywhere.com:5060;branch=z9hG4bK74bf9 4540 Max-Forwards: 70 4541 From: OtherGuy ;tag=5893461 4542 To: BigGuy 4543 Call-ID: 6485356@anywhere.com 4544 CSeq: 1 INVITE 4545 Contact: 4546 Replaces: a5-75-34-12-76@server.com;from-tag=098594;to-tag=0111 4547 Content-Type: application/sdp 4548 Content-Length: ... 4550 v=0 4551 o=UserC 2890844922 2890844922 IN IP4 client.anywhere.com 4552 s=Session SDP 4553 c=IN IP4 120.121.122.123 4554 t=3034423619 0 4555 m=audio 3456 RTP/AVP 0 4556 a=rtpmap:0 PCMU/8000 4558 F15 200 OK A -> C 4560 SIP/2.0 200 OK 4561 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4562 ;received=120.121.122.123 4563 From: OtherGuy ;tag=5893461 4564 To: BigGuy ;tag=222 4565 Call-ID: 6485356@anywhere.com 4566 CSeq: 1 INVITE 4567 Contact: 4568 Supported: replaces 4569 Content-Type: application/sdp 4570 Content-Length: ... 4572 v=0 4573 o=UserA 2890844527 2890844527 IN IP4 client.here.com 4574 s=Session SDP 4575 c=IN IP4 100.101.102.103 4576 t=3034423619 0 4577 m=audio 49170 RTP/AVP 0 4578 a=rtpmap:0 PCMU/8000 4580 F16 ACK C -> A 4582 ACK sip:UserA@100.101.102.103 SIP/2.0 4583 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4584 Max-Forwards: 70 4585 From: OtherGuy ;tag=5893461 4586 To: BigGuy ;tag=222 4587 Call-ID: 6485356@anywhere.com 4588 CSeq: 1 ACK 4589 Content-Length: 0 4591 /* A replaces the session to the Park Server with the new session 4592 with C and generates a BYE to disconnect the Park Server */ 4593 F17 BYE A -> Park Server 4595 BYE sip:park@server.com SIP/2.0 4596 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4597 Max-Forwards: 70 4598 From: BigGuy ;tag=098594 4599 To: ;tag=0111 4600 Call-ID: a5-75-34-12-76@server.com 4601 CSeq: 1 BYE 4602 Content-Length: 0 4604 F18 200 OK Park Server -> A 4606 SIP/2.0 200 OK 4607 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4608 ;received=100.101.102.103 4609 From: BigGuy ;tag=098594 4610 To: ;tag=0111 4611 Call-ID: a5-75-34-12-76@server.com 4612 CSeq: 1 BYE 4613 Content-Length: 0 4615 2.15 Call Pickup 4617 User A Proxy User B1 User B2 4618 | | | | 4619 | INVITE F1 | | | 4620 |--------------->| INVITE F2 | | 4621 |(100 Trying) F3 |------------->| | 4622 |<---------------|180 Ringing F4| | 4623 | 180 Ringing F5 |<-------------| | 4624 |<---------------| | | 4625 | | INVITE Replaces:B1 F6 | 4626 | |<---------------------------------| 4627 | INVITE Replaces:B1 F7 | | 4628 |<---------------|(100 Trying) F8 | 4629 | 200 OK F9 |--------------------------------->| 4630 |--------------->| | 200 OK F10 | 4631 | CANCEL F11 |--------------------------------->| 4632 |--------------->| CANCEL F12 | | 4633 | 200 OK F13 |------------->| | 4634 |--------------->| 200 OK F14 | | 4635 | |<-------------| | 4636 | | 487 F15 | | 4637 | |<-------------| | 4638 | | ACK F16 | | 4639 | 487 F17 |------------->| | 4640 |<---------------| | | 4641 | ACK F18 | | | 4642 |--------------->| | | 4643 | | | ACK F19 | 4644 | ACK F20 |<---------------------------------| 4645 |<---------------| | | 4646 | Both way RTP Established | 4647 |<=================================================>| 4648 | BYE F21 | | | 4649 |--------------->| | BYE F22 | 4650 | |--------------------------------->| 4651 | | | 200 OK F23 | 4652 | 200 OK F24 |<---------------------------------| 4653 |<---------------| | | 4654 | | | | 4656 User B1 and B2 are part of a work group that can pick up each others 4657 calls. User A calls B1 who does not answer. User B2 wishes to pick 4658 up the call and sends an INVITE with a Replaces to A. A answers the 4659 INVITE and sends a CANCEL to stop B1�s phone ringing. Note that the 4660 order of the CANCEL/ACK sequence in F11 through F20 is not 4661 significant. 4663 Note that B2 needs a mechanism to discover the early dialog 4664 information so that it can formulate the INVITE of F6. 4666 Message Details 4668 F1 INVITE A -> Proxy 4670 INVITE sip:UserB@there.com SIP/2.0 4671 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4672 Max-Forwards: 70 4673 From: BigGuy ;tag=1234567 4674 To: LittleGuy 4675 Call-ID: 12345600@here.com 4676 CSeq: 1 INVITE 4677 Contact: 4678 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4679 Supported: replaces 4680 Content-Type: application/sdp 4681 Content-Length: ... 4683 v=0 4684 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4685 s=Session SDP 4686 c=IN IP4 100.101.102.103 4687 t=0 0 4688 m=audio 49170 RTP/AVP 0 4689 a=rtpmap:0 PCMU/8000 4691 F2 INVITE Proxy -> B1 4693 INVITE sip:UserB1@110.111.112.113 SIP/2.0 4694 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4695 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4696 ;received=100.101.102.103 4697 Record-Route: 4698 Max-Forwards: 69 4699 From: BigGuy ;tag=1234567 4700 To: LittleGuy 4701 Call-ID: 12345600@here.com 4702 CSeq: 1 INVITE 4703 Contact: 4704 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4705 Supported: replaces 4706 Content-Type: application/sdp 4707 Content-Length: ... 4709 v=0 4710 o=UserA 2890844526 2890844526 IN IP4 client.here.com 4711 s=Session SDP 4712 c=IN IP4 100.101.102.103 4713 t=0 0 4714 m=audio 49170 RTP/AVP 0 4715 a=rtpmap:0 PCMU/8000 4717 F3 (100 Trying) Proxy -> A 4719 SIP/2.0 100 Trying 4720 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4721 ;received=100.101.102.103 4722 From: BigGuy ;tag=1234567 4723 To: LittleGuy 4724 Call-ID: 12345600@here.com 4725 CSeq: 1 INVITE 4726 Content-Length: 0 4728 F4 180 Ringing B1 -> Proxy 4730 SIP/2.0 180 Ringing 4731 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4732 ;received=1.2.3.4 4733 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4734 ;received=100.101.102.103 4735 Record-Route: 4736 From: BigGuy ;tag=1234567 4737 To: LittleGuy ;tag=3145678 4738 Call-ID: 12345600@here.com 4739 CSeq: 1 INVITE 4740 Contact: 4741 Content-Length: 0 4743 F5 180 Ringing Proxy -> A 4745 SIP/2.0 180 Ringing 4746 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4747 ;received=100.101.102.103 4748 Record-Route: 4749 From: BigGuy ;tag=1234567 4750 To: LittleGuy ;tag=3145678 4751 Call-ID: 12345600@here.com 4752 CSeq: 1 INVITE 4753 Contact: 4754 Content-Length: 0 4756 /* User B2 decides to pick up the call */ 4758 F6 INVITE B2 -> Proxy 4760 INVITE sip:UserA@here.com SIP/2.0 4761 Via: SIP/2.0/UDP b2.there.com:5060;branch=z9hG4bK74bf 4762 Max-Forwards: 70 4763 From: LittleGuy ;tag=8675309 4764 To: BigGuy 4765 Call-ID: 563456212@b2.there.com 4766 CSeq: 1 INVITE 4767 Accept-Contact: ;only=true 4768 Replaces: 12345600@here.com;to-tag=314578;from-tag=1234567 4769 Contact: 4770 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4771 Supported: replaces 4772 Content-Type: application/sdp 4773 Content-Length: ... 4775 v=0 4776 o=UserB 2890843122 2890843122 IN IP4 b2.there.com 4777 s=Session SDP 4778 c=IN IP4 110.111.112.114 4779 t=3034423619 0 4780 m=audio 5342 RTP/AVP 0 4781 a=rtpmap:0 PCMU/8000 4783 F7 INVITE B2 -> Proxy 4785 INVITE sip:UserA@100.101.102.103 SIP/2.0 4786 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4787 Via: SIP/2.0/UDP b2.there.com:5060;branch=z9hG4bK74bf 4788 ;received=110.111.112.114 4789 Record-Route: 4790 Max-Forwards: 69 4791 From: LittleGuy ;tag=8675309 4792 To: BigGuy 4793 Call-ID: 563456212@b2.there.com 4794 CSeq: 1 INVITE 4795 Accept-Contact: ;only=true 4796 Replaces: 12345600@here.com;to-tag=314578;from-tag=1234567 4797 Contact: 4798 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4799 Supported: replaces 4800 Content-Type: application/sdp 4801 Content-Length: ... 4803 v=0 4804 o=UserB 2890843122 2890843122 IN IP4 b2.there.com 4805 s=Session SDP 4806 c=IN IP4 110.111.112.114 4807 t=3034423619 0 4808 m=audio 5342 RTP/AVP 0 4809 a=rtpmap:0 PCMU/8000 4811 F8 (100 Trying) Proxy -> B2 4812 SIP/2.0 100 Trying 4813 Via: SIP/2.0/UDP b2.there.com:5060;branch=z9hG4bK74bf 4814 ;received=110.111.112.114 4815 From: LittleGuy ;tag=8675309 4816 To: BigGuy 4817 Call-ID: 563456212@b2.there.com 4818 CSeq: 1 INVITE 4819 Content-Length: 0 4821 /* A matches the dialog information in the Replaces header and 4822 accepts the INVITE */ 4824 F9 200 OK A -> Proxy 4826 SIP/2.0 200 OK 4827 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4828 ;received=1.2.3.4 4829 Via: SIP/2.0/UDP b2.there.com:5060;branch=z9hG4bK74bf 4830 ;received=110.111.112.114 4831 Record-Route: 4832 From: LittleGuy ;tag=8675309 4833 To: BigGuy ;tag=131256 4834 Call-ID: 563456212@b2.there.com 4835 CSeq: 1 INVITE 4836 Contact: 4837 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4838 Supported: replaces 4839 Content-Type: application/sdp 4840 Content-Length: ... 4842 v=0 4843 o=UserA 289084543 289084543 IN IP4 client.here.com 4844 s=Session SDP 4845 c=IN IP4 100.101.102.103 4846 t=0 0 4847 m=audio 49172 RTP/AVP 0 4848 a=rtpmap:0 PCMU/8000 4850 F10 200 OK Proxy -> B2 4852 SIP/2.0 200 OK 4853 Via: SIP/2.0/UDP b2.there.com:5060;branch=z9hG4bK74bf 4854 ;received=110.111.112.114 4855 Record-Route: 4856 From: LittleGuy ;tag=8675309 4857 To: BigGuy ;tag=131256 4858 Call-ID: 563456212@b2.there.com 4859 CSeq: 1 INVITE 4860 Contact: 4861 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 4862 Supported: replaces 4863 Content-Type: application/sdp 4864 Content-Length: ... 4866 v=0 4867 o=UserA 289084543 289084543 IN IP4 client.here.com 4868 s=Session SDP 4869 c=IN IP4 100.101.102.103 4870 t=0 0 4871 m=audio 49172 RTP/AVP 0 4872 a=rtpmap:0 PCMU/8000 4874 /* A stops B1�s phone from ringing by sending a CANCEL */ 4876 F11 CANCEL A -> Proxy 4878 CANCEL sip:UserB@there.com SIP/2.0 4879 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4880 Max-Forwards: 70 4881 From: BigGuy ;tag=1234567 4882 To: LittleGuy 4883 Call-ID: 12345600@here.com 4884 CSeq: 1 CANCEL 4885 Content-Length: 0 4887 F12 CANCEL Proxy -> B1 4889 CANCEL sip:UserB1@110.111.112.113 SIP/2.0 4890 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4891 Max-Forwards: 70 4892 From: BigGuy 4893 To: LittleGuy 4894 Call-ID: 12345600@here.com 4895 CSeq: 1 CANCEL 4896 Content-Length: 0 4898 F13 200 OK Proxy -> A 4900 SIP/2.0 200 OK 4901 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4902 ;received=100.101.102.103 4903 From: BigGuy ;tag=1234567 4904 To: LittleGuy 4905 Call-ID: 12345600@here.com 4906 CSeq: 1 CANCEL 4907 Content-Length: 0 4909 F14 200 OK B1 -> Proxy 4910 SIP/2.0 200 OK 4911 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4912 ;received=1.2.3.4 4913 From: BigGuy 4914 To: LittleGuy 4915 Call-ID: 12345600@here.com 4916 CSeq: 1 CANCEL 4917 Content-Length: 0 4919 F15 487 Request Terminated B1 -> Proxy 4921 SIP/2.0 487 Request Terminated 4922 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4923 ;received=1.2.3.4 4924 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4925 ;received=100.101.102.103 4926 From: BigGuy ;tag=1234567 4927 To: LittleGuy ;tag=3145678 4928 Call-ID: 12345600@here.com 4929 CSeq: 1 INVITE 4930 Content-Length: 0 4932 F16 ACK Proxy -> B1 4934 ACK sip:UserB1@110.111.112.113 SIP/2.0 4935 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4936 Max-Forwards: 70 4937 From: BigGuy ;tag=1234567 4938 To: LittleGuy ;tag=3145678 4939 Call-ID: 12345600@here.com 4940 CSeq: 1 ACK 4941 Content-Length: 0 4943 F17 487 Request Terminated Proxy -> A 4945 SIP/2.0 487 Request Terminated 4946 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4947 ;received=100.101.102.103 4948 From: BigGuy ;tag=1234567 4949 To: LittleGuy ;tag=3145678 4950 Call-ID: 12345600@here.com 4951 CSeq: 1 INVITE 4952 Content-Length: 0 4954 F18 ACK A -> Proxy 4956 ACK sip:UserB1@110.111.112.113 SIP/2.0 4957 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4958 Max-Forwards: 70 4959 From: BigGuy ;tag=1234567 4960 To: LittleGuy ;tag=3145678 4961 Call-ID: 12345600@here.com 4962 CSeq: 1 ACK 4963 Content-Length: 0 4965 F19 ACK B2 -> Proxy 4967 ACK sip:UserA@100.101.102.103 SIP/2.0 4968 Via: SIP/2.0/UDP b2.there.com:5060;branch=z9hG4bK74bf 4969 Route: 4970 Max-Forwards: 70 4971 From: LittleGuy ;tag=8675309 4972 To: BigGuy ;tag=131256 4973 Call-ID: 563456212@b2.there.com 4974 CSeq: 1 ACK 4975 Content-Length: 0 4977 F20 ACK Proxy -> A 4979 ACK sip:UserA@100.101.102.103 SIP/2.0 4980 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 4981 Via: SIP/2.0/UDP b2.there.com:5060;branch=z9hG4bK74bf 4982 ;received=110.111.112.114 4983 Max-Forwards: 69 4984 From: LittleGuy ;tag=8675309 4985 To: BigGuy ;tag=131256 4986 Call-ID: 563456212@b2.there.com 4987 CSeq: 1 ACK 4988 Content-Length: 0 4990 /* RTP streams are established between A and B2. User A Hangs Up 4991 with User B2. */ 4993 F21 BYE A -> Proxy 4995 BYE sip:UserB2@there.com SIP/2.0 4996 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4997 Route: 4998 Max-Forwards: 70 4999 To: LittleGuy ;tag=8675309 5000 From: BigGuy ;tag=131256 5001 Call-ID: 563456212@b2.there.com 5002 CSeq: 2 BYE 5003 Content-Length: 0 5005 F22 BYE Proxy -> B2 5006 BYE sip:UserB2@there.com SIP/2.0 5007 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 5008 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5009 ;received=100.101.102.103 5010 Max-Forwards: 69 5011 To: LittleGuy ;tag=8675309 5012 From: BigGuy ;tag=131256 5013 Call-ID: 563456212@b2.there.com 5014 CSeq: 2 BYE 5015 Content-Length: 0 5017 F23 200 OK B2 -> Proxy 5019 SIP/2.0 200 OK 5020 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK83749.1 5021 ;received=1.2.3.4 5022 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5023 ;received=100.101.102.103 5024 To: LittleGuy ;tag=8675309 5025 From: BigGuy ;tag=131256 5026 Call-ID: 563456212@b2.there.com 5027 CSeq: 2 BYE 5028 Content-Length: 0 5030 F24 200 OK Proxy -> A 5032 SIP/2.0 200 OK 5033 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5034 ;received=100.101.102.103 5035 To: LittleGuy ;tag=8675309 5036 From: BigGuy ;tag=131256 5037 Call-ID: 563456212@b2.there.com 5038 CSeq: 2 BYE 5039 Content-Length: 0 5040 Acknowledgements 5042 The authors wish to thank the following individuals for their 5043 assistance and review of this call flows document: Rohan Mahey, 5044 Jonathan Rosenberg, Hemant Agrawal, Henry Sinnreich, Dean Willis, 5045 David Devanatham, Joe Pizzimenti, Matt Cannon, John Hearty, the 5046 whole MCI WorldCom IPOP Design team, Scott Orton, Greg Osterhout, Pat 5047 Sollee, Doug Weisenberg, Danny Mistry, Steve McKinnon, and Denise 5048 Ingram, Denise Caballero, Tom Redman, Ilya Slain, Pat Sollee, John 5049 Truetken, and others from MCI WorldCom, 3Com, Cisco, Lucent and 5050 Nortel. 5052 3 References 5054 [1] S. Bradner, "The Internet Standards Process -- Revision 3", BCP 5055 9, RFC 2026, October 1996. 5057 [2] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, 5058 J. Peterson, R. Sparks, M. Handley, and E. Schooler, "SIP: 5059 Session Initiation Protocol", Internet Engineering Task Force, 5060 February 2002, Work in Progress. 5062 [3] A. Johnston, S. Donovan, R. Sparks, C. Cunningham, D. Willis, J. 5063 Rosenberg, and H. Schulzrinne, "SIP Call Flow Examples", Internet 5064 Draft, Internet Engineering Task Force, February 2002, Work in 5065 Progress. 5067 [4] R. Sparks, "The Refer Method", Internet Draft, 5068 Internet Engineering Task Force, October 2001, 5069 Work in Progress. 5071 [5] B. Biggs, R. Dean, and R. Mahy, "The SIP Replaces header," 5072 Internet Draft, Internet Engineering Task Force, January 2002, 5073 Work in Progress. 5075 [6] H. Schulzrinne and J. Rosenberg, "SIP Caller Preferences and 5076 Callee Capabilities," Internet Engineering Task Force, June 2001, 5077 Work in Progress. 5079 [7] J. Rosenberg, J. Peterson, H. Schulzrinne, and G. Camarillo, 5080 "Third Party Call Control in SIP," Internet Engineering Task 5081 Force, March 2001, Work in Progress. 5083 [8] J. Rosenberg and H. Schulzrinne, "An Offer/Answer Model with 5084 SDP," Internet Engineering Task Force, October 2001, Work in 5085 progress. 5087 [9] R. Sparks, "SIP Call Control � Transfer," Internet Engineering 5088 Task Force, July 2001, Work in progress. 5090 4 Author's Addresses 5092 Alan Johnston Email: alan.johnston@wcom.com 5093 sip:alan.johnston@siptest.wcom.com 5095 Robert Sparks Email: rsparks@dynamicsoft.com 5097 Chris Cunningham Email: ccunningham@dynamicsoft.com 5099 Steve Donovan Email: sdonovan@dynamicsoft.com 5101 Kevin Summers Email: kevin.summers@sonusnet.com 5103 Copyright Notice 5105 "Copyright (C) The Internet Society 2002. All Rights Reserved. 5107 This document and translations of it may be copied and furnished to 5108 others, and derivative works that comment on or otherwise explain it 5109 or assist in its implementation may be prepared, copied, published 5110 and distributed, in whole or in part, without restriction of any 5111 kind, provided that the above copyright notice and this paragraph are 5112 included on all such copies and derivative works. However, this 5113 document itself may not be modified in any way, such as by removing 5114 the copyright notice or references to the Internet Society or other 5115 Internet organizations, except as needed for the purpose of 5116 developing Internet standards in which case the procedures for 5117 copyrights defined in the Internet Standards process must be 5118 followed, or as required to translate it into languages other than 5119 English. 5121 The limited permissions granted above are perpetual and will not be 5122 revoked by the Internet Society or its successors or assigns. 5124 This document and the information contained herein is provided on an 5125 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 5126 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 5127 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 5128 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 5129 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.