idnits 2.17.1 draft-ietf-sipping-basic-call-flows-01.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. -- The document has examples using IPv4 documentation addresses according to RFC6890, but does not use any IPv6 documentation addresses. Maybe there should be IPv6 examples, too? Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year -- 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 (October 2002) is 7854 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 3967 looks like a reference -- Missing reference section? '3' on line 93 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 (~~), 4 warnings (==), 9 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-01.txt R. Sparks 6 Expires: April 2003 C. Cunningham 7 dynamicsoft 8 K. Summers 9 Sonus 10 October 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 October 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 SIP IP communications network. They represent an example 83 minimum set of functionality. 85 It is the hope of the authors that this document will be useful for 86 SIP implementors, designers, and protocol researchers alike and will 87 help further the goal of a standard implementation of RFC 3261[2]. 88 These flows represent carefully checked and working group reviewed 89 scenarios of the most basic examples as a companion to the 90 specifications. 92 These call flows are based on the current version 2.0 of SIP in 93 RFC 3261[2] with SDP usage described in RFC 3264[3]. Other RFCs also 94 comprise the SIP standard but are not used in this set of basic call 95 flows. 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 October 2002 102 1.1 General Assumptions 104 A number of architecture, network, and protocol assumptions underlie 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 HTTP Digest as defined in [2] 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 TCP, TLS, and UDP for transport. Other transport 118 schemes could also be used. If UDP is used, care must be taken to 119 avoid packet fragmentation and congestion. 121 1.2 Legend for Message Flows 123 Dashed lines (---) represent signaling messages that are mandatory to 124 the call scenario. These messages can be SIP or PSTN 125 signaling. The arrow indicates the direction of message flow. 127 Double dashed lines (===) represent media paths between network 128 elements. 130 Messages with parentheses around their name represent optional 131 messages. 133 Messages are identified in the Figures as F1, F2, etc. This 134 references the message details in the list that follows the Figure. 135 Comments in the message details are shown in the following form: 137 /* Comments. */ 139 1.3 SIP Protocol Assumptions 141 This document is informational only and is NOT NORMATIVE in any 142 sense, in that it does not prescribe the flows that are shown, indeed 143 they MUST NOT be copied due to the reasons described in the next 144 paragraph. On the other hand, the basic call flows represent well- 145 reviewed examples of SIP usage that are best common practice 146 according to community consensus. 148 For simplicity in reading and editing the document, there are a 149 number of differences between some of the examples and actual SIP 150 SIP Basic Call Flow Examples October 2002 152 messages. For example, the HTTP Digest responses are not actual MD5 153 encodings. Call-IDs are often repeated, and CSeq counts often begin 154 at 1. Header fields are usually shown in the same order. Usually 155 only the minimum required header field set is shown, others that 156 would normally be present such as Accept, Supported, Allow, etc are 157 not shown. 159 Actors: 161 Element Display Name URI IP Address 162 ------- ------------ --- ---------- 164 User Agent BigGuy UserA@atlanta.com 192.0.2.101 165 User Agent LittleGuy UserB@biloxi.com 192.0.2.201 166 User Agent UserB@chicago.com 192.0.2.100 167 Proxy Server ss1.atlanta.com 192.0.2.111 168 Proxy/Registrar ss2.biloxi.com 192.0.2.222 169 Proxy Server ss3.chicago.com 192.0.2.233 170 ALG alg1.atlanta.com 192.0.2.128 171 SIP Basic Call Flow Examples October 2002 173 2. SIP Registration 175 Registration binds a particular device Contact URI with a SIP user 176 Address of Record (AOR). 178 2.1 Successful New Registration 180 User B SIP Server 181 | | 182 | REGISTER F1 | 183 |------------------------------>| 184 | 401 Unauthorized F2 | 185 |<------------------------------| 186 | REGISTER F3 | 187 |------------------------------>| 188 | 200 OK F4 | 189 |<------------------------------| 190 | | 192 User B sends a SIP REGISTER request to the SIP server. The request 193 includes the user's contact list. This flow shows the use of HTTP 194 Digest for authentication using TLS transport. TLS transport is used 195 due to the lack of integrity protection in HTTP Digest and the danger 196 of registration hijacking without it, as described in RFC 3261 [2]. 197 The SIP server provides a challenge to User B. User B enters her/his 198 valid user ID and password. User B's SIP client encrypts the user 199 information according to the challenge issued by the SIP server and 200 sends the response to the SIP server. The SIP server validates the 201 user's credentials. It registers the user in its contact database 202 and returns a response (200 OK) to User B's SIP client. The response 203 includes the user's current contact list in Contact headers. The 204 format of the authentication shown is HTTP digest. It is assumed 205 that User B has not previously registered with this Server. 207 Message Details 209 F1 REGISTER B -> SIP Server 211 REGISTER sip:ss2.biloxi.com SIP/2.0 212 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 213 Max-Forwards: 70 214 From: LittleGuy ;tag=a73kszlfl 215 To: LittleGuy 216 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 217 CSeq: 1 REGISTER 218 Contact: 219 SIP Basic Call Flow Examples October 2002 221 Content-Length: 0 223 F2 401 Unauthorized SIP Server -> User B 225 SIP/2.0 401 Unauthorized 226 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 227 ;received=192.0.2.201 228 From: LittleGuy ;tag=a73kszlfl 229 To: LittleGuy ;tag=1410948204 230 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 231 CSeq: 1 REGISTER 232 WWW-Authenticate: Digest realm="atlanta.com", qop="auth", 233 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 234 opaque="", stale=FALSE, algorithm=MD5 235 Content-Length: 0 237 F3 REGISTER B -> SIP Server 239 REGISTER sip:ss2.biloxi.com SIP/2.0 240 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 241 Max-Forwards: 70 242 From: LittleGuy ;tag=ja743ks76zlflH 243 To: LittleGuy 244 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 245 CSeq: 2 REGISTER 246 Contact: 247 Authorization: Digest username="UserB", realm="atlanta.com" 248 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", 249 uri="sip:ss2.biloxi.com", response="dfe56131d1958046689d83306477ecc" 250 Content-Length: 0 252 F4 200 OK SIP Server -> B 254 SIP/2.0 200 OK 255 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 256 ;received=192.0.2.201 257 From: LittleGuy ;tag=ja743ks76zlflH 258 To: LittleGuy ;tag=37GkEhwl6 259 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 260 CSeq: 2 REGISTER 261 Contact: ;expires=3600 262 Content-Length: 0 263 SIP Basic Call Flow Examples October 2002 265 2.2 Update of Contact List 267 User B SIP Server 268 | | 269 | REGISTER F1 | 270 |------------------------------>| 271 | 200 OK F2 | 272 |<------------------------------| 273 | | 275 User B wishes to update the list of addresses where the SIP server 276 will redirect or forward INVITE requests. 278 User B sends a SIP REGISTER request to the SIP server. User B's 279 request includes an updated contact list. Since the user already has 280 authenticated with the server, the user supplies authentication 281 credentials with the request and is not challenged by the server. 282 The SIP server validates the user's credentials. It registers the 283 user in its contact database, updates the user's contact list, and 284 returns a response (200 OK) to User B's SIP client. The response 285 includes the user's current contact list in Contact headers. 287 Message Details 289 F1 REGISTER B -> SIP Server 291 REGISTER sip:ss2.biloxi.com SIP/2.0 292 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 293 Max-Forwards: 70 294 From: LittleGuy ;tag=a73kszlfl 295 To: LittleGuy 296 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 297 CSeq: 1 REGISTER 298 Contact: mailto:UserB@biloxi.com 299 Authorization: Digest username="UserB", realm="atlanta.com", 300 qop="auth", nonce="1cec4341ae6cbe5a359ea9c8e88df84f", opaque="", 301 uri="sip:ss2.biloxi.com", 302 response="71ba27c64bd01de719686aa4590d5824" 303 Content-Length: 0 305 F2 200 OK SIP Server -> B 307 SIP/2.0 200 OK 308 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 309 SIP Basic Call Flow Examples October 2002 311 ;received=192.0.2.201 312 From: LittleGuy ;tag=a73kszlfl 313 To: LittleGuy ;tag=34095828jh 314 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 315 CSeq: 1 REGISTER 316 Contact: ;expires=3600 317 Contact: ;expires=4294967295 318 Content-Length: 0 319 SIP Basic Call Flow Examples October 2002 321 2.3 Request for Current Contact List 323 User B SIP Server 324 | | 325 | REGISTER F1 | 326 |------------------------------>| 327 | 200 OK F2 | 328 |<------------------------------| 329 | | 331 User B sends a register request to the Proxy Server containing no 332 Contact headers, indicating the user wishes to query the server for 333 the user's current contact list. Since the user already has 334 authenticated with the server, the user supplies authentication 335 credentials with the request and is not challenged by the server. The 336 SIP server validates the user's credentials. The server returns a 337 response (200 OK) which includes the user's current registration list 338 in Contact headers. 340 Message Details 342 F1 REGISTER B -> SIP Server 344 REGISTER sip:ss2.biloxi.com SIP/2.0 345 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 346 Max-Forwards: 70 347 From: LittleGuy ;tag=a73kszlfl 348 To: LittleGuy 349 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 350 CSeq: 1 REGISTER 351 Authorization: Digest username="UserB", realm="atlanta.com", 352 nonce="df84f1cec4341ae6cbe5ap359a9c8e88", opaque="", 353 uri="sip:ss2.biloxi.com", 354 response="aa7ab4678258377c6f7d4be6087e2f60" 355 Content-Length: 0 357 F2 200 OK SIP Server -> B 359 SIP/2.0 200 OK 360 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 361 ;received=192.0.2.201 362 From: LittleGuy ;tag=a73kszlfl 363 To: LittleGuy ;tag=jqoiweu75 364 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 365 CSeq: 1 REGISTER 366 SIP Basic Call Flow Examples October 2002 368 Contact: ;expires=3600 369 Contact: ;expires=4294967295 370 Content-Length: 0 371 SIP Basic Call Flow Examples October 2002 373 2.4 Cancellation of Registration 375 User B SIP Server 376 | | 377 | REGISTER F1 | 378 |------------------------------>| 379 | 200 OK F2 | 380 |<------------------------------| 381 | | 383 User B wishes to cancel their registration with the SIP 384 server. User B sends a SIP REGISTER request to the 385 SIP server. The request has an expiration period of 0 and applies to 386 all existing contact locations. Since the user already has 387 authenticated with the server, the user supplies authentication 388 credentials with the request and is not challenged by the server. 389 The SIP server validates the user's credentials. It clears the 390 user's contact list, and returns a response (200 OK) to User B's SIP 391 client. 393 Message Details 395 F1 REGISTER B -> SIP Server 397 REGISTER sip:ss2.biloxi.com SIP/2.0 398 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 399 Max-Forwards: 70 400 From: LittleGuy ;tag=a73kszlfl 401 To: LittleGuy 402 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 403 CSeq: 1 REGISTER 404 Expires: 0 405 Contact: * 406 Authorization: Digest username="UserB", realm="atlanta.com", 407 nonce="88df84f1cac4341aea9c8ee6cbe5a359", opaque="", 408 uri="sip:ss2.biloxi.com", 409 response="ff0437c51696f9a76244f0cf1dbabbea" 410 Content-Length: 0 412 F2 200 OK SIP Server -> B 414 SIP/2.0 200 OK 415 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 416 ;received=192.0.2.201 417 From: LittleGuy ;tag=a73kszlfl 418 To: LittleGuy ;tag=1418nmdsrf 419 SIP Basic Call Flow Examples October 2002 421 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 422 CSeq: 1 REGISTER 423 Content-Length: 0 424 SIP Basic Call Flow Examples October 2002 426 2.5 Unsuccessful Registration 428 User B SIP Server 429 | | 430 | REGISTER F1 | 431 |------------------------------>| 432 | 401 Unauthorized F2 | 433 |<------------------------------| 434 | REGISTER F3 | 435 |------------------------------>| 436 | 401 Unauthorized F4 | 437 |<------------------------------| 438 | | 440 User B sends a SIP REGISTER request to the SIP Server. The SIP 441 server provides a challenge to User B. User B enters her/his user ID 442 and password. User B's SIP client encrypts the user information 443 according to the challenge issued by the SIP server and sends the 444 response to the SIP server. The SIP server attempts to validate the 445 user's credentials, but they are not valid (the user's password does 446 not match the password established for the user's account). The 447 server returns a response (401 Unauthorized) to User B's SIP client. 449 Message Details 451 F1 REGISTER B -> SIP Server 453 REGISTER sip:ss2.biloxi.com SIP/2.0 454 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 455 Max-Forwards: 70 456 From: LittleGuy ;tag=a73kszlfl 457 To: LittleGuy 458 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 459 CSeq: 1 REGISTER 460 Contact: 461 Content-Length: 0 463 F2 Unauthorized SIP Server -> User B 465 SIP/2.0 401 Unauthorized 466 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 467 ;received=192.0.2.201 468 SIP Basic Call Flow Examples October 2002 470 From: LittleGuy ;tag=a73kszlfl 471 To: LittleGuy ;tag=1410948204 472 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 473 CSeq: 1 REGISTER 474 WWW-Authenticate: Digest realm="atlanta.com", qop="auth", 475 nonce="f1cec4341ae6ca9c8e88df84be55a359", 476 opaque="", stale=FALSE, algorithm=MD5 477 Content-Length: 0 479 F3 REGISTER B -> SIP Server 481 REGISTER sip:ss2.biloxi.com SIP/2.0 482 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 483 Max-Forwards: 70 484 From: LittleGuy ;tag=JueHGuidj28dfga 485 To: LittleGuy 486 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 487 CSeq: 2 REGISTER 488 Contact: 489 Authorization: Digest username="UserB", realm="atlanta.com", 490 nonce="f1cec4341ae6ca9c8e88df84be55a359", opaque="", 491 uri="sip:ss2.biloxi.com", 492 response="61f8470ceb87d7ebf508220214ed438b" 493 Content-Length: 0 495 /* The response above encodes the incorrect password */ 497 F4 401 Unauthorized SIP Server -> User B 499 SIP/2.0 401 Unauthorized 500 Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 501 ;received=192.0.2.201 502 From: LittleGuy ;tag=JueHGuidj28dfga 503 To: LittleGuy ;tag=1410948204 504 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com 505 CSeq: 2 REGISTER 506 WWW-Authenticate: Digest realm="atlanta.com", qop="auth", 507 nonce="84f1c1ae6cbe5ua9c8e88dfa3ecm3459", 508 opaque="", stale=FALSE, algorithm=MD5 509 Content-Length: 0 510 SIP Basic Call Flow Examples October 2002 512 3. SIP Session Establishment 514 This section details session establishment between two SIP User 515 Agents (UAs): User A and User B. User A (LittleGuy 516 sip:UserA@atlanta.com) and User B (BigGuy sip:UserB@biloxi.com) are 517 assumed to be SIP phones or SIP-enabled devices. The successful 518 calls show the initial signaling, the exchange of media information 519 in the form of SDP payloads, the establishment of the media session, 520 then finally the termination of the call. 522 HTTP Digest authentication is used by Proxy Servers to authenticate 523 the caller User A. It is assumed that User B has registered with 524 Proxy Server Proxy 2 as per Section 2 to be able to receive the calls 525 via the Proxy. 527 3.1 Successful Session Establishment 529 User A User B 530 | | 531 | INVITE F1 | 532 |----------------------->| 533 | 180 Ringing F2 | 534 |<-----------------------| 535 | | 536 | 200 OK F3 | 537 |<-----------------------| 538 | ACK F4 | 539 |----------------------->| 540 | Both Way RTP Media | 541 |<======================>| 542 | | 543 | BYE F5 | 544 |<-----------------------| 545 | 200 OK F6 | 546 |----------------------->| 547 | | 549 In this scenario, User A completes a call to User B directly. 551 Message Details 553 F1 INVITE User A -> User B 555 INVITE sip:UserB@biloxi.com SIP/2.0 556 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 557 Max-Forwards: 70 558 SIP Basic Call Flow Examples October 2002 560 From: BigGuy ;tag=9fxced76sl 561 To: LittleGuy 562 Call-ID: 3848276298220188511@atlanta.com 563 CSeq: 1 INVITE 564 Contact: 565 Content-Type: application/sdp 566 Content-Length: 143 568 v=0 569 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 570 s=- 571 c=IN IP4 192.0.2.101 572 t=0 0 573 m=audio 49172 RTP/AVP 0 574 a=rtpmap:0 PCMU/8000 576 F2 180 Ringing User B -> User A 578 SIP/2.0 180 Ringing 579 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 580 ;received=192.0.2.101 581 From: BigGuy ;tag=9fxced76sl 582 To: LittleGuy ;tag=8321234356 583 Call-ID: 3848276298220188511@atlanta.com 584 CSeq: 1 INVITE 585 Contact: 586 Content-Length: 0 588 F3 200 OK User B -> User A 590 SIP/2.0 200 OK 591 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 592 ;received=192.0.2.101 593 From: BigGuy ;tag=9fxced76sl 594 To: LittleGuy ;tag=8321234356 595 Call-ID: 3848276298220188511@atlanta.com 596 CSeq: 1 INVITE 597 Contact: 598 Content-Type: application/sdp 599 Content-Length: 141 601 v=0 602 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 603 s=- 604 c=IN IP4 192.0.2.201 605 t=0 0 606 m=audio 3456 RTP/AVP 0 607 SIP Basic Call Flow Examples October 2002 609 a=rtpmap:0 PCMU/8000 611 F4 ACK User A -> User B 613 ACK sip:UserB@biloxi.com SIP/2.0 614 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bd5 615 Max-Forwards: 70 616 From: BigGuy ;tag=9fxced76sl 617 To: LittleGuy ;tag=8321234356 618 Call-ID: 3848276298220188511@atlanta.com 619 CSeq: 1 ACK 620 Content-Length: 0 622 /* RTP streams are established between A and B */ 624 /* User B Hangs Up with User A. Note that the CSeq is NOT 2, since 625 User A and User B maintain their own independent CSeq counts. 626 (The INVITE was request 1 generated by User A, and the BYE is 627 request 1 generated by User B) */ 629 F5 BYE User B -> User A 631 BYE sip:UserA@client.atlanta.com SIP/2.0 632 Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 633 Max-Forwards: 70 634 From: LittleGuy ;tag=8321234356 635 To: BigGuy ;tag=9fxced76sl 636 Call-ID: 3848276298220188511@atlanta.com 637 CSeq: 1 BYE 638 Content-Length: 0 640 F6 200 OK User A -> User B 642 SIP/2.0 200 OK 643 Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 644 ;received=192.0.2.201 645 From: LittleGuy ;tag=8321234356 646 To: BigGuy ;tag=9fxced76sl 647 Call-ID: 3848276298220188511@atlanta.com 648 CSeq: 1 BYE 649 Content-Length: 0 650 SIP Basic Call Flow Examples October 2002 652 3.2 Session Establishment Through Two Proxies 654 User A Proxy 1 Proxy 2 User B 655 | | | | 656 | INVITE F1 | | | 657 |--------------->| | | 658 | 407 F2 | | | 659 |<---------------| | | 660 | ACK F3 | | | 661 |--------------->| | | 662 | INVITE F4 | | | 663 |--------------->| INVITE F5 | | 664 | 100 F6 |--------------->| INVITE F7 | 665 |<---------------| 100 F8 |--------------->| 666 | |<---------------| | 667 | | | 180 F9 | 668 | | 180 F10 |<---------------| 669 | 180 F11 |<---------------| | 670 |<---------------| | 200 F12 | 671 | | 200 F13 |<---------------| 672 | 200 F14 |<---------------| | 673 |<---------------| | | 674 | ACK F15 | | | 675 |--------------->| ACK F16 | | 676 | |--------------->| ACK F17 | 677 | | |--------------->| 678 | Both Way RTP Media | 679 |<================================================>| 680 | | | BYE F18 | 681 | | BYE F19 |<---------------| 682 | BYE F20 |<---------------| | 683 |<---------------| | | 684 | 200 F21 | | | 685 |--------------->| 200 F22 | | 686 | |--------------->| 200 F23 | 687 | | |--------------->| 688 | | | | 690 In this scenario, User A completes a call to User B using two proxies 691 Proxy 1 and Proxy 2. The initial INVITE (F1) contains a pre-loaded 692 Route header with the address of Proxy 1 (Proxy 1 is configured as a 693 default outbound proxy for User A). The request does not contain the 694 Authorization credentials Proxy 1 requires, so a 407 Proxy 695 Authorization response is sent containing the challenge information. 696 A new INVITE (F4) is then sent containing the correct credentials and 697 the call proceeds. The call terminates when User B disconnects by 698 initiating a BYE message. 700 SIP Basic Call Flow Examples October 2002 702 Proxy 1 inserts a Record-Route header into the INVITE message to 703 ensure that it is present in all subsequent message exchanges. Proxy 704 2 also inserts itself into the Record-Route header. The ACK (F15) 705 and BYE (F18) both have a Route header. 707 Message Details 709 F1 INVITE A -> Proxy 1 711 INVITE sip:UserB@biloxi.com SIP/2.0 712 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74b43 713 Max-Forwards: 70 714 Route: 715 From: BigGuy ;tag=9fxced76sl 716 To: LittleGuy 717 Call-ID: 3848276298220188511@atlanta.com 718 CSeq: 1 INVITE 719 Contact: 720 Content-Type: application/sdp 721 Content-Length: 143 723 v=0 724 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 725 s=- 726 c=IN IP4 192.0.2.101 727 t=0 0 728 m=audio 49172 RTP/AVP 0 729 a=rtpmap:0 PCMU/8000 731 /* Proxy 1 challenges User A for authentication */ 733 F2 407 Proxy Authorization Required Proxy 1 -> User A 735 SIP/2.0 407 Proxy Authorization Required 736 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74b43 737 ;received=192.0.2.101 738 From: BigGuy ;tag=9fxced76sl 739 To: LittleGuy ;tag=3flal12sf 740 Call-ID: 3848276298220188511@atlanta.com 741 CSeq: 1 INVITE 742 Proxy-Authenticate: Digest realm="atlanta.com", qop="auth", 743 nonce="f84f1cec41e6cbe5aea9c8e88d359", 744 opaque="", stale=FALSE, algorithm=MD5 745 Content-Length: 0 746 SIP Basic Call Flow Examples October 2002 748 F3 ACK A -> Proxy 1 750 ACK sip:UserB@biloxi.com SIP/2.0 751 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74b43 752 Max-Forwards: 70 753 From: BigGuy ;tag=9fxced76sl 754 To: LittleGuy ;tag=3flal12sf 755 Call-ID: 3848276298220188511@atlanta.com 756 CSeq: 1 ACK 757 Content-Length: 0 759 /* User A responds be re-sending the INVITE with authentication 760 credentials in it. */ 762 F4 INVITE A -> Proxy 1 764 INVITE sip:UserB@biloxi.com SIP/2.0 765 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 766 Max-Forwards: 70 767 Route: 768 From: BigGuy ;tag=9fxced76sl 769 To: LittleGuy 770 Call-ID: 3848276298220188511@atlanta.com 771 CSeq: 2 INVITE 772 Contact: 773 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 774 nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", 775 uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8" 776 Content-Type: application/sdp 777 Content-Length: 143 779 v=0 780 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 781 s=- 782 c=IN IP4 192.0.2.101 783 t=0 0 784 m=audio 49172 RTP/AVP 0 785 a=rtpmap:0 PCMU/8000 787 /* Proxy 1 accepts the credentials and forwards the INVITE to Proxy 788 2. Proxy 1 is assumed to have been authenticated by Proxy 2 using 789 IPSec. Client for A prepares to receive data on port 49172 from the 790 network. */ 792 F5 INVITE Proxy 1 -> Proxy 2 794 INVITE sip:UserB@biloxi.com SIP/2.0 795 SIP Basic Call Flow Examples October 2002 797 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 798 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 799 ;received=192.0.2.101 800 Max-Forwards: 69 801 Record-Route: 802 From: BigGuy ;tag=9fxced76sl 803 To: LittleGuy 804 Call-ID: 3848276298220188511@atlanta.com 805 CSeq: 2 INVITE 806 Contact: 807 Content-Type: application/sdp 808 Content-Length: 143 810 v=0 811 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 812 s=- 813 c=IN IP4 192.0.2.101 814 t=0 0 815 m=audio 49172 RTP/AVP 0 816 a=rtpmap:0 PCMU/8000 818 F6 100 Trying Proxy 1 -> User A 820 SIP/2.0 100 Trying 821 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 822 ;received=192.0.2.101 823 From: BigGuy ;tag=9fxced76sl 824 To: LittleGuy 825 Call-ID: 3848276298220188511@atlanta.com 826 CSeq: 2 INVITE 827 Content-Length: 0 829 F7 INVITE Proxy 2 -> B 831 INVITE sip:UserB@client.biloxi.com SIP/2.0 832 Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 833 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 834 ;received=192.0.2.111 835 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 836 ;received=192.0.2.101 837 Max-Forwards: 68 838 Record-Route: , 839 From: BigGuy ;tag=9fxced76sl 840 To: LittleGuy 841 Call-ID: 3848276298220188511@atlanta.com 842 CSeq: 2 INVITE 843 Contact: 844 SIP Basic Call Flow Examples October 2002 846 Content-Type: application/sdp 847 Content-Length: 143 849 v=0 850 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 851 s=- 852 c=IN IP4 192.0.2.101 853 t=0 0 854 m=audio 49172 RTP/AVP 0 855 a=rtpmap:0 PCMU/8000 857 F8 100 Trying Proxy 2 -> Proxy 1 859 SIP/2.0 100 Trying 860 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 861 ;received=192.0.2.111 862 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 863 ;received=192.0.2.101 864 From: BigGuy ;tag=9fxced76sl 865 To: LittleGuy 866 Call-ID: 3848276298220188511@atlanta.com 867 CSeq: 2 INVITE 868 Content-Length: 0 870 F9 180 Ringing B -> Proxy 2 872 SIP/2.0 180 Ringing 873 Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 874 ;received=192.0.2.222 875 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 876 ;received=192.0.2.111 877 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 878 ;received=192.0.2.101 879 Record-Route: , 880 From: BigGuy ;tag=9fxced76sl 881 To: LittleGuy ;tag=314159 882 Call-ID: 3848276298220188511@atlanta.com 883 Contact: 884 CSeq: 2 INVITE 885 Content-Length: 0 887 F10 180 Ringing Proxy 2 -> Proxy 1 889 SIP/2.0 180 Ringing 890 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 891 ;received=192.0.2.111 892 SIP Basic Call Flow Examples October 2002 894 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 895 ;received=192.0.2.101 896 Record-Route: , 897 From: BigGuy ;tag=9fxced76sl 898 To: LittleGuy ;tag=314159 899 Call-ID: 3848276298220188511@atlanta.com 900 Contact: 901 CSeq: 2 INVITE 902 Content-Length: 0 904 F11 180 Ringing Proxy 1 -> A 906 SIP/2.0 180 Ringing 907 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 908 ;received=192.0.2.101 909 Record-Route: , 910 From: BigGuy ;tag=9fxced76sl 911 To: LittleGuy ;tag=314159 912 Call-ID: 3848276298220188511@atlanta.com 913 Contact: 914 CSeq: 2 INVITE 915 Content-Length: 0 917 F12 200 OK B -> Proxy 2 919 SIP/2.0 200 OK 920 Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 921 ;received=192.0.2.222 922 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 923 ;received=192.0.2.111 924 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 925 ;received=192.0.2.101 926 Record-Route: , 927 From: BigGuy ;tag=9fxced76sl 928 To: LittleGuy ;tag=314159 929 Call-ID: 3848276298220188511@atlanta.com 930 CSeq: 2 INVITE 931 Contact: 932 Content-Type: application/sdp 933 Content-Length: 141 935 v=0 936 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 937 s=- 938 c=IN IP4 192.0.2.201 939 t=0 0 940 m=audio 3456 RTP/AVP 0 941 SIP Basic Call Flow Examples October 2002 943 a=rtpmap:0 PCMU/8000 945 F13 200 OK Proxy 2 -> Proxy 1 947 SIP/2.0 200 OK 948 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 949 ;received=192.0.2.111 950 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 951 ;received=192.0.2.101 952 Record-Route: , 953 From: BigGuy ;tag=9fxced76sl 954 To: LittleGuy ;tag=314159 955 Call-ID: 3848276298220188511@atlanta.com 956 CSeq: 2 INVITE 957 Contact: 958 Content-Type: application/sdp 959 Content-Length: 141 961 v=0 962 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 963 s=- 964 c=IN IP4 192.0.2.201 965 t=0 0 966 m=audio 3456 RTP/AVP 0 967 a=rtpmap:0 PCMU/8000 969 F14 200 OK Proxy 1 -> A 971 SIP/2.0 200 OK 972 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 973 ;received=192.0.2.101 974 Record-Route: , 975 From: BigGuy ;tag=9fxced76sl 976 To: LittleGuy ;tag=314159 977 Call-ID: 3848276298220188511@atlanta.com 978 CSeq: 2 INVITE 979 Contact: 980 Content-Type: application/sdp 981 Content-Length: 141 983 v=0 984 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 985 s=- 986 c=IN IP4 192.0.2.201 987 t=0 0 988 m=audio 3456 RTP/AVP 0 989 a=rtpmap:0 PCMU/8000 990 SIP Basic Call Flow Examples October 2002 992 F15 ACK A -> Proxy 1 994 ACK sip:UserB@client.biloxi.com SIP/2.0 995 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74b76 996 Max-Forwards: 70 997 Route: , 998 From: BigGuy ;tag=9fxced76sl 999 To: LittleGuy ;tag=314159 1000 Call-ID: 3848276298220188511@atlanta.com 1001 CSeq: 2 ACK 1002 Content-Length: 0 1004 F16 ACK Proxy 1 -> Proxy 2 1006 ACK sip:UserB@client.biloxi.com SIP/2.0 1007 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 1008 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74b76 1009 ;received=192.0.2.101 1010 Max-Forwards: 69 1011 Route: 1012 From: BigGuy ;tag=9fxced76sl 1013 To: LittleGuy ;tag=314159 1014 Call-ID: 3848276298220188511@atlanta.com 1015 CSeq: 2 ACK 1016 Content-Length: 0 1018 F17 ACK Proxy 2 -> B 1020 ACK sip:UserB@client.biloxi.com SIP/2.0 1021 Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1022 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 1023 ;received=192.0.2.111 1024 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74b76 1025 ;received=192.0.2.101 1026 Max-Forwards: 68 1027 From: BigGuy ;tag=9fxced76sl 1028 To: LittleGuy ;tag=314159 1029 Call-ID: 3848276298220188511@atlanta.com 1030 CSeq: 2 ACK 1031 Content-Length: 0 1033 /* RTP streams are established between A and B */ 1035 /* User B Hangs Up with User A. */ 1036 SIP Basic Call Flow Examples October 2002 1038 /* Again, note that the CSeq is NOT 3. User A and User B maintain 1039 their own separate CSeq counts */ 1041 F18 BYE User B -> Proxy 2 1043 BYE sip:UserA@client.atlanta.com SIP/2.0 1044 Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 1045 Max-Forwards: 70 1046 Route: , 1047 From: LittleGuy ;tag=314159 1048 To: BigGuy ;tag=9fxced76sl 1049 Call-ID: 3848276298220188511@atlanta.com 1050 CSeq: 1 BYE 1051 Content-Length: 0 1053 F19 BYE Proxy 2 -> Proxy 1 1055 BYE sip:UserA@client.atlanta.com SIP/2.0 1056 Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1057 Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 1058 ;received=192.0.2.201 1059 Max-Forwards: 69 1060 Route: 1061 From: LittleGuy ;tag=314159 1062 To: BigGuy ;tag=9fxced76sl 1063 Call-ID: 3848276298220188511@atlanta.com 1064 CSeq: 1 BYE 1065 Content-Length: 0 1067 F20 BYE Proxy 1 -> User A 1069 BYE sip:UserA@client.atlanta.com SIP/2.0 1070 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 1071 Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1072 ;received=192.0.2.222 1073 Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 1074 ;received=192.0.2.201 1075 Max-Forwards: 68 1076 From: LittleGuy ;tag=314159 1077 To: BigGuy ;tag=9fxced76sl 1078 Call-ID: 3848276298220188511@atlanta.com 1079 CSeq: 1 BYE 1080 Content-Length: 0 1082 F21 200 OK User A -> Proxy 1 1083 SIP Basic Call Flow Examples October 2002 1085 SIP/2.0 200 OK 1086 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 1087 ;received=192.0.2.111 1088 Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1089 ;received=192.0.2.222 1090 Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 1091 ;received=192.0.2.201 1092 From: LittleGuy ;tag=314159 1093 To: BigGuy ;tag=9fxced76sl 1094 Call-ID: 3848276298220188511@atlanta.com 1095 CSeq: 1 BYE 1096 Content-Length: 0 1098 F22 200 OK Proxy 1 -> Proxy 2 1100 SIP/2.0 200 OK 1101 Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1102 ;received=192.0.2.222 1103 Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 1104 ;received=192.0.2.101 1105 From: LittleGuy ;tag=314159 1106 To: BigGuy ;tag=9fxced76sl 1107 Call-ID: 3848276298220188511@atlanta.com 1108 CSeq: 1 BYE 1109 Content-Length: 0 1111 F23 200 OK Proxy 2 -> User B 1113 SIP/2.0 200 OK 1114 Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 1115 ;received=192.0.2.201 1116 From: LittleGuy ;tag=314159 1117 To: BigGuy ;tag=9fxced76sl 1118 Call-ID: 3848276298220188511@atlanta.com 1119 CSeq: 1 BYE 1120 Content-Length: 0 1121 SIP Basic Call Flow Examples October 2002 1123 3.3 Session with Multiple Proxy Authentication 1125 User A Proxy 1 Proxy 2 User B 1126 | | | | 1127 | INVITE F1 | | | 1128 |----------->| | | 1129 | 407 Proxy Authorization Required F2 | 1130 |<-----------| | | 1131 | ACK F3 | | | 1132 |----------->| | | 1133 | INVITE F4 | | | 1134 |----------->| | | 1135 | 100 F5 | | | 1136 |<-----------| INVITE F6 | | 1137 | |---------->| | 1138 | | 407 Proxy Authorization Required F7 1139 | |<----------| | 1140 | | ACK F8 | | 1141 | |---------->| | 1142 | 407 Proxy Authorization Required F9 | 1143 |<-----------| | | 1144 | ACK F10 | | | 1145 |----------->| | | 1146 | INVITE F11| | | 1147 |----------->| | | 1148 | 100 F12 | | | 1149 |<-----------| INVITE F13| | 1150 | |---------->| | 1151 | | 100 F14 | | 1152 | |<----------| INVITE F15 | 1153 | | |------------>| 1154 | | | 200 OK F16 | 1155 | | 200 OK F17|<------------| 1156 | 200 OK F18 |<----------| | 1157 |<-----------| | | 1158 | ACK F19 | | | 1159 |----------->| ACK F20 | | 1160 | |---------->| ACK F21 | 1161 | | |------------>| 1162 | RTP Media Path | 1163 |<====================================>| 1165 In this scenario, User A completes a call to User B using two proxies 1166 Proxy 1 and Proxy 2. User A has valid credentials in both domains. 1167 Since the initial INVITE (F1) does not contain the 1168 Authorization credentials Proxy 1 requires, so a 407 Proxy 1169 Authorization response is sent containing the challenge information. 1170 A new INVITE (F4) is then sent containing the correct credentials and 1171 SIP Basic Call Flow Examples October 2002 1173 the call proceeds after Proxy 2 challenges and receives valid 1174 credentials. The call terminates when User B disconnects by 1175 initiating a BYE message. 1177 Proxy 1 inserts a Record-Route header into the INVITE message to 1178 ensure that it is present in all subsequent message exchanges. Proxy 1179 2 also inserts itself into the Record-Route header. 1181 Message Details 1183 F1 INVITE A -> Proxy 1 1185 INVITE sip:UserB@biloxi.com SIP/2.0 1186 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b03 1187 Max-Forwards: 70 1188 Route: 1189 From: BigGuy ;tag=9fxced76sl 1190 To: LittleGuy 1191 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1192 CSeq: 1 INVITE 1193 Contact: 1194 Content-Type: application/sdp 1195 Content-Length: 143 1197 v=0 1198 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1199 s=- 1200 c=IN IP4 192.0.2.101 1201 t=0 0 1202 m=audio 49172 RTP/AVP 0 1203 a=rtpmap:0 PCMU/8000 1205 /* Proxy 1 challenges User A for authentication */ 1207 F2 407 Proxy Authorization Required Proxy 1 -> User A 1209 SIP/2.0 407 Proxy Authorization Required 1210 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b03 1211 ;received=192.0.2.101 1212 From: BigGuy ;tag=9fxced76sl 1213 To: LittleGuy ;tag=876321 1214 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1215 CSeq: 1 INVITE 1216 Proxy-Authenticate: Digest realm="atlanta.com", qop="auth", 1217 nonce="wf84f1cczx41ae6cbeaea9ce88d359", 1218 SIP Basic Call Flow Examples October 2002 1220 opaque="", stale=FALSE, algorithm=MD5 1221 Content-Length: 0 1223 F3 ACK A -> Proxy 1 1225 ACK sip:UserB@biloxi.com SIP/2.0 1226 Max-Forwards: 70 1227 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b03 1228 From: BigGuy ;tag=9fxced76sl 1229 To: LittleGuy ;tag=876321 1230 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1231 CSeq: 1 ACK 1232 Content-Length: 0 1234 /* User A responds be re-sending the INVITE with authentication 1235 credentials in it. The same Call-ID is used, so the CSeq is 1236 increased. */ 1238 F4 INVITE A -> Proxy 1 1240 INVITE sip:UserB@biloxi.com SIP/2.0 1241 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 1242 Max-Forwards: 70 1243 Route: 1244 From: BigGuy ;tag=9fxced76sl 1245 To: LittleGuy 1246 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1247 CSeq: 2 INVITE 1248 Contact: 1249 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 1250 nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", 1251 uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8" 1252 Content-Type: application/sdp 1253 Content-Length: 143 1255 v=0 1256 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1257 s=- 1258 c=IN IP4 192.0.2.101 1259 t=0 0 1260 m=audio 49172 RTP/AVP 0 1261 a=rtpmap:0 PCMU/8000 1263 /* Proxy 1 accepts the credentials and forwards the INVITE to Proxy 1264 2. Proxy 1 is assumed to have been authenticated by Proxy 2 using 1265 IPSec. Client for A prepares to receive data on port 49172 from the 1266 SIP Basic Call Flow Examples October 2002 1268 network. */ 1270 F5 100 Trying Proxy 1 -> User A 1272 SIP/2.0 100 Trying 1273 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 1274 ;received=192.0.2.101 1275 From: BigGuy ;tag=9fxced76sl 1276 To: LittleGuy 1277 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1278 CSeq: 2 INVITE 1279 Content-Length: 0 1281 F6 INVITE Proxy 1 -> Proxy 2 1283 INVITE sip:UserB@biloxi.com SIP/2.0 1284 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1285 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 1286 ;received=192.0.2.101 1287 Max-Forwards: 69 1288 Record-Route: 1289 From: BigGuy ;tag=9fxced76sl 1290 To: LittleGuy 1291 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1292 CSeq: 2 INVITE 1293 Contact: 1294 Content-Type: application/sdp 1295 Content-Length: 143 1297 v=0 1298 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1299 s=- 1300 c=IN IP4 192.0.2.101 1301 t=0 0 1302 m=audio 49172 RTP/AVP 0 1303 a=rtpmap:0 PCMU/8000 1305 /* Proxy 2 challenges User A for authentication */ 1307 F7 407 Proxy Authorization Required Proxy 2 -> Proxy 1 1309 SIP/2.0 407 Proxy Authorization Required 1310 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1311 ;received=192.0.2.111 1312 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 1313 ;received=192.0.2.101 1314 From: BigGuy ;tag=9fxced76sl 1315 SIP Basic Call Flow Examples October 2002 1317 To: LittleGuy ;tag=838209 1318 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1319 CSeq: 2 INVITE 1320 Proxy-Authenticate: Digest realm="biloxi.com", qop="auth", 1321 nonce="c1e22c41ae6cbe5ae983a9c8e88d359", 1322 opaque="", stale=FALSE, algorithm=MD5 1323 Content-Length: 0 1325 F8 ACK Proxy 1 -> Proxy 2 1327 ACK sip:UserB@biloxi.com SIP/2.0 1328 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 1329 Max-Forwards: 70 1330 From: BigGuy ;tag=9fxced76sl 1331 To: LittleGuy ;tag=838209 1332 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1333 CSeq: 2 ACK 1334 Content-Length: 0 1336 /* Proxy 1 forwards the challenge to User A for authentication from 1337 Proxy 2 */ 1339 F9 407 Proxy Authorization Required Proxy 1 -> User A 1341 SIP/2.0 407 Proxy Authorization Required 1342 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 1343 ;received=192.0.2.101 1344 From: BigGuy ;tag=9fxced76sl 1345 To: LittleGuy ;tag=838209 1346 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1347 CSeq: 2 INVITE 1348 Proxy-Authenticate: Digest realm="biloxi.com", qop="auth", 1349 nonce="c1e22c41ae6cbe5ae983a9c8e88d359", 1350 opaque="", stale=FALSE, algorithm=MD5 1351 Content-Length: 0 1353 F10 ACK User A -> Proxy 1 1355 ACK sip:UserB@biloxi.com SIP/2.0 1356 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 1357 Max-Forwards: 70 1358 From: BigGuy ;tag=9fxced76sl 1359 To: LittleGuy ;tag=838209 1360 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1361 CSeq: 2 ACK 1362 Content-Length: 0 1363 SIP Basic Call Flow Examples October 2002 1365 /* User A responds be re-sending the INVITE with authentication 1366 credentials for Proxy 1 AND Proxy 2. */ 1368 F11 INVITE A -> Proxy 1 1370 INVITE sip:UserB@biloxi.com SIP/2.0 1371 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1372 Max-Forwards: 70 1373 From: BigGuy ;tag=9fxced76sl 1374 To: LittleGuy 1375 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1376 CSeq: 3 INVITE 1377 Contact: 1378 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 1379 nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", 1380 uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8" 1381 Proxy-Authorization: Digest username="UserA", realm="biloxi.com", 1382 nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", 1383 uri="sip:UserB@biloxi.com", response="f44ab22f150c6a56071bce8" 1384 Content-Type: application/sdp 1385 Content-Length: 143 1387 v=0 1388 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1389 s=- 1390 c=IN IP4 192.0.2.101 1391 t=0 0 1392 m=audio 49172 RTP/AVP 0 1393 a=rtpmap:0 PCMU/8000 1395 /* Proxy 1 finds its credentials and authorizes User A, forwarding 1396 the INVITE to Proxy. */ 1398 F12 100 Trying Proxy 1 -> User A 1400 SIP/2.0 100 Trying 1401 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1402 ;received=192.0.2.101 1403 From: BigGuy ;tag=9fxced76sl 1404 To: LittleGuy 1405 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1406 CSeq: 3 INVITE 1407 Content-Length: 0 1408 SIP Basic Call Flow Examples October 2002 1410 F13 INVITE Proxy 1 -> Proxy 2 1412 INVITE sip:UserB@biloxi.com SIP/2.0 1413 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1414 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1415 ;received=192.0.2.101 1416 Max-Forwards: 69 1417 Record-Route: 1418 From: BigGuy ;tag=9fxced76sl 1419 To: LittleGuy 1420 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1421 CSeq: 3 INVITE 1422 Contact: 1423 Proxy-Authorization: Digest username="UserA", realm="biloxi.com", 1424 nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", 1425 uri="sip:UserB@biloxi.com", response="f44ab22f150c6a56071bce8" 1426 Content-Type: application/sdp 1427 Content-Length: 143 1429 v=0 1430 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1431 s=- 1432 c=IN IP4 192.0.2.101 1433 t=0 0 1434 m=audio 49172 RTP/AVP 0 1435 a=rtpmap:0 PCMU/8000 1437 /* Proxy 2 finds its credentials and authorizes User A, forwarding 1438 the INVITE to User B. */ 1440 F14 100 Trying Proxy 2 -> Proxy 1 1442 SIP/2.0 100 Trying 1443 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1444 ;received=192.0.2.111 1445 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1446 ;received=192.0.2.101 1447 From: BigGuy ;tag=9fxced76sl 1448 To: LittleGuy 1449 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1450 CSeq: 3 INVITE 1451 Content-Length: 0 1453 F15 INVITE Proxy 2 -> User B 1455 INVITE sip:UserB@client.biloxi.com SIP/2.0 1456 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1 1457 SIP Basic Call Flow Examples October 2002 1459 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1460 ;received=192.0.2.111 1461 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1462 ;received=192.0.2.101 1463 Max-Forwards: 68 1464 Record-Route: , 1465 From: BigGuy ;tag=9fxced76sl 1466 To: LittleGuy 1467 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1468 CSeq: 3 INVITE 1469 Contact: 1470 Content-Type: application/sdp 1471 Content-Length: 143 1473 v=0 1474 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1475 s=- 1476 c=IN IP4 192.0.2.101 1477 t=0 0 1478 m=audio 49172 RTP/AVP 0 1479 a=rtpmap:0 PCMU/8000 1481 /* User B answers the call immediately */ 1483 F16 200 OK User B -> Proxy 2 1485 SIP/2.0 200 OK 1486 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1 1487 ;received=192.0.2.222 1488 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1489 ;received=192.0.2.111 1490 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1491 ;received=192.0.2.101 1492 Record-Route: , 1493 From: BigGuy ;tag=9fxced76sl 1494 To: LittleGuy ;tag=9103874 1495 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1496 CSeq: 3 INVITE 1497 Contact: 1498 Content-Type: application/sdp 1499 Content-Length: 141 1501 v=0 1502 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 1503 s=- 1504 c=IN IP4 192.0.2.201 1505 t=0 0 1506 m=audio 3456 RTP/AVP 0 1507 SIP Basic Call Flow Examples October 2002 1509 a=rtpmap:0 PCMU/8000 1511 F17 200 OK Proxy 2 -> Proxy 1 1513 SIP/2.0 200 OK 1514 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1515 ;received=192.0.2.111 1516 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1517 ;received=192.0.2.101 1518 Record-Route: , 1519 From: BigGuy ;tag=9fxced76sl 1520 To: LittleGuy ;tag=9103874 1521 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1522 CSeq: 3 INVITE 1523 Contact: 1524 Content-Type: application/sdp 1525 Content-Length: 141 1527 v=0 1528 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 1529 s=- 1530 c=IN IP4 192.0.2.201 1531 t=0 0 1532 m=audio 3456 RTP/AVP 0 1533 a=rtpmap:0 PCMU/8000 1535 F18 200 OK Proxy 1 -> User A 1537 SIP/2.0 200 OK 1538 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1539 ;received=192.0.2.101 1540 Record-Route: , 1541 From: BigGuy ;tag=9fxced76sl 1542 To: LittleGuy ;tag=9103874 1543 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1544 CSeq: 3 INVITE 1545 Contact: 1546 Content-Type: application/sdp 1547 Content-Length: 141 1549 v=0 1550 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 1551 s=- 1552 c=IN IP4 192.0.2.201 1553 t=0 0 1554 m=audio 3456 RTP/AVP 0 1555 a=rtpmap:0 PCMU/8000 1556 SIP Basic Call Flow Examples October 2002 1558 F19 ACK User A -> Proxy 1 1560 ACK sip:UserB@client.biloxi.com SIP/2.0 1561 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b44 1562 Max-Forwards: 70 1563 Route: , 1564 From: BigGuy ;tag=9fxced76sl 1565 To: LittleGuy ;tag=9103874 1566 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1567 CSeq: 3 ACK 1568 Content-Length: 0 1570 F20 ACK Proxy 1 -> Proxy 2 1572 ACK sip:UserB@client.biloxi.com SIP/2.0 1573 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1574 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b44 1575 ;received=192.0.2.101 1576 Max-Forwards: 69 1577 Route: 1578 From: BigGuy ;tag=9fxced76sl 1579 To: LittleGuy ;tag=9103874 1580 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1581 CSeq: 3 ACK 1582 Contact: 1583 Content-Length: 0 1585 F21 ACK Proxy 2 -> User A 1587 ACK sip:UserB@client.biloxi.com SIP/2.0 1588 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1 1589 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 1590 ;received=192.0.2.111 1591 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b44 1592 ;received=192.0.2.101 1593 Max-Forwards: 68 1594 From: BigGuy ;tag=9fxced76sl 1595 To: LittleGuy ;tag=9103874 1596 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1597 CSeq: 3 ACK 1598 Contact: 1599 Content-Length: 0 1600 SIP Basic Call Flow Examples October 2002 1602 3.4 Successful Session with Proxy Failure 1604 User A Proxy 1 Proxy 2 User B 1605 | | | | 1606 | INVITE F1 | | | 1607 |--------------->| | | 1608 | INVITE F2 | | | 1609 |--------------->| | | 1610 | INVITE F3 | | | 1611 |--------------->| | | 1612 | INVITE F4 | | | 1613 |--------------->| | | 1614 | INVITE F5 | | | 1615 |--------------->| | | 1616 | INVITE F6 | | | 1617 |--------------->| | | 1618 | INVITE F7 | | | 1619 |--------------->| | | 1620 | INVITE F8 | | 1621 |-------------------------------->| | 1622 | 407 F9 | | 1623 |<--------------------------------| | 1624 | ACK F10 | | 1625 |-------------------------------->| | 1626 | INVITE F11 | | 1627 |-------------------------------->| INVITE F12 | 1628 | 100 F13 |--------------->| 1629 |<--------------------------------| | 1630 | | 180 F14 | 1631 | 180 F15 |<---------------| 1632 |<--------------------------------| | 1633 | | 200 F16 | 1634 | 200 F17 |<---------------| 1635 |<--------------------------------| | 1636 | ACK F18 | | 1637 |-------------------------------->| ACK F19 | 1638 | |--------------->| 1639 | Both Way RTP Media | 1640 |<================================================>| 1641 | | BYE F20 | 1642 | BYE F21 |<---------------| 1643 |<--------------------------------| | 1644 | 200 F22 | | 1645 |-------------------------------->| 200 F23 | 1646 | |--------------->| 1647 | | | 1648 SIP Basic Call Flow Examples October 2002 1650 In this scenario, User A completes a call to User B via a Proxy 1651 Server. User A is configured for a primary SIP Proxy Server Proxy 1 1652 and a secondary SIP Proxy Server Proxy 2 (Or is able to use DNS SRV 1653 records to locate Proxy 1 and Proxy 2). User A has valid credentials 1654 for both domains. Proxy 1 is out of service and does not respond to 1655 INVITEs (it is reachable, but unresponsive). User A then completes 1656 the call to User B using Proxy 2. 1658 Message Details 1660 F1 INVITE A -> Proxy 1 1662 INVITE sip:UserB@biloxi.com SIP/2.0 1663 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK465b6d 1664 Max-Forwards: 70 1665 Route: 1666 From: BigGuy ;tag=9fxced76sl 1667 To: LittleGuy 1668 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 1669 CSeq: 1 INVITE 1670 Contact: 1671 Content-Type: application/sdp 1672 Content-Length: 143 1674 v=0 1675 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1676 s=- 1677 c=IN IP4 192.0.2.101 1678 t=0 0 1679 m=audio 49172 RTP/AVP 0 1680 a=rtpmap:0 PCMU/8000 1682 F2 INVITE A -> Proxy 1 1684 Same as Message F1 1686 F3 INVITE A -> Proxy 1 1688 Same as Message F1 1690 F4 INVITE A -> Proxy 1 1692 Same as Message F1 1693 SIP Basic Call Flow Examples October 2002 1695 F5 INVITE A -> Proxy 1 1697 Same as Message F1 1699 F6 INVITE A -> Proxy 1 1701 Same as Message F1 1703 F7 INVITE A -> Proxy 1 1705 Same as Message F1 1707 /* User A gives up on the unresponsive proxy */ 1709 F8 INVITE A -> Proxy 2 1711 INVITE sip:UserB@biloxi.com SIP/2.0 1712 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b8a 1713 Max-Forwards: 70 1714 From: BigGuy ;tag=9fxced76sl 1715 To: LittleGuy 1716 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1717 CSeq: 1 INVITE 1718 Contact: 1719 Content-Type: application/sdp 1720 Content-Length: 143 1722 v=0 1723 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1724 s=- 1725 c=IN IP4 192.0.2.101 1726 t=0 0 1727 m=audio 49172 RTP/AVP 0 1728 a=rtpmap:0 PCMU/8000 1730 /* Proxy 2 challenges User A for authentication */ 1732 F9 407 Proxy Authorization Required Proxy 2 -> User A 1734 SIP/2.0 407 Proxy Authorization Required 1735 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b8a 1736 ;received=192.0.2.101 1737 From: BigGuy ;tag=9fxced76sl 1738 SIP Basic Call Flow Examples October 2002 1740 To: LittleGuy ;tag=2421452 1741 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1742 CSeq: 1 INVITE 1743 Proxy-Authenticate: Digest realm="biloxi.com", qop="auth", 1744 nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", 1745 opaque="", stale=FALSE, algorithm=MD5 1746 Content-Length: 0 1748 F10 ACK A -> Proxy 2 1750 ACK sip:UserB@biloxi.com SIP/2.0 1751 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b8a 1752 Max-Forwards: 70 1753 From: BigGuy ;tag=9fxced76sl 1754 To: LittleGuy ;tag=2421452 1755 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1756 CSeq: 1 ACK 1757 Content-Length: 0 1759 /* User A responds be re-sending the INVITE with authentication 1760 credentials in it. */ 1762 F11 INVITE A -> Proxy 2 1764 INVITE sip:UserB@biloxi.com SIP/2.0 1765 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1766 Max-Forwards: 70 1767 From: BigGuy ;tag=9fxced76sl 1768 To: LittleGuy 1769 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1770 CSeq: 2 INVITE 1771 Contact: 1772 Proxy-Authorization: Digest username="UserA", realm="biloxi.com", 1773 nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", opaque="", 1774 uri="sip:UserB@biloxi.com", 1775 response="8a880c919d1a52f20a1593e228adf599" 1776 Content-Type: application/sdp 1777 Content-Length: 143 1779 v=0 1780 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1781 s=- 1782 c=IN IP4 192.0.2.101 1783 t=0 0 1784 m=audio 49172 RTP/AVP 0 1785 a=rtpmap:0 PCMU/8000 1786 SIP Basic Call Flow Examples October 2002 1788 /* Proxy 2 accepts the credentials and forwards the INVITE to User B. 1789 Client for A prepares to receive data on port 49172 from the network. 1790 */ 1792 F12 INVITE Proxy 2 -> B 1794 INVITE sip:UserB@client.biloxi.com SIP/2.0 1795 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1796 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1797 ;received=192.0.2.101 1798 Max-Forwards: 69 1799 Record-Route: 1800 From: BigGuy ;tag=9fxced76sl 1801 To: LittleGuy 1802 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1803 CSeq: 2 INVITE 1804 Contact: 1805 Content-Type: application/sdp 1806 Content-Length: 143 1808 v=0 1809 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 1810 s=- 1811 c=IN IP4 192.0.2.101 1812 t=0 0 1813 m=audio 49172 RTP/AVP 0 1814 a=rtpmap:0 PCMU/8000 1816 F13 100 Trying Proxy 2 -> User A 1818 SIP/2.0 100 Trying 1819 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1820 ;received=192.0.2.101 1821 From: BigGuy ;tag=9fxced76sl 1822 To: LittleGuy 1823 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1824 CSeq: 2 INVITE 1825 Content-Length: 0 1827 F14 180 Ringing B -> Proxy 2 1829 SIP/2.0 180 Ringing 1830 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1831 ;received=192.0.2.222 1832 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1833 ;received=192.0.2.101 1834 SIP Basic Call Flow Examples October 2002 1836 Record-Route: 1837 From: BigGuy ;tag=9fxced76sl 1838 To: LittleGuy ;tag=314159 1839 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1840 CSeq: 2 INVITE 1841 Contact: 1842 Content-Length: 0 1844 F15 180 Ringing Proxy 2 -> A 1846 SIP/2.0 180 Ringing 1847 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1848 ;received=192.0.2.101 1849 Record-Route: 1850 From: BigGuy ;tag=9fxced76sl 1851 To: LittleGuy ;tag=314159 1852 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1853 CSeq: 2 INVITE 1854 Contact: 1855 Content-Length: 0 1857 F16 200 OK B -> Proxy 2 1859 SIP/2.0 200 OK 1860 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1861 ;received=192.0.2.222 1862 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1863 ;received=192.0.2.101 1864 Record-Route: 1865 From: BigGuy ;tag=9fxced76sl 1866 To: LittleGuy ;tag=314159 1867 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1868 CSeq: 2 INVITE 1869 Contact: 1870 Content-Type: application/sdp 1871 Content-Length: 141 1873 v=0 1874 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 1875 s=- 1876 c=IN IP4 192.0.2.201 1877 t=0 0 1878 m=audio 3456 RTP/AVP 0 1879 a=rtpmap:0 PCMU/8000 1881 F17 200 OK Proxy 2 -> A 1882 SIP Basic Call Flow Examples October 2002 1884 SIP/2.0 200 OK 1885 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 1886 ;received=192.0.2.101 1887 Record-Route: 1888 From: BigGuy ;tag=9fxced76sl 1889 To: LittleGuy ;tag=314159 1890 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1891 CSeq: 2 INVITE 1892 Contact: 1893 Content-Type: application/sdp 1894 Content-Length: 141 1896 v=0 1897 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 1898 s=- 1899 c=IN IP4 192.0.2.201 1900 t=0 0 1901 m=audio 3456 RTP/AVP 0 1902 a=rtpmap:0 PCMU/8000 1904 F18 ACK A -> Proxy 2 1906 ACK sip:UserB@client.biloxi.com SIP/2.0 1907 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b8g 1908 Max-Forwards: 70 1909 Route: 1910 From: BigGuy ;tag=9fxced76sl 1911 To: LittleGuy ;tag=314159 1912 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1913 CSeq: 2 ACK 1914 Content-Length: 0 1916 F19 ACK Proxy 2 -> B 1918 ACK sip:UserB@client.biloxi.com SIP/2.0 1919 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1920 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b8g 1921 ;received=192.0.2.101 1922 Max-Forwards: 69 1923 From: BigGuy ;tag=9fxced76sl 1924 To: LittleGuy ;tag=314159 1925 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1926 CSeq: 2 ACK 1927 Content-Length: 0 1928 SIP Basic Call Flow Examples October 2002 1930 /* RTP streams are established between A and B */ 1932 /* User B Hangs Up with User A. */ 1934 F20 BYE User B -> Proxy 2 1936 BYE sip:UserA@client.atlanta.com SIP/2.0 1937 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1938 Max-Forwards: 70 1939 Route: 1940 From: LittleGuy ;tag=314159 1941 To: BigGuy ;tag=9fxced76sl 1942 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1943 CSeq: 1 BYE 1944 Content-Length: 0 1946 F21 BYE Proxy 2 -> User A 1948 BYE sip:UserA@client.atlanta.com SIP/2.0 1949 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1950 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1951 ;received=192.0.2.201 1952 Max-Forwards: 69 1953 From: LittleGuy ;tag=314159 1954 To: BigGuy ;tag=9fxced76sl 1955 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1956 CSeq: 1 BYE 1957 Content-Length: 0 1959 F22 200 OK User A -> Proxy 2 1961 SIP/2.0 200 OK 1962 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 1963 ;received=192.0.2.222 1964 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1965 ;received=192.0.2.201 1966 From: LittleGuy ;tag=314159 1967 To: BigGuy ;tag=9fxced76sl 1968 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1969 CSeq: 1 BYE 1970 Content-Length: 0 1972 F23 200 OK Proxy 2 -> User B 1974 SIP/2.0 200 OK 1975 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 1976 SIP Basic Call Flow Examples October 2002 1978 ;received=192.0.2.201 1979 From: LittleGuy ;tag=314159 1980 To: BigGuy ;tag=9fxced76sl 1981 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com 1982 CSeq: 1 BYE 1983 Content-Length: 0 1984 SIP Basic Call Flow Examples October 2002 1986 3.5 Session Through a SIP ALG 1988 User A ALG Proxy 2 User B 1989 | | | | 1990 | INVITE F1 | | | 1991 |--------------->| INVITE F2 | | 1992 | 100 F3 |--------------->| INVITE F4 | 1993 |<---------------| 100 F5 |--------------->| 1994 | |<---------------| 180 F6 | 1995 | | 180 F7 |<---------------| 1996 | 180 F8 |<---------------| | 1997 |<---------------| | 200 F9 | 1998 | | 200 F10 |<---------------| 1999 | 200 F11 |<---------------| | 2000 |<---------------| | 2001 | ACK F12 | | 2002 |--------------->| ACK F13 | 2003 | |-------------------------------->| 2004 | RTP Media | Both Way RTP Media | 2005 |<==============>|<===============================>| 2006 | BYE F14 | | 2007 |--------------->| BYE F15 | 2008 | |-------------------------------->| 2009 | | 200 F16 | 2010 | 200 F17 |<--------------------------------| 2011 |<---------------| | 2012 | | | 2014 User A completes a call to User B through a ALG (Application Layer 2015 Gateway) and a SIP Proxy. The routing through the ALG is 2016 accomplished using a pre-loaded Route header in the INVITE F1. Note 2017 that the media stream setup is not end-to-end - the ALG terminates 2018 both media streams and bridges them. This is done by the ALG 2019 modifying the SDP in the INVITE (F1) and 200 OK (F10) messages, and 2020 possibly any 18x or ACK messages containing SDP. 2022 In addition to firewall traversal, this Back-to-Back User Agent 2023 (B2BUA) could be used as part of an anonymizer 2024 service (in which all identifying information on User A would be 2025 removed), or to perform codec media conversion, such as mu-law to A- 2026 law conversion of PCM on an international call. 2028 Also note that Proxy 2 does not Record-Route in this call flow. 2030 Message Details 2031 SIP Basic Call Flow Examples October 2002 2033 F1 INVITE A -> SIP ALG 2035 INVITE sip:UserB@biloxi.com SIP/2.0 2036 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2037 Max-Forwards: 70 2038 From: BigGuy ;tag=9fxced76sl 2039 To: LittleGuy 2040 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2041 CSeq: 1 INVITE 2042 Contact: 2043 Route: 2044 Proxy-Authorization: Digest username="UserA", realm="biloxi.com", 2045 nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", 2046 uri="sip:UserB@biloxi.com", 2047 response="b3f392f9218a328b9294076d708e6815" 2048 Content-Type: application/sdp 2049 Content-Length: 143 2051 v=0 2052 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2053 s=- 2054 c=IN IP4 192.0.2.101 2055 t=0 0 2056 m=audio 49172 RTP/AVP 0 2057 a=rtpmap:0 PCMU/8000 2059 /* Client for A prepares to receive data on port 49172 from the 2060 network. */ 2062 F2 INVITE SIP ALG -> Proxy 2 2064 INVITE sip:UserB@biloxi.com SIP/2.0 2065 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2066 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2067 ;received=192.0.2.101 2068 Max-Forwards: 69 2069 Record-Route: 2070 From: BigGuy ;tag=9fxced76sl 2071 To: LittleGuy 2072 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2073 CSeq: 1 INVITE 2074 Contact: 2075 Proxy-Authorization: Digest username="UserA", realm="biloxi.com", 2076 nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", 2077 uri="sip:UserB@biloxi.com", 2078 response="b3f392f9218a328b9294076d708e6815" 2079 Content-Type: application/sdp 2080 Content-Length: 142 2081 SIP Basic Call Flow Examples October 2002 2083 v=0 2084 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2085 s=- 2086 c=IN IP4 192.0.2.128 2087 t=0 0 2088 m=audio 2000 RTP/AVP 0 2089 a=rtpmap:0 PCMU/8000 2091 F3 100 Trying SIP ALG -> A 2093 SIP/2.0 100 Trying 2094 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2095 ;received=192.0.2.101 2096 From: BigGuy ;tag=9fxced76sl 2097 To: LittleGuy 2098 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2099 CSeq: 1 INVITE 2100 Content-Length: 0 2102 /* SIP ALG prepares to proxy data from port 192.0.2.128/2000 to 2103 192.0.2.101/49172. Proxy 2 uses a Location Service function to 2104 determine where B is located. Based upon location analysis the call 2105 is forwarded to User B */ 2107 F4 INVITE Proxy 2 -> B 2109 INVITE sip:UserB@client.biloxi.com SIP/2.0 2110 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 2111 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2112 ;received=192.0.2.128 2113 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2114 ;received=192.0.2.101 2115 Max-Forwards: 68 2116 Record-Route: 2117 From: BigGuy ;tag=9fxced76sl 2118 To: LittleGuy 2119 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2120 CSeq: 1 INVITE 2121 Contact: 2122 Content-Type: application/sdp 2123 Content-Length: 142 2125 v=0 2126 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2127 s=- 2128 c=IN IP4 192.0.2.128 2129 SIP Basic Call Flow Examples October 2002 2131 t=0 0 2132 m=audio 2000 RTP/AVP 0 2133 a=rtpmap:0 PCMU/8000 2135 F5 100 Trying Proxy 2 -> SIP ALG 2137 SIP/2.0 100 Trying 2138 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2139 ;received=192.0.2.128 2140 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2141 ;received=192.0.2.101 2142 From: BigGuy ;tag=9fxced76sl 2143 To: LittleGuy 2144 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2145 CSeq: 1 INVITE 2146 Content-Length: 0 2148 F6 180 Ringing B -> Proxy 2 2150 SIP/2.0 180 Ringing 2151 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 2152 ;received=192.0.2.222 2153 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2154 ;received=192.0.2.128 2155 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2156 ;received=192.0.2.101 2157 Record-Route: 2158 From: BigGuy ;tag=9fxced76sl 2159 To: LittleGuy ;tag=314159 2160 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2161 CSeq: 1 INVITE 2162 Contact: 2163 Content-Length: 0 2165 F7 180 Ringing Proxy 2 -> SIP ALG 2167 SIP/2.0 180 Ringing 2168 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2169 ;received=192.0.2.128 2170 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2171 ;received=192.0.2.101 2172 Record-Route: 2173 From: BigGuy ;tag=9fxced76sl 2174 To: LittleGuy ;tag=314159 2175 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2176 CSeq: 1 INVITE 2177 SIP Basic Call Flow Examples October 2002 2179 Contact: 2180 Content-Length: 0 2182 F8 180 Ringing SIP ALG -> A 2184 SIP/2.0 180 Ringing 2185 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2186 ;received=192.0.2.101 2187 Record-Route: 2188 From: BigGuy ;tag=9fxced76sl 2189 To: LittleGuy ;tag=314159 2190 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2191 CSeq: 1 INVITE 2192 Contact: 2193 Content-Length: 0 2195 F9 200 OK B -> Proxy 2 2197 SIP/2.0 200 OK 2198 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 2199 ;received=192.0.2.222 2200 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2201 ;received=192.0.2.128 2202 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2203 ;received=192.0.2.101 2204 Record-Route: 2205 From: BigGuy ;tag=9fxced76sl 2206 To: LittleGuy ;tag=314159 2207 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2208 CSeq: 1 INVITE 2209 Contact: 2210 Content-Type: application/sdp 2211 Content-Length: 141 2213 v=0 2214 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 2215 s=- 2216 c=IN IP4 192.0.2.201 2217 t=0 0 2218 m=audio 3456 RTP/AVP 0 2219 a=rtpmap:0 PCMU/8000 2221 F10 200 OK Proxy 2 -> SIP ALG 2223 SIP/2.0 200 OK 2224 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2225 SIP Basic Call Flow Examples October 2002 2227 ;received=192.0.2.128 2228 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2229 ;received=192.0.2.101 2230 Record-Route: 2231 From: BigGuy ;tag=9fxced76sl 2232 To: LittleGuy ;tag=314159 2233 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2234 CSeq: 1 INVITE 2235 Contact: 2236 Content-Type: application/sdp 2237 Content-Length: 141 2239 v=0 2240 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 2241 s=- 2242 c=IN IP4 192.0.2.201 2243 t=0 0 2244 m=audio 3456 RTP/AVP 0 2245 a=rtpmap:0 PCMU/8000 2247 F11 200 OK SIP ALG -> A 2249 SIP/2.0 200 OK 2250 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2251 ;received=192.0.2.101 2252 Record-Route: 2253 From: BigGuy ;tag=9fxced76sl 2254 To: LittleGuy ;tag=314159 2255 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2256 CSeq: 1 INVITE 2257 Contact: 2258 Content-Type: application/sdp 2259 Content-Length: 141 2261 v=0 2262 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 2263 s=- 2264 c=IN IP4 192.0.2.128 2265 t=0 0 2266 m=audio 1734 RTP/AVP 0 2267 a=rtpmap:0 PCMU/8000 2269 /* The ALG prepares to proxy packets from 192.0.2.128/ 2270 1734 to 192.0.2.201/3456 */ 2272 F12 ACK A -> SIP ALG 2273 SIP Basic Call Flow Examples October 2002 2275 ACK sip:UserB@client.biloxi.com SIP/2.0 2276 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bhh 2277 Max-Forwards: 70 2278 Route: 2279 From: BigGuy ;tag=9fxced76sl 2280 To: LittleGuy ;tag=314159 2281 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2282 CSeq: 1 ACK 2283 Content-Length: 0 2285 F13 ACK SIP ALG -> B 2287 ACK sip:UserB@client.biloxi.com SIP/2.0 2288 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2289 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bhh 2290 ;received=192.0.2.101 2291 Max-Forwards: 69 2292 From: BigGuy ;tag=9fxced76sl 2293 To: LittleGuy ;tag=314159 2294 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2295 CSeq: 1 ACK 2296 Content-Length: 0 2298 /* RTP streams are established between A and the ALG and 2299 between the ALG and B*/ 2301 /* User A Hangs Up with User B. */ 2303 F14 BYE A -> SIP ALG 2305 BYE sip:UserB@client.biloxi.com SIP/2.0 2306 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74be5 2307 Max-Forwards: 70 2308 Route: 2309 From: BigGuy ;tag=9fxced76sl 2310 To: LittleGuy ;tag=314159 2311 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2312 CSeq: 2 BYE 2313 Content-Length: 0 2315 F15 BYE SIP ALG -> B 2317 BYE sip:UserB@client.biloxi.com SIP/2.0 2318 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2319 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74be5 2320 ;received=192.0.2.101 2321 SIP Basic Call Flow Examples October 2002 2323 Max-Forwards: 69 2324 From: BigGuy ;tag=9fxced76sl 2325 To: LittleGuy ;tag=314159 2326 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2327 CSeq: 2 BYE 2328 Content-Length: 0 2330 F16 200 OK B -> SIP ALG 2332 SIP/2.0 200 OK 2333 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 2334 ;received=192.0.2.128 2335 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74be5 2336 ;received=192.0.2.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 2343 F17 200 OK SIP ALG -> A 2345 SIP/2.0 200 OK 2346 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74be5 2347 ;received=192.0.2.101 2348 From: BigGuy ;tag=9fxced76sl 2349 To: LittleGuy ;tag=314159 2350 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2351 CSeq: 2 BYE 2352 Content-Length: 0 2353 SIP Basic Call Flow Examples October 2002 2355 3.6 Session via Redirect and Proxy Servers with SDP in ACK 2357 User A Redirect Server Proxy 3 User B 2358 | | | | 2359 | INVITE F1 | | | 2360 |--------------->| | | 2361 | 302 F2 | | | 2362 |<---------------| | | 2363 | ACK F3 | | | 2364 |--------------->| | | 2365 | INVITE F4 | | 2366 |-------------------------------->| INVITE F5 | 2367 | 100 F6 |--------------->| 2368 |<--------------------------------| 180 F7 | 2369 | 180 F8 |<---------------| 2370 |<--------------------------------| | 2371 | | 200 F9 | 2372 | 200 F10 |<---------------| 2373 |<--------------------------------| | 2374 | ACK F11 | | 2375 |-------------------------------->| ACK F12 | 2376 | |--------------->| 2377 | Both Way RTP Media | 2378 |<================================================>| 2379 | | BYE F13 | 2380 | BYE F14 |<---------------| 2381 |<--------------------------------| | 2382 | 200 F15 | | 2383 |-------------------------------->| 200 F16 | 2384 | |--------------->| 2385 | | | 2387 In this scenario, User A places a call to User B using first a 2388 Redirect server then a Proxy Server. The INVITE message is first 2389 sent to the Redirect Server. The Server returns a 302 Moved 2390 Temporarily response (F2) containing a Contact header with User B's 2391 current SIP address. User A then generates a new INVITE and sends to 2392 User B via the Proxy Server and the call proceeds normally. In this 2393 example, no SDP is present in the INVITE, so the SDP is carried in 2394 the ACK message. 2396 The call is terminated when User B sends a BYE message. 2398 Message Details 2400 F1 INVITE A -> Redirect Server 2401 SIP Basic Call Flow Examples October 2002 2403 INVITE sip:UserB@biloxi.com SIP/2.0 2404 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44 2405 Max-Forwards: 70 2406 From: BigGuy ;tag=9fxced76sl 2407 To: LittleGuy 2408 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2409 CSeq: 1 INVITE 2410 Contact: 2411 Content-Length: 0 2413 F2 302 Moved Temporarily Redirect Proxy -> A 2415 SIP/2.0 302 Moved Temporarily 2416 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44 2417 ;received=192.0.2.101 2418 From: BigGuy ;tag=9fxced76sl 2419 To: LittleGuy ;tag=53fHlqlQ2 2420 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2421 CSeq: 1 INVITE 2422 Contact: 2423 Content-Length: 0 2425 F3 ACK A -> Redirect Server 2427 ACK sip:UserB@biloxi.com SIP/2.0 2428 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44 2429 Max-Forwards: 70 2430 From: BigGuy ;tag=9fxced76sl 2431 To: LittleGuy ;tag=53fHlqlQ2 2432 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2433 CSeq: 1 ACK 2434 Content-Length: 0 2436 F4 INVITE A -> Proxy 3 2438 INVITE sip:UserB@chicago.com SIP/2.0 2439 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 2440 Max-Forwards: 70 2441 From: BigGuy ;tag=9fxced76sl 2442 To: LittleGuy 2443 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2444 CSeq: 2 INVITE 2445 Contact: 2446 Content-Length: 0 2447 SIP Basic Call Flow Examples October 2002 2449 F5 INVITE Proxy 3 -> B 2451 INVITE sip:UserB@client.chicago.com SIP/2.0 2452 Via: SIP/2.0/TCP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 2453 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 2454 ;received=192.0.2.101 2455 Max-Forwards: 69 2456 Record-Route: 2457 From: BigGuy ;tag=9fxced76sl 2458 To: LittleGuy 2459 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2460 CSeq: 2 INVITE 2461 Contact: 2462 Content-Length: 0 2464 F6 100 Trying Proxy 3 -> A 2466 SIP/2.0 100 Trying 2467 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 2468 ;received=192.0.2.101 2469 From: BigGuy ;tag=9fxced76sl 2470 To: LittleGuy 2471 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2472 CSeq: 2 INVITE 2473 Content-Length: 0 2475 F7 180 Ringing B -> Proxy 3 2477 SIP/2.0 180 Ringing 2478 Via: SIP/2.0/TCP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 2479 ;received=192.0.2.233 2480 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 2481 ;received=192.0.2.101 2482 Record-Route: 2483 From: BigGuy ;tag=9fxced76sl 2484 To: LittleGuy ;tag=314159 2485 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2486 CSeq: 2 INVITE 2487 Contact: 2488 Content-Length: 0 2490 F8 180 Ringing Proxy 3 -> A 2492 SIP/2.0 180 Ringing 2493 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 2494 SIP Basic Call Flow Examples October 2002 2496 ;received=192.0.2.101 2497 Record-Route: 2498 From: BigGuy ;tag=9fxced76sl 2499 To: LittleGuy ;tag=314159 2500 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2501 CSeq: 2 INVITE 2502 Contact: 2503 Content-Length: 0 2505 F9 200 OK B -> Proxy 3 2507 SIP/2.0 200 OK 2508 Via: SIP/2.0/TCP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 2509 ;received=192.0.2.233 2510 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 2511 ;received=192.0.2.101 2512 Record-Route: 2513 From: BigGuy ;tag=9fxced76sl 2514 To: LittleGuy ;tag=314159 2515 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2516 CSeq: 2 INVITE 2517 Contact: 2518 Content-Type: application/sdp 2519 Content-Length: 142 2521 v=0 2522 o=UserB 2890844527 2890844527 IN IP4 client.chicago.com 2523 s=- 2524 c=IN IP4 192.0.2.100 2525 t=0 0 2526 m=audio 3456 RTP/AVP 0 2527 a=rtpmap:0 PCMU/8000 2529 F10 200 OK Proxy -> A 2531 SIP/2.0 200 OK 2532 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 2533 ;received=192.0.2.101 2534 Record-Route: 2535 From: BigGuy ;tag=9fxced76sl 2536 To: LittleGuy ;tag=314159 2537 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2538 CSeq: 2 INVITE 2539 Contact: 2540 Content-Type: application/sdp 2541 Content-Length: 142 2542 SIP Basic Call Flow Examples October 2002 2544 v=0 2545 o=UserB 2890844527 2890844527 IN IP4 client.chicago.com 2546 s=- 2547 c=IN IP4 192.0.2.100 2548 t=0 0 2549 m=audio 3456 RTP/AVP 0 2550 a=rtpmap:0 PCMU/8000 2552 /* ACK contains SDP of A since none present in INVITE */ 2554 F11 ACK A -> Proxy 3 2556 ACK sip:UserB@client.chicago.com SIP/2.0 2557 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bq9 2558 Max-Forwards: 70 2559 Route: 2560 From: BigGuy ;tag=9fxced76sl 2561 To: LittleGuy ;tag=314159 2562 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2563 CSeq: 2 ACK 2564 Content-Type: application/sdp 2565 Content-Length: 143 2567 v=0 2568 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2569 s=- 2570 c=IN IP4 192.0.2.101 2571 t=0 0 2572 m=audio 49172 RTP/AVP 0 2573 a=rtpmap:0 PCMU/8000 2575 F12 ACK Proxy 3 -> B 2577 ACK sip:UserB@client.chicago.com SIP/2.0 2578 Via: SIP/2.0/TCP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 2579 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bq9 2580 ;received=192.0.2.101 2581 Max-Forwards: 69 2582 From: BigGuy ;tag=9fxced76sl 2583 To: LittleGuy ;tag=314159 2584 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2585 CSeq: 2 ACK 2586 Content-Type: application/sdp 2587 Content-Length: 143 2589 v=0 2590 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2591 SIP Basic Call Flow Examples October 2002 2593 s=- 2594 c=IN IP4 192.0.2.101 2595 t=0 0 2596 m=audio 49172 RTP/AVP 0 2597 a=rtpmap:0 PCMU/8000 2599 /* RTP streams are established between A and B*/ 2601 /* User B Hangs Up with User A. */ 2603 F13 BYE B -> Proxy 3 2605 BYE sip:UserA@client.atlanta.com SIP/2.0 2606 Via: SIP/2.0/TCP client.chicago.com:5060;branch=z9hG4bKfgaw2 2607 Max-Forwards: 70 2608 Route: 2609 From: LittleGuy ;tag=314159 2610 To: BigGuy ;tag=9fxced76sl 2611 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2612 CSeq: 1 BYE 2613 Content-Length: 0 2615 F14 BYE Proxy 3 -> A 2617 BYE sip:UserA@client.atlanta.com SIP/2.0 2618 Via: SIP/2.0/TCP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 2619 ;received=192.0.2.100 2620 Via: SIP/2.0/TCP client.chicago.com:5060;branch=z9hG4bKfgaw2 2621 Max-Forwards: 69 2622 From: LittleGuy ;tag=314159 2623 To: BigGuy ;tag=9fxced76sl 2624 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2625 CSeq: 1 BYE 2626 Content-Length: 0 2628 F15 200 OK A -> Proxy 3 2630 SIP/2.0 200 OK 2631 Via: SIP/2.0/TCP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 2632 ;received=192.0.2.233 2633 Via: SIP/2.0/TCP client.chicago.com:5060;branch=z9hG4bKfgaw2 2634 ;received=192.0.2.100 2635 From: LittleGuy ;tag=314159 2636 To: BigGuy ;tag=9fxced76sl 2637 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2638 CSeq: 1 BYE 2639 Content-Length: 0 2640 SIP Basic Call Flow Examples October 2002 2642 F16 200 OK Proxy 3 -> B 2644 SIP/2.0 200 OK 2645 Via: SIP/2.0/TCP client.chicago.com:5060;branch=z9hG4bKfgaw2 2646 ;received=192.0.2.100 2647 From: LittleGuy ;tag=314159 2648 To: BigGuy ;tag=9fxced76sl 2649 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2650 CSeq: 1 BYE 2651 Content-Length: 0 2652 SIP Basic Call Flow Examples October 2002 2654 3.7 Session with re-INVITE (IP Address Change) 2656 User A Proxy 2 User B 2657 | F1 INVITE | | 2658 |------------------->| F2 INVITE | 2659 | F3 100 Trying |------------------->| 2660 |<-------------------| F4 180 Ringing | 2661 | F5 180 Ringing |<-------------------| 2662 |<-------------------| | 2663 | | F6 200 OK | 2664 | F7 200 OK |<-------------------| 2665 |<-------------------| | 2666 | F8 ACK | 2667 |---------------------------------------->| 2668 | Both Way RTP Media Established | 2669 |<=======================================>| 2670 | | 2671 | B changes IP address | 2672 | | 2673 | F9 INVITE | 2674 |<----------------------------------------| 2675 | F10 200 OK | 2676 |---------------------------------------->| 2677 | F11 ACK | 2678 |<----------------------------------------| 2679 | New RTP Media Stream | 2680 |<=======================================>| 2681 | F12 BYE | 2682 |---------------------------------------->| 2683 | F25 200 OK | 2684 |<----------------------------------------| 2685 | | 2687 This example shows a session in which the media is changes midway 2688 through the session. When User B�s IP address changes during the 2689 session, User B sends a re-INVITE containing a new Contact and SDP 2690 (version number incremented) information to A. In this flow, the 2691 proxy does not Record-Route so is not in the SIP messaging path after 2692 the initial exchange. 2694 Message Details 2696 F1 INVITE A -> Proxy 2 2698 INVITE sip:UserB@biloxi.com SIP/2.0 2699 SIP Basic Call Flow Examples October 2002 2701 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2702 Max-Forwards: 70 2703 From: BigGuy ;tag=9fxced76sl 2704 To: LittleGuy 2705 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2706 CSeq: 1 INVITE 2707 Contact: 2708 Content-Type: application/sdp 2709 Content-Length: 143 2711 v=0 2712 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2713 s=- 2714 c=IN IP4 192.0.2.101 2715 t=0 0 2716 m=audio 49172 RTP/AVP 0 2717 a=rtpmap:0 PCMU/8000 2719 F2 INVITE Proxy 2 -> B 2721 INVITE sip:UserB@client.biloxi.com SIP/2.0 2722 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 2723 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2724 ;received=192.0.2.101 2725 Max-Forwards: 69 2726 From: BigGuy ;tag=9fxced76sl 2727 To: LittleGuy 2728 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2729 CSeq: 1 INVITE 2730 Contact: 2731 Content-Type: application/sdp 2732 Content-Length: 143 2734 v=0 2735 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2736 s=- 2737 c=IN IP4 192.0.2.101 2738 t=0 0 2739 m=audio 49172 RTP/AVP 0 2740 a=rtpmap:0 PCMU/8000 2742 F3 100 Trying Proxy 2 -> A 2744 SIP/2.0 100 Trying 2745 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2746 ;received=192.0.2.101 2747 From: BigGuy ;tag=9fxced76sl 2748 SIP Basic Call Flow Examples October 2002 2750 To: LittleGuy 2751 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2752 CSeq: 1 INVITE 2753 Content-Length: 0 2755 F4 180 Ringing B -> Proxy 2 2757 SIP/2.0 180 Ringing 2758 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 2759 ;received=192.0.2.222 2760 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2761 ;received=192.0.2.101 2762 From: BigGuy ;tag=9fxced76sl 2763 To: LittleGuy ;tag=314159 2764 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2765 CSeq: 1 INVITE 2766 Contact: 2767 Content-Length: 0 2769 F5 180 Ringing Proxy 2 -> A 2771 SIP/2.0 180 Ringing 2772 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2773 ;received=192.0.2.101 2774 From: BigGuy ;tag=9fxced76sl 2775 To: LittleGuy ;tag=314159 2776 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2777 CSeq: 1 INVITE 2778 Contact: 2779 Content-Length: 0 2781 F6 200 OK B -> Proxy 2 2783 SIP/2.0 200 OK 2784 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 2785 ;received=192.0.2.222 2786 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2787 ;received=192.0.2.101 2788 From: BigGuy ;tag=9fxced76sl 2789 To: LittleGuy ;tag=314159 2790 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2791 CSeq: 1 INVITE 2792 Contact: 2793 Content-Type: application/sdp 2794 Content-Length: 141 2795 SIP Basic Call Flow Examples October 2002 2797 v=0 2798 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 2799 s=- 2800 c=IN IP4 192.0.2.201 2801 t=0 0 2802 m=audio 3456 RTP/AVP 0 2803 a=rtpmap:0 PCMU/8000 2805 F7 200 OK Proxy 2 -> A 2807 SIP/2.0 200 OK 2808 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2809 ;received=192.0.2.101 2810 From: BigGuy ;tag=9fxced76sl 2811 To: LittleGuy ;tag=314159 2812 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2813 CSeq: 1 INVITE 2814 Contact: 2815 Content-Type: application/sdp 2816 Content-Length: 141 2818 v=0 2819 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com 2820 s=- 2821 c=IN IP4 192.0.2.201 2822 t=0 0 2823 m=audio 3456 RTP/AVP 0 2824 a=rtpmap:0 PCMU/8000 2826 F8 ACK A -> B 2828 ACK sip:UserB@client.biloxi.com SIP/2.0 2829 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b7b 2830 Max-Forwards: 70 2831 From: BigGuy ;tag=9fxced76sl 2832 To: LittleGuy ;tag=314159 2833 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2834 CSeq: 1 ACK 2835 Content-Length: 0 2837 /* RTP streams are established between A and B */ 2839 /* B changes IP address and re-INVITEs A with new Contact and SDP */ 2841 F9 INVITE B -> A 2842 SIP Basic Call Flow Examples October 2002 2844 INVITE sip:UserA@client.atlanta.com SIP/2.0 2845 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKlkld5l 2846 Max-Forwards: 70 2847 From: LittleGuy ;tag=314159 2848 To: BigGuy ;tag=9fxced76sl 2849 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2850 CSeq: 14 INVITE 2851 Contact: 2852 Content-Type: application/sdp 2853 Content-Length: 143 2855 v=0 2856 o=UserB 2890844527 2890844528 IN IP4 client.chicago.com 2857 s=- 2858 c=IN IP4 192.0.2.100 2859 t=0 0 2860 m=audio 47172 RTP/AVP 0 2861 a=rtpmap:0 PCMU/8000 2863 F10 200 OK A ->B 2865 SIP/2.0 200 OK 2866 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKlkld5l 2867 ;received=192.0.2.100 2868 Max-Forwards: 70 2869 From: LittleGuy ;tag=314159 2870 To: BigGuy ;tag=9fxced76sl 2871 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2872 CSeq: 14 INVITE 2873 Contact: 2874 Content-Type: application/sdp 2875 Content-Length: 143 2877 v=0 2878 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2879 s=- 2880 c=IN IP4 192.0.2.101 2881 t=0 0 2882 m=audio 1000 RTP/AVP 0 2883 a=rtpmap:0 PCMU/8000 2885 F11 ACK B -> A 2887 ACK sip:UserA@client.atlanta.com SIP/2.0 2888 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKlkldcc 2889 Max-Forwards: 70 2890 From: LittleGuy ;tag=314159 2891 SIP Basic Call Flow Examples October 2002 2893 To: BigGuy ;tag=9fxced76sl 2894 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2895 CSeq: 14 ACK 2896 Content-Length: 0 2898 /* New RTP stream established between A and B */ 2900 /* A hangs up with B */ 2902 F12 BYE A -> B 2904 BYE sip:UserB@client.chicago.com SIP/2.0 2905 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bo4 2906 Max-Forwards: 70 2907 From: BigGuy ;tag=9fxced76sl 2908 To: LittleGuy ;tag=314159 2909 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2910 CSeq: 2 BYE 2911 Content-Length: 0 2913 F13 200 OK B -> A 2915 SIP/2.0 200 OK 2916 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bo4 2917 ;received=192.0.2.101 2918 Max-Forwards: 70 2919 From: BigGuy ;tag=9fxced76sl 2920 To: LittleGuy ;tag=314159 2921 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2922 CSeq: 2 BYE 2923 Content-Length: 0 2924 SIP Basic Call Flow Examples October 2002 2926 3.8 Unsuccessful No Answer 2928 User A Proxy 1 Proxy 2 User B 2929 | | | | 2930 | INVITE F1 | | | 2931 |--------------->| INVITE F2 | | 2932 | 100 F3 |--------------->| INVITE F4 | 2933 |<---------------| 100 F5 |--------------->| 2934 | |<---------------| | 2935 | | | 180 F6 | 2936 | | 180 F7 |<---------------| 2937 | 180 F8 |<---------------| | 2938 |<---------------| | | 2939 | | | | 2940 | CANCEL F9 | | | 2941 |--------------->| | | 2942 | 200 F10 | | | 2943 |<---------------| CANCEL F11 | | 2944 | |--------------->| | 2945 | | 200 F12 | | 2946 | |<---------------| | 2947 | | | CANCEL F13 | 2948 | | |--------------->| 2949 | | | 200 F14 | 2950 | | |<---------------| 2951 | | | 487 F15 | 2952 | | |<---------------| 2953 | | | ACK F16 | 2954 | | 487 F17 |--------------->| 2955 | |<---------------| | 2956 | | ACK F18 | | 2957 | 487 F19 |--------------->| | 2958 |<---------------| | | 2959 | ACK F20 | | | 2960 |--------------->| | | 2961 | | | | 2963 In this scenario, User A gives up on the call before User B answers 2964 (sends a 200 OK response). User A sends a CANCEL (F9) since no final 2965 response had been received from User B. If a 200 OK to the INVITE 2966 had crossed with the CANCEL, User A would have sent an ACK then a BYE 2967 to User B in order to properly terminate the call. 2969 Note that the CANCEL message is acknowledged with a 200 OK on a hop 2970 by hop basis, rather than end to end. 2972 SIP Basic Call Flow Examples October 2002 2974 Message Details 2976 F1 INVITE A -> Proxy 1 2978 INVITE sip:UserB@biloxi.com SIP/2.0 2979 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 2980 Max-Forwards: 70 2981 Route: 2982 From: BigGuy ;tag=9fxced76sl 2983 To: LittleGuy 2984 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 2985 CSeq: 1 INVITE 2986 Contact: 2987 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 2988 nonce="ze7k1ee88df84f1cec431ae6cbe5a359", opaque="", 2989 uri="sip:UserB@biloxi.com", 2990 response="b00b416324679d7e243f55708d44be7b" 2991 Content-Type: application/sdp 2992 Content-Length: 143 2994 v=0 2995 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 2996 s=- 2997 c=IN IP4 192.0.2.101 2998 t=0 0 2999 m=audio 49172 RTP/AVP 0 3000 a=rtpmap:0 PCMU/8000 3002 /*Client for A prepares to receive data on port 49172 from the 3003 network.*/ 3005 F2 INVITE Proxy 1 -> Proxy 2 3007 INVITE sip:UserB@biloxi.com SIP/2.0 3008 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3009 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3010 ;received=192.0.2.101 3011 Max-Forwards: 69 3012 Record-Route: 3013 From: BigGuy ;tag=9fxced76sl 3014 To: LittleGuy 3015 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3016 CSeq: 1 INVITE 3017 Contact: 3018 Content-Type: application/sdp 3019 Content-Length: 143 3020 SIP Basic Call Flow Examples October 2002 3022 v=0 3023 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3024 s=- 3025 c=IN IP4 192.0.2.101 3026 t=0 0 3027 m=audio 49172 RTP/AVP 0 3028 a=rtpmap:0 PCMU/8000 3030 F3 100 Trying Proxy 1 -> A 3032 SIP/2.0 100 Trying 3033 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3034 ;received=192.0.2.101 3035 From: BigGuy ;tag=9fxced76sl 3036 To: LittleGuy 3037 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3038 CSeq: 1 INVITE 3039 Content-Length: 0 3041 F4 INVITE Proxy 2 -> B 3043 INVITE sip:UserB@client.biloxi.com SIP/2.0 3044 Via: SIP/2.0/UDP ss2.client.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3045 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3046 ;received=192.0.2.111 3047 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3048 ;received=192.0.2.101 3049 Record-Route: , 3050 Max-Forwards: 68 3051 From: BigGuy ;tag=9fxced76sl 3052 To: LittleGuy 3053 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3054 CSeq: 1 INVITE 3055 Contact: 3056 Content-Type: application/sdp 3057 Content-Length: 143 3059 v=0 3060 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3061 s=- 3062 c=IN IP4 192.0.2.101 3063 t=0 0 3064 m=audio 49172 RTP/AVP 0 3065 a=rtpmap:0 PCMU/8000 3066 SIP Basic Call Flow Examples October 2002 3068 F5 100 Trying Proxy 2 -> Proxy 1 3070 SIP/2.0 100 Trying 3071 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3072 ;received=192.0.2.111 3073 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3074 ;received=192.0.2.101 3075 From: BigGuy ;tag=9fxced76sl 3076 To: LittleGuy 3077 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3078 CSeq: 1 INVITE 3079 Content-Length: 0 3081 F6 180 Ringing B -> Proxy 2 3083 SIP/2.0 180 Ringing 3084 Via: SIP/2.0/UDP ss2.client.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3085 ;received=192.0.2.222 3086 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3087 ;received=192.0.2.111 3088 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3089 ;received=192.0.2.101 3090 Record-Route: , 3091 From: BigGuy ;tag=9fxced76sl 3092 To: LittleGuy ;tag=314159 3093 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3094 CSeq: 1 INVITE 3095 Contact: 3096 Content-Length: 0 3098 F7 180 Ringing Proxy 2 -> Proxy 1 3100 SIP/2.0 180 Ringing 3101 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3102 ;received=192.0.2.111 3103 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3104 ;received=192.0.2.101 3105 Record-Route: , 3106 From: BigGuy ;tag=9fxced76sl 3107 To: LittleGuy ;tag=314159 3108 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3109 CSeq: 1 INVITE 3110 Contact: 3111 Content-Length: 0 3113 F8 180 Ringing Proxy 1 -> A 3114 SIP Basic Call Flow Examples October 2002 3116 SIP/2.0 180 Ringing 3117 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3118 ;received=192.0.2.101 3119 Record-Route: , 3120 From: BigGuy ;tag=9fxced76sl 3121 To: LittleGuy ;tag=314159 3122 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3123 CSeq: 1 INVITE 3124 Contact: 3125 Content-Length: 0 3127 F9 CANCEL A -> Proxy 1 3129 CANCEL sip:UserB@biloxi.com SIP/2.0 3130 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3131 Max-Forwards: 70 3132 From: BigGuy ;tag=9fxced76sl 3133 To: LittleGuy 3134 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3135 CSeq: 1 CANCEL 3136 Content-Length: 0 3138 F10 200 OK Proxy 1 -> A 3140 SIP/2.0 200 OK 3141 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3142 ;received=192.0.2.101 3143 From: BigGuy ;tag=9fxced76sl 3144 To: LittleGuy 3145 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3146 CSeq: 1 CANCEL 3147 Content-Length: 0 3149 F11 CANCEL Proxy 1 -> Proxy 2 3151 CANCEL sip:UserA@atlanta.com SIP/2.0 3152 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3153 Max-Forwards: 70 3154 From: BigGuy ;tag=9fxced76sl 3155 To: LittleGuy 3156 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3157 CSeq: 1 CANCEL 3158 Content-Length: 0 3159 SIP Basic Call Flow Examples October 2002 3161 F12 200 OK Proxy 2 -> Proxy 1 3163 SIP/2.0 200 OK 3164 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3165 ;received=192.0.2.111 3166 From: BigGuy ;tag=9fxced76sl 3167 To: LittleGuy 3168 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3169 CSeq: 1 CANCEL 3170 Content-Length: 0 3172 F13 CANCEL Proxy 2 -> B 3174 CANCEL sip:UserB@client.biloxi.com SIP/2.0 3175 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3176 Max-Forwards: 70 3177 From: BigGuy ;tag=9fxced76sl 3178 To: LittleGuy 3179 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3180 CSeq: 1 CANCEL 3181 Content-Length: 0 3183 F14 200 OK B -> Proxy 2 3185 SIP/2.0 200 OK 3186 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3187 ;received=192.0.2.222 3188 From: BigGuy ;tag=9fxced76sl 3189 To: LittleGuy 3190 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3191 CSeq: 1 CANCEL 3192 Content-Length: 0 3194 F15 487 Request Terminated B -> Proxy 2 3196 SIP/2.0 487 Request Terminated 3197 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3198 ;received=192.0.2.222 3199 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3200 ;received=192.0.2.111 3201 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3202 ;received=192.0.2.101 3203 From: BigGuy ;tag=9fxced76sl 3204 To: LittleGuy ;tag=314159 3205 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3206 CSeq: 1 INVITE 3207 SIP Basic Call Flow Examples October 2002 3209 Content-Length: 0 3211 F16 ACK Proxy 2 -> B 3213 ACK sip:UserB@client.biloxi.com SIP/2.0 3214 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3215 Max-Forwards: 70 3216 From: BigGuy ;tag=9fxced76sl 3217 To: LittleGuy ;tag=314159 3218 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3219 CSeq: 1 ACK 3220 Content-Length: 0 3222 F17 487 Request Terminated Proxy 2 -> Proxy 1 3224 SIP/2.0 487 Request Terminated 3225 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3226 ;received=192.0.2.111 3227 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3228 ;received=192.0.2.101 3229 From: BigGuy ;tag=9fxced76sl 3230 To: LittleGuy ;tag=314159 3231 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3232 CSeq: 1 INVITE 3233 Content-Length: 0 3235 F18 ACK Proxy 1 -> Proxy 2 3237 ACK sip:UserB@biloxi.com SIP/2.0 3238 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3239 Max-Forwards: 70 3240 From: BigGuy ;tag=9fxced76sl 3241 To: LittleGuy ;tag=314159 3242 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3243 CSeq: 1 ACK 3244 Content-Length: 0 3246 F19 487 Request Terminated Proxy 1 -> A 3248 SIP/2.0 487 Request Terminated 3249 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3250 ;received=192.0.2.101 3251 From: BigGuy ;tag=9fxced76sl 3252 To: LittleGuy ;tag=314159 3253 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3254 SIP Basic Call Flow Examples October 2002 3256 CSeq: 1 INVITE 3258 F20 ACK A -> Proxy 1 3260 ACK sip:UserB@biloxi.com SIP/2.0 3261 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3262 Max-Forwards: 70 3263 From: BigGuy ;tag=9fxced76sl 3264 To: LittleGuy ;tag=314159 3265 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3266 CSeq: 1 ACK 3267 Content-Length: 0 3268 SIP Basic Call Flow Examples October 2002 3270 3.9 Unsuccessful Busy 3272 User A Proxy 1 Proxy 2 User B 3273 | | | | 3274 | INVITE F1 | | | 3275 |--------------->| INVITE F2 | | 3276 | 100 F3 |--------------->| INVITE F4 | 3277 |<---------------| 100 F5 |--------------->| 3278 | |<---------------| | 3279 | | | 486 F6 | 3280 | | |<---------------| 3281 | | | ACK F7 | 3282 | | 486 F8 |--------------->| 3283 | |<---------------| | 3284 | | ACK F9 | | 3285 | 486 F10 |--------------->| | 3286 |<---------------| | | 3287 | ACK F11 | | | 3288 |--------------->| | | 3289 | | | | 3291 In this scenario, User B is busy and sends a 486 Busy Here response 3292 to User A's INVITE. Note that the non-2xx response is acknowledged 3293 on a hop-by-hop basis instead of end-to-end. Also note that many SIP 3294 UAs will not return a 486 response, as they have multiple line and 3295 other features. 3297 Message Details 3299 F1 INVITE User A -> Proxy 1 3301 INVITE sip:UserB@biloxi.com SIP/2.0 3302 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 3303 Max-Forwards: 70 3304 Route: 3305 From: BigGuy ;tag=9fxced76sl 3306 To: LittleGuy 3307 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3308 CSeq: 1 INVITE 3309 Contact: 3310 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 3311 nonce="dc3a5ab2530aa93112cf5904ba7d88fa", opaque="", 3312 uri="sip:UserB@biloxi.com", 3313 response="702138b27d869ac8741e10ec643d55be" 3314 Content-Type: application/sdp 3315 Content-Length: 143 3316 SIP Basic Call Flow Examples October 2002 3318 v=0 3319 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3320 s=- 3321 c=IN IP4 192.0.2.101 3322 t=0 0 3323 m=audio 49172 RTP/AVP 0 3324 a=rtpmap:0 PCMU/8000 3326 /*Client for A prepares to receive data on port 49172 from the 3327 network.*/ 3329 F2 INVITE Proxy 1 -> Proxy 2 3331 INVITE sip:UserB@biloxi.com SIP/2.0 3332 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3333 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 3334 ;received=192.0.2.101 3335 Max-Forwards: 69 3336 Record-Route: 3337 From: BigGuy ;tag=9fxced76sl 3338 To: LittleGuy 3339 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3340 CSeq: 1 INVITE 3341 Contact: 3342 Content-Type: application/sdp 3343 Content-Length: 143 3345 v=0 3346 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3347 s=- 3348 c=IN IP4 192.0.2.101 3349 t=0 0 3350 m=audio 49172 RTP/AVP 0 3351 a=rtpmap:0 PCMU/8000 3353 F3 100 Trying Proxy 1 -> User A 3355 SIP/2.0 100 Trying 3356 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 3357 ;received=192.0.2.101 3358 From: BigGuy ;tag=9fxced76sl 3359 To: LittleGuy 3360 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3361 CSeq: 1 INVITE 3362 Content-Length: 0 3363 SIP Basic Call Flow Examples October 2002 3365 F4 INVITE Proxy 2 -> User B 3367 INVITE sip:UserB@client.biloxi.com SIP/2.0 3368 Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3369 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3370 ;received=192.0.2.111 3371 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 3372 ;received=192.0.2.101 3373 Max-Forwards: 68 3374 Record-Route: , 3375 From: BigGuy ;tag=9fxced76sl 3376 To: LittleGuy 3377 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3378 CSeq: 1 INVITE 3379 Contact: 3380 Content-Type: application/sdp 3381 Content-Length: 143 3383 v=0 3384 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3385 s=- 3386 c=IN IP4 192.0.2.101 3387 t=0 0 3388 m=audio 49172 RTP/AVP 0 3389 a=rtpmap:0 PCMU/8000 3391 F5 100 Trying Proxy 2 -> Proxy 1 3393 SIP/2.0 100 Trying 3394 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3395 ;received=192.0.2.111 3396 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 3397 ;received=192.0.2.101 3398 From: BigGuy ;tag=9fxced76sl 3399 To: LittleGuy 3400 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3401 CSeq: 1 INVITE 3402 Content-Length: 0 3404 F6 486 Busy Here User B -> Proxy 2 3406 SIP/2.0 486 Busy Here 3407 Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3408 ;received=192.0.2.222 3409 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3410 ;received=192.0.2.111 3411 SIP Basic Call Flow Examples October 2002 3413 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 3414 ;received=192.0.2.101 3415 From: BigGuy ;tag=9fxced76sl 3416 To: LittleGuy ;tag=314159 3417 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3418 CSeq: 1 INVITE 3419 Content-Length: 0 3421 F7 ACK Proxy 2 -> User B 3423 ACK sip:UserB@client.biloxi.com SIP/2.0 3424 Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3425 Max-Forwards: 70 3426 From: BigGuy ;tag=9fxced76sl 3427 To: LittleGuy ;tag=314159 3428 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3429 CSeq: 1 ACK 3430 Content-Length: 0 3432 F8 486 Busy Here Proxy 2 -> Proxy 1 3434 SIP/2.0 486 Busy Here 3435 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3436 ;received=192.0.2.111 3437 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 3438 ;received=192.0.2.101 3439 From: BigGuy ;tag=9fxced76sl 3440 To: LittleGuy ;tag=314159 3441 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3442 CSeq: 1 INVITE 3443 Content-Length: 0 3445 F9 ACK Proxy 1 -> Proxy 2 3447 ACK sip:UserB@biloxi.com SIP/2.0 3448 Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3449 Max-Forwards: 70 3450 From: BigGuy ;tag=9fxced76sl 3451 To: LittleGuy ;tag=314159 3452 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3453 CSeq: 1 ACK 3454 Content-Length: 0 3456 F10 486 Busy Here Proxy 1 -> User A 3457 SIP Basic Call Flow Examples October 2002 3459 SIP/2.0 486 Busy Here 3460 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 3461 ;received=192.0.2.101 3462 From: BigGuy ;tag=9fxced76sl 3463 To: LittleGuy ;tag=314159 3464 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3465 CSeq: 1 INVITE 3466 Content-Length: 0 3468 F11 ACK User A -> Proxy 1 3470 ACK sip:UserB@biloxi.com SIP/2.0 3471 Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 3472 Max-Forwards: 70 3473 From: BigGuy ;tag=9fxced76sl 3474 To: LittleGuy ;tag=314159 3475 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3476 CSeq: 1 ACK 3477 Content-Length: 0 3478 SIP Basic Call Flow Examples October 2002 3480 3.10 Unsuccessful No Response from User Agent 3482 User A Proxy 1 Proxy 2 User B 3483 | | | | 3484 | INVITE F1 | | | 3485 |--------------->| INVITE F2 | | 3486 | 100 F3 |--------------->| INVITE F4 | 3487 |<---------------| 100 F5 |--------------->| 3488 | |<---------------| INVITE F6 | 3489 | | |--------------->| 3490 | | | INVITE F7 | 3491 | | |--------------->| 3492 | | | INVITE F8 | 3493 | | |--------------->| 3494 | | | INVITE F9 | 3495 | | |--------------->| 3496 | | | INVITE F10 | 3497 | | |--------------->| 3498 | | | INVITE F11 | 3499 | | 480 F12 |--------------->| 3500 | |<---------------| | 3501 | | ACK F13 | | 3502 | 480 F14 |--------------->| | 3503 |<---------------| | | 3504 | ACK F15 | | | 3505 |--------------->| | | 3506 | | | | 3508 In this example, there is no response from User B to User A's INVITE 3509 messages being re-transmitted by Proxy 2. After the sixth re- 3510 transmission, Proxy 2 gives up and sends a 480 No Response to User A. 3512 Message Details 3514 F1 INVITE User A -> Proxy 1 3516 INVITE sip:UserB@biloxi.com SIP/2.0 3517 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3518 Max-Forwards: 70 3519 Route: 3520 From: BigGuy ;tag=9fxced76sl 3521 To: LittleGuy 3522 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3523 CSeq: 1 INVITE 3524 Contact: 3525 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 3526 nonce="cf5904ba7d8dc3a5ab2530aa931128fa", opaque="", 3527 SIP Basic Call Flow Examples October 2002 3529 uri="sip:UserB@biloxi.com", 3530 response="7afc04be7961f053c24f80e7dbaf888f" 3531 Content-Type: application/sdp 3532 Content-Length: 143 3534 v=0 3535 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3536 s=- 3537 c=IN IP4 192.0.2.101 3538 t=0 0 3539 m=audio 49172 RTP/AVP 0 3540 a=rtpmap:0 PCMU/8000 3542 /*Client for A prepares to receive data on port 49172 from the 3543 network.*/ 3545 F2 INVITE Proxy 1 -> Proxy 2 3547 INVITE sip:UserB@biloxi.com SIP/2.0 3548 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3549 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3550 ;received=192.0.2.101 3551 Max-Forwards: 69 3552 Record-Route: 3553 From: BigGuy ;tag=9fxced76sl 3554 To: LittleGuy 3555 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3556 CSeq: 1 INVITE 3557 Contact: 3558 Content-Type: application/sdp 3559 Content-Length: 143 3561 v=0 3562 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3563 s=- 3564 c=IN IP4 192.0.2.101 3565 t=0 0 3566 m=audio 49172 RTP/AVP 0 3567 a=rtpmap:0 PCMU/8000 3569 F3 100 Trying Proxy 1 -> User A 3571 SIP/2.0 100 Trying 3572 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3573 ;received=192.0.2.101 3574 From: BigGuy ;tag=9fxced76sl 3575 To: LittleGuy 3576 SIP Basic Call Flow Examples October 2002 3578 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3579 CSeq: 1 INVITE 3580 Content-Length: 0 3582 F4 INVITE Proxy 2 -> User B 3584 INVITE sip:UserB@client.biloxi.com SIP/2.0 3585 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3586 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3587 ;received=192.0.2.111 3588 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3589 ;received=192.0.2.101 3590 Max-Forwards: 68 3591 Record-Route: , 3592 From: BigGuy ;tag=9fxced76sl 3593 To: LittleGuy 3594 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3595 CSeq: 1 INVITE 3596 Contact: 3597 Content-Type: application/sdp 3598 Content-Length: 143 3600 v=0 3601 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3602 s=- 3603 c=IN IP4 192.0.2.101 3604 t=0 0 3605 m=audio 49172 RTP/AVP 0 3606 a=rtpmap:0 PCMU/8000 3608 F5 100 Trying Proxy 2 -> Proxy 1 3610 SIP/2.0 100 Trying 3611 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3612 ;received=192.0.2.111 3613 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3614 ;received=192.0.2.101 3615 From: BigGuy ;tag=9fxced76sl 3616 To: LittleGuy 3617 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3618 CSeq: 1 INVITE 3619 Content-Length: 0 3621 F6 INVITE Proxy 2 -> User B 3623 Resend of Message F4 3624 SIP Basic Call Flow Examples October 2002 3626 F7 INVITE Proxy 2 -> User B 3628 Resend of Message F4 3630 F8 INVITE Proxy 2 -> User B 3632 Resend of Message F4 3634 F9 INVITE Proxy 2 -> User B 3636 Resend of Message F4 3638 F10 INVITE Proxy 2 -> User B 3640 Resend of Message F4 3642 F11 INVITE Proxy 2 -> User B 3644 Resend of Message F4 3646 /* Proxy 2 gives up */ 3648 F12 480 No Response Proxy 2 -> Proxy 1 3650 SIP/2.0 480 No Response 3651 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3652 ;received=192.0.2.111 3653 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3654 ;received=192.0.2.101 3655 From: BigGuy ;tag=9fxced76sl 3656 To: LittleGuy ;tag=314159 3657 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3658 CSeq: 1 INVITE 3659 Content-Length: 0 3661 F13 ACK Proxy 1 -> Proxy 2 3663 ACK sip:UserB@biloxi.com SIP/2.0 3664 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3665 Max-Forwards: 70 3666 From: BigGuy ;tag=9fxced76sl 3667 SIP Basic Call Flow Examples October 2002 3669 To: LittleGuy ;tag=314159 3670 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3671 CSeq: 1 ACK 3672 Content-Length: 0 3674 F14 480 No Response Proxy 1 -> User A 3676 SIP/2.0 480 No Response 3677 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3678 ;received=192.0.2.101 3679 From: BigGuy ;tag=9fxced76sl 3680 To: LittleGuy ;tag=314159 3681 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3682 CSeq: 1 INVITE 3683 Content-Length: 0 3685 F15 ACK User A -> Proxy 1 3687 ACK sip:UserB@biloxi.com SIP/2.0 3688 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3689 Max-Forwards: 70 3690 From: BigGuy ;tag=9fxced76sl 3691 To: LittleGuy ;tag=314159 3692 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3693 CSeq: 1 ACK 3694 Content-Length: 0 3695 SIP Basic Call Flow Examples October 2002 3697 3.11 Unsuccessful Temporarily Unavailable 3699 User A Proxy 1 Proxy 2 User B 3700 | | | | 3701 | INVITE F1 | | | 3702 |--------------->| INVITE F2 | | 3703 | 100 F3 |--------------->| INVITE F4 | 3704 |<---------------| 100 F5 |--------------->| 3705 | |<---------------| 180 F6 | 3706 | | 180 F7 |<---------------| 3707 | 180 F8 |<---------------| | 3708 |<---------------| | 480 F9 | 3709 | | |<---------------| 3710 | | | ACK F10 | 3711 | | 480 F11 |--------------->| 3712 | |<---------------| | 3713 | | ACK F12 | | 3714 | 480 F13 |--------------->| | 3715 |<---------------| | | 3716 | ACK F14 | | | 3717 |--------------->| | | 3718 | | | | 3720 In this scenario, User B initially sends a 180 Ringing response to 3721 User A, indicating that alerting is taking place. However, then a 3722 480 Unavailable is then sent to User A. This response is 3723 acknowledged then proxied back to User A. 3725 Message Details 3727 F1 INVITE A -> Proxy 1 3729 INVITE sip:UserB@biloxi.com SIP/2.0 3730 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3731 Max-Forwards: 70 3732 Route: 3733 From: BigGuy ;tag=9fxced76sl 3734 To: LittleGuy 3735 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3736 CSeq: 1 INVITE 3737 Contact: 3738 Proxy-Authorization: Digest username="UserA", realm="atlanta.com", 3739 nonce="aa9311cf5904ba7d8dc3a5ab253028fa", opaque="", 3740 uri="sip:UserB@biloxi.com", 3741 response="59a46a91bf1646562a4d486c84b399db" 3742 Content-Type: application/sdp 3743 SIP Basic Call Flow Examples October 2002 3745 Content-Length: 143 3747 v=0 3748 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3749 s=- 3750 c=IN IP4 192.0.2.101 3751 t=0 0 3752 m=audio 49172 RTP/AVP 0 3753 a=rtpmap:0 PCMU/8000 3755 /*Client for A prepares to receive data on port 49172 from the 3756 network.*/ 3758 F2 INVITE Proxy 1 -> Proxy 2 3760 INVITE sip:UserB@biloxi.com SIP/2.0 3761 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3762 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3763 ;received=192.0.2.101 3764 Max-Forwards: 69 3765 Record-Route: 3766 From: BigGuy ;tag=9fxced76sl 3767 To: LittleGuy 3768 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3769 CSeq: 1 INVITE 3770 Contact: 3771 Content-Type: application/sdp 3772 Content-Length: 143 3774 v=0 3775 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3776 s=- 3777 c=IN IP4 192.0.2.101 3778 t=0 0 3779 m=audio 49172 RTP/AVP 0 3780 a=rtpmap:0 PCMU/8000 3782 F3 100 Trying Proxy 1 -> A 3784 SIP/2.0 100 Trying 3785 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3786 ;received=192.0.2.101 3787 From: BigGuy ;tag=9fxced76sl 3788 To: LittleGuy 3789 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3790 CSeq: 1 INVITE 3791 Content-Length: 0 3792 SIP Basic Call Flow Examples October 2002 3794 F4 INVITE Proxy 2 -> B 3796 INVITE sip:UserB@client.biloxi.com SIP/2.0 3797 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3798 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3799 ;received=192.0.2.111 3800 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3801 ;received=192.0.2.101 3802 Max-Forwards: 68 3803 Record-Route: , 3804 From: BigGuy ;tag=9fxced76sl 3805 To: LittleGuy 3806 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3807 CSeq: 1 INVITE 3808 Contact: 3809 Content-Type: application/sdp 3810 Content-Length: 143 3812 v=0 3813 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com 3814 s=- 3815 c=IN IP4 192.0.2.101 3816 t=0 0 3817 m=audio 49172 RTP/AVP 0 3818 a=rtpmap:0 PCMU/8000 3820 F5 100 Trying Proxy 2 -> Proxy 1 3822 SIP/2.0 100 Trying 3823 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3824 ;received=192.0.2.111 3825 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3826 ;received=192.0.2.101 3827 From: BigGuy ;tag=9fxced76sl 3828 To: LittleGuy 3829 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3830 CSeq: 1 INVITE 3831 Content-Length: 0 3833 F6 180 Ringing B -> Proxy 2 3835 SIP/2.0 180 Ringing 3836 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3837 ;received=192.0.2.222 3838 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3839 SIP Basic Call Flow Examples October 2002 3841 ;received=192.0.2.111 3842 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3843 ;received=192.0.2.101 3844 Record-Route: , 3845 From: BigGuy ;tag=9fxced76sl 3846 To: LittleGuy ;tag=314159 3847 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3848 CSeq: 1 INVITE 3849 Contact: 3850 Content-Length: 0 3852 F7 180 Ringing Proxy 2 -> Proxy 1 3854 SIP/2.0 180 Ringing 3855 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3856 ;received=192.0.2.111 3857 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3858 ;received=192.0.2.101 3859 Record-Route: , 3860 From: BigGuy ;tag=9fxced76sl 3861 To: LittleGuy ;tag=314159 3862 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3863 CSeq: 1 INVITE 3864 Contact: 3865 Content-Length: 0 3867 F8 180 Ringing Proxy 1 -> A 3869 SIP/2.0 180 Ringing 3870 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3871 ;received=192.0.2.101 3872 Record-Route: , 3873 From: BigGuy ;tag=9fxced76sl 3874 To: LittleGuy ;tag=314159 3875 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3876 CSeq: 1 INVITE 3877 Contact: 3878 Content-Length: 0 3880 F9 480 Temporarily Unavailable B -> Proxy 2 3882 SIP/2.0 480 Temporarily Unavailable 3883 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3884 ;received=192.0.2.222 3885 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3886 ;received=192.0.2.111 3887 SIP Basic Call Flow Examples October 2002 3889 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3890 ;received=192.0.2.101 3891 From: BigGuy ;tag=9fxced76sl 3892 To: LittleGuy ;tag=314159 3893 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3894 CSeq: 1 INVITE 3895 Content-Length: 0 3897 F10 ACK Proxy 2 -> B 3899 ACK sip:UserB@client.biloxi.com SIP/2.0 3900 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 3901 Max-Forwards: 70 3902 From: BigGuy ;tag=9fxced76sl 3903 To: LittleGuy ;tag=314159 3904 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3905 CSeq: 1 ACK 3906 Content-Length: 0 3908 F11 480 Temporarily Unavailable Proxy 2 -> Proxy 1 3910 SIP/2.0 480 Temporarily Unavailable 3911 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3912 ;received=192.0.2.111 3913 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3914 ;received=192.0.2.101 3915 From: BigGuy ;tag=9fxced76sl 3916 To: LittleGuy ;tag=314159 3917 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3918 CSeq: 1 INVITE 3919 Content-Length: 0 3921 F12 ACK Proxy 1 -> Proxy 2 3923 ACK sip:UserB@biloxi.com SIP/2.0 3924 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 3925 Max-Forwards: 70 3926 From: BigGuy ;tag=9fxced76sl 3927 To: LittleGuy ;tag=314159 3928 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3929 CSeq: 1 ACK 3930 Content-Length: 0 3932 F13 480 Temporarily Unavailable Proxy 1 -> A 3933 SIP Basic Call Flow Examples October 2002 3935 SIP/2.0 480 Temporarily Unavailable 3936 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3937 ;received=192.0.2.101 3938 From: BigGuy ;tag=9fxced76sl 3939 To: LittleGuy ;tag=314159 3940 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3941 CSeq: 1 INVITE 3942 Content-Length: 0 3944 F14 ACK A -> Proxy 1 3946 ACK sip:UserB@biloxi.com SIP/2.0 3947 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 3948 Max-Forwards: 70 3949 From: BigGuy ;tag=9fxced76sl 3950 To: LittleGuy ;tag=314159 3951 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com 3952 CSeq: 1 ACK 3953 Content-Length: 0 3955 Security Considerations 3957 Since this document contains examples of SIP session establishment, 3958 the security considerations in RFC 3261 [2] apply. RFC 3261 3959 describes the basic threats including registration hijacking, server 3960 impersonation, message body tampering, session modifying or teardown, 3961 and denial of service and amplification attacks. The use of HTTP 3962 Digest as shown in this document provides one-way authentication and 3963 protection against replay attacks. TLS transport is used in 3964 registration scenarios due to the lack of integrity protection in 3965 HTTP Digest and the danger of registration hijacking without it, as 3966 described in RFC 3261 [2]. A full discussion of the weaknesses of 3967 HTTP Digest is provided in RFC 3261 [2]. The use of TLS and the 3968 Secure SIP (sips) URI scheme provides a better level of security 3969 including two-way authentication. IPsec can also improve security. 3970 S/MIME can provide end-to-end confidentiality and integrity 3971 protection of message bodies, as described in RFC 3261. 3973 References 3975 1 Bradner, S., "Key words for use in RFCs to Indicate Requirement 3976 Levels", BCP 14, RFC 2119, March 1997 3978 2 Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., 3979 Peterson, J., Sparks, R., Handley, M., and Schooler, E., "SIP: 3980 Session Initiation Protocol", RFC 3261, June 2002. 3982 SIP Basic Call Flow Examples October 2002 3984 3 Rosenberg, J. and Schulzrinne, H., "An Offer/Answer Model with 3985 SDP", Internet Engineering Task Force, RFC 3264, April 2002. 3987 4 Johnston, A., Donovan, S., Sparks, R., Cunningham, C., Summers, K., 3988 "Session Initiation Protocol PSTN Call Flows", RFC xxxx, August 3989 2002. 3991 5 Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach, 3992 P., Luotonen, A. and Stewart, L., "HTTP authentication: Basic and 3993 Digest Access Authentication", RFC 2617, June 1999. 3995 Acknowledgments 3997 This document is has been a group effort by the SIP and SIPPING WGs. 3998 The authors wish to thank everyone who has read, reviewed, commented, 3999 or made suggestions to improve this document. 4001 Thanks to Rohan Mahy, Adam Roach, Gonzalo Camarillo, Cullen Jennings, 4002 and Tom Taylor for their detailed comments during the final review. 4003 Thanks to Dean Willis for his early contributions to the development 4004 of this document. 4006 The authors wish to thank Neil Deason for his additions to the 4007 Torture Test messages and Kundan Singh for performing parser 4008 validation of messages. 4010 The authors wish to thank the following individuals for their 4011 participation in the review of this call flows document: Aseem 4012 Agarwal, Rafi Assadi, Ben Campbell, Sunitha Kumar, Jon Peterson, Marc 4013 Petit-Huguenin, Vidhi Rastogi, and Bodgey Yin Shaohua. 4015 The authors also wish to thank the following individuals for their 4016 assistance: Jean-Francois Mule, Hemant Agrawal, Henry Sinnreich, 4017 David Devanatham, Joe Pizzimenti, Matt Cannon, John Hearty, the whole 4018 MCI WorldCom IPOP Design team, Scott Orton, Greg Osterhout, Pat 4019 Sollee, Doug Weisenberg, Danny Mistry, Steve McKinnon, and Denise 4020 Ingram, Denise Caballero, Tom Redman, Ilya Slain, Pat Sollee, John 4021 Truetken, and others from MCI WorldCom, 3Com, Cisco, Lucent and 4022 Nortel. 4024 Author's Addresses 4025 SIP Basic Call Flow Examples October 2002 4027 All listed authors actively contributed large amounts of text to this 4028 document. 4030 Alan Johnston 4031 WorldCom 4032 100 South 4th Street 4033 St. Louis, MO 63102 4034 USA 4036 EMail: alan.johnston@wcom.com 4038 Steve Donovan 4039 dynamicsoft, Inc. 4040 5100 Tennyson Parkway 4041 Suite 1200 4042 Plano, Texas 75024 4043 USA 4045 EMail: sdonovan@dynamicsoft.com 4047 Robert Sparks 4048 dynamicsoft, Inc. 4049 5100 Tennyson Parkway 4050 Suite 1200 4051 Plano, Texas 75024 4052 USA 4054 EMail: rsparks@dynamicsoft.com 4056 Chris Cunningham 4057 dynamicsoft, Inc. 4058 5100 Tennyson Parkway 4059 Suite 1200 4060 Plano, Texas 75024 4061 USA 4063 EMail: ccunningham@dynamicsoft.com 4065 Kevin Summers 4066 Sonus 4067 1701 North Collins Blvd, Suite 3000 4068 Richardson, TX 75080 4069 USA 4071 Email: kevin.summers@sonusnet.com 4072 SIP Basic Call Flow Examples October 2002 4074 Copyright Notice 4076 "Copyright (C) The Internet Society 2002. All Rights Reserved. 4078 This document and translations of it may be copied and furnished to 4079 others, and derivative works that comment on or otherwise explain it 4080 or assist in its implementation may be prepared, copied, published 4081 and distributed, in whole or in part, without restriction of any 4082 kind, provided that the above copyright notice and this paragraph are 4083 included on all such copies and derivative works. However, this 4084 document itself may not be modified in any way, such as by removing 4085 the copyright notice or references to the Internet Society or other 4086 Internet organizations, except as needed for the purpose of 4087 developing Internet standards in which case the procedures for 4088 copyrights defined in the Internet Standards process must be 4089 followed, or as required to translate it into languages other than 4090 English. 4092 The limited permissions granted above are perpetual and will not be 4093 revoked by the Internet Society or its successors or assigns. 4095 This document and the information contained herein is provided on an 4096 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 4097 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 4098 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 4099 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 4100 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 4102 Acknowledgement 4104 Funding for the RFC Editor function is currently provided by the 4105 Internet Society.