idnits 2.17.1 draft-johnson-sip-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. == The page length should not exceed 58 lines per page, but there was 4 longer pages, the longest (page 71) being 59 lines 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 152 instances of lines with non-RFC2606-compliant FQDNs in the document. == There are 59 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 3182 has weird spacing: '...s. The locat...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Informational ---------------------------------------------------------------------------- ** Obsolete normative reference: RFC 2543 (ref. '4') (Obsoleted by RFC 3261, RFC 3262, RFC 3263, RFC 3264, RFC 3265) Summary: 8 errors (**), 0 flaws (~~), 5 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Internet Engineering Task Force Alan Johnston 2 Internet Draft WorldCom 3 Document: draft-johnson-sip-service-examples-00.txt Robert Sparks 4 Category: Informational Chris Cunningham 5 November 2000 Steve Donovan 6 Expires: May 2001 dynamicsoft 7 Kevin Summers 8 TTI 10 SIP Telephony Service Examples 12 Status of this Memo 14 This document is an Internet-Draft and is in full conformance with 15 all provisions of Section 10 of RFC2026[1]. 17 Internet-Drafts are working documents of the Internet Engineering 18 Task Force (IETF), its areas, and its working groups. Note that other 19 groups may also distribute working documents as Internet-Drafts. 20 Internet-Drafts are draft documents valid for a maximum of six months 21 and may be updated, replaced, or obsoleted by other documents at any 22 time. It is inappropriate to use Internet- Drafts as reference 23 material or to cite them other than as "work in progress." 24 The list of current Internet-Drafts can be accessed at 25 http://www.ietf.org/ietf/1id-abstracts.txt 26 The list of Internet-Draft Shadow Directories can be accessed at 27 http://www.ietf.org/shadow.html. 29 Abstract 31 This document gives examples of SIP (Session Initiation Protocol) 32 telephony services. This covers most features offered in so-called 33 Centrex offerings from local exchange carriers and PBX (Private 34 Branch Exchange) features. Most of the services shown in this 35 document are implemented in the SIP User Agents, although some 36 require the assistance of a SIP Proxy. Some require some extensions 37 to SIP including third party call control (3pcc) extensions such as 38 the REFER method. These features are not intented to be an exhaustive 39 set, but rather show implementations of common features likely to be 40 implemented on SIP IP Telephones in a business environment. 42 Table of Contents 44 1 Overview...................................................3 45 1.1 Legend for Message Flows...................................3 46 1.2 Document History...........................................4 47 2 IP Telephony Services Features Call Flows..................5 48 2.1 Call Hold..................................................5 49 2.2 Music on Hold.............................................15 50 2.3 Consultation Hold.........................................24 51 2.4 Unattended Transfer.......................................38 52 2.5 Attended Transfer.........................................44 53 2.6 Call Forwarding Unconditional.............................53 54 2.7 Call Forwarding - Busy....................................58 55 2.8 Call Forwarding - No Answer...............................64 56 2.9 3-way Conference..........................................71 57 2.10 Single Line Extension.....................................71 58 2.11 Find-Me...................................................72 59 2.12 Call Management (Incoming Call Screening).................81 60 2.13 Call Management (Outgoing Call Screening).................84 61 3 Acknowledgements..........................................88 62 4 References................................................89 63 5 Author's Addresses........................................90 65 1 Overview 67 This document provides call flows detailing a SIP implementation of 68 the following traditional telephony services: 70 Call Hold (with Music) Consultation Hold 71 Unattended Transfer Attended Transfer 72 Unconditional Call Forwarding Busy Call Forwarding 73 No Answer Call Forwarding 3-way Call 74 Single-Line Extension Find-Me 75 Incoming Call Screening Outgoing Call Screening 77 It is the hope of the authors that this document will be useful for 78 SIP implementors, users, designers, and protocol researchers alike 79 and will help further the goal of a standard SIP implementation for 80 IP Telephony. It is envisioned that as changes to the standard and 81 additional RFCs are added that this document will reflect those 82 changes and represent the current state of a standard SIP IP 83 Telephony implementation. 85 These flows assume the functionality described in "SIP Telephony 86 Call Flow Examples" [2], which explores basic behavior and PSTN 87 internetworking. Some of the scenarios described herein make use of 88 "SIP Call Control Transfer" [3]. 90 These flows were prepared assuming a network of proxies, registrars, 91 PSTN gateways, and other SIP servers that have a pre-established 92 trust relationship with each other, secured through other means than 93 SIP. User agents wishing to use the services in this network are 94 required to authenticate themselves with an edge proxy using SIP 95 Digest. To improve the clarity of this document, authentication of 96 User Agents is not explicitly shown in all flows. 98 These flows use SIP as defined by RFC2543 [4]. 100 Each call flow is presented with a textual description of the 101 scenario, a message flow diagram showing the messages exchanged 102 between separate network elements, and the detailed contents of each 103 message shown in the diagram. 105 1.1 Legend for Message Flows 107 Dashed lines (---) represent control messages that are mandatory to 108 the call scenario. These control messages can be SIP or PSTN 109 signaling. 111 Double dashed lines (===) represent media paths between network 112 elements. 114 Messages with parenthesis around name represent optional control 115 messages. 117 Messages are identified in the Figures as F1, F2, etc. This 118 references the message details in the table that follows the Figure. 119 Comments in the message details are shown in the following form: 121 /* Comments. */ 123 1.2 Document History 125 The first version of this document was the Internet-Draft 126 "draft-sparks-sip-service-examples.txt" October 1999. 128 The next version was combined with the SIP Telephony Call Flows 129 document into the "draft-ietf-sip-call-flows-00.txt" April 2000. 131 This version is based on Section 7 of that document with many of the 132 examples extensively rewritten using the REFER method. 134 2 IP Telephony Services Features Call Flows 136 These call flows show how a number of standard telephony features can 137 be implemented using SIP. They are not meant to represent a complete 138 set. Some calls make use of SIP Call Control Extensions[3]. 140 2.1 Call Hold 142 User A Proxy User B 143 | | | 144 | INVITE F1 | | 145 |--------------->| | 146 | | INVITE F2 | 147 |(100 Trying) F3 |------------->| 148 |<---------------| | 149 | |180 Ringing F4| 150 | 180 Ringing F5 |<-------------| 151 |<---------------| | 152 | | 200 OK F6 | 153 | 200 OK F7 |<-------------| 154 |<---------------| | 155 | ACK F8 | | 156 |--------------->| ACK F9 | 157 | |------------->| 158 | Both way RTP Established | 159 |<=============================>| 160 | |INVITE (c=0) F10 161 |INVITE (c=0) F11|<-------------| 162 |<---------------| | 163 | 200 OK F12 | | 164 |--------------->| 200 OK F13 | 165 | |------------->| 166 | | ACK F14 | 167 | ACK F15 |<-------------| 168 |<---------------| | 169 | No RTP Sent! | 170 | | INVITE F16 | 171 | INVITE F17 |<-------------| 172 |<---------------| | 173 | 200 OK F18 | | 174 |--------------->| 200 OK F19 | 175 | |------------->| 176 | | ACK F20 | 177 | ACK F21 |<-------------| 178 |<---------------| | 179 | Both way RTP Established | 180 |<=============================>| 181 | BYE F22 | | 182 |--------------->| BYE F23 | 183 | |------------->| 184 | | 200 OK F24 | 185 | 200 OK F25 |<-------------| 186 |<---------------| | 187 | | | 189 User A calls User B, User B places call on hold. User B then takes 190 call off hold. User A hangs up call. 192 Message Details 194 F1 INVITE A -> Proxy 1 196 INVITE sip:UserB@there.com SIP/2.0 197 Via: SIP/2.0/UDP here.com:5060 198 From: BigGuy 199 To: LittleGuy 200 Call-ID: 12345601@here.com 201 CSeq: 1 INVITE 202 Contact: BigGuy 203 Content-Type: application/sdp 204 Content-Length: ... 206 v=0 207 o=UserA 2890844526 2890844526 IN IP4 client.here.com 208 s=Session SDP 209 c=IN IP4 100.101.102.103 210 t=3034423619 0 211 m=audio 49170 RTP/AVP 0 212 a=rtpmap:0 PCMU/8000 214 F2 INVITE Proxy 1 -> B 216 INVITE sip:UserB@there.com SIP/2.0 217 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 218 Via: SIP/2.0/UDP here.com:5060 219 Record-Route: 220 From: BigGuy 221 To: LittleGuy 222 Call-ID: 12345601@here.com 223 CSeq: 1 INVITE 224 Contact: BigGuy 225 Content-Type: application/sdp 226 Content-Length: ... 228 v=0 229 o=UserA 2890844526 2890844526 IN IP4 client.here.com 230 s=Session SDP 231 c=IN IP4 100.101.102.103 232 t=3034423619 0 233 m=audio 49170 RTP/AVP 0 234 a=rtpmap:0 PCMU/8000 236 F3 (100 Trying) Proxy 1 -> A 238 SIP/2.0 100 Trying 239 Via: SIP/2.0/UDP here.com:5060 240 From: BigGuy 241 To: LittleGuy 242 Call-ID: 12345601@here.com 243 CSeq: 1 INVITE 244 Content-Length: 0 246 F4 180 Ringing B -> Proxy 1 248 SIP/2.0 180 Ringing 249 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 250 Via: SIP/2.0/UDP here.com:5060 251 From: BigGuy 252 To: LittleGuy ;tag=314159 253 Call-ID: 12345601@here.com 254 CSeq: 1 INVITE 255 Content Length:0 257 F5 180 Ringing Proxy 1 -> A 259 SIP/2.0 180 Ringing 260 Via: SIP/2.0/UDP here.com:5060 261 From: BigGuy 262 To: LittleGuy ;tag=314159 263 Call-ID: 12345601@here.com 264 CSeq: 1 INVITE 265 Content Length: 0 267 F6 200 OK B -> Proxy 1 269 SIP/2.0 200 OK 270 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 271 Via: SIP/2.0/UDP here.com:5060 272 Record-Route: 273 From: BigGuy 274 To: LittleGuy ;tag=314159 275 Call-ID: 12345601@here.com 276 CSeq: 1 INVITE 277 Contact: LittleGuy 278 Content-Type: application/sdp 279 Content-Length: ... 281 v=0 282 o=UserB 2890844527 2890844527 IN IP4 client.there.com 283 s=Session SDP 284 c=IN IP4 110.111.112.113 285 t=3034423619 0 286 m=audio 3456 RTP/AVP 0 287 a=rtpmap:0 PCMU/8000 289 F7 200 OK Proxy 1 -> A 291 SIP/2.0 200 OK 292 Via: SIP/2.0/UDP here.com:5060 293 Record-Route: 294 From: BigGuy 295 To: LittleGuy ;tag=314159 296 Call-ID: 12345601@here.com 297 CSeq: 1 INVITE 298 Contact: LittleGuy 299 Content-Type: application/sdp 300 Content-Length: ... 302 v=0 303 o=UserB 2890844527 2890844527 IN IP4 client.there.com 304 s=Session SDP 305 c=IN IP4 110.111.112.113 306 t=3034423619 0 307 m=audio 3456 RTP/AVP 0 308 a=rtpmap:0 PCMU/8000 310 F8 ACK A -> Proxy 1 312 ACK sip:UserB@there.com SIP/2.0 313 Via: SIP/2.0/UDP here.com:5060 314 Route: 315 From: BigGuy 316 To: LittleGuy ;tag=314159 317 Call-ID: 12345601@here.com 318 CSeq: 1 ACK 319 Content-Length:0 321 F9 ACK Proxy 1 -> B 323 ACK sip:UserB@there.com SIP/2.0 324 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 325 Via: SIP/2.0/UDP here.com:5060 326 From: BigGuy 327 To: LittleGuy ;tag=314159 328 Call-ID: 12345601@here.com 329 CSeq: 1 ACK 330 Content-Length:0 332 /* User B places User A on hold. */ 334 F10 INVITE B -> Proxy 1 336 INVITE sip:UserA@here.com SIP/2.0 337 Via: SIP/2.0/UDP there.com:5060 338 Route: 339 From: LittleGuy ;tag=314159 340 To: BigGuy 341 Call-ID: 12345601@here.com 342 CSeq: 1 INVITE 343 Contact: LittleGuy 344 Content-Type: application/sdp 345 Content-Length: ... 347 v=0 348 o=UserB 2890844527 2890844527 IN IP4 client.there.com 349 s=Session SDP 350 c=IN IP4 0.0.0.0 351 t=3034423619 0 352 m=audio 3456 RTP/AVP 0 353 a=rtpmap:0 PCMU/8000 355 F11 INVITE Proxy 1 -> A 357 INVITE sip:UserA@here.com SIP/2.0 358 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 359 Via: SIP/2.0/UDP there.com:5060 360 Record-Route: 361 From: LittleGuy ;tag=314159 362 To: BigGuy 363 Call-ID: 12345601@here.com 364 CSeq: 1 INVITE 365 Contact: LittleGuy 366 Content-Type: application/sdp 367 Content-Length: ... 369 v=0 370 o=UserB 2890844527 2890844527 IN IP4 client.there.com 371 s=Session SDP 372 c=IN IP4 0.0.0.0 373 t=3034423619 0 374 m=audio 3456 RTP/AVP 0 375 a=rtpmap:0 PCMU/8000 376 F12 200 OK A -> Proxy 1 378 SIP/2.0 200 OK 379 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 380 Via: SIP/2.0/UDP there.com:5060 381 Record-Route: 382 From: LittleGuy ;tag=314159 383 To: BigGuy ;tag=1234567 384 Call-ID: 12345601@here.com 385 CSeq: 1 INVITE 386 Contact: BigGuy 387 Content-Type: application/sdp 388 Content-Length: ... 390 v=0 391 o=UserA 2890844526 2890844526 IN IP4 client.here.com 392 s=Session SDP 393 c=IN IP4 0.0.0.0 394 t=3034423619 0 395 m=audio 49170 RTP/AVP 0 396 a=rtpmap:0 PCMU/8000 398 F13 200 OK Proxy 1 -> B 400 SIP/2.0 200 OK 401 Via: SIP/2.0/UDP there.com:5060 402 Record-Route: 403 From: LittleGuy ;tag=314159 404 To: BigGuy ;tag=1234567 405 Call-ID: 12345601@here.com 406 CSeq: 1 INVITE 407 Contact: BigGuy 408 Content-Type: application/sdp 409 Content-Length: ... 411 v=0 412 o=UserA 2890844526 2890844526 IN IP4 client.here.com 413 s=Session SDP 414 c=IN IP4 0.0.0.0 415 t=3034423619 0 416 m=audio 49170 RTP/AVP 0 417 a=rtpmap:0 PCMU/8000 419 F14 ACK B -> Proxy 1 421 ACK sip:UserA@here.com SIP/2.0 422 Via: SIP/2.0/UDP there.com:5060 423 Route: 424 From: LittleGuy ;tag=314159 425 To: BigGuy ;tag=1234567 426 Call-ID: 12345601@here.com 427 CSeq: 1 ACK 428 Content-Length: 0 430 F15 ACK Proxy 1 -> A 432 ACK sip:UserA@here.com SIP/2.0 433 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 434 Via: SIP/2.0/UDP there.com:5060 435 From: LittleGuy ;tag=314159 436 To: BigGuy ;tag=1234567 437 Call-ID: 12345601@here.com 438 CSeq: 1 ACK 439 Content-Length: 0 441 /* User B takes the call off hold */ 443 F16 INVITE B -> Proxy 1 445 INVITE sip:UserA@here.com SIP/2.0 446 Via: SIP/2.0/UDP there.com:5060 447 Route: 448 From: LittleGuy ;tag=314159 449 To: BigGuy ;tag=1234567 450 Call-ID: 12345601@here.com 451 CSeq: 2 INVITE 452 Contact: LittleGuy 453 Content-Type: application/sdp 454 Content-Length: ... 456 v=0 457 o=UserB 2890844527 2890844527 IN IP4 client.there.com 458 s=Session SDP 459 c=IN IP4 110.111.112.113 460 t=3034423619 0 461 m=audio 3456 RTP/AVP 0 462 a=rtpmap:0 PCMU/8000 464 F17 INVITE Proxy 1 -> A 466 INVITE sip:UserA@here.com SIP/2.0 467 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 468 Via: SIP/2.0/UDP there.com:5060 469 Record-Route: 470 From: LittleGuy ;tag=314159 471 To: BigGuy ;tag=1234567 472 Call-ID: 12345601@here.com 473 CSeq: 2 INVITE 474 Contact: LittleGuy 475 Content-Type: application/sdp 476 Content-Length: ... 478 v=0 479 o=UserB 2890844527 2890844527 IN IP4 client.there.com 480 s=Session SDP 481 c=IN IP4 110.111.112.113 482 t=3034423619 0 483 m=audio 3456 RTP/AVP 0 484 a=rtpmap:0 PCMU/8000 486 F18 200 OK A -> Proxy 1 488 SIP/2.0 200 OK 489 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 490 Via: SIP/2.0/UDP there.com:5060 491 Record-Route: 492 From: LittleGuy ;tag=314159 493 To: BigGuy ;tag=1234567 494 Call-ID: 12345601@here.com 495 CSeq: 2 INVITE 496 Contact: BigGuy 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 F19 200 OK Proxy 1 -> B 510 SIP/2.0 200 OK 511 Via: SIP/2.0/UDP there.com:5060 512 Record-Route: 513 From: LittleGuy ;tag=314159 514 To: BigGuy ;tag=1234567 515 Call-ID: 12345601@here.com 516 CSeq: 2 INVITE 517 Contact: BigGuy 518 Content-Type: application/sdp 519 Content-Length: ... 521 v=0 522 o=UserA 2890844526 2890844526 IN IP4 client.here.com 523 s=Session SDP 524 c=IN IP4 100.101.102.103 525 t=3034423619 0 526 m=audio 49170 RTP/AVP 0 527 a=rtpmap:0 PCMU/8000 529 F20 ACK B -> Proxy 1 531 ACK sip:UserA@here.com SIP/2.0 532 Via: SIP/2.0/UDP there.com:5060 533 Route: 534 From: LittleGuy ;tag=314159 535 To: BigGuy ;tag=1234567 536 Call-ID: 12345601@here.com 537 CSeq: 2 ACK 538 Content-Length: 0 540 F21 ACK Proxy 1 -> A 542 ACK sip:UserA@here.com SIP/2.0 543 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 544 Via: SIP/2.0/UDP there.com:5060 545 From: LittleGuy ;tag=314159 546 To: BigGuy ;tag=1234567 547 Call-ID: 12345601@here.com 548 CSeq: 2 ACK 549 Content-Length: 0 551 /* RTP Media stream re-established. User A disconnects. */ 553 F22 BYE A -> Proxy 1 555 BYE sip:UserB@there.com SIP/2.0 556 Via: SIP/2.0/UDP here.com:5060 557 Route: 558 From: BigGuy ;tag=1234567 559 To: LittleGuy ;tag=314159 560 Call-ID: 12345601@here.com 561 CSeq: 2 BYE 562 Content-Length: 0 564 F23 BYE Proxy 1 -> B 566 BYE sip:UserB@there.com SIP/2.0 567 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 568 Via: SIP/2.0/UDP here.com:5060 569 From: BigGuy ;tag=1234567 570 To: LittleGuy ;tag=314159 571 Call-ID: 12345601@here.com 572 CSeq: 2 BYE 573 Content-Length: 0 575 F24 200 OK B -> Proxy 1 577 SIP/2.0 200 OK 578 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 579 Via: SIP/2.0/UDP here.com:5060 580 From: BigGuy ;tag=1234567 581 To: LittleGuy ;tag=314159 582 Call-ID: 12345601@here.com 583 CSeq: 2 BYE 584 Content-Length: 0 586 F25 200 OK Proxy 1 -> A 588 SIP/2.0 200 OK 589 Via: SIP/2.0/UDP here.com:5060 590 From: BigGuy ;tag=1234567 591 To: LittleGuy ;tag=314159 592 Call-ID: 12345601@here.com 593 CSeq: 2 BYE 594 Content-Length: 0 596 2.2 Music on Hold 598 User A User B Music Server 599 | | | 600 | INVITE F1 | | 601 |------------->| | 602 | 100 Trying F2| | 603 |<-------------| | 604 |180 Ringing F3| | 605 |<-------------| | 606 | 200 OK F4 | | 607 |<-------------| | 608 | ACK F5 | | 609 |------------->| | 610 | RTP Media | | 611 |<============>| | 612 | | | 613 |INVITE (c=0) F6 | 614 |<-------------| | 615 | 200 OK F7 | | 616 |------------->| | 617 | ACK F8 | | 618 |<-------------| | 619 | | | 620 | No RTP Sent! | | 621 | | | 622 | REFER Refer-To: sip:music@server.com F9 623 |<-------------| | 624 | 100 F10 | | 625 |------------->| | 626 | INVITE F11 Referred-By: B | 627 |---------------------------->| 628 | 200 OK a=sendonly F12 | 629 |<----------------------------| 630 | ACK F13 | 631 |---------------------------->| 632 | RTP Music | 633 |<============================| 634 | 200 OK F14 | | 635 |------------->| | 636 | | | 637 | User A is taken off Hold | 638 | | | 639 | REFER Refer-To: music@server.com;method=BYE F15 640 |<-------------| | 641 | 100 F16 | | 642 |------------->| | 643 | BYE F17 | 644 |---------------------------->| 645 | 200 OK F18 | 646 |<----------------------------| 647 | | | 648 | No more RTP Music | 649 | | | 650 | 200 OK F19 | | 651 |------------->| | 652 | INVITE F20 | | 653 |<-------------| | 654 | 200 OK F21 | | 655 |------------->| | 656 | ACK F22 | | 657 |<-------------| | 658 | RTP | | 659 |<============>| | 660 | | | 662 In this example, User A calls User B. User B then places User A on 663 hold, then REFERs User A to a Music Server for the music on hold 664 service. User A agrees to the music on hold and sends an INVITE to 665 the Music Server to establish the one way media session. Before User 666 B takes User A off hold, a REFER is sent to tell User A to send a BYE 667 to the Music Server to stop the music. Then User B takes User A off 668 hold. 670 Message Details. 672 F1 INVITE A -> B 674 INVITE sip:UserB@there.com SIP/2.0 675 Via: SIP/2.0/UDP there.com:5060 676 From: BigGuy 677 To: LittleGuy 678 Call-ID: 12345601@here.com 679 CSeq: 1 INVITE 680 Contact: BigGuy 681 Content-Type: application/sdp 682 Content-Length: ... 684 v=0 685 o=UserA 2890844526 2890844526 IN IP4 client.here.com 686 s=Session SDP 687 c=IN IP4 100.101.102.103 688 t=3034423619 0 689 m=audio 49170 RTP/AVP 0 690 a=rtpmap:0 PCMU/8000 692 F2 (100 Trying) B -> A 693 SIP/2.0 100 Trying 694 Via: SIP/2.0/UDP there.com:5060 695 From: BigGuy 696 To: LittleGuy 697 Call-ID: 12345601@here.com 698 CSeq: 1 INVITE 699 Content-Length: 0 701 F3 180 Ringing B -> A 703 SIP/2.0 180 Ringing 704 Via: SIP/2.0/UDP there.com:5060 705 From: BigGuy 706 To: LittleGuy ;tag=314159 707 Call-ID: 12345601@here.com 708 CSeq: 1 INVITE 709 Content-Length: 0 711 F4 200 OK B -> A 713 SIP/2.0 200 OK 714 Via: SIP/2.0/UDP there.com:5060 715 From: BigGuy 716 To: LittleGuy ;tag=314159 717 Call-ID: 12345601@here.com 718 CSeq: 1 INVITE 719 Contact: LittleGuy 720 Content-Type: application/sdp 721 Content-Length: ... 723 v=0 724 o=UserB 2890844527 2890844527 IN IP4 client.there.com 725 s=Session SDP 726 c=IN IP4 110.111.112.113 727 t=3034423619 0 728 m=audio 3456 RTP/AVP 0 729 a=rtpmap:0 PCMU/8000 731 F5 ACK A -> B 733 ACK sip:UserA@here.com SIP/2.0 734 Via: SIP/2.0/UDP there.com:5060 735 From: BigGuy 736 To: LittleGuy ;tag=314159 737 Call-ID: 12345601@here.com 738 CSeq: 1 ACK 739 Content-Length: 0 740 /* B places A on hold */ 742 F6 INVITE B -> A 744 INVITE sip:UserA@here.com SIP/2.0 745 Via: SIP/2.0/UDP there.com:5060 746 From: LittleGuy ;tag=314159 747 To: BigGuy 748 Call-ID: 12345601@here.com 749 CSeq: 1 INVITE 750 Contact: LittleGuy 751 Content-Type: application/sdp 752 Content-Length: ... 754 v=0 755 o=UserB 2890844527 2890844527 IN IP4 client.there.com 756 s=Session SDP 757 c=IN IP4 0.0.0.0 758 t=3034423619 0 759 m=audio 3456 RTP/AVP 0 760 a=rtpmap:0 PCMU/8000 762 F7 200 OK A -> B 764 SIP/2.0 200 OK 765 Via: SIP/2.0/UDP there.com:5060 766 From: LittleGuy ;tag=314159 767 To: BigGuy 768 Call-ID: 12345601@here.com 769 CSeq: 1 INVITE 770 Contact: BigGuy 771 Content-Type: application/sdp 772 Content-Length: ... 774 v=0 775 o=UserA 2890844526 2890844526 IN IP4 client.here.com 776 s=Session SDP 777 c=IN IP4 0.0.0.0 778 t=3034423619 0 779 m=audio 49170 RTP/AVP 0 780 a=rtpmap:0 PCMU/8000 782 F8 ACK B -> A 784 ACK sip:UserA@here.com SIP/2.0 785 Via: SIP/2.0/UDP there.com:5060 786 From: LittleGuy ;tag=314159 787 To: BigGuy 788 Call-ID: 12345601@here.com 789 CSeq: 1 ACK 790 Content-Length: 0 792 /* User B REFERS User A to a Music On Hold Server */ 794 F9 REFER B -> A 796 REFER sip:UserA@here.com SIP/2.0 797 Via: SIP/2.0/UDP there.com:5060 798 From: LittleGuy ;tag=314159 799 To: BigGuy 800 Call-ID: 12345601@here.com 801 CSeq: 2 REFER 802 Refer-To: 803 Content-Length: 0 805 F10 (100 Trying) A -> B 807 SIP/2.0 100 Trying 808 Via: SIP/2.0/UDP there.com:5060 809 From: LittleGuy ;tag=314159 810 To: BigGuy 811 Call-ID: 12345601@here.com 812 CSeq: 2 REFER 813 Content-Length: 0 815 /* User A connects to Music On Hold Server */ 817 F11 INVITE A -> Music Server 819 INVITE sip:music@server.com SIP/2.0 820 Via: SIP/2.0/UDP here.com:5060 821 From: BigGuy 822 To: 823 Call-ID: 12345601@here.com 824 CSeq: 2 INVITE 825 Contact: BigGuy 826 Referred-By: 827 Content-Type: application/sdp 828 Content-Length: ... 830 v=0 831 o=UserA 2890844526 2890844526 IN IP4 client.here.com 832 s=Session SDP 833 c=IN IP4 100.101.102.103 834 t=3034423619 0 835 m=audio 49170 RTP/AVP 0 836 a=rtpmap:0 PCMU/8000 837 a=recvonly 839 F12 200 OK Music Server -> A 841 SIP/2.0 200 OK 842 Via: SIP/2.0/UDP here.com:5060 843 From: BigGuy 844 To: ;tag=se83kw1 845 Call-ID: 12345601@here.com 846 CSeq: 2 INVITE 847 Contact: 848 Content-Type: application/sdp 849 Content-Length: ... 851 v=0 852 o=MusicServer 2890844526 2890844526 IN IP4 music.server.com 853 s=Session SDP 854 c=IN IP4 50.60.70.80 855 t=3034423619 0 856 m=audio 49170 RTP/AVP 0 857 a=rtpmap:0 PCMU/8000 858 a=sendonly 860 F13 ACK A -> Music Server 862 ACK sip:music@server.com SIP/2.0 863 Via: SIP/2.0/UDP here.com:5060 864 From: BigGuy 865 To: ;takg=se83kw1 866 Call-ID: 12345601@here.com 867 CSeq: 2 ACK 868 Content-Length: 0 870 /* User A now has Music and reports success back to B */ 872 F14 200 OK A -> B 874 SIP/2.0 200 OK 875 Via: SIP/2.0/UDP there.com:5060 876 From: LittleGuy ;tag=314159 877 To: BigGuy ;tag=1234567 878 Call-ID: 12345601@here.com 879 CSeq: 2 REFER 880 Content-Length: 0 882 /* User B prepares to take A off hold by first stopping music */ 883 F15 REFER B -> A 885 REFER sip:UserA@here.com SIP/2.0 886 Via: SIP/2.0/UDP there.com:5060 887 From: LittleGuy ;tag=314159 888 To: BigGuy ;tag=1234567 889 Call-ID: 12345601@here.com 890 CSeq: 3 REFER 891 Refer-To: 892 Content-Length: 0 894 F16 (100 Trying) A -> B 896 SIP/2.0 100 Trying 897 Via: SIP/2.0/UDP there.com:5060 898 From: LittleGuy ;tag=314159 899 To: BigGuy ;tag=1234567 900 Call-ID: 12345601@here.com 901 CSeq: 3 REFER 902 Content-Length: 0 904 F17 BYE A -> Music Server 906 BYE sip:music@server.com SIP/2.0 907 Via: SIP/2.0/UDP here.com:5060 908 From: BigGuy 909 To: ;tag=se83kw1 910 Call-ID: 12345601@here.com 911 CSeq: 3 BYE 912 Contact: BigGuy 913 Referred-By: 914 Content-Length: 0 916 F18 200 OK Music Server -> A 918 SIP/2.0 200 OK 919 Via: SIP/2.0/UDP here.com:5060 920 From: BigGuy 921 To: ;tag=se83kw1 922 Call-ID: 12345601@here.com 923 CSeq: 3 BYE 924 Content-Length: 0 926 /* Music is stopped, User A reports to B success */ 928 F19 200 OK A -> B 929 SIP/2.0 200 OK 930 Via: SIP/2.0/UDP there.com:5060 931 Route: 932 From: LittleGuy ;tag=314159 933 To: BigGuy ;tag=1234567 934 Call-ID: 12345601@here.com 935 CSeq: 3 REFER 936 Content-Length: 0 938 /* B now takes A off hold and continues session */ 940 F20 INVITE B -> A 942 INVITE sip:UserA@here.com SIP/2.0 943 Via: SIP/2.0/UDP there.com:5060 944 From: LittleGuy ;tag=314159 945 To: BigGuy ;tag=1234567 946 Call-ID: 12345601@here.com 947 CSeq: 4 INVITE 948 Contact: LittleGuy 949 Content-Type: application/sdp 950 Content-Length: ... 952 v=0 953 o=UserB 2890844527 2890844527 IN IP4 client.there.com 954 s=Session SDP 955 c=IN IP4 110.111.112.113 956 t=3034423619 0 957 m=audio 3456 RTP/AVP 0 958 a=rtpmap:0 PCMU/8000 960 F21 200 OK A -> B 962 SIP/2.0 200 OK 963 Via: SIP/2.0/UDP there.com:5060 964 From: LittleGuy ;tag=314159 965 To: BigGuy ;tag=1234567 966 Call-ID: 12345601@here.com 967 CSeq: 4 INVITE 968 Contact: BigGuy 969 Content-Type: application/sdp 970 Content-Length: ... 972 v=0 973 o=UserA 2890844526 2890844526 IN IP4 client.here.com 974 s=Session SDP 975 c=IN IP4 100.101.102.103 976 t=3034423619 0 977 m=audio 49170 RTP/AVP 0 978 a=rtpmap:0 PCMU/8000 980 F22 ACK B -> A 982 ACK sip:UserA@here.com SIP/2.0 983 Via: SIP/2.0/UDP there.com:5060 984 From: LittleGuy ;tag=314159 985 To: BigGuy ;tag=1234567 986 Call-ID: 12345601@here.com 987 CSeq: 4 ACK 988 Content-Length: 0 990 2.3 Consultation Hold 992 User A Proxy User B User C 993 | | | | 994 | INVITE F1 | | | 995 |--------------->| INVITE F2 | | 996 | |------------->| | 997 |(100 Trying) F3 | | | 998 |<---------------|180 Ringing F4| | 999 | |<-------------| | 1000 | 180 Ringing F5 | | | 1001 |<---------------| 200 OK F6 | | 1002 | |<-------------| | 1003 | 200 OK F7 | | | 1004 |<---------------| | | 1005 | ACK F8 | | | 1006 |--------------->| ACK F9 | | 1007 | |------------->| | 1008 | Both way RTP Established | | 1009 |<=============================>| | 1010 | |INVITE (c=0) F10 | 1011 |INVITE (c=0) F11|<-------------| | 1012 |<---------------| | | 1013 | 200 OK F12 | | | 1014 |--------------->| 200 OK F13 | | 1015 | |------------->| | 1016 | | ACK F14 | | 1017 | |<-------------| | 1018 | ACK F15 | | | 1019 |<---------------| | | 1020 | No RTP Sent! | | 1021 | | INVITE F16 | | 1022 | |<-------------| | 1023 | | | INVITE F17 | 1024 | |--------------------------------->| 1025 | |(100 Trying) F18 | 1026 | |------------->| | 1027 | | | 180 Ringing F19 | 1028 | |<---------------------------------| 1029 | | 180 Ringing F20 | 1030 | |------------->| | 1031 | | | 200 OK F21 | 1032 | |<---------------------------------| 1033 | | 200 OK F22 | | 1034 | |------------->| | 1035 | | ACK F23 | | 1036 | |<-------------| | 1037 | | | ACK F24 | 1038 | |--------------------------------->| 1039 | | Both way RTP Established | 1040 | | |<=================>| 1041 | | BYE F25 | | 1042 | |<-------------| | 1043 | | | BYE F26 | 1044 | |--------------------------------->| 1045 | | | 200 OK F27 | 1046 | |<---------------------------------| 1047 | | 200 OK F28 | | 1048 | |------------->| | 1049 | | INVITE F29 | | 1050 | INVITE F30 |<-------------| | 1051 |<---------------| | | 1052 | 200 OK F31 | | | 1053 |--------------->| 200 OK F32 | | 1054 | |------------->| | 1055 | | ACK F33 | | 1056 | |<-------------| | 1057 | ACK F34 | | | 1058 |<---------------| | | 1059 | Both way RTP Established | | 1060 |<=============================>| | 1061 | BYE F35 | | | 1062 |--------------->| BYE F36 | | 1063 | |------------->| | 1064 | | 200 OK F37 | | 1065 | |<-------------| | 1066 | 200 OK F38 | | | 1067 |<---------------| | | 1068 | | | | 1070 User A calls user B. User B places call on hold. User B calls User 1071 C, after that call is finished User B take the call with User A off 1072 hold. 1074 Message Details 1076 F1 INVITE A -> Proxy 1 1078 INVITE sip:UserB@there.com SIP/2.0 1079 Via: SIP/2.0/UDP here.com:5060 1080 From: BigGuy 1081 To: LittleGuy 1082 Call-ID: 12345600@here.com 1083 CSeq: 1 INVITE 1084 Contact: BigGuy 1085 Content-Type: application/sdp 1086 Content-Length: ... 1088 v=0 1089 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1090 s=Session SDP 1091 c=IN IP4 100.101.102.103 1092 t=3034423619 0 1093 m=audio 49170 RTP/AVP 0 1094 a=rtpmap:0 PCMU/8000 1096 F2 INVITE Proxy 1 -> B 1098 INVITE sip:UserB@there.com SIP/2.0 1099 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1100 Via: SIP/2.0/UDP here.com:5060 1101 Record-Route: 1102 From: BigGuy 1103 To: LittleGuy 1104 Call-ID: 12345600@here.com 1105 CSeq: 1 INVITE 1106 Contact: BigGuy 1107 Content-Type: application/sdp 1108 Content-Length: ... 1110 v=0 1111 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1112 s=Session SDP 1113 c=IN IP4 100.101.102.103 1114 t=3034423619 0 1115 m=audio 49170 RTP/AVP 0 1116 a=rtpmap:0 PCMU/8000 1118 F3(100 Trying) Proxy 1 -> A 1120 SIP/2.0 100 Trying 1121 Via: SIP/2.0/UDP here.com:5060 1122 From: BigGuy 1123 To: LittleGuy 1124 Call-ID: 12345600@here.com 1125 CSeq: 1 INVITE 1126 Content-Length: 0 1128 F4 180 Ringing B -> Proxy 1 1130 SIP/2.0 180 Ringing 1131 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1132 Via: SIP/2.0/UDP here.com:5060 1133 From: BigGuy 1134 To: LittleGuy ;tag=314159 1135 Call-ID: 12345600@here.com 1136 CSeq: 1 INVITE 1137 Content Length:0 1138 F5 180 Ringing Proxy 1 -> A 1140 SIP/2.0 180 Ringing 1141 Via: SIP/2.0/UDP here.com:5060 1142 From: BigGuy 1143 To: LittleGuy ;tag=314159 1144 Call-ID: 12345600@here.com 1145 CSeq: 1 INVITE 1146 Content Length: 0 1148 F6 200 OK B -> Proxy 1 1150 SIP/2.0 200 OK 1151 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1152 Via: SIP/2.0/UDP here.com:5060 1153 Record-Route: 1154 From: BigGuy 1155 To: LittleGuy ;tag=314159 1156 Call-ID: 12345600@here.com 1157 CSeq: 1 INVITE 1158 Contact: LittleGuy 1159 Content-Type: application/sdp 1160 Content-Length: ... 1162 v=0 1163 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1164 s=Session SDP 1165 c=IN IP4 110.111.112.113 1166 t=3034423619 0 1167 m=audio 3456 RTP/AVP 0 1168 a=rtpmap:0 PCMU/8000 1170 F7 200 OK Proxy 1 -> A 1172 SIP/2.0 200 OK 1173 Via: SIP/2.0/UDP here.com:5060 1174 Record-Route: 1175 From: BigGuy 1176 To: LittleGuy ;tag=314159 1177 Call-ID: 12345600@here.com 1178 CSeq: 1 INVITE 1179 Contact: LittleGuy 1180 Content-Type: application/sdp 1181 Content-Length: ... 1183 v=0 1184 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1185 s=Session SDP 1186 c=IN IP4 110.111.112.113 1187 t=3034423619 0 1188 m=audio 3456 RTP/AVP 0 1189 a=rtpmap:0 PCMU/8000 1191 F8 ACK A -> Proxy 1 1193 ACK sip:UserB@there.com SIP/2.0 1194 Via: SIP/2.0/UDP here.com:5060 1195 Route: 1196 From: BigGuy 1197 To: LittleGuy ;tag=314159 1198 Call-ID: 12345600@here.com 1199 CSeq: 1 ACK 1200 Content-Length:0 1202 F9 ACK Proxy 1 -> B 1204 ACK sip:UserB@there.com SIP/2.0 1205 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1206 Via: SIP/2.0/UDP here.com:5060 1207 From: BigGuy 1208 To: LittleGuy ;tag=314159 1209 Call-ID: 12345600@here.com 1210 CSeq: 1 ACK 1211 Content-Length:0 1213 /* User B places User A on hold. */ 1215 F10 INVITE B -> Proxy 1 1217 INVITE sip:UserA@here.com SIP/2.0 1218 Via: SIP/2.0/UDP there.com:5060 1219 Route: 1220 From: LittleGuy ;tag=314159 1221 To: BigGuy 1222 Call-ID: 12345600@here.com 1223 CSeq: 1 INVITE 1224 Contact: LittleGuy 1225 Content-Type: application/sdp 1226 Content-Length: ... 1228 v=0 1229 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1230 s=Session SDP 1231 c=IN IP4 0.0.0.0 1232 t=3034423619 0 1233 m=audio 3456 RTP/AVP 0 1234 a=rtpmap:0 PCMU/8000 1236 F11 INVITE Proxy 1 -> A 1238 INVITE sip:UserA@here.com SIP/2.0 1239 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1240 Via: SIP/2.0/UDP there.com:5060 1241 Record-Route: 1242 From: LittleGuy ;tag=314159 1243 To: BigGuy 1244 Call-ID: 12345600@here.com 1245 CSeq: 1 INVITE 1246 Contact: LittleGuy 1247 Content-Type: application/sdp 1248 Content-Length: ... 1250 v=0 1251 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1252 s=Session SDP 1253 c=IN IP4 0.0.0.0 1254 t=3034423619 0 1255 m=audio 3456 RTP/AVP 0 1256 a=rtpmap:0 PCMU/8000 1258 F12 200 OK A -> Proxy 1 1260 SIP/2.0 200 OK 1261 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1262 Via: SIP/2.0/UDP there.com:5060 1263 Record-Route: 1264 From: LittleGuy ;tag=314159 1265 To: BigGuy ;tag=1234567 1266 Call-ID: 12345600@here.com 1267 CSeq: 1 INVITE 1268 Contact: BigGuy 1269 Content-Type: application/sdp 1270 Content-Length: ... 1272 v=0 1273 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1274 s=Session SDP 1275 c=IN IP4 0.0.0.0 1276 t=3034423619 0 1277 m=audio 49170 RTP/AVP 0 1278 a=rtpmap:0 PCMU/8000 1280 F13 200 OK Proxy 1 -> B 1281 SIP/2.0 200 OK 1282 Via: SIP/2.0/UDP there.com:5060 1283 Record-Route: 1284 From: LittleGuy ;tag=314159 1285 To: BigGuy ;tag=1234567 1286 Call-ID: 12345600@here.com 1287 CSeq: 1 INVITE 1288 Contact: BigGuy 1289 Content-Type: application/sdp 1290 Content-Length: ... 1292 v=0 1293 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1294 s=Session SDP 1295 c=IN IP4 0.0.0.0 1296 t=3034423619 0 1297 m=audio 49170 RTP/AVP 0 1298 a=rtpmap:0 PCMU/8000 1300 F14 ACK B -> Proxy 1 1302 ACK sip:UserA@here.com SIP/2.0 1303 Via: SIP/2.0/UDP there.com:5060 1304 Route: 1305 From: LittleGuy ;tag=314159 1306 To: BigGuy ;tag=1234567 1307 Call-ID: 12345600@here.com 1308 CSeq: 1 ACK 1309 Content-Length: 0 1311 F15 ACK Proxy 1 -> A 1313 ACK sip:UserA@here.com SIP/2.0 1314 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1315 Via: SIP/2.0/UDP there.com:5060 1316 From: LittleGuy ;tag=314159 1317 To: BigGuy ;tag=1234567 1318 Call-ID: 12345600@here.com 1319 CSeq: 1 ACK 1320 Content-Length: 0 1322 F16 INVITE B -> Proxy 1 1324 INVITE sip:UserC@anywhere.com SIP/2.0 1325 Via: SIP/2.0/UDP there.com:5060 1326 From: LittleGuy 1327 To: OtherGuy 1328 Call-ID: 9876543210@there.com 1329 CSeq: 1 INVITE 1330 Contact: LittleGuy 1331 Content-Type: application/sdp 1332 Content-Length: ... 1334 v=0 1335 o=UserB 2890844526 2890844526 IN IP4 client.there.com 1336 s=Session SDP 1337 c=IN IP4 110.111.112.113 1338 t=3034423619 0 1339 m=audio 50170 RTP/AVP 0 1340 a=rtpmap:0 PCMU/8000 1342 F17 INVITE Proxy 1 -> C 1344 INVITE sip:UserC@anywhere.com SIP/2.0 1345 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1346 Via: SIP/2.0/UDP there.com:5060 1347 Record-Route: 1348 From: LittleGuy 1349 To: OtherGuy 1350 Call-ID: 9876543210@there.com 1351 CSeq: 1 INVITE 1352 Contact: LittleGuy 1353 Content-Type: application/sdp 1354 Content-Length: ... 1356 v=0 1357 o=UserB 2890844526 2890844526 IN IP4 client.there.com 1358 s=Session SDP 1359 c=IN IP4 110.111.112.113 1360 t=3034423619 0 1361 m=audio 50170 RTP/AVP 0 1362 a=rtpmap:0 PCMU/8000 1364 F18 (100 Trying) Proxy 1 -> B 1366 SIP/2.0 100 Trying 1367 Via: SIP/2.0/UDP there.com:5060 1368 From: LittleGuy 1369 To: OtherGuy 1370 Call-ID: 9876543210@there.com 1371 CSeq: 1 INVITE 1372 Content-Length: 0 1374 F19 180 Ringing C -> Proxy 1 1375 SIP/2.0 180 Ringing 1376 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1377 Via: SIP/2.0/UDP there.com:5060 1378 From: LittleGuy 1379 To: OtherGuy ;tag=456654 1380 Call-ID: 9876543210@here.com 1381 CSeq: 1 INVITE 1382 Content Length:0 1384 F20 180 Ringing Proxy 1 -> B 1386 SIP/2.0 180 Ringing 1387 Via: SIP/2.0/UDP there.com:5060 1388 From: LittleGuy 1389 To: OtherGuy ;tag=456654 1390 Call-ID: 9876543210@there.com 1391 CSeq: 1 INVITE 1392 Content Length: 0 1394 F21 200 OK C -> Proxy 1 1396 SIP/2.0 200 OK 1397 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1398 Via: SIP/2.0/UDP there.com:5060 1399 Record-Route: 1400 From: LittleGuy 1401 To: OtherGuy ;tag=456654 1402 Call-ID: 9876543210@there.com 1403 CSeq: 1 INVITE 1404 Contact: LittleGuy 1405 Content-Type: application/sdp 1406 Content-Length: ... 1408 v=0 1409 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com 1410 s=Session SDP 1411 c=IN IP4 120.121.122.123 1412 t=3034423619 0 1413 m=audio 3456 RTP/AVP 0 1414 a=rtpmap:0 PCMU/8000 1416 F22 200 OK Proxy 1 -> B 1418 SIP/2.0 200 OK 1419 Via: SIP/2.0/UDP there.com:5060 1420 Record-Route: 1421 From: LittleGuy 1422 To: OtherGuy ;tag=456654 1423 Call-ID: 9876543210@there.com 1424 CSeq: 1 INVITE 1425 Contact: OtherGuy 1426 Content-Type: application/sdp 1427 Content-Length: ... 1429 v=0 1430 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com 1431 s=Session SDP 1432 c=IN IP4 120.121.122.123 1433 t=3034423619 0 1434 m=audio 3456 RTP/AVP 0 1435 a=rtpmap:0 PCMU/8000 1437 F23 ACK B -> Proxy 1 1439 ACK sip:UserC@anywhere.com SIP/2.0 1440 Via: SIP/2.0/UDP there.com:5060 1441 Route: 1442 From: LittleGuy 1443 To: OtherGuy ;tag=456654 1444 Call-ID: 9876543210@there.com 1445 CSeq: 1 ACK 1446 Content-Length:0 1448 F24 ACK Proxy 1 -> C 1450 ACK sip:UserC@anywhere.com SIP/2.0 1451 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1452 Via: SIP/2.0/UDP there.com:5060 1453 From: LittleGuy 1454 To: OtherGuy ;tag=456654 1455 Call-ID: 9876543210@there.com 1456 CSeq: 1 ACK 1457 Content-Length:0 1459 F25 BYE B -> Proxy 1 1461 BYE sip:UserC@anywhere.com SIP/2.0 1462 Via: SIP/2.0/UDP there.com:5060 1463 Route: 1464 From: LittleGuy 1465 To: OtherGuy ;tag=456654 1466 Call-ID: 9876543210@there.com 1467 CSeq: 2 BYE 1468 Content-Length: 0 1469 F26 BYE Proxy 1 -> C 1471 BYE sip:UserC@anywhere.com SIP/2.0 1472 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1473 Via: SIP/2.0/UDP there.com:5060 1474 From: LittleGuy 1475 To: OtherGuy ;tag=456654 1476 Call-ID: 9876543210@there.com 1477 CSeq: 2 BYE 1478 Content-Length: 0 1480 F27 200 OK C -> Proxy 1 1482 SIP/2.0 200 OK 1483 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1484 Via: SIP/2.0/UDP there.com:5060 1485 From: LittleGuy 1486 To: OtherGuy ;tag=456654 1487 Call-ID: 9876543210@there.com 1488 CSeq: 2 BYE 1489 Content-Length: 0 1491 F28 200 OK Proxy 1 -> B 1493 SIP/2.0 200 OK 1494 Via: SIP/2.0/UDP there.com:5060 1495 From: LittleGuy 1496 To: OtherGuy ;tag=456654 1497 Call-ID: 9876543210@there.com 1498 CSeq: 2 BYE 1499 Content-Length: 0 1501 /* User B takes the call off hold */ 1503 F29 INVITE B -> Proxy 1 1505 INVITE sip:UserA@here.com SIP/2.0 1506 Via: SIP/2.0/UDP there.com:5060 1507 Route: 1508 From: LittleGuy ;tag=314159 1509 To: BigGuy ;tag=1234567 1510 Call-ID: 12345600@here.com 1511 CSeq: 2 INVITE 1512 Contact: LittleGuy 1513 Content-Type: application/sdp 1514 Content-Length: ... 1516 v=0 1517 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1518 s=Session SDP 1519 c=IN IP4 110.111.112.113 1520 t=3034423619 0 1521 m=audio 3456 RTP/AVP 0 1522 a=rtpmap:0 PCMU/8000 1524 F30 INVITE Proxy 1 -> A 1526 INVITE sip:UserA@here.com SIP/2.0 1527 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1528 Via: SIP/2.0/UDP there.com:5060 1529 Record-Route: 1530 From: LittleGuy ;tag=314159 1531 To: BigGuy ;tag=1234567 1532 Call-ID: 12345600@here.com 1533 CSeq: 2 INVITE 1534 Contact: LittleGuy 1535 Content-Type: application/sdp 1536 Content-Length: ... 1538 v=0 1539 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1540 s=Session SDP 1541 c=IN IP4 110.111.112.113 1542 t=3034423619 0 1543 m=audio 3456 RTP/AVP 0 1544 a=rtpmap:0 PCMU/8000 1546 F31 200 OK A -> Proxy 1 1548 SIP/2.0 200 OK 1549 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1550 Via: SIP/2.0/UDP there.com:5060 1551 Record-Route: 1552 From: LittleGuy ;tag=314159 1553 To: BigGuy ;tag=1234567 1554 Call-ID: 12345600@here.com 1555 CSeq: 2 INVITE 1556 Contact: BigGuy 1557 Content-Type: application/sdp 1558 Content-Length: ... 1560 v=0 1561 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1562 s=Session SDP 1563 c=IN IP4 100.101.102.103 1564 t=3034423619 0 1565 m=audio 49170 RTP/AVP 0 1566 a=rtpmap:0 PCMU/8000 1568 F32 200 OK Proxy 1 -> B 1570 SIP/2.0 200 OK 1571 Via: SIP/2.0/UDP there.com:5060 1572 Record-Route: 1573 From: LittleGuy ;tag=314159 1574 To: BigGuy ;tag=1234567 1575 Call-ID: 12345600@here.com 1576 CSeq: 2 INVITE 1577 Contact: BigGuy 1578 Content-Type: application/sdp 1579 Content-Length: ... 1581 v=0 1582 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1583 s=Session SDP 1584 c=IN IP4 100.101.102.103 1585 t=3034423619 0 1586 m=audio 49170 RTP/AVP 0 1587 a=rtpmap:0 PCMU/8000 1589 F33 ACK B -> Proxy 1 1591 ACK sip:UserA@here.com SIP/2.0 1592 Via: SIP/2.0/UDP there.com:5060 1593 Route: 1594 From: LittleGuy ;tag=314159 1595 To: BigGuy ;tag=1234567 1596 Call-ID: 12345600@here.com 1597 CSeq: 2 ACK 1598 Content-Length: 0 1600 F34 ACK Proxy 1 -> A 1602 ACK sip:UserA@here.com SIP/2.0 1603 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1604 Via: SIP/2.0/UDP there.com:5060 1605 From: LittleGuy ;tag=314159 1606 To: BigGuy ;tag=1234567 1607 Call-ID: 12345600@here.com 1608 CSeq: 2 ACK 1609 Content-Length: 0 1611 F35 BYE A -> Proxy 1 1612 BYE sip:UserB@there.com SIP/2.0 1613 Via: SIP/2.0/UDP here.com:5060 1614 Route: 1615 From: BigGuy ;tag=1234567 1616 To: LittleGuy ;tag=314159 1617 Call-ID: 12345600@here.com 1618 CSeq: 2 BYE 1619 Content-Length: 0 1621 F36 BYE Proxy 1 -> B 1623 BYE sip:UserB@there.com SIP/2.0 1624 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1625 Via: SIP/2.0/UDP here.com:5060 1626 From: BigGuy ;tag=1234567 1627 To: LittleGuy ;tag=314159 1628 Call-ID: 12345600@here.com 1629 CSeq: 2 BYE 1630 Content-Length: 0 1632 F37 200 OK B -> Proxy 1 1634 SIP/2.0 200 OK 1635 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 1636 Via: SIP/2.0/UDP here.com:5060 1637 From: BigGuy ;tag=1234567 1638 To: LittleGuy ;tag=314159 1639 Call-ID: 12345600@here.com 1640 CSeq: 2 BYE 1641 Content-Length: 0 1643 F38 200 OK Proxy 1 -> A 1645 SIP/2.0 200 OK 1646 Via: SIP/2.0/UDP here.com:5060 1647 From: BigGuy ;tag=1234567 1648 To: LittleGuy ;tag=314159 1649 Call-ID: 12345600@here.com 1650 CSeq: 2 BYE 1651 Content-Length: 0 1653 2.4 Unattended Transfer 1655 This example is taken directly from "SIP Call Control Transfer"[3] 1656 section 4.4.1. 1658 User A User B User C 1659 | INVITE F1 | | 1660 |<-------------------| | 1661 | 200 OK F2 | | 1662 |------------------->| | 1663 | ACK F3 | | 1664 |<-------------------| | 1665 | RTP | | 1666 |<==================>| | 1667 | | | 1668 | INVITE (hold) F4 | | 1669 |------------------->| | 1670 | 200 OK F5 | | 1671 |<-------------------| | 1672 | ACK F6 | | 1673 |------------------->| | 1674 | | | 1675 | No RTP Sent! | | 1676 | | | 1677 | REFER Refer-To: C F7 | 1678 |------------------->| | 1679 | 100 Trying F8 | | 1680 |<-------------------| | 1681 | | INVITE F9 | 1682 | |------------------->| 1683 | | 200 OK F10 | 1684 | |<-------------------| 1685 | | ACK F11 | 1686 | |------------------->| 1687 | | RTP | 1688 | |<==================>| 1689 | 200 OK F12 | | 1690 |<-------------------| | 1691 | BYE F13 | | 1692 |------------------->| | 1693 | 200 OK F14 | | 1694 |<-------------------| | 1695 | | | 1697 User B call User A. User B then transfers User A to User C. User B 1698 hangs up the call. 1700 Message Details 1702 F1 INVITE B -> A 1704 INVITE sip:UserA@here.com SIP/2.0 1705 Via: SIP/2.0/UDP there.com:5060 1706 From: LittleGuy 1707 To: BigGuy 1708 Call-ID: 12345601@here.com 1709 CSeq: 1 INVITE 1710 Contact: LittleGuy 1711 Content-Type: application/sdp 1712 Content-Length: ... 1714 v=0 1715 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1716 s=Session SDP 1717 c=IN IP4 110.111.112.113 1718 t=3034423619 0 1719 m=audio 3456 RTP/AVP 0 1720 a=rtpmap:0 PCMU/8000 1722 F2 200 OK A -> B 1724 SIP/2.0 200 OK 1725 Via: SIP/2.0/UDP there.com:5060 1726 From: LittleGuy 1727 To: BigGuy ;tag=314159 1728 Call-ID: 12345601@here.com 1729 CSeq: 1 INVITE 1730 Contact: BigGuy 1731 Content-Type: application/sdp 1732 Content-Length: ... 1734 v=0 1735 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1736 s=Session SDP 1737 c=IN IP4 100.101.102.103 1738 t=3034423619 0 1739 m=audio 49170 RTP/AVP 0 1740 a=rtpmap:0 PCMU/8000 1742 F3 ACK B -> A 1744 ACK sip:UserA@here.com SIP/2.0 1745 Via: SIP/2.0/UDP there.com:5060 1746 From: LittleGuy ;tag=314159 1747 To: BigGuy 1748 Call-ID: 12345601@here.com 1749 CSeq: 1 ACK 1750 Content-Length: 0 1752 /* Session is established between A and B. User B then places User A 1753 on hold */ 1755 F4 INVITE A -> B 1757 INVITE sip:UserB@there.com SIP/2.0 1758 Via: SIP/2.0/UDP there.com:5060 1759 From: BigGuy 1760 To: LittleGuy ;tag=314159 1761 Call-ID: 12345601@here.com 1762 CSeq: 1 INVITE 1763 Contact: BigGuy 1764 Content-Type: application/sdp 1765 Content-Length: ... 1767 v=0 1768 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1769 s=Session SDP 1770 c=IN IP4 0.0.0.0 1771 t=3034423619 1772 m=audio 49170 RTP/AVP 0 1773 a=rtpmap:0 PCMU/8000 1775 F5 200 OK B -> A 1777 SIP/2.0 200 OK 1778 Via: SIP/2.0/UDP there.com:5060 1779 From: BigGuy 1780 To: LittleGuy ;tag=314159 1781 Call-ID: 12345601@here.com 1782 CSeq: 1 INVITE 1783 Contact: LittleGuy 1784 Content-Type: application/sdp 1785 Content-Length: ... 1787 v=0 1788 o=UserB 2890844527 2890844527 IN IP4 client.there.com 1789 s=Session SDP 1790 c=IN IP4 0.0.0.0 1791 t=3034423619 0 1792 m=audio 3456 RTP/AVP 0 1793 a=rtpmap:0 PCMU/8000 1794 F6 ACK A -> B 1796 ACK sip:UserA@here.com SIP/2.0 1797 Via: SIP/2.0/UDP there.com:5060 1798 From: BigGuy 1799 To: LittleGuy ;tag=314159 1800 Call-ID: 12345601@here.com 1801 CSeq: 1 ACK 1802 Content-Length: 0 1804 /* B is now on hold. A transfers B to C */ 1806 F7 REFER A -> B 1808 REFER sip:UserB@there.com SIP/2.0 1809 Via: SIP/2.0/UDP there.com:5060 1810 From: BigGuy 1811 To: LittleGuy ;tag=314159 1812 Call-ID: 12345601@here.com 1813 CSeq: 2 REFER 1814 Refer-To: 1815 Content-Length: 0 1817 F8 (100 Trying) B -> A 1819 SIP/2.0 100 Trying 1820 Via: SIP/2.0/UDP there.com:5060 1821 From: BigGuy 1822 To: LittleGuy ;tag=314159 1823 Call-ID: 12345601@here.com 1824 CSeq: 2 REFER 1825 Content-Length: 0 1827 F9 INVITE B -> C 1829 INVITE sip:UserC@anywhere.com SIP/2.0 1830 Via: SIP/2.0/UDP there.com:5060 1831 From: LittleGuy 1832 To: OtherGuy 1833 Call-ID: 12345601@here.com 1834 CSeq: 2 INVITE 1835 Contact: LittleGuy 1836 Content-Type: application/sdp 1837 Content-Length: ... 1839 v=0 1840 o=UserB 2890844539 2890844539 IN IP4 client.there.com 1841 s=Session SDP 1842 c=IN IP4 110.111.112.113 1843 t=3034423821 0 1844 m=audio 3458 RTP/AVP 0 1845 a=rtpmap:0 PCMU/8000 1847 F10 200 OK C -> B 1849 SIP/2.0 200 OK 1850 Via: SIP/2.0/UDP there.com:5060 1851 From: LittleGuy 1852 To: OtherGuy ;tag=928287 1853 Call-ID: 12345601@here.com 1854 CSeq: 2 INVITE 1855 Contact: OtherGuy 1856 Content-Type: application/sdp 1857 Content-Length: ... 1859 v=0 1860 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com 1861 s=Session SDP 1862 c=IN IP4 120.121.122.123 1863 t=3034423619 0 1864 m=audio 3456 RTP/AVP 0 1865 a=rtpmap:0 PCMU/8000 1867 F11 ACK B -> C 1869 ACK sip:UserC@anywhere.com SIP/2.0 1870 Via: SIP/2.0/UDP there.com:5060 1871 From: LittleGuy 1872 To: OtherGuy ;tag=928287 1873 Call-ID: 12345601@here.com 1874 CSeq: 2 ACK 1875 Content-Length: 0 1877 /* B and C now have established a session. B reports success to A */ 1879 F12 200 OK B -> A 1881 SIP/2.0 200 OK 1882 Via: SIP/2.0/UDP there.com:5060 1883 From: BigGuy 1884 To: LittleGuy ;tag=314159 1885 Call-ID: 12345601@here.com 1886 CSeq: 2 REFER 1887 Content-Length: 0 1888 /* A now disconnects with B */ 1890 F13 BYE A -> B 1892 BYE sip:UserA@here.com SIP/2.0 1893 Via: SIP/2.0/UDP there.com:5060 1894 From: BigGuy 1895 To: LittleGuy ;tag=314159 1896 Call-ID: 12345601@here.com 1897 CSeq: 3 BYE 1898 Content-Length: 0 1900 F14 200 OK B -> A 1902 SIP/2.0 200 OK 1903 Via: SIP/2.0/UDP there.com:5060 1904 From: BigGuy 1905 To: LittleGuy ;tag=314159 1906 Call-ID: 12345601@here.com 1907 CSeq: 3 BYE 1908 Content-Length: 0 1910 2.5 Attended Transfer 1912 User A User B User C 1913 | | | 1914 | INVITE F1 | | 1915 |--------------->| | 1916 |(100 Trying) F2 | | 1917 |<---------------| | 1918 | 180 Ringing F3 | | 1919 |<---------------| | 1920 | 200 OK F4 | | 1921 |<---------------| | 1922 | ACK F5 | | 1923 |--------------->| | 1924 | RTP | | 1925 |<==============>| | 1926 | INVITE c=0 F6 | | 1927 |<---------------| | 1928 | 200 OK F7 | | 1929 |--------------->| | 1930 | ACK F8 | | 1931 |<---------------| | 1932 | No RTP Sent! | | 1933 | | INVITE F9 | 1934 | |------------->| 1935 | |(100 Trying) F10 1936 | |<-------------| 1937 | | 180 Ringing F11 1938 | |<-------------| 1939 | | 200 OK F12 | 1940 | |<-------------| 1941 | | ACK F13 | 1942 | |------------->| 1943 | | RTP | 1944 | |<============>| 1945 | REFER to C F14 | | 1946 |<---------------| | 1947 |(100 Trying) F15| | 1948 |--------------->| | 1949 | INVITE F16 | 1950 |------------------------------>| 1951 | 200 OK F17 | 1952 |<------------------------------| 1953 | ACK F18 | 1954 |------------------------------>| 1955 | RTP | 1956 |<=============================>| 1957 | 200 OK F19 | | 1958 |--------------->| | 1959 | BYE F20 | | 1960 |<---------------| | 1961 | 200 OK F21 | | 1962 |--------------->| BYE F22 | 1963 | |------------->| 1964 | | 200 OK F23 | 1965 | |<-------------| 1967 User A calls User B. User B puts User A on hold, and Calls user C to 1968 announce transfer. User B transfers User A to User C while 1969 maintaining sessions with both A and C. Once the session between A 1970 and C is successfully established, User B hangs up on both A and C. 1972 Message Details 1974 F1 INVITE A -> B 1976 INVITE sip:UserB@there.com SIP/2.0 1977 Via: SIP/2.0/UDP here.com:5060 1978 From: BigGuy 1979 To: LittleGuy 1980 Call-ID: 12345600@here.com 1981 CSeq: 1 INVITE 1982 Contact: BigGuy 1983 Content-Type: application/sdp 1984 Content-Length: ... 1986 v=0 1987 o=UserA 2890844526 2890844526 IN IP4 client.here.com 1988 s=Session SDP 1989 c=IN IP4 100.101.102.103 1990 t=3034423619 0 1991 m=audio 49170 RTP/AVP 0 1992 a=rtpmap:0 PCMU/8000 1994 F2 (100 Trying B -> A) 1996 SIP/2.0 100 Trying 1997 Via: SIP/2.0/UDP here.com:5060 1998 From: BigGuy 1999 To: LittleGuy 2000 Call-ID: 12345600@here.com 2001 CSeq: 1 INVITE 2002 Content-Length: 0 2004 F3 180 Ringing B -> A 2006 SIP/2.0 180 Ringing 2007 Via: SIP/2.0/UDP here.com:5060 2008 From: BigGuy 2009 To: LittleGuy ;tag=23431 2010 Call-ID: 12345600@here.com 2011 CSeq: 1 INVITE 2012 Content-Length: 0 2014 F4 200 OK B -> A 2016 SIP/2.0 200 OK 2017 Via: SIP/2.0/UDP here.com:5060 2018 From: BigGuy 2019 To: LittleGuy ;tag=23431 2020 Call-ID: 12345600@here.com 2021 CSeq: 1 INVITE 2022 Contact: BigGuy 2023 Content-Type: application/sdp 2024 Content-Length: ... 2026 v=0 2027 o=UserB 2890844527 2890844527 IN IP4 client.there.com 2028 s=Session SDP 2029 c=IN IP4 110.111.112.113 2030 t=3034423619 0 2031 m=audio 3456 RTP/AVP 0 2032 a=rtpmap:0 PCMU/8000 2034 F5 ACK A -> B 2036 ACK sip:UserB@there.com SIP/2.0 2037 Via: SIP/2.0/UDP here.com:5060 2038 From: BigGuy 2039 To: LittleGuy 2040 Call-ID: 12345600@here.com 2041 CSeq: 1 ACK 2042 Content-Length: 0 2044 /* User A and User B have established a session. User B puts User A 2045 on Hold */ 2047 F6 INVITE B -> A 2049 INVITE sip:UserA@here.com SIP/2.0 2050 Via: SIP/2.0/UDP there.com:5060 2051 From: LittleGuy ;tag=23431 2052 To: BigGuy 2053 Call-ID: 12345600@here.com 2054 CSeq: 1024 INVITE 2055 Contact: BigGuy 2056 Content-Type: application/sdp 2057 Content-Length: ... 2059 v=0 2060 o=UserB 2890844527 2890844527 IN IP4 client.there.com 2061 s=Session SDP 2062 c=IN IP4 0.0.0.0 2063 t=3034423619 0 2064 m=audio 3456 RTP/AVP 0 2065 a=rtpmap:0 PCMU/8000 2067 F7 200 OK A -> B 2069 SIP/2.0 200 OK 2070 Via: SIP/2.0/UDP there.com:5060 2071 From: LittleGuy ;tag=23431 2072 To: BigGuy 2073 Call-ID: 12345600@here.com 2074 CSeq: 1024 INVITE 2075 Contact: LittleGuy 2076 Content-Type: application/sdp 2077 Content-Length: ... 2079 v=0 2080 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2081 s=Session SDP 2082 c=IN IP4 0.0.0.0 2083 t=3034423619 0 2084 m=audio 49170 RTP/AVP 0 2085 a=rtpmap:0 PCMU/8000 2087 F8 ACK B -> A 2089 ACK sip:UserA@here.com SIP/2.0 2090 Via: SIP/2.0/UDP there.com:5060 2091 From: LittleGuy ;tag=23431 2092 To: BigGuy 2093 Call-ID: 12345600@here.com 2094 CSeq: 1024 ACK 2095 Content-Length: 0 2097 /* User B calls User C */ 2099 F9 INVITE B -> A 2101 INVITE sip:UserA@here.com SIP/2.0 2102 Via: SIP/2.0/UDP there.com:5060 2103 From: LittleGuy 2104 To: OtherGuy 2105 Call-ID: 12345600@here.com 2106 CSeq: 1025 INVITE 2107 Contact: BigGuy 2108 Content-Type: application/sdp 2109 Content-Length: ... 2111 v=0 2112 o=UserB 2890844528 2890844528 IN IP4 client.there.com 2113 s=Session SDP 2114 c=IN IP4 110.111.112.113 2115 t=3034423645 0 2116 m=audio 3458 RTP/AVP 0 2117 a=rtpmap:0 PCMU/8000 2119 F10 (100 Trying C -> B) 2121 SIP/2.0 100 Trying 2122 Via: SIP/2.0/UDP there.com:5060 2123 From: LittleGuy 2124 To: OtherGuy 2125 Call-ID: 12345600@here.com 2126 CSeq: 1025 INVITE 2127 Content-Length: 0 2129 F11 180 Ringing C -> B 2131 SIP/2.0 180 Ringing 2132 Via: SIP/2.0/UDP there.com:5060 2133 From: LittleGuy 2134 To: OtherGuy ;tag=5f35a3 2135 Call-ID: 12345600@here.com 2136 CSeq: 1025 INVITE 2137 Content-Length: 0 2139 F12 200 OK C -> B 2141 SIP/2.0 200 OK 2142 Via: SIP/2.0/UDP there.com:5060 2143 From: LittleGuy 2144 To: OtherGuy ;tag=5f35a3 2145 Call-ID: 12345600@here.com 2146 CSeq: 1025 INVITE 2147 Contact: OtherGuy 2148 Content-Type: application/sdp 2149 Content-Length: ... 2151 v=0 2152 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com 2153 s=Session SDP 2154 c=IN IP4 120.121.122.123 2155 t=3034423619 0 2156 m=audio 3456 RTP/AVP 0 2157 a=rtpmap:0 PCMU/8000 2159 F13 ACK B -> C 2161 ACK sip:UserC@anywhere.com SIP/2.0 2162 Via: SIP/2.0/UDP there.com:5060 2163 From: LittleGuy 2164 To: OtherGuy ;tag=5f35a3 2165 Call-ID: 12345600@here.com 2166 CSeq: 1025 ACK 2167 Content-Length: 0 2169 /* User B Transfers User A to User C */ 2171 F14 REFER B -> A 2173 REFER sip:UserA@here.com SIP/2.0 2174 Via: SIP/2.0/UDP there.com:5060 2175 From: LittleGuy 2176 To: BigGuy ;tag=23431 2177 Call-ID: 12345600@here.com 2178 CSeq: 1026 REFER 2179 Refer-To: 2180 Content-Length: 0 2182 F15 (100 Trying) A -> B 2184 SIP/2.0 100 Trying 2185 Via: SIP/2.0/UDP there.com:5060 2186 From: LittleGuy 2187 To: BigGuy ;tag=23431 2188 Call-ID: 12345600@here.com 2189 CSeq: 1026 REFER 2190 Content-Length: 0 2192 /* User A calls User C */ 2194 F16 INVITE A -> C 2196 INVITE sip:UserC@anywhere.com SIP/2.0 2197 Via: SIP/2.0/UDP here.com:5060 2198 From: BigGuy 2199 To: OtherGuy 2200 Call-ID: 12345600@here.com 2201 CSeq: 2 INVITE 2202 Referred-By: 2203 Contact: BigGuy 2204 Content-Type: application/sdp 2205 Content-Length: ... 2207 v=0 2208 o=UserA 2890844538 2890844538 IN IP4 client.here.com 2209 s=Session SDP 2210 c=IN IP4 100.101.102.103 2211 t=3034423452 0 2212 m=audio 49172 RTP/AVP 0 2213 a=rtpmap:0 PCMU/8000 2215 F17 200 OK C -> A 2217 SIP/2.0 200 OK 2218 Via: SIP/2.0/UDP here.com:5060 2219 From: BigGuy 2220 To: OtherGuy ;tag=ff3a 2221 Call-ID: 12345601@here.com 2222 CSeq: 2 INVITE 2223 Contact: OtherGuy 2224 Content-Type: application/sdp 2225 Content-Length: ... 2227 v=0 2228 o=UserC 2890844529 2890844529 IN IP4 client.anywhere.com 2229 s=Session SDP 2230 c=IN IP4 120.121.122.123 2231 t=3034423643 0 2232 m=audio 3458 RTP/AVP 0 2233 a=rtpmap:0 PCMU/8000 2235 F18 ACK A -> C 2237 ACK sip:UserC@anywhere.com SIP/2.0 2238 Via: SIP/2.0/UDP here.com:5060 2239 From: BigGuy 2240 To: OtherGuy ;tag=ff3a 2241 Call-ID: 12345601@here.com 2242 CSeq: 2 INVITE 2243 Content-Length: 0 2244 /* User A tells User B that the call has been successfully 2245 transferred */ 2247 F19 200 OK A -> B 2249 SIP/2.0 200 OK 2250 Via: SIP/2.0/UDP there.com:5060 2251 From: LittleGuy 2252 To: BigGuy ;tag=23431 2253 Call-ID: 12345600@here.com 2254 CSeq: 1026 REFER 2255 Content-Length: 0 2257 /* User B then disconnects from both User A and User C */ 2259 F20 BYE B -> A 2261 BYE sip:UserA@here.com SIP/2.0 2262 Via: SIP/2.0/UDP there.com:5060 2263 From: LittleGuy 2264 To: BigGuy ;tag=23431 2265 Call-ID: 12345600@here.com 2266 CSeq: 1027 BYE 2267 Content-Length: 0 2269 F21 200 OK A -> B 2271 SIP/2.0 200 OK 2272 Via: SIP/2.0/UDP there.com:5060 2273 From: LittleGuy 2274 To: BigGuy ;tag=23431 2275 Call-ID: 12345600@here.com 2276 CSeq: 1027 BYE 2277 Content-Length: 0 2279 F22 BYE B -> C 2281 BYE sip:UserC@anywhere.com SIP/2.0 2282 Via: SIP/2.0/UDP here.com:5060 2283 From: LittleGuy 2284 To: OtherGuy ;tag=5f35a3 2285 Call-ID: 12345600@here.com 2286 CSeq: 1028 BYE 2287 Content-Length: 0 2289 F23 200 OK C -> B 2290 SIP/2.0 200 OK 2291 Via: SIP/2.0/UDP here.com:5060 2292 From: LittleGuy 2293 To: OtherGuy ;tag=5f35a3 2294 Call-ID: 12345601@here.com 2295 CSeq: 1028 BYE 2296 Content-Length: 0 2298 2.6 Call Forwarding Unconditional 2300 User A Proxy Gateway 2301 | | | 2302 | INVITE F1 | | 2303 |--------------->| INVITE F2 | 2304 |(100 Trying) F3 |------------->| 2305 |<---------------|180 Ringing F4| 2306 | 180 Ringing F5 |<-------------| 2307 |<---------------| 200 OK F6 | 2308 | 200 OK F7 |<-------------| 2309 |<---------------| | 2310 | ACK F8 | | 2311 |--------------->| ACK F9 | 2312 | |------------->| 2313 | Both way RTP Established | 2314 |<=============================>| 2315 | BYE F10 | | 2316 |--------------->| BYE F11 | 2317 | |------------->| 2318 | | 200 OK F12 | 2319 | 200 OK F13 |<-------------| 2320 |<---------------| | 2321 | | | 2323 User B wants all calls forwarded to the PSTN. User A calls User B. 2324 The Proxy server rewrites the request URI, and forwards the INVITE to 2325 a Gateway. Details of messaging behind the Gateway are not shown. 2327 Message Details 2329 F1 INVITE A -> Proxy 2331 INVITE sip:UserB@there.com SIP/2.0 2332 Via: SIP/2.0/UDP here.com:5060 2333 From: BigGuy 2334 To: LittleGuy 2335 Call-ID: 12345600@here.com 2336 CSeq: 1 INVITE 2337 Contact: BigGuy 2338 Content-Type: application/sdp 2339 Content-Length: ... 2341 v=0 2342 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2343 s=Session SDP 2344 c=IN IP4 100.101.102.103 2345 t=3034423619 0 2346 m=audio 49170 RTP/AVP 0 2347 a=rtpmap:0 PCMU/8000 2349 F2 INVITE Proxy -> Gateway 2351 INVITE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2352 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2353 Via: SIP/2.0/UDP here.com:5060 2354 Record-Route: 2355 From: BigGuy 2356 To: LittleGuy 2357 Call-ID: 12345600@here.com 2358 CSeq: 1 INVITE 2359 Contact: BigGuy 2360 Content-Type: application/sdp 2361 Content-Length: ... 2363 v=0 2364 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2365 s=Session SDP 2366 c=IN IP4 100.101.102.103 2367 t=3034423619 0 2368 m=audio 49170 RTP/AVP 0 2369 a=rtpmap:0 PCMU/8000 2371 F3 (100 Trying) Proxy -> A 2373 SIP/2.0 100 Trying 2374 Via: SIP/2.0/UDP here.com:5060 2375 From: BigGuy 2376 To: LittleGuy 2377 Call-ID: 12345600@here.com 2378 CSeq: 1 INVITE 2379 Content-Length: 0 2381 F4 180 Ringing Gateway -> Proxy 2383 SIP/2.0 180 Ringing 2384 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2385 Via: SIP/2.0/UDP here.com:5060 2386 From: BigGuy 2387 To: LittleGuy ;tag=314159 2388 Call-ID: 12345600@here.com 2389 CSeq: 1 INVITE 2390 Content Length:0 2392 F5 180 Ringing Proxy -> A 2393 SIP/2.0 180 Ringing 2394 Via: SIP/2.0/UDP here.com:5060 2395 From: BigGuy 2396 To: LittleGuy ;tag=314159 2397 Call-ID: 12345600@here.com 2398 CSeq: 1 INVITE 2399 Content Length: 0 2401 F6 200 OK Gateway -> Proxy 2403 SIP/2.0 200 OK 2404 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2405 Via: SIP/2.0/UDP here.com:5060 2406 Record-Route: 2407 From: BigGuy 2408 To: LittleGuy ;tag=314159 2409 Call-ID: 12345600@here.com 2410 CSeq: 1 INVITE 2411 Contact: 2412 Content-Type: application/sdp 2413 Content-Length: ... 2415 v=0 2416 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 2417 s=Session SDP 2418 c=IN IP4 gatewayone.wcom.com 2419 t=0 0 2420 m=audio 3456 RTP/AVP 0 2421 a=rtpmap:0 PCMU/8000 2423 F7 200 OK Proxy -> A 2425 SIP/2.0 200 OK 2426 Via: SIP/2.0/UDP here.com:5060 2427 Record-Route: 2428 From: BigGuy 2429 To: LittleGuy ;tag=314159 2430 Call-ID: 12345600@here.com 2431 CSeq: 1 INVITE 2432 Contact: LittleGuy 2434 Content-Type: application/sdp 2435 Content-Length: ... 2437 v=0 2438 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 2439 s=Session SDP 2440 c=IN IP4 gatewayone.wcom.com 2441 t=0 0 2442 m=audio 3456 RTP/AVP 0 2443 a=rtpmap:0 PCMU/8000 2445 F8 ACK A -> Proxy 2447 ACK sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2448 Via: SIP/2.0/UDP here.com:5060 2449 Route: 2450 From: BigGuy 2451 To: LittleGuy ;tag=314159 2452 Call-ID: 12345600@here.com 2453 CSeq: 1 ACK 2454 Content-Length:0 2456 F9 ACK Proxy -> Gateway 2458 ACK sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2459 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2460 Via: SIP/2.0/UDP here.com:5060 2461 From: BigGuy 2462 To: LittleGuy ;tag=314159 2463 Call-ID: 12345600@here.com 2464 CSeq: 1 ACK 2465 Content-Length:0 2467 F10 BYE A -> Proxy 1 2469 BYE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2470 Via: SIP/2.0/UDP here.com:5060 2471 Route: 2472 From: BigGuy 2473 To: LittleGuy ;tag=314159 2474 Call-ID: 12345600@here.com 2475 CSeq: 2 BYE 2476 Content-Length: 0 2478 F11 BYE Proxy 1 -> Gateway 2480 BYE sip:+19727293660@gw1.wcom.com;user=phone SIP/2.0 2481 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2482 Via: SIP/2.0/UDP here.com:5060 2483 From: BigGuy 2484 To: LittleGuy ;tag=314159 2485 Call-ID: 12345600@here.com 2486 CSeq: 2 BYE 2487 Content-Length: 0 2488 F12 200 OK Gateway -> Proxy 1 2490 SIP/2.0 200 OK 2491 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2492 Via: SIP/2.0/UDP here.com:5060 2493 From: BigGuy 2494 To: LittleGuy ;tag=314159 2495 Call-ID: 12345600@here.com 2496 CSeq: 2 BYE 2497 Content-Length: 0 2499 F13 200 OK Proxy 1 -> A 2501 SIP/2.0 200 OK 2502 Via: SIP/2.0/UDP here.com:5060 2503 From: BigGuy 2504 To: LittleGuy ;tag=314159 2505 Call-ID: 12345600@here.com 2506 CSeq: 2 BYE 2507 Content-Length: 0 2509 2.7 Call Forwarding - Busy 2511 User A Proxy User B1 User B2 2512 | | | | 2513 | INVITE F1 | | | 2514 |--------------->| INVITE F2 | | 2515 | |------------->| | 2516 |(100 Trying) F3 | | | 2517 |<---------------| 486 Busy F4 | | 2518 | |<-------------| | 2519 | | ACK F5 | | 2520 | |------------->| | 2521 | | | INVITE F6 | 2522 | |--------------------------------->| 2523 | | | 180 Ringing F7 | 2524 | |<---------------------------------| 2525 | 180 Ringing F8 | | | 2526 |<---------------| | 200 OK F9 | 2527 | |<---------------------------------| 2528 | 200 OK F10 | | | 2529 |<---------------| | | 2530 | ACK F11 | | | 2531 |--------------->| | ACK F12 | 2532 | |--------------------------------->| 2533 | Both way RTP Established | 2534 |<=================================================>| 2535 | BYE F13 | | | 2536 |--------------->| | BYE F14 | 2537 | |--------------------------------->| 2538 | | | 200 OK F15 | 2539 | 200 OK F16 |<---------------------------------| 2540 |<---------------| | | 2541 | | | | 2543 User B wants calls to B1 forwarded to B2 if B1 is busy (this 2544 information is known to the proxy). User A calls B1, B1 is busy, the 2545 proxy server places call to B2. 2547 Message Details 2549 F1 INVITE A -> Proxy 2551 INVITE sip:UserB@there.com SIP/2.0 2552 Via: SIP/2.0/UDP here.com:5060 2553 From: BigGuy 2554 To: LittleGuy 2555 Call-ID: 12345600@here.com 2556 CSeq: 1 INVITE 2557 Contact: BigGuy 2558 Content-Type: application/sdp 2559 Content-Length: ... 2561 v=0 2562 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2563 s=Session SDP 2564 c=IN IP4 100.101.102.103 2565 t=0 0 2566 m=audio 49170 RTP/AVP 0 2567 a=rtpmap:0 PCMU/8000 2569 F2 INVITE Proxy -> B1 2571 INVITE sip:UserB1@there.com SIP/2.0 2572 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2573 Via: SIP/2.0/UDP here.com:5060 2574 Record-Route: 2575 From: BigGuy 2576 To: LittleGuy 2577 Call-ID: 12345600@here.com 2578 CSeq: 1 INVITE 2579 Contact: BigGuy 2580 Content-Type: application/sdp 2581 Content-Length: ... 2583 v=0 2584 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2585 s=Session SDP 2586 c=IN IP4 100.101.102.103 2587 t=0 0 2588 m=audio 49170 RTP/AVP 0 2589 a=rtpmap:0 PCMU/8000 2591 F3 (100 Trying) Proxy -> A 2593 SIP/2.0 100 Trying 2594 Via: SIP/2.0/UDP here.com:5060 2595 From: BigGuy 2596 To: LittleGuy 2597 Call-ID: 12345600@here.com 2598 CSeq: 1 INVITE 2599 Content-Length: 0 2601 F4 486 Busy Here B1 -> Proxy 2603 SIP/2.0 486 Busy Here 2604 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2605 Via: SIP/2.0/UDP here.com:5060 2606 From: BigGuy 2607 To: LittleGuy ;tag=123456 2608 Call-ID: 12345600@here.com 2609 CSeq: 1 INVITE 2610 Content-Length: 0 2612 F5 ACK Proxy -> B1 2614 ACK sip:UserB1@there.com SIP/2.0 2615 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2616 From: BigGuy 2617 To: LittleGuy ;tag=123456 2618 Call-ID: 12345600@here.com 2619 CSeq: 1 ACK 2620 Content-Length: 0 2622 /* The proxy now forwards the call to B2 */ 2624 F6 INVITE Proxy -> B2 2626 INVITE sip:UserB2@there.com SIP/2.0 2627 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 2628 Via: SIP/2.0/UDP here.com:5060 2629 Record-Route: 2630 From: BigGuy 2631 To: LittleGuy 2632 Call-ID: 12345600@here.com 2633 CSeq: 1 INVITE 2634 Contact: BigGuy 2635 Content-Type: application/sdp 2636 Content-Length: ... 2638 v=0 2639 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2640 s=Session SDP 2641 c=IN IP4 100.101.102.103 2642 t=0 0 2643 m=audio 49170 RTP/AVP 0 2644 a=rtpmap:0 PCMU/8000 2646 F7 180 Ringing B2 -> Proxy 2648 SIP/2.0 180 Ringing 2649 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 2650 Via: SIP/2.0/UDP here.com:5060 2651 From: BigGuy 2652 To: LittleGuy ;tag=7654321 2653 Call-ID: 12345600@here.com 2654 CSeq: 1 INVITE 2655 Content-Length: 0 2657 F8 180 Ringing Proxy -> A 2659 SIP/2.0 180 Ringing 2660 Via: SIP/2.0/UDP here.com:5060 2661 From: BigGuy 2662 To: LittleGuy ;tag=7654321 2663 Call-ID: 12345600@here.com 2664 CSeq: 1 INVITE 2665 Content-Length: 0 2667 F9 200 OK B2 -> Proxy 2669 SIP/2.0 200 OK 2670 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 2671 Via: SIP/2.0/UDP here.com:5060 2672 Record-Route: 2673 From: BigGuy 2674 To: LittleGuy ;tag=7654321 2675 Call-ID: 12345600@here.com 2676 CSeq: 1 INVITE 2677 Contact: LittleGuy 2678 Content-Type: application/sdp 2679 Content-Length: ... 2681 v=0 2682 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 2683 s=Session SDP 2684 c=IN IP4 110.111.112.114 2685 t=0 0 2686 m=audio 3456 RTP/AVP 0 2687 a=rtpmap:0 PCMU/8000 2689 F10 200 OK Proxy -> A 2691 SIP/2.0 200 OK 2692 Via: SIP/2.0/UDP here.com:5060 2693 Record-Route: 2694 From: BigGuy 2695 To: LittleGuy ;tag=7654321 2696 Call-ID: 12345600@here.com 2697 CSeq: 1 INVITE 2698 Contact: LittleGuy 2699 Content-Type: application/sdp 2700 Content-Length: ... 2702 v=0 2703 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 2704 s=Session SDP 2705 c=IN IP4 110.111.112.114 2706 t=0 0 2707 m=audio 3456 RTP/AVP 0 2708 a=rtpmap:0 PCMU/8000 2710 F11 ACK A -> Proxy 2712 ACK sip:UserB2@there.com SIP/2.0 2713 Via: SIP/2.0/UDP here.com:5060 2714 Route: 2715 From: BigGuy 2716 To: LittleGuy ;tag=7654321 2717 Call-ID: 12345600@here.com 2718 CSeq: 1 ACK 2719 Content-Length: 0 2721 F12 ACK Proxy -> B2 2723 ACK sip:UserB2@there.com SIP/2.0 2724 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2725 Via: SIP/2.0/UDP here.com:5060 2726 From: BigGuy 2727 To: LittleGuy ;tag=7654321 2728 Call-ID: 12345600@here.com 2729 CSeq: 1 ACK 2730 Content-Length: 0 2732 /* RTP streams are established between A and B2 */ 2734 /* User A eventually hangs up with User B2. */ 2736 F13 BYE A -> Proxy 2738 BYE sip:UserB2@there.com SIP/2.0 2739 Via: SIP/2.0/UDP here.com:5060 2740 Route: 2741 From: BigGuy 2742 To: LittleGuy ;tag=7654321 2743 Call-ID: 12345600@here.com 2744 CSeq: 2 BYE 2745 Content-Length: 0 2747 F14 BYE Proxy -> B2 2748 BYE sip:UserB2@there.com SIP/2.0 2749 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2750 Via: SIP/2.0/UDP here.com:5060 2751 From: BigGuy 2752 To: LittleGuy ;tag=7654321 2753 Call-ID: 12345600@here.com 2754 CSeq: 2 BYE 2755 Content-Length: 0 2757 F15 200 OK B2 -> Proxy 2759 SIP/2.0 200 OK 2760 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2761 Via: SIP/2.0/UDP here.com:5060 2762 From: BigGuy 2763 To: LittleGuy ;tag=7654321 2764 Call-ID: 12345600@here.com 2765 CSeq: 2 BYE 2766 Content-Length: 0 2768 F16 200 OK Proxy -> A 2770 SIP/2.0 200 OK 2771 Via: SIP/2.0/UDP here.com:5060 2772 From: BigGuy 2773 To: LittleGuy ;tag=7654321 2774 Call-ID: 12345600@here.com 2775 CSeq: 2 BYE 2776 Content-Length: 0 2778 2.8 Call Forwarding - No Answer 2780 User A Proxy User B1 User B2 2781 | | | | 2782 | INVITE F1 | | | 2783 |--------------->| INVITE F2 | | 2784 |(100 Trying) F3 |------------->| | 2785 |<---------------|180 Ringing F4| | 2786 | 180 Ringing F5 |<-------------| | 2787 |<---------------| | | 2788 | Request Timeout | 2789 | | | | 2790 | | CANCEL F6 | | 2791 | |------------->| | 2792 | | 200 OK F7 | | 2793 | |<-------------| | 2794 | | 487 F8 | | 2795 | |<-------------| | 2796 | | ACK F9 | | 2797 | |------------->| | 2798 | | | INVITE F10 | 2799 | |--------------------------------->| 2800 | | | 180 Ringing F11 | 2801 | 180 Ringing F12|<---------------------------------| 2802 |<---------------| | 200 OK F13 | 2803 | |<---------------------------------| 2804 | 200 OK F14 | | | 2805 |<---------------| | | 2806 | ACK F15 | | | 2807 |--------------->| | ACK F16 | 2808 | |--------------------------------->| 2809 | Both way RTP Established | 2810 |<=================================================>| 2811 | BYE F17 | | | 2812 |--------------->| | BYE F18 | 2813 | |--------------------------------->| 2814 | | | 200 OK F19 | 2815 | 200 OK F20 |<---------------------------------| 2816 |<---------------| | | 2817 | | | | 2819 User B wants calls to B1 forwarded to B2 if B1 is not answered 2820 (information is known to the proxy server). User A calls B1 and no 2821 one answers. The proxy server then places the call to B2. 2823 Message Details 2825 F1 INVITE A -> Proxy 2827 INVITE sip:UserB@there.com SIP/2.0 2828 Via: SIP/2.0/UDP here.com:5060 2829 From: BigGuy 2830 To: LittleGuy 2831 Call-ID: 12345600@here.com 2832 CSeq: 1 INVITE 2833 Contact: BigGuy 2834 Content-Type: application/sdp 2835 Content-Length: ... 2837 v=0 2838 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2839 s=Session SDP 2840 c=IN IP4 100.101.102.103 2841 t=0 0 2842 m=audio 49170 RTP/AVP 0 2843 a=rtpmap:0 PCMU/8000 2845 F2 INVITE Proxy -> B1 2847 INVITE sip:UserB1@there.com SIP/2.0 2848 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2849 Via: SIP/2.0/UDP here.com:5060 2850 Record-Route: 2851 From: BigGuy 2852 To: LittleGuy 2853 Call-ID: 12345600@here.com 2854 CSeq: 1 INVITE 2855 Contact: BigGuy 2856 Content-Type: application/sdp 2857 Content-Length: ... 2859 v=0 2860 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2861 s=Session SDP 2862 c=IN IP4 100.101.102.103 2863 t=0 0 2864 m=audio 49170 RTP/AVP 0 2865 a=rtpmap:0 PCMU/8000 2867 F3 (100 Trying) Proxy -> A 2869 SIP/2.0 100 Trying 2870 Via: SIP/2.0/UDP here.com:5060 2871 From: BigGuy 2872 To: LittleGuy 2873 Call-ID: 12345600@here.com 2874 CSeq: 1 INVITE 2875 Content-Length: 0 2876 F4 180 Ringing B1 -> Proxy 2878 SIP/2.0 180 Ringing 2879 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2880 Via: SIP/2.0/UDP here.com:5060 2881 From: BigGuy 2882 To: LittleGuy ;tag=3145678 2883 Call-ID: 12345600@here.com 2884 CSeq: 1 INVITE 2885 Content-Length: 0 2887 F5 180 Ringing Proxy -> A 2889 SIP/2.0 180 Ringing 2890 Via: SIP/2.0/UDP here.com:5060 2891 From: BigGuy 2892 To: LittleGuy ;tag=3145678 2893 Call-ID: 12345600@here.com 2894 CSeq: 1 INVITE 2895 Content-Length: 0 2897 /* B1 rings until a configurable timer expires in the Proxy. The 2898 Proxy sends Cancel and proceeds down the list of routes. */ 2900 F6 CANCEL Proxy -> B1 2902 CANCEL sip:UserB1@there.com SIP/2.0 2903 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2904 From: BigGuy 2905 To: LittleGuy 2906 Call-ID: 12345600@here.com 2907 CSeq: 1 CANCEL 2908 Content-Length: 0 2910 F7 200 OK B1 -> Proxy 2912 SIP/2.0 200 OK 2913 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2914 From: BigGuy 2915 To: LittleGuy 2916 Call-ID: 12345600@here.com 2917 CSeq: 1 CANCEL 2918 Content-Length: 0 2920 F8 487 Request Cancelled B1 -> Proxy 2921 SIP/2.0 487 Request Cancelled 2922 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2923 Via: SIP/2.0/UDP here.com:5060 2924 From: BigGuy 2925 To: LittleGuy ;tag=3145678 2926 Call-ID: 12345600@here.com 2927 CSeq: 1 INVITE 2928 Content-Length: 0 2930 F9 ACK Proxy -> B1 2932 ACK sip:UserB1@there.com SIP/2.0 2933 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 2934 From: BigGuy 2935 To: LittleGuy ;tag=3145678 2936 Call-ID: 12345600@here.com 2937 CSeq: 1 ACK 2938 Content-Length: 0 2940 F10 INVITE Proxy -> B2 2942 INVITE sip:UserB4@there.com SIP/2.0 2943 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 2944 Via: SIP/2.0/UDP here.com:5060 2945 Record-Route: 2946 From: BigGuy 2947 To: LittleGuy 2948 Call-ID: 12345600@here.com 2949 CSeq: 1 INVITE 2950 Contact: BigGuy 2951 Content-Type: application/sdp 2952 Content-Length: ... 2954 v=0 2955 o=UserA 2890844526 2890844526 IN IP4 client.here.com 2956 s=Session SDP 2957 c=IN IP4 100.101.102.103 2958 t=0 0 2959 m=audio 49170 RTP/AVP 0 2960 a=rtpmap:0 PCMU/8000 2962 F11 180 Ringing B2 -> Proxy 2964 SIP/2.0 180 Ringing 2965 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 2966 Via: SIP/2.0/UDP here.com:5060 2967 From: BigGuy 2968 To: LittleGuy ;tag=123456 2969 Call-ID: 12345600@here.com 2970 CSeq: 1 INVITE 2971 Content-Length: 0 2973 F12 180 Proxy -> A 2975 SIP/2.0 180 Ringing 2976 Via: SIP/2.0/UDP here.com:5060 2977 From: BigGuy 2978 To: LittleGuy ;tag=123456 2979 Call-ID: 12345600@here.com 2980 CSeq: 1 INVITE 2981 Content-Length: 0 2983 F13 200 OK B2 -> Proxy 2985 SIP/2.0 200 OK 2986 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 2987 Via: SIP/2.0/UDP here.com:5060 2988 Record-Route: 2989 From: BigGuy 2990 To: LittleGuy ;tag=123456 2991 Call-ID: 12345600@here.com 2992 CSeq: 1 INVITE 2993 Contact: LittleGuy 2994 Content-Type: application/sdp 2995 Content-Length: ... 2997 v=0 2998 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 2999 s=Session SDP 3000 c=IN IP4 110.111.112.114 3001 t=0 0 3002 m=audio 3456 RTP/AVP 0 3003 a=rtpmap:0 PCMU/8000 3005 F14 200 OK Proxy -> A 3007 SIP/2.0 200 OK 3008 Via: SIP/2.0/UDP here.com:5060 3009 Record-Route: 3010 From: BigGuy 3011 To: LittleGuy ;tag=123456 3012 Call-ID: 12345600@here.com 3013 CSeq: 1 INVITE 3014 Contact: LittleGuy 3015 Content-Type: application/sdp 3016 Content-Length: ... 3018 v=0 3019 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 3020 s=Session SDP 3021 c=IN IP4 110.111.112.114 3022 t=0 0 3023 m=audio 3456 RTP/AVP 0 3024 a=rtpmap:0 PCMU/8000 3026 F15 ACK A -> Proxy 3028 ACK sip:UserB2@there.com SIP/2.0 3029 Via: SIP/2.0/UDP here.com:5060 3030 Route: 3031 From: BigGuy 3032 To: LittleGuy ;tag=123456 3033 Call-ID: 12345600@here.com 3034 CSeq: 1 ACK 3035 Content-Length: 0 3037 F16 ACK Proxy -> B2 3039 ACK sip:UserB2@there.com SIP/2.0 3040 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 3041 Via: SIP/2.0/UDP here.com:5060 3042 From: BigGuy 3043 To: LittleGuy ;tag=123456 3044 Call-ID: 12345600@here.com 3045 CSeq: 1 ACK 3046 Content-Length: 0 3048 /* RTP streams are established between A and B2. User A Hangs Up 3049 with User B2. */ 3051 F17 BYE A -> Proxy 3053 BYE sip:UserB2@there.com SIP/2.0 3054 Via: SIP/2.0/UDP here.com:5060 3055 Route: 3056 From: BigGuy 3057 To: LittleGuy ;tag=123456 3058 Call-ID: 12345600@here.com 3059 CSeq: 2 BYE 3060 Content-Length: 0 3062 F18 BYE Proxy -> B2 3063 BYE sip:UserB2@there.com SIP/2.0 3064 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 3065 Via: SIP/2.0/UDP here.com:5060 3066 From: BigGuy 3067 To: LittleGuy ;tag=123456 3068 Call-ID: 12345600@here.com 3069 CSeq: 2 BYE 3070 Content-Length: 0 3072 F19 200 OK B2 -> Proxy 3074 SIP/2.0 200 OK 3075 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 3076 Via: SIP/2.0/UDP here.com:5060 3077 From: BigGuy 3078 To: LittleGuy ;tag=123456 3079 Call-ID: 12345600@here.com 3080 CSeq: 2 BYE 3081 Content-Length: 0 3083 F20 200 OK Proxy -> A 3085 SIP/2.0 200 OK 3086 Via: SIP/2.0/UDP here.com:5060 3087 From: BigGuy 3088 To: LittleGuy ;tag=123456 3089 Call-ID: 12345600@here.com 3090 CSeq: 2 BYE 3091 Content-Length: 0 3093 2.9 3-way Conference 3095 User A calls User B, User B then invites user C to a 3-way call. User 3096 B will mix the audio streams (act as the conference bridge). If user 3097 B drops out of the call then the entire call is dropped. This is not 3098 a fully meshed conference, and does not make use of the concepts in 3099 the call control draft. 3101 The signaling for this scenario is as follows: User A calls User B, 3102 this establishes the call between A and B. User B calls User C, this 3103 establishes the call between B and C. User B will mix the audio 3104 streams, sending media originating at A to C, and media originating 3105 at C to A. There is no SIP signaling relationship between User A and 3106 User C. 3108 2.10 3109 Single Line Extension 3111 Single Line Extension (Sequential, First Wins implementation), a call 3112 will ring several extensions in sequence. The extension to answer 3113 the call becomes the active set, no other sets may join the call. 3115 The signaling is described in Section 2.11 of this document. It is 3116 anticipated that Single Line Extension will be associated with help 3117 desk/call center applications rather then individual users. The 3118 signaling for this implementation of Single Line Extension and Find- 3119 Me is the same, the difference may be in the provisioning of the 3120 service. 3122 Note that the call flows for a Home Extension have not yet been 3123 designed. 3125 2.11 3126 Find-Me 3128 User A Proxy User User User User 3129 B1 B2 B3 B4 3130 | | | | | | 3131 | INVITE F1 | | | | | 3132 |--------------->| INVITE F2 | | | | 3133 | |------------->| | | | 3134 |(100 Trying) F3 | | | | | 3135 |<---------------|180 Ringing F4| | | | 3136 | |<-------------| | | | 3137 | 180 Ringing F5 | | | | | 3138 |<---------------| | | | | 3139 | | Timeout | | | | 3140 | | | | | | 3141 | | CANCEL F6 | | | | 3142 | |------------->| | | | 3143 | | 200 OK F7 | | | | 3144 | |<-------------| | | | 3145 | | 487 F8 | | | | 3146 | |<-------------| | | | 3147 | | ACK F9 | | | | 3148 | |------------->| | | | 3149 | | INVITE F10 | | | 3150 | |-------------------->| | | 3151 | |480 Not Logged In F11| | | 3152 | |<--------------------| | | 3153 | | ACK F12| | | 3154 | |-------------------->| | | 3155 | | INVITE F13 | | 3156 | |--------------------------->| | 3157 | | 486 Busy Here F14 | | 3158 | |<---------------------------| | 3159 | | ACK F15 | | 3160 | |--------------------------->| | 3161 | | INVITE F16 | 3162 | |---------------------------------->| 3163 | | 180 Ringing F17 | 3164 | 180 F18 |<----------------------------------| 3165 |<---------------| 200 OK F19 | 3166 | 200 OK F20 |<----------------------------------| 3167 |<---------------| | 3168 | ACK F21 | | 3169 |--------------->| ACK F22 | 3170 | |---------------------------------->| 3171 | Both way RTP Established | 3172 |<==================================================>| 3173 | | BYE F23 | 3174 | BYE F24 |<----------------------------------| 3175 |<---------------| | 3176 | 200 OK F25 | | 3177 |--------------->| 200 OK F26 | 3178 | |---------------------------------->| 3179 | | | 3181 A call to a user will attempt to locate that user by calling 3182 locations from a list of contacts. The location to answer the call 3183 becomes the active set, no other sets may join the call. 3185 It is anticipated that the Find-me feature will be associated with 3186 individual users. The signaling for the implementation of Single 3187 Line Extension and Find-Me is the same, the difference may be in the 3188 provisioning of the service. 3190 Message Details 3192 F1 INVITE A -> Proxy 3194 INVITE sip:UserB@there.com SIP/2.0 3195 Via: SIP/2.0/UDP here.com:5060 3196 From: BigGuy 3197 To: LittleGuy 3198 Call-ID: 12345600@here.com 3199 CSeq: 1 INVITE 3200 Contact: BigGuy 3201 Content-Type: application/sdp 3202 Content-Length: ... 3204 v=0 3205 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3206 s=Session SDP 3207 c=IN IP4 100.101.102.103 3208 t= 0 0 3209 m=audio 49170 RTP/AVP 0 3210 a=rtpmap:0 PCMU/8000 3212 F2 INVITE Proxy -> B1 3214 INVITE sip:UserB1@there.com SIP/2.0 3215 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 3216 Via: SIP/2.0/UDP here.com:5060 3217 Record-Route: 3218 From: BigGuy 3219 To: LittleGuy 3220 Call-ID: 12345600@here.com 3221 CSeq: 1 INVITE 3222 Contact: BigGuy 3223 Content-Type: application/sdp 3224 Content-Length: ... 3226 v=0 3227 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3228 s=Session SDP 3229 c=IN IP4 100.101.102.103 3230 t= 0 0 3231 m=audio 49170 RTP/AVP 0 3232 a=rtpmap:0 PCMU/8000 3234 F3 (100 Trying) Proxy -> A 3236 SIP/2.0 100 Trying 3237 Via: SIP/2.0/UDP here.com:5060 3238 From: BigGuy 3239 To: LittleGuy 3240 Call-ID: 12345600@here.com 3241 CSeq: 1 INVITE 3242 Content-Length: 0 3244 F4 180 Ringing B1 -> Proxy 3246 SIP/2.0 180 Ringing 3247 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 3248 Via: SIP/2.0/UDP here.com:5060 3249 From: BigGuy 3250 To: LittleGuy ;tag=123456 3251 Call-ID: 12345600@here.com 3252 CSeq: 1 INVITE 3253 Content-Length: 0 3255 F5 180 Ringing Proxy -> A 3257 SIP/2.0 180 Ringing 3258 Via: SIP/2.0/UDP here.com:5060 3259 From: BigGuy 3260 To: LittleGuy ;tag=123456 3261 Call-ID: 12345600@here.com 3262 CSeq: 1 INVITE 3263 Content-Length: 0 3265 /* B1 rings for until a configurable timer in the Proxy expires. The 3266 Proxy then sends Cancel and proceeds down the list of routes. */ 3268 F6 CANCEL Proxy -> B1 3270 CANCEL sip:UserB1@there.com SIP/2.0 3271 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 3272 From: BigGuy 3273 To: LittleGuy 3274 Call-ID: 12345600@here.com 3275 CSeq: 1 CANCEL 3276 Content-Length: 0 3278 F7 200 OK B1 -> Proxy 3280 SIP/2.0 200 OK 3281 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 3282 From: BigGuy 3283 To: LittleGuy 3284 Call-ID: 12345600@here.com 3285 CSeq: 1 CANCEL 3286 Content-Length: 0 3288 F8 487 Request Cancelled B1 -> Proxy 3290 SIP/2.0 487 Request Cancelled 3291 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 3292 Via: SIP/2.0/UDP here.com:5060 3293 From: BigGuy 3294 To: LittleGuy ;tag=123456 3295 Call-ID: 12345600@here.com 3296 CSeq: 1 INVITE 3297 Content-Length: 0 3299 F9 ACK Proxy -> B1 3301 ACK sip:UserB1@there.com SIP/2.0 3302 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 3303 From: BigGuy 3304 To: LittleGuy ;tag=123456 3305 Call-ID: 12345600@here.com 3306 CSeq: 1 ACK 3307 Content-Length: 0 3309 F10 INVITE Proxy -> B2 3311 INVITE sip:UserB2@there.com SIP/2.0 3312 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 3313 Via: SIP/2.0/UDP here.com:5060 3314 Record-Route: 3315 From: BigGuy 3316 To: LittleGuy 3317 Call-ID: 12345600@here.com 3318 CSeq: 1 INVITE 3319 Contact: BigGuy 3320 Content-Type: application/sdp 3321 Content-Length: ... 3323 v=0 3324 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3325 s=Session SDP 3326 c=IN IP4 100.101.102.103 3327 t=0 0 3328 m=audio 49170 RTP/AVP 0 3329 a=rtpmap:0 PCMU/8000 3331 F11 480 Not Logged In B2 -> Proxy 3333 SIP/2.0 480 Not Logged In 3334 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 3335 Via: SIP/2.0/UDP here.com:5060 3336 From: BigGuy 3337 To: LittleGuy ;tag=314756 3338 Call-ID: 12345600@here.com 3339 CSeq: 1 INVITE 3340 Content-Length: 0 3342 F12 ACK Proxy -> B2 3344 ACK sip:UserB2@there.com SIP/2.0 3345 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.2 3346 From: BigGuy 3347 To: LittleGuy ;tag=314756 3348 Call-ID: 12345600@here.com 3349 CSeq: 1 ACK 3350 Content-Length: 0 3352 F13 INVITE Proxy -> B3 3354 INVITE sip:UserB3@there.com SIP/2.0 3355 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.3 3356 Via: SIP/2.0/UDP here.com:5060 3357 Record-Route: 3358 From: BigGuy 3359 To: LittleGuy 3360 Call-ID: 12345600@here.com 3361 CSeq: 1 INVITE 3362 Contact: BigGuy 3363 Content-Type: application/sdp 3364 Content-Length: ... 3366 v=0 3367 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3368 s=Session SDP 3369 c=IN IP4 100.101.102.103 3370 t=0 0 3371 m=audio 49170 RTP/AVP 0 3372 a=rtpmap:0 PCMU/8000 3374 F14 486 Busy Here B3 -> Proxy 3376 SIP/2.0 486 Busy Here 3377 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.3 3378 From: BigGuy 3379 To: LittleGuy ;tag=7654321 3380 Call-ID: 12345600@here.com 3381 CSeq: 1 INVITE 3382 Content-Length: 0 3384 F15 ACK Proxy -> B3 3386 ACK sip:UserB3@there.com SIP/2.0 3387 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.3 3388 From: BigGuy 3389 To: LittleGuy ;tag=7654321 3390 Call-ID: 12345600@here.com 3391 CSeq: 1 ACK 3392 Content-Length: 0 3394 F16 INVITE Proxy -> B4 3396 INVITE sip:UserB4@there.com SIP/2.0 3397 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 3398 Via: SIP/2.0/UDP here.com:5060 3399 Record-Route: 3400 From: BigGuy 3401 To: LittleGuy 3402 Call-ID: 12345600@here.com 3403 CSeq: 1 INVITE 3404 Contact: BigGuy 3405 Content-Type: application/sdp 3406 Content-Length: ... 3408 v=0 3409 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3410 s=Session SDP 3411 c=IN IP4 100.101.102.103 3412 t=0 0 3413 m=audio 49170 RTP/AVP 0 3414 a=rtpmap:0 PCMU/8000 3415 F17 180 Ringing B4 -> Proxy 3417 SIP/2.0 180 Ringing 3418 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 3419 Via: SIP/2.0/UDP here.com:5060 3420 From: BigGuy 3421 To: LittleGuy ;tag=7137136 3422 Call-ID: 12345600@here.com 3423 CSeq: 1 INVITE 3424 Content-Length: 0 3426 F18 180 Ringing B4 -> Proxy 3428 SIP/2.0 180 Ringing 3429 Via: SIP/2.0/UDP here.com:5060 3430 From: BigGuy 3431 To: LittleGuy ;tag=7137136 3432 Call-ID: 12345600@here.com 3433 CSeq: 1 INVITE 3434 Content-Length: 0 3436 F19 200 OK B4 -> Proxy 3438 SIP/2.0 200 OK 3439 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.4 3440 Via: SIP/2.0/UDP here.com:5060 3441 Record-Route: 3442 From: BigGuy 3443 To: LittleGuy ;tag=7137136 3444 Call-ID: 12345600@here.com 3445 CSeq: 1 INVITE 3446 Contact: LittleGuy 3447 Content-Type: application/sdp 3448 Content-Length: ... 3450 v=0 3451 o=UserB 2890844527 2890844527 IN IP4 client4.there.com 3452 s=Session SDP 3453 c=IN IP4 110.111.112.116 3454 t=0 0 3455 m=audio 3456 RTP/AVP 0 3456 a=rtpmap:0 PCMU/8000 3458 F20 200 OK Proxy -> A 3460 SIP/2.0 200 OK 3461 Via: SIP/2.0/UDP here.com:5060 3462 Record-Route: 3463 From: BigGuy 3464 To: LittleGuy ;tag=7137136 3465 Call-ID: 12345600@here.com 3466 CSeq: 1 INVITE 3467 Contact: LittleGuy 3468 Content-Type: application/sdp 3469 Content-Length: ... 3471 v=0 3472 o=UserB 2890844527 2890844527 IN IP4 client4.there.com 3473 s=Session SDP 3474 c=IN IP4 110.111.112.116 3475 t=0 0 3476 m=audio 3456 RTP/AVP 0 3477 a=rtpmap:0 PCMU/8000 3479 F21 ACK A -> Proxy 3481 ACK sip:UserB4@there.com SIP/2.0 3482 Via: SIP/2.0/UDP here.com:5060 3483 Route: 3484 From: BigGuy 3485 To: LittleGuy ;tag=7137136 3486 Call-ID: 12345600@here.com 3487 CSeq: 1 ACK 3488 Content-Length: 0 3490 F22 ACK Proxy -> B4 3492 ACK sip:UserB4@there.com SIP/2.0 3493 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 3494 Via: SIP/2.0/UDP here.com:5060 3495 From: BigGuy 3496 To: LittleGuy ;tag=7137136 3497 Call-ID: 12345600@here.com 3498 CSeq: 1 ACK 3499 Content-Length: 0 3501 /* RTP streams are established between A and B4*/ 3503 /* User B4 Hangs Up with User A. */ 3505 F23 BYE B4 -> Proxy 3507 BYE sip:UserA@here.com SIP/2.0 3508 Via: SIP/2.0/UDP there.com:5060 3509 Route: 3510 From: LittleGuy ;tag=7137136 3511 To: BigGuy 3512 Call-ID: 12345600@here.com 3513 CSeq: 1 BYE 3514 Content-Length: 0 3516 F24 BYE Proxy -> A 3518 BYE sip:UserA@here.com SIP/2.0 3519 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 3520 Via: SIP/2.0/UDP there.com:5060 3521 From: LittleGuy ;tag=7137136 3522 To: BigGuy ;tag=1234567 3523 Call-ID: 12345600@here.com 3524 CSeq: 1 BYE 3525 Content-Length: 0 3527 F25 200 OK A -> Proxy 3529 SIP/2.0 200 OK 3530 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=83749.1 3531 Via: SIP/2.0/UDP there.com:5060 3532 From: LittleGuy ;tag=7137136 3533 To: BigGuy ;tag=1234567 3534 Call-ID: 12345600@here.com 3535 CSeq: 1 BYE 3536 Content-Length: 0 3538 F26 200 OK Proxy -> B4 3540 SIP/2.0 200 OK 3541 Via: SIP/2.0/UDP there.com:5060 3542 From: LittleGuy ;tag=7137136 3543 To: BigGuy ;tag=1234567 3544 Call-ID: 12345600@here.com 3545 CSeq: 2 BYE 3546 Content-Length: 0 3548 2.12 3549 Call Management (Incoming Call Screening) 3551 User A Proxy User B 3552 | | | 3553 | INVITE F1 | | 3554 |--------------->| | 3555 | 407 Proxy Authorization F2 | 3556 |<---------------| | 3557 | ACK F3 | | 3558 |--------------->| | 3559 | INVITE F4 | | 3560 |--------------->| | 3561 | 403 Screening Failure (Terminating) F5 3562 |<---------------| | 3563 | ACK F6 | | 3564 |--------------->| | 3565 | | | 3567 User B has an incoming call screening list, User A is included on the 3568 list of addresses User B will not accept calls from. User A attempts 3569 to call user B. 3571 Message Details 3573 F1 INVITE A -> Proxy 1 3575 INVITE sip:UserB@there.com SIP/2.0 3576 Via: SIP/2.0/UDP here.com:5060 3577 From: BigGuy 3578 To: LittleGuy 3579 Call-ID: 12345600@here.com 3580 CSeq: 1 INVITE 3581 Contact: BigGuy 3582 Content-Type: application/sdp 3583 Content-Length: ... 3585 v=0 3586 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3587 s=Session SDP 3588 c=IN IP4 100.101.102.103 3589 t=3034423619 0 3590 m=audio 49170 RTP/AVP 0 3591 a=rtpmap:0 PCMU/8000 3593 /* Proxy 1 challenges User A for authentication */ 3595 F2 407 Proxy Authorization Required Proxy 1 -> A 3596 SIP/2.0 407 Proxy Authorization Required 3597 Via: SIP/2.0/UDP here.com:5060 3598 From: BigGuy 3599 To: LittleGuy 3600 Call-ID: 12345600@here.com 3601 CSeq: 1 INVITE 3602 Proxy-Authenticate: Digest realm="MCI WorldCom SIP", 3603 domain="wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 3604 opaque="", stale=FALSE, algorithm=MD5 3605 Content-Length:0 3607 F3 ACK A -> Proxy 1 3609 ACK sip:UserB@there.com SIP/2.0 3610 Via: SIP/2.0/UDP here.com:5060 3611 From: BigGuy 3612 To: LittleGuy 3613 Call-ID: 12345600@here.com 3614 CSeq: 1 ACK 3615 Content-Length:0 3617 /* User A responds by sending an INVITE with authentication 3618 credentials in it. */ 3620 F4 INVITE A -> Proxy 1 3622 INVITE sip:UserB@there.com SIP/2.0 3623 Via: SIP/2.0/UDP here.com:5060 3624 From: BigGuy 3625 To: LittleGuy 3626 Call-ID: 12345600@here.com 3627 CSeq: 2 INVITE 3628 Contact: BigGuy 3629 Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom 3630 SIP", nonce="ae9137be1c87d175c2dd63302a0d6e0a", opaque="", 3631 uri="sip:ss1.wcom.com", response="bbaec39f943bdcb3620d90afc548a45c" 3632 Content-Type: application/sdp 3633 Content-Length: ... 3635 v=0 3636 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3637 s=Session SDP 3638 c=IN IP4 100.101.102.103 3639 t=3034423619 0 3640 m=audio 49170 RTP/AVP 0 3641 a=rtpmap:0 PCMU/8000 3643 F5 403 Screening Failure (Terminating) Proxy 1 -> A 3644 SIP/2.0 403 Screening Failure (Terminating) 3645 Via: SIP/2.0/UDP here.com:5060 3646 From: BigGuy 3647 To: LittleGuy ;tag=ffe254 3648 Call-ID: 12345600@here.com 3649 CSeq: 2 INVITE 3650 Content-Length:0 3652 F6 ACK A -> Proxy 1 3654 ACK sip:UserB@there.com SIP/2.0 3655 Via: SIP/2.0/UDP here.com:5060 3656 From: BigGuy 3657 To: LittleGuy ;tag=ffe254 3658 Call-ID: 12345600@here.com 3659 CSeq: 2 ACK 3660 Content-Length:0 3662 2.13 3663 Call Management (Outgoing Call Screening) 3665 User A Proxy User B 3666 | | | 3667 | INVITE F1 | | 3668 |--------------->| | 3669 | 407 Proxy Authorization F2 | 3670 |<---------------| | 3671 | ACK F3 | | 3672 |--------------->| | 3673 | INVITE F4 | | 3674 |--------------->| | 3675 | 403 Screening Failure (Originating) F5 3676 |<---------------| | 3677 | ACK F6 | | 3678 |--------------->| | 3679 | | | 3681 User A has an outgoing call screening list, User B is included on the 3682 list of addresses User A will not be able to place a call to. User A 3683 attempts to call user B. 3685 Message Details 3687 F1 INVITE A -> Proxy 1 3689 INVITE sip:UserB@there.com SIP/2.0 3690 Via: SIP/2.0/UDP here.com:5060 3691 From: BigGuy 3692 To: LittleGuy 3693 Call-ID: 12345600@here.com 3694 CSeq: 1 INVITE 3695 Contact: BigGuy 3696 Content-Type: application/sdp 3697 Content-Length: ... 3699 v=0 3700 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3701 s=Session SDP 3702 c=IN IP4 100.101.102.103 3703 t=3034423619 0 3704 m=audio 49170 RTP/AVP 0 3705 a=rtpmap:0 PCMU/8000 3707 /* Proxy 1 challenges User A for authentication */ 3709 F2 407 Proxy Authorization Required Proxy 1 -> A 3710 SIP/2.0 407 Proxy Authorization Required 3711 Via: SIP/2.0/UDP here.com:5060 3712 From: BigGuy 3713 To: LittleGuy ;tag=90210 3714 Call-ID: 12345600@here.com 3715 CSeq: 1 INVITE 3716 Proxy-Authenticate: Digest realm="MCI WorldCom SIP", 3717 domain="wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 3718 opaque="", stale=FALSE, algorithm=MD5 3719 Content-Length:0 3721 F3 ACK A -> Proxy 1 3723 ACK sip:UserB@there.com SIP/2.0 3724 Via: SIP/2.0/UDP here.com:5060 3725 From: BigGuy 3726 To: LittleGuy ;tag=90210 3727 Call-ID: 12345600@here.com 3728 CSeq: 1 ACK 3729 Content-Length:0 3731 /* User A responds be sending an INVITE with authentication 3732 credentials in it. */ 3734 F4 INVITE A -> Proxy 1 3736 INVITE sip:UserB@there.com SIP/2.0 3737 Via: SIP/2.0/UDP here.com:5060 3738 From: BigGuy 3739 To: LittleGuy 3740 Call-ID: 12345600@here.com 3741 CSeq: 2 INVITE 3742 Contact: BigGuy 3743 Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom 3744 SIP", nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 3745 uri="sip:UserB@there.com;maddr=ss1.wcom.com", 3746 response="b9d2e5bcdec9f69ab2a9b44f270285a6" 3747 Content-Type: application/sdp 3748 Content-Length: ... 3750 v=0 3751 o=UserA 2890844526 2890844526 IN IP4 client.here.com 3752 s=Session SDP 3753 c=IN IP4 100.101.102.103 3754 t=3034423619 0 3755 m=audio 49170 RTP/AVP 0 3756 a=rtpmap:0 PCMU/8000 3757 F5 403 Screening Failure (Originating) Proxy 1 -> A 3759 SIP/2.0 403 Screening Failure (Originating) 3760 Via: SIP/2.0/UDP here.com:5060 3761 From: BigGuy 3762 To: LittleGuy ;tag=18017 3763 Call-ID: 12345600@here.com 3764 CSeq: 2 INVITE 3765 Content-Length:0 3767 F6 ACK A -> Proxy 1 3769 ACK sip:UserB@there.com SIP/2.0 3770 Via: SIP/2.0/UDP here.com:5060 3771 From: BigGuy 3772 To: LittleGuy ;tag=18017 3773 Call-ID: 12345600@here.com 3774 CSeq: 2 ACK 3775 Content-Length:0 3777 3 Acknowledgements 3779 The authors wish to thank the following individuals for their 3780 assistance and review of this call flows document: Rohan Mahey, 3781 Hemant Agrawal, Henry Sinnreich, Dean Willis, David Devanatham, Joe 3782 Pizzimenti, Matt Cannon, John Hearty, the whole MCI WorldCom IPOP 3783 Design team, Scott Orton, Greg Osterhout, Pat Sollee, Doug 3784 Weisenberg, Danny Mistry, Steve McKinnon, and Denise Ingram, Denise 3785 Caballero, Tom Redman, Ilya Slain, Pat Sollee, John Truetken, and 3786 others from MCI WorldCom, 3Com, Cisco, Lucent and Nortel. 3788 4 References 3790 [1] S. Bradner, "The Internet Standards Process -- Revision 3", BCP 3791 9, RFC 2026, October 1996. 3793 [2] A. Johnston, S. Donovan, R. Sparks, C. Cunningham, D. Willis, J. 3794 Rosenberg, and H. Schulzrinne, "SIP Telephony Call Flow 3795 Examples", Internet Draft, Internet Engineering Task Force, 3796 November 2000, Work in Progress. 3798 [3] R. Sparks, "SIP Call Control Transfer", Internet Draft, 3799 Internet Engineering Task Force, September 2000, 3800 Work in Progress. 3802 [4] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP: 3803 Session Initiation Protocol", RFC 2543, March 1999. 3805 5 Author's Addresses 3807 Alan Johnston Email: alan.johnston@wcom.com 3809 Robert Sparks Email: rsparks@dynamicsoft.com 3811 Chris Cunningham Email: ccunningham@dynamicsoft.com 3813 Steve Donovan Email: sdonovan@dynamicsoft.com 3815 Kevin Summers Email: kevin.summers@ttimail.com 3817 Copyright Notice 3819 "Copyright (C) The Internet Society 2000. All Rights Reserved. 3821 This document and translations of it may be copied and furnished to 3822 others, and derivative works that comment on or otherwise explain it 3823 or assist in its implementation may be prepared, copied, published 3824 and distributed, in whole or in part, without restriction of any 3825 kind, provided that the above copyright notice and this paragraph are 3826 included on all such copies and derivative works. However, this 3827 document itself may not be modified in any way, such as by removing 3828 the copyright notice or references to the Internet Society or other 3829 Internet organizations, except as needed for the purpose of 3830 developing Internet standards in which case the procedures for 3831 copyrights defined in the Internet Standards process must be 3832 followed, or as required to translate it into languages other than 3833 English. 3835 The limited permissions granted above are perpetual and will not be 3836 revoked by the Internet Society or its successors or assigns. 3838 This document and the information contained herein is provided on an 3839 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 3840 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 3841 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 3842 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 3843 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.