idnits 2.17.1 draft-ietf-sipping-basic-call-flows-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: ---------------------------------------------------------------------------- == There is 1 instance of lines with non-ascii characters in the document. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** 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 328 instances of lines with non-RFC2606-compliant FQDNs in the document. == There are 63 instances of lines with private range IPv4 addresses in the document. If these are generic example addresses, they should be changed to use any of the ranges defined in RFC 6890 (or successor): 192.0.2.x, 198.51.100.x or 203.0.113.x. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (August 2002) is 7924 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Missing reference section? '1' on line 47 looks like a reference -- Missing reference section? '2' on line 95 looks like a reference -- Missing reference section? '3' on line 3947 looks like a reference -- Missing reference section? '4' on line 98 looks like a reference -- Missing reference section? '5' on line 111 looks like a reference Summary: 3 errors (**), 0 flaws (~~), 6 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SIPPING Working Group A. Johnston 3 Internet Draft WorldCom 4 Document: S. Donovan 5 draft-ietf-sipping-basic-call-flows-00.txt R. Sparks 6 Expires: February 2003 C. Cunningham 7 dynamicsoft 8 K. Summers 9 Sonus 10 August 2002 12 Session Initiation Protocol Basic Call Flow Examples 14 Status of this Memo 16 This document is an Internet-Draft and is in full conformance with 17 all provisions of Section 10 of RFC2026. 19 Internet-Drafts are working documents of the Internet Engineering 20 Task Force (IETF), its areas, and its working groups. Note that 21 other groups may also distribute working documents as Internet- 22 Drafts. 24 Internet-Drafts are draft documents valid for a maximum of six months 25 and may be updated, replaced, or obsoleted by other documents at any 26 time. It is inappropriate to use Internet-Drafts as reference 27 material or to cite them other than as "work in progress." 29 The list of current Internet-Drafts can be accessed at 30 http://www.ietf.org/ietf/1id-abstracts.txt 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 34 Abstract 36 This informational document gives examples of Session Initiation 37 Protocol (SIP) call flows. Elements in these call flows include SIP 38 User Agents and Clients, SIP Proxy and Redirect Servers. Scenarios 39 include SIP Registration and SIP session establishment. Call flow 40 diagrams and message details are shown. 42 Conventions used in this document 44 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 45 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 46 document are to be interpreted as described in RFC-2119 [1]. 48 SIP Basic Call Flow Examples August 2002 50 Table of Contents 52 1. Overview.......................................................2 53 1.1 General Assumptions........................................3 54 1.2 Legend for Message Flows...................................3 55 1.3 SIP Protocol Assumptions...................................3 56 2. SIP Registration...............................................5 57 2.1 Successful New Registration................................5 58 2.2 Update of Contact List.....................................7 59 2.3 Request for Current Contact List...........................9 60 2.4 Cancellation of Registration..............................11 61 2.5 Unsuccessful Registration.................................13 62 3. SIP Session Establishment.....................................15 63 3.1 Successful Session Establishment..........................15 64 3.2 Session Establishment Through Two Proxies.................18 65 3.3 Session with Multiple Proxy Authentication................28 66 3.4 Successful Session with Proxy Failure.....................38 67 3.5 Session Through a SIP ALG.................................47 68 3.6 Session via Redirect and Proxy Servers with SDP in ACK....55 69 3.7 Session with re-INVITE (IP Address Change)................62 70 3.8 Unsuccessful No Answer....................................68 71 3.9 Unsuccessful Busy.........................................76 72 3.10 Unsuccessful No Response from User Agent.................81 73 3.11 Unsuccessful Temporarily Unavailable.....................86 74 Security Considerations..........................................91 75 References.......................................................91 76 Acknowledgments..................................................92 77 Author's Addresses...............................................92 79 1. Overview 81 The call flows shown in this document were developed in the design of 82 a carrier-class SIP IP Telephony network. They represent an example 83 minimum set of functionality for SIP to be used in IP Telephony 84 applications. 86 It is the hope of the authors that this document will be useful for 87 SIP implementors, designers, and protocol researchers alike and will 88 help further the goal of a standard SIP implementation for IP 89 Telephony. It is envisioned that as changes to the standard and 90 additional RFCs are added that this document will reflect those 91 changes and represent the current state of a standard interoperable 92 SIP IP Telephony implementation. 94 These call flows are based on the current version 2.0 of SIP in 95 RFC 3261[2] with SDP usage described in RFC 3264[3]. 97 Call flow examples of SIP interworking with the PSTN through gateways 98 are contained in a companion document, RFC xxxx[4]. 100 SIP Basic Call Flow Examples August 2002 102 1.1 General Assumptions 104 A number of architecture, network, and protocol assumptions underly 105 the call flows in this document. Note that these assumptions are not 106 requirements. They are outlined in this section so that they may be 107 taken into consideration and to aid in the understanding of the call 108 flow examples. 110 The authentication of SIP User Agents in these example call flows is 111 performed using SIP Digest as defined in [3] and [5]. 113 Some Proxy Servers in these call flows insert Record-Route headers 114 into requests to ensure that they are in the signaling path for 115 future message exchanges. 117 These flows show UDP for transport. Other transport schemes could 118 also be used. 120 1.2 Legend for Message Flows 122 Dashed lines (---) represent signaling messages that are mandatory to 123 the call scenario. These messages can be SIP or PSTN 124 signaling. The arrow indicates the direction of message flow. 126 Double dashed lines (===) represent media paths between network 127 elements. 129 Messages with parentheses around their name represent optional 130 messages. 132 Messages are identified in the Figures as F1, F2, etc. This 133 references the message details in the list that follows the Figure. 134 Comments in the message details are shown in the following form: 136 /* Comments. */ 138 1.3 SIP Protocol Assumptions 140 This document is informational only and is NOT NORMATIVE in any 141 sense. 143 For simplicity in reading and editing the document, there are a 144 number of differences between some of the examples and actual SIP 145 messages. For example, the SIP Digest responses are not actual MD5 146 encodings. Call-IDs are often repeated, and CSeq counts often begin 147 at 1. Header fields are usually shown in the same order. Usually 148 only the minimum required header field set is shown, others that 149 SIP Basic Call Flow Examples August 2002 151 would normally be present such as Accept, Supported, Allow, etc are 152 not shown. 154 Actors: 156 Element Display Name URI IP Address 157 ------- ------------ --- ---------- 159 User Agent BigGuy UserA@atlanta.com 192.168.100.101 160 User Agent LittleGuy UserB@biloxi.com 192.168.200.201 161 User Agent UserB@chicago.com 192.168.200.100 162 Proxy Server ss1.atlanta.com 192.168.255.111 163 Proxy/Registrar ss2.biloxi.com 192.168.156.222 164 Proxy Server ss3.chicago.com 192.168.182.333 165 ALG alg1.atlanta.com 192.168.255.128 166 SIP Basic Call Flow Examples August 2002 168 2. SIP Registration 170 Registration binds a particular device Contact URI with a SIP user 171 AOR (Address of Record). 173 2.1 Successful New Registration 175 User B SIP Server 176 | | 177 | REGISTER F1 | 178 |------------------------------>| 179 | 401 Unauthorized F2 | 180 |<------------------------------| 181 | REGISTER F3 | 182 |------------------------------>| 183 | 200 OK F4 | 184 |<------------------------------| 185 | | 187 User B sends a SIP REGISTER request to the SIP server. The request 188 includes the user's contact list. The SIP server provides a 189 challenge to User B. User B enters her/his valid user ID and 190 password. User B's SIP client encrypts the user information 191 according to the challenge issued by the SIP server and 192 sends the response to the SIP server. The SIP server validates the 193 user's credentials. It registers the user in its contact database 194 and returns a response (200 OK) to User B's SIP client. The response 195 includes the user's current contact list in Contact headers. The 196 format of the authentication shown is SIP digest. It is assumed that 197 User B has not previously registered with this Server. 199 Message Details 201 F1 REGISTER B -> SIP Server 203 REGISTER sip:ss2.biloxi.com SIP/2.0 204 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 205 Max-Forwards: 70 206 From: LittleGuy ;tag=a73kszlfl 207 To: LittleGuy 208 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 209 CSeq: 1 REGISTER 210 Contact: 211 Content-Length: 0 212 SIP Basic Call Flow Examples August 2002 214 F2 401 Unauthorized SIP Server -> User B 216 SIP/2.0 401 Unauthorized 217 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 218 ;received=192.168.200.201 219 From: LittleGuy ;tag=a73kszlfl 220 To: LittleGuy ;tag=1410948204 221 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 222 CSeq: 1 REGISTER 223 WWW-Authenticate: Digest realm="atlanta.com", qop="auth", 224 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 225 opaque="", stale=FALSE, algorithm=MD5 226 Content-Length: 0 228 F3 REGISTER B -> SIP Server 230 REGISTER sip:ss2.biloxi.com SIP/2.0 231 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 232 Max-Forwards: 70 233 From: LittleGuy ;tag=ja743ks76zlflH 234 To: LittleGuy 235 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 236 CSeq: 2 REGISTER 237 Contact: 238 Authorization: Digest username="UserB", realm="atlanta.com" 239 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", 240 uri="sip:ss2.biloxi.com", response="dfe56131d1958046689d83306477ecc" 241 Content-Length: 0 243 F4 200 OK SIP Server -> B 245 SIP/2.0 200 OK 246 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 247 ;received=192.168.200.201 248 From: LittleGuy ;tag=ja743ks76zlflH 249 To: LittleGuy ;tag=37GkEhwl6 250 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 251 CSeq: 2 REGISTER 252 Contact: ;expires=3600 253 Content-Length: 0 254 SIP Basic Call Flow Examples August 2002 256 2.2 Update of Contact List 258 User B SIP Server 259 | | 260 | REGISTER F1 | 261 |------------------------------>| 262 | 200 OK F2 | 263 |<------------------------------| 264 | | 266 User B wishes to update the list of addresses where the SIP server 267 will redirect or forward INVITE requests. 269 User B sends a SIP REGISTER request to the SIP server. User B's 270 request includes an updated contact list. Since the user already has 271 authenticated with the server, the user supplies authentication 272 credentials with the request and is not challenged by the server. 273 The SIP server validates the user's credentials. It registers the 274 user in its contact database, updates the user's contact list, and 275 returns a response (200 OK) to User B's SIP client. The response 276 includes the user's current contact list in Contact headers. 278 Message Details 280 F1 REGISTER B -> SIP Server 282 REGISTER sip:ss2.biloxi.com SIP/2.0 283 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 284 Max-Forwards: 70 285 From: LittleGuy ;tag=a73kszlfl 286 To: LittleGuy 287 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 288 CSeq: 1 REGISTER 289 Contact: mailto:UserB@biloxi.com 290 Authorization: Digest username="UserB", realm="atlanta.com", 291 qop="auth", nonce="1cec4341ae6cbe5a359ea9c8e88df84f", opaque="", 292 uri="sip:ss2.biloxi.com", 293 response="71ba27c64bd01de719686aa4590d5824" 294 Content-Length: 0 296 F2 200 OK SIP Server -> B 298 SIP/2.0 200 OK 299 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 300 SIP Basic Call Flow Examples August 2002 302 ;received=192.168.200.201 303 From: LittleGuy ;tag=a73kszlfl 304 To: LittleGuy ;tag=34095828jh 305 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 306 CSeq: 1 REGISTER 307 Contact: ;expires=3600 308 Contact: ;expires=4294967295 309 Content-Length: 0 310 SIP Basic Call Flow Examples August 2002 312 2.3 Request for Current Contact List 314 User B SIP Server 315 | | 316 | REGISTER F1 | 317 |------------------------------>| 318 | 200 OK F2 | 319 |<------------------------------| 320 | | 322 User B sends a register request to the Proxy Server containing no 323 Contact headers, indicating the user wishes to query the server for 324 the user's current contact list. Since the user already has 325 authenticated with the server, the user supplies authentication 326 credentials with the request and is not challenged by the server. The 327 SIP server validates the user's credentials. The server returns a 328 response (200 OK) which includes the user's current registration list 329 in Contact headers. 331 Message Details 333 F1 REGISTER B -> SIP Server 335 REGISTER sip:ss2.biloxi.com SIP/2.0 336 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 337 Max-Forwards: 70 338 From: LittleGuy ;tag=a73kszlfl 339 To: LittleGuy 340 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 341 CSeq: 1 REGISTER 342 Authorization: Digest username="UserB", realm="atlanta.com", 343 nonce="df84f1cec4341ae6cbe5ap359a9c8e88", opaque="", 344 uri="sip:ss2.biloxi.com", 345 response="aa7ab4678258377c6f7d4be6087e2f60" 346 Content-Length: 0 348 F2 200 OK SIP Server -> B 350 SIP/2.0 200 OK 351 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 352 ;received=192.168.200.201 353 From: LittleGuy ;tag=a73kszlfl 354 To: LittleGuy ;tag=jqoiweu75 355 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 356 CSeq: 1 REGISTER 357 SIP Basic Call Flow Examples August 2002 359 Contact: ;expires=3600 360 Contact: ;expires=4294967295 361 Content-Length: 0 362 SIP Basic Call Flow Examples August 2002 364 2.4 Cancellation of Registration 366 User B SIP Server 367 | | 368 | REGISTER F1 | 369 |------------------------------>| 370 | 200 OK F2 | 371 |<------------------------------| 372 | | 374 User B wishes to cancel their registration with the SIP 375 server. User B sends a SIP REGISTER request to the 376 SIP server. The request has an expiration period of 0 and applies to 377 all existing contact locations. Since the user already has 378 authenticated with the server, the user supplies authentication 379 credentials with the request and is not challenged by the server. 380 The SIP server validates the user's credentials. It clears the 381 user's contact list, and returns a response (200 OK) to User B's SIP 382 client. 384 Message Details 386 F1 REGISTER B -> SIP Server 388 REGISTER sip:ss2.biloxi.com SIP/2.0 389 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 390 Max-Forwards: 70 391 From: LittleGuy ;tag=a73kszlfl 392 To: LittleGuy 393 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 394 CSeq: 1 REGISTER 395 Expires: 0 396 Contact: * 397 Authorization: Digest username="UserB", realm="atlanta.com", 398 nonce="88df84f1cac4341aea9c8ee6cbe5a359", opaque="", 399 uri="sip:ss2.biloxi.com", 400 response="ff0437c51696f9a76244f0cf1dbabbea" 401 Content-Length: 0 403 F2 200 OK SIP Server -> B 405 SIP/2.0 200 OK 406 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 407 ;received=192.168.200.201 408 From: LittleGuy ;tag=a73kszlfl 409 To: LittleGuy ;tag=1418nmdsrf 410 SIP Basic Call Flow Examples August 2002 412 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 413 CSeq: 1 REGISTER 414 Content-Length: 0 415 SIP Basic Call Flow Examples August 2002 417 2.5 Unsuccessful Registration 419 User B SIP Server 420 | | 421 | REGISTER F1 | 422 |------------------------------>| 423 | 401 Unauthorized F2 | 424 |<------------------------------| 425 | REGISTER F3 | 426 |------------------------------>| 427 | 401 Unauthorized F4 | 428 |<------------------------------| 429 | | 431 User B sends a SIP REGISTER request to the SIP Server. The SIP 432 server provides a challenge to User B. User B enters her/his user ID 433 and password. User B's SIP client encrypts the user information 434 according to the challenge issued by the SIP server and sends the 435 response to the SIP server. The SIP server attempts to validate the 436 user's credentials, but they are not valid (the user's password does 437 not match the password established for the user's account). The 438 server returns a response (401 Unauthorized) to User B's SIP client. 440 Message Details 442 F1 REGISTER B -> SIP Server 444 REGISTER sip:ss2.biloxi.com SIP/2.0 445 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 446 Max-Forwards: 70 447 From: LittleGuy ;tag=a73kszlfl 448 To: LittleGuy 449 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 450 CSeq: 1 REGISTER 451 Contact: 452 Content-Length: 0 454 F2 Unauthorized SIP Server -> User B 456 SIP/2.0 401 Unauthorized 457 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 458 ;received=192.168.200.201 459 SIP Basic Call Flow Examples August 2002 461 From: LittleGuy ;tag=a73kszlfl 462 To: LittleGuy ;tag=1410948204 463 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 464 CSeq: 1 REGISTER 465 WWW-Authenticate: Digest realm="atlanta.com", qop="auth", 466 nonce="f1cec4341ae6ca9c8e88df84be55a359", 467 opaque="", stale=FALSE, algorithm=MD5 468 Content-Length: 0 470 F3 REGISTER B -> SIP Server 472 REGISTER sip:ss2.biloxi.com SIP/2.0 473 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 474 Max-Forwards: 70 475 From: LittleGuy ;tag=JueHGuidj28dfga 476 To: LittleGuy 477 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 478 CSeq: 2 REGISTER 479 Contact: 480 Authorization: Digest username="UserB", realm="atlanta.com", 481 nonce="f1cec4341ae6ca9c8e88df84be55a359", opaque="", 482 uri="sip:ss2.biloxi.com", 483 response="61f8470ceb87d7ebf508220214ed438b" 484 Content-Length: 0 486 /* The response above encodes the incorrect password */ 488 F4 401 Unauthorized SIP Server -> User B 490 SIP/2.0 401 Unauthorized 491 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 492 ;received=192.168.200.201 493 From: LittleGuy ;tag=JueHGuidj28dfga 494 To: LittleGuy ;tag=1410948204 495 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 496 CSeq: 2 REGISTER 497 WWW-Authenticate: Digest realm="atlanta.com", qop="auth", 498 nonce="84f1c1ae6cbe5ua9c8e88dfa3ecm3459", 499 opaque="", stale=FALSE, algorithm=MD5 500 Content-Length: 0 501 SIP Basic Call Flow Examples August 2002 503 3. SIP Session Establishment 505 This section details session establishment between two SIP User 506 Agents (UAs): User A and User B. User A (LittleGuy 507 sip:UserA@atlanta.com) and User B (BigGuy sip:UserB@biloxi.com) are 508 assumed to be SIP phones or SIP-enabled devices. The successful 509 calls show the initial signaling, the exchange of media information 510 in the form of SDP payloads, the establishment of the media session, 511 then finally the termination of the call. 513 SIP digest authentication is used by Proxy Servers to authenticate 514 the caller User A. It is assumed that User B has registered with 515 Proxy Server Proxy 2 as per Section 2 to be able to receive the calls 516 via the Proxy. 518 3.1 Successful Session Establishment 520 User A User B 521 | | 522 | INVITE F1 | 523 |----------------------->| 524 | 180 Ringing F2 | 525 |<-----------------------| 526 | | 527 | 200 OK F3 | 528 |<-----------------------| 529 | ACK F4 | 530 |----------------------->| 531 | Both Way RTP Media | 532 |<======================>| 533 | | 534 | BYE F5 | 535 |<-----------------------| 536 | 200 OK F6 | 537 |----------------------->| 538 | | 540 In this scenario, User A completes a call to User B directly. 542 Message Details 544 F1 INVITE User A -> User B 546 INVITE sip:UserB@biloxi.com SIP/2.0 547 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 548 Max-Forwards: 70 549 SIP Basic Call Flow Examples August 2002 551 From: BigGuy ;tag=9fxced76sl 552 To: LittleGuy 553 Call-ID: 3848276298220188511@atlanta.com 554 CSeq: 1 INVITE 555 Contact: 556 Content-Type: application/sdp 557 Content-Length: 147 559 v=0 560 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 561 s=- 562 c=IN IP4 192.168.100.101 563 t=0 0 564 m=audio 49172 RTP/AVP 0 565 a=rtpmap:0 PCMU/8000 567 F2 180 Ringing User B -> User A 569 SIP/2.0 180 Ringing 570 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 571 ;received=192.168.100.101 572 From: BigGuy ;tag=9fxced76sl 573 To: LittleGuy ;tag=8321234356 574 Call-ID: 3848276298220188511@atlanta.com 575 CSeq: 1 INVITE 576 Content-Length: 0 578 F3 200 OK User B -> User A 580 SIP/2.0 200 OK 581 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 582 ;received=192.168.100.101 583 From: BigGuy ;tag=9fxced76sl 584 To: LittleGuy ;tag=8321234356 585 Call-ID: 3848276298220188511@atlanta.com 586 CSeq: 1 INVITE 587 Contact: 588 Content-Type: application/sdp 589 Content-Length: 145 591 v=0 592 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 593 s=- 594 c=IN IP4 192.168.200.201 595 t=0 0 596 m=audio 3456 RTP/AVP 0 597 a=rtpmap:0 PCMU/8000 598 SIP Basic Call Flow Examples August 2002 600 F4 ACK User A -> User B 602 ACK sip:UserB@biloxi.com SIP/2.0 603 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 604 Max-Forwards: 70 605 From: BigGuy ;tag=9fxced76sl 606 To: LittleGuy ;tag=8321234356 607 Call-ID: 3848276298220188511@atlanta.com 608 CSeq: 1 ACK 609 Content-Length: 0 611 /* RTP streams are established between A and B */ 613 /* User B Hangs Up with User A. Note that the CSeq is NOT 2, since 614 User A and User B maintain their own independent CSeq counts. 615 (The INVITE was request 1 generated by User A, and the BYE is 616 request 1 generated by User B) */ 618 F5 BYE User B -> User A 620 BYE sip:UserA@192.168.100.101 SIP/2.0 621 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 622 Max-Forwards: 70 623 From: LittleGuy ;tag=8321234356 624 To: BigGuy ;tag=9fxced76sl 625 Call-ID: 3848276298220188511@atlanta.com 626 CSeq: 1 BYE 627 Content-Length: 0 629 F6 200 OK User A -> User B 631 SIP/2.0 200 OK 632 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 633 ;received=192.168.200.201 634 From: LittleGuy ;tag=8321234356 635 To: BigGuy ;tag=9fxced76sl 636 Call-ID: 3848276298220188511@atlanta.com 637 CSeq: 1 BYE 638 Content-Length: 0 639 SIP Basic Call Flow Examples August 2002 641 3.2 Session Establishment Through Two Proxies 643 User A Proxy 1 Proxy 2 User B 644 | | | | 645 | INVITE F1 | | | 646 |--------------->| | | 647 | 407 F2 | | | 648 |<---------------| | | 649 | ACK F3 | | | 650 |--------------->| | | 651 | INVITE F4 | | | 652 |--------------->| INVITE F5 | | 653 | 100 F6 |--------------->| INVITE F7 | 654 |<---------------| 100 F8 |--------------->| 655 | |<---------------| | 656 | | | 180 F9 | 657 | | 180 F10 |<---------------| 658 | 180 F11 |<---------------| | 659 |<---------------| | 200 F12 | 660 | | 200 F13 |<---------------| 661 | 200 F14 |<---------------| | 662 |<---------------| | | 663 | ACK F15 | | | 664 |--------------->| ACK F16 | | 665 | |--------------->| ACK F17 | 666 | | |--------------->| 667 | Both Way RTP Media | 668 |<================================================>| 669 | | | BYE F18 | 670 | | BYE F19 |<---------------| 671 | BYE F20 |<---------------| | 672 |<---------------| | | 673 | 200 F21 | | | 674 |--------------->| 200 F22 | | 675 | |--------------->| 200 F23 | 676 | | |--------------->| 677 | | | | 679 In this scenario, User A completes a call to User B using two proxies 680 Proxy 1 and Proxy 2. The initial INVITE (F1) contains a pre-loaded 681 Route header with the address of Proxy 1 (Proxy 1 is configured as a 682 default outbound proxy for User A). The request does not contain the 683 Authorization credentials Proxy 1 requires, so a 407 Proxy 684 Authorization response is sent containing the challenge information. 685 A new INVITE (F4) is then sent containing the correct credentials and 686 the call proceeds. The call terminates when User B disconnects by 687 initiating a BYE message. 689 SIP Basic Call Flow Examples August 2002 691 Proxy 1 inserts a Record-Route header into the INVITE message to 692 ensure that it is present in all subsequent message exchanges. Proxy 693 2 also inserts itself into the Record-Route header. The ACK (F15) 694 and BYE (F18) both have a Route header. 696 Message Details 698 F1 INVITE A -> Proxy 1 700 INVITE sip:UserB@biloxi.com SIP/2.0 701 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 702 Max-Forwards: 70 703 Route: 704 From: BigGuy ;tag=9fxced76sl 705 To: LittleGuy 706 Call-ID: 3848276298220188511@atlanta.com 707 CSeq: 1 INVITE 708 Contact: 709 Content-Type: application/sdp 710 Content-Length: 147 712 v=0 713 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 714 s=- 715 c=IN IP4 192.168.100.101 716 t=0 0 717 m=audio 49172 RTP/AVP 0 718 a=rtpmap:0 PCMU/8000 720 /* Proxy 1 challenges User A for authentication */ 722 F2 407 Proxy Authorization Required Proxy 1 -> User A 724 SIP/2.0 407 Proxy Authorization Required 725 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 726 ;received=192.168.100.101 727 From: BigGuy ;tag=9fxced76sl 728 To: LittleGuy ;tag=3flal12sf 729 Call-ID: 3848276298220188511@atlanta.com 730 CSeq: 1 INVITE 731 Proxy-Authenticate: Digest realm="atlanta.com", qop="auth", 732 nonce="f84f1cec41e6cbe5aea9c8e88d359", 733 opaque="", stale=FALSE, algorithm=MD5 734 Content-Length: 0 735 SIP Basic Call Flow Examples August 2002 737 F3 ACK A -> Proxy 1 739 ACK sip:UserB@biloxi.com SIP/2.0 740 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 741 Max-Forwards: 70 742 From: BigGuy ;tag=9fxced76sl 743 To: LittleGuy ;tag=3flal12sf 744 Call-ID: 3848276298220188511@atlanta.com 745 CSeq: 1 ACK 746 Content-Length: 0 748 /* User A responds be re-sending the INVITE with authentication 749 credentials in it. */ 751 F4 INVITE A -> Proxy 1 753 INVITE sip:UserB@biloxi.com SIP/2.0 754 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 755 Max-Forwards: 70 756 Route: 757 From: BigGuy ;tag=9fxced76sl 758 To: LittleGuy 759 Call-ID: 3848276298220188511@atlanta.com 760 CSeq: 2 INVITE 761 Contact: 762 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 763 nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", 764 uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8" 765 Content-Type: application/sdp 766 Content-Length: 147 768 v=0 769 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 770 s=- 771 c=IN IP4 192.168.100.101 772 t=0 0 773 m=audio 49172 RTP/AVP 0 774 a=rtpmap:0 PCMU/8000 776 /* Proxy 1 accepts the credentials and forwards the INVITE to Proxy 777 2. Proxy 1 is assumed to have been authenticated by Proxy 2 using 778 IPSec. Client for A prepares to receive data on port 49172 from the 779 network. */ 781 F5 INVITE Proxy 1 -> Proxy 2 783 INVITE sip:UserB@biloxi.com SIP/2.0 784 SIP Basic Call Flow Examples August 2002 786 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 787 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 788 ;received=192.168.100.101 789 Max-Forwards: 69 790 Record-Route: 791 From: BigGuy ;tag=9fxced76sl 792 To: LittleGuy 793 Call-ID: 3848276298220188511@atlanta.com 794 CSeq: 2 INVITE 795 Contact: 796 Content-Type: application/sdp 797 Content-Length: 147 799 v=0 800 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 801 s=- 802 c=IN IP4 192.168.100.101 803 t=0 0 804 m=audio 49172 RTP/AVP 0 805 a=rtpmap:0 PCMU/8000 807 F6 100 Trying Proxy 1 -> User A 809 SIP/2.0 100 Trying 810 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 811 ;received=192.168.100.101 812 From: BigGuy ;tag=9fxced76sl 813 To: LittleGuy 814 Call-ID: 3848276298220188511@atlanta.com 815 CSeq: 2 INVITE 816 Content-Length: 0 818 F7 INVITE Proxy 2 -> B 820 INVITE sip:UserB@192.168.200.201 SIP/2.0 821 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 822 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 823 ;received=192.168.255.111 824 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 825 ;received=192.168.100.101 826 Max-Forwards: 68 827 Record-Route: , 828 From: BigGuy ;tag=9fxced76sl 829 To: LittleGuy 830 Call-ID: 3848276298220188511@atlanta.com 831 CSeq: 2 INVITE 832 Contact: 833 SIP Basic Call Flow Examples August 2002 835 Content-Type: application/sdp 836 Content-Length: 147 838 v=0 839 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 840 s=- 841 c=IN IP4 192.168.100.101 842 t=0 0 843 m=audio 49172 RTP/AVP 0 844 a=rtpmap:0 PCMU/8000 846 F8 100 Trying Proxy 2 -> Proxy 1 848 SIP/2.0 100 Trying 849 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 850 ;received=192.168.255.111 851 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 852 ;received=192.168.100.101 853 From: BigGuy ;tag=9fxced76sl 854 To: LittleGuy 855 Call-ID: 3848276298220188511@atlanta.com 856 CSeq: 2 INVITE 857 Content-Length: 0 859 F9 180 Ringing B -> Proxy 2 861 SIP/2.0 180 Ringing 862 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 863 ;received=192.168.156.222 864 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 865 ;received=192.168.255.111 866 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 867 ;received=192.168.100.101 868 Record-Route: , 869 From: BigGuy ;tag=9fxced76sl 870 To: LittleGuy ;tag=314159 871 Call-ID: 3848276298220188511@atlanta.com 872 Contact: 873 CSeq: 2 INVITE 874 Content-Length: 0 876 F10 180 Ringing Proxy 2 -> Proxy 1 878 SIP/2.0 180 Ringing 879 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 880 ;received=192.168.255.111 881 SIP Basic Call Flow Examples August 2002 883 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 884 ;received=192.168.100.101 885 Record-Route: , 886 From: BigGuy ;tag=9fxced76sl 887 To: LittleGuy ;tag=314159 888 Call-ID: 3848276298220188511@atlanta.com 889 Contact: 890 CSeq: 2 INVITE 891 Content-Length: 0 893 F11 180 Ringing Proxy 1 -> A 895 SIP/2.0 180 Ringing 896 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 897 ;received=192.168.100.101 898 Record-Route: , 899 From: BigGuy ;tag=9fxced76sl 900 To: LittleGuy ;tag=314159 901 Call-ID: 3848276298220188511@atlanta.com 902 Contact: 903 CSeq: 2 INVITE 904 Content-Length: 0 906 F12 200 OK B -> Proxy 2 908 SIP/2.0 200 OK 909 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 910 ;received=192.168.156.222 911 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 912 ;received=192.168.255.111 913 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 914 ;received=192.168.100.101 915 Record-Route: , 916 From: BigGuy ;tag=9fxced76sl 917 To: LittleGuy ;tag=314159 918 Call-ID: 3848276298220188511@atlanta.com 919 CSeq: 2 INVITE 920 Contact: 921 Content-Type: application/sdp 922 Content-Length: 145 924 v=0 925 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 926 s=- 927 c=IN IP4 192.168.200.201 928 t=0 0 929 m=audio 3456 RTP/AVP 0 930 SIP Basic Call Flow Examples August 2002 932 a=rtpmap:0 PCMU/8000 934 F13 200 OK Proxy 2 -> Proxy 1 936 SIP/2.0 200 OK 937 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 938 ;received=192.168.255.111 939 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 940 ;received=192.168.100.101 941 Record-Route: , 942 From: BigGuy ;tag=9fxced76sl 943 To: LittleGuy ;tag=314159 944 Call-ID: 3848276298220188511@atlanta.com 945 CSeq: 2 INVITE 946 Contact: 947 Content-Type: application/sdp 948 Content-Length: 145 950 v=0 951 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 952 s=- 953 c=IN IP4 192.168.200.201 954 t=0 0 955 m=audio 3456 RTP/AVP 0 956 a=rtpmap:0 PCMU/8000 958 F14 200 OK Proxy 1 -> A 960 SIP/2.0 200 OK 961 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 962 ;received=192.168.100.101 963 Record-Route: , 964 From: BigGuy ;tag=9fxced76sl 965 To: LittleGuy ;tag=314159 966 Call-ID: 3848276298220188511@atlanta.com 967 CSeq: 2 INVITE 968 Contact: 969 Content-Type: application/sdp 970 Content-Length: 145 972 v=0 973 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 974 s=- 975 c=IN IP4 192.168.200.201 976 t=0 0 977 m=audio 3456 RTP/AVP 0 978 a=rtpmap:0 PCMU/8000 979 SIP Basic Call Flow Examples August 2002 981 F15 ACK A -> Proxy 1 983 ACK sip:UserB@192.168.200.201 SIP/2.0 984 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 985 Max-Forwards: 70 986 Route: , 987 From: BigGuy ;tag=9fxced76sl 988 To: LittleGuy ;tag=314159 989 Call-ID: 3848276298220188511@atlanta.com 990 CSeq: 2 ACK 991 Content-Length: 0 993 F16 ACK Proxy 1 -> Proxy 2 995 ACK sip:UserB@192.168.200.201 SIP/2.0 996 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 997 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 998 ;received=192.168.100.101 999 Max-Forwards: 69 1000 Route: 1001 From: BigGuy ;tag=9fxced76sl 1002 To: LittleGuy ;tag=314159 1003 Call-ID: 3848276298220188511@atlanta.com 1004 CSeq: 2 ACK 1005 Content-Length: 0 1007 F17 ACK Proxy 2 -> B 1009 ACK sip:UserB@192.168.200.201 SIP/2.0 1010 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1011 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 1012 ;received=192.168.255.111 1013 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1014 ;received=192.168.100.101 1015 Max-Forwards: 68 1016 From: BigGuy ;tag=9fxced76sl 1017 To: LittleGuy ;tag=314159 1018 Call-ID: 3848276298220188511@atlanta.com 1019 CSeq: 2 ACK 1020 Content-Length: 0 1022 /* RTP streams are established between A and B */ 1024 /* User B Hangs Up with User A. */ 1025 SIP Basic Call Flow Examples August 2002 1027 /* Again, note that the CSeq is NOT 3. User A and User B maintain 1028 their own separate CSeq counts */ 1030 F18 BYE User B -> Proxy 2 1032 BYE sip:UserA@192.168.100.101 SIP/2.0 1033 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1034 Max-Forwards: 70 1035 Route: , 1036 From: LittleGuy ;tag=314159 1037 To: BigGuy ;tag=9fxced76sl 1038 Call-ID: 3848276298220188511@atlanta.com 1039 CSeq: 1 BYE 1040 Content-Length: 0 1042 F19 BYE Proxy 2 -> Proxy 1 1044 BYE sip:UserA@192.168.100.101 SIP/2.0 1045 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1046 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1047 ;received=192.168.200.201 1048 Max-Forwards: 69 1049 Route: 1050 From: LittleGuy ;tag=314159 1051 To: BigGuy ;tag=9fxced76sl 1052 Call-ID: 3848276298220188511@atlanta.com 1053 CSeq: 1 BYE 1054 Content-Length: 0 1056 F20 BYE Proxy 1 -> User A 1058 BYE sip:UserA@192.168.100.101 SIP/2.0 1059 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 1060 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1061 ;received=192.168.156.222 1062 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1063 ;received=192.168.200.201 1064 Max-Forwards: 68 1065 From: LittleGuy ;tag=314159 1066 To: BigGuy ;tag=9fxced76sl 1067 Call-ID: 3848276298220188511@atlanta.com 1068 CSeq: 1 BYE 1069 Content-Length: 0 1071 F21 200 OK User A -> Proxy 1 1072 SIP Basic Call Flow Examples August 2002 1074 SIP/2.0 200 OK 1075 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 1076 ;received=192.168.255.111 1077 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1078 ;received=192.168.156.222 1079 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1080 ;received=192.168.200.201 1081 From: LittleGuy ;tag=314159 1082 To: BigGuy ;tag=9fxced76sl 1083 Call-ID: 3848276298220188511@atlanta.com 1084 CSeq: 1 BYE 1085 Content-Length: 0 1087 F22 200 OK Proxy 1 -> Proxy 2 1089 SIP/2.0 200 OK 1090 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1091 ;received=192.168.156.222 1092 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1093 ;received=192.168.100.101 1094 From: LittleGuy ;tag=314159 1095 To: BigGuy ;tag=9fxced76sl 1096 Call-ID: 3848276298220188511@atlanta.com 1097 CSeq: 1 BYE 1098 Content-Length: 0 1100 F23 200 OK Proxy 2 -> User B 1102 SIP/2.0 200 OK 1103 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1104 ;received=192.168.200.201 1105 From: LittleGuy ;tag=314159 1106 To: BigGuy ;tag=9fxced76sl 1107 Call-ID: 3848276298220188511@atlanta.com 1108 CSeq: 1 BYE 1109 Content-Length: 0 1110 SIP Basic Call Flow Examples August 2002 1112 3.3 Session with Multiple Proxy Authentication 1114 User A Proxy 1 Proxy 2 User B 1115 | | | | 1116 | INVITE F1 | | | 1117 |----------->| | | 1118 | 407 Proxy Authorization Required F2 | 1119 |<-----------| | | 1120 | ACK F3 | | | 1121 |----------->| | | 1122 | INVITE F4 | | | 1123 |----------->| | | 1124 | 100 F5 | | | 1125 |<-----------| INVITE F6 | | 1126 | |---------->| | 1127 | | 407 Proxy Authorization Required F7 1128 | |<----------| | 1129 | | ACK F8 | | 1130 | |---------->| | 1131 | 407 Proxy Authorization Required F9 | 1132 |<-----------| | | 1133 | ACK F10 | | | 1134 |----------->| | | 1135 | INVITE F11| | | 1136 |----------->| | | 1137 | 100 F12 | | | 1138 |<-----------| INVITE F13| | 1139 | |---------->| | 1140 | | 100 F14 | | 1141 | |<----------| INVITE F15 | 1142 | | |------------>| 1143 | | | 200 OK F16 | 1144 | | 200 OK F17|<------------| 1145 | 200 OK F18 |<----------| | 1146 |<-----------| | | 1147 | ACK F19 | | | 1148 |----------->| ACK F20 | | 1149 | |---------->| ACK F21 | 1150 | | |------------>| 1151 | RTP Media Path | 1152 |<====================================>| 1154 In this scenario, User A completes a call to User B using two proxies 1155 Proxy 1 and Proxy 2. User A has valid credentials in both domains. 1156 Since the initial INVITE (F1) does not contain the 1157 Authorization credentials Proxy 1 requires, so a 407 Proxy 1158 Authorization response is sent containing the challenge information. 1159 A new INVITE (F4) is then sent containing the correct credentials and 1160 SIP Basic Call Flow Examples August 2002 1162 the call proceeds after Proxy 2 challenges and receives valid 1163 credentials. The call terminates when User B disconnects by 1164 initiating a BYE message. 1166 Proxy 1 inserts a Record-Route header into the INVITE message to 1167 ensure that it is present in all subsequent message exchanges. Proxy 1168 2 also inserts itself into the Record-Route header. 1170 Message Details 1172 F1 INVITE A -> Proxy 1 1174 INVITE sip:UserB@biloxi.com SIP/2.0 1175 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1176 Max-Forwards: 70 1177 Route: 1178 From: BigGuy ;tag=9fxced76sl 1179 To: LittleGuy 1180 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1181 CSeq: 1 INVITE 1182 Contact: 1183 Content-Type: application/sdp 1184 Content-Length: 147 1186 v=0 1187 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1188 s=- 1189 c=IN IP4 192.168.100.101 1190 t=0 0 1191 m=audio 49172 RTP/AVP 0 1192 a=rtpmap:0 PCMU/8000 1194 /* Proxy 1 challenges User A for authentication */ 1196 F2 407 Proxy Authorization Required Proxy 1 -> User A 1198 SIP/2.0 407 Proxy Authorization Required 1199 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1200 ;received=192.168.100.101 1201 From: BigGuy ;tag=9fxced76sl 1202 To: LittleGuy ;tag=876321 1203 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1204 CSeq: 1 INVITE 1205 Proxy-Authenticate: Digest realm="atlanta.com", qop="auth", 1206 nonce="wf84f1cczx41ae6cbeaea9ce88d359", 1207 SIP Basic Call Flow Examples August 2002 1209 opaque="", stale=FALSE, algorithm=MD5 1210 Content-Length: 0 1212 F3 ACK A -> Proxy 1 1214 ACK sip:UserB@biloxi.com SIP/2.0 1215 Max-Forwards: 70 1216 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1217 From: BigGuy ;tag=9fxced76sl 1218 To: LittleGuy ;tag=876321 1219 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1220 CSeq: 1 ACK 1221 Content-Length: 0 1223 /* User A responds be re-sending the INVITE with authentication 1224 credentials in it. The same Call-ID is used, so the CSeq is 1225 increased. */ 1227 F4 INVITE A -> Proxy 1 1229 INVITE sip:UserB@biloxi.com SIP/2.0 1230 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1231 Max-Forwards: 70 1232 Route: 1233 From: BigGuy ;tag=9fxced76sl 1234 To: LittleGuy 1235 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1236 CSeq: 2 INVITE 1237 Contact: 1238 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 1239 nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", 1240 uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8" 1241 Content-Type: application/sdp 1242 Content-Length: 147 1244 v=0 1245 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1246 s=- 1247 c=IN IP4 192.168.100.101 1248 t=0 0 1249 m=audio 49172 RTP/AVP 0 1250 a=rtpmap:0 PCMU/8000 1252 /* Proxy 1 accepts the credentials and forwards the INVITE to Proxy 1253 2. Proxy 1 is assumed to have been authenticated by Proxy 2 using 1254 IPSec. Client for A prepares to receive data on port 49172 from the 1255 SIP Basic Call Flow Examples August 2002 1257 network. */ 1259 F5 100 Trying Proxy 1 -> User A 1261 SIP/2.0 100 Trying 1262 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1263 ;received=192.168.100.101 1264 From: BigGuy ;tag=9fxced76sl 1265 To: LittleGuy 1266 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1267 CSeq: 2 INVITE 1268 Content-Length: 0 1270 F6 INVITE Proxy 1 -> Proxy 2 1272 INVITE sip:UserB@biloxi.com SIP/2.0 1273 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1274 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1275 ;received=192.168.100.101 1276 Max-Forwards: 69 1277 Record-Route: 1278 From: BigGuy ;tag=9fxced76sl 1279 To: LittleGuy 1280 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1281 CSeq: 2 INVITE 1282 Contact: 1283 Content-Type: application/sdp 1284 Content-Length: 147 1286 v=0 1287 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1288 s=- 1289 c=IN IP4 192.168.100.101 1290 t=0 0 1291 m=audio 49172 RTP/AVP 0 1292 a=rtpmap:0 PCMU/8000 1294 /* Proxy 2 challenges User A for authentication */ 1296 F7 407 Proxy Authorization Required Proxy 2 -> Proxy 1 1298 SIP/2.0 407 Proxy Authorization Required 1299 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1300 ;received=192.168.255.111 1301 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1302 ;received=192.168.100.101 1303 From: BigGuy ;tag=9fxced76sl 1304 SIP Basic Call Flow Examples August 2002 1306 To: LittleGuy ;tag=838209 1307 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1308 CSeq: 2 INVITE 1309 Proxy-Authenticate: Digest realm="biloxi.com", qop="auth", 1310 nonce="c1e22c41ae6cbe5ae983a9c8e88d359", 1311 opaque="", stale=FALSE, algorithm=MD5 1312 Content-Length: 0 1314 F8 ACK Proxy 1 -> Proxy 2 1316 ACK sip:UserB@biloxi.com SIP/2.0 1317 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1318 Max-Forwards: 70 1319 From: BigGuy ;tag=9fxced76sl 1320 To: LittleGuy ;tag=838209 1321 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1322 CSeq: 2 ACK 1323 Content-Length: 0 1325 /* Proxy 1 forwards the challenge to User A for authentication from 1326 Proxy 2 */ 1328 F9 407 Proxy Authorization Required Proxy 1 -> User A 1330 SIP/2.0 407 Proxy Authorization Required 1331 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1332 ;received=192.168.100.101 1333 From: BigGuy ;tag=9fxced76sl 1334 To: LittleGuy ;tag=838209 1335 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1336 CSeq: 2 INVITE 1337 Proxy-Authenticate: Digest realm="biloxi.com", qop="auth", 1338 nonce="c1e22c41ae6cbe5ae983a9c8e88d359", 1339 opaque="", stale=FALSE, algorithm=MD5 1340 Content-Length: 0 1342 F10 ACK User A -> Proxy 1 1344 ACK sip:UserB@biloxi.com SIP/2.0 1345 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1346 Max-Forwards: 70 1347 From: BigGuy ;tag=9fxced76sl 1348 To: LittleGuy ;tag=838209 1349 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1350 CSeq: 2 ACK 1351 Content-Length: 0 1352 SIP Basic Call Flow Examples August 2002 1354 /* User A responds be re-sending the INVITE with authentication 1355 credentials for Proxy 1 AND Proxy 2. */ 1357 F11 INVITE A -> Proxy 1 1359 INVITE sip:UserB@biloxi.com SIP/2.0 1360 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1361 Max-Forwards: 70 1362 From: BigGuy ;tag=9fxced76sl 1363 To: LittleGuy 1364 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1365 CSeq: 3 INVITE 1366 Contact: 1367 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 1368 nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", 1369 uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8" 1370 Proxy-Authorization: Digest username="UserA", realm="biloxi.com", 1371 nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", 1372 uri="sip:UserB@biloxi.com", response="f44ab22f150c6a56071bce8" 1373 Content-Type: application/sdp 1374 Content-Length: 147 1376 v=0 1377 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1378 s=- 1379 c=IN IP4 192.168.100.101 1380 t=0 0 1381 m=audio 49172 RTP/AVP 0 1382 a=rtpmap:0 PCMU/8000 1384 /* Proxy 1 finds its credentials and authorizes User A, forwarding 1385 the INVITE to Proxy. */ 1387 F12 100 Trying Proxy 1 -> User A 1389 SIP/2.0 100 Trying 1390 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1391 ;received=192.168.100.101 1392 From: BigGuy ;tag=9fxced76sl 1393 To: LittleGuy 1394 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1395 CSeq: 3 INVITE 1396 Content-Length: 0 1397 SIP Basic Call Flow Examples August 2002 1399 F13 INVITE Proxy 1 -> Proxy 2 1401 INVITE sip:UserB@biloxi.com SIP/2.0 1402 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1403 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1404 ;received=192.168.100.101 1405 Max-Forwards: 69 1406 Record-Route: 1407 From: BigGuy ;tag=9fxced76sl 1408 To: LittleGuy 1409 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1410 CSeq: 3 INVITE 1411 Contact: 1412 Proxy-Authorization: Digest username="UserA", realm="biloxi.com", 1413 nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", 1414 uri="sip:UserB@biloxi.com", response="f44ab22f150c6a56071bce8" 1415 Content-Type: application/sdp 1416 Content-Length: 147 1418 v=0 1419 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1420 s=- 1421 c=IN IP4 192.168.100.101 1422 t=0 0 1423 m=audio 49172 RTP/AVP 0 1424 a=rtpmap:0 PCMU/8000 1426 /* Proxy 2 finds its credentials and authorizes User A, forwarding 1427 the INVITE to User B. */ 1429 F14 100 Trying Proxy 2 -> Proxy 1 1431 SIP/2.0 100 Trying 1432 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1433 ;received=192.168.255.111 1434 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1435 ;received=192.168.100.101 1436 From: BigGuy ;tag=9fxced76sl 1437 To: LittleGuy 1438 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1439 CSeq: 3 INVITE 1440 Content-Length: 0 1442 F15 INVITE Proxy 2 -> User B 1444 INVITE sip:UserB@192.168.200.201 SIP/2.0 1445 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1 1446 SIP Basic Call Flow Examples August 2002 1448 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1449 ;received=192.168.255.111 1450 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1451 ;received=192.168.100.101 1452 Max-Forwards: 68 1453 Record-Route: , 1454 From: BigGuy ;tag=9fxced76sl 1455 To: LittleGuy 1456 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1457 CSeq: 3 INVITE 1458 Contact: 1459 Content-Type: application/sdp 1460 Content-Length: 147 1462 v=0 1463 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1464 s=- 1465 c=IN IP4 192.168.100.101 1466 t=0 0 1467 m=audio 49172 RTP/AVP 0 1468 a=rtpmap:0 PCMU/8000 1470 /* User B answers the call immediately */ 1472 F16 200 OK User B -> Proxy 2 1474 SIP/2.0 200 OK 1475 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1 1476 ;received=192.168.156.222 1477 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1478 ;received=192.168.255.111 1479 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1480 ;received=192.168.100.101 1481 Record-Route: , 1482 From: BigGuy ;tag=9fxced76sl 1483 To: LittleGuy ;tag=9103874 1484 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1485 CSeq: 3 INVITE 1486 Contact: 1487 Content-Type: application/sdp 1488 Content-Length: 145 1490 v=0 1491 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 1492 s=- 1493 c=IN IP4 192.168.200.201 1494 t=0 0 1495 m=audio 3456 RTP/AVP 0 1496 SIP Basic Call Flow Examples August 2002 1498 a=rtpmap:0 PCMU/8000 1500 F17 200 OK Proxy 2 -> Proxy 1 1502 SIP/2.0 200 OK 1503 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1504 ;received=192.168.255.111 1505 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1506 ;received=192.168.100.101 1507 Record-Route: , 1508 From: BigGuy ;tag=9fxced76sl 1509 To: LittleGuy ;tag=9103874 1510 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1511 CSeq: 3 INVITE 1512 Contact: 1513 Content-Type: application/sdp 1514 Content-Length: 145 1516 v=0 1517 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 1518 s=- 1519 c=IN IP4 192.168.200.201 1520 t=0 0 1521 m=audio 3456 RTP/AVP 0 1522 a=rtpmap:0 PCMU/8000 1524 F18 200 OK Proxy 1 -> User A 1526 SIP/2.0 200 OK 1527 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1528 ;received=192.168.100.101 1529 Record-Route: , 1530 From: BigGuy ;tag=9fxced76sl 1531 To: LittleGuy ;tag=9103874 1532 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1533 CSeq: 3 INVITE 1534 Contact: 1535 Content-Type: application/sdp 1536 Content-Length: 145 1538 v=0 1539 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 1540 s=- 1541 c=IN IP4 192.168.200.201 1542 t=0 0 1543 m=audio 3456 RTP/AVP 0 1544 a=rtpmap:0 PCMU/8000 1545 SIP Basic Call Flow Examples August 2002 1547 F19 ACK User A -> Proxy 1 1549 ACK sip:UserB@192.168.200.201 SIP/2.0 1550 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1551 Max-Forwards: 70 1552 Route: , 1553 From: BigGuy ;tag=9fxced76sl 1554 To: LittleGuy ;tag=9103874 1555 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1556 CSeq: 3 ACK 1557 Content-Length: 0 1559 F20 ACK Proxy 1 -> Proxy 2 1561 ACK sip:UserB@192.168.200.201 SIP/2.0 1562 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1563 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1564 ;received=192.168.100.101 1565 Max-Forwards: 69 1566 Route: 1567 From: BigGuy ;tag=9fxced76sl 1568 To: LittleGuy ;tag=9103874 1569 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1570 CSeq: 3 ACK 1571 Contact: 1572 Content-Length: 0 1574 F21 ACK Proxy 2 -> User A 1576 ACK sip:UserB@192.168.200.201 SIP/2.0 1577 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1 1578 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1579 ;received=192.168.255.111 1580 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1581 ;received=192.168.100.101 1582 Max-Forwards: 68 1583 From: BigGuy ;tag=9fxced76sl 1584 To: LittleGuy ;tag=9103874 1585 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1586 CSeq: 3 ACK 1587 Contact: 1588 Content-Length: 0 1589 SIP Basic Call Flow Examples August 2002 1591 3.4 Successful Session with Proxy Failure 1593 User A Proxy 1 Proxy 2 User B 1594 | | | | 1595 | INVITE F1 | | | 1596 |--------------->| | | 1597 | INVITE F2 | | | 1598 |--------------->| | | 1599 | INVITE F3 | | | 1600 |--------------->| | | 1601 | INVITE F4 | | | 1602 |--------------->| | | 1603 | INVITE F5 | | | 1604 |--------------->| | | 1605 | INVITE F6 | | | 1606 |--------------->| | | 1607 | INVITE F7 | | | 1608 |--------------->| | | 1609 | INVITE F8 | | 1610 |-------------------------------->| | 1611 | 407 F9 | | 1612 |<--------------------------------| | 1613 | ACK F10 | | 1614 |-------------------------------->| | 1615 | INVITE F11 | | 1616 |-------------------------------->| INVITE F12 | 1617 | 100 F13 |--------------->| 1618 |<--------------------------------| | 1619 | | 180 F14 | 1620 | 180 F15 |<---------------| 1621 |<--------------------------------| | 1622 | | 200 F16 | 1623 | 200 F17 |<---------------| 1624 |<--------------------------------| | 1625 | ACK F18 | | 1626 |-------------------------------->| ACK F19 | 1627 | |--------------->| 1628 | Both Way RTP Media | 1629 |<================================================>| 1630 | | BYE F20 | 1631 | BYE F21 |<---------------| 1632 |<--------------------------------| | 1633 | 200 F22 | | 1634 |-------------------------------->| 200 F23 | 1635 | |--------------->| 1636 | | | 1637 SIP Basic Call Flow Examples August 2002 1639 In this scenario, User A completes a call to User B via a Proxy 1640 Server. User A is configured for a primary SIP Proxy Server Proxy 1 1641 and a secondary SIP Proxy Server Proxy 2 (Or is able to use DNS SRV 1642 records to locate Proxy 1 and Proxy 2). User A has valid credentials 1643 for both domains. Proxy 1 is out of service and does not respond to 1644 INVITEs (it is reachable, but unresponsive). User A then completes 1645 the call to User B using Proxy 2. 1647 Message Details 1649 F1 INVITE A -> Proxy 1 1651 INVITE sip:UserB@biloxi.com SIP/2.0 1652 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK465bf9 1653 Max-Forwards: 70 1654 Route: 1655 From: BigGuy ;tag=9fxced76sl 1656 To: LittleGuy 1657 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1658 CSeq: 1 INVITE 1659 Contact: 1660 Content-Type: application/sdp 1661 Content-Length: 147 1663 v=0 1664 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1665 s=- 1666 c=IN IP4 192.168.100.101 1667 t=0 0 1668 m=audio 49172 RTP/AVP 0 1669 a=rtpmap:0 PCMU/8000 1671 F2 INVITE A -> Proxy 1 1673 Same as Message F1 1675 F3 INVITE A -> Proxy 1 1677 Same as Message F1 1679 F4 INVITE A -> Proxy 1 1681 Same as Message F1 1682 SIP Basic Call Flow Examples August 2002 1684 F5 INVITE A -> Proxy 1 1686 Same as Message F1 1688 F6 INVITE A -> Proxy 1 1690 Same as Message F1 1692 F7 INVITE A -> Proxy 1 1694 Same as Message F1 1696 /* User A gives up on the unresponsive proxy */ 1698 F8 INVITE A -> Proxy 2 1700 INVITE sip:UserB@biloxi.com SIP/2.0 1701 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1702 Max-Forwards: 70 1703 From: BigGuy ;tag=9fxced76sl 1704 To: LittleGuy 1705 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1706 CSeq: 1 INVITE 1707 Contact: 1708 Content-Type: application/sdp 1709 Content-Length: 147 1711 v=0 1712 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1713 s=- 1714 c=IN IP4 192.168.100.101 1715 t=0 0 1716 m=audio 49172 RTP/AVP 0 1717 a=rtpmap:0 PCMU/8000 1719 /* Proxy 2 challenges User A for authentication */ 1721 F9 407 Proxy Authorization Required Proxy 2 -> User A 1723 SIP/2.0 407 Proxy Authorization Required 1724 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1725 ;received=192.168.100.101 1726 From: BigGuy ;tag=9fxced76sl 1727 SIP Basic Call Flow Examples August 2002 1729 To: LittleGuy ;tag=2421452 1730 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1731 CSeq: 1 INVITE 1732 Proxy-Authenticate: Digest realm="biloxi.com", qop="auth", 1733 nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", 1734 opaque="", stale=FALSE, algorithm=MD5 1735 Content-Length: 0 1737 F10 ACK A -> Proxy 2 1739 ACK sip:UserB@biloxi.com SIP/2.0 1740 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1741 Max-Forwards: 70 1742 From: BigGuy ;tag=9fxced76sl 1743 To: LittleGuy ;tag=2421452 1744 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1745 CSeq: 1 ACK 1746 Content-Length: 0 1748 /* User A responds be re-sending the INVITE with authentication 1749 credentials in it. */ 1751 F11 INVITE A -> Proxy 2 1753 INVITE sip:UserB@biloxi.com SIP/2.0 1754 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1755 Max-Forwards: 70 1756 From: BigGuy ;tag=9fxced76sl 1757 To: LittleGuy 1758 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1759 CSeq: 2 INVITE 1760 Contact: 1761 Proxy-Authorization: Digest username="UserA", realm="biloxi.com", 1762 nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", opaque="", 1763 uri="sip:UserB@biloxi.com", 1764 response="8a880c919d1a52f20a1593e228adf599" 1765 Content-Type: application/sdp 1766 Content-Length: 147 1768 v=0 1769 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1770 s=- 1771 c=IN IP4 192.168.100.101 1772 t=0 0 1773 m=audio 49172 RTP/AVP 0 1774 a=rtpmap:0 PCMU/8000 1775 SIP Basic Call Flow Examples August 2002 1777 /* Proxy 2 accepts the credentials and forwards the INVITE to User B. 1778 Client for A prepares to receive data on port 49172 from the network. 1779 */ 1781 F12 INVITE Proxy 2 -> B 1783 INVITE sip:UserB@192.168.200.201 SIP/2.0 1784 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1785 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1786 ;received=192.168.100.101 1787 Max-Forwards: 69 1788 Record-Route: 1789 From: BigGuy ;tag=9fxced76sl 1790 To: LittleGuy 1791 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1792 CSeq: 2 INVITE 1793 Contact: 1794 Content-Type: application/sdp 1795 Content-Length: 147 1797 v=0 1798 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1799 s=- 1800 c=IN IP4 192.168.100.101 1801 t=0 0 1802 m=audio 49172 RTP/AVP 0 1803 a=rtpmap:0 PCMU/8000 1805 F13 100 Trying Proxy 2 -> User A 1807 SIP/2.0 100 Trying 1808 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1809 ;received=192.168.100.101 1810 From: BigGuy ;tag=9fxced76sl 1811 To: LittleGuy 1812 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1813 CSeq: 2 INVITE 1814 Content-Length: 0 1816 F14 180 Ringing B -> Proxy 2 1818 SIP/2.0 180 Ringing 1819 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1820 ;received=192.168.156.222 1821 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1822 ;received=192.168.100.101 1823 SIP Basic Call Flow Examples August 2002 1825 Record-Route: 1826 From: BigGuy ;tag=9fxced76sl 1827 To: LittleGuy ;tag=314159 1828 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1829 CSeq: 2 INVITE 1830 Contact: 1831 Content-Length: 0 1833 F15 180 Ringing Proxy 2 -> A 1835 SIP/2.0 180 Ringing 1836 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1837 ;received=192.168.100.101 1838 Record-Route: 1839 From: BigGuy ;tag=9fxced76sl 1840 To: LittleGuy ;tag=314159 1841 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1842 CSeq: 2 INVITE 1843 Contact: 1844 Content-Length: 0 1846 F16 200 OK B -> Proxy 2 1848 SIP/2.0 200 OK 1849 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1850 ;received=192.168.156.222 1851 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1852 ;received=192.168.100.101 1853 Record-Route: 1854 From: BigGuy ;tag=9fxced76sl 1855 To: LittleGuy ;tag=314159 1856 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1857 CSeq: 2 INVITE 1858 Contact: 1859 Content-Type: application/sdp 1860 Content-Length: 145 1862 v=0 1863 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 1864 s=- 1865 c=IN IP4 192.168.200.201 1866 t=0 0 1867 m=audio 3456 RTP/AVP 0 1868 a=rtpmap:0 PCMU/8000 1870 F17 200 OK Proxy 2 -> A 1871 SIP Basic Call Flow Examples August 2002 1873 SIP/2.0 200 OK 1874 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1875 ;received=192.168.100.101 1876 Record-Route: 1877 From: BigGuy ;tag=9fxced76sl 1878 To: LittleGuy ;tag=314159 1879 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1880 CSeq: 2 INVITE 1881 Contact: 1882 Content-Type: application/sdp 1883 Content-Length: 145 1885 v=0 1886 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 1887 s=- 1888 c=IN IP4 192.168.200.201 1889 t=0 0 1890 m=audio 3456 RTP/AVP 0 1891 a=rtpmap:0 PCMU/8000 1893 F18 ACK A -> Proxy 2 1895 ACK sip:UserB@192.168.200.201 SIP/2.0 1896 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1897 Max-Forwards: 70 1898 Route: 1899 From: BigGuy ;tag=9fxced76sl 1900 To: LittleGuy ;tag=314159 1901 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1902 CSeq: 2 ACK 1903 Content-Length: 0 1905 F19 ACK Proxy 2 -> B 1907 ACK sip:UserB@192.168.200.201 SIP/2.0 1908 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1909 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1910 ;received=192.168.100.101 1911 Max-Forwards: 69 1912 From: BigGuy ;tag=9fxced76sl 1913 To: LittleGuy ;tag=314159 1914 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1915 CSeq: 2 ACK 1916 Content-Length: 0 1917 SIP Basic Call Flow Examples August 2002 1919 /* RTP streams are established between A and B */ 1921 /* User B Hangs Up with User A. */ 1923 F20 BYE User B -> Proxy 2 1925 BYE sip:UserA@192.168.100.101 SIP/2.0 1926 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1927 Max-Forwards: 70 1928 Route: 1929 From: LittleGuy ;tag=314159 1930 To: BigGuy ;tag=9fxced76sl 1931 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1932 CSeq: 1 BYE 1933 Content-Length: 0 1935 F21 BYE Proxy 2 -> User A 1937 BYE sip:UserA@192.168.100.101 SIP/2.0 1938 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1939 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1940 ;received=192.168.200.201 1941 Max-Forwards: 69 1942 From: LittleGuy ;tag=314159 1943 To: BigGuy ;tag=9fxced76sl 1944 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1945 CSeq: 1 BYE 1946 Content-Length: 0 1948 F22 200 OK User A -> Proxy 2 1950 SIP/2.0 200 OK 1951 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1952 ;received=192.168.156.222 1953 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1954 ;received=192.168.200.201 1955 From: LittleGuy ;tag=314159 1956 To: BigGuy ;tag=9fxced76sl 1957 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1958 CSeq: 1 BYE 1959 Content-Length: 0 1961 F23 200 OK Proxy 2 -> User B 1963 SIP/2.0 200 OK 1964 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1965 SIP Basic Call Flow Examples August 2002 1967 ;received=192.168.200.201 1968 From: LittleGuy ;tag=314159 1969 To: BigGuy ;tag=9fxced76sl 1970 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1971 CSeq: 1 BYE 1972 Content-Length: 0 1973 SIP Basic Call Flow Examples August 2002 1975 3.5 Session Through a SIP ALG 1977 User A ALG Proxy 2 User B 1978 | | | | 1979 | INVITE F1 | | | 1980 |--------------->| INVITE F2 | | 1981 | 100 F3 |--------------->| INVITE F4 | 1982 |<---------------| 100 F5 |--------------->| 1983 | |<---------------| 180 F6 | 1984 | | 180 F7 |<---------------| 1985 | 180 F8 |<---------------| | 1986 |<---------------| | 200 F9 | 1987 | | 200 F10 |<---------------| 1988 | 200 F11 |<---------------| | 1989 |<---------------| | 1990 | ACK F12 | | 1991 |--------------->| ACK F13 | 1992 | |-------------------------------->| 1993 | RTP Media | Both Way RTP Media | 1994 |<==============>|<===============================>| 1995 | BYE F14 | | 1996 |--------------->| BYE F15 | 1997 | |-------------------------------->| 1998 | | 200 F16 | 1999 | 200 F17 |<--------------------------------| 2000 |<---------------| | 2001 | | | 2003 User A completes a call to User B through a ALG (Application Layer 2004 Gateway) and a SIP Proxy. The routing through the ALG is 2005 accomplished using a pre-loaded Route header in the INVITE F1. Note 2006 that the media stream setup is not end-to-end - the ALG terminates 2007 both media streams and bridges them. This is done by the ALG 2008 modifying the SDP in the INVITE (F1) and 200 OK (F10) messages, and 2009 possibly any 18x or ACK messages containing SDP. 2011 In addition to firewall traversal, this Back-to-Back User Agent 2012 (B2BUA) could be used as part of an anonymizer 2013 service (in which all identifying information on User A would be 2014 removed), or to perform codec media conversion, such as mu-law to A- 2015 law conversion of PCM on an international call. 2017 Also note that Proxy 2 does not Record-Route in this call flow. 2019 Message Details 2020 SIP Basic Call Flow Examples August 2002 2022 F1 INVITE A -> SIP ALG 2024 INVITE sip:UserB@biloxi.com SIP/2.0 2025 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2026 Max-Forwards: 70 2027 From: BigGuy ;tag=9fxced76sl 2028 To: LittleGuy 2029 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2030 CSeq: 1 INVITE 2031 Contact: 2032 Route: 2033 Proxy-Authorization: Digest username="UserA", realm="biloxi.com", 2034 nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", 2035 uri="sip:UserB@biloxi.com", 2036 response="b3f392f9218a328b9294076d708e6815" 2037 Content-Type: application/sdp 2038 Content-Length: 147 2040 v=0 2041 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2042 s=- 2043 c=IN IP4 192.168.100.101 2044 t=0 0 2045 m=audio 49172 RTP/AVP 0 2046 a=rtpmap:0 PCMU/8000 2048 /* Client for A prepares to receive data on port 49172 from the 2049 network. */ 2051 F2 INVITE SIP ALG -> Proxy 2 2053 INVITE sip:UserB@biloxi.com SIP/2.0 2054 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2055 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2056 ;received=192.168.100.101 2057 Max-Forwards: 69 2058 Record-Route: 2059 From: BigGuy ;tag=9fxced76sl 2060 To: LittleGuy 2061 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2062 CSeq: 1 INVITE 2063 Contact: 2064 Proxy-Authorization: Digest username="UserA", realm="biloxi.com", 2065 nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", 2066 uri="sip:UserB@biloxi.com", 2067 response="b3f392f9218a328b9294076d708e6815" 2068 Content-Type: application/sdp 2069 Content-Length: 146 2070 SIP Basic Call Flow Examples August 2002 2072 v=0 2073 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2074 s=- 2075 c=IN IP4 192.168.255.128 2076 t=0 0 2077 m=audio 2000 RTP/AVP 0 2078 a=rtpmap:0 PCMU/8000 2080 F3 100 Trying SIP ALG -> A 2082 SIP/2.0 100 Trying 2083 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2084 ;received=192.168.100.101 2085 From: BigGuy ;tag=9fxced76sl 2086 To: LittleGuy 2087 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2088 CSeq: 1 INVITE 2089 Content-Length: 0 2091 /* SIP ALG prepares to proxy data from port 192.168.255.128/2000 to 2092 192.168.100.101/49172. Proxy 2 uses a Location Service function to 2093 determine where B is located. Based upon location analysis the call 2094 is forwarded to User B */ 2096 F4 INVITE Proxy 2 -> B 2098 INVITE sip:UserB@192.168.200.201 SIP/2.0 2099 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 2100 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2101 ;received=192.168.255.128 2102 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2103 ;received=192.168.100.101 2104 Max-Forwards: 68 2105 Record-Route: 2106 From: BigGuy ;tag=9fxced76sl 2107 To: LittleGuy 2108 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2109 CSeq: 1 INVITE 2110 Contact: 2111 Content-Type: application/sdp 2112 Content-Length: 146 2114 v=0 2115 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2116 s=- 2117 c=IN IP4 192.168.255.128 2118 SIP Basic Call Flow Examples August 2002 2120 t=0 0 2121 m=audio 2000 RTP/AVP 0 2122 a=rtpmap:0 PCMU/8000 2124 F5 100 Trying Proxy 2 -> SIP ALG 2126 SIP/2.0 100 Trying 2127 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2128 ;received=192.168.255.128 2129 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2130 ;received=192.168.100.101 2131 From: BigGuy ;tag=9fxced76sl 2132 To: LittleGuy 2133 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2134 CSeq: 1 INVITE 2135 Content-Length: 0 2137 F6 180 Ringing B -> Proxy 2 2139 SIP/2.0 180 Ringing 2140 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 2141 ;received=192.168.156.222 2142 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2143 ;received=192.168.255.128 2144 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2145 ;received=192.168.100.101 2146 Record-Route: 2147 From: BigGuy ;tag=9fxced76sl 2148 To: LittleGuy ;tag=314159 2149 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2150 CSeq: 1 INVITE 2151 Contact: 2152 Content-Length: 0 2154 F7 180 Ringing Proxy 2 -> SIP ALG 2156 SIP/2.0 180 Ringing 2157 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2158 ;received=192.168.255.128 2159 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2160 ;received=192.168.100.101 2161 Record-Route: 2162 From: BigGuy ;tag=9fxced76sl 2163 To: LittleGuy ;tag=314159 2164 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2165 CSeq: 1 INVITE 2166 SIP Basic Call Flow Examples August 2002 2168 Contact: 2169 Content-Length: 0 2171 F8 180 Ringing SIP ALG -> A 2173 SIP/2.0 180 Ringing 2174 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2175 ;received=192.168.100.101 2176 Record-Route: 2177 From: BigGuy ;tag=9fxced76sl 2178 To: LittleGuy ;tag=314159 2179 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2180 CSeq: 1 INVITE 2181 Contact: 2182 Content-Length: 0 2184 F9 200 OK B -> Proxy 2 2186 SIP/2.0 200 OK 2187 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 2188 ;received=192.168.156.222 2189 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2190 ;received=192.168.255.128 2191 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2192 ;received=192.168.100.101 2193 Record-Route: 2194 From: BigGuy ;tag=9fxced76sl 2195 To: LittleGuy ;tag=314159 2196 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2197 CSeq: 1 INVITE 2198 Contact: 2199 Content-Type: application/sdp 2200 Content-Length: 145 2202 v=0 2203 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 2204 s=- 2205 c=IN IP4 192.168.200.201 2206 t=0 0 2207 m=audio 3456 RTP/AVP 0 2208 a=rtpmap:0 PCMU/8000 2210 F10 200 OK Proxy 2 -> SIP ALG 2212 SIP/2.0 200 OK 2213 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2214 SIP Basic Call Flow Examples August 2002 2216 ;received=192.168.255.128 2217 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2218 ;received=192.168.100.101 2219 Record-Route: 2220 From: BigGuy ;tag=9fxced76sl 2221 To: LittleGuy ;tag=314159 2222 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2223 CSeq: 1 INVITE 2224 Contact: 2225 Content-Type: application/sdp 2226 Content-Length: 145 2228 v=0 2229 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 2230 s=- 2231 c=IN IP4 192.168.200.201 2232 t=0 0 2233 m=audio 3456 RTP/AVP 0 2234 a=rtpmap:0 PCMU/8000 2236 F11 200 OK SIP ALG -> A 2238 SIP/2.0 200 OK 2239 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2240 ;received=192.168.100.101 2241 Record-Route: 2242 From: BigGuy ;tag=9fxced76sl 2243 To: LittleGuy ;tag=314159 2244 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2245 CSeq: 1 INVITE 2246 Contact: 2247 Content-Type: application/sdp 2248 Content-Length: 145 2250 v=0 2251 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 2252 s=- 2253 c=IN IP4 192.168.255.128 2254 t=0 0 2255 m=audio 1734 RTP/AVP 0 2256 a=rtpmap:0 PCMU/8000 2258 /* The ALG prepares to proxy packets from 192.168.255.128/ 2259 1734 to 192.168.200.201/3456 */ 2261 F12 ACK A -> SIP ALG 2262 SIP Basic Call Flow Examples August 2002 2264 ACK sip:UserB@192.168.200.201 SIP/2.0 2265 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2266 Max-Forwards: 70 2267 Route: 2268 From: BigGuy ;tag=9fxced76sl 2269 To: LittleGuy ;tag=314159 2270 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2271 CSeq: 1 ACK 2272 Content-Length: 0 2274 F13 ACK SIP ALG -> B 2276 ACK sip:UserB@192.168.200.201 SIP/2.0 2277 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2278 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2279 ;received=192.168.100.101 2280 Max-Forwards: 69 2281 From: BigGuy ;tag=9fxced76sl 2282 To: LittleGuy ;tag=314159 2283 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2284 CSeq: 1 ACK 2285 Content-Length: 0 2287 /* RTP streams are established between A and the ALG and 2288 between the ALG and B*/ 2290 /* User A Hangs Up with User B. */ 2292 F14 BYE A -> SIP ALG 2294 BYE sip:UserB@192.168.200.201 SIP/2.0 2295 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2296 Max-Forwards: 70 2297 Route: 2298 From: BigGuy ;tag=9fxced76sl 2299 To: LittleGuy ;tag=314159 2300 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2301 CSeq: 2 BYE 2302 Content-Length: 0 2304 F15 BYE SIP ALG -> B 2306 BYE sip:UserB@192.168.200.201 SIP/2.0 2307 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2308 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2309 ;received=192.168.100.101 2310 SIP Basic Call Flow Examples August 2002 2312 Max-Forwards: 69 2313 From: BigGuy ;tag=9fxced76sl 2314 To: LittleGuy ;tag=314159 2315 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2316 CSeq: 2 BYE 2317 Content-Length: 0 2319 F16 200 OK B -> SIP ALG 2321 SIP/2.0 200 OK 2322 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2323 ;received=192.168.255.128 2324 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2325 ;received=192.168.100.101 2326 From: BigGuy ;tag=9fxced76sl 2327 To: LittleGuy ;tag=314159 2328 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2329 CSeq: 2 BYE 2330 Content-Length: 0 2332 F17 200 OK SIP ALG -> A 2334 SIP/2.0 200 OK 2335 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2336 ;received=192.168.100.101 2337 From: BigGuy ;tag=9fxced76sl 2338 To: LittleGuy ;tag=314159 2339 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2340 CSeq: 2 BYE 2341 Content-Length: 0 2342 SIP Basic Call Flow Examples August 2002 2344 3.6 Session via Redirect and Proxy Servers with SDP in ACK 2346 User A Redirect Server Proxy 3 User B 2347 | | | | 2348 | INVITE F1 | | | 2349 |--------------->| | | 2350 | 302 F2 | | | 2351 |<---------------| | | 2352 | ACK F3 | | | 2353 |--------------->| | | 2354 | INVITE F4 | | 2355 |-------------------------------->| INVITE F5 | 2356 | 100 F6 |--------------->| 2357 |<--------------------------------| 180 F7 | 2358 | 180 F8 |<---------------| 2359 |<--------------------------------| | 2360 | | 200 F9 | 2361 | 200 F10 |<---------------| 2362 |<--------------------------------| | 2363 | ACK F11 | | 2364 |-------------------------------->| ACK F12 | 2365 | |--------------->| 2366 | Both Way RTP Media | 2367 |<================================================>| 2368 | | BYE F13 | 2369 | BYE F14 |<---------------| 2370 |<--------------------------------| | 2371 | 200 F15 | | 2372 |-------------------------------->| 200 F16 | 2373 | |--------------->| 2374 | | | 2376 In this scenario, User A places a call to User B using first a 2377 Redirect server then a Proxy Server. The INVITE message is first 2378 sent to the Redirect Server. The Server returns a 302 Moved 2379 Temporarily response (F2) containing a Contact header with User B's 2380 current SIP address. User A then generates a new INVITE and sends to 2381 User B via the Proxy Server and the call proceeds normally. In this 2382 example, no SDP is present in the INVITE, so the SDP is carried in 2383 the ACK message. 2385 The call is terminated when User B sends a BYE message. 2387 Message Details 2389 F1 INVITE A -> Redirect Server 2390 SIP Basic Call Flow Examples August 2002 2392 INVITE sip:UserB@biloxi.com SIP/2.0 2393 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44 2394 Max-Forwards: 70 2395 From: BigGuy ;tag=9fxced76sl 2396 To: LittleGuy 2397 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2398 CSeq: 1 INVITE 2399 Contact: 2400 Content-Length: 0 2402 F2 302 Moved Temporarily Redirect Proxy -> A 2404 SIP/2.0 302 Moved Temporarily 2405 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44 2406 ;received=192.168.100.101 2407 From: BigGuy ;tag=9fxced76sl 2408 To: LittleGuy ;tag=53fHlqlQ2 2409 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2410 CSeq: 1 INVITE 2411 Contact: sip:UserB@chicago.com 2412 Content-Length: 0 2414 F3 ACK A -> Redirect Server 2416 ACK sip:UserB@biloxi.com SIP/2.0 2417 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44 2418 Max-Forwards: 70 2419 From: BigGuy ;tag=9fxced76sl 2420 To: LittleGuy ;tag=53fHlqlQ2 2421 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2422 CSeq: 1 ACK 2423 Content-Length: 0 2425 F4 INVITE A -> Proxy 3 2427 INVITE sip:UserB@chicago.com SIP/2.0 2428 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2429 Max-Forwards: 70 2430 From: BigGuy ;tag=9fxced76sl 2431 To: LittleGuy 2432 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2433 CSeq: 2 INVITE 2434 Contact: 2435 Content-Length: 0 2436 SIP Basic Call Flow Examples August 2002 2438 F5 INVITE Proxy 3 -> B 2440 INVITE sip:UserB@192.168.200.100 SIP/2.0 2441 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 2442 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2443 ;received=192.168.100.101 2444 Max-Forwards: 69 2445 Record-Route: 2446 From: BigGuy ;tag=9fxced76sl 2447 To: LittleGuy 2448 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2449 CSeq: 2 INVITE 2450 Contact: 2451 Content-Length: 0 2453 F6 100 Trying Proxy 3 -> A 2455 SIP/2.0 100 Trying 2456 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2457 ;received=192.168.100.101 2458 From: BigGuy ;tag=9fxced76sl 2459 To: LittleGuy 2460 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2461 CSeq: 2 INVITE 2462 Content-Length: 0 2464 F7 180 Ringing B -> Proxy 3 2466 SIP/2.0 180 Ringing 2467 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 2468 ;received=192.168.182.333 2469 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2470 ;received=192.168.100.101 2471 Record-Route: 2472 From: BigGuy ;tag=9fxced76sl 2473 To: LittleGuy ;tag=314159 2474 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2475 CSeq: 2 INVITE 2476 Contact: 2477 Content-Length: 0 2479 F8 180 Ringing Proxy 3 -> A 2481 SIP/2.0 180 Ringing 2482 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2483 SIP Basic Call Flow Examples August 2002 2485 ;received=192.168.100.101 2486 Record-Route: 2487 From: BigGuy ;tag=9fxced76sl 2488 To: LittleGuy ;tag=314159 2489 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2490 CSeq: 2 INVITE 2491 Contact: 2492 Content-Length: 0 2494 F9 200 OK B -> Proxy 3 2496 SIP/2.0 200 OK 2497 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 2498 ;received=192.168.182.333 2499 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2500 ;received=192.168.100.101 2501 Record-Route: 2502 From: BigGuy ;tag=9fxced76sl 2503 To: LittleGuy ;tag=314159 2504 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2505 CSeq: 2 INVITE 2506 Contact: 2507 Content-Type: application/sdp 2508 Content-Length: 146 2510 v=0 2511 o=UserB 2890844527 2890844527 IN IP4 client.chicago.com 2512 s=- 2513 c=IN IP4 192.168.200.100 2514 t=0 0 2515 m=audio 3456 RTP/AVP 0 2516 a=rtpmap:0 PCMU/8000 2518 F10 200 OK Proxy -> A 2520 SIP/2.0 200 OK 2521 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2522 ;received=192.168.100.101 2523 Record-Route: 2524 From: BigGuy ;tag=9fxced76sl 2525 To: LittleGuy ;tag=314159 2526 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2527 CSeq: 2 INVITE 2528 Contact: 2529 Content-Type: application/sdp 2530 Content-Length: 146 2531 SIP Basic Call Flow Examples August 2002 2533 v=0 2534 o=UserB 2890844527 2890844527 IN IP4 client.chicago.com 2535 s=- 2536 c=IN IP4 192.168.200.100 2537 t=0 0 2538 m=audio 3456 RTP/AVP 0 2539 a=rtpmap:0 PCMU/8000 2541 /* ACK contains SDP of A since none present in INVITE */ 2543 F11 ACK A -> Proxy 3 2545 ACK sip:UserB@192.168.200.100 SIP/2.0 2546 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2547 Max-Forwards: 70 2548 Route: 2549 From: BigGuy ;tag=9fxced76sl 2550 To: LittleGuy ;tag=314159 2551 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2552 CSeq: 2 ACK 2553 Content-Type: application/sdp 2554 Content-Length: 147 2556 v=0 2557 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2558 s=- 2559 c=IN IP4 192.168.100.101 2560 t=0 0 2561 m=audio 49172 RTP/AVP 0 2562 a=rtpmap:0 PCMU/8000 2564 F12 ACK Proxy 3 -> B 2566 ACK sip:UserB@111.112.112.114 SIP/2.0 2567 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 2568 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2569 ;received=192.168.100.101 2570 Max-Forwards: 69 2571 From: BigGuy ;tag=9fxced76sl 2572 To: LittleGuy ;tag=314159 2573 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2574 CSeq: 2 ACK 2575 Content-Type: application/sdp 2576 Content-Length: 147 2578 v=0 2579 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2580 SIP Basic Call Flow Examples August 2002 2582 s=- 2583 c=IN IP4 192.168.100.101 2584 t=0 0 2585 m=audio 49172 RTP/AVP 0 2586 a=rtpmap:0 PCMU/8000 2588 /* RTP streams are established between A and B*/ 2590 /* User B Hangs Up with User A. */ 2592 F13 BYE B -> Proxy 3 2594 BYE sip:UserA@192.168.100.101 SIP/2.0 2595 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKfgaw2 2596 Max-Forwards: 70 2597 Route: 2598 From: LittleGuy ;tag=314159 2599 To: BigGuy ;tag=9fxced76sl 2600 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2601 CSeq: 1 BYE 2602 Content-Length: 0 2604 F14 BYE Proxy 3 -> A 2606 BYE sip:UserA@192.168.100.101 SIP/2.0 2607 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 2608 ;received=192.168.200.100 2609 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKfgaw2 2610 Max-Forwards: 69 2611 From: LittleGuy ;tag=314159 2612 To: BigGuy ;tag=9fxced76sl 2613 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2614 CSeq: 1 BYE 2615 Content-Length: 0 2617 F15 200 OK A -> Proxy 3 2619 SIP/2.0 200 OK 2620 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 2621 ;received=192.168.182.333 2622 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKfgaw2 2623 ;received=192.168.200.100 2624 From: LittleGuy ;tag=314159 2625 To: BigGuy ;tag=9fxced76sl 2626 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2627 CSeq: 1 BYE 2628 Content-Length: 0 2629 SIP Basic Call Flow Examples August 2002 2631 F16 200 OK Proxy 3 -> B 2633 SIP/2.0 200 OK 2634 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKfgaw2 2635 ;received=192.168.200.100 2636 From: LittleGuy ;tag=314159 2637 To: BigGuy ;tag=9fxced76sl 2638 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2639 CSeq: 1 BYE 2640 Content-Length: 0 2641 SIP Basic Call Flow Examples August 2002 2643 3.7 Session with re-INVITE (IP Address Change) 2645 User A Proxy 2 User B 2646 | F1 INVITE | | 2647 |------------------->| F2 INVITE | 2648 | F3 100 Trying |------------------->| 2649 |<-------------------| F4 180 Ringing | 2650 | F5 180 Ringing |<-------------------| 2651 |<-------------------| | 2652 | | F6 200 OK | 2653 | F7 200 OK |<-------------------| 2654 |<-------------------| | 2655 | F8 ACK | 2656 |---------------------------------------->| 2657 | Both Way RTP Media Established | 2658 |<=======================================>| 2659 | | 2660 | B changes IP address | 2661 | | 2662 | F9 INVITE | 2663 |<----------------------------------------| 2664 | F10 200 OK | 2665 |---------------------------------------->| 2666 | F11 ACK | 2667 |<----------------------------------------| 2668 | New RTP Media Stream | 2669 |<=======================================>| 2670 | F12 BYE | 2671 |---------------------------------------->| 2672 | F25 200 OK | 2673 |<----------------------------------------| 2674 | | 2676 This example shows a session in which the media is changes midway 2677 through the session. When User B�s IP address changes during the 2678 session, User B sends a re-INVITE containing a new Contact and SDP 2679 (version number incremented) information to A. In this flow, the 2680 proxy does not Record-Route so is not in the SIP messaging path after 2681 the initial exchange. 2683 Message Details 2685 F1 INVITE A -> Proxy 2 2687 INVITE sip:UserB@biloxi.com SIP/2.0 2688 SIP Basic Call Flow Examples August 2002 2690 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2691 Max-Forwards: 70 2692 From: BigGuy ;tag=9fxced76sl 2693 To: LittleGuy 2694 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2695 CSeq: 1 INVITE 2696 Contact: 2697 Content-Type: application/sdp 2698 Content-Length: 147 2700 v=0 2701 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2702 s=- 2703 c=IN IP4 192.168.100.101 2704 t=0 0 2705 m=audio 49172 RTP/AVP 0 2706 a=rtpmap:0 PCMU/8000 2708 F2 INVITE Proxy 2 -> B 2710 INVITE sip:UserB@192.168.200.201 SIP/2.0 2711 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 2712 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2713 ;received=192.168.100.101 2714 Max-Forwards: 69 2715 From: BigGuy ;tag=9fxced76sl 2716 To: LittleGuy 2717 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2718 CSeq: 1 INVITE 2719 Contact: 2720 Content-Type: application/sdp 2721 Content-Length: 147 2723 v=0 2724 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2725 s=- 2726 c=IN IP4 192.168.100.101 2727 t=0 0 2728 m=audio 49172 RTP/AVP 0 2729 a=rtpmap:0 PCMU/8000 2731 F3 100 Trying Proxy 2 -> A 2733 SIP/2.0 100 Trying 2734 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2735 ;received=192.168.100.101 2736 From: BigGuy ;tag=9fxced76sl 2737 SIP Basic Call Flow Examples August 2002 2739 To: LittleGuy 2740 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2741 CSeq: 1 INVITE 2742 Content-Length: 0 2744 F4 180 Ringing B -> Proxy 2 2746 SIP/2.0 180 Ringing 2747 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 2748 ;received=192.168.156.222 2749 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2750 ;received=192.168.100.101 2751 From: BigGuy ;tag=9fxced76sl 2752 To: LittleGuy ;tag=314159 2753 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2754 CSeq: 1 INVITE 2755 Contact: 2756 Content-Length: 0 2758 F5 180 Ringing Proxy 2 -> A 2760 SIP/2.0 180 Ringing 2761 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2762 ;received=192.168.100.101 2763 From: BigGuy ;tag=9fxced76sl 2764 To: LittleGuy ;tag=314159 2765 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2766 CSeq: 1 INVITE 2767 Contact: 2768 Content-Length: 0 2770 F6 200 OK B -> Proxy 2 2772 SIP/2.0 200 OK 2773 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 2774 ;received=192.168.156.222 2775 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2776 ;received=192.168.100.101 2777 From: BigGuy ;tag=9fxced76sl 2778 To: LittleGuy ;tag=314159 2779 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2780 CSeq: 1 INVITE 2781 Contact: 2782 Content-Type: application/sdp 2783 Content-Length: 145 2784 SIP Basic Call Flow Examples August 2002 2786 v=0 2787 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 2788 s=- 2789 c=IN IP4 192.168.200.201 2790 t=0 0 2791 m=audio 3456 RTP/AVP 0 2792 a=rtpmap:0 PCMU/8000 2794 F7 200 OK Proxy 2 -> A 2796 SIP/2.0 200 OK 2797 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2798 ;received=192.168.100.101 2799 From: BigGuy ;tag=9fxced76sl 2800 To: LittleGuy ;tag=314159 2801 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2802 CSeq: 1 INVITE 2803 Contact: 2804 Content-Type: application/sdp 2805 Content-Length: 145 2807 v=0 2808 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 2809 s=- 2810 c=IN IP4 192.168.200.201 2811 t=0 0 2812 m=audio 3456 RTP/AVP 0 2813 a=rtpmap:0 PCMU/8000 2815 F8 ACK A -> B 2817 ACK sip:UserB@192.168.200.201 SIP/2.0 2818 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2819 Max-Forwards: 70 2820 From: BigGuy ;tag=9fxced76sl 2821 To: LittleGuy ;tag=314159 2822 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2823 CSeq: 1 ACK 2824 Content-Length: 0 2826 /* RTP streams are established between A and B */ 2828 /* B changes IP address and re-INVITEs A with new Contact and SDP */ 2830 F9 INVITE B -> A 2831 SIP Basic Call Flow Examples August 2002 2833 INVITE sip:UserA@192.168.100.101 SIP/2.0 2834 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKlkld5l 2835 Max-Forwards: 70 2836 From: LittleGuy ;tag=314159 2837 To: BigGuy ;tag=9fxced76sl 2838 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2839 CSeq: 14 INVITE 2840 Contact: 2841 Content-Type: application/sdp 2842 Content-Length: 147 2844 v=0 2845 o=UserB 2890844527 2890844528 IN IP4 client.chicago.com 2846 s=- 2847 c=IN IP4 192.168.200.100 2848 t=0 0 2849 m=audio 47172 RTP/AVP 0 2850 a=rtpmap:0 PCMU/8000 2852 F10 200 OK A ->B 2854 SIP/2.0 200 OK 2855 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKlkld5l 2856 ;received=192.168.200.100 2857 Max-Forwards: 70 2858 From: LittleGuy ;tag=314159 2859 To: BigGuy ;tag=9fxced76sl 2860 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2861 CSeq: 14 INVITE 2862 Contact: 2863 Content-Type: application/sdp 2864 Content-Length: 147 2866 v=0 2867 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2868 s=- 2869 c=IN IP4 192.168.100.101 2870 t=0 0 2871 m=audio 1000 RTP/AVP 0 2872 a=rtpmap:0 PCMU/8000 2874 F11 ACK B -> A 2876 ACK sip:UserA@192.168.100.101 SIP/2.0 2877 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKlkld5l 2878 Max-Forwards: 70 2879 From: LittleGuy ;tag=314159 2880 SIP Basic Call Flow Examples August 2002 2882 To: BigGuy ;tag=9fxced76sl 2883 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2884 CSeq: 14 ACK 2885 Content-Length: 0 2887 /* New RTP stream established between A and B */ 2889 /* A hangs up with B */ 2891 F12 BYE A -> B 2893 BYE sip:UserB@192.168.200.100 SIP/2.0 2894 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2895 Max-Forwards: 70 2896 From: BigGuy ;tag=9fxced76sl 2897 To: LittleGuy ;tag=314159 2898 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2899 CSeq: 2 BYE 2900 Content-Length: 0 2902 F13 200 OK B -> A 2904 SIP/2.0 200 OK 2905 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2906 ;received=192.168.100.101 2907 Max-Forwards: 70 2908 From: BigGuy ;tag=9fxced76sl 2909 To: LittleGuy ;tag=314159 2910 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2911 CSeq: 2 BYE 2912 Content-Length: 0 2913 SIP Basic Call Flow Examples August 2002 2915 3.8 Unsuccessful No Answer 2917 User A Proxy 1 Proxy 2 User B 2918 | | | | 2919 | INVITE F1 | | | 2920 |--------------->| INVITE F2 | | 2921 | 100 F3 |--------------->| INVITE F4 | 2922 |<---------------| 100 F5 |--------------->| 2923 | |<---------------| | 2924 | | | 180 F6 | 2925 | | 180 F7 |<---------------| 2926 | 180 F8 |<---------------| | 2927 |<---------------| | | 2928 | | | | 2929 | CANCEL F9 | | | 2930 |--------------->| | | 2931 | 200 F10 | | | 2932 |<---------------| CANCEL F11 | | 2933 | |--------------->| | 2934 | | 200 F12 | | 2935 | |<---------------| | 2936 | | | CANCEL F13 | 2937 | | |--------------->| 2938 | | | 200 F14 | 2939 | | |<---------------| 2940 | | | 487 F15 | 2941 | | |<---------------| 2942 | | | ACK F16 | 2943 | | 487 F17 |--------------->| 2944 | |<---------------| | 2945 | | ACK F18 | | 2946 | 487 F19 |--------------->| | 2947 |<---------------| | | 2948 | ACK F20 | | | 2949 |--------------->| | | 2950 | | | | 2952 In this scenario, User A gives up on the call before User B answers 2953 (sends a 200 OK response). User A sends a CANCEL (F9) since no final 2954 response had been received from User B. If a 200 OK to the INVITE 2955 had crossed with the CANCEL, User A would have sent an ACK then a BYE 2956 to User B in order to properly terminate the call. 2958 Note that the CANCEL message is acknowledged with a 200 OK on a hop 2959 by hop basis, rather than end to end. 2961 SIP Basic Call Flow Examples August 2002 2963 Message Details 2965 F1 INVITE A -> Proxy 1 2967 INVITE sip:UserB@biloxi.com SIP/2.0 2968 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2969 Max-Forwards: 70 2970 Route: 2971 From: BigGuy ;tag=9fxced76sl 2972 To: LittleGuy 2973 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2974 CSeq: 1 INVITE 2975 Contact: 2976 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 2977 nonce="ze7k1ee88df84f1cec431ae6cbe5a359", opaque="", 2978 uri="sip:UserB@biloxi.com", 2979 response="b00b416324679d7e243f55708d44be7b" 2980 Content-Type: application/sdp 2981 Content-Length: 147 2983 v=0 2984 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2985 s=- 2986 c=IN IP4 192.168.100.101 2987 t=0 0 2988 m=audio 49172 RTP/AVP 0 2989 a=rtpmap:0 PCMU/8000 2991 /*Client for A prepares to receive data on port 49172 from the 2992 network.*/ 2994 F2 INVITE Proxy 1 -> Proxy 2 2996 INVITE sip:UserB@biloxi.com SIP/2.0 2997 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 2998 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2999 ;received=192.168.100.101 3000 Max-Forwards: 69 3001 Record-Route: 3002 From: BigGuy ;tag=9fxced76sl 3003 To: LittleGuy 3004 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3005 CSeq: 1 INVITE 3006 Contact: 3007 Content-Type: application/sdp 3008 Content-Length: 147 3009 SIP Basic Call Flow Examples August 2002 3011 v=0 3012 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3013 s=- 3014 c=IN IP4 192.168.100.101 3015 t=0 0 3016 m=audio 49172 RTP/AVP 0 3017 a=rtpmap:0 PCMU/8000 3019 F3 100 Trying Proxy 1 -> A 3021 SIP/2.0 100 Trying 3022 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3023 ;received=192.168.100.101 3024 From: BigGuy ;tag=9fxced76sl 3025 To: LittleGuy 3026 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3027 CSeq: 1 INVITE 3028 Content-Length: 0 3030 F4 INVITE Proxy 2 -> B 3032 INVITE sip:UserB@192.168.200.201 SIP/2.0 3033 Via: SIP/2.0/UDP ss2.client.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3034 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3035 ;received=192.168.255.111 3036 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3037 ;received=192.168.100.101 3038 Record-Route: , 3039 Max-Forwards: 68 3040 From: BigGuy ;tag=9fxced76sl 3041 To: LittleGuy 3042 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3043 CSeq: 1 INVITE 3044 Contact: 3045 Content-Type: application/sdp 3046 Content-Length: 147 3048 v=0 3049 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3050 s=- 3051 c=IN IP4 192.168.100.101 3052 t=0 0 3053 m=audio 49172 RTP/AVP 0 3054 a=rtpmap:0 PCMU/8000 3055 SIP Basic Call Flow Examples August 2002 3057 F5 100 Trying Proxy 2 -> Proxy 1 3059 SIP/2.0 100 Trying 3060 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3061 ;received=192.168.255.111 3062 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3063 ;received=192.168.100.101 3064 From: BigGuy ;tag=9fxced76sl 3065 To: LittleGuy 3066 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3067 CSeq: 1 INVITE 3068 Content-Length: 0 3070 F6 180 Ringing B -> Proxy 2 3072 SIP/2.0 180 Ringing 3073 Via: SIP/2.0/UDP ss2.client.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3074 ;received=192.168.156.222 3075 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3076 ;received=192.168.255.111 3077 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3078 ;received=192.168.100.101 3079 Record-Route: , 3080 From: BigGuy ;tag=9fxced76sl 3081 To: LittleGuy ;tag=314159 3082 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3083 CSeq: 1 INVITE 3084 Contact: 3085 Content-Length: 0 3087 F7 180 Ringing Proxy 2 -> Proxy 1 3089 SIP/2.0 180 Ringing 3090 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3091 ;received=192.168.255.111 3092 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3093 ;received=192.168.100.101 3094 Record-Route: , 3095 From: BigGuy ;tag=9fxced76sl 3096 To: LittleGuy ;tag=314159 3097 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3098 CSeq: 1 INVITE 3099 Contact: 3100 Content-Length: 0 3102 F8 180 Ringing Proxy 1 -> A 3103 SIP Basic Call Flow Examples August 2002 3105 SIP/2.0 180 Ringing 3106 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3107 ;received=192.168.100.101 3108 Record-Route: , 3109 From: BigGuy ;tag=9fxced76sl 3110 To: LittleGuy ;tag=314159 3111 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3112 CSeq: 1 INVITE 3113 Contact: 3114 Content-Length: 0 3116 F9 CANCEL A -> Proxy 1 3118 CANCEL sip:UserB@biloxi.com SIP/2.0 3119 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3120 Max-Forwards: 70 3121 From: BigGuy ;tag=9fxced76sl 3122 To: LittleGuy 3123 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3124 CSeq: 1 CANCEL 3125 Content-Length: 0 3127 F10 200 OK Proxy 1 -> A 3129 SIP/2.0 200 OK 3130 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3131 ;received=192.168.100.101 3132 From: BigGuy ;tag=9fxced76sl 3133 To: LittleGuy 3134 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3135 CSeq: 1 CANCEL 3136 Content-Length: 0 3138 F11 CANCEL Proxy 1 -> Proxy 2 3140 CANCEL sip:UserA@atlanta.com SIP/2.0 3141 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3142 Max-Forwards: 70 3143 From: BigGuy ;tag=9fxced76sl 3144 To: LittleGuy 3145 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3146 CSeq: 1 CANCEL 3147 Content-Length: 0 3148 SIP Basic Call Flow Examples August 2002 3150 F12 200 OK Proxy 2 -> Proxy 1 3152 SIP/2.0 200 OK 3153 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3154 ;received=192.168.255.111 3155 From: BigGuy ;tag=9fxced76sl 3156 To: LittleGuy 3157 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3158 CSeq: 1 CANCEL 3159 Content-Length: 0 3161 F13 CANCEL Proxy 2 -> B 3163 CANCEL sip:UserB@192.168.200.201 SIP/2.0 3164 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3165 Max-Forwards: 70 3166 From: BigGuy ;tag=9fxced76sl 3167 To: LittleGuy 3168 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3169 CSeq: 1 CANCEL 3170 Content-Length: 0 3172 F14 200 OK B -> Proxy 2 3174 SIP/2.0 200 OK 3175 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3176 ;received=192.168.156.222 3177 From: BigGuy ;tag=9fxced76sl 3178 To: LittleGuy 3179 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3180 CSeq: 1 CANCEL 3181 Content-Length: 0 3183 F15 487 Request Terminated B -> Proxy 2 3185 SIP/2.0 487 Request Terminated 3186 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3187 ;received=192.168.156.222 3188 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3189 ;received=192.168.255.111 3190 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3191 ;received=192.168.100.101 3192 From: BigGuy ;tag=9fxced76sl 3193 To: LittleGuy ;tag=314159 3194 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3195 CSeq: 1 INVITE 3196 SIP Basic Call Flow Examples August 2002 3198 Content-Length: 0 3200 F16 ACK Proxy 2 -> B 3202 ACK sip:UserB@192.168.200.201 SIP/2.0 3203 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3204 Max-Forwards: 70 3205 From: BigGuy ;tag=9fxced76sl 3206 To: LittleGuy ;tag=314159 3207 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3208 CSeq: 1 ACK 3209 Content-Length: 0 3211 F17 487 Request Terminated Proxy 2 -> Proxy 1 3213 SIP/2.0 487 Request Terminated 3214 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3215 ;received=192.168.255.111 3216 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3217 ;received=192.168.100.101 3218 From: BigGuy ;tag=9fxced76sl 3219 To: LittleGuy ;tag=314159 3220 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3221 CSeq: 1 INVITE 3222 Content-Length: 0 3224 F18 ACK Proxy 1 -> Proxy 2 3226 ACK sip:UserB@biloxi.com SIP/2.0 3227 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3228 Max-Forwards: 70 3229 From: BigGuy ;tag=9fxced76sl 3230 To: LittleGuy ;tag=314159 3231 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3232 CSeq: 1 ACK 3233 Content-Length: 0 3235 F19 487 Request Terminated Proxy 1 -> A 3237 SIP/2.0 487 Request Terminated 3238 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3239 ;received=192.168.100.101 3240 From: BigGuy ;tag=9fxced76sl 3241 To: LittleGuy ;tag=314159 3242 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3243 SIP Basic Call Flow Examples August 2002 3245 CSeq: 1 INVITE 3247 F20 ACK A -> Proxy 1 3249 ACK sip:UserB@biloxi.com SIP/2.0 3250 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3251 Max-Forwards: 70 3252 From: BigGuy ;tag=9fxced76sl 3253 To: LittleGuy ;tag=314159 3254 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3255 CSeq: 1 ACK 3256 Content-Length: 0 3257 SIP Basic Call Flow Examples August 2002 3259 3.9 Unsuccessful Busy 3261 User A Proxy 1 Proxy 2 User B 3262 | | | | 3263 | INVITE F1 | | | 3264 |--------------->| INVITE F2 | | 3265 | 100 F3 |--------------->| INVITE F4 | 3266 |<---------------| 100 F5 |--------------->| 3267 | |<---------------| | 3268 | | | 486 F6 | 3269 | | |<---------------| 3270 | | | ACK F7 | 3271 | | 486 F8 |--------------->| 3272 | |<---------------| | 3273 | | ACK F9 | | 3274 | 486 F10 |--------------->| | 3275 |<---------------| | | 3276 | ACK F11 | | | 3277 |--------------->| | | 3278 | | | | 3280 In this scenario, User B is busy and sends a 486 Busy Here response 3281 to User A's INVITE. Note that the non-2xx response is acknowledged 3282 on a hop-by-hop basis instead of end-to-end. Also note that many SIP 3283 UAs will not return a 486 response, as they have multiple line and 3284 other features. 3286 Message Details 3288 F1 INVITE User A -> Proxy 1 3290 INVITE sip:UserB@biloxi.com SIP/2.0 3291 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3292 Max-Forwards: 70 3293 Route: 3294 From: BigGuy ;tag=9fxced76sl 3295 To: LittleGuy 3296 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3297 CSeq: 1 INVITE 3298 Contact: 3299 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 3300 nonce="dc3a5ab2530aa93112cf5904ba7d88fa", opaque="", 3301 uri="sip:UserB@biloxi.com", 3302 response="702138b27d869ac8741e10ec643d55be" 3303 Content-Type: application/sdp 3304 Content-Length: 147 3305 SIP Basic Call Flow Examples August 2002 3307 v=0 3308 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3309 s=- 3310 c=IN IP4 192.168.100.101 3311 t=0 0 3312 m=audio 49172 RTP/AVP 0 3313 a=rtpmap:0 PCMU/8000 3315 /*Client for A prepares to receive data on port 49172 from the 3316 network.*/ 3318 F2 INVITE Proxy 1 -> Proxy 2 3320 INVITE sip:UserB@biloxi.com SIP/2.0 3321 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3322 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3323 ;received=192.168.100.101 3324 Max-Forwards: 69 3325 Record-Route: 3326 From: BigGuy ;tag=9fxced76sl 3327 To: LittleGuy 3328 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3329 CSeq: 1 INVITE 3330 Contact: 3331 Content-Type: application/sdp 3332 Content-Length: 147 3334 v=0 3335 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3336 s=- 3337 c=IN IP4 192.168.100.101 3338 t=0 0 3339 m=audio 49172 RTP/AVP 0 3340 a=rtpmap:0 PCMU/8000 3342 F3 100 Trying Proxy 1 -> User A 3344 SIP/2.0 100 Trying 3345 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3346 ;received=192.168.100.101 3347 From: BigGuy ;tag=9fxced76sl 3348 To: LittleGuy 3349 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3350 CSeq: 1 INVITE 3351 Content-Length: 0 3352 SIP Basic Call Flow Examples August 2002 3354 F4 INVITE Proxy 2 -> User B 3356 INVITE sip:UserB@192.168.200.201 SIP/2.0 3357 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3358 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3359 ;received=192.168.255.111 3360 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3361 ;received=192.168.100.101 3362 Max-Forwards: 68 3363 Record-Route: , 3364 From: BigGuy ;tag=9fxced76sl 3365 To: LittleGuy 3366 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3367 CSeq: 1 INVITE 3368 Contact: 3369 Content-Type: application/sdp 3370 Content-Length: 147 3372 v=0 3373 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3374 s=- 3375 c=IN IP4 192.168.100.101 3376 t=0 0 3377 m=audio 49172 RTP/AVP 0 3378 a=rtpmap:0 PCMU/8000 3380 F5 100 Trying Proxy 2 -> Proxy 1 3382 SIP/2.0 100 Trying 3383 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3384 ;received=192.168.255.111 3385 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3386 ;received=192.168.100.101 3387 From: BigGuy ;tag=9fxced76sl 3388 To: LittleGuy 3389 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3390 CSeq: 1 INVITE 3391 Content-Length: 0 3393 F6 486 Busy Here User B -> Proxy 2 3395 SIP/2.0 486 Busy Here 3396 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3397 ;received=192.168.156.222 3398 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3399 ;received=192.168.255.111 3400 SIP Basic Call Flow Examples August 2002 3402 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3403 ;received=192.168.100.101 3404 From: BigGuy ;tag=9fxced76sl 3405 To: LittleGuy ;tag=314159 3406 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3407 CSeq: 1 INVITE 3408 Content-Length: 0 3410 F7 ACK Proxy 2 -> User B 3412 ACK sip:UserB@192.168.200.201 SIP/2.0 3413 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3414 Max-Forwards: 70 3415 From: BigGuy ;tag=9fxced76sl 3416 To: LittleGuy ;tag=314159 3417 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3418 CSeq: 1 ACK 3419 Content-Length: 0 3421 F8 486 Busy Here Proxy 2 -> Proxy 1 3423 SIP/2.0 486 Busy Here 3424 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3425 ;received=192.168.255.111 3426 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3427 ;received=192.168.100.101 3428 From: BigGuy ;tag=9fxced76sl 3429 To: LittleGuy ;tag=314159 3430 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3431 CSeq: 1 INVITE 3432 Content-Length: 0 3434 F9 ACK Proxy 1 -> Proxy 2 3436 ACK sip:UserB@biloxi.com SIP/2.0 3437 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3438 Max-Forwards: 70 3439 From: BigGuy ;tag=9fxced76sl 3440 To: LittleGuy ;tag=314159 3441 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3442 CSeq: 1 ACK 3443 Content-Length: 0 3445 F10 486 Busy Here Proxy 1 -> User A 3446 SIP Basic Call Flow Examples August 2002 3448 SIP/2.0 486 Busy Here 3449 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3450 ;received=192.168.100.101 3451 From: BigGuy ;tag=9fxced76sl 3452 To: LittleGuy ;tag=314159 3453 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3454 CSeq: 1 INVITE 3455 Content-Length: 0 3457 F11 ACK User A -> Proxy 1 3459 ACK sip:UserB@biloxi.com SIP/2.0 3460 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3461 Max-Forwards: 70 3462 From: BigGuy ;tag=9fxced76sl 3463 To: LittleGuy ;tag=314159 3464 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3465 CSeq: 1 ACK 3466 Content-Length: 0 3467 SIP Basic Call Flow Examples August 2002 3469 3.10 Unsuccessful No Response from User Agent 3471 User A Proxy 1 Proxy 2 User B 3472 | | | | 3473 | INVITE F1 | | | 3474 |--------------->| INVITE F2 | | 3475 | 100 F3 |--------------->| INVITE F4 | 3476 |<---------------| 100 F5 |--------------->| 3477 | |<---------------| INVITE F6 | 3478 | | |--------------->| 3479 | | | INVITE F7 | 3480 | | |--------------->| 3481 | | | INVITE F8 | 3482 | | |--------------->| 3483 | | | INVITE F9 | 3484 | | |--------------->| 3485 | | | INVITE F10 | 3486 | | |--------------->| 3487 | | | INVITE F11 | 3488 | | 480 F12 |--------------->| 3489 | |<---------------| | 3490 | | ACK F13 | | 3491 | 480 F14 |--------------->| | 3492 |<---------------| | | 3493 | ACK F15 | | | 3494 |--------------->| | | 3495 | | | | 3497 In this example, there is no response from User B to User A's INVITE 3498 messages being re-transmitted by Proxy 2. After the sixth re- 3499 transmission, Proxy 2 gives up and sends a 480 No Response to User A. 3501 Message Details 3503 F1 INVITE User A -> Proxy 1 3505 INVITE sip:UserB@biloxi.com SIP/2.0 3506 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3507 Max-Forwards: 70 3508 Route: 3509 From: BigGuy ;tag=9fxced76sl 3510 To: LittleGuy 3511 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3512 CSeq: 1 INVITE 3513 Contact: 3514 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 3515 nonce="cf5904ba7d8dc3a5ab2530aa931128fa", opaque="", 3516 SIP Basic Call Flow Examples August 2002 3518 uri="sip:UserB@biloxi.com", 3519 response="7afc04be7961f053c24f80e7dbaf888f" 3520 Content-Type: application/sdp 3521 Content-Length: 147 3523 v=0 3524 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3525 s=- 3526 c=IN IP4 192.168.100.101 3527 t=0 0 3528 m=audio 49172 RTP/AVP 0 3529 a=rtpmap:0 PCMU/8000 3531 /*Client for A prepares to receive data on port 49172 from the 3532 network.*/ 3534 F2 INVITE Proxy 1 -> Proxy 2 3536 INVITE sip:UserB@biloxi.com SIP/2.0 3537 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3538 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3539 ;received=192.168.100.101 3540 Max-Forwards: 69 3541 Record-Route: 3542 From: BigGuy ;tag=9fxced76sl 3543 To: LittleGuy 3544 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3545 CSeq: 1 INVITE 3546 Contact: 3547 Content-Type: application/sdp 3548 Content-Length: 147 3550 v=0 3551 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3552 s=- 3553 c=IN IP4 192.168.100.101 3554 t=0 0 3555 m=audio 49172 RTP/AVP 0 3556 a=rtpmap:0 PCMU/8000 3558 F3 100 Trying Proxy 1 -> User A 3560 SIP/2.0 100 Trying 3561 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3562 ;received=192.168.100.101 3563 From: BigGuy ;tag=9fxced76sl 3564 To: LittleGuy 3565 SIP Basic Call Flow Examples August 2002 3567 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3568 CSeq: 1 INVITE 3569 Content-Length: 0 3571 F4 INVITE Proxy 2 -> User B 3573 INVITE sip:UserB@192.168.200.201 SIP/2.0 3574 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3575 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3576 ;received=192.168.255.111 3577 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3578 ;received=192.168.100.101 3579 Max-Forwards: 68 3580 Record-Route: , 3581 From: BigGuy ;tag=9fxced76sl 3582 To: LittleGuy 3583 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3584 CSeq: 1 INVITE 3585 Contact: 3586 Content-Type: application/sdp 3587 Content-Length: 147 3589 v=0 3590 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3591 s=- 3592 c=IN IP4 192.168.100.101 3593 t=0 0 3594 m=audio 49172 RTP/AVP 0 3595 a=rtpmap:0 PCMU/8000 3597 F5 100 Trying Proxy 2 -> Proxy 1 3599 SIP/2.0 100 Trying 3600 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3601 ;received=192.168.255.111 3602 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3603 ;received=192.168.100.101 3604 From: BigGuy ;tag=9fxced76sl 3605 To: LittleGuy 3606 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3607 CSeq: 1 INVITE 3608 Content-Length: 0 3610 F6 INVITE Proxy 2 -> User B 3612 Resend of Message F4 3613 SIP Basic Call Flow Examples August 2002 3615 F7 INVITE Proxy 2 -> User B 3617 Resend of Message F4 3619 F8 INVITE Proxy 2 -> User B 3621 Resend of Message F4 3623 F9 INVITE Proxy 2 -> User B 3625 Resend of Message F4 3627 F10 INVITE Proxy 2 -> User B 3629 Resend of Message F4 3631 F11 INVITE Proxy 2 -> User B 3633 Resend of Message F4 3635 /* Proxy 2 gives up */ 3637 F12 480 No Response Proxy 2 -> Proxy 1 3639 SIP/2.0 480 No Response 3640 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3641 ;received=192.168.255.111 3642 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3643 ;received=192.168.100.101 3644 From: BigGuy ;tag=9fxced76sl 3645 To: LittleGuy ;tag=314159 3646 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3647 CSeq: 1 INVITE 3648 Content-Length: 0 3650 F13 ACK Proxy 1 -> Proxy 2 3652 ACK sip:UserB@biloxi.com SIP/2.0 3653 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3654 Max-Forwards: 70 3655 From: BigGuy ;tag=9fxced76sl 3656 SIP Basic Call Flow Examples August 2002 3658 To: LittleGuy ;tag=314159 3659 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3660 CSeq: 1 ACK 3661 Content-Length: 0 3663 F14 480 No Response Proxy 1 -> User A 3665 SIP/2.0 480 No Response 3666 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3667 ;received=192.168.100.101 3668 From: BigGuy ;tag=9fxced76sl 3669 To: LittleGuy ;tag=314159 3670 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3671 CSeq: 1 INVITE 3672 Content-Length: 0 3674 F15 ACK User A -> Proxy 1 3676 ACK sip:UserB@biloxi.com SIP/2.0 3677 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3678 Max-Forwards: 70 3679 From: BigGuy ;tag=9fxced76sl 3680 To: LittleGuy ;tag=314159 3681 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3682 CSeq: 1 ACK 3683 Content-Length: 0 3684 SIP Basic Call Flow Examples August 2002 3686 3.11 Unsuccessful Temporarily Unavailable 3688 User A Proxy 1 Proxy 2 User B 3689 | | | | 3690 | INVITE F1 | | | 3691 |--------------->| INVITE F2 | | 3692 | 100 F3 |--------------->| INVITE F4 | 3693 |<---------------| 100 F5 |--------------->| 3694 | |<---------------| 180 F6 | 3695 | | 180 F7 |<---------------| 3696 | 180 F8 |<---------------| | 3697 |<---------------| | 480 F9 | 3698 | | |<---------------| 3699 | | | ACK F10 | 3700 | | 480 F11 |--------------->| 3701 | |<---------------| | 3702 | | ACK F12 | | 3703 | 480 F13 |--------------->| | 3704 |<---------------| | | 3705 | ACK F14 | | | 3706 |--------------->| | | 3707 | | | | 3709 In this scenario, User B initially sends a 180 Ringing response to 3710 User A, indicating that alerting is taking place. However, then a 3711 480 Unavailable is then sent to User A. This response is 3712 acknowledged then proxied back to User A. 3714 Message Details 3716 F1 INVITE A -> Proxy 1 3718 INVITE sip:UserB@biloxi.com SIP/2.0 3719 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3720 Max-Forwards: 70 3721 Route: 3722 From: BigGuy ;tag=9fxced76sl 3723 To: LittleGuy 3724 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3725 CSeq: 1 INVITE 3726 Contact: 3727 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 3728 nonce="aa9311cf5904ba7d8dc3a5ab253028fa", opaque="", 3729 uri="sip:UserB@biloxi.com", 3730 response="59a46a91bf1646562a4d486c84b399db" 3731 Content-Type: application/sdp 3732 SIP Basic Call Flow Examples August 2002 3734 Content-Length: 147 3736 v=0 3737 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3738 s=- 3739 c=IN IP4 192.168.100.101 3740 t=0 0 3741 m=audio 49172 RTP/AVP 0 3742 a=rtpmap:0 PCMU/8000 3744 /*Client for A prepares to receive data on port 49172 from the 3745 network.*/ 3747 F2 INVITE Proxy 1 -> Proxy 2 3749 INVITE sip:UserB@biloxi.com SIP/2.0 3750 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3751 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3752 ;received=192.168.100.101 3753 Max-Forwards: 69 3754 Record-Route: 3755 From: BigGuy ;tag=9fxced76sl 3756 To: LittleGuy 3757 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3758 CSeq: 1 INVITE 3759 Contact: 3760 Content-Type: application/sdp 3761 Content-Length: 147 3763 v=0 3764 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3765 s=- 3766 c=IN IP4 192.168.100.101 3767 t=0 0 3768 m=audio 49172 RTP/AVP 0 3769 a=rtpmap:0 PCMU/8000 3771 F3 100 Trying Proxy 1 -> A 3773 SIP/2.0 100 Trying 3774 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3775 ;received=192.168.100.101 3776 From: BigGuy ;tag=9fxced76sl 3777 To: LittleGuy 3778 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3779 CSeq: 1 INVITE 3780 Content-Length: 0 3781 SIP Basic Call Flow Examples August 2002 3783 F4 INVITE Proxy 2 -> B 3785 INVITE sip:UserB@192.168.200.201 SIP/2.0 3786 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3787 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3788 ;received=192.168.255.111 3789 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3790 ;received=192.168.100.101 3791 Max-Forwards: 68 3792 Record-Route: , 3793 From: BigGuy ;tag=9fxced76sl 3794 To: LittleGuy 3795 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3796 CSeq: 1 INVITE 3797 Contact: 3798 Content-Type: application/sdp 3799 Content-Length: 147 3801 v=0 3802 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3803 s=- 3804 c=IN IP4 192.168.100.101 3805 t=0 0 3806 m=audio 49172 RTP/AVP 0 3807 a=rtpmap:0 PCMU/8000 3809 F5 100 Trying Proxy 2 -> Proxy 1 3811 SIP/2.0 100 Trying 3812 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3813 ;received=192.168.255.111 3814 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3815 ;received=192.168.100.101 3816 From: BigGuy ;tag=9fxced76sl 3817 To: LittleGuy 3818 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3819 CSeq: 1 INVITE 3820 Content-Length: 0 3822 F6 180 Ringing B -> Proxy 2 3824 SIP/2.0 180 Ringing 3825 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3826 ;received=192.168.156.222 3827 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3828 SIP Basic Call Flow Examples August 2002 3830 ;received=192.168.255.111 3831 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3832 ;received=192.168.100.101 3833 Record-Route: , 3834 From: BigGuy ;tag=9fxced76sl 3835 To: LittleGuy ;tag=314159 3836 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3837 CSeq: 1 INVITE 3838 Contact: 3839 Content-Length: 0 3841 F7 180 Ringing Proxy 2 -> Proxy 1 3843 SIP/2.0 180 Ringing 3844 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3845 ;received=192.168.255.111 3846 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3847 ;received=192.168.100.101 3848 Record-Route: , 3849 From: BigGuy ;tag=9fxced76sl 3850 To: LittleGuy ;tag=314159 3851 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3852 CSeq: 1 INVITE 3853 Contact: 3854 Content-Length: 0 3856 F8 180 Ringing Proxy 1 -> A 3858 SIP/2.0 180 Ringing 3859 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3860 ;received=192.168.100.101 3861 Record-Route: , 3862 From: BigGuy ;tag=9fxced76sl 3863 To: LittleGuy ;tag=314159 3864 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3865 CSeq: 1 INVITE 3866 Contact: 3867 Content-Length: 0 3869 F9 480 Temporarily Unavailable B -> Proxy 2 3871 SIP/2.0 480 Temporarily Unavailable 3872 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3873 ;received=192.168.156.222 3874 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3875 ;received=192.168.255.111 3876 SIP Basic Call Flow Examples August 2002 3878 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3879 ;received=192.168.100.101 3880 From: BigGuy ;tag=9fxced76sl 3881 To: LittleGuy ;tag=314159 3882 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3883 CSeq: 1 INVITE 3884 Content-Length: 0 3886 F10 ACK Proxy 2 -> B 3888 ACK sip:UserB@192.168.200.201 SIP/2.0 3889 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3890 Max-Forwards: 70 3891 From: BigGuy ;tag=9fxced76sl 3892 To: LittleGuy ;tag=314159 3893 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3894 CSeq: 1 ACK 3895 Content-Length: 0 3897 F11 480 Temporarily Unavailable Proxy 2 -> Proxy 1 3899 SIP/2.0 480 Temporarily Unavailable 3900 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3901 ;received=192.168.255.111 3902 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3903 ;received=192.168.100.101 3904 From: BigGuy ;tag=9fxced76sl 3905 To: LittleGuy ;tag=314159 3906 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3907 CSeq: 1 INVITE 3908 Content-Length: 0 3910 F12 ACK Proxy 1 -> Proxy 2 3912 ACK sip:UserB@biloxi.com SIP/2.0 3913 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3914 Max-Forwards: 70 3915 From: BigGuy ;tag=9fxced76sl 3916 To: LittleGuy ;tag=314159 3917 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3918 CSeq: 1 ACK 3919 Content-Length: 0 3921 F13 480 Temporarily Unavailable Proxy 1 -> A 3922 SIP Basic Call Flow Examples August 2002 3924 SIP/2.0 480 Temporarily Unavailable 3925 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3926 ;received=192.168.100.101 3927 From: BigGuy ;tag=9fxced76sl 3928 To: LittleGuy ;tag=314159 3929 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3930 CSeq: 1 INVITE 3931 Content-Length: 0 3933 F14 ACK A -> Proxy 1 3935 ACK sip:UserB@biloxi.com SIP/2.0 3936 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3937 Max-Forwards: 70 3938 From: BigGuy ;tag=9fxced76sl 3939 To: LittleGuy ;tag=314159 3940 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3941 CSeq: 1 ACK 3942 Content-Length: 0 3944 Security Considerations 3946 Since this document represents NON NORMATIVE examples of SIP session 3947 establishment, the security considerations in RFC 3261 [3] apply. 3949 References 3951 1 Bradner, S., "Key words for use in RFCs to Indicate Requirement 3952 Levels", BCP 14, RFC 2119, March 1997 3954 2 Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., 3955 Peterson, J., Sparks, R., Handley, M., and Schooler, E., "SIP: 3956 Session Initiation Protocol", RFC 3261, June 2002. 3958 3 Rosenberg, J. and Schulzrinne, H., "An Offer/Answer Model with 3959 SDP", Internet Engineering Task Force, RFC 3264, April 2002. 3961 4 Johnston, A., Donovan, S., Sparks, R., Cunningham, C., Summers, K., 3962 "Session Initiation Protocol PSTN Call Flows", RFC xxxx, August 3963 2002. 3965 5 Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach, 3966 P., Luotonen, A. and Stewart, L., "HTTP authentication: Basic and 3967 Digest Access Authentication", RFC 2617, June 1999. 3969 SIP Basic Call Flow Examples August 2002 3971 Acknowledgments 3973 Thanks to Rohan Mahy, Adam Roach, Gonzalo Camarillo, Cullen Jennings, 3974 and Tom Taylor for their detailed comments during the final final 3975 review. Thanks to Dean Willis for his early contributions to the 3976 development of this document. 3978 The authors wish to thank Neil Deason for his additions to the 3979 Torture Test messages and Kundan Singh for performing parser 3980 validation of messages. 3982 The authors wish to thank the following individuals for their 3983 participation in the final review of this call flows document: Aseem 3984 Agarwal, Rafi Assadi, Ben Campbell, Sunitha Kumar, Jon Peterson, Marc 3985 Petit-Huguenin, Vidhi Rastogi, and Bodgey Yin Shaohua. 3987 The authors also wish to thank the following individuals for their 3988 assistance: Jean-Francois Mule, Hemant Agrawal, Henry Sinnreich, 3989 David Devanatham, Joe Pizzimenti, Matt Cannon, John Hearty, the whole 3990 MCI WorldCom IPOP Design team, Scott Orton, Greg Osterhout, Pat 3991 Sollee, Doug Weisenberg, Danny Mistry, Steve McKinnon, and Denise 3992 Ingram, Denise Caballero, Tom Redman, Ilya Slain, Pat Sollee, John 3993 Truetken, and others from MCI WorldCom, 3Com, Cisco, Lucent and 3994 Nortel. 3996 Author's Addresses 3998 All listed authors actively contributed large amounts of text to this 3999 document. 4001 Alan Johnston 4002 WorldCom 4003 100 South 4th Street 4004 St. Louis, MO 63102 4005 USA 4007 EMail: alan.johnston@wcom.com 4009 Steve Donovan 4010 dynamicsoft, Inc. 4011 5100 Tennyson Parkway 4012 Suite 1200 4013 Plano, Texas 75024 4014 USA 4015 SIP Basic Call Flow Examples August 2002 4017 EMail: sdonovan@dynamicsoft.com 4019 Robert Sparks 4020 dynamicsoft, Inc. 4021 5100 Tennyson Parkway 4022 Suite 1200 4023 Plano, Texas 75024 4024 USA 4026 EMail: rsparks@dynamicsoft.com 4028 Chris Cunningham 4029 dynamicsoft, Inc. 4030 5100 Tennyson Parkway 4031 Suite 1200 4032 Plano, Texas 75024 4033 USA 4035 EMail: ccunningham@dynamicsoft.com 4037 Kevin Summers 4038 Sonus 4039 1701 North Collins Blvd, Suite 3000 4040 Richardson, TX 75080 4041 USA 4043 Email: kevin.summers@sonusnet.com 4045 Copyright Notice 4047 "Copyright (C) The Internet Society 2002. All Rights Reserved. 4049 This document and translations of it may be copied and furnished to 4050 others, and derivative works that comment on or otherwise explain it 4051 or assist in its implementation may be prepared, copied, published 4052 and distributed, in whole or in part, without restriction of any 4053 kind, provided that the above copyright notice and this paragraph are 4054 included on all such copies and derivative works. However, this 4055 document itself may not be modified in any way, such as by removing 4056 the copyright notice or references to the Internet Society or other 4057 Internet organizations, except as needed for the purpose of 4058 developing Internet standards in which case the procedures for 4059 copyrights defined in the Internet Standards process must be 4060 followed, or as required to translate it into languages other than 4061 English. 4063 SIP Basic Call Flow Examples August 2002 4065 The limited permissions granted above are perpetual and will not be 4066 revoked by the Internet Society or its successors or assigns. 4068 This document and the information contained herein is provided on an 4069 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 4070 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 4071 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 4072 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 4073 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 4075 Acknowledgement 4077 Funding for the RFC Editor function is currently provided by the 4078 Internet Society.