idnits 2.17.1 draft-ietf-sip-call-flows-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == The page length should not exceed 58 lines per page, but there was 44 longer pages, the longest (page 5) being 77 lines == It seems as if not all pages are separated by form feeds - found 0 form feeds but 268 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. == There are 525 instances of lines with non-RFC2606-compliant FQDNs in the document. == There are 167 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. == There are 1 instance of lines with multicast IPv4 addresses in the document. If these are generic example addresses, they should be changed to use the 233.252.0.x range defined in RFC 5771 Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 247 has weird spacing: '...will be as fo...' == Line 263 has weird spacing: '...ionable strin...' == Line 10153 has weird spacing: '...s. The locat...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: '10' is mentioned on line 7464, but not defined == Unused Reference: '8' is defined on line 11262, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2543 (ref. '2') (Obsoleted by RFC 3261, RFC 3262, RFC 3263, RFC 3264, RFC 3265) ** Obsolete normative reference: RFC 2401 (ref. '4') (Obsoleted by RFC 4301) Summary: 9 errors (**), 0 flaws (~~), 11 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Internet Engineering Task Force Alan Johnston 2 Internet Draft Steve Donovan 3 Document: draft-ietf-sip-call-flows-00.txt Robert Sparks 4 Category: Informational Chris Cunningham 5 March 2000 Kevin Summers 6 Expires: September 2000 Dean Willis 7 MCI WorldCom 8 Jonathan Rosenberg 9 dynamicsoft 10 Henning Schulzrinne 11 Columbia University 13 SIP Telephony Call Flow Examples 15 Status of this Memo 17 This document is an Internet-Draft and is in full conformance with 18 all provisions of Section 10 of RFC2026[1]. 20 Internet-Drafts are working documents of the Internet Engineering 21 Task Force (IETF), its areas, and its working groups. Note that other 22 groups may also distribute working documents as Internet-Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six months 24 and may be updated, replaced, or obsoleted by other documents at any 25 time. It is inappropriate to use Internet- Drafts as reference 26 material or to cite them other than as "work in progress." 27 The list of current Internet-Drafts can be accessed at 28 http://www.ietf.org/ietf/1id-abstracts.txt 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 Abstract 34 This document gives examples of SIP (Session Initiation Protocol) 35 call flows for IP telephony and service examples. Elements in these 36 call flows include SIP User Agents and Clients, SIP Proxy and 37 Redirect Servers, and Gateways to the PSTN (Public Switch Telephone 38 Network). IP telephony scenarios include SIP Registration, SIP to 39 SIP calling, SIP to Gateway, Gateway to SIP, and Gateway to Gateway 40 via SIP. Call flow diagrams and message details are shown. PSTN 41 telephony protocols are illustrated using ISDN (Integrated Services 42 Digital Network), ANSI ISUP (ISDN User Part), and FGB (Feature Group 43 B) circuit associated signaling. PSTN calls are illustrated using 44 global telephone numbers from the PSTN and private extensions served 45 on by a PBX (Private Branch Exchange). Telephony service examples 46 illustrated with call flows include call hold, transfer, forwarding, 47 screening, and Find-Me. Example SIP messages used for testing during 48 SIP "bakeoff" events include SIP "torture test" messages, and 49 messages with invalid parameters, methods, and tags. 51 Table of Contents 53 1 Overview...................................................3 54 1.1 General Assumptions........................................4 55 1.2 Legend for Message Flows...................................6 56 1.3 SIP Protocol Assumptions...................................6 57 2 SIP Registration Services..................................8 58 2.1 Success Scenarios..........................................8 59 2.1.1 SIP Client New Registration................................8 60 2.1.2 User updates contact list.................................11 61 2.1.3 User Requests Current Contact List........................13 62 2.1.4 User Cancels Registration.................................15 63 2.2 Failure Scenarios.........................................17 64 2.2.1 Unsuccessful SIP registration.............................17 65 3 SIP to SIP Dialing........................................19 66 3.1 Success Scenarios.........................................19 67 3.1.1 Successful Simple SIP to SIP..............................20 68 3.1.2 Successful SIP to SIP through two proxies.................23 69 3.1.3 Successful SIP to SIP with Proxy failure..................32 70 3.1.4 Successful SIP to SIP through SIP Firewall Proxy..........40 71 3.1.5 Successful SIP to SIP via Redirect and Proxy..............48 72 3.2 Failure Scenarios.........................................55 73 3.2.1 Unsuccessful SIP to SIP no answer.........................55 74 3.2.2 Unsuccessful SIP to SIP busy..............................60 75 3.2.3 Unsuccessful SIP to SIP no response.......................64 76 3.2.4 Unsuccessful SIP to SIP Temporarily Unavailable...........69 77 4 SIP to Gateway Dialing....................................75 78 4.1 Success Scenarios.........................................75 79 4.1.1 Successful SIP to ISUP PSTN call..........................76 80 4.1.2 Successful SIP to ISDN PBX call...........................84 81 4.1.3 Successful SIP to ISUP PSTN call with overflow............95 82 4.2 Failure Scenarios........................................103 83 4.2.1 Unsuccessful SIP to PSTN call: Treatment from PSTN.......104 84 4.2.2 Unsuccessful SIP to PSTN: REL w/Cause from PSTN..........109 85 4.2.3 Unsuccessful SIP to PSTN: ANM Timeout....................113 86 5 Gateway to SIP Dialing...................................118 87 5.1 Success Scenarios........................................118 88 5.1.1 Successful PSTN to SIP call..............................119 89 5.1.2 Successful PSTN to SIP call, Fast Answer.................125 90 5.1.3 Successful PBX to SIP call...............................130 91 5.2 Failure Scenarios........................................136 92 5.2.1 Unsuccessful PSTN to SIP REL, SIP error mapped to REL....136 93 5.2.2 Unsuccessful PSTN to SIP REL, SIP busy mapped to REL.....138 94 5.2.3 Unsuccessful PSTN->SIP, SIP error interworking to tones..142 95 5.2.4 Unsuccessful PSTN->SIP, ACM timeout......................146 96 5.2.5 Unsuccessful PSTN->SIP, ACM timeout, stateless Proxy.....151 97 5.2.6 Unsuccessful PSTN->SIP, ANM timeout......................156 98 6 Gateway to Gateway Dialing via SIP Network...............161 99 6.1 Success Scenarios........................................161 100 6.1.1 Successful ISUP PSTN to ISUP PSTN call...................162 101 6.1.2 Successful FGB PBX to ISDN PBX call with overflow........170 102 7 IP Telephony Services Features Call Flows................179 103 7.1 Call Hold................................................179 104 7.2 Consultation Hold........................................190 105 7.3 Unattended Transfer......................................205 106 7.4 Attended Transfer........................................219 107 7.5 Call Forwarding Unconditional............................220 108 7.6 Call Forwarding - Busy...................................225 109 7.7 Call Forwarding - No Answer..............................231 110 7.8 3-way Conference.........................................238 111 7.9 Single Line Extension....................................238 112 7.10 Find-Me..................................................239 113 7.11 Call Management (Incoming Call Screening)................248 114 7.12 Call Management (Outgoing Call Screening)................251 115 8 SIP Test Messages........................................254 116 8.1 INVITE Parser Torture Test Message.......................254 117 8.2 INVITE with Proxy-Require and Require....................255 118 8.3 INVITE with Unknown Schemes in URIs and URLs.............255 119 8.4 REGISTER with Y2038 Test.................................256 120 8.5 INVITE with inconsistent Accept and message body.........256 121 8.6 INVITE with non-SDP message body.........................257 122 8.7 Unknown Method Message...................................257 123 8.8 Unknown Method with CSeq Error...........................258 124 8.9 REGISTER with Unknown Authorization Scheme...............258 125 8.10 INVITE with Invalid SIP Version Number...................259 126 8.11 INVITE missing Required Headers..........................260 127 8.12 INVITE with Duplicate Required Headers...................260 128 8.13 INVITE with Illegal Expires Header.......................261 129 8.14 200 OK Response with Broadcast Via Header................261 130 8.15 INVITE with Invalid Via and Contact Headers..............262 131 8.16 INVITE with Incorrect Content-Length Header..............263 132 8.17 INVITE with Invalid Value for Content-Length.............263 133 8.18 INVITE with Garbage after Message Body...................264 134 8.19 INVITE with Error in Display Name in To Header...........264 135 9 Acknowledgements.........................................265 136 10 References...............................................265 138 1 Overview 140 The call flows shown in this document were developed in the design of 141 a carrier-class SIP IP Telephony network. They represent an example 142 minimum set of functionality for SIP to be used in IP Telephony 143 applications. The message examples were developed during the SIP 144 interoperability testing "bake-offs." 146 It is the hope of the authors that this document will be useful for 147 SIP implementors, designers, and protocol researchers alike and will 148 help further the goal of a standard SIP implementation for IP 149 Telephony. It is envisioned that as changes to the standard and 150 additional RFCs are added that this document will reflect those 151 changes and represent the current state of a standard interoperable 152 SIP IP Telephony implementation. 154 These call flows are based on the current version 2.0 of SIP in 155 RFC2543[2]. Additions and changes to SIP necessary for PSTN 156 interworking are referenced as IETF Internet-Drafts as they are used 157 in the call flows. 159 Various PSTN signaling protocols are illustrated in this document: 160 ISDN (Integrated Services Digital Network), ANSI ISUP (ISDN User 161 Part) and FGB (Feature Group B) circuit associated signaling. They 162 were chosen to illustrate the nature of SIP/PSTN interworking - they 163 are not a complete or even representative set. Also, some details 164 and parameters of these PSTN protocols have been omitted. The intent 165 of this document was not to provide a complete and exact mapping of 166 PSTN protocols to SIP. Rather the emphasis is on the SIP signaling, 167 the message interaction, and the modifications to SIP currently 168 proposed to solve IP Telephony issues. 170 An example set of telephony features is also illustrated with call 171 flows. Finally, some example messages are given along with expected 172 behavior of clients and servers. 174 1.1 General Assumptions 176 A number of architecture, network, and protocol assumptions underlie 177 the call flows in this document. They are outlined in this section 178 so that they may be taken into consideration. Differences in these 179 assumptions will affect the nature of the call flows. 181 The authentication of SIP User Agents in these example call flows is 182 performed using SIP Digest[2]. 184 No authentication of Gateways is shown, since it is assumed that: 185 . Gateways will only accept calls routed through a trusted Proxy. 186 . Proxies will perform the Client authentication. 187 . The Proxy and the Gateway will authenticate each other using 188 IPSec[4]. 190 The SIP Proxy Server has access to a Location Manager and other 191 databases. Information present in the Request-URI and the context 192 (From header) is sufficient to determine to which proxy or gateway 193 the message should be routed. In most cases, a primary and secondary 194 route will be determined in case of Proxy or Gateway failure 195 downstream. 197 The Proxy Servers in these call flows insert Record-Route headers 199 into requests to ensure that they are in the signaling path for 200 future message exchanges. This allows them to implement features 201 later in the call. 203 Gateways receive enough information in the Request-URI field to 205 determine how to route a call, i.e. what trunk group or link to 206 select, what digits to outpulse, etc. 208 Gateways provide tones (ringing, busy, etc) and announcements to the 210 PSTN side based on SIP response messages, or pass along audio in-band 211 tones (ringing, busy tone, etc.) in an early media stream to the SIP 212 side. 214 Two types of Gateways are described in this document. The actual 216 names of Gateways will be vendor and implementation specific. 217 However, two catagories are described here since the type of Gateway 218 determines the form of the SIP URL used to identify them. The two 219 types are: 221 . Network Gateway. This high port count PSTN gateway originates 222 and terminates calls to the PSTN. Its use is shared by many 223 customers. Incoming calls from the PSTN have the From header 224 populated with a SIP URL containing the telephone number from 225 the calling party telephone number, if available. A Network 226 Gateway typically uses carrier protocols such as SS7. 228 . Enterprise Gateway. This low port count PBX (Private Branch 229 Exchange) gateway has trunks or lines for a single customer or 230 user. Incoming calls from the PBX have the From header 231 populated with a provisionable string which uniquely identifies 232 the customer, trunk group, or carrier. This allows private 233 numbers to be interpreted in their correct context. An 234 Enterprise Gateway typically uses SS7, ISDN, circuit associated 235 signaling, or other PBX interfaces. 237 The interactions between the Proxy and Gateway can be summarized as 239 follows: 241 . The SIP Proxy Server performs digit analysis and lookup and 242 locates the correct gateway. 244 . The SIP Proxy Server performs gateway location based on primary 245 and secondary routing. 247 Digit handling by the Gateways will be as follows: 249 . Dialed digits received from a Network or Enterprise Gateway will 250 be put in a SIP URL with a telephone number. The number will 251 either be globalized (e.g. sip:+1-314-555-1111@ngw.wcom.com 252 ;user=phone) or left as a private number (sip:555- 253 6666@gw.wcom.com;phone-context=p1234) which will require 254 interpretation based on From header. The "phone-context" 255 qualifier is used to interpret the private number. It is used 256 the same as the tag of the same name from the tel URL draft[5]. 257 All Gateways will need to be provisioned to be able to parse the 258 user portion of a Request-URI to determine the customer, trunk 259 group, or circuit referenced. 261 . The From header will be populated with a SIP URL with a 262 telephone number if it is Calling Party number (CgPN) from the 263 PSTN. If it is an Enterprise Gateway, a provisionable string 264 which uniquely identifies the customer, trunk group, or carrier 265 will be used in the sip URI (e.g. From: 266 sip:ProvisionableString@gw1.wcom.com;user=phone). 268 . Note that an alternative to using a SIP URL for telephone 269 numbers is the tel URL[5]. The major difference between using 270 the SIP URL and the tel URL is that the SIP URL is routable in a 271 SIP network (resolves down to an IP address) where the tel URL 272 is not (it just represents digits). For example, a SIP URL can 273 be used in a Contact header, but a tel URL can not. 275 These flows show UDP for transport. TCP could also be used. 277 Some of the Service Examples use SIP call control extensions[10]. 279 1.2 Legend for Message Flows 281 Dashed lines (---) represent control messages that are mandatory to 282 the call scenario. These control messages can be SIP or PSTN 283 signaling. 285 Double dashed lines (===) represent media paths between network 286 elements. 288 Messages with parenthesis around name represent optional control 289 messages. 291 Messages are identified in the Figures as F1, F2, etc. This 292 references the message details in the table that follows the Figure. 293 Comments in the message details are shown in the following form: 295 /* Comments. */ 297 1.3 SIP Protocol Assumptions 299 Except for the following, this call flows document uses the April 300 1999 version 2.0 of SIP defined by RFC2543[2]. The following 301 changes/extensions are assumed throughout: 303 . A Contact header is included with every INVITE message. 305 . A Contact header is included in every 200 OK Response. 307 . The 183 Session Progress response message[5] is used in SIP to 308 Gateway and Gateway to Gateway via SIP calling (Sections 4 and 309 6). The 183 response with SDP will cause the User Agent to 310 immediately play the SDP media stream to hear in-band call 311 progress information. See Section 4 for more information. 313 . A Content-Length header is present in every message, set to zero 314 if there is no message body. 316 . The final entry in a Route header is always the Contact 317 information obtained from the INVITE or 200 OK messages. 319 . In the SDP message bodies, the time field is "t=0 0" It is 320 expected that an actual SDP message body would have a non-zero 321 start timestamp. 323 2 SIP Registration Services 325 2.1 Success Scenarios 327 Registration either validates or invalidates a SIP client for user 328 services provided by the SIP proxy and/or SIP server. Additionally, 329 the client provides one or more contact locations to the SIP server 330 with the registration request. Registration is used by a Proxy to 331 route incoming calls in an IP Telephony network. All these call 332 flows assume that registration requires authentication, otherwise an 333 imposter could "hijack" someone else's calls. 335 2.1.1 336 SIP Client New Registration 338 User B SIP Server 339 | | 340 | REGISTER F1 | 341 |------------------------------>| 342 | | 343 | 401 Unauthorized F2 | 344 |<------------------------------| 345 | | 346 | REGISTER F3 | 347 |------------------------------>| 348 | | 349 | 200 OK F4 | 350 |<------------------------------| 351 | | 353 User B initiates a new SIP session with the SIP Server (i.e. the user 354 "logs on to" the SIP server). User B sends a SIP REGISTER request to 355 the SIP server. The request includes the user's contact list. The 356 SIP server provides a challenge to User B. User B enters her/his 357 valid user ID and password. User B's SIP client encrypts the user 358 information according to the challenge issued by the SIP server and 359 sends the response to the SIP server. The SIP server validates the 360 user's credentials. It registers the user in its contact database 361 and returns a response (200 OK) to User B's SIP client. The response 362 includes the user's current contact list in Contact headers. The 363 format of the authentication shown is SIP digest as described by 364 RFC2543[2]. 366 Message Details 368 F1 REGISTER B -> SIP Server 369 REGISTER sip:ss2.wcom.com SIP/2.0 370 Via: SIP/2.0/UDP there.com:5060 371 From: LittleGuy 372 To: LittleGuy 373 Call-ID: 123456789@here.com 374 CSeq: 1 REGISTER 375 Contact: LittleGuy 376 Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone 377 Contact: tel:+1-972-555-2222 378 Content-Length: 0 380 F2 401 Unauthorized SIP Server -> User B 382 SIP/2.0 401 Unauthorized 383 Via: SIP/2.0/UDP there.com:5060 384 From: LittleGuy 385 To: LittleGuy 386 Call-ID: 123456789@here.com 387 CSeq: 1 REGISTER 388 WWW-Authenticate: Digest realm="MCI WorldCom SIP", domain="wcom.com", 389 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", stale="FALSE", 390 algorithm="MD5" 391 Content-Length: 0 393 F3 REGISTER B -> SIP Server 395 REGISTER sip:ss2.wcom.com SIP/2.0 396 Via: SIP/2.0/UDP there.com:5060 397 From: LittleGuy 398 To: LittleGuy 399 Call-ID: 123456790@here.com 400 CSeq: 1 REGISTER 401 Contact: LittleGuy 402 Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone 403 Contact: tel:+1-972-555-2222 404 Authorization:Digest username="UserB", realm="MCI WorldCom SIP", 405 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", 406 uri="sip:ss2.wcom.com", response="dfe56131d1958046689cd83306477ecc" 407 Content-Length: 0 409 F4 200 OK SIP Server -> B 411 SIP/2.0 200 OK 412 Via: SIP/2.0/UDP there.com:5060 413 From: LittleGuy 414 To: LittleGuy 415 Call-ID: 1234567890@here.com 416 CSeq: 1 REGISTER 417 Contact: LittleGuy 418 Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone 419 Contact: tel:+1-972-555-2222 420 Content-Length: 0 422 2.1.2 423 User updates contact list 425 User B SIP Server 426 | | 427 | REGISTER F1 | 428 |------------------------------>| 429 | | 430 | 200 OK F2 | 431 |<------------------------------| 432 | | 434 User B wishes to update the list of addresses where the SIP server 435 will redirect or forward INVITE requests. 437 User B sends a SIP REGISTER request to the SIP server. User B's 438 request includes an updated contact list. Since the user already has 439 authenticated with the server, the user supplies authentication 440 credentials with the request and is not challenged by the server. 441 The SIP server validates the user's credentials. It registers the 442 user in its contact database, updates the user's contact list, and 443 returns a response (200 OK) to User B's SIP client. The response 444 includes the user's current contact list in Contact headers. 446 Message Details 448 F1 REGISTER B -> SIP Server 450 REGISTER sip:ss2.wcom.com SIP/2.0 451 Via: SIP/2.0/UDP there.com:5060 452 From: LittleGuy 453 To: LittleGuy 454 Call-ID: 123456791@here.com 455 CSeq: 1 REGISTER 456 Contact: mailto:UserB@there.com 457 Authorization:Digest username="UserB", realm="MCI WorldCom SIP", 458 nonce="1cec4341ae6cbe5a359ea9c8e88df84f", opaque="", 459 uri="sip:ss2.wcom.com", response="71ba27c64bd01de719686aa4590d5824" 460 Content-Length: 0 462 F2 200 OK SIP Server -> B 464 SIP/2.0 200 OK 465 Via: SIP/2.0/UDP there.com:5060 466 From: LittleGuy 467 To: LittleGuy 468 Call-ID: 1234567891@here.com 469 CSeq: 1 REGISTER 470 Contact: LittleGuy 471 Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone 472 Contact: tel:+1-972-555-2222 473 Contact: mailto:UserB@there.com 474 Content-Length: 0 476 2.1.3 477 User Requests Current Contact List 479 User B SIP Server 480 | | 481 | REGISTER F1 | 482 |------------------------------>| 483 | | 484 | 200 OK F2 | 485 |<------------------------------| 486 | | 488 User B sends a register request to the Proxy Server containing no 489 Contact headers, indicating the user wishes to query the server for 490 the user's current contact list. Since the user already has 491 authenticated with the server, the user supplies authentication 492 credentials with the request and is not challenged by the server. The 493 SIP server validates the user's credentials. It registers the user 494 in its contact database and returns a response (200 OK) to User B's 495 SIP client. The response includes the user's current contact list in 496 Contact headers. 498 Message Details 500 F1 REGISTER B -> SIP Server 502 REGISTER sip:ss2.wcom.com SIP/2.0 503 Via: SIP/2.0/UDP there.com:5060 504 From: LittleGuy 505 To: LittleGuy 506 Call-ID: 123456792@here.com 507 CSeq: 1 REGISTER 508 Authorization:Digest username="UserB", realm="MCI WorldCom SIP", 509 nonce="df84f1cec4341ae6cbe5ap359a9c8e88", opaque="", 510 uri="sip:ss2.wcom.com", response="aa7ab4678258377c6f7d4be6087e2f60" 511 Content-Length: 0 513 F2 200 OK SIP Server -> B 515 SIP/2.0 200 OK 516 Via: SIP/2.0/UDP there.com:5060 517 From: LittleGuy 518 To: LittleGuy 519 Call-ID: 1234567892@here.com 520 CSeq: 1 REGISTER 521 Contact: LittleGuy 522 Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone 523 Contact: tel:+1-972-555-2222 524 Contact: mailto:UserB@there.com 525 Content-Length: 0 527 2.1.4 528 User Cancels Registration 530 User B SIP Server 531 | | 532 | REGISTER F1 | 533 |------------------------------>| 534 | | 535 | 200 OK F2 | 536 |<------------------------------| 537 | | 539 User B wishes to cancel her/his registration with the SIP 540 registrar/redirect server. User B sends a SIP REGISTER request to the 541 SIP server. The request has an expiration period of 0 and applies to 542 all existing contact locations. Since the user already has 543 authenticated with the server, the user supplies authentication 544 credentials with the request and is not challenged by the server. 545 The SIP server validates the user's credentials. It clears the 546 user's contact list, and returns a response (200 OK) to User B's SIP 547 client. 549 Message Details 551 F1 REGISTER B -> SIP Server 553 REGISTER sip:ss2.wcom.com SIP/2.0 554 Via: SIP/2.0/UDP there.com:5060 555 From: LittleGuy 556 To: LittleGuy 557 Call-ID: 123456791@here.com 558 CSeq: 1 REGISTER 559 Expires: 0 560 Contact: * 561 Authorization:Digest username="UserB", realm="MCI WorldCom SIP", 562 nonce="88df84f1cac4341aea9c8ee6cbe5a359", opaque="", 563 uri="sip:ss2.wcom.com", response="ff0437c51696f9a76244f0cf1dbabbea" 564 Content-Length: 0 566 F2 200 OK SIP Server -> B 568 SIP/2.0 200 OK 569 Via: SIP/2.0/UDP there.com:5060 570 From: LittleGuy 571 To: LittleGuy 572 Call-ID: 1234567891@here.com 573 CSeq: 1 REGISTER 574 Content-Length: 0 576 2.2 Failure Scenarios 578 2.2.1 579 Unsuccessful SIP registration 581 User B SIP Server 582 | | 583 | REGISTER F1 | 584 |------------------------------>| 585 | | 586 | 401 Unauthorized F2 | 587 |<------------------------------| 588 | | 589 | REGISTER F3 | 590 |------------------------------>| 591 | | 592 | 401 Unauthorized F4 | 593 |<------------------------------| 594 | | 596 User B sends a SIP REGISTER request to the SIP Server. The SIP 597 server provides a challenge to User B. User B enters her/his user ID 598 and password. User B's SIP client encrypts the user information 599 according to the challenge issued by the SIP server and sends the 600 response to the SIP server. The SIP server attempts to validate the 601 user's credentials, but they are not valid (the user's password does 602 not match the password established for the user's account). The 603 server returns a response (401 Unauthorized) to User B's SIP client. 605 Message Details 607 F1 REGISTER B -> SIP Server 609 REGISTER sip:ss2.wcom.com SIP/2.0 610 Via: SIP/2.0/UDP there.com:5060 611 From: LittleGuy 612 To: LittleGuy 613 Call-ID: 123456789@here.com 614 CSeq: 1 REGISTER 615 Contact: LittleGuy 616 Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone 617 Contact: tel:+1-972-555-2222 618 Content-Length: 0 620 F2 Unauthorized SIP Server -> User B 621 SIP/2.0 401 Unauthorized 622 Via: SIP/2.0/UDP there.com:5060 623 From: LittleGuy 624 To: LittleGuy 625 Call-ID: 123456789@here.com 626 CSeq: 1 REGISTER 627 WWW-Authenticate: Digest realm="MCI WorldCom SIP", domain="wcom.com", 628 nonce="f1cec4341ae6ca9c8e88df84be55a359", opaque="", stale="FALSE", 629 algorithm="MD5" 630 Content-Length: 0 632 F3 REGISTER B -> SIP Server 634 REGISTER sip:ss2.wcom.com SIP/2.0 635 Via: SIP/2.0/UDP there.com:5060 636 From: LittleGuy 637 To: LittleGuy 638 Call-ID: 123456791@here.com 639 CSeq: 1 REGISTER 640 Contact: LittleGuy 641 Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone 642 Contact: tel:+1-972-555-2222 643 Authorization:Digest username="UserB", realm="MCI WorldCom SIP", 644 nonce="f1cec4341ae6ca9c8e88df84be55a359", opaque="", 645 uri="sip:ss2.wcom.com", response="61f8470ceb87d7ebf508220214ed438b" 646 Content-Length: 0 648 /* The response above encodes the incorrect password _IForgotIt_ */ 650 F4 401 Unauthorized SIP Server -> User B 652 SIP/2.0 401 Unauthorized 653 Via: SIP/2.0/UDP there.com:5060 654 From: LittleGuy 655 To: LittleGuy 656 Call-ID: 1234567891@here.com 657 CSeq: 1 REGISTER 658 WWW-Authenticate: Digest realm="MCI WorldCom SIP", domain="wcom.com", 659 nonce="84f1c1ae6cbe5ua9c8e88dfa3ecm3459", opaque="", stale="FALSE", 660 algorithm="MD5" 661 Content-Length: 0 663 3 SIP to SIP Dialing 665 3.1 Success Scenarios 667 This section details calls between two SIP User Agent Clients (UACs) 668 - User A and User B. User A (LittleGuy sip:UserA@here.com) and User 669 B (BigGuy sip:UserB@there.com) are assumed to be SIP phones or SIP- 670 enabled devices. Calls route using at least one SIP Proxy server. 671 The successful calls show the initial signaling, the exchange of 672 media information in the form of SDP payloads, the establishment of 673 the media session, then finally the termination of the call. 675 SIP digest authentication is used by the first Proxy Server to 676 authenticate the caller User A. It is assumed that User B has 677 registered with Proxy Server Proxy 2 as per Section 2.1 to be able to 678 receive the calls. 680 3.1.1 681 Successful Simple SIP to SIP 683 User A User B 684 | | 685 | INVITE F1 | 686 |----------------------->| 687 | (100 Trying) F2 | 688 |<-----------------------| 689 | 180 Ringing F3 | 690 |<-----------------------| 691 | | 692 | 200 OK F4 | 693 |<-----------------------| 694 | ACK F5 | 695 |----------------------->| 696 | Both Way RTP Media | 697 |<======================>| 698 | | 699 | BYE F6 | 700 |<-----------------------| 701 | 200 OK F7 | 702 |----------------------->| 703 | | 705 In this scenario, User A completes a call to User B directly. 707 Message Details 709 F1 INVITE A -> Proxy 1 711 INVITE sip:UserB@ss1.wcom.com SIP/2.0 712 Via: SIP/2.0/UDP here.com:5060 713 From: BigGuy 714 To: LittleGuy 715 Call-ID: 12345600@here.com 716 CSeq: 1 INVITE 717 Contact: BigGuy 718 Content-Type: application/sdp 719 Content-Length: 147 721 v=0 722 o=UserA 2890844526 2890844526 IN IP4 here.com 723 s=Session SDP 724 c=IN IP4 100.101.102.103 725 t=0 0 726 m=audio 49170 RTP/AVP 0 727 a=rtpmap:0 PCMU/8000 729 F2 (100 Trying) User B -> User A 731 SIP/2.0 100 Trying 732 Via: SIP/2.0/UDP here.com:5060 733 From: BigGuy 734 To: LittleGuy 735 Call-ID: 12345601@here.com 736 CSeq: 1 INVITE 737 Content-Length: 0 739 F3 180 Ringing User B -> User A 741 SIP/2.0 180 Ringing 742 Via: SIP/2.0/UDP here.com:5060 743 From: BigGuy 744 To: LittleGuy 745 Call-ID: 12345601@here.com 746 CSeq: 1 INVITE 747 Content-Length: 0 749 F4 200 OK User B -> User A 751 SIP/2.0 200 OK 752 Via: SIP/2.0/UDP here.com:5060 753 From: BigGuy 754 To: LittleGuy 755 Call-ID: 12345601@here.com 756 CSeq: 1 INVITE 757 Contact: LittleGuy 758 Content-Type: application/sdp 759 Content-Length: 134 761 v=0 762 o=UserB 2890844527 2890844527 IN IP4 there.com 763 s=Session SDP 764 c=IN IP4 110.111.112.113 765 t=0 0 766 m=audio 3456 RTP/AVP 0 767 a=rtpmap:0 PCMU/8000 769 F5 ACK User A -> User B 771 ACK sip:UserB@ss1.wcom.com SIP/2.0 772 Via: SIP/2.0/UDP here.com:5060 773 From: BigGuy 774 To: LittleGuy 775 Call-ID: 12345601@here.com 776 CSeq: 1 ACK 777 Content-Length: 0 779 /* RTP streams are established between A and B */ 781 /* User B Hangs Up with User A. */ 783 F6 BYE User B -> User A 785 BYE sip: UserA@ss2.wcom.com SIP/2.0 786 Via: SIP/2.0/UDP there.com:5060 787 From: LittleGuy 788 To: BigGuy 789 Call-ID: 12345601@here.com 790 CSeq: 1 BYE 791 Content-Length: 0 793 F7 200 OK User A -> User B 795 SIP/2.0 200 OK 796 Via: SIP/2.0/UDP there.com:5060 797 From: LittleGuy 798 To: BigGuy 799 Call-ID: 12345601@here.com 800 CSeq: 1 BYE 801 Content-Length: 0 803 3.1.2 804 Successful SIP to SIP through two proxies 806 User A Proxy 1 Proxy 2 User B 807 | | | | 808 | INVITE F1 | | | 809 |--------------->| | | 810 | 407 F2 | | | 811 |<---------------| | | 812 | ACK F3 | | | 813 |--------------->| | | 814 | INVITE F4 | | | 815 |--------------->| INVITE F5 | | 816 | (100) F6 |--------------->| INVITE F7 | 817 |<---------------| (100) F8 |--------------->| 818 | |<---------------| | 819 | | | 180 F9 | 820 | | 180 F10 |<---------------| 821 | 180 F11 |<---------------| | 822 |<---------------| | 200 F12 | 823 | | 200 F13 |<---------------| 824 | 200 F14 |<---------------| | 825 |<---------------| | | 826 | ACK F15 | | | 827 |--------------->| ACK F16 | | 828 | |--------------->| ACK F17 | 829 | | |--------------->| 830 | Both Way RTP Media | 831 |<================================================>| 832 | | | BYE F18 | 833 | | BYE F19 |<---------------| 834 | BYE F20 |<---------------| | 835 |<---------------| | | 836 | 200 F21 | | | 837 |--------------->| 200 F22 | | 838 | |--------------->| 200 F23 | 839 | | |--------------->| 840 | | | | 842 In this scenario, User A completes a call to User B using two proxies 843 Proxy 1 and Proxy 2. The initial INVITE (F1) does not contain the 844 Authorization credentials Proxy 1 requires, so a 407 Proxy 845 Authorization response is sent containing the challenge information. 846 A new INVITE (F4) is then sent containing the correct credentials and 847 the call proceeds. The call terminates when User B disconnects by 848 initiating a BYE message. 850 Proxy 1 inserts a Record-Route header into the INVITE message to 851 ensure that it is present in all subsequent message exchanges. Proxy 852 2 also inserts itself into the Record-Route header. The ACK (F15) 853 and BYE (F18) both have a Route header. 855 A tag is inserted by User B in message F9 since the initial INVITE 856 message contains more than one Via header and may have been forked. 858 Message Details 860 F1 INVITE A -> Proxy 1 862 INVITE sip:UserB@ss1.wcom.com SIP/2.0 863 Via: SIP/2.0/UDP here.com:5060 864 From: BigGuy 865 To: LittleGuy 866 Call-ID: 12345600@here.com 867 CSeq: 1 INVITE 868 Contact: BigGuy 869 Content-Type: application/sdp 870 Content-Length: 147 872 v=0 873 o=UserA 2890844526 2890844526 IN IP4 here.com 874 s=Session SDP 875 c=IN IP4 100.101.102.103 876 t=0 0 877 m=audio 49170 RTP/AVP 0 878 a=rtpmap:0 PCMU/8000 880 /* Proxy 1 challenges User A for authentication */ 882 F2 407 Proxy Authorization Required Proxy 1 -> User A 884 SIP/2.0 407 Proxy Authorization Required 885 Via: SIP/2.0/UDP here.com:5060 886 From: BigGuy 887 To: LittleGuy 888 Call-ID: 12345600@here.com 889 CSeq: 1 INVITE 890 Proxy-Authenticate: Digest realm="MCI WorldCom SIP", 891 domain="wcom.com", nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", 892 opaque="", stale="FALSE", algorithm="MD5" 893 Content-Length: 0 895 F3 ACK A -> Proxy 1 897 ACK sip:UserB@ss1.wcom.com SIP/2.0 898 Via: SIP/2.0/UDP here.com:5060 899 From: BigGuy 900 To: LittleGuy 901 Call-ID: 12345600@here.com 902 CSeq: 1 INVITE 903 Content-Length: 0 905 /* User A responds be re-sending the INVITE with authentication 906 credentials in it. */ 908 F4 INVITE A -> Proxy 1 910 INVITE sip:UserB@ss1.wcom.com SIP/2.0 911 Via: SIP/2.0/UDP here.com:5060 912 From: BigGuy 913 To: LittleGuy 914 Call-ID: 12345601@here.com 915 CSeq: 1 INVITE 916 Contact: BigGuy 917 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 918 nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", 919 uri="sip:ss1.wcom.com", response="42ce3cef44b22f50c6a6071bc8" 920 Content-Type: application/sdp 921 Content-Length: 147 923 v=0 924 o=UserA 2890844526 2890844526 IN IP4 here.com 925 s=Session SDP 926 c=IN IP4 100.101.102.103 927 t=0 0 928 m=audio 49170 RTP/AVP 0 929 a=rtpmap:0 PCMU/8000 931 /* Proxy 1 accepts the credentials and forwards the INVITE to Proxy 932 2. Proxy 1 is assumed to have been authenticated by Proxy 2 using 933 IPSec. Client for A prepares to receive data on port 49170 from the 934 network. */ 936 F5 INVITE Proxy 1 -> Proxy 2 938 INVITE sip:UserB@ss2.wcom.com SIP/2.0 939 Via: SIP/2.0/UDP ss1.wcom.com:5060 940 Via: SIP/2.0/UDP here.com:5060 941 Record-Route: 942 From: BigGuy 943 To: LittleGuy 944 Call-ID: 12345601@here.com 945 CSeq: 1 INVITE 946 Contact: BigGuy 947 Content-Type: application/sdp 948 Content-Length: 132 950 v=0 951 o=UserA 2890844526 2890844526 IN IP4 here.com 952 s=Session SDP 953 c=IN IP4 100.101.102.103 954 t=0 0 955 m=audio 49170 RTP/AVP 0 956 a=rtpmap:0 PCMU/8000 958 F6 (100 Trying) Proxy 1 -> User A 960 SIP/2.0 100 Trying 961 Via: SIP/2.0/UDP here.com:5060 962 From: BigGuy 963 To: LittleGuy 964 Call-ID: 12345601@here.com 965 CSeq: 1 INVITE 966 Content-Length: 0 968 F7 INVITE Proxy 2 -> B 970 INVITE sip:UserB@there.com SIP/2.0 971 Via: SIP/2.0/UDP ss2.wcom.com:5060 972 Via: SIP/2.0/UDP ss1.wcom.com:5060 973 Via: SIP/2.0/UDP here.com:5060 974 Record-Route: , 975 From: BigGuy 976 To: LittleGuy 977 Call-ID: 12345601@here.com 978 CSeq: 1 INVITE 979 Contact: BigGuy 980 Content-Type: application/sdp 981 Content-Length: 132 983 v=0 984 o=UserA 2890844526 2890844526 IN IP4 here.com 985 s=Session SDP 986 c=IN IP4 100.101.102.103 987 t=0 0 988 m=audio 49170 RTP/AVP 0 989 a=rtpmap:0 PCMU/8000 991 F8 (100 Trying) Proxy 2 -> Proxy 1 992 SIP/2.0 100 Trying 993 Via: SIP/2.0/UDP ss1.wcom.com:5060 994 Via: SIP/2.0/UDP here.com:5060 995 From: BigGuy 996 To: LittleGuy 997 Call-ID: 12345601@here.com 998 CSeq: 1 INVITE 999 Content-Length: 0 1001 F9 180 Ringing B -> Proxy 2 1003 SIP/2.0 180 Ringing 1004 Via: SIP/2.0/UDP ss2.wcom.com:5060 1005 Via: SIP/2.0/UDP ss1.wcom.com:5060 1006 Via: SIP/2.0/UDP here.com:5060 1007 From: BigGuy 1008 To: LittleGuy ;tag=314159 1009 Call-ID: 12345601@here.com 1010 CSeq: 1 INVITE 1011 Content-Length: 0 1013 F10 180 Ringing Proxy 2 -> Proxy 1 1015 SIP/2.0 180 Ringing 1016 Via: SIP/2.0/UDP ss1.wcom.com:5060 1017 Via: SIP/2.0/UDP here.com:5060 1018 From: BigGuy 1019 To: LittleGuy ;tag=314159 1020 Call-ID: 12345601@here.com 1021 CSeq: 1 INVITE 1022 Content-Length: 0 1024 F11 180 Ringing Proxy 1 -> A 1026 SIP/2.0 180 Ringing 1027 Via: SIP/2.0/UDP here.com:5060 1028 From: BigGuy 1029 To: LittleGuy ;tag=314159 1030 Call-ID: 12345601@here.com 1031 CSeq: 1 INVITE 1032 Content-Length: 0 1034 F12 200 OK B -> Proxy 2 1036 SIP/2.0 200 OK 1037 Via: SIP/2.0/UDP ss2.wcom.com:5060 1038 Via: SIP/2.0/UDP ss1.wcom.com:5060 1039 Via: SIP/2.0/UDP here.com:5060 1040 Record-Route: , 1041 From: BigGuy 1042 To: LittleGuy ;tag=314159 1043 Call-ID: 12345601@here.com 1044 CSeq: 1 INVITE 1045 Contact: LittleGuy 1046 Content-Type: application/sdp 1047 Content-Length: 134 1049 v=0 1050 o=UserB 2890844527 2890844527 IN IP4 there.com 1051 s=Session SDP 1052 c=IN IP4 110.111.112.113 1053 t=0 0 1054 m=audio 3456 RTP/AVP 0 1055 a=rtpmap:0 PCMU/8000 1057 F13 200 OK Proxy 2 -> Proxy 1 1059 SIP/2.0 200 OK 1060 Via: SIP/2.0/UDP ss1.wcom.com:5060 1061 Via: SIP/2.0/UDP here.com:5060 1062 Record-Route: , 1063 From: BigGuy 1064 To: LittleGuy ;tag=314159 1065 Call-ID: 12345601@here.com 1066 CSeq: 1 INVITE 1067 Contact: LittleGuy 1068 Content-Type: application/sdp 1069 Content-Length: 134 1071 v=0 1072 o=UserB 2890844527 2890844527 IN IP4 there.com 1073 s=Session SDP 1074 c=IN IP4 110.111.112.113 1075 t=0 0 1076 m=audio 3456 RTP/AVP 0 1077 a=rtpmap:0 PCMU/8000 1079 F14 200 OK Proxy 1 -> A 1081 SIP/2.0 200 OK 1082 Via: SIP/2.0/UDP here.com:5060 1083 Record-Route: , 1084 From: BigGuy 1085 To: LittleGuy ;tag=314159 1086 Call-ID: 12345601@here.com 1087 CSeq: 1 INVITE 1088 Contact: LittleGuy 1089 Content-Type: application/sdp 1090 Content-Length: 134 1092 v=0 1093 o=UserB 2890844527 2890844527 IN IP4 there.com 1094 s=Session SDP 1095 c=IN IP4 110.111.112.113 1096 t=0 0 1097 m=audio 3456 RTP/AVP 0 1098 a=rtpmap:0 PCMU/8000 1100 F15 ACK A -> Proxy 1 1102 ACK sip:UserB@ss1.wcom.com SIP/2.0 1103 Via: SIP/2.0/UDP here.com:5060 1104 Route: , 1105 From: BigGuy 1106 To: LittleGuy ;tag=314159 1107 Call-ID: 12345601@here.com 1108 CSeq: 1 ACK 1109 Content-Length: 0 1111 F16 ACK Proxy 1 -> Proxy 2 1113 ACK sip:UserB@ss2.wcom.com SIP/2.0 1114 Via: SIP/2.0/UDP ss1.wcom.com:5060 1115 Via: SIP/2.0/UDP here.com:5060 1116 Route: 1117 From: BigGuy 1118 To: LittleGuy ;tag=314159 1119 Call-ID: 12345601@here.com 1120 CSeq: 1 ACK 1121 Content-Length: 0 1123 F17 ACK Proxy 2 -> B 1125 ACK sip: UserB@there.com SIP/2.0 1126 Via: SIP/2.0/UDP ss2.wcom.com:5060 1127 Via: SIP/2.0/UDP ss1.wcom.com:5060 1128 Via: SIP/2.0/UDP here.com:5060 1129 From: BigGuy 1130 To: LittleGuy ;tag=314159 1131 Call-ID: 12345601@here.com 1132 CSeq: 1 ACK 1133 Content-Length: 0 1135 /* RTP streams are established between A and B */ 1137 /* User B Hangs Up with User A. */ 1139 F18 BYE User B -> Proxy 2 1141 BYE sip: UserA@ss2.wcom.com SIP/2.0 1142 Via: SIP/2.0/UDP there.com:5060 1143 Route: , 1144 From: LittleGuy ;tag=314159 1145 To: BigGuy 1146 Call-ID: 12345601@here.com 1147 CSeq: 1 BYE 1148 Content-Length: 0 1150 F19 BYE Proxy 2 -> Proxy 1 1152 BYE sip: UserA@ss1.wcom.com SIP/2.0 1153 Via: SIP/2.0/UDP ss2.wcom.com:5060 1154 Via: SIP/2.0/UDP there.com:5060 1155 Route: 1156 From: LittleGuy ;tag=314159 1157 To: BigGuy 1158 Call-ID: 12345601@here.com 1159 CSeq: 1 BYE 1160 Content-Length: 0 1162 F20 BYE Proxy 1 -> User A 1164 BYE sip: UserA@here.com SIP/2.0 1165 Via: SIP/2.0/UDP ss1.wcom.com:5060 1166 Via: SIP/2.0/UDP ss2.wcom.com:5060 1167 Via: SIP/2.0/UDP there.com:5060 1168 From: LittleGuy ;tag=314159 1169 To: BigGuy 1170 Call-ID: 12345601@here.com 1171 CSeq: 1 BYE 1172 Content-Length: 0 1174 F21 200 OK User A -> Proxy 1 1176 SIP/2.0 200 OK 1177 Via: SIP/2.0/UDP ss1.wcom.com:5060 1178 Via: SIP/2.0/UDP ss2.wcom.com:5060 1179 Via: SIP/2.0/UDP there.com:5060 1180 From: LittleGuy ;tag=314159 1181 To: BigGuy 1182 Call-ID: 12345601@here.com 1183 CSeq: 1 BYE 1184 Content-Length: 0 1186 F22 200 OK Proxy 1 -> Proxy 2 1188 SIP/2.0 200 OK 1189 Via: SIP/2.0/UDP ss2.wcom.com:5060 1190 Via: SIP/2.0/UDP there.com:5060 1191 From: LittleGuy ;tag=314159 1192 To: BigGuy 1193 Call-ID: 12345601@here.com 1194 CSeq: 1 BYE 1195 Content-Length: 0 1197 F23 200 OK Proxy 2 -> User B 1199 SIP/2.0 200 OK 1200 Via: SIP/2.0/UDP there.com:5060 1201 From: LittleGuy ;tag=314159 1202 To: BigGuy 1203 Call-ID: 12345601@here.com 1204 CSeq: 1 BYE 1205 Content-Length: 0 1207 3.1.3 1208 Successful SIP to SIP with Proxy failure 1210 User A Proxy 1 Proxy 2 User B 1211 | | | | 1212 | INVITE F1 | | | 1213 |--------------->| | | 1214 | INVITE F2 | | | 1215 |--------------->| | | 1216 | INVITE F3 | | | 1217 |--------------->| | | 1218 | INVITE F4 | | | 1219 |--------------->| | | 1220 | INVITE F5 | | | 1221 |--------------->| | | 1222 | INVITE F6 | | | 1223 |--------------->| | | 1224 | INVITE F7 | | | 1225 |--------------->| | | 1226 | CANCEL F8 | | | 1227 |--------------->| | | 1228 | INVITE F9 | | 1229 |-------------------------------->| | 1230 | 407 F10 | | 1231 |<--------------------------------| | 1232 | ACK F11 | | 1233 |-------------------------------->| | 1234 | INVITE F12 | | 1235 |-------------------------------->| INVITE F13 | 1236 | (100) F14 |--------------->| 1237 |<--------------------------------| | 1238 | | 180 F15 | 1239 | 180 F16 |<---------------| 1240 |<--------------------------------| | 1241 | | 200 F17 | 1242 | 200 F18 |<---------------| 1243 |<--------------------------------| | 1244 | ACK F19 | | 1245 |-------------------------------->| ACK F20 | 1246 | |--------------->| 1247 | Both Way RTP Media | 1248 |<================================================>| 1249 | | BYE F21 | 1250 | BYE F22 |<---------------| 1251 |<--------------------------------| | 1252 | 200 F23 | | 1253 |-------------------------------->| 200 F24 | 1254 | |--------------->| 1255 | | | 1257 In this scenario, User A completes a call to User B via a Proxy Server. 1258 User A is configured for a primary SIP Proxy Server Proxy 1 and a 1259 secondary SIP Proxy Server Proxy 2 (Or is able to use DNS SRV records to 1260 locate Proxy 1 and Proxy 2). Proxy 1 is out of service and does not 1261 respond to INVITEs (it is reachable, but unresponsive). After sending a 1262 CANCEL to Proxy 1, User A then completes the call to User B using Proxy 1263 2. 1265 Message Details 1267 F1 INVITE A -> Proxy 1 1269 INVITE sip:UserB@ss1.wcom.com SIP/2.0 1270 Via: SIP/2.0/UDP here.com:5060 1271 From: BigGuy 1272 To: LittleGuy 1273 Call-ID: 12345600@here.com 1274 CSeq: 1 INVITE 1275 Contact: BigGuy 1276 Content-Type: application/sdp 1277 Content-Length: 132 1279 v=0 1280 o=UserA 2890844526 2890844526 IN IP4 here.com 1281 s=Session SDP 1282 c=IN IP4 100.101.102.103 1283 t=0 0 1284 m=audio 49170 RTP/AVP 0 1285 a=rtpmap:0 PCMU/8000 1287 F2 INVITE A -> Proxy 1 1289 Same as Message F1 1291 F3 INVITE A -> Proxy 1 1293 Same as Message F1 1295 F4 INVITE A -> Proxy 1 1297 Same as Message F1 1299 F5 INVITE A -> Proxy 1 1300 Same as Message F1 1302 F6 INVITE A -> Proxy 1 1304 Same as Message F1 1306 F7 INVITE A -> Proxy 1 1308 Same as Message F1 1310 /* User A gives up on the unresponsive proxy and sends a CANCEL. If 1311 any 200 OK responses come back to the INVITE, User A sends an ACK, 1312 then a BYE. */ 1314 F8 CANCEL A -> Proxy 1 1316 CANCEL sip:UserB@ss1.wcom.com SIP/2.0 1317 Via: SIP/2.0/UDP here.com:5060 1318 From: BigGuy 1319 To: LittleGuy 1320 Call-ID: 12345600@here.com 1321 CSeq: 1 CANCEL 1323 F9 INVITE A -> Proxy 2 1325 INVITE sip:UserB@ss2.wcom.com SIP/2.0 1326 Via: SIP/2.0/UDP here.com:5060 1327 From: BigGuy 1328 To: LittleGuy 1329 Call-ID: 12345601@here.com 1330 CSeq: 1 INVITE 1331 Contact: BigGuy 1332 Content-Type: application/sdp 1333 Content-Length: 132 1335 v=0 1336 o=UserA 2890844526 2890844526 IN IP4 here.com 1337 s=Session SDP 1338 c=IN IP4 100.101.102.103 1339 t=0 0 1340 m=audio 49170 RTP/AVP 0 1341 a=rtpmap:0 PCMU/8000 1343 /* Proxy 2 challenges User A for authentication */ 1344 F10 407 Proxy Authorization Required Proxy 2 -> User A 1346 SIP/2.0 407 Proxy Authorization Required 1347 Via: SIP/2.0/UDP here.com:5060 1348 From: BigGuy 1349 To: LittleGuy 1350 Call-ID: 12345601@here.com 1351 CSeq: 1 INVITE 1352 Proxy-Authenticate: Digest realm="MCI WorldCom SIP", 1353 domain="wcom.com", nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", 1354 opaque="", stale="FALSE", algorithm="MD5" 1355 Content-Length: 0 1357 F11 ACK A -> Proxy 2 1359 ACK sip:UserB@ss2.wcom.com SIP/2.0 1360 Via: SIP/2.0/UDP here.com:5060 1361 From: BigGuy 1362 To: LittleGuy 1363 Call-ID: 12345601@here.com 1364 CSeq: 1 INVITE 1365 Content-Length: 0 1367 /* User A responds be re-sending the INVITE with authentication 1368 credentials in it. */ 1370 F12 INVITE A -> Proxy 2 1372 INVITE sip:UserB@ss2.wcom.com SIP/2.0 1373 Via: SIP/2.0/UDP here.com:5060 1374 From: BigGuy 1375 To: LittleGuy 1376 Call-ID: 12345602@here.com 1377 CSeq: 1 INVITE 1378 Contact: BigGuy 1379 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 1380 nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", opaque="", 1381 uri="sip:ss2.wcom.com", response="8a880c919d1a52f20a1593e228adf599" 1382 Content-Type: application/sdp 1383 Content-Length: 132 1385 v=0 1386 o=UserA 2890844526 2890844526 IN IP4 here.com 1387 s=Session SDP 1388 c=IN IP4 100.101.102.103 1389 t=0 0 1390 m=audio 49170 RTP/AVP 0 1391 a=rtpmap:0 PCMU/8000 1393 /* Proxy 2 accepts the credentials and forwards the INVITE to User B. 1394 Client for A prepares to receive data on port 49170 from the network. 1395 */ 1397 F13 INVITE Proxy 2 -> B 1399 INVITE sip:UserB@there.com SIP/2.0 1400 Via: SIP/2.0/UDP ss2.wcom.com:5060 1401 Via: SIP/2.0/UDP here.com:5060 1402 Record-Route: 1403 From: BigGuy 1404 To: LittleGuy 1405 Call-ID: 12345602@here.com 1406 CSeq: 1 INVITE 1407 Contact: BigGuy 1408 Content-Type: application/sdp 1409 Content-Length: 132 1411 v=0 1412 o=UserA 2890844526 2890844526 IN IP4 here.com 1413 s=Session SDP 1414 c=IN IP4 100.101.102.103 1415 t=0 0 1416 m=audio 49170 RTP/AVP 0 1417 a=rtpmap:0 PCMU/8000 1419 F14 (100 Trying) Proxy 2 -> User A 1421 SIP/2.0 100 Trying 1422 Via: SIP/2.0/UDP ss2.wcom.com:5060 1423 Via: SIP/2.0/UDP here.com:5060 1424 From: BigGuy 1425 To: LittleGuy 1426 Call-ID: 12345602@here.com 1427 CSeq: 1 INVITE 1428 Content-Length: 0 1430 F15 180 Ringing B -> Proxy 2 1432 SIP/2.0 180 Ringing 1433 Via: SIP/2.0/UDP ss2.wcom.com:5060 1434 Via: SIP/2.0/UDP here.com:5060 1435 From: BigGuy 1436 To: LittleGuy ;tag=314159 1437 Call-ID: 12345602@here.com 1438 CSeq: 1 INVITE 1439 Content-Length: 0 1441 F16 180 Ringing Proxy 2 -> A 1443 SIP/2.0 180 Ringing 1444 Via: SIP/2.0/UDP here.com:5060 1445 From: BigGuy 1446 To: LittleGuy ;tag=314159 1447 Call-ID: 12345602@here.com 1448 CSeq: 1 INVITE 1449 Content-Length: 0 1451 F17 200 OK B -> Proxy 2 1453 SIP/2.0 200 OK 1454 Via: SIP/2.0/UDP ss2.wcom.com:5060 1455 Via: SIP/2.0/UDP here.com:5060 1456 Record-Route: 1457 From: BigGuy 1458 To: LittleGuy ;tag=314159 1459 Call-ID: 12345602@here.com 1460 CSeq: 1 INVITE 1461 Contact: LittleGuy 1462 Content-Type: application/sdp 1463 Content-Length: 134 1465 v=0 1466 o=UserB 2890844527 2890844527 IN IP4 there.com 1467 s=Session SDP 1468 c=IN IP4 110.111.112.113 1469 t=0 0 1470 m=audio 3456 RTP/AVP 0 1471 a=rtpmap:0 PCMU/8000 1473 F18 200 OK Proxy 2 -> A 1475 SIP/2.0 200 OK 1476 Via: SIP/2.0/UDP here.com:5060 1477 Record-Route: 1478 From: BigGuy 1479 To: LittleGuy ;tag=314159 1480 Call-ID: 12345602@here.com 1481 CSeq: 1 INVITE 1482 Contact: LittleGuy 1483 Content-Type: application/sdp 1484 Content-Length: 134 1485 v=0 1486 o=UserB 2890844527 2890844527 IN IP4 there.com 1487 s=Session SDP 1488 c=IN IP4 110.111.112.113 1489 t=0 0 1490 m=audio 3456 RTP/AVP 0 1491 a=rtpmap:0 PCMU/8000 1493 F19 ACK A -> Proxy 2 1495 ACK sip:UserB@ss2.wcom.com SIP/2.0 1496 Via: SIP/2.0/UDP here.com:5060 1497 Route: 1498 From: BigGuy 1499 To: LittleGuy ;tag=314159 1500 Call-ID: 12345602@here.com 1501 CSeq: 1 ACK 1502 Content-Length: 0 1504 F20 ACK Proxy 2 -> B 1506 ACK sip: UserB@there.com SIP/2.0 1507 Via: SIP/2.0/UDP ss2.wcom.com:5060 1508 Via: SIP/2.0/UDP here.com:5060 1509 From: BigGuy 1510 To: LittleGuy ;tag=314159 1511 Call-ID: 12345602@here.com 1512 CSeq: 1 ACK 1513 Content-Length: 0 1515 /* RTP streams are established between A and B */ 1517 /* User B Hangs Up with User A. */ 1519 F21 BYE User B -> Proxy 2 1521 BYE sip: UserA@ss2.wcom.com SIP/2.0 1522 Via: SIP/2.0/UDP there.com:5060 1523 Route: 1524 From: LittleGuy ;tag=314159 1525 To: BigGuy 1526 Call-ID: 12345602@here.com 1527 CSeq: 1 BYE 1528 Content-Length: 0 1529 F22 BYE Proxy 2 -> User A 1531 BYE sip: UserA@here.com SIP/2.0 1532 Via: SIP/2.0/UDP ss2.wcom.com:5060 1533 Via: SIP/2.0/UDP there.com:5060 1534 From: LittleGuy ;tag=314159 1535 To: BigGuy 1536 Call-ID: 12345602@here.com 1537 CSeq: 1 BYE 1538 Content-Length: 0 1540 F23 200 OK User A -> Proxy 2 1542 SIP/2.0 200 OK 1543 Via: SIP/2.0/UDP ss2.wcom.com:5060 1544 Via: SIP/2.0/UDP there.com:5060 1545 From: LittleGuy ;tag=314159 1546 To: BigGuy 1547 Call-ID: 12345602@here.com 1548 CSeq: 1 BYE 1549 Content-Length: 0 1551 F24 200 OK Proxy 2 -> User B 1553 SIP/2.0 200 OK 1554 Via: SIP/2.0/UDP there.com:5060 1555 From: LittleGuy ;tag=314159 1556 To: BigGuy 1557 Call-ID: 12345602@here.com 1558 CSeq: 1 BYE 1559 Content-Length: 0 1561 3.1.4 1562 Successful SIP to SIP through SIP Firewall Proxy 1564 User A Proxy 1 Proxy 2 User B 1565 | | | | 1566 | INVITE F1 | | | 1567 |--------------->| INVITE F2 | | 1568 | (100) F3 |--------------->| INVITE F4 | 1569 |<---------------| (100) F5 |--------------->| 1570 | |<---------------| (100) F6 | 1571 | | |<---------------| 1572 | | | 180 F7 | 1573 | | 180 F8 |<---------------| 1574 | 180 F9 |<---------------| | 1575 |<---------------| | 200 F10 | 1576 | | 200 F11 |<---------------| 1577 | 200 F12 |<---------------| | 1578 |<---------------| | | 1579 | ACK F13 | | | 1580 |--------------->| ACK F14 | | 1581 | |--------------->| ACK F15 | 1582 | | |--------------->| 1583 | RTP Media | Both Way RTP Media | 1584 |<==============>|<===============================>| 1585 | BYE F16 | | | 1586 |--------------->| BYE F17 | | 1587 | |--------------->| BYE F18 | 1588 | | |--------------->| 1589 | | | 200 F19 | 1590 | | 200 F20 |<---------------| 1591 | 200 F21 |<---------------| | 1592 |<---------------| | | 1593 | | | | 1595 User A completes a call to User B through a Firewall Proxy and a SIP 1596 Proxy. The signaling message exchange is identical to 3.1.1 but the 1597 media stream setup is not end-to-end - the Firewall proxy terminates 1598 both media streams and bridges them. This is done by the Proxy 1599 modifying the SDP in the INVITE (F1) and 200 OK (F11) messages. 1601 In addition to firewall traversal, this back-to-back User Agent 1602 Client and User Agent Server could be used as part of an anonymizer 1603 service (in which all identifying information on User A would be 1604 removed), or to perform codec media conversion, such as mu-law to A- 1605 law conversion of PCM on an international call. 1607 Message Details 1609 F1 INVITE A -> SIP FW 1611 INVITE sip:UserB@ fwp1.wcom.com SIP/2.0 1612 Via: SIP/2.0/UDP here.com:5060 1613 From: BigGuy 1614 To: LittleGuy 1615 Call-ID: 12345600@here.com 1616 CSeq: 1 INVITE 1617 Contact: BigGuy 1618 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 1619 nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", 1620 uri="sip:ss1.wcom.com", response="b3f392f9218a328b9294076d708e6815" 1621 Content-Type: application/sdp 1622 Content-Length: 132 1624 v=0 1625 o=UserA 2890844526 2890844526 IN IP4 here.com 1626 s=Session SDP 1627 c=IN IP4 100.101.102.103 1628 t=0 0 1629 m=audio 49170 RTP/AVP 0 1630 a=rtpmap:0 PCMU/8000 1632 /* Client for A prepares to receive data on port 49170 from the 1633 network. */ 1635 F2 INVITE SIP FW -> Proxy 1 1637 INVITE sip:UserB@ss1.wcom.com SIP/2.0 1638 Via: SIP/2.0/UDP fwp1.wcom.com:5060 1639 Via: SIP/2.0/UDP here.com:5060 1640 Record-Route: 1641 From: BigGuy 1642 To: LittleGuy 1643 Call-ID: 12345600@here.com 1644 CSeq: 1 INVITE 1645 Contact: BigGuy 1646 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 1647 nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", 1648 uri="sip:ss1.wcom.com", response="b3f392f9218a328b9294076d708e6815" 1649 Content-Type: application/sdp 1650 Content-Length: 134 1652 v=0 1653 o=UserA 2890844526 2890844526 IN IP4 here.com 1654 s=Session SDP 1655 c=IN IP4 200.201.202.203 1656 t=0 0 1657 m=audio 1000 RTP/AVP 0 1658 a=rtpmap:0 PCMU/8000 1660 F3 (100 Trying) SIP FW -> A 1662 SIP/2.0 100 Trying 1663 Via: SIP/2.0/UDP here.com:5060 1664 From: BigGuy 1665 To: LittleGuy 1666 Call-ID: 12345600@here.com 1667 CSeq: 1 INVITE 1668 Content-Length: 0 1670 /* SIP FW prepares to proxy data from port 1000 to 1671 100.101.102.103/49170. Proxy 1 uses a location manager function to 1672 determine where B is located. Based upon location analysis the call 1673 is forwarded to User B */ 1675 F4 INVITE Proxy 1 -> B 1677 INVITE sip:UserB@there.com SIP/2.0 1678 Via: SIP/2.0/UDP ss1.wcom.com:5060 1679 Via: SIP/2.0/UDP fwp1.wcom.com:5060 1680 Via: SIP/2.0/UDP here.com:5060 1681 Record-Route: , 1682 From: BigGuy 1683 To: LittleGuy 1684 Call-ID: 12345600@here.com 1685 CSeq: 1 INVITE 1686 Contact: BigGuy 1687 Content-Type: application/sdp 1688 Content-Length: 134 1690 v=0 1691 o=UserA 2890844526 2890844526 IN IP4 here.com 1692 s=Session SDP 1693 c=IN IP4 200.201.202.203 1694 t=0 0 1695 m=audio 1000 RTP/AVP 0 1696 a=rtpmap:0 PCMU/8000 1698 F5 (100 Trying) Proxy 1 -> SIP FW 1700 SIP/2.0 100 Trying 1701 Via: SIP/2.0/UDP fwp1.wcom.com:5060 1702 Via: SIP/2.0/UDP here.com:5060 1703 From: BigGuy 1704 To: LittleGuy 1705 Call-ID: 12345600@here.com 1706 CSeq: 1 INVITE 1707 Content-Length: 0 1709 F6 (100 Trying) B -> Proxy 1 1711 SIP/2.0 100 Trying 1712 Via: SIP/2.0/UDP ss1.wcom.com:5060 1713 Via: SIP/2.0/UDP fwp1.wcom.com:5060 1714 Via: SIP/2.0/UDP here.com:5060 1715 From: BigGuy 1716 To: LittleGuy 1717 Call-ID: 12345600@here.com 1718 CSeq: 1 INVITE 1719 Content-Length: 0 1721 F7 180 Ringing B -> Proxy 1 1723 SIP/2.0 180 Ringing 1724 Via: SIP/2.0/UDP ss1.wcom.com:5060 1725 Via: SIP/2.0/UDP fwp1.wcom.com:5060 1726 Via: SIP/2.0/UDP here.com:5060 1727 From: BigGuy 1728 To: LittleGuy ;tag=314159 1729 Call-ID: 12345600@here.com 1730 CSeq: 1 INVITE 1731 Content-Length: 0 1733 F8 180 Ringing Proxy 1 -> SIP FW 1735 SIP/2.0 180 Ringing 1736 Via: SIP/2.0/UDP fwp1.wcom.com:5060 1737 Via: SIP/2.0/UDP here.com:5060 1738 From: BigGuy 1739 To: LittleGuy ;tag=314159 1740 Call-ID: 12345600@here.com 1741 CSeq: 1 INVITE 1742 Content-Length: 0 1744 F9 180 Ringing SIP FW -> A 1746 SIP/2.0 180 Ringing 1747 Via: SIP/2.0/UDP here.com:5060 1748 From: BigGuy 1749 To: LittleGuy ;tag=314159 1750 Call-ID: 12345600@here.com 1751 CSeq: 1 INVITE 1752 Content-Length: 0 1754 F10 200 OK B -> Proxy 1 1756 SIP/2.0 200 OK 1757 Via: SIP/2.0/UDP ss1.wcom.com:5060 1758 Via: SIP/2.0/UDP fwp1.wcom.com:5060 1759 Via: SIP/2.0/UDP here.com:5060 1760 Record-Route: , 1761 From: BigGuy 1762 To: LittleGuy ;tag=314159 1763 Call-ID: 12345600@here.com 1764 CSeq: 1 INVITE 1765 Contact: LittleGuy 1766 Content-Type: application/sdp 1767 Content-Length: 133 1769 v=0 1770 o=UserB 2890844527 2890844527 IN IP4 there.com 1771 s=Session SDP 1772 c=IN IP4 110.111.112.113 1773 t=0 0 1774 m=audio 3456 RTP/AVP 0 1775 a=rtpmap:0 PCMU/8000 1777 F11 200 OK Proxy 1 -> SIP FW 1779 SIP/2.0 200 OK 1780 Via: SIP/2.0/UDP gw1.wcom.com:5060 1781 Via: SIP/2.0/UDP here.com:5060 1782 Record-Route: , 1783 From: BigGuy 1784 To: LittleGuy ;tag=314159 1785 Call-ID: 12345600@here.com 1786 CSeq: 1 INVITE 1787 Contact: LittleGuy 1788 Content-Type: application/sdp 1789 Content-Length: 134 1791 v=0 1792 o=UserB 2890844527 2890844527 IN IP4 there.com 1793 s=Session SDP 1794 c=IN IP4 110.111.112.113 1795 t=0 0 1796 m=audio 3456 RTP/AVP 0 1797 a =rtpmap:0 PCMU/8000 1799 F12 200 OK SIP FW -> A 1801 SIP/2.0 200 OK 1802 Via: SIP/2.0/UDP here.com:5060 1803 Record-Route: , 1804 From: BigGuy 1805 To: LittleGuy ;tag=314159 1806 Call-ID: 12345600@here.com 1807 CSeq: 1 INVITE 1808 Contact: LittleGuy 1809 Content-Type: application/sdp 1810 Content-Length: 134 1812 v=0 1813 o=UserB 2890844527 2890844527 IN IP4 there.com 1814 s=Session SDP 1815 c=IN IP4 200.201.202.203 1816 t=0 0 1817 m=audio 1002 RTP/AVP 0 1818 a=rtpmap:0 PCMU/8000 1820 /* The Firewall Proxy prepares to proxy packets from port 1002 to 1821 110.111.112.113/3456 */ 1823 F13 ACK A -> SIP FW 1825 ACK sip:UserB@fwp1.wcom.com SIP/2.0 1826 Via: SIP/2.0/UDP here.com:5060 1827 Route: , 1828 From: BigGuy 1829 To: LittleGuy ;tag=314159 1830 Call-ID: 12345600@here.com 1831 CSeq: 1 ACK 1832 Content-Length: 0 1834 F14 ACK SIP FW -> Proxy 1 1836 ACK sip:UserB@ss1.wcom.com SIP/2.0 1837 Via: SIP/2.0/UDP fwp1.wcom.com:5060 1838 Via: SIP/2.0/UDP here.com:5060 1839 Route: 1840 From: BigGuy 1841 To: LittleGuy ;tag=314159 1842 Call-ID: 12345600@here.com 1843 CSeq: 1 ACK 1844 Content-Length: 0 1846 F15 ACK Proxy 1 -> B 1848 ACK sip: UserB@there.com SIP/2.0 1849 Via: SIP/2.0/UDP ss1.wcom.com:5060 1850 Via: SIP/2.0/UDP fwp1.wcom.com:5060 1851 Via: SIP/2.0/UDP here.com:5060 1852 From: BigGuy 1853 To: LittleGuy ;tag=314159 1854 Call-ID: 12345600@here.com 1855 CSeq: 1 ACK 1856 Content-Length: 0 1858 /* RTP streams are established between A and the Firewall Proxy and 1859 between the Firewall Proxy and B*/ 1861 /* User A Hangs Up with User B. */ 1863 F16 BYE A -> SIP FW 1865 BYE sip: UserB@fwp1.wcom.com SIP/2.0 1866 Via: SIP/2.0/UDP here.com:5060 1867 Route: , 1868 From: BigGuy 1869 To: LittleGuy ;tag=314159 1870 Call-ID: 12345600@here.com 1871 CSeq: 2 BYE 1872 Content-Length: 0 1874 F17 BYE SIP FW -> Proxy 1 1876 BYE sip: UserB@ss1.wcom.com SIP/2.0 1877 Via: SIP/2.0/UDP fwp1.wcom.com:5060 1878 Via: SIP/2.0/UDP here.com:5060 1879 Route: 1880 From: BigGuy 1881 To: LittleGuy ;tag=314159 1882 Call-ID: 12345600@here.com 1883 CSeq: 2 BYE 1884 Content-Length: 0 1886 F18 BYE F18 Proxy 1 -> B 1887 BYE sip: UserB@there.com SIP/2.0 1888 Via: SIP/2.0/UDP ss1.wcom.com:5060 1889 Via: SIP/2.0/UDP fwp1.wcom.com:5060 1890 Via: SIP/2.0/UDP here.com:5060 1891 From: BigGuy 1892 To: LittleGuy ;tag=314159 1893 Call-ID: 12345600@here.com 1894 CSeq: 2 BYE 1895 Content-Length: 0 1897 F19 200 OK B -> Proxy 1 1899 SIP/2.0 200 OK 1900 Via: SIP/2.0/UDP ss1.wcom.com:5060 1901 Via: SIP/2.0/UDP fwp1.wcom.com:5060 1902 Via: SIP/2.0/UDP here.com:5060 1903 From: BigGuy 1904 To: LittleGuy ;tag=314159 1905 Call-ID: 12345600@here.com 1906 CSeq: 2 BYE 1907 Content-Length: 0 1909 F20 200 OK Proxy 1 -> SIP FW 1911 SIP/2.0 200 OK 1912 Via: SIP/2.0/UDP fwp1.wcom.com:5060 1913 Via: SIP/2.0/UDP here.com:5060 1914 From: BigGuy 1915 To: LittleGuy >;tag=314159 1916 Call-ID: 12345600@here.com 1917 CSeq: 2 BYE 1918 Content-Length: 0 1920 F21 200 OK SIP FW -> A 1922 SIP/2.0 200 OK 1923 Via: SIP/2.0/UDP here.com:5060 1924 From: BigGuy 1925 To: LittleGuy >;tag=314159 1926 Call-ID: 12345600@here.com 1927 CSeq: 2 BYE 1928 Content-Length: 0 1930 3.1.5 1931 Successful SIP to SIP via Redirect and Proxy 1933 User A Redirect Proxy Proxy 2 User B 1934 | | | | 1935 | INVITE F1 | | | 1936 |--------------->| | | 1937 | 302 F2 | | | 1938 |<---------------| | | 1939 | ACK F3 | | | 1940 |--------------->| | | 1941 | INVITE F4 | | 1942 |-------------------------------->| INVITE F5 | 1943 | (100) F6 |--------------->| 1944 |<--------------------------------| (100) F7 | 1945 | |<---------------| 1946 | | 180 F8 | 1947 | 180 F9 |<---------------| 1948 |<--------------------------------| | 1949 | | 200 F10 | 1950 | 200 F11 |<---------------| 1951 |<--------------------------------| | 1952 | ACK F12 | | 1953 |-------------------------------->| ACK F13 | 1954 | |--------------->| 1955 | Both Way RTP Media | 1956 |<================================================>| 1957 | | BYE F14 | 1958 | BYE F15 |<---------------| 1959 |<--------------------------------| | 1960 | 200 F16 | | 1961 |-------------------------------->| 200 F17 | 1962 | |--------------->| 1963 | | | 1965 In this scenario, User A places a call to User B using first a 1966 Redirect server then a Proxy Server. The INVITE message is first 1967 sent to the Redirect Server. The Server returns a 302 Moved 1968 Temporarily response (F2) containing a Contact header with User B's 1969 current SIP address. User A then generates a new INVITE and sends to 1970 User B via the Proxy Server and the call proceeds normally. 1972 The call is terminated when User B sends a BYE message. 1974 Message Details 1976 F1 INVITE A -> Redirect Proxy 1977 INVITE sip:UserB@redirect.wcom.com SIP/2.0 1978 Via: SIP/2.0/UDP here.com:5060 1979 From: BigGuy 1980 To: LittleGuy 1981 Call-ID: 12345600@here.com 1982 CSeq: 1 INVITE 1983 Contact: BigGuy 1984 Content-Type: application/sdp 1985 Content-Length: 132 1987 v=0 1988 o=UserA 2890844526 2890844526 IN IP4 here.com 1989 s=Session SDP 1990 c=IN IP4 100.101.102.103 1991 t=0 0 1992 m=audio 49170 RTP/AVP 0 1993 a=rtpmap:0 PCMU/8000 1995 /* Client for A prepares to receive data on port 49170 from the 1996 network. */ 1998 F2 302 Moved Temporarily Redirect Proxy -> A 2000 SIP/2.0 302 Moved Temporarily 2001 Contact: sip:UserB@ss2.wcom.com 2002 Via: SIP/2.0/UDP here.com:5060 2003 From: BigGuy 2004 To: LittleGuy 2005 Call-ID: 12345600@here.com 2006 CSeq: 1 INVITE 2007 Content-Length: 0 2009 F3 ACK A -> Redirect Proxy 2011 ACK sip:UserB@redirect.wcom.com SIP/2.0 2012 Via: SIP/2.0/UDP here.com:5060 2013 From: BigGuy 2014 To: LittleGuy 2015 Call-ID: 12345600@here.com 2016 CSeq: 1 INVITE 2017 Content-Length: 0 2019 F4 INVITE A -> Proxy 2 2021 INVITE sip:UserB@ss2.wcom.com SIP/2.0 2022 Via: SIP/2.0/UDP here.com:5060 2023 From: BigGuy 2024 To: LittleGuy 2025 Call-ID: 12345600@here.com 2026 CSeq: 2 INVITE 2027 Contact: BigGuy 2028 Content-Type: application/sdp 2029 Content-Length: 132 2031 v=0 2032 o=UserA 2890844526 2890844526 IN IP4 here.com 2033 s=Session SDP 2034 c=IN IP4 100.101.102.103 2035 t=0 0 2036 m=audio 49170 RTP/AVP 0 2037 a=rtpmap:0 PCMU/8000 2039 F5 INVITE Proxy 2 -> B 2041 INVITE sip:UserB@there.com SIP/2.0 2042 Via: SIP/2.0/UDP ss2.wcom.com:5060 2043 Via: SIP/2.0/UDP here.com:5060 2044 Record-Route: 2045 From: BigGuy 2046 To: LittleGuy 2047 Call-ID: 12345600@here.com 2048 CSeq: 2 INVITE 2049 Contact: BigGuy 2050 Content-Type: application/sdp 2051 Content-Length: 132 2053 v=0 2054 o=UserA 2890844526 2890844526 IN IP4 here.com 2055 s=Session SDP 2056 c=IN IP4 100.101.102.103 2057 t=0 0 2058 m=audio 49170 RTP/AVP 0 2059 a=rtpmap:0 PCMU/8000 2061 F6 (100 Trying) Proxy 2 -> A 2063 SIP/2.0 100 Trying 2064 Via: SIP/2.0/UDP here.com:5060 2065 From: BigGuy 2066 To: LittleGuy 2067 Call-ID: 12345600@here.com 2068 CSeq: 2 INVITE 2069 Content-Length: 0 2070 F7 (100 Trying) B -> Proxy 2 2072 SIP/2.0 100 Trying 2073 Via: SIP/2.0/UDP ss2.wcom.com:5060 2074 Via: SIP/2.0/UDP here.com:5060 2075 From: BigGuy 2076 To: LittleGuy 2077 Call-ID: 12345600@here.com 2078 CSeq: 2 INVITE 2079 Content-Length: 0 2081 F8 180 Ringing B -> Proxy 2 2083 SIP/2.0 180 Ringing 2084 Via: SIP/2.0/UDP ss2.wcom.com:5060 2085 Via: SIP/2.0/UDP here.com:5060 2086 From: BigGuy 2087 To: LittleGuy >;tag=314159 2088 Call-ID: 12345600@here.com 2089 CSeq: 2 INVITE 2090 Content-Length: 0 2092 F9 180 Ringing Proxy 2 -> A 2094 SIP/2.0 180 Ringing 2095 Via: SIP/2.0/UDP here.com:5060 2096 From: BigGuy 2097 To: LittleGuy >;tag=314159 2098 Call-ID: 12345600@here.com 2099 CSeq: 2 INVITE 2100 Content-Length: 0 2102 F10 200 OK B -> Proxy 2 2104 SIP/2.0 200 OK 2105 Via: SIP/2.0/UDP ss2.wcom.com:5060 2106 Via: SIP/2.0/UDP here.com:5060 2107 Record-Route: 2108 From: BigGuy 2109 To: LittleGuy >;tag=314159 2110 Call-ID: 12345600@here.com 2111 CSeq: 2 INVITE 2112 Contact: LittleGuy 2113 Content-Type: application/sdp 2114 Content-Length: 134 2115 v=0 2116 o=UserB 2890844527 2890844527 IN IP4 there.com 2117 s=Session SDP 2118 c=IN IP4 110.111.112.113 2119 t=0 0 2120 m=audio 3456 RTP/AVP 0 2121 a=rtpmap:0 PCMU/8000 2123 F11 200 OK Proxy -> A 2125 SIP/2.0 200 OK 2126 Via: SIP/2.0/UDP here.com:5060 2127 Record-Route: 2128 From: BigGuy 2129 To: LittleGuy >;tag=314159 2130 Call-ID: 12345600@here.com 2131 CSeq: 2 INVITE 2132 Contact: LittleGuy 2133 Content-Type: application/sdp 2134 Content-Length: 134 2136 v=0 2137 o=UserB 2890844527 2890844527 IN IP4 there.com 2138 s=Session SDP 2139 c=IN IP4 110.111.112.113 2140 t=0 0 2141 m=audio 3456 RTP/AVP 0 2142 a=rtpmap:0 PCMU/8000 2144 F12 ACK A -> Proxy 2 2146 ACK sip:UserB@ss2.wcom.com SIP/2.0 2147 Via: SIP/2.0/UDP here.com:5060 2148 Route: 2149 From: BigGuy 2150 To: LittleGuy ;tag=314159 2151 Call-ID: 12345600@here.com 2152 CSeq: 2 ACK 2153 Content-Length: 0 2155 F13 ACK Proxy 2 -> B 2157 ACK sip: UserB@there.com SIP/2.0 2158 Via: SIP/2.0/UDP ss2.wcom.com:5060 2159 Via: SIP/2.0/UDP here.com:5060 2160 From: BigGuy 2161 To: LittleGuy ;tag=314159 2162 Call-ID: 12345600@here.com 2163 CSeq: 2 ACK 2164 Content-Length: 0 2166 /* RTP streams are established between A and B*/ 2168 /* User B Hangs Up with User A. */ 2170 F14 BYE B -> Proxy 2 2172 BYE sip: UserA@ss2.wcom.com SIP/2.0 2173 Via: SIP/2.0/UDP there.com:5060 2174 Route: 2175 From: LittleGuy ;tag=314159 2176 To: BigGuy 2177 Call-ID: 12345600@here.com 2178 CSeq: 1 BYE 2179 Content-Length: 0 2181 F15 BYE Proxy 2 -> A 2183 BYE sip: UserA@here.com SIP/2.0 2184 Via: SIP/2.0/UDP ss2.wcom.com:5060 2185 Via: SIP/2.0/UDP there.com:5060 2186 From: LittleGuy ;tag=314159 2187 To: BigGuy 2188 Call-ID: 12345600@here.com 2189 CSeq: 1 BYE 2190 Content-Length: 0 2192 F16 200 OK A -> Proxy 2 2194 SIP/2.0 200 OK 2195 Via: SIP/2.0/UDP ss2.wcom.com:5060 2196 Via: SIP/2.0/UDP there.com:5060 2197 From: LittleGuy ;tag=314159 2198 To: BigGuy 2199 Call-ID: 12345600@here.com 2200 CSeq: 1 BYE 2201 Content-Length: 0 2203 F17 200 OK Proxy 2 -> B 2205 SIP/2.0 200 OK 2206 Via: SIP/2.0/UDP there.com:5060 2207 From: LittleGuy ;tag=314159 2208 To: BigGuy 2209 Call-ID: 12345600@here.com 2210 CSeq: 1 BYE 2211 Content-Length: 0 2213 3.2 Failure Scenarios 2215 3.2.1 2216 Unsuccessful SIP to SIP no answer 2218 User A Proxy 1 Proxy 2 User B 2219 | | | | 2220 | INVITE F1 | | | 2221 |--------------->| INVITE F2 | | 2222 | (100) F3 |--------------->| INVITE F4 | 2223 |<---------------| (100) F5 |--------------->| 2224 | |<---------------| | 2225 | | | 180 F6 | 2226 | | 180 F7 |<---------------| 2227 | 180 F8 |<---------------| | 2228 |<---------------| | | 2229 | | | | 2230 | CANCEL F9 | | | 2231 |--------------->| | | 2232 | 200 F10 | | | 2233 |<---------------| CANCEL F11 | | 2234 | |--------------->| | 2235 | | 200 F12 | | 2236 | |<---------------| | 2237 | | | CANCEL F13 | 2238 | | |--------------->| 2239 | | | 200 F14 | 2240 | | |<---------------| 2241 | | | | 2243 In this scenario, User A gives up on the call before User B answers 2244 (sends a 200 OK response). User A sends a CANCEL (F9) since no final 2245 response had been received from User B. If a 200 OK to the INVITE 2246 had crossed with the CANCEL, User A would have sent an ACK then a BYE 2247 to User B in order to properly terminate the call. 2249 Note that the CANCEL message is acknowledged with a 200 OK on a hop 2250 by hop basis, rather than end to end. 2252 Message Details 2254 F1 INVITE A -> Proxy 1 2256 INVITE sip:UserB@ss1.wcom.com SIP/2.0 2257 Via: SIP/2.0/UDP here.com:5060 2258 From: BigGuy 2259 To: LittleGuy 2260 Call-ID: 12345600@here.com 2261 CSeq: 1 INVITE 2262 Contact: BigGuy 2263 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 2264 nonce="ze7k1ee88df84f1cec431ae6cbe5a359", opaque="", 2265 uri="sip:ss1.wcom.com", response="b00b416324679d7e243f55708d44be7b" 2266 Content-Type: application/sdp 2267 Content-Length: 132 2269 v=0 2270 o=UserA 2890844526 2890844526 IN IP4 here.com 2271 s=Session SDP 2272 c=IN IP4 100.101.102.103 2273 t=0 0 2274 m=audio 49170 RTP/AVP 0 2275 a=rtpmap:0 PCMU/8000 2277 /*Client for A prepares to receive data on port 49170 from the 2278 network.*/ 2280 F2 INVITE Proxy 1 -> Proxy 2 2282 INVITE sip:UserB@ss2.wcom.com SIP/2.0 2283 Via: SIP/2.0/UDP ss1.wcom.com:5060 2284 Via: SIP/2.0/UDP here.com:5060 2285 Record-Route: 2286 From: BigGuy 2287 To: LittleGuy 2288 Call-ID: 12345600@here.com 2289 CSeq: 1 INVITE 2290 Contact: BigGuy 2291 Content-Type: application/sdp 2292 Content-Length: 132 2294 v=0 2295 o=UserA 2890844526 2890844526 IN IP4 here.com 2296 s=Session SDP 2297 c=IN IP4 100.101.102.103 2298 t=0 0 2299 m=audio 49170 RTP/AVP 0 2300 a=rtpmap:0 PCMU/8000 2302 F3 (100 Trying) Proxy 1 -> A 2304 SIP/2.0 100 Trying 2305 Via: SIP/2.0/UDP here.com:5060 2306 From: BigGuy 2307 To: LittleGuy 2308 Call-ID: 12345600@here.com 2309 CSeq: 1 INVITE 2310 Content-Length: 0 2312 F4 INVITE Proxy 2 -> B 2314 INVITE sip:UserB@there.com SIP/2.0 2315 Via: SIP/2.0/UDP ss2.wcom.com:5060 2316 Via: SIP/2.0/UDP ss1.wcom.com:5060 2317 Via: SIP/2.0/UDP here.com:5060 2318 Record-Route: , 2319 From: BigGuy 2320 To: LittleGuy 2321 Call-ID: 12345600@here.com 2322 CSeq: 1 INVITE 2323 Contact: BigGuy 2324 Content-Type: application/sdp 2325 Content-Length: 132 2327 v=0 2328 o=UserA 2890844526 2890844526 IN IP4 here.com 2329 s=Session SDP 2330 c=IN IP4 100.101.102.103 2331 t=0 0 2332 m=audio 49170 RTP/AVP 0 2333 a=rtpmap:0 PCMU/8000 2335 F5 (100 Trying) Proxy 2 -> Proxy 1 2337 SIP/2.0 100 Trying 2338 Via: SIP/2.0/UDP ss1.wcom.com:5060 2339 Via: SIP/2.0/UDP here.com:5060 2340 From: BigGuy 2341 To: LittleGuy 2342 Call-ID: 12345600@here.com 2343 CSeq: 1 INVITE 2344 Content-Length: 0 2346 F6 180 Ringing B -> Proxy 2 2348 SIP/2.0 180 Ringing 2349 Via: SIP/2.0/UDP ss2.wcom.com:5060 2350 Via: SIP/2.0/UDP ss1.wcom.com:5060 2351 Via: SIP/2.0/UDP here.com:5060 2352 From: BigGuy 2353 To: LittleGuy ;tag=314159 2354 Call-ID: 12345600@here.com 2355 CSeq: 1 INVITE 2356 Content-Length: 0 2357 F7 180 Ringing Proxy 2 -> Proxy 1 2359 SIP/2.0 180 Ringing 2360 Via: SIP/2.0/UDP ss1.wcom.com:5060 2361 Via: SIP/2.0/UDP here.com:5060 2362 From: BigGuy 2363 To: LittleGuy ;tag=314159 2364 Call-ID: 12345600@here.com 2365 CSeq: 1 INVITE 2366 Content-Length: 0 2368 F8 180 Ringing Proxy 1 -> A 2370 SIP/2.0 180 Ringing 2371 Via: SIP/2.0/UDP here.com:5060 2372 From: BigGuy 2373 To: LittleGuy ;tag=314159 2374 Call-ID: 12345600@here.com 2375 CSeq: 1 INVITE 2376 Content-Length: 0 2378 F9 CANCEL A -> Proxy 1 2380 CANCEL sip:UserB@ss1.wcom.com SIP/2.0 2381 Via: SIP/2.0/UDP here.com:5060 2382 From: BigGuy 2383 To: LittleGuy 2384 Call-ID: 12345600@here.com 2385 CSeq: 1 CANCEL 2386 Content-Length: 0 2388 F10 200 OK Proxy 2 -> B 2390 SIP/2.0 200 OK 2391 Via: SIP/2.0/UDP here.com:5060 2392 From: BigGuy 2393 To: LittleGuy 2394 Call-ID: 12345600@here.com 2395 CSeq: 1 CANCEL 2396 Content-Length: 0 2398 F11 CANCEL Proxy 1 -> Proxy 2 2400 CANCEL sip: UserA@ss2.wcom.com SIP/2.0 2401 Via: SIP/2.0/UDP ss1.wcom.com:5060 2402 From: BigGuy 2403 To: LittleGuy 2404 Call-ID: 12345600@here.com 2405 CSeq: 1 CANCEL 2406 Content-Length: 0 2408 F12 200 OK Proxy 1 -> Proxy 2 2410 SIP/2.0 200 OK 2411 Via: SIP/2.0/UDP ss1.wcom.com:5060 2412 From: BigGuy 2413 To: LittleGuy 2414 Call-ID: 12345600@here.com 2415 CSeq: 1 CANCEL 2416 Content-Length: 0 2418 F13 CANCEL Proxy 2 -> B 2420 CANCEL sip: UserB@there.com SIP/2.0 2421 Via: SIP/2.0/UDP ss2.wcom.com:5060 2422 From: BigGuy 2423 To: LittleGuy 2424 Call-ID: 12345600@here.com 2425 CSeq: 1 CANCEL 2426 Content-Length: 0 2428 F14 200 OK A -> Proxy 1 2430 SIP/2.0 200 OK 2431 Via: SIP/2.0/UDP ss2.wcom.com:5060 2432 From: BigGuy 2433 To: LittleGuy 2434 Call-ID: 12345600@here.com 2435 CSeq: 1 CANCEL 2436 Content-Length: 0 2438 3.2.2 2439 Unsuccessful SIP to SIP busy 2441 User A Proxy 1 Proxy 2 User B 2442 | | | | 2443 | INVITE F1 | | | 2444 |--------------->| INVITE F2 | | 2445 | (100) F3 |--------------->| INVITE F4 | 2446 |<---------------| (100) F5 |--------------->| 2447 | |<---------------| | 2448 | | | 486 F6 | 2449 | | |<---------------| 2450 | | | ACK F7 | 2451 | | 486 F8 |--------------->| 2452 | |<---------------| | 2453 | | ACK F9 | | 2454 | 486 F10 |--------------->| | 2455 |<---------------| | | 2456 | ACK F11 | | | 2457 |--------------->| | | 2458 | | | | 2460 In this scenario, User B is busy and sends a 486 Busy Here response 2461 to User A's INVITE. Note that the 4xx response is ACKed at each 2462 signaling leg. 2464 Message Details 2466 F1 INVITE User A -> Proxy 1 2468 INVITE sip:UserB@ss1.wcom.com SIP/2.0 2469 Via: SIP/2.0/UDP here.com:5060 2470 From: BigGuy 2471 To: LittleGuy 2472 Call-ID: 12345600@here.com 2473 CSeq: 1 INVITE 2474 Contact: BigGuy 2475 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 2476 nonce="dc3a5ab2530aa93112cf5904ba7d88fa", opaque="", 2477 uri="sip:ss1.wcom.com", response="702138b27d869ac8741e10ec643d55be" 2478 Content-Type: application/sdp 2479 Content-Length: 132 2481 v=0 2482 o=UserA 2890844526 2890844526 IN IP4 here.com 2483 s=Session SDP 2484 c=IN IP4 100.101.102.103 2485 t=0 0 2486 m=audio 49170 RTP/AVP 0 2487 a=rtpmap:0 PCMU/8000 2489 /*Client for A prepares to receive data on port 49170 from the 2490 network.*/ 2492 F2 INVITE Proxy 1 -> Proxy 2 2494 INVITE sip:UserB@ss2.wcom.com SIP/2.0 2495 Via: SIP/2.0/UDP ss1.wcom.com:5060 2496 Via: SIP/2.0/UDP here.com:5060 2497 Record-Route: 2498 From: BigGuy 2499 To: LittleGuy 2500 Call-ID: 12345600@here.com 2501 CSeq: 1 INVITE 2502 Contact: BigGuy 2503 Content-Type: application/sdp 2504 Content-Length: 132 2506 v=0 2507 o=UserA 2890844526 2890844526 IN IP4 here.com 2508 s=Session SDP 2509 c=IN IP4 100.101.102.103 2510 t=0 0 2511 m=audio 49170 RTP/AVP 0 2512 a=rtpmap:0 PCMU/8000 2514 F3 (100 Trying) Proxy 1 -> User A 2516 SIP/2.0 100 Trying 2517 Via: SIP/2.0/UDP here.com:5060 2518 From: BigGuy 2519 To: LittleGuy 2520 Call-ID: 12345600@here.com 2521 CSeq: 1 INVITE 2522 Content-Length: 0 2524 F4 INVITE Proxy 2 -> User B 2526 INVITE sip:UserB@there.com SIP/2.0 2527 Via: SIP/2.0/UDP ss2.wcom.com:5060 2528 Via: SIP/2.0/UDP ss1.wcom.com:5060 2529 Via: SIP/2.0/UDP here.com:5060 2530 Record-Route: , 2531 From: BigGuy 2532 To: LittleGuy 2533 Call-ID: 12345600@here.com 2534 CSeq: 1 INVITE 2535 Contact: BigGuy 2536 Content-Type: application/sdp 2537 Content-Length: 132 2539 v=0 2540 o=UserA 2890844526 2890844526 IN IP4 here.com 2541 s=Session SDP 2542 c=IN IP4 100.101.102.103 2543 t=0 0 2544 m=audio 49170 RTP/AVP 0 2545 a=rtpmap:0 PCMU/8000 2547 F5 (100 Trying) Proxy 2 -> Proxy 1 2549 SIP/2.0 100 Trying 2550 Via: SIP/2.0/UDP ss1.wcom.com:5060 2551 Via: SIP/2.0/UDP here.com:5060 2552 From: BigGuy 2553 To: LittleGuy 2554 Call-ID: 12345600@here.com 2555 CSeq: 1 INVITE 2556 Content-Length: 0 2558 F6 486 Busy Here User B -> Proxy 2 2560 SIP/2.0 486 Busy Here 2561 Via: SIP/2.0/UDP ss2.wcom.com:5060 2562 Via: SIP/2.0/UDP ss1.wcom.com:5060 2563 Via: SIP/2.0/UDP here.com:5060 2564 From: BigGuy 2565 To: LittleGuy 2566 Call-ID: 12345600@here.com 2567 CSeq: 1 INVITE 2568 Content-Length: 0 2570 F7 ACK Proxy 2 -> User B 2572 ACK sip: UserB@there.com SIP/2.0 2573 Via: SIP/2.0/UDP ss2.wcom.com:5060 2574 From: BigGuy 2575 To: LittleGuy ;tag=314159 2576 Call-ID: 12345600@here.com 2577 CSeq: 1 ACK 2578 Content-Length: 0 2579 F8 486 Busy Here Proxy 2 -> Proxy 1 2581 SIP/2.0 486 Busy Here 2582 Via: SIP/2.0/UDP ss1.wcom.com:5060 2583 Via: SIP/2.0/UDP here.com:5060 2584 From: BigGuy 2585 To: LittleGuy 2586 Call-ID: 12345600@here.com 2587 CSeq: 1 INVITE 2588 Content-Length: 0 2590 F9 ACK Proxy 1 -> Proxy 2 2592 ACK sip:UserB@ss2.wcom.com SIP/2.0 2593 Via: SIP/2.0/UDP ss1.wcom.com:5060 2594 From: BigGuy 2595 To: LittleGuy ;tag=314159 2596 Call-ID: 12345600@here.com 2597 CSeq: 1 ACK 2598 Content-Length: 0 2600 F10 486 Busy Here Proxy 1 -> User A 2602 SIP/2.0 486 Busy Here 2603 Via: SIP/2.0/UDP here.com:5060 2604 From: BigGuy 2605 To: LittleGuy 2606 Call-ID: 12345600@here.com 2607 CSeq: 1 INVITE 2608 Content-Length: 0 2610 F11 ACK User A -> Proxy 1 2612 ACK sip:UserB@ss1.wcom.com SIP/2.0 2613 Via: SIP/2.0/UDP here.com:5060 2614 From: BigGuy 2615 To: LittleGuy ;tag=314159 2616 Call-ID: 12345600@here.com 2617 CSeq: 1 ACK 2618 Content-Length: 0 2620 3.2.3 2621 Unsuccessful SIP to SIP no response 2623 User A Proxy 1 Proxy 2 User B 2624 | | | | 2625 | INVITE F1 | | | 2626 |--------------->| INVITE F2 | | 2627 | (100) F3 |--------------->| INVITE F4 | 2628 |<---------------| (100) F5 |--------------->| 2629 | |<---------------| INVITE F6 | 2630 | | |--------------->| 2631 | | | INVITE F7 | 2632 | | |--------------->| 2633 | | | INVITE F8 | 2634 | | |--------------->| 2635 | | | INVITE F9 | 2636 | | |--------------->| 2637 | | | INVITE F10 | 2638 | | |--------------->| 2639 | | | INVITE F11 | 2640 | | |--------------->| 2641 | | | CANCEL F12 | 2642 | | 480 F13 |--------------->| 2643 | |<---------------| | 2644 | | ACK F14 | | 2645 | 480 F15 |--------------->| | 2646 |<---------------| | | 2647 | ACK F16 | | | 2648 |--------------->| | | 2649 | | | | 2651 In this example, there is no response from User B to User A's INVITE 2652 messages being re-transmitted by Proxy 2. After the sixth re- 2653 transmission, Proxy 2 gives up and sends a CANCEL to User B and a 480 2654 No Response to User A. Note that the CANCEL would also be 2655 retransmitted six times, as governed by SIP timer T1 as in Call Flow 2656 5.2.6. 2658 Message Details 2660 F1 INVITE User A -> Proxy 1 2662 INVITE sip:UserB@ss1.wcom.com SIP/2.0 2663 Via: SIP/2.0/UDP here.com:5060 2664 From: BigGuy 2665 To: LittleGuy 2666 Call-ID: 12345600@here.com 2667 CSeq: 1 INVITE 2668 Contact: BigGuy 2669 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 2670 nonce="cf5904ba7d8dc3a5ab2530aa931128fa", opaque="", 2671 uri="sip:ss1.wcom.com", response="7afc04be7961f053c24f80e7dbaf888f" 2672 Content-Type: application/sdp 2673 Content-Length: 132 2675 v=0 2676 o=UserA 2890844526 2890844526 IN IP4 here.com 2677 s=Session SDP 2678 c=IN IP4 100.101.102.103 2679 t=0 0 2680 m=audio 49170 RTP/AVP 0 2681 a=rtpmap:0 PCMU/8000 2683 /*Client for A prepares to receive data on port 49170 from the 2684 network.*/ 2686 F2 INVITE Proxy 1 -> Proxy 2 2688 INVITE sip:UserB@ss2.wcom.com SIP/2.0 2689 Via: SIP/2.0/UDP ss1.wcom.com:5060 2690 Via: SIP/2.0/UDP here.com:5060 2691 Record-Route: 2692 From: BigGuy 2693 To: LittleGuy 2694 Call-ID: 12345600@here.com 2695 CSeq: 1 INVITE 2696 Contact: BigGuy 2697 Content-Type: application/sdp 2698 Content-Length: 132 2700 v=0 2701 o=UserA 2890844526 2890844526 IN IP4 here.com 2702 s=Session SDP 2703 c=IN IP4 100.101.102.103 2704 t=0 0 2705 m=audio 49170 RTP/AVP 0 2706 a=rtpmap:0 PCMU/8000 2708 F3 (100 Trying) Proxy 1 -> User A 2710 SIP/2.0 100 Trying 2711 Via: SIP/2.0/UDP here.com:5060 2712 From: BigGuy 2713 To: LittleGuy 2714 Call-ID: 12345600@here.com 2715 CSeq: 1 INVITE 2716 Content-Length: 0 2718 F4 INVITE Proxy 2 -> User B 2720 INVITE sip:UserB@there.com SIP/2.0 2721 Via: SIP/2.0/UDP ss2.wcom.com:5060 2722 Via: SIP/2.0/UDP ss1.wcom.com:5060 2723 Via: SIP/2.0/UDP here.com:5060 2724 Record-Route: , 2725 From: BigGuy 2726 To: LittleGuy 2727 Call-ID: 12345600@here.com 2728 CSeq: 1 INVITE 2729 Contact: BigGuy 2730 Content-Type: application/sdp 2731 Content-Length: 132 2733 v=0 2734 o=UserA 2890844526 2890844526 IN IP4 here.com 2735 s=Session SDP 2736 c=IN IP4 100.101.102.103 2737 t=0 0 2738 m=audio 49170 RTP/AVP 0 2739 a=rtpmap:0 PCMU/8000 2741 F5 (100 Trying) Proxy 2 -> Proxy 1 2743 SIP/2.0 100 Trying 2744 Via: SIP/2.0/UDP ss1.wcom.com:5060 2745 Via: SIP/2.0/UDP here.com:5060 2746 From: BigGuy 2747 To: LittleGuy 2748 Call-ID: 12345600@here.com 2749 CSeq: 1 INVITE 2750 Content-Length: 0 2752 F6 INVITE Proxy 2 -> User B 2754 Resend of Message F4 2756 F7 INVITE Proxy 2 -> User B 2758 Resend of Message F4 2760 F8 INVITE Proxy 2 -> User B 2761 Resend of Message F4 2763 F9 INVITE Proxy 2 -> User B 2765 Resend of Message F4 2767 F10 INVITE Proxy 2 -> User B 2769 Resend of Message F4 2771 F11 INVITE Proxy 2 -> User B 2773 Resend of Message F4 2775 F12 CANCEL Proxy 2 -> User B 2777 CANCEL sip:UserB@there.com SIP/2.0 2778 Via: SIP/2.0/UDP ss2.wcom.com:5060 2779 From: BigGuy 2780 To: LittleGuy 2781 Call-ID: 12345600@here.com 2782 CSeq: 1 CANCEL 2783 Content-Length: 0 2785 F13 480 No Response Proxy 2 -> Proxy 1 2787 SIP/2.0 480 No Response 2788 Via: SIP/2.0/UDP ss1.wcom.com:5060 2789 Via: SIP/2.0/UDP here.com:5060 2790 From: BigGuy 2791 To: LittleGuy 2792 Call-ID: 12345600@here.com 2793 CSeq: 1 INVITE 2794 Content-Length: 0 2796 F14 ACK Proxy 1 -> Proxy 2 2798 ACK sip:UserB@ss2.wcom.com SIP/2.0 2799 Via: SIP/2.0/UDP ss1.wcom.com:5060 2800 From: BigGuy 2801 To: LittleGuy ;tag=314159 2802 Call-ID: 12345600@here.com 2803 CSeq: 1 ACK 2804 Content-Length: 0 2806 F15 480 No Response Proxy 1 -> User A 2808 SIP/2.0 480 No Response 2809 Via: SIP/2.0/UDP here.com:5060 2810 From: BigGuy 2811 To: LittleGuy 2812 Call-ID: 12345600@here.com 2813 CSeq: 1 INVITE 2814 Content-Length: 0 2816 F16 ACK User A -> Proxy 1 2818 ACK sip:UserB@ss1.wcom.com SIP/2.0 2819 Via: SIP/2.0/UDP here.com:5060 2820 From: BigGuy 2821 To: LittleGuy ;tag=314159 2822 Call-ID: 12345600@here.com 2823 CSeq: 1 ACK 2824 Content-Length: 0 2826 3.2.4 2827 Unsuccessful SIP to SIP Temporarily Unavailable 2829 User A Proxy 1 Proxy 2 User B 2830 | | | | 2831 | INVITE F1 | | | 2832 |--------------->| INVITE F2 | | 2833 | (100) F4 |--------------->| INVITE F3 | 2834 |<---------------| (100) F5 |--------------->| 2835 | |<---------------| (100) F6 | 2836 | | |<---------------| 2837 | | | 180 F7 | 2838 | | 180 F8 |<---------------| 2839 | 180 F9 |<---------------| | 2840 |<---------------| | 480 F10 | 2841 | | |<---------------| 2842 | | | ACK F11 | 2843 | | 480 F12 |--------------->| 2844 | |<---------------| | 2845 | | ACK F13 | | 2846 | 480 F14 |--------------->| | 2847 |<---------------| | | 2848 | ACK F15 | | | 2849 |--------------->| | | 2850 | | | | 2852 In this scenario, User B initially sends a 180 Ringing response to 2853 User A, indicating that alerting is taking place. However, then a 2854 480 Unavailable is then sent to User A. This response is 2855 acknowledged then proxied back to User A. 2857 Message Details 2859 F1 INVITE A -> Proxy 1 2861 INVITE sip:UserB@ss1.wcom.com SIP/2.0 2862 Via: SIP/2.0/UDP here.com:5060 2863 From: BigGuy 2864 To: LittleGuy 2865 Call-ID: 12345600@here.com 2866 CSeq: 1 INVITE 2867 Contact: BigGuy 2868 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 2869 nonce="aa9311cf5904ba7d8dc3a5ab253028fa", opaque="", 2870 uri="sip:ss1.wcom.com", response="59a46a91bf1646562a4d486c84b399db" 2871 Content-Type: application/sdp 2872 Content-Length: 132 2873 v=0 2874 o=UserA 2890844526 2890844526 IN IP4 here.com 2875 s=Session SDP 2876 c=IN IP4 100.101.102.103 2877 t=0 0 2878 m=audio 49170 RTP/AVP 0 2879 a=rtpmap:0 PCMU/8000 2881 /*Client for A prepares to receive data on port 49170 from the 2882 network.*/ 2884 F2 INVITE Proxy 1 -> Proxy 2 2886 INVITE sip:UserB@ss2.wcom.com SIP/2.0 2887 Via: SIP/2.0/UDP ss1.wcom.com:5060 2888 Via: SIP/2.0/UDP here.com:5060 2889 Record-Route: 2890 From: BigGuy 2891 To: LittleGuy 2892 Call-ID: 12345600@here.com 2893 CSeq: 1 INVITE 2894 Contact: BigGuy 2895 Content-Type: application/sdp 2896 Content-Length: 132 2898 v=0 2899 o=UserA 2890844526 2890844526 IN IP4 here.com 2900 s=Session SDP 2901 c=IN IP4 100.101.102.103 2902 t=0 0 2903 m=audio 49170 RTP/AVP 0 2904 a=rtpmap:0 PCMU/8000 2906 F3 INVITE Proxy 2 -> B 2908 INVITE sip:UserB@there.com SIP/2.0 2909 Via: SIP/2.0/UDP ss2.wcom.com:5060 2910 Via: SIP/2.0/UDP ss1.wcom.com:5060 2911 Via: SIP/2.0/UDP here.com:5060 2912 Record-Route: , 2913 From: BigGuy 2914 To: LittleGuy 2915 Call-ID: 12345600@here.com 2916 CSeq: 1 INVITE 2917 Contact: BigGuy 2918 Content-Type: application/sdp 2919 Content-Length: 132 2920 v=0 2921 o=UserA 2890844526 2890844526 IN IP4 here.com 2922 s=Session SDP 2923 c=IN IP4 100.101.102.103 2924 t=0 0 2925 m=audio 49170 RTP/AVP 0 2926 a=rtpmap:0 PCMU/8000 2928 F4 (100 Trying) Proxy 1 -> A 2930 SIP/2.0 100 Trying 2931 Via: SIP/2.0/UDP here.com:5060 2932 From: BigGuy 2933 To: LittleGuy 2934 Call-ID: 12345600@here.com 2935 CSeq: 1 INVITE 2936 Content-Length: 0 2938 F5 (100 Trying) Proxy 2 -> Proxy 1 2940 SIP/2.0 100 Trying 2941 Via: SIP/2.0/UDP ss1.wcom.com:5060 2942 Via: SIP/2.0/UDP here.com:5060 2943 From: BigGuy 2944 To: LittleGuy 2945 Call-ID: 12345600@here.com 2946 CSeq: 1 INVITE 2947 Content-Length: 0 2949 F6 (100 Trying) User B -> Proxy 2 2951 SIP/2.0 100 Trying 2952 Via: SIP/2.0/UDP ss2.wcom.com:5060 2953 Via: SIP/2.0/UDP ss1.wcom.com:5060 2954 Via: SIP/2.0/UDP here.com:5060 2955 From: BigGuy 2956 To: LittleGuy 2957 Call-ID: 12345600@here.com 2958 CSeq: 1 INVITE 2959 Content-Length: 0 2961 F7 180 Ringing B -> Proxy 2 2963 SIP/2.0 180 Ringing 2964 Via: SIP/2.0/UDP ss2.wcom.com:5060 2965 Via: SIP/2.0/UDP ss1.wcom.com:5060 2966 Via: SIP/2.0/UDP here.com:5060 2967 From: BigGuy 2968 To: LittleGuy ;tag=314159 2969 Call-ID: 12345600@here.com 2970 CSeq: 1 INVITE 2971 Content-Length: 0 2973 F8 180 Ringing Proxy 2 -> Proxy 1 2975 SIP/2.0 180 Ringing 2976 Via: SIP/2.0/UDP ss1.wcom.com:5060 2977 Via: SIP/2.0/UDP here.com:5060 2978 From: BigGuy 2979 To: LittleGuy ;tag=314159 2980 Call-ID: 12345600@here.com 2981 CSeq: 1 INVITE 2982 Content-Length: 0 2984 F9 180 Ringing Proxy 1 -> A 2986 SIP/2.0 180 Ringing 2987 Via: SIP/2.0/UDP here.com:5060 2988 From: BigGuy 2989 To: LittleGuy ;tag=314159 2990 Call-ID: 12345600@here.com 2991 CSeq: 1 INVITE 2992 Content-Length: 0 2994 F10 480 Temporarily Unavailable B -> Proxy 2 2996 SIP/2.0 480 Temporarily Unavailable 2997 Via: SIP/2.0/UDP ss2.wcom.com:5060 2998 Via: SIP/2.0/UDP ss1.wcom.com:5060 2999 Via: SIP/2.0/UDP here.com:5060 3000 From: BigGuy 3001 To: LittleGuy ;tag=314159 3002 Call-ID: 12345600@here.com 3003 CSeq: 1 INVITE 3004 Content-Length: 0 3006 F11 ACK Proxy 2 -> B 3008 ACK sip: UserB@there.com SIP/2.0 3009 Via: SIP/2.0/UDP ss2.wcom.com:5060 3010 From: BigGuy 3011 To: LittleGuy ;tag=314159 3012 Call-ID: 12345600@here.com 3013 CSeq: 1 ACK 3014 Content-Length: 0 3016 F12 480 Temporarily Unavailable Proxy 2 -> Proxy 1 3018 SIP/2.0 480 Temporarily Unavailable 3019 Via: SIP/2.0/UDP ss1.wcom.com:5060 3020 Via: SIP/2.0/UDP here.com:5060 3021 From: BigGuy 3022 To: LittleGuy ;tag=314159 3023 Call-ID: 12345600@here.com 3024 CSeq: 1 INVITE 3025 Content-Length: 0 3027 F13 ACK Proxy 1 -> Proxy 2 3029 ACK sip: UserB@ss2.wcom.com SIP/2.0 3030 Via: SIP/2.0/UDP ss1.wcom.com:5060 3031 From: BigGuy 3032 To: LittleGuy ;tag=314159 3033 Call-ID: 12345600@here.com 3034 CSeq: 1 ACK 3035 Content-Length: 0 3037 F14 480 Temporarily Unavailable Proxy 1 -> A 3039 SIP/2.0 480 Temporarily Unavailable 3040 Via: SIP/2.0/UDP here.com:5060 3041 From: BigGuy 3042 To: LittleGuy ;tag=314159 3043 Call-ID: 12345600@here.com 3044 CSeq: 1 INVITE 3045 Content-Length: 0 3047 F15 ACK A -> Proxy 1 3049 ACK sip:UserB@ss1.wcom.com SIP/2.0 3050 Via: SIP/2.0/UDP here.com:5060 3051 From: BigGuy 3052 To: LittleGuy ;tag=314159 3053 Call-ID: 12345600@here.com 3054 CSeq: 1 ACK 3055 Content-Length: 0 3057 4 SIP to Gateway Dialing 3059 In the following scenarios, User A (BigGuy sip:UserA@here.com) is a 3060 SIP phone or other SIP-enabled device. User B is reachable via the 3061 PSTN at global telephone number +1-972-555-2222. User A places a call 3062 to User B through a Proxy Server Proxy 1 and a Network Gateway. In 3063 other scenarios, User A places calls to User C, who is served via a 3064 PBX (Private Branch Exchange) and is identified by a private 3065 extension 444-3333, or global number +1-918-555-3333. Note that User 3066 A uses his/her global telephone number +1-314-555-1111 in the From 3067 header in the INVITE messages. This then gives the Gateway the 3068 option of using this header to populate the calling party 3069 identification field in subsequent signaling (CgPN in ISUP). Left 3070 open is the issue of how the Gateway can determine the accuracy of 3071 the telephone number, necessary before passing it as a valid CgPN in 3072 the PSTN. Note that User A still uses his/her SIP URL in the Contact 3073 header, since the call could be redirected back to the SIP network. 3075 There is a major difference in the call flows in this section. In- 3076 band alerting (ringing tone, busy tone, recorded announcements, etc.) 3077 is present in the PSTN speech path after the receipt of the SS7 3078 Address Complete Message (ACM) which maps to the SIP 180 Ringing 3079 response. In a SIP to SIP call, the media path is not established 3080 until the call is answered (200 OK sent). In order for the SIP 3081 caller User A to hear this alerting, it is necessary that an early 3082 media path be established to perform this. This is the purpose of 3083 the 183 Session Progress[5] responses used throughout this document 3084 in place of the 180 Ringing. 3086 One example of the use of reliable provisional responses[6] for the 3087 183 Session Progress message is given in scenario 4.1.2. 3089 4.1 Success Scenarios 3091 In these scenarios, User A is a SIP phone or other SIP-enabled 3092 device. User A places a call to User B in the PSTN or User C on a 3093 PBX through a Proxy Server Proxy 1 and a Gateway. 3095 4.1.1 3096 Successful SIP to ISUP PSTN call 3098 User A Proxy 1 NGW 1 User B 3099 | | | | 3100 | INVITE F1 | | | 3101 |--------------->| | | 3102 | (100) F2 | | | 3103 |<---------------| INVITE F3 | | 3104 | |--------------->| | 3105 | | (100) F4 | | 3106 | |<---------------| IAM F5 | 3107 | | |--------------->| 3108 | | | ACM F6 | 3109 | | 183 F7 |<---------------| 3110 | 183 F8 |<---------------| | 3111 |<---------------| | | 3112 | Both Way RTP Media | One Way Voice | 3113 |<===============================>|<===============| 3114 | | | ANM F9 | 3115 | | 200 F10 |<---------------| 3116 | 200 F11 |<---------------| | 3117 |<---------------| | | 3118 | ACK F12 | | | 3119 |--------------->| ACK F13 | | 3120 | |--------------->| | 3121 | Both Way RTP Media | Both Way Voice | 3122 |<===============================>|<==============>| 3123 | BYE F14 | | | 3124 |--------------->| BYE F15 | | 3125 | |--------------->| | 3126 | | 200 F16 | | 3127 | 200 F17 |<---------------| REL F18 | 3128 |<---------------| |--------------->| 3129 | | | RLC F19 | 3130 | | |<---------------| 3131 | | | | 3133 User A dials the globalized E.164 number +1-972-555-2222 to reach 3134 User B. Note that A might have only dialed the last 7 digits, or 3135 some other dialing plan. It is assumed that the SIP User Agent 3136 Client converts the digits into a global number and puts them into a 3137 SIP URL. 3139 User A could use either their SIP address (sip:UserA@here.com) or SIP 3140 telephone number (sip:+1-314-555-1111@ss1.wcom.com;user=phone) in the 3141 From header. In this example, the telephone number is included, and 3142 it is shown as being passed as calling party identification through 3143 the Network Gateway (NGW 1) to User B (F5). Note that for this 3144 number to be passed into the SS7 network, it would have to be somehow 3145 verified for accuracy. 3147 In this scenario, User B answers the call then User A disconnects the 3148 call. Signaling between NGW 1 and User B's telephone switch is ANSI 3149 ISUP. 3151 Message Details 3153 F1 INVITE A -> Proxy 1 3155 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 3156 Via: SIP/2.0/UDP here.com:5060 3157 From: BigGuy ;user=phone 3158 To: LittleGuy ;user=phone 3159 Call-ID: 12345600@here.com 3160 CSeq: 1 INVITE 3161 Contact: BigGuy 3162 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 3163 nonce="dc3a5ab25302aa931904ba7d88fa1cf5", opaque="", 3164 uri="sip:ss1.wcom.com", response="ccdca50cb091d587421457305d097458c" 3165 Content-Type: application/sdp 3166 Content-Length: 132 3168 v=0 3169 o=UserA 2890844526 2890844526 IN IP4 here.com 3170 s=Session SDP 3171 c=IN IP4 here.com 3172 t=0 0 3173 m=audio 49170 RTP/AVP 0 3174 a=rtpmap:0 PCMU/8000 3176 F2 (100 Trying) Proxy 1 -> User A 3178 SIP/2.0 100 Trying 3179 Via: SIP/2.0/UDP here.com:5060 3180 From: BigGuy ;user=phone 3181 To: LittleGuy ;user=phone 3182 Call-ID: 12345600@here.com 3183 CSeq: 1 INVITE 3184 Content-Length: 0 3186 /* Proxy 1 uses a location manager function to determine where B is 3187 located. Based upon location analysis the call is forwarded to NGW 3188 1. Client for A prepares to receive data on port 49170 from the 3189 network.*/ 3191 F3 INVITE Proxy 1 -> NGW 1 3193 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 3194 Via: SIP/2.0/UDP ss1.wcom.com:5060 3195 Via: SIP/2.0/UDP here.com:5060 3196 Record-Route: 3197 From: BigGuy ;user=phone 3198 To: LittleGuy ;user=phone 3199 Call-ID: 12345600@here.com 3200 CSeq: 1 INVITE 3201 Contact: BigGuy 3202 Content-Type: application/sdp 3203 Content-Length: 132 3205 v=0 3206 o=UserA 2890844526 2890844526 IN IP4 here.com 3207 s=Session SDP 3208 c=IN IP4 here.com 3209 t=0 0 3210 m=audio 49170 RTP/AVP 0 3211 a=rtpmap:0 PCMU/8000 3213 F4 (100 Trying) NGW 1 -> Proxy 1 3215 SIP/2.0 100 Trying 3216 Via: SIP/2.0/UDP ss1.wcom.com:5060 3217 From: BigGuy ;user=phone 3218 To: LittleGuy ;user=phone 3219 Call-ID: 12345600@here.com 3220 CSeq: 1 INVITE 3221 Content-Length: 0 3223 F5 IAM NGW 1 -> User B 3225 IAM 3226 CdPN=972-555-2222,NPI=E.164,NOA=National 3227 CgPN=314-555-1111,NPI=E.164,NOA=National 3228 USI=Speech 3229 CPT=0 0 3230 C=Normal 3231 CCI=Not Required 3233 F6 ACM User B -> NGW 1 3234 ACM 3235 Charge Indicator=No Charge 3236 Called Party Status=no indication 3237 Called Party's Category=ordinary subscriber 3238 End To End Method=none available 3239 Interworking=encountered 3240 End to End Information=none available 3241 ISUP Indicator=not used all the way 3242 ISDN Access Terminating access non ISDN 3243 Echo Control=not included 3245 F7 183 Session Progress NGW 1 -> Proxy 1 3247 SIP/2.0 183 Session Progress 3248 Via: SIP/2.0/UDP ss1.wcom.com:5060 3249 Via: SIP/2.0/UDP here.com:5060 3250 From: BigGuy ;user=phone 3251 To: LittleGuy ;user=phone 3252 ;tag=314159 3253 Call-ID: 12345600@here.com 3254 CSeq: 1 INVITE 3255 Content-Type: application/sdp 3256 Content-Length: 150 3258 v=0 3259 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 3260 s=Session SDP 3261 c=IN IP4 gatewayone.wcom.com 3262 t=0 0 3263 m=audio 3456 RTP/AVP 0 3264 a=rtpmap:0 PCMU/8000 3266 /* Proxy 1 proxies the OK to User A. At this point NGW 1 will start 3267 sending an RTP path to the receive port on A encoding anything that 3268 is being received from B via the PSTN network (i.e. ringing) */ 3270 F8 183 Session Progress Proxy 1 -> User A 3272 SIP/2.0 183 Session Progress 3273 Via: SIP/2.0/UDP here.com:5060 3274 From: BigGuy ;user=phone 3275 To: LittleGuy ;user=phone 3276 ;tag=314159 3277 Call-ID: 12345600@here.com 3278 CSeq: 1 INVITE 3279 Content-Type: application/sdp 3280 Content-Length: 150 3281 v=0 3282 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 3283 s=Session SDP 3284 c=IN IP4 gatewayone.wcom.com 3285 t=0 0 3286 m=audio 3456 RTP/AVP 0 3287 a=rtpmap:0 PCMU/8000 3289 F9 ANM User B -> NGW 1 3291 ANM 3293 F10 200 OK NGW 1 -> Proxy 1 3295 SIP/2.0 200 OK 3296 Via: SIP/2.0/UDP ss1.wcom.com:5060 3297 Via: SIP/2.0/UDP here.com:5060 3298 Record-Route: 3299 From: BigGuy ;user=phone 3300 To: LittleGuy ;user=phone 3301 ;tag=314159 3302 Call-ID: 12345600@here.com 3303 CSeq: 1 INVITE 3304 Contact: sip:+1-972-555-2222@ngw1.wcom.com;user=phone 3305 Content-Type: application/sdp 3306 Content-Length: 150 3308 v=0 3309 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 3310 s=Session SDP 3311 c=IN IP4 gatewayone.wcom.com 3312 t=0 0 3313 m=audio 3456 RTP/AVP 0 3314 a=rtpmap:0 PCMU/8000 3316 F11 200 OK Proxy 1 -> User A 3318 SIP/2.0 200 OK 3319 Via: SIP/2.0/UDP here.com:5060 3320 Record-Route: 3321 From: BigGuy ;user=phone 3322 To: LittleGuy ;user=phone 3323 ;tag=314159 3324 Call-ID: 12345600@here.com 3325 CSeq: 1 INVITE 3326 Contact: sip:+1-972-555-2222@ngw1.wcom.com;user=phone 3327 Content-Type: application/sdp 3328 Content-Length: 150 3330 v=0 3331 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 3332 s=Session SDP 3333 c=IN IP4 gatewayone.wcom.com 3334 t=0 0 3335 m=audio 3456 RTP/AVP 0 3336 a=rtpmap:0 PCMU/8000 3338 F12 ACK A -> Proxy 1 3340 ACK sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 3341 Via: SIP/2.0/UDP here.com:5060 3342 Route: 3343 From: BigGuy ;user=phone 3344 To: LittleGuy ;user=phone 3345 ;tag=314159 3346 Call-ID: 12345600@here.com 3347 CSeq: 1 ACK 3348 Content-Length: 0 3350 F13 ACK Proxy 1 -> NGW 1 3352 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 3353 Via: SIP/2.0/UDP ss1.wcom.com:5060 3354 Via: SIP/2.0/UDP here.com:5060 3355 From: BigGuy ;user=phone 3356 To: LittleGuy ;user=phone 3357 ;tag=314159 3358 Call-ID: 12345600@here.com 3359 CSeq: 1 ACK 3360 Content-Length: 0 3362 /* RTP streams are established between A and B (via NGW 1) */ 3364 /* User A Hangs Up with User B. */ 3366 F14 BYE A -> Proxy 1 3368 BYE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 3369 Via: SIP/2.0/UDP here.com:5060 3370 Route: 3371 From: BigGuy ;user=phone 3372 To: LittleGuy ;user=phone 3373 ;tag=314159 3374 Call-ID: 12345600@here.com 3375 CSeq: 2 BYE 3376 Content-Length: 0 3378 F15 BYE Proxy 1 -> NGW 1 3380 BYE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 3381 Via: SIP/2.0/UDP ss1.wcom.com:5060 3382 Via: SIP/2.0/UDP here.com:5060 3383 From: BigGuy ;user=phone 3384 To: LittleGuy ;user=phone 3385 ;tag=314159 3386 Call-ID: 12345600@here.com 3387 CSeq: 2 BYE 3388 Content-Length: 0 3390 F16 200 OK NGW 1 -> Proxy 1 3392 SIP/2.0 200 OK 3393 Via: SIP/2.0/UDP ss1.wcom.com:5060 3394 Via: SIP/2.0/UDP here.com:5060 3395 From: BigGuy ;user=phone 3396 To: LittleGuy ;user=phone 3397 ;tag=314159 3398 Call-ID: 12345600@here.com 3399 CSeq: 2 BYE 3400 Content-Length: 0 3402 F17 200 OK Proxy 1 -> A 3404 SIP/2.0 200 OK 3405 Via: SIP/2.0/UDP here.com:5060 3406 From: BigGuy ;user=phone 3407 To: LittleGuy ;user=phone 3408 ;tag=314159 3409 Call-ID: 12345600@here.com 3410 CSeq: 2 BYE 3411 Content-Length: 0 3413 F18 REL NGW 1 -> B 3415 REL 3416 CauseCode=16 Normal 3417 CodingStandard=CCITT 3419 F19 RLC B -> NGW 1 3420 RLC 3422 4.1.2 3423 Successful SIP to ISDN PBX call 3425 User A Proxy 1 GW 1 PBX C 3426 | | | | 3427 | INVITE F1 | | | 3428 |--------------->| | | 3429 | 406 F2 | | | 3430 |<---------------| | | 3431 | ACK F3 | | | 3432 |--------------->| | | 3433 | INVITE F4 | | | 3434 |--------------->| | | 3435 | (100) F5 | | | 3436 |<---------------| INVITE F6 | | 3437 | |--------------->| | 3438 | | (100) F7 | | 3439 | |<---------------| SETUP F8 | 3440 | | |--------------->| 3441 | | | CALL PROC F9 | 3442 | | |<---------------| 3443 | | | PROGress F10 | 3444 | | 183 F11 |<---------------| 3445 | 183 F12 |<---------------| | 3446 |<---------------| | | 3447 | PRACK F13 | | | 3448 |--------------->| PRACK F14 | | 3449 | |--------------->| | 3450 | | 200 F15 | | 3451 | 200 F16 |<---------------| | 3452 |<---------------| | | 3453 | Both Way RTP Media | One Way Voice | 3454 |<===============================>|<===============| 3455 | | | CONNect F17 | 3456 | | |<---------------| 3457 | | | CONNect ACK F18| 3458 | | 200 F19 |--------------->| 3459 | 200 F20 |<---------------| | 3460 |<---------------| | | 3461 | ACK F21 | | | 3462 |--------------->| ACK F22 | | 3463 | |--------------->| | 3464 | Both Way RTP Media | Both Way Voice | 3465 |<===============================>|<==============>| 3466 | BYE F23 | | | 3467 |--------------->| BYE F24 | | 3468 | |--------------->| | 3469 | | 200 F25 | | 3470 | 200 F26 |<---------------| DISConnect F27 | 3471 |<---------------| |--------------->| 3472 | | | RELease F28 | 3473 | | |<---------------| 3474 | | | RELease COM F29| 3475 | | |--------------->| 3476 | | | | 3478 User A is a SIP device while User C is connected via an Enterprise 3479 Gateway (GW 1) to a PBX. The PBX connection is via a ISDN trunk 3480 group. User A dials User C's telephone number (918-555-3333) which 3481 is globalized and put into a SIP URL. 3483 In this example, the initial INVITE is processed by the Proxy which 3484 determines that the Enterprise Gateway in the call route requires the 3485 in-band alerting response 183 Session Progress to be sent 3486 reliably[6]. The absence of a Supported header in the INVITE 3487 indicating support by User A of the Reliable Provisional Response 3488 extension (org.ietf.sip.100rel) causes the Proxy to reject the call 3489 with a 406 Not Acceptable containing the Required: 3490 org.ietf.sip.100rel header. User A then re-sends the INVITE 3491 containing the Supported header. 3493 The phone-context tag in the Request-URI in the INVITE F6 is used to 3494 identify the context (customer, trunk group, or line) in which the 3495 private number 444-3333 is valid. Otherwise, this INVITE message 3496 could get forwarded by GW 1 and the context of the digits could 3497 become lost and the call unroutable. See section 1.1 for a 3498 discussion of phone-context. 3500 Proxy 1 looks up the telephone number and locates the Enterprise 3501 Gateway that serves User C. User C is identified by its extension 3502 (444-3333) in the Request-URI sent to GW 1. 3504 User A hears the ringing provided by the Gateway on the media path 3505 established after the 183 Session Progress response is received. 3506 Signaling between GW1 and PBX C is shown as ISDN. 3508 The 183 response contains the RSeq header which causes User A to 3509 acknowledge receipt of the provisional response message by sending a 3510 PRACK (Provisional Response Acknowledgement) request. GW 1 receives 3511 the PRACK containing the RAck header and responds with a 200 OK. 3513 Message Details 3515 F1 INVITE A -> Proxy 1 3517 INVITE sip:+1-918-555-3333@ss1.wcom.com;user=phone SIP/2.0 3518 Via: SIP/2.0/UDP here.com:5060 3519 From: BigGuy ;user=phone 3520 To: OtherGuy ;user=phone 3521 Call-ID: 12345600@here.com 3522 CSeq: 1 INVITE 3523 Contact: BigGuy 3524 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 3525 nonce="qo0dc3a5ab22aa931904badfa1cf5j9h", opaque="", 3526 uri="sip:ss1.wcom.com", response="6c792f5c9fa360358b93c7fb826bf550" 3527 Content-Type: application/sdp 3528 Content-Length: 147 3530 v=0 3531 o=UserA 2890844526 2890844526 IN IP4 here.com 3532 s=Session SDP 3533 c=IN IP4 here.com 3534 t=0 0 3535 m=audio 49170 RTP/AVP 0 3536 a=rtpmap:0 PCMU/8000 3538 /* Proxy 1 uses a location manager function to determine where B is 3539 located. GW 1 requires use of Reliable Provisional Response. Since 3540 User has not indicated that it supports this extension, the INVITE is 3541 rejected. */ 3543 F2 406 Not Acceptable Proxy 1 -> User A 3545 SIP/2.0 406 Not Acceptable 3546 Via: SIP/2.0/UDP here.com:5060 3547 From: BigGuy ;user=phone 3548 To: OtherGuy ;user=phone 3549 Call-ID: 12345600@here.com 3550 CSeq: 1 INVITE 3551 Require: org.ietf.sip.100rel 3552 Proxy-Authenticate: Digest realm="MCI WorldCom SIP", 3553 domain="wcom.com", nonce="x41ae6cbe5aea9c8e8wf84f1cecz8d359", 3554 opaque="", stale="FALSE", algorithm="MD5" 3555 Content-Length: 0 3557 F3 ACK A -> Proxy 1 3559 ACK sip:+1-918-555-3333@ss1.wcom.com;user=phone SIP/2.0 3560 Via: SIP/2.0/UDP here.com:5060 3561 From: BigGuy ;user=phone 3562 To: OtherGuy ;user=phone 3563 Call-ID: 12345600@here.com 3564 CSeq: 1 INVITE 3565 Content-Length: 0 3567 /* User A re-sends the INVITE indicating support of the extension. */ 3568 F4 INVITE A -> Proxy 1 3570 INVITE sip:+1-918-555-3333@ss1.wcom.com;user=phone SIP/2.0 3571 Via: SIP/2.0/UDP here.com:5060 3572 From: BigGuy ;user=phone 3573 To: OtherGuy ;user=phone 3574 Call-ID: 12345600@here.com 3575 CSeq: 2 INVITE 3576 Contact: BigGuy 3577 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 3578 nonce="x41ae6cbe5aea9c8e8wf84f1cecz8d359", opaque="", 3579 uri="sip:ss1.wcom.com", response="f27e0e74cc29ee4761d342bdd6719edd" 3580 Supported: org.ietf.sip.100rel 3581 Content-Type: application/sdp 3582 Content-Length: 147 3584 v=0 3585 o=UserA 2890844526 2890844526 IN IP4 here.com 3586 s=Session SDP 3587 c=IN IP4 here.com 3588 t=0 0 3589 m=audio 49170 RTP/AVP 0 3590 a=rtpmap:0 PCMU/8000 3592 F5 (100 Trying) Proxy 1 -> User A 3594 SIP/2.0 100 Trying 3595 Via: SIP/2.0/UDP here.com:5060 3596 From: BigGuy ;user=phone 3597 To: OtherGuy ;user=phone 3598 Call-ID: 12345600@here.com 3599 CSeq: 2 INVITE 3600 Content-Length: 0 3602 F6 INVITE Proxy 1 -> GW 1 3604 INVITE sip:444-3333@gw1.wcom.com;phone-context=p1234 SIP/2.0 3605 Via: SIP/2.0/UDP ss1.wcom.com:5060 3606 Via: SIP/2.0/UDP here.com:5060 3607 Record-Route: 3608 From: BigGuy ;user=phone 3609 To: OtherGuy ;user=phone 3610 Call-ID: 12345600@here.com 3611 CSeq: 2 INVITE 3612 Contact: BigGuy 3613 Supported: org.ietf.sip.100rel 3614 Content-Type: application/sdp 3615 Content-Length: 147 3617 v=0 3618 o=UserA 2890844526 2890844526 IN IP4 here.com 3619 s=Session SDP 3620 c=IN IP4 here.com 3621 t=0 0 3622 m=audio 49170 RTP/AVP 0 3623 a=rtpmap:0 PCMU/8000 3625 F7 (100 Trying) GW -> Proxy 1 3627 SIP/2.0 100 Trying 3628 Via: SIP/2.0/UDP ss1.wcom.com:5060 3629 From: BigGuy ;user=phone 3630 To: OtherGuy ;user=phone 3631 Call-ID: 12345600@here.com 3632 CSeq: 2 INVITE 3633 Content-Length: 0 3635 F8 SETUP GW 1 -> User C 3637 Protocol discriminator=Q.931 3638 Call reference: Flag=0, CR value=any valid value not in use 3639 Message type=SETUP 3640 Bearer capability: Information transfer capability=0 (Speech) or 16 3641 (3.1 kHz audio) 3642 Channel identification=Preferred or exclusive B-channel 3643 Progress indicator=1 (Call is not end-to-end ISDN;further call 3644 progress information may be available inband) 3645 Called party number: 3646 Type of number and numbering plan ID=?? (private numbering plan) 3647 Digits=444-3333 3649 F9 CALL PROCeeding User C -> GW 1 3651 Protocol discriminator=Q.931 3652 Call reference: Flag=1, CR value=value in F5 SETUP message 3653 Message type=CALL PROC 3654 Channel identification=Exclusive B-channel 3656 F10 PROGress User C -> GW 1 3658 Protocol discriminator=Q.931 3659 Call reference: Flag=1, CR value=value in F5 SETUP message 3660 Message type=PROG 3661 Progress indicator=1 (Call is not end-to-end ISDN;further call 3662 progress information may be available inband) 3664 F11 183 Session Progress GW 1 -> Proxy 1 3666 SIP/2.0 183 Session Progress 3667 Via: SIP/2.0/UDP ss1.wcom.com:5060 3668 Via: SIP/2.0/UDP here.com:5060 3669 RSeq: 42321 3670 From: BigGuy ;user=phone 3671 To: OtherGuy ;user=phone 3672 ;tag=314159 3673 Call-ID: 12345600@here.com 3674 CSeq: 2 INVITE 3675 Content-Type: application/sdp 3676 Content-Length: 165 3678 v=0 3679 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 3680 s=Session SDP 3681 c=IN IP4 gatewayone.wcom.com 3682 t=0 0 3683 m=audio 3456 RTP/AVP 0 3684 a=rtpmap:0 PCMU/8000 3686 /* GW 1 will establish an RTP path to the receive port on A encoding 3687 anything that is being received from C via the PSTN network (i.e. 3688 ringing) */ 3690 F12 183 Session Progress Proxy 1 -> User A 3692 SIP/2.0 183 Session Progress 3693 Via: SIP/2.0/UDP here.com:5060 3694 RSeq: 42321 3695 From: BigGuy ;user=phone 3696 To: OtherGuy ;user=phone 3697 ;tag=314159 3698 Call-ID: 12345600@here.com 3699 CSeq: 2 INVITE 3700 Content-Type: application/sdp 3701 Content-Length: 165 3703 v=0 3704 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 3705 s=Session SDP 3706 c=IN IP4 gatewayone.wcom.com 3707 t=0 0 3708 m=audio 3456 RTP/AVP 0 3709 a=rtpmap:0 PCMU/8000 3711 /* User A confirms reception of the 183 response */ 3713 F13 PRACK A -> Proxy 1 3715 PRACK sip:444-3333@ss1.wcom.com;phone-context=p1234 SIP/2.0 3716 Via: SIP/2.0/UDP here.com:5060 3717 RAck: 42321 2 INVITE 3718 Route: ;phone-context=p1234 3719 From: BigGuy ;user=phone 3720 To: OtherGuy ;user=phone 3721 ;tag=314159 3722 Call-ID: 12345600@here.com 3723 CSeq: 3 PRACK 3724 Content-Length: 0 3726 F14 PRACK Proxy 1 -> GW 1 3728 PRACK sip:444-3333@gw1.wcom.com;phone-context=p1234 SIP/2.0 3729 Via: SIP/2.0/UDP ss1.wcom.com:5060 3730 Via: SIP/2.0/UDP here.com:5060 3731 RAck: 42321 2 INVITE 3732 From: BigGuy ;user=phone 3733 To: OtherGuy ;user=phone 3734 ;tag=314159 3735 Call-ID: 12345600@here.com 3736 CSeq: 3 PRACK 3737 Content-Length: 0 3739 F15 200 OK GW 1 -> Proxy 1 3741 SIP/2.0 200 OK 3742 Via: SIP/2.0/UDP ss1.wcom.com:5060 3743 Via: SIP/2.0/UDP here.com:5060 3744 From: BigGuy ;user=phone 3745 To: OtherGuy ;user=phone 3746 ;tag=314159 3747 Call-ID: 12345600@here.com 3748 CSeq: 3 PRACK 3749 Content-Length: 0 3751 F16 200 OK Proxy 1 -> A 3753 SIP/2.0 200 OK 3754 Via: SIP/2.0/UDP here.com:5060 3755 From: BigGuy ;user=phone 3756 To: OtherGuy ;user=phone 3757 ;tag=314159 3758 Call-ID: 12345600@here.com 3759 CSeq: 3 PRACK 3760 Content-Length: 0 3762 F17 CONNect User C -> GW 1 3764 Protocol discriminator=Q.931 3765 Call reference: Flag=1, CR value=value in F5 SETUP message 3766 Message type=CONN 3768 F18 CONNect ACK GW 1 -> User C 3770 Protocol discriminator=Q.931 3771 Call reference: Flag=0, CR value=value in F5 SETUP message 3772 Message type=CONN ACK 3774 F19 200 OK GW 1 -> Proxy 1 3776 SIP/2.0 200 OK 3777 Via: SIP/2.0/UDP ss1.wcom.com:5060 3778 Via: SIP/2.0/UDP here.com:5060 3779 Record-Route: 3780 From: BigGuy ;user=phone 3781 To: OtherGuy ;user=phone 3782 ;tag=314159 3783 Call-ID: 12345600@here.com 3784 CSeq: 2 INVITE 3785 Contact: sip:444-3333@gw1.wcom.com;phone-context=p1234 3786 Content-Type: application/sdp 3787 Content-Length: 165 3789 v=0 3790 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 3791 s=Session SDP 3792 c=IN IP4 gatewayone.wcom.com 3793 t=0 0 3794 m=audio 3456 RTP/AVP 0 3795 a=rtpmap:0 PCMU/8000 3797 F20 200 OK Proxy 1 -> User A 3799 SIP/2.0 200 OK 3800 Via: SIP/2.0/UDP here.com:5060 3801 Record-Route: 3802 From: BigGuy ;user=phone 3803 To: OtherGuy ;user=phone;tag=314159 3804 Call-ID: 12345600@here.com 3805 CSeq: 2 INVITE 3806 Contact: sip:444-3333@gw1.wcom.com;phone-context=p1234 3807 Content-Type: application/sdp 3808 Content-Length: 165 3810 v=0 3811 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 3812 s=Session SDP 3813 c=IN IP4 gatewayone.wcom.com 3814 t=0 0 3815 m=audio 3456 RTP/AVP 0 3816 a=rtpmap:0 PCMU/8000 3818 F21 ACK A -> Proxy 1 3820 ACK sip:444-3333@ss1.wcom.com;phone-context=p1234 SIP/2.0 3821 Via: SIP/2.0/UDP here.com:5060 3822 Route: ;phone-context=p1234 3823 From: BigGuy ;user=phone 3824 To: OtherGuy ;user=phone 3825 ;tag=314159 3826 Call-ID: 12345600@here.com 3827 CSeq: 2 ACK 3828 Content-Length: 0 3830 F22 ACK Proxy 1 -> GW 1 3832 ACK sip:444-3333@gw1.wcom.com;phone-context=p1234 SIP/2.0 3833 Via: SIP/2.0/UDP ss1.wcom.com:5060 3834 Via: SIP/2.0/UDP here.com:5060 3835 From: BigGuy ;user=phone 3836 To: OtherGuy ;user=phone 3837 ;tag=314159 3838 Call-ID: 12345600@here.com 3839 CSeq: 2 ACK 3840 Content-Length: 0 3842 /* RTP streams are established between A and B (via GW 1) */ 3844 /* User A Hangs Up with User B. */ 3846 F23 BYE A -> Proxy 1 3847 BYE sip:444-3333@ss1.wcom.com;phone-context=p1234 SIP/2.0 3848 Via: SIP/2.0/UDP here.com:5060 3849 Route: ;phone-context=p1234 3850 From: BigGuy ;user=phone 3851 To: OtherGuy ;user=phone 3852 ;tag=314159 3853 Call-ID: 12345600@here.com 3854 CSeq: 4 BYE 3855 Content-Length: 0 3857 F24 BYE Proxy 1 -> GW 1 3859 BYE sip:444-3333@gw1.wcom.com;phone-context=p1234 SIP/2.0 3860 Via: SIP/2.0/UDP ss1.wcom.com:5060 3861 Via: SIP/2.0/UDP here.com:5060 3862 From: BigGuy ;user=phone 3863 To: OtherGuy ;user=phone 3864 ;tag=314159 3865 Call-ID: 12345600@here.com 3866 CSeq: 4 BYE 3867 Content-Length: 0 3869 F25 200 OK GW 1 -> Proxy 1 3871 SIP/2.0 200 OK 3872 Via: SIP/2.0/UDP ss1.wcom.com:5060 3873 Via: SIP/2.0/UDP here.com:5060 3874 From: BigGuy ;user=phone 3875 To: OtherGuy ;user=phone 3876 ;tag=314159 3877 Call-ID: 12345600@here.com 3878 CSeq: 4 BYE 3879 Content-Length: 0 3881 F26 200 OK Proxy 1 -> A 3883 SIP/2.0 200 OK 3884 Via: SIP/2.0/UDP here.com:5060 3885 From: BigGuy ;user=phone 3886 To: OtherGuy ;user=phone 3887 ;tag=314159 3888 Call-ID: 12345600@here.com 3889 CSeq: 4 BYE 3890 Content-Length: 0 3892 F27 DISConnect GW 1 -> User C 3893 Protocol discriminator=Q.931 3894 Call reference: Flag=1, CR value=value in F4 SETUP message 3895 Message type=DISC 3896 Cause=16 (Normal clearing) 3898 F28 RELease User C -> GW 1 3900 Protocol discriminator=Q.931 3901 Call reference: Flag=0, CR value=value in F4 SETUP message 3902 Message type=REL 3904 F29 RELease COMplete GW 1 -> User C 3906 Protocol discriminator=Q.931 3907 Call reference: Flag=1, CR value=value in F4 SETUP message 3908 Message type=REL COM 3910 4.1.3 3911 Successful SIP to ISUP PSTN call with overflow 3913 User A Proxy 1 NGW 1 NGW 2 User B 3914 | | | | | 3915 | INVITE F1 | | | | 3916 |------------->| | | | 3917 | | INVITE F2 | | | 3918 | (100) F3 |------------->| | | 3919 |<-------------| 503 F4 | | | 3920 | |<-------------| | | 3921 | | ACK F5 | | | 3922 | |------------->| | | 3923 | | INVITE F6 | | 3924 | |---------------------------->| IAM F7 | 3925 | | |------------->| 3926 | | | ACM F8 | 3927 | | 183 F9 |<-------------| 3928 | 183 F10 |<----------------------------| | 3929 |<-------------| | | 3930 | Both Way RTP Media | One Way Voice| 3931 |<==========================================>|<=============| 3932 | | | ANM F11 | 3933 | | 200 F12 |<-------------| 3934 | 200 F13 |<----------------------------| | 3935 |<-------------| | | 3936 | ACK F14 | | | 3937 |------------->| ACK F15 | | 3938 | |---------------------------->| | 3939 | Both Way RTP Media |Both Way Voice| 3940 |<==========================================>|<============>| 3941 | BYE F16 | | | 3942 |------------->| BYE F17 | | 3943 | |---------------------------->| | 3944 | | 200 F18 | | 3945 | 200 F19 |<----------------------------| REL F20 | 3946 |<-------------| |------------->| 3947 | | | RLC F21 | 3948 | | |<-------------| 3949 | | | | 3951 User A calls User B through Proxy 1. Proxy 1 tries to route to a 3952 Network Gateway NGW 1. GW 1 is not available and responds with a 503 3953 Service Unavailable (F4). The call is then routed to Network Gateway 3954 NGW 2. User B answers the call. The call is terminated when User A 3955 disconnects the call. NGW 2 and User B's telephone switch use ANSI 3956 ISUP signaling. 3958 Message Details 3959 F1 INVITE A -> Proxy 1 3961 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 3962 Via: SIP/2.0/UDP here.com:5060 3963 From: BigGuy ;user=phone 3964 To: LittleGuy ;user=phone 3965 Call-ID: 12345600@here.com 3966 CSeq: 1 INVITE 3967 Contact: BigGuy 3968 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 3969 nonce="b59311c3ba05b401cf80b2a2c5ac51b0", opaque="", 3970 uri="sip:ss1.wcom.com", response="ba6ab44923fa2614b28e3e3957789ab0" 3971 Content-Type: application/sdp 3972 Content-Length: 132 3974 v=0 3975 o=UserA 2890844526 2890844526 IN IP4 here.com 3976 s=Session SDP 3977 c=IN IP4 here.com 3978 t=0 0 3979 m=audio 49170 RTP/AVP 0 3980 a=rtpmap:0 PCMU/8000 3982 /* Proxy 1 uses a location manager function to determine where B is 3983 located. Proxy 1 receives a primary route NGW 1 and a secondary 3984 route NGW 2. NGW 1 is tried first */ 3986 F2 INVITE Proxy 1 -> NGW 1 3988 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 3989 Via: SIP/2.0/UDP ss1.wcom.com:5060 3990 Via: SIP/2.0/UDP here.com:5060 3991 Record-Route: 3992 From: BigGuy ;user=phone 3993 To: LittleGuy ;user=phone 3994 Call-ID: 12345600@here.com 3995 CSeq: 1 INVITE 3996 Contact: BigGuy 3997 Content-Type: application/sdp 3998 Content-Length: 132 4000 v=0 4001 o=UserA 2890844526 2890844526 IN IP4 here.com 4002 s=Session SDP 4003 c=IN IP4 here.com 4004 t=0 0 4005 m=audio 49170 RTP/AVP 0 4006 a=rtpmap:0 PCMU/8000 4007 F3 (100 Trying) Proxy 1 -> User A 4009 SIP/2.0 100 Trying 4010 Via: SIP/2.0/UDP ss1.wcom.com:5060 4011 Via: SIP/2.0/UDP here.com:5060 4012 From: BigGuy ;user=phone 4013 To: LittleGuy ;user=phone 4014 Call-ID: 12345600@here.com 4015 CSeq: 1 INVITE 4016 Content-Length: 0 4018 F4 503 Service Unavailable NGW 1 -> Proxy 1 4020 SIP/2.0 503 Service Unavailable 4021 Via: SIP/2.0/UDP ss1.wcom.com:5060 4022 Via: SIP/2.0/UDP here.com:5060 4023 Record-Route: 4024 From: BigGuy ;user=phone 4025 To: LittleGuy NGW 1 4033 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 4034 Via: SIP/2.0/UDP ss1.wcom.com:5060 4035 From: BigGuy ;user=phone 4036 To: LittleGuy 4037 ;user=phone;tag=123456789 4038 Call-ID: 12345600@here.com 4039 CSeq: 1 INVITE 4040 Content-Length: 0 4042 /* Proxy 1 now tries secondary route to NGW 2 */ 4044 F6 INVITE Proxy 1 -> NGW 2 4046 INVITE sip:+1-972-555-2222@ngw2.wcom.com;user=phone SIP/2.0 4047 Via: SIP/2.0/UDP ss1.wcom.com:5060 4048 Via: SIP/2.0/UDP here.com:5060 4049 Record-Route: 4050 From: BigGuy ;user=phone 4051 To: LittleGuy ;user=phone 4052 Call-ID: 12345600@here.com 4053 CSeq: 1 INVITE 4054 Contact: BigGuy 4055 Content-Type: application/sdp 4056 Content-Length: 132 4058 v=0 4059 o=UserA 2890844526 2890844526 IN IP4 here.com 4060 s=Session SDP 4061 c=IN IP4 here.com 4062 t=0 0 4063 m=audio 49170 RTP/AVP 0 4064 a=rtpmap:0 PCMU/8000 4066 F7 IAM NGW 2 -> User B 4068 IAM 4069 CdPN=972-555-2222,NPI=E.164,NOA=National 4070 CgPN=314-555-1111,NPI=E.164,NOA=National 4071 USI=Speech 4072 CPT=0 0 4073 C=Normal 4074 CCI=Not Required 4076 F8 ACM User B -> NGW 2 4078 ACM 4079 Charge Indicator=No Charge 4080 Called Party Status=no indication 4081 Called Party's Category=ordinary subscriber 4082 End To End Method=none available 4083 Interworking=encountered 4084 End to End Information=none available 4085 ISUP Indicator=not used all the way 4086 ISDN Access Terminating access non ISDN 4087 Echo Control=not included 4089 F9 183 Session Progress NGW 2 -> Proxy 1 4091 SIP/2.0 183 Session Progress 4092 Via: SIP/2.0/UDP ss1.wcom.com:5060 4093 Via: SIP/2.0/UDP here.com:5060 4094 From: BigGuy ;user=phone 4095 To: LittleGuy ;user=phone 4096 ;tag=314159 4097 Call-ID: 12345600@here.com 4098 CSeq: 1 INVITE 4099 Content-Type: application/sdp 4100 Content-Length: 150 4102 v=0 4103 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 4104 s=Session SDP 4105 c=IN IP4 gatewayone.wcom.com 4106 t=0 0 4107 m=audio 3456 RTP/AVP 0 4108 a=rtpmap:0 PCMU/8000 4110 /* The GW will establish an RTP path to the receive port on A 4111 encoding anything that is being received from B via the PSTN network 4112 (i.e. ringing) */ 4114 F10 183 Session Progress Proxy 1 -> User A 4116 SIP/2.0 183 Session Progress 4117 Via: SIP/2.0/UDP here.com:5060 4118 From: BigGuy ;user=phone 4119 To: LittleGuy ;user=phone 4120 ;tag=314159 4121 Call-ID: 12345600@here.com 4122 CSeq: 1 INVITE 4123 Content-Type: application/sdp 4124 Content-Length: 150 4126 v=0 4127 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 4128 s=Session SDP 4129 c=IN IP4 gatewayone.wcom.com 4130 t=0 0 4131 m=audio 3456 RTP/AVP 0 4132 a=rtpmap:0 PCMU/8000 4134 F11 ANM User B -> NGW 2 4136 ANM 4138 F12 200 OK NGW 2 -> Proxy 1 4140 SIP/2.0 200 OK 4141 Via: SIP/2.0/UDP ss1.wcom.com:5060 4142 Via: SIP/2.0/UDP here.com:5060 4143 Record-Route: 4144 From: BigGuy ;user=phone 4145 To: LittleGuy ;user=phone 4146 ;tag=314159 4147 Call-ID: 12345600@here.com 4148 CSeq: 1 INVITE 4149 Contact: sip:+1-972-555-2222@ngw2.wcom.com;user=phone 4150 Content-Type: application/sdp 4151 Content-Length: 150 4153 v=0 4154 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 4155 s=Session SDP 4156 c=IN IP4 gatewayone.wcom.com 4157 t=0 0 4158 m=audio 3456 RTP/AVP 0 4159 a=rtpmap:0 PCMU/8000 4161 F13 200 OK Proxy 1 -> User A 4163 SIP/2.0 200 OK 4164 Via: SIP/2.0/UDP here.com:5060 4165 Record-Route: 4166 From: BigGuy ;user=phone 4167 To: LittleGuy ;user=phone 4168 ;tag=314159 4169 Call-ID: 12345600@here.com 4170 CSeq: 1 INVITE 4171 Contact: sip:+1-972-555-2222@ngw2.wcom.com;user=phone 4172 Content-Type: application/sdp 4173 Content-Length: 150 4175 v=0 4176 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 4177 s=Session SDP 4178 c=IN IP4 gatewayone.wcom.com 4179 t=0 0 4180 m=audio 3456 RTP/AVP 0 4181 a=rtpmap:0 PCMU/8000 4183 F14 ACK A -> Proxy 1 4185 ACK sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 4186 Via: SIP/2.0/UDP here.com:5060 4187 Route: ;user=phone 4188 From: BigGuy ;user=phone 4189 To: LittleGuy ;user=phone 4190 ;tag=314159 4191 Call-ID: 12345600@here.com 4192 CSeq: 1 ACK 4193 Content-Length: 0 4195 F15 ACK Proxy 1 -> NGW 2 4197 ACK sip:+1-972-555-2222@ngw2.wcom.com;user=phone SIP/2.0 4198 Via: SIP/2.0/UDP ss1.wcom.com:5060 4199 Via: SIP/2.0/UDP here.com:5060 4200 From: BigGuy ;user=phone 4201 To: LittleGuy ;user=phone 4202 ;tag=314159 4203 Call-ID: 12345600@here.com 4204 CSeq: 1 ACK 4205 Content-Length: 0 4207 /* RTP streams are established between A and B(via the GW) */ 4209 /* User A Hangs Up with User B. */ 4211 F16 BYE A -> Proxy 1 4213 BYE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 4214 Via: SIP/2.0/UDP here.com:5060 4215 Route: ;user=phone 4216 From: BigGuy ;user=phone 4217 To: LittleGuy ;user=phone 4218 ;tag=314159 4219 Call-ID: 12345600@here.com 4220 CSeq: 2 BYE 4221 Content-Length: 0 4223 F17 BYE Proxy 1 -> NGW 2 4225 BYE sip:+1-972-555-2222@ngw2.wcom.com;user=phone SIP/2.0 4226 Via: SIP/2.0/UDP ss1.wcom.com:5060 4227 Via: SIP/2.0/UDP here.com:5060 4228 From: BigGuy ;user=phone 4229 To: LittleGuy ;user=phone 4230 ;tag=314159 4231 Call-ID: 12345600@here.com 4232 CSeq: 2 BYE 4233 Content-Length: 0 4235 F18 200 OK NGW 2 -> Proxy 1 4237 SIP/2.0 200 OK 4238 Via: SIP/2.0/UDP ss1.wcom.com:5060 4239 Via: SIP/2.0/UDP here.com:5060 4240 From: BigGuy ;user=phone 4241 To: LittleGuy ;user=phone 4242 ;tag=314159 4243 Call-ID: 12345600@here.com 4244 CSeq: 2 BYE 4245 Content-Length: 0 4247 F19 200 OK Proxy 1 -> User A 4249 SIP/2.0 200 OK 4250 Via: SIP/2.0/UDP here.com:5060 4251 From: BigGuy ;user=phone 4252 To: LittleGuy ;user=phone 4253 ;tag=314159 4254 Call-ID: 12345600@here.com 4255 CSeq: 2 BYE 4256 Content-Length: 0 4258 F20 REL NGW 2 -> B 4260 REL 4261 CauseCode=16 Normal 4262 CodingStandard=CCITT 4264 F21 RLC B -> NGW 2 4266 RLC 4268 4.2 Failure Scenarios 4270 In these failure scenarios, the call does not complete. In most 4271 cases, however, a media stream is still setup. This is due to the 4272 fact that most failures in dialing to the PSTN result in in-band 4273 tones (busy, reorder tones or announcements - "The number you have 4274 dialed has changed. The new number is..."). The 183 Session 4275 Progress[5] response containing SDP media information is used to 4276 setup this early media path so that the caller User A knows the final 4277 disposition of the call. 4279 The media stream is either terminated by the caller after the tone or 4280 announcement has been heard and understood, or by the Gateway after a 4281 timer expires. 4283 In other failure scenarios, a SS7 Release with Cause Code is mapped 4284 to a SIP response. In these scenarios, the early media path is not 4285 used, but the actual failure code is conveyed to the caller by the 4286 SIP User Agent Client. 4288 4.2.1 4289 Unsuccessful SIP to PSTN call: Treatment from PSTN 4291 User A Proxy 1 NGW 1 User B 4292 | | | | 4293 | INVITE F1 | | | 4294 |--------------->| | | 4295 | (100) F2 | | | 4296 |<---------------| INVITE F3 | | 4297 | |--------------->| | 4298 | | (100) F4 | | 4299 | |<---------------| IAM F5 | 4300 | | |--------------->| 4301 | | | ACM F6 | 4302 | | 183 F7 |<---------------| 4303 | 183 F8 |<---------------| | 4304 |<---------------| | | 4305 | Both Way RTP Media | One Way Voice | 4306 |<===============================>|<===============| 4307 | Treatment Applied | 4308 |<=================================================| 4309 | CANCEL F9 | | | 4310 |--------------->| | | 4311 | 200 F10 | | | 4312 |<---------------| CANCEL F11 | | 4313 | |--------------->| | 4314 | | 200 F12 | | 4315 | |<---------------| REL F13 | 4316 | | |--------------->| 4317 | | | RLC F14 | 4318 | | |<---------------| 4319 | | | | 4321 User A calls User B in the PSTN through a proxy server Proxy 1 and a 4322 Network Gateway NGW 1. The call is rejected by the PSTN with an in- 4323 band treatment (tone or recording) played. User A hears the 4324 treatment and then issues a CANCEL (F9) to terminate the call. (A BYE 4325 is not sent since no final response was ever received by User A.) 4327 Message Details 4329 F1 INVITE A -> Proxy 1 4331 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 4332 Via: SIP/2.0/UDP here.com:5060 4333 From: BigGuy ;user=phone 4334 To: LittleGuy ;user=phone 4335 Call-ID: 12345600@here.com 4336 CSeq: 1 INVITE 4337 Contact: BigGuy 4338 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 4339 nonce="01cf8311c3b0b2a2c5ac51bb59a05b40", opaque="", 4340 uri="sip:ss1.wcom.com", response="e178fbe430e6680a1690261af8831f40" 4341 Content-Type: application/sdp 4342 Content-Length: 132 4344 v=0 4345 o=UserA 2890844526 2890844526 IN IP4 here.com 4346 s=Session SDP 4347 c=IN IP4 here.com 4348 t=0 0 4349 m=audio 49170 RTP/AVP 0 4350 a=rtpmap:0 PCMU/8000 4352 F2 (100 Trying) Proxy 1 -> A 4354 SIP/2.0 100 Trying 4355 Via: SIP/2.0/UDP here.com:5060 4356 From: BigGuy ;user=phone 4357 To: LittleGuy ;user=phone 4358 Call-ID: 12345600@here.com 4359 CSeq: 1 INVITE 4360 Content-Length: 0 4362 /* Proxy 1 uses a location manager function to determine where B is 4363 located. Based upon location analysis the call is forwarded to NGW 4364 1. Client for A prepares to receive data on port 49170 from the 4365 network. */ 4367 F3 INVITE Proxy 1 -> NGW 1 4369 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 4370 Via: SIP/2.0/UDP ss1.wcom.com:5060 4371 Via: SIP/2.0/UDP here.com:5060 4372 Record-Route: 4373 From: BigGuy ;user=phone 4374 To: LittleGuy ;user=phone 4375 Call-ID: 12345600@here.com 4376 CSeq: 1 INVITE 4377 Contact: BigGuy 4378 Content-Type: application/sdp 4379 Content-Length: 132 4381 v=0 4382 o=UserA 2890844526 2890844526 IN IP4 here.com 4383 s=Session SDP 4384 c=IN IP4 here.com 4385 t=0 0 4386 m=audio 49170 RTP/AVP 0 4387 a=rtpmap:0 PCMU/8000 4389 F4 (100 Trying) NGW 1 -> Proxy 1 4391 SIP/2.0 100 Trying 4392 Via: SIP/2.0/UDP ss1.wcom.com:5060 4393 From: BigGuy ;user=phone 4394 To: LittleGuy ;user=phone 4395 Call-ID: 12345600@here.com 4396 CSeq: 1 INVITE 4397 Content-Length: 0 4399 F5 IAM NGW 1 -> User B 4401 IAM 4402 CdPN=972-555-2222,NPI=E.164,NOA=National 4403 CgPN=314-555-1111,NPI=E.164,NOA=National 4404 USI=Speech 4405 CPT=0 0 4406 C=Normal 4407 CCI=Not Required 4409 F6 ACM User B -> NGW 1 4411 ACM 4412 Charge Indicator=No Charge 4413 Called Party Status=no indication 4414 Called Party's Category=ordinary subscriber 4415 End To End Method=none available 4416 Interworking=encountered 4417 End to End Information=none available 4418 ISUP Indicator=not used all the way 4419 ISDN Access Terminating access non ISDN 4420 Echo Control=not included 4422 F7 183 Session Progress NGW 1 -> Proxy 1 4424 SIP/2.0 183 Session Progress 4425 Via: SIP/2.0/UDP ss1.wcom.com:5060 4426 Via: SIP/2.0/UDP here.com:5060 4427 From: BigGuy ;user=phone 4428 To: LittleGuy ;user=phone 4429 ;tag=314159 4430 Call-ID: 12345600@here.com 4431 CSeq: 1 INVITE 4432 Content-Type: application/sdp 4433 Content-Length: 150 4435 v=0 4436 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 4437 s=Session SDP 4438 c=IN IP4 gatewayone.wcom.com 4439 t=0 0 4440 m=audio 3456 RTP/AVP 0 4441 a=rtpmap:0 PCMU/8000 4443 F8 183 Session Progress Proxy 1 -> User A 4445 SIP/2.0 183 Session Progress 4446 Via: SIP/2.0/UDP here.com:5060 4447 From: BigGuy ;user=phone 4448 To: LittleGuy ;user=phone 4449 ;tag=314159 4450 Call-ID: 12345600@here.com 4451 CSeq: 1 INVITE 4452 Content-Type: application/sdp 4453 Content-Length: 150 4455 v=0 4456 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 4457 s=Session SDP 4458 c=IN IP4 gatewayone.wcom.com 4459 t=0 0 4460 m=audio 3456 RTP/AVP 0 4461 a=rtpmap:0 PCMU/8000 4463 /* User A listens to recorded announcement from the PSTN then hangs 4464 up */ 4466 F9 CANCEL A -> Proxy 1 4468 CANCEL sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 4469 Via: SIP/2.0/UDP here.com:5060 4470 From: BigGuy ;user=phone 4471 To: LittleGuy ;user=phone 4472 Call-ID: 12345600@here.com 4473 CSeq: 1 CANCEL 4474 Content-Length: 0 4476 F10 200 OK Proxy 1 -> A 4477 SIP/2.0 200 OK 4478 Via: SIP/2.0/UDP here.com:5060 4479 From: BigGuy ;user=phone 4480 To: LittleGuy ;user=phone 4481 Call-ID: 12345600@here.com 4482 CSeq: 1 CANCEL 4483 Content-Length: 0 4485 F11 CANCEL Proxy 1 -> NGW 1 4487 CANCEL sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 4488 Via: SIP/2.0/UDP ss1.wcom.com:5060 4489 From: BigGuy ;user=phone 4490 To: LittleGuy ;user=phone 4491 Call-ID: 12345600@here.com 4492 CSeq: 1 CANCEL 4493 Content-Length: 0 4495 F12 200 OK NGW 1 -> Proxy 1 4497 SIP/2.0 200 OK 4498 Via: SIP/2.0/UDP ss1.wcom.com:5060 4499 From: BigGuy ;user=phone 4500 To: LittleGuy ;user=phone 4501 Call-ID: 12345600@here.com 4502 CSeq: 1 CANCEL 4503 Content-Length: 0 4505 F13 REL NGW 1 -> B 4507 REL 4508 CauseCode=16 Normal 4509 CodingStandard=CCITT 4511 F14 RLC B -> NGW 1 4513 RLC 4515 4.2.2 4516 Unsuccessful SIP to PSTN: REL w/Cause from PSTN 4518 User A Proxy 1 NGW 1 User B 4519 | | | | 4520 | INVITE F1 | | | 4521 |--------------->| | | 4522 | (100) F2 | | | 4523 |<---------------| INVITE F3 | | 4524 | |--------------->| | 4525 | | (100) F4 | | 4526 | |<---------------| IAM F5 | 4527 | | |--------------->| 4528 | | | REL(28) F6 | 4529 | | |<---------------| 4530 | | | RLC F7 | 4531 | | 484 F8 |--------------->| 4532 | |<---------------| | 4533 | | ACK F9 | | 4534 | |--------------->| | 4535 | 484 F10 | | | 4536 |<---------------| | | 4537 | ACK F11 | | | 4538 |--------------->| | | 4539 | | | | 4541 User A calls PSTN User B through a Proxy Server Proxy 1 and a Network 4542 Gateway NGW 1. However, User A does not provide enough digits for 4543 the call to be completed. The call is rejected by the PSTN with a 4544 ANSI ISUP Release message REL containing a specific Cause value. 4545 This cause value (28) is mapped by the Gateway to a SIP 484 Address 4546 Incomplete response which is proxied back to User A. For more 4547 details of ISUP cause value to SIP responses refer to [9]. 4549 Message Details 4551 F1 INVITE A -> Proxy 1 4553 INVITE sip:+44-1234@ss1.wcom.com;user=phone SIP/2.0 4554 Via: SIP/2.0/UDP here.com:5060 4555 From: BigGuy ;user=phone 4556 To: LittleGuy ;user=phone 4557 Call-ID: 12345600@here.com 4558 CSeq: 1 INVITE 4559 Contact: BigGuy 4560 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 4561 nonce="j1c3b0b01cf832da2c5ac51bb59a05b40", opaque="", 4562 uri="sip:ss1.wcom.com", response="a451358d46b55512863efe1dccaa2f42" 4563 Content-Type: application/sdp 4564 Content-Length: 132 4566 v=0 4567 o=UserA 2890844526 2890844526 IN IP4 here.com 4568 s=Session SDP 4569 c=IN IP4 here.com 4570 t=0 0 4571 m=audio 49170 RTP/AVP 0 4572 a=rtpmap:0 PCMU/8000 4574 F2 (100 Trying) Proxy 1 -> A 4576 SIP/2.0 100 Trying 4577 Via: SIP/2.0/UDP here.com:5060 4578 From: BigGuy ;user=phone 4579 To: LittleGuy ;user=phone 4580 Call-ID: 12345600@here.com 4581 CSeq: 1 INVITE 4582 Content-Length: 0 4584 /* Proxy 1 uses a location manager function to determine where B is 4585 located. Based upon location analysis the call is forwarded to NGW1. 4586 Client for A prepares to receive data on port 49170 from the network. 4587 */ 4589 F3 INVITE Proxy 1 -> NGW 1 4591 INVITE sip:+44-1234@ngw1.wcom.com;user=phone SIP/2.0 4592 Via: SIP/2.0/UDP ss1.wcom.com:5060 4593 Via: SIP/2.0/UDP here.com:5060 4594 Record-Route: 4595 From: BigGuy ;user=phone 4596 To: LittleGuy ;user=phone 4597 Call-ID: 12345600@here.com 4598 CSeq: 1 INVITE 4599 Contact: BigGuy 4600 Content-Type: application/sdp 4601 Content-Length: 132 4603 v=0 4604 o=UserA 2890844526 2890844526 IN IP4 here.com 4605 s=Session SDP 4606 c=IN IP4 here.com 4607 t=0 0 4608 m=audio 49170 RTP/AVP 0 4609 a=rtpmap:0 PCMU/8000 4611 F4 (100 Trying) NGW 1 -> Proxy 1 4613 SIP/2.0 100 Trying 4614 Via: SIP/2.0/UDP ss1.wcom.com:5060 4615 From: BigGuy ;user=phone 4616 To: LittleGuy ;user=phone 4617 Call-ID: 12345600@here.com 4618 CSeq: 1 INVITE 4619 Content-Length: 0 4621 F5 IAM NGW 1 -> User B 4623 IAM 4624 CdPN=972-555-2222,NPI=E.164,NOA=National 4625 CgPN=314-555-1111,NPI=E.164,NOA=National 4626 USI=Speech 4627 CPT=0 0 4628 C=Normal 4629 CCI=Not Required 4631 F6 REL User B -> NGW 1 4633 REL 4634 CauseValue=28 Address Incomplete 4635 CodingStandard=CCITT 4637 F7 RLC NGW 1 -> User B 4639 RLC 4641 /* Network Gateway maps CauseValue=28 to the SIP message 484 Address 4642 Incomplete */ 4644 F8 484 Address Incomplete NGW 1 -> Proxy 1 4646 SIP/2.0 484 Address Incomplete 4647 Via: SIP/2.0/UDP ss1.wcom.com:5060 4648 Via: SIP/2.0/UDP here.com:5060 4649 From: BigGuy ;user=phone 4650 To: LittleGuy ;user=phone;tag=314159 4651 Call-ID: 12345600@here.com 4652 CSeq: 1 INVITE 4653 Content-Length: 0 4655 F9 ACK Proxy 1 -> NGW 1 4657 ACK sip:+44-1234@ngw1.wcom.com;user=phone SIP/2.0 4658 Via: SIP/2.0/UDP ss1.wcom.com:5060 4659 From: BigGuy ;user=phone 4660 To: LittleGuy ;user=phone;tag=314159 4661 Call-ID: 12345600@here.com 4662 CSeq: 1 ACK 4663 Content-Length: 0 4665 F10 484 Address Incomplete Proxy 1 -> User A 4667 SIP/2.0 484 Address Incomplete 4668 Via: SIP/2.0/UDP here.com:5060 4669 From: BigGuy ;user=phone 4670 To: LittleGuy ;user=phone;tag=314159 4671 Call-ID: 12345600@here.com 4672 CSeq: 1 INVITE 4673 Content-Length: 0 4675 F11 ACK User A -> Proxy 1 4677 ACK sip:+44-1234@ss1.wcom.com;user=phone SIP/2.0 4678 Via: SIP/2.0/UDP here.com:5060 4679 From: BigGuy ;user=phone 4680 To: LittleGuy ;user=phone;tag=314159 4681 Call-ID: 12345600@here.com 4682 CSeq: 1 ACK 4683 Content-Length: 0 4685 4.2.3 4686 Unsuccessful SIP to PSTN: ANM Timeout 4688 User A Proxy 1 NGW 1 User B 4689 | | | | 4690 | INVITE F1 | | | 4691 |--------------->| | | 4692 | (100) F2 | | | 4693 |<---------------| INVITE F3 | | 4694 | |--------------->| | 4695 | | (100) F4 | | 4696 | |<---------------| IAM F5 | 4697 | | |--------------->| 4698 | | | ACM F6 | 4699 | | 183 F7 |<---------------| 4700 | 183 F8 |<---------------| | 4701 |<---------------| | | 4702 | | Timer on NGW 1 Expires | 4703 | | | | 4704 | | | REL F9 | 4705 | | |--------------->| 4706 | | | RLC F10 | 4707 | | 480 F11 |<---------------| 4708 | |<---------------| | 4709 | | ACK F12 | | 4710 | |--------------->| | 4711 | 480 F13 | | | 4712 |<---------------| | | 4713 | ACK F14 | | | 4714 |--------------->| | | 4716 User A calls User B in the PSTN through a proxy server Proxy 1 and 4717 Network Gateway NGW 1. The call is released by the Gateway after a 4718 timer expires due to no ANswer Message (ANM) being received. The 4719 Gateway sends an ISUP Release REL message to the PSTN and a 480 4720 Temporarily Unavailable response to User A in the SIP network. 4722 Message Details 4724 F1 INVITE A -> Proxy 1 4726 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 4727 Via: SIP/2.0/UDP here.com:5060 4728 From: BigGuy ;user=phone 4729 To: LittleGuy ;user=phone 4730 Call-ID: 12345600@here.com 4731 CSeq: 1 INVITE 4732 Contact: BigGuy 4733 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", 4734 nonce="da2c5ac51bb59a05j1c3b0b01cf832b40", opaque="", 4735 uri="sip:ss1.wcom.com", response="579cb9db184cdc25bf816f37cbc03c7d" 4736 Content-Type: application/sdp 4737 Content-Length: 132 4739 v=0 4740 o=UserA 2890844526 2890844526 IN IP4 here.com 4741 s=Session SDP 4742 c=IN IP4 here.com 4743 t=0 0 4744 m=audio 49170 RTP/AVP 0 4745 a=rtpmap:0 PCMU/8000 4747 /* Proxy 1 uses a location manager function to determine where B is 4748 located. Based upon location analysis the call is forwarded to NGW 4749 1. Client for A prepares to receive data on port 49170 from the 4750 network.*/ 4752 F2 (100 Trying Proxy 1 -> A 4754 SIP/2.0 100 Trying 4755 Via: SIP/2.0/UDP here.com:5060 4756 From: BigGuy ;user=phone 4757 To: LittleGuy ;user=phone 4758 Call-ID: 12345600@here.com 4759 CSeq: 1 INVITE 4760 Content-Length: 0 4762 F3 INVITE Proxy 1 -> NGW 1 4764 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 4765 Via: SIP/2.0/UDP ss1.wcom.com:5060 4766 Via: SIP/2.0/UDP here.com:5060 4767 Record-Route: 4768 From: BigGuy ;user=phone 4769 To: LittleGuy ;user=phone 4770 Call-ID: 12345600@here.com 4771 CSeq: 1 INVITE 4772 Contact: BigGuy 4773 Content-Type: application/sdp 4774 Content-Length: 132 4776 v=0 4777 o=UserA 2890844526 2890844526 IN IP4 here.com 4778 s=Session SDP 4779 c=IN IP4 here.com 4780 t=0 0 4781 m=audio 49170 RTP/AVP 0 4782 a=rtpmap:0 PCMU/8000 4784 F4 (100 Trying) NGW 1 -> Proxy 1 4786 SIP/2.0 100 Trying 4787 Via: SIP/2.0/UDP ss1.wcom.com:5060 4788 From: BigGuy ;user=phone 4789 To: LittleGuy ;user=phone 4790 Call-ID: 12345600@here.com 4791 CSeq: 1 INVITE 4792 Content-Length: 0 4794 F5 IAM NGW 1 -> User B 4796 IAM 4797 CdPN=972-555-2222,NPI=E.164,NOA=National 4798 CgPN=314-555-1111,NPI=E.164,NOA=National 4799 USI=Speech 4800 CPT=0 0 4801 C=Normal 4802 CCI=Not Required 4804 F6 ACM User B -> NGW 1 4806 ACM 4807 Charge Indicator=No Charge 4808 Called Party Status=no indication 4809 Called Party's Category=ordinary subscriber 4810 End To End Method=none available 4811 Interworking=encountered 4812 End to End Information=none available 4813 ISUP Indicator=not used all the way 4814 ISDN Access Terminating access non ISDN 4815 Echo Control=not included 4817 F7 183 Session Progress NGW 1 -> Proxy 1 4819 SIP/2.0 183 Session Progress 4820 Via: SIP/2.0/UDP ss1.wcom.com:5060 4821 Via: SIP/2.0/UDP here.com:5060 4822 From: BigGuy ;user=phone 4823 To: LittleGuy ;user=phone 4824 ;tag=314159 4825 Call-ID: 12345600@here.com 4826 CSeq: 1 INVITE 4827 Content-Type: application/sdp 4828 Content-Length: 150 4830 v=0 4831 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 4832 s=Session SDP 4833 c=IN IP4 gatewayone.wcom.com 4834 t=0 0 4835 m=audio 3456 RTP/AVP 0 4836 a=rtpmap:0 PCMU/8000 4838 F8 183 Session Progress Proxy 1 -> User A 4840 SIP/2.0 183 Session Progress 4841 Via: SIP/2.0/UDP here.com:5060 4842 From: BigGuy ;user=phone 4843 To: LittleGuy ;user=phone 4844 ;tag=314159 4845 Call-ID: 12345600@here.com 4846 CSeq: 1 INVITE 4847 Content-Type: application/sdp 4848 Content-Length: 150 4850 v=0 4851 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 4852 s=Session SDP 4853 c=IN IP4 gatewayone.wcom.com 4854 t=0 0 4855 m=audio 3456 RTP/AVP 0 4856 a=rtpmap:0 PCMU/8000 4858 /* After NGW 1's timer expires, Network Gateway sends REL to ISUP 4859 network and 480 to SIP network */ 4861 F9 REL NGW 1 -> User B 4863 REL 4864 CauseCode=16 Normal 4865 CodingStandard=CCITT 4867 F10 RLC User B -> NGW 1 4869 RLC 4871 F11 480 Temporarily Unavailable NGW 1 -> Proxy 1 4872 SIP/2.0 480 Temporarily Unavailable 4873 Via: SIP/2.0/UDP ss1.wcom.com:5060 4874 Via: SIP/2.0/UDP here.com:5060 4875 From: BigGuy ;user=phone 4876 To: LittleGuy ;user=phone 4877 ;tag=314159 4878 Call-ID: 12345600@here.com 4879 CSeq: 1 INVITE 4880 Content-Length: 0 4882 F12 ACK Proxy 1 -> NGW 1 4884 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 4885 Via: SIP/2.0/UDP ss1.wcom.com:5060 4886 From: BigGuy ;user=phone 4887 To: LittleGuy ;user=phone 4888 ;tag=314159 4889 Call-ID: 12345600@here.com 4890 CSeq: 1 ACK 4891 Content-Length: 0 4893 F13 480 Temporarily Unavailable F13 Proxy 1 -> User A 4895 SIP/2.0 480 Temporarily Unavailable 4896 Via: SIP/2.0/UDP here.com:5060 4897 From: BigGuy ;user=phone 4898 To: LittleGuy ;user=phone 4899 ;tag=314159 4900 Call-ID: 12345600@here.com 4901 CSeq: 1 INVITE 4902 Content-Length: 0 4904 F14 ACK User A -> Proxy 1 4906 ACK sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 4907 Via: SIP/2.0/UDP here.com:5060 4908 From: BigGuy ;user=phone 4909 To: LittleGuy ;user=phone 4910 ;tag=314159 4911 Call-ID: 12345600@here.com 4912 CSeq: 1 ACK 4913 Content-Length: 0 4915 5 Gateway to SIP Dialing 4917 5.1 Success Scenarios 4919 In these scenarios, User A is placing calls from the PSTN to User B 4920 in a SIP network. User A's telephone switch signals to a Network 4921 Gateway (NGW 1) using ANSI ISUP. 4923 Since the called SIP User Agent does not send in-band signaling 4924 information, no early media path needs to be established on the IP 4925 side. As a result, the 183 Session Progress response is not used. 4926 However, NGW 1 will establish a one way speech path prior to call 4927 completion, and generate ringing for the PSTN caller. Any tones or 4928 recordings are generated by NGW 1 and played in this speech path. 4929 When the call completes successfully, NGW 1 bridges the PSTN speech 4930 path with the IP media path. Alternatively, the Gateway could 4931 redirect the call to an Announcement Server which would complete the 4932 call and play announcements or tones as directed by the Gateway. 4934 5.1.1 4935 Successful PSTN to SIP call 4937 User A NGW 1 Proxy 1 User B 4938 | | | | 4939 | IAM F1 | | | 4940 |--------------->| INVITE F2 | | 4941 | |--------------->| INVITE F3 | 4942 | | (100) F4 |--------------->| 4943 | |<---------------| | 4944 | | | 180 F5 | 4945 | | 180 F6 |<---------------| 4946 | ACM F7 |<---------------| | 4947 |<---------------| | | 4948 | One Way Voice | | | 4949 |<===============| | | 4950 | Ringing Tone | | 200 F8 | 4951 |<===============| 200 F9 |<---------------| 4952 | |<---------------| | 4953 | | ACK F10 | | 4954 | ANM F12 |--------------->| ACK F11 | 4955 |<---------------| |--------------->| 4956 | Both Way Voice | Both Way RTP Media | 4957 |<==============>|<===============================>| 4958 | REL F13 | | | 4959 |--------------->| | | 4960 | RLC F14 | | | 4961 |<---------------| BYE F15 | | 4962 | |--------------->| BYE F16 | 4963 | | |--------------->| 4964 | | | 200 F17 | 4965 | | 200 F18 |<---------------| 4966 | |<---------------| | 4967 | | | | 4969 In this scenario, User A from the PSTN calls User B through a Network 4970 Gateway NGW1 and Proxy Server Proxy 1. When User B answers the call 4971 the media path is setup end-to-end. The call terminates when User A 4972 hangs up the call, with User A's telephone switch sending an ISUP 4973 RELease message which is mapped to a BYE by NGW 1. 4975 Message Details 4977 F1 IAM User A -> NGW 1 4979 IAM 4980 CgPN=314-555-1111,NPI=E.164,NOA=National 4981 CdPN=972-555-2222,NPI=E.164,NOA=National 4982 USI=Speech 4983 CPT=0 0 4984 C=Normal 4985 CCI=Not Required 4987 F2 INVITE A -> Proxy 1 4989 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 4990 Via: SIP/2.0/UDP ngw1.wcom.com:5060 4991 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 4992 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 4993 Call-ID: 12345602@ngw1.wcom.com 4994 CSeq: 1 INVITE 4995 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 4996 Content-Type: application/sdp 4997 Content-Length: 150 4999 v=0 5000 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5001 s=Session SDP 5002 c=IN IP4 gatewayone.wcom.com 5003 t=0 0 5004 m=audio 3456 RTP/AVP 0 5005 a=rtpmap:0 PCMU/8000 5007 /* Proxy 1 uses a location manager function to determine where B is 5008 located. Based upon location analysis the call is forwarded to NGW 5009 1. NGW 1 prepares to receive data on port 3456 from User A.*/ 5011 F3 INVITE Proxy 1 -> User B 5013 INVITE sip:UserB@there.com SIP/2.0 5014 Via: SIP/2.0/UDP ss1.wcom.com:5060 5015 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5016 Record-Route: 5017 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5018 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 5019 Call-ID: 12345602@ngw1.wcom.com 5020 CSeq: 1 INVITE 5021 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5022 Content-Type: application/sdp 5023 Content-Length: 150 5025 v=0 5026 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5027 s=Session SDP 5028 c=IN IP4 gatewayone.wcom.com 5029 t=0 0 5030 m=audio 3456 RTP/AVP 0 5031 a=rtpmap:0 PCMU/8000 5033 F4 (100 Trying) User B -> Proxy 1 5035 SIP/2.0 100 Trying 5036 Via: SIP/2.0/UDP ss1.wcom.com:5060 5037 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5038 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5039 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 5040 Call-ID: 12345602@ngw1.wcom.com 5041 CSeq: 1 INVITE 5042 Content-Length: 0 5044 F5 180 Ringing User B -> Proxy 1 5046 SIP/2.0 180 Ringing 5047 Via: SIP/2.0/UDP ss1.wcom.com:5060 5048 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5049 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5050 To: sip:+1-972-555-2222@ss1.wcom.com>;user=phone;tag=314159 5051 Call-ID: 12345602@ngw1.wcom.com 5052 CSeq: 1 INVITE 5053 Content-Length: 0 5055 F6 180 Ringing Proxy 1 -> NGW 1 5057 SIP/2.0 180 Ringing 5058 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5059 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5060 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5061 Call-ID: 12345602@ngw1.wcom.com 5062 CSeq: 1 INVITE 5063 Content-Length: 0 5065 F7 ACM NGW 1 -> User A 5067 ACM 5068 Charge Indicator=No Charge 5069 Called Party Status=no indication 5070 Called Party's Category=ordinary subscriber 5071 End To End Method=none available 5072 Interworking=encountered 5073 End to End Information=none available 5074 ISUP Indicator=not used all the way 5075 ISDN Access Terminating access non ISDN 5076 Echo Control=not included 5077 F8 200 OK User B -> Proxy 1 5079 SIP/2.0 200 OK 5080 Via: SIP/2.0/UDP ss1.wcom.com:5060 5081 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5082 Record-Route: 5083 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5084 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5085 Call-ID: 12345602@ngw1.wcom.com 5086 Contact: LittleGuy 5087 CSeq: 1 INVITE 5088 Content-Type: application/sdp 5089 Content-Length: 150 5091 v=0 5092 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5093 s=Session SDP 5094 c=IN IP4 110.111.112.113 5095 t=0 0 5096 m=audio 3456 RTP/AVP 0 5097 a=rtpmap:0 PCMU/8000 5099 F9 200 OK Proxy 1 -> NGW 1 5101 SIP/2.0 200 OK 5102 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5103 Record-Route: 5104 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5105 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5106 Call-ID: 12345602@ngw1.wcom.com 5107 CSeq: 1 INVITE 5108 Contact: LittleGuy 5109 Content-Type: application/sdp 5110 Content-Length: 150 5112 v=0 5113 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5114 s=Session SDP 5115 c=IN IP4 110.111.112.113 5116 t=0 0 5117 m=audio 3456 RTP/AVP 0 5118 a=rtpmap:0 PCMU/8000 5120 F10 ACK NGW 1 -> Proxy 1 5122 ACK sip:UserB@ss1.wcom.com SIP/2.0 5123 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5124 Route: 5125 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5126 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5127 Call-ID: 12345602@ngw1.wcom.com 5128 CSeq: 1 ACK 5129 Content-Length: 0 5131 F11 ACK Proxy 1 -> User B 5133 ACK sip:UserB@there.com SIP/2.0 5134 Via: SIP/2.0/UDP ss1.wcom.com:5060 5135 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5136 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5137 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5138 Call-ID: 12345602@ngw1.wcom.com 5139 CSeq: 1 ACK 5140 Content-Length: 0 5142 F12 ANM User B -> NGW 1 5144 ANM 5146 /* RTP streams are established between A and B (via the GW) */ 5148 /* User A Hangs Up with User B. */ 5150 F13 REL User A -> NGW 1 5152 REL 5153 CauseCode=16 Normal 5154 CodingStandard=CCITT 5156 F14 RLC NGW 1 -> User A 5158 RLC 5160 F15 BYE NGW 1-> Proxy 1 5162 BYE sip:UserB@ss1.wcom.com SIP/2.0 5163 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5164 Route: 5165 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5166 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5167 Call-ID: 12345602@ngw1.wcom.com 5168 CSeq: 2 BYE 5169 Content-Length: 0 5171 F16 BYE Proxy 1 -> User B 5173 BYE sip:UserB@there.com SIP/2.0 5174 Via: SIP/2.0/UDP ss1.wcom.com:5060 5175 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5176 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5177 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5178 Call-ID: 12345602@ngw1.wcom.com 5179 CSeq: 2 BYE 5180 Content-Length: 0 5182 F17 200 OK User B -> Proxy 1 5184 SIP/2.0 200 OK 5185 Via: SIP/2.0/UDP ss1.wcom.com:5060 5186 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5187 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5188 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5189 Call-ID: 12345602@ngw1.wcom.com 5190 CSeq: 2 BYE 5191 Content-Length: 0 5193 F18 200 OK Proxy 1 -> NGW 1 5195 SIP/2.0 200 OK 5196 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5197 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5198 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5199 Call-ID: 12345602@ngw1.wcom.com 5200 CSeq: 2 BYE 5201 Content-Length: 0 5203 5.1.2 5204 Successful PSTN to SIP call, Fast Answer 5206 User A NGW 1 Proxy 1 User B 5207 | | | | 5208 | IAM F1 | | | 5209 |--------------->| INVITE F2 | | 5210 | |--------------->| INVITE F3 | 5211 | | (100) F4 |--------------->| 5212 | |<---------------| | 5213 | | | 200 F5 | 5214 | | 200 F6 |<---------------| 5215 | |<---------------| | 5216 | | ACK F7 | | 5217 | ANM F9 |--------------->| ACK F8 | 5218 |<---------------| |--------------->| 5219 | Both Way Voice | Both Way RTP Media | 5220 |<==============>|<===============================>| 5221 | REL F10 | | | 5222 |--------------->| | | 5223 | RLC F11 | | | 5224 |<---------------| BYE F12 | | 5225 | |--------------->| BYE F13 | 5226 | | |--------------->| 5227 | | | 200 F14 | 5228 | | 200 F15 |<---------------| 5229 | |<---------------| | 5230 | | | | 5232 This "fast answer" scenario is similar to 5.1.1 except that User B 5233 immediately accepts the call, sending a 200 OK (F5) without sending a 5234 180 Ringing response. The Gateway then sends an Answer Message (ANM) 5235 without sending an Address Complete Message (ACM). Note that for 5236 ETSI or ITU ISUP, a CONnect message (CON) would be sent instead of 5237 the ANM. 5239 Message Details 5241 F1 IAM User A -> NGW 1 5243 IAM 5244 CgPN=314-555-1111,NPI=E.164,NOA=National 5245 CdPN=972-555-2222,NPI=E.164,NOA=National 5246 USI=Speech 5247 CPT=0 0 5248 C=Normal 5249 CCI=Not Required 5250 F2 INVITE NGW 1 -> Proxy 1 5252 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 5253 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5254 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5255 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 5256 Call-ID: 12345602@ngw1.wcom.com 5257 CSeq: 1 INVITE 5258 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5259 Content-Type: application/sdp 5260 Content-Length: 150 5262 v=0 5263 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5264 s=Session SDP 5265 c=IN IP4 gatewayone.wcom.com 5266 t=0 0 5267 m=audio 3456 RTP/AVP 0 5268 a=rtpmap:0 PCMU/8000 5270 /* Proxy 1 uses a location manager function to determine where B is 5271 located. Based upon location analysis the call is forwarded to User 5272 B. User B prepares to receive data on port 3456 from User A.*/ 5274 F3 INVITE Proxy 1 -> User B 5276 INVITE UserB@there.com SIP/2.0 5277 Via: SIP/2.0/UDP ss1.wcom.com:5060 5278 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5279 Record-Route: 5280 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5281 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 5282 Call-ID: 12345602@ngw1.wcom.com 5283 CSeq: 1 INVITE 5284 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5285 Content-Type: application/sdp 5286 Content-Length: 150 5288 v=0 5289 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5290 s=Session SDP 5291 c=IN IP4 gatewayone.wcom.com 5292 t=0 0 5293 m=audio 3456 RTP/AVP 0 5294 a=rtpmap:0 PCMU/8000 5296 F4 (100 Trying) Proxy 1 -> NGW 1 5297 SIP/2.0 100 Trying 5298 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5299 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5300 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 5301 Call-ID: 12345602@ngw1.wcom.com 5302 CSeq: 1 INVITE 5303 Content-Length: 0 5305 F5 200 OK User B -> Proxy 1 5307 SIP/2.0 200 OK 5308 Via: SIP/2.0/UDP ss1.wcom.com:5060 5309 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5310 Record-Route: 5311 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5312 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5313 Call-ID: 12345602@ngw1.wcom.com 5314 CSeq: 1 INVITE 5315 Contact: LittleGuy 5316 Content-Type: application/sdp 5317 Content-Length: 150 5319 v=0 5320 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5321 s=Session SDP 5322 c=IN IP4 110.111.112.113 5323 t=0 0 5324 m=audio 3456 RTP/AVP 0 5325 a=rtpmap:0 PCMU/8000 5327 F6 200 OK Proxy 1 -> NGW 1 5329 SIP/2.0 200 OK 5330 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5331 Record-Route: 5332 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5333 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5334 Call-ID: 12345602@ngw1.wcom.com 5335 CSeq: 1 INVITE 5336 Contact: LittleGuy 5337 Content-Type: application/sdp 5338 Content-Length: 150 5340 v=0 5341 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5342 s=Session SDP 5343 c=IN IP4 110.111.112.113 5344 t=0 0 5345 m=audio 3456 RTP/AVP 0 5346 a=rtpmap:0 PCMU/8000 5348 F7 ACK NGW 1 -> Proxy 1 5350 ACK UserB@ss1.wcom.com SIP/2.0 5351 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5352 Route: 5353 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5354 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5355 Call-ID: 12345602@ngw1.wcom.com 5356 CSeq: 1 ACK 5357 Content-Length: 0 5359 F8 ACK Proxy 1 -> User B 5361 ACK UserB@there.com SIP/2.0 5362 Via: SIP/2.0/UDP ss1.wcom.com:5060 5363 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5364 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5365 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5366 Call-ID: 12345602@ngw1.wcom.com 5367 CSeq: 1 ACK 5368 Content-Length: 0 5370 F9 ANM User B -> NGW 1 5372 ANM 5374 /* RTP streams are established between A and B (via the GW) */ 5376 /* User A Hangs Up with User B. */ 5378 F10 REL ser A -> NGW 1 5380 REL 5381 CauseCode=16 Normal 5382 CodingStandard=CCITT 5384 F11 RLC NGW 1 -> User A 5386 RLC 5388 F12 BYE NGW 1 -> Proxy 1 5389 BYE sip:UserB@ss1.wcom.com SIP/2.0 5390 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5391 Route: 5392 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5393 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5394 Call-ID: 12345602@ngw1.wcom.com 5395 CSeq: 2 BYE 5396 Content-Length: 0 5398 F13 BYE Proxy 1 -> User B 5400 BYE sip:UserB@there.com SIP/2.0 5401 Via: SIP/2.0/UDP ss1.wcom.com:5060 5402 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5403 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5404 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5405 Call-ID: 12345602@ngw1.wcom.com 5406 CSeq: 2 BYE 5407 Content-Length: 0 5409 F14 200 OK User B -> Proxy 1 5411 SIP/2.0 200 OK 5412 Via: SIP/2.0/UDP ss1.wcom.com:5060 5413 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5414 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5415 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5416 Call-ID: 12345602@ngw1.wcom.com 5417 CSeq: 2 BYE 5418 Content-Length: 0 5420 F15 200 OK Proxy 1 -> NGW 1 5422 SIP/2.0 200 OK 5423 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5424 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5425 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5426 Call-ID: 12345602@ngw1.wcom.com 5427 CSeq: 2 BYE 5428 Content-Length: 0 5430 5.1.3 5431 Successful PBX to SIP call 5433 PBX A GW 1 Proxy 1 User B 5434 | | | | 5435 | Seizure | | | 5436 |--------------->| | | 5437 | Wink | | | 5438 |--------------->| | | 5439 | MF Digits F1 | | | 5440 |--------------->| INVITE F2 | | 5441 | |--------------->| INVITE F3 | 5442 | | (100) F4 |--------------->| 5443 | |<---------------| | 5444 | | | 180 F5 | 5445 | | 180 F6 |<---------------| 5446 | |<---------------| | 5447 | One Way Voice | | | 5448 |<===============| | | 5449 | Ringing Tone | | 200 F7 | 5450 |<===============| 200 F8 |<---------------| 5451 | |<---------------| | 5452 | | ACK F9 | | 5453 | Seizure |--------------->| ACK F10 | 5454 |<---------------| |--------------->| 5455 | Both Way Voice | Both Way RTP Media | 5456 |<==============>|<===============================>| 5457 | Seizure Removal| | | 5458 |--------------->| | | 5459 | Seizure Removal| | | 5460 |<---------------| BYE F11 | | 5461 | |--------------->| BYE F12 | 5462 | | |--------------->| 5463 | | | 200 F13 | 5464 | | 200 F14 |<---------------| 5465 | |<---------------| | 5466 | | | | 5468 In this scenario, User A dials from PBX A to User B through GW 1 and 5469 Proxy 1. This is an example of a call that appears destined for the 5470 PSTN but instead is routed to a SIP Client. 5472 Signaling between PBX A and GW 1 is Feature Group B (FGB) circuit 5473 associated signaling, in-band Mult-Frequency (MF) outpulsing. After 5474 the receipt of the 180 Ringing from User B, GW 1 generates ringing 5475 tone for User A. 5477 User B answers the call by sending a 200 OK. The call terminates 5478 when User A hangs up, causing GW1 to send a BYE. 5480 The Enterprise Gateway can only identify the trunk group that the 5481 call came in on, it cannot identify the individual line on PBX A that 5482 is placing the call. The SIP URL used to identify the caller is 5483 shown in these flows as sip:IdentifierString@gw1.wcom.com. A unique 5484 IdentifierString is provisioned on the Gateway against each incoming 5485 trunk group. 5487 Message Details 5489 F1 MF Digits PBX A -> GW 1 5491 KP 1 972 555 2222 ST 5493 F2 INVITE A -> Proxy 1 5495 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 5496 Via: SIP/2.0/UDP gw1.wcom.com:5060 5497 From: PBX_A ;user=phone 5498 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 5499 Call-ID: 12345602@gw1.wcom.com 5500 CSeq: 1 INVITE 5501 Contact: PBX_A ;user=phone 5502 Content-Type: application/sdp 5503 Content-Length: 150 5505 v=0 5506 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5507 s=Session SDP 5508 c=IN IP4 gatewayone.wcom.com 5509 t=0 0 5510 m=audio 3456 RTP/AVP 0 5511 a=rtpmap:0 PCMU/8000 5513 /* Proxy 1 uses a location manager function to determine where the 5514 phone number +1-972-555-2222 is located. Based upon location 5515 analysis the call is forwarded to SIP User B. */ 5517 F3 INVITE Proxy 1 -> User B 5519 INVITE sip:UserB@there.com SIP/2.0 5520 Via: SIP/2.0/UDP ss1.wcom.com:5060 5521 Via: SIP/2.0/UDP gw1.wcom.com:5060 5522 Record-Route: 5523 From: PBX_A ;user=phone 5524 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 5525 Call-ID: 12345602@gw1.wcom.com 5526 CSeq: 1 INVITE 5527 Contact: PBX_A ;user=phone 5528 Content-Type: application/sdp 5529 Content-Length: 150 5531 v=0 5532 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5533 s=Session SDP 5534 c=IN IP4 gatewayone.wcom.com 5535 t=0 0 5536 m=audio 3456 RTP/AVP 0 5537 a=rtpmap:0 PCMU/8000 5539 F4 (100 Trying) Proxy 1 -> GW 1 5541 SIP/2.0 100 Trying 5542 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5543 From: PBX_A ;user=phone 5544 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5545 Call-ID: 12345602@gw1.wcom.com 5546 CSeq: 1 INVITE 5547 Content-Length: 0 5549 F5 180 Ringing User B -> Proxy 1 5551 SIP/2.0 180 Ringing 5552 Via: SIP/2.0/UDP ss1.wcom.com:5060 5553 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5554 From: PBX_A ;user=phone 5555 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5556 Call-ID: 12345602@gw1.wcom.com 5557 CSeq: 1 INVITE 5558 Content-Length: 0 5560 F6 180 Ringing Proxy 1 -> GW 1 5562 SIP/2.0 180 Ringing 5563 Via: SIP/2.0/UDP gw1.wcom.com:5060 5564 From: PBX_A ;user=phone 5565 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5566 Call-ID: 12345602@gw1.wcom.com 5567 CSeq: 1 INVITE 5568 Content-Length: 0 5570 /* One way Voice path is established between GW and the PBX for 5571 ringing. */ 5572 F7 200 OK User B -> Proxy 1 5574 SIP/2.0 200 OK 5575 Via: SIP/2.0/UDP ss1.wcom.com:5060 5576 Via: SIP/2.0/UDP gw1.wcom.com:5060 5577 Record-Route: 5578 From: PBX_A ;user=phone 5579 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5580 Call-ID: 12345602@gw1.wcom.com 5581 Contact: LittleGuy 5582 CSeq: 1 INVITE 5583 Content-Type: application/sdp 5584 Content-Length: 134 5586 v=0 5587 o=UserB 2890844527 2890844527 IN IP4 there.com 5588 s=Session SDP 5589 c=IN IP4 110.111.112.113 5590 t=0 0 5591 m=audio 3456 RTP/AVP 0 5592 a=rtpmap:0 PCMU/8000 5594 F8 200 OK Proxy 1 -> GW 1 5596 SIP/2.0 200 OK 5597 Via: SIP/2.0/UDP gw1.wcom.com:5060 5598 Record-Route: 5599 From: PBX_A ;user=phone 5600 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5601 Call-ID: 12345602@gw1.wcom.com 5602 CSeq: 1 INVITE 5603 Contact: LittleGuy 5604 Content-Type: application/sdp 5605 Content-Length: 134 5607 v=0 5608 o=UserB 2890844527 2890844527 IN IP4 there.com 5609 s=Session SDP 5610 c=IN IP4 110.111.112.113 5611 t=0 0 5612 m=audio 3456 RTP/AVP 0 5613 a=rtpmap:0 PCMU/8000 5615 F9 ACK GW 1 -> Proxy 1 5617 ACK sip:UserB@ss1.wcom.com SIP/2.0 5618 Via: SIP/2.0/UDP gw1.wcom.com:5060 5619 Route: 5620 From: PBX_A ;user=phone 5621 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5622 Call-ID: 12345602@gw1.wcom.com 5623 CSeq: 1 ACK 5624 Content-Length: 0 5626 F10 ACK Proxy 1 -> User B 5628 ACK sip:UserB@there.com SIP/2.0 5629 Via: SIP/2.0/UDP ss1.wcom.com:5060 5630 Via: SIP/2.0/UDP gw1.wcom.com:5060 5631 From: PBX_A ;user=phone 5632 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5633 Call-ID: 12345602@ngw1.wcom.com 5634 CSeq: 1 ACK 5635 Content-Length: 0 5637 /* RTP streams are established between A and B (via the GW) */ 5639 /* User A Hangs Up with User B. */ 5641 F11 BYE GW 1 -> Proxy 1 5643 BYE sip:UserB@ss1.wcom.com SIP/2.0 5644 Via: SIP/2.0/UDP gw1.wcom.com:5060 5645 Route: 5646 From: PBX_A ;user=phone 5647 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5648 Call-ID: 12345602@gw1.wcom.com 5649 CSeq: 2 BYE 5650 Content-Length: 0 5652 F12 BYE Proxy 1 -> User B 5654 BYE sip:UserB@there.com SIP/2.0 5655 Via: SIP/2.0/UDP ss1.wcom.com:5060 5656 Via: SIP/2.0/UDP gw1.wcom.com:5060 5657 From: PBX_A ;user=phone 5658 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5659 Call-ID: 12345602@gw1.wcom.com 5660 CSeq: 2 BYE 5661 Content-Length: 0 5663 F13 200 OK User B -> Proxy 1 5665 SIP/2.0 200 OK 5666 Via: SIP/2.0/UDP ss1.wcom.com:5060 5667 Via: SIP/2.0/UDP gw1.wcom.com:5060 5668 From: PBX_A ;user=phone 5669 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5670 Call-ID: 12345602@ngw1.wcom.com 5671 CSeq: 2 BYE 5672 Content-Length: 0 5674 F14 200 OK Proxy 1 -> GW 1 5676 SIP/2.0 200 OK 5677 Via: SIP/2.0/UDP gw1.wcom.com:5060 5678 From: PBX_A ;user=phone 5679 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5680 Call-ID: 12345602@gw1.wcom.com 5681 CSeq: 2 BYE 5682 Content-Length: 0 5684 5.2 Failure Scenarios 5686 5.2.1 5687 Unsuccessful PSTN to SIP REL, SIP error mapped to REL 5689 User A GW 1 Proxy 1 User B 5690 | | | | 5691 | IAM F1 | | | 5692 |--------------->| INVITE F2 | | 5693 | |--------------->| | 5694 | | 604 F3 | | 5695 | |<---------------| | 5696 | | ACK F4 | | 5697 | |--------------->| | 5698 | REL F5 | | | 5699 |<---------------| | | 5700 | RLC F6 | | | 5701 |--------------->| | | 5702 | | | | 5704 User A attempts to place a call through Gateway GW 1 and Proxy 1, 5705 which is unable to find any routing for the number. The call is 5706 rejected by Proxy 1 with a REL message containing a specific Cause 5707 value mapped by the gateway based on the SIP error. 5709 Message Details 5711 F1 IAM User A -> GW 1 5713 IAM 5714 CgPN=314-555-1111,NPI=E.164,NOA=National 5715 CdPN=972-555-9999,NPI=E.164,NOA=National 5716 USI=Speech 5717 CPT=0 0 5718 C=Normal 5719 CCI=Not Required 5721 F2 INVITE A -> Proxy 1 5723 INVITE sip:+1-972-555-9999@ss1.wcom.com;user=phone SIP/2.0 5724 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5725 From: sip:+1-314-555-1111@gw1.wcom.com;user=phone 5726 To: sip:+1-972-555-9999@ss1.wcom.com;user=phone 5727 Call-ID: 12345602@gw1.wcom.com 5728 CSeq: 1 INVITE 5729 Contact: sip:+1-314-555-1111@gw1.wcom.com;user=phone 5730 Content-Type: application/sdp 5731 Content-Length: 150 5732 v=0 5733 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5734 s=Session SDP 5735 c=IN IP4 gatewayone.wcom.com 5736 t=0 0 5737 m=audio 3456 RTP/AVP 0 5738 a=rtpmap:0 PCMU/8000 5740 /* Proxy 1 uses a location manager to find a route to +1-972-555- 5741 9999. A route is not found, so Proxy 1 rejects the call. */ 5743 F3 604 Does Not Exist Anywhere Proxy 1 -> GW 1 5745 SIP/2.0 604 Does Not Exist Anywhere 5746 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5747 From: sip:+1-314-555-1111@gw1.wcom.com;user=phone 5748 To: sip:+1-972-555-9999@ss1.wcom.com;user=phone 5749 Call-ID: 12345602@gw1.wcom.com 5750 CSeq: 1 INVITE 5751 Content-Length: 0 5753 F4 ACK GW 1 -> Proxy 1 5755 ACK sip:+1-972-555-9999@ss1.wcom.com;user=phone SIP/2.0 5756 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5757 From: sip:+1-314-555-1111@gw1.wcom.com;user=phone 5758 To: sip:+1-972-555-9999@ss1.wcom.com;user=phone 5759 Call-ID: 12345602@gw1.wcom.com 5760 CSeq: 1 ACK 5761 Content-Length: 0 5763 F5 REL GW 1 -> User A 5765 REL 5766 CauseCode=1 5767 CodingStandard=CCITT 5769 F6 RLC User A -> GW 1 5771 RLC 5773 5.2.2 5774 Unsuccessful PSTN to SIP REL, SIP busy mapped to REL 5776 User A NGW 1 Proxy 1 User B 5777 | | | | 5778 | IAM F1 | | | 5779 |--------------->| INVITE F2 | | 5780 | |--------------->| INVITE F3 | 5781 | | (100) F4 |--------------->| 5782 | |<---------------| | 5783 | | | 600 F5 | 5784 | | |<---------------| 5785 | | | ACK F6 | 5786 | | 600 F7 |--------------->| 5787 | |<---------------| | 5788 | | ACK F8 | | 5789 | |--------------->| | 5790 | REL(17) F9 | | | 5791 |--------------->| | | 5792 | RLC F10 | | | 5793 |<---------------| | | 5794 | | | | 5796 In this scenario, User A calls User B through Network Gateway NGW 1 5797 and Proxy 1. The call is routed to User B by Proxy 1. The call is 5798 rejected by User B who sends a 600 Busy Everywhere response. The 5799 Gateway sends a REL message containing a specific Cause value mapped 5800 by the gateway based on the SIP error. 5802 Since no interworking is indicated in the IAM (F1), the busy tone is 5803 generated locally by User A's telephone switch. In scenario 5.2.3, 5804 the busy signal is generated by the Gateway since interworking is 5805 indicated. For more discussion on interworking, refer to [9]. 5807 Message Details 5809 F1 IAM User A -> NGW 1 5811 IAM 5812 CgPN=314-555-1111,NPI=E.164,NOA=National 5813 CdPN=972-555-2222,NPI=E.164,NOA=National 5814 USI=Speech 5815 CPT=0 0 5816 C=Normal 5817 CCI=Not Required 5818 F2 INVITE A -> Proxy 1 5820 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 5821 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5822 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5823 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 5824 Call-ID: 12345602@ngw1.wcom.com 5825 CSeq: 1 INVITE 5826 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5827 Content-Type: application/sdp 5828 Content-Length: 150 5830 v=0 5831 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5832 s=Session SDP 5833 c=IN IP4 gatewayone.wcom.com 5834 t=0 0 5835 m=audio 3456 RTP/AVP 0 5836 a=rtpmap:0 PCMU/8000 5838 /* Proxy 1 uses a location manager function to determine a route for 5839 +1-972-555-2222. The call is then forwarded to User B. */ 5841 F3 INVITE F3 Proxy 1 -> User B 5843 INVITE UserB@there.com SIP/2.0 5844 Via: SIP/2.0/UDP ss1.wcom.com:5060 5845 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5846 Record-Route: 5847 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5848 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 5849 Call-ID: 12345602@ngw1.wcom.com 5850 CSeq: 1 INVITE 5851 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5852 Content-Type: application/sdp 5853 Content-Length: 150 5855 v=0 5856 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5857 s=Session SDP 5858 c=IN IP4 gatewayone.wcom.com 5859 t=0 0 5860 m=audio 3456 RTP/AVP 0 5861 a=rtpmap:0 PCMU/8000 5863 F4 (100 Trying) Proxy 1 -> NGW 1 5865 SIP/2.0 100 Trying 5866 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5867 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5868 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5869 Call-ID: 12345602@ngw1.wcom.com 5870 CSeq: 1 INVITE 5871 Content-Length: 0 5873 F5 600 Busy Everywhere User B -> Proxy 1 5875 SIP/2.0 600 Busy Everywhere 5876 Via: SIP/2.0/UDP ss1.wcom.com:5060 5877 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5878 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5879 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5880 Call-ID: 12345602@ngw1.wcom.com 5881 CSeq: 1 INVITE 5882 Content-Length: 0 5884 F6 ACK Proxy 1 -> User B 5886 ACK UserB@there.com SIP/2.0 5887 Via: SIP/2.0/UDP ss1.wcom.com:5060 5888 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5889 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5890 Call-ID: 12345602@ngw1.wcom.com 5891 CSeq: 1 ACK 5892 Content-Length: 0 5894 F7 600 Busy Everywhere Proxy 1 -> NGW 1 5896 SIP/2.0 600 Busy Everywhere 5897 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5898 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5899 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5900 Call-ID: 12345602@ngw1.wcom.com 5901 CSeq: 1 INVITE 5902 Content-Length: 0 5904 F8 ACK NGW 1 -> Proxy 1 5906 ACK UserB@ss1.wcom.com SIP/2.0 5907 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5908 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5909 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 5910 Call-ID: 12345602@ngw1.wcom.com 5911 CSeq: 1 ACK 5912 Content-Length: 0 5914 F9 REL User A -> NGW 1 5916 REL 5917 CauseCode=17 Busy 5918 CodingStandard=CCITT 5920 F10 RLC NGW 1 -> User A 5922 RLC 5924 5.2.3 5925 Unsuccessful PSTN->SIP, SIP error interworking to tones 5927 User A NGW 1 Proxy 1 User B 5928 | | | | 5929 | IAM F1 | | | 5930 |--------------->| INVITE F2 | | 5931 | |--------------->| INVITE F3 | 5932 | | (100) F4 |--------------->| 5933 | |<---------------| | 5934 | | | 600 F5 | 5935 | | |<---------------| 5936 | | | ACK F6 | 5937 | | 600 F7 |--------------->| 5938 | |<---------------| | 5939 | | ACK F8 | | 5940 | ANM F9 |--------------->| | 5941 |<---------------| | | 5942 | Both Way Voice | | | 5943 |<==============>| | | 5944 | Busy Tone | | | 5945 |<===============| | | 5946 | REL(17) F10 | | | 5947 |--------------->| | | 5948 | RLC F11 | | | 5949 |<---------------| | | 5950 | | | | 5952 In this scenario, User A calls User B through Network Gateway NGW1 5953 and Proxy 1. The call is routed to User B by Proxy 1. The call is 5954 rejected by the User B client. NGW 1 sets up a two way voice path to 5955 User A, plays busy tone, and releases call after timeout. 5957 NGW 1 plays the busy tone since the IAM (F1) indicates the 5958 interworking is present. In scenario 5.2.2, with no interworking, 5959 the busy indication is carried in the REL Cause value and is 5960 generated locally instead. 5962 Again, not that for ETSI or ITU ISUP, a CONnect message would be sent 5963 intead of the Answer Message. 5965 Message Details 5967 F1 IAM User A -> NGW 1 5969 IAM 5970 CgPN=314-555-1111,NPI=E.164,NOA=National 5971 CdPN=972-555-2222,NPI=E.164,NOA=National 5972 USI=Speech 5973 CPT=0 0 5974 C=Normal 5975 CCI=Not Required 5976 Interworking=encountered 5978 F2 INVITE A -> Proxy 1 5980 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 5981 Via: SIP/2.0/UDP ngw1.wcom.com:5060 5982 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5983 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 5984 Call-ID: 12345602@ngw1.wcom.com 5985 CSeq: 1 INVITE 5986 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 5987 Content-Type: application/sdp 5988 Content-Length: 150 5990 v=0 5991 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5992 s=Session SDP 5993 c=IN IP4 gatewayone.wcom.com 5994 t=0 0 5995 m=audio 3456 RTP/AVP 0 5996 a=rtpmap:0 PCMU/8000 5998 /* Proxy 1 uses a location manager function to determine a route for 5999 +1-972-555-2222. The call is then forwarded to User B. */ 6001 F3 INVITE Proxy 1 -> User B 6003 INVITE UserB@there.com SIP/2.0 6004 Via: SIP/2.0/UDP ss1.wcom.com:5060 6005 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6006 Record-Route: 6007 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6008 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6009 Call-ID: 12345602@ngw1.wcom.com 6010 CSeq: 1 INVITE 6011 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6012 Content-Type: application/sdp 6013 Content-Length: 150 6015 v=0 6016 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6017 s=Session SDP 6018 c=IN IP4 gatewayone.wcom.com 6019 t=0 0 6020 m=audio 3456 RTP/AVP 0 6021 a=rtpmap:0 PCMU/8000 6023 F4 (100 Trying) User B -> Proxy 1 6025 SIP/2.0 100 Trying 6026 Via: SIP/2.0/UDP ss1.wcom.com:5060 6027 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6028 Record-Route: 6029 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6030 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6031 Call-ID: 12345602@ngw1.wcom.com 6032 CSeq: 1 INVITE 6033 Content-Length: 0 6035 F5 600 Busy Everywhere User B -> Proxy 1 6037 SIP/2.0 600 Busy Everywhere 6038 Via: SIP/2.0/UDP ss1.wcom.com:5060 6039 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6040 Record-Route: 6041 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6042 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 6043 Call-ID: 12345602@ngw1.wcom.com 6044 CSeq: 1 INVITE 6045 Content-Length: 0 6047 F6 ACK Proxy 1 -> User B 6049 ACK UserB@ss1.wcom.com SIP/2.0 6050 Via: SIP/2.0/UDP ss1.wcom.com:5060 6051 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6052 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 6053 Call-ID: 12345602@ngw1.wcom.com 6054 CSeq: 1 ACK 6055 Content-Length: 0 6057 F7 600 Busy Everywhere Proxy 1 -> NGW 1 6059 SIP/2.0 600 Busy Everywhere 6060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6061 Record-Route: 6062 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6063 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 6064 Call-ID: 12345602@ngw1.wcom.com 6065 CSeq: 1 INVITE 6066 Content-Length: 0 6068 F8 ACK NGW 1 -> Proxy 1 6070 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 6071 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6072 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6073 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 6074 Call-ID: 12345602@ngw1.wcom.com 6075 CSeq: 1 ACK 6076 Content-Length: 0 6078 F9 ACM User B -> NGW 1 6080 ACM 6081 Charge Indicator=No Charge 6082 Called Party Status=no indication 6083 Called Party's Category=ordinary subscriber 6084 End To End Method=none available 6085 Interworking=encountered 6086 End to End Information=none available 6087 ISUP Indicator=not used all the way 6088 ISDN Access Terminating access non ISDN 6089 Echo Control=not included 6091 /* A two way speech path is established between NGW 1 and User A. */ 6093 /* Call Released after NGW treatment timer expires. */ 6095 F10 REL User A -> NGW 1 6097 REL 6098 CauseCode=17 6099 CodingStandard=CCITT 6101 F11 RLC NGW 1 -> User A 6103 RLC 6105 5.2.4 6106 Unsuccessful PSTN->SIP, ACM timeout 6108 User A NGW 1 Proxy 1 User B 6109 | | | | 6110 | IAM F1 | | | 6111 |--------------->| INVITE F2 | | 6112 | |--------------->| INVITE F3 | 6113 | | (100) F4 |--------------->| 6114 | |<---------------| | 6115 | | | INVITE F5 | 6116 | | |--------------->| 6117 | | | INVITE F6 | 6118 | | |--------------->| 6119 | | | INVITE F7 | 6120 | | |--------------->| 6121 | | | INVITE F8 | 6122 | | |--------------->| 6123 | | | INVITE F9 | 6124 | | |--------------->| 6125 | REL F10 | | | 6126 |--------------->| | | 6127 | RLC F11 | | | 6128 |<---------------| | | 6129 | | CANCEL F12 | | 6130 | |--------------->| | 6131 | | 200 F13 | | 6132 | |<---------------| CANCEL F14 | 6133 | | |--------------->| 6134 | | | CANCEL F15 | 6135 | | |--------------->| 6136 | | | CANCEL F16 | 6137 | | |--------------->| 6138 | | | CANCEL F17 | 6139 | | |--------------->| 6140 | | | CANCEL F18 | 6141 | | |--------------->| 6142 | | | | 6144 User A calls User B through NGW 1 and Proxy 1. Proxy 1 re-sends the 6145 INVITE after the expiration of SIP timer T1 without receiving any 6146 response from User B. User B never responds with 180 Ringing or any 6147 other response (it is reachable but unresponsive). After the 6148 expiration of a timer, User A's network disconnects the call by 6149 sending a Release message REL. The Gateway maps this to a CANCEL 6150 which is again re-sent by Proxy 1 after SIP T1 timer expires. 6152 Message Details 6153 F1 IAM User A -> NGW 1 6155 IAM 6156 CgPN=314-555-1111,NPI=E.164,NOA=National 6157 CdPN=972-555-2222,NPI=E.164,NOA=National 6158 USI=Speech 6159 CPT=0 0 6160 C=Normal 6161 CCI=Not Required 6163 F2 INVITE A -> Proxy 1 6165 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 6166 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6167 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6168 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6169 Call-ID: 12345602@ngw1.wcom.com 6170 CSeq: 1 INVITE 6171 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6172 Content-Type: application/sdp 6173 Content-Length: 150 6175 v=0 6176 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6177 s=Session SDP 6178 c=IN IP4 gatewayone.wcom.com 6179 t=0 0 6180 m=audio 3456 RTP/AVP 0 6181 a=rtpmap:0 PCMU/8000 6183 /* Proxy 1 uses a location manager function to determine a route for 6184 +1-972-555-2222. The call is then forwarded to User B. */ 6186 F3 INVITE Proxy 1 -> User B 6188 INVITE sip:UserB@there.com SIP/2.0 6189 Via: SIP/2.0/UDP ss1.wcom.com:5060 6190 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6191 Record-Route: 6192 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6193 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6194 Call-ID: 12345602@ngw1.wcom.com 6195 CSeq: 1 INVITE 6196 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6197 Content-Type: application/sdp 6198 Content-Length: 150 6200 v=0 6201 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6202 c c=IN IP4 gatewayone.wcom.com 6203 t=0 0 6204 m=audio 3456 RTP/AVP 0 6205 a=rtpmap:0 PCMU/8000 6207 F4 100 Trying Proxy 1 -> NGW 1 6209 SIP/2.0 100 Trying 6210 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6211 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6212 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6213 Call-ID: 12345602@ngw1.wcom.com 6214 CSeq: 1 INVITE 6215 Content-Length: 0 6217 F5 INVITE Proxy 1 -> User B 6219 Same as Message F3 6221 F6 INVITE Proxy 1 -> User B 6223 Same as Message F3 6225 F7 INVITE Proxy 1 -> User B 6227 Same as Message F3 6229 F8 INVITE Proxy 1 -> User B 6231 Same as Message F3 6233 F9 INVITE Proxy 1 -> User B 6235 Same as Message F3 6237 /* Timer expires in User A's access network. */ 6239 F10 REL User A -> NGW 1 6241 REL 6242 CauseCode=16 Normal 6243 CodingStandard=CCITT 6244 F11 RLC NGW 1 -> User A 6246 RLC 6248 F12 CANCEL NGW 1 -> Proxy 1 6250 CANCEL sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 6251 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6252 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6253 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6254 Call-ID: 12345602@ngw1.wcom.com 6255 CSeq: 1 CANCEL 6256 Content-Length: 0 6258 F13 200 OK Proxy 1 -> NGW 1 6260 SIP/2.0 200 OK 6261 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6262 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6263 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6264 Call-ID: 12345602@ngw1.wcom.com 6265 CSeq: 1 CANCEL 6266 Content-Length: 0 6268 F14 CANCEL Proxy 1 -> User B 6270 CANCEL sip:UserB@there.com SIP/2.0 6271 Via: SIP/2.0/UDP ss1.wcom.com:5060 6272 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6273 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6274 Call-ID: 12345602@ngw1.wcom.com 6275 CSeq: 1 CANCEL 6276 Content-Length: 0 6278 F15 CANCEL Proxy 1 -> User B 6280 Same as Message F14 6282 F16 CANCEL Proxy 1 -> User B 6284 Same as Message F14 6286 F17 CANCEL Proxy 1 -> User B 6287 Same as Message F14 6289 F18 CANCEL Proxy 1 -> User B 6291 Same as Message F14 6293 F19 CANCEL Proxy 1 -> User B 6295 Same as Message F14 6297 5.2.5 6298 Unsuccessful PSTN->SIP, ACM timeout, stateless Proxy 6300 User A NGW 1 Proxy 1 User B 6301 | | | | 6302 | IAM F1 | | | 6303 |--------------->| INVITE F2 | | 6304 | |--------------->| INVITE F3 | 6305 | | INVITE F4 |--------------->| 6306 | |--------------->| INVITE F5 | 6307 | | INVITE F6 |--------------->| 6308 | |--------------->| INVITE F7 | 6309 | | INVITE F8 |--------------->| 6310 | |--------------->| INVITE F9 | 6311 | | INVITE F10 |--------------->| 6312 | |--------------->| INVITE F11 | 6313 | | INVITE F12 |--------------->| 6314 | |--------------->| INVITE F13 | 6315 | | |--------------->| 6316 | REL F14 | | | 6317 |--------------->| | | 6318 | RLC F15 | | | 6319 |<---------------| | | 6320 | | CANCEL F16 | | 6321 | |--------------->| CANCEL F17 | 6322 | | CANCEL F18 |--------------->| 6323 | |--------------->| CANCEL F19 | 6324 | | CANCEL F20 |--------------->| 6325 | |--------------->| CANCEL F21 | 6326 | | CANCEL F22 |--------------->| 6327 | |--------------->| CANCEL F23 | 6328 | | CANCEL F24 |--------------->| 6329 | |--------------->| CANCEL F25 | 6330 | | CANCEL F26 |--------------->| 6331 | |--------------->| CANCEL F27 | 6332 | | |--------------->| 6333 | | | | 6335 In this scenario, User A calls User B through NGW 1 and Proxy 1. 6336 Since Proxy 1 is stateless (it does not send a 100 Trying response), 6337 NGW 1 re-sends the INVITE and CANCEL messages after the expiration of 6338 SIP timer T1. User B does not respond with 180 Ringing. User A's 6339 network disconnects the call with a release REL. 6341 Message Details 6343 F1 IAM User A -> NGW 1 6344 IAM 6345 CgPN=314-555-1111,NPI=E.164,NOA=National 6346 CdPN=972-555-2222,NPI=E.164,NOA=National 6347 USI=Speech 6348 CPT=0 0 6349 C=Normal 6350 CCI=Not Required 6352 F2 INVITE NGW 1 -> Proxy 1 6354 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 6355 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6356 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6357 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6358 Call-ID: 12345602@ngw1.wcom.com 6359 CSeq: 1 INVITE 6360 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6361 Content-Type: application/sdp 6362 Content-Length: 150 6364 v=0 6365 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6366 s=Session SDP 6367 c=IN IP4 gatewayone.wcom.com 6368 t=0 0 6369 m=audio 3456 RTP/AVP 0 6370 a=rtpmap:0 PCMU/8000 6372 /* Proxy 1 uses a location manager function to determine a route for 6373 +1-972-555-2222. The call is then forwarded to User B. */ 6375 F3 INVITE Proxy 1 -> User B 6377 INVITE sip:UserB@there.com SIP/2.0 6378 Via: SIP/2.0/UDP ss1.wcom.com:5060 6379 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6380 Record-Route: 6381 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6382 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6383 Call-ID: 12345602@ngw1.wcom.com 6384 CSeq: 1 INVITE 6385 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6386 Content-Type: application/sdp 6387 Content-Length: 150 6389 v=0 6390 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6391 s=Session SDP 6392 c=IN IP4 gatewayone.wcom.com 6393 t=0 0 6394 m=audio 3456 RTP/AVP 0 6395 a=rtpmap:0 PCMU/8000 6397 F4 INVITE NGW 1 -> Proxy 1 6399 Same as Message F2 6401 F5 INVITE Proxy 1 -> User B 6403 Same as Message F3 6405 F6 INVITE NGW 1 -> Proxy 1 6407 Same as Message F2 6409 F7 INVITE Proxy 1 -> User B 6411 Same as Message F3 6413 F8 INVITE NGW 1 -> Proxy 1 6415 Same as Message F2 6417 F9 INVITE Proxy 1 -> User B 6419 Same as Message F3 6421 F10 INVITE NGW 1 -> Proxy 1 6423 Same as Message F2 6425 F11 INVITE Proxy 1 -> User B 6427 Same as Message F3 6429 F12 INVITE NGW 1 -> Proxy 1 6431 Same as Message F2 6432 F13 INVITE Proxy 1 -> User B 6434 Same as Message F3 6436 /* A timer expires in User A's access network. */ 6438 F14 REL User A -> NGW 1 6440 REL 6441 CauseCode=16 Normal 6442 CodingStandard=CCITT 6444 F15 RLC NGW 1 -> User A 6446 RLC 6448 F16 CANCEL NGW 1 -> Proxy 1 6450 CANCEL sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 6451 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6452 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6453 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6454 Call-ID: 12345602@ngw1.wcom.com 6455 CSeq: 1 CANCEL 6456 Content-Length: 0 6458 F17 CANCEL Proxy 1 -> User B 6460 CANCEL sip:UserB@there.com SIP/2.0 6461 Via: SIP/2.0/UDP ss1.wcom.com:5060 6462 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6463 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6464 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6465 Call-ID: 12345602@ngw1.wcom.com 6466 CSeq: 1 CANCEL 6467 Content-Length: 0 6469 F18 CANCEL NGW 1 -> Proxy 1 6471 Same as Message F16 6473 F19 CANCEL Proxy 1 -> User B 6474 Same as Message F17 6476 F20 CANCEL NGW 1 -> Proxy 1 6478 Same as Message F16 6480 F21 CANCEL Proxy 1 -> User B 6482 Same as Message F17 6484 F22 CANCEL NGW 1 -> Proxy 1 6486 Same as Message F16 6488 F23 CANCEL Proxy 1 -> User B 6490 Same as Message F17 6492 F24 CANCEL NGW 1 -> Proxy 1 6494 Same as Message F16 6496 F25 CANCEL Proxy 1 -> User B 6498 Same as Message F17 6500 F26 CANCEL NGW 1 -> Proxy 1 6502 Same as Message F16 6504 F27 CANCEL Proxy 1 -> User B 6506 Same as Message F17 6508 5.2.6 6509 Unsuccessful PSTN->SIP, ANM timeout 6511 User A NGW 1 Proxy 1 User B 6512 | | | | 6513 | IAM F1 | | | 6514 |--------------->| INVITE F2 | | 6515 | |--------------->| INVITE F3 | 6516 | | (100) F4 |--------------->| 6517 | |<---------------| | 6518 | | | 180 F5 | 6519 | | 180 F6 |<---------------| 6520 | ACM F7 |<---------------| | 6521 |<---------------| | | 6522 | One Way Voice | | | 6523 |<===============| | | 6524 | Ringing Tone | | | 6525 |<===============| | | 6526 | | | | 6527 | REL F8 | | | 6528 |--------------->| | | 6529 | RLC F9 | | | 6530 |<---------------| CANCEL F10 | | 6531 | |--------------->| | 6532 | | 200 F11 | | 6533 | |<---------------| | 6534 | | | CANCEL F12 | 6535 | | |--------------->| 6536 | | | 200 F13 | 6537 | | |<---------------| 6538 | | | | 6540 In this scenario, User A calls User B through NGW 1 and Proxy 1. 6541 User B does not respond with 200 OK. NGW 1 plays ringing tone since 6542 the ACM indicates that interworking has been encountered. User A 6543 disconnects the call with a Release message REL which is mapped by 6544 NGW 1 to a CANCEL. Note that if User B had sent a 200 OK response 6545 after the REL, NGW 1 would have sent an ACK then a BYE to properly 6546 terminate the call. 6548 Message Details 6550 F1 IAM User A -> NGW 1 6552 IAM 6553 CgPN=314-555-1111,NPI=E.164,NOA=National 6554 CdPN=972-555-2222,NPI=E.164,NOA=National 6555 USI=Speech 6556 CPT=0 0 6557 C=Normal 6558 CCI=Not Required 6560 F2 INVITE A -> Proxy 1 6562 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 6563 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6564 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6565 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6566 Call-ID: 12345602@ngw1.wcom.com 6567 CSeq: 1 INVITE 6568 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6569 Content-Type: application/sdp 6570 Content-Length: 150 6572 v=0 6573 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6574 s=Session SDP 6575 c=IN IP4 gatewayone.wcom.com 6576 t=0 0 6577 m=audio 3456 RTP/AVP 0 6578 a=rtpmap:0 PCMU/8000 6580 /* Proxy 1 uses a location manager function to determine a route for 6581 +1-972-555-2222. The call is then forwarded to User B. */ 6583 F3 INVITE Proxy 1 -> User B 6585 INVITE sip:UserB@there.com SIP/2.0 6586 Via: SIP/2.0/UDP ss1.wcom.com:5060 6587 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6588 Record-Route: 6589 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6590 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6591 Call-ID: 12345602@ngw1.wcom.com 6592 CSeq: 1 INVITE 6593 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6594 Content-Type: application/sdp 6595 Content-Length: 150 6597 v=0 6598 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6599 s=Session SDP 6600 c=IN IP4 gatewayone.wcom.com 6601 t=0 0 6602 m=audio 3456 RTP/AVP 0 6603 a=rtpmap:0 PCMU/8000 6605 F4 (100 Trying) User B -> Proxy 1 6607 SIP/2.0 100 Trying 6608 Via: SIP/2.0/UDP ss1.wcom.com:5060 6609 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6610 Record-Route: 6611 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6612 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6613 Call-ID: 12345602@ngw1.wcom.com 6614 CSeq: 1 INVITE 6615 Content-Length: 0 6617 F5 180 Ringing User B -> Proxy 1 6619 SIP/2.0 180 Ringing 6620 Via: SIP/2.0/UDP ss1.wcom.com:5060 6621 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6622 Record-Route: 6623 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6624 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 6625 Call-ID: 12345602@ngw1.wcom.com 6626 CSeq: 1 INVITE 6627 Content-Length: 0 6629 F6 180 Ringing Proxy 1 -> NGW 1 6631 SIP/2.0 180 Ringing 6632 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6633 Record-Route: 6634 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6635 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 6636 Call-ID: 12345602@ngw1.wcom.com 6637 CSeq: 1 INVITE 6638 Content-Length: 0 6640 F7 ACM NGW 1 -> User A 6642 ACM 6643 Charge Indicator=No Charge 6644 Called Party Status=no indication 6645 Called Party's Category=ordinary subscriber 6646 End To End Method=none available 6647 Interworking=encountered 6648 End to End Information=none available 6649 ISUP Indicator=not used all the way 6650 ISDN Access Terminating access non ISDN 6651 Echo Control=not included 6653 /* Timer expires in User A's access network. */ 6655 F8 REL User A -> NGW 1 6657 REL 6658 CauseCode=16 Normal 6659 CodingStandard=CCITT 6661 F9 RLC NGW 1 -> User A 6663 RLC 6665 F10 CANCEL NGW 1 -> Proxy 1 6667 CANCEL sip:UserB@ss1.wcom.com SIP/2.0 6668 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6669 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6670 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6671 Call-ID: 12345602@ngw1.wcom.com 6672 CSeq: 1 CANCEL 6673 Content-Length: 0 6675 F11 200 OK Proxy 1 -> NGW 1 6677 SIP/2.0 200 OK 6678 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6679 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6680 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6681 Call-ID: 12345602@ngw1.wcom.com 6682 CSeq: 1 CANCEL 6683 Content-Length: 0 6685 F12 CANCEL Proxy 1 -> User B 6687 CANCEL sip:UserB@there.com SIP/2.0 6688 Via: SIP/2.0/UDP ss1.wcom.com:5060 6689 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6690 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6691 Call-ID: 12345602@ngw1.wcom.com 6692 CSeq: 1 CANCEL 6693 Content-Length: 0 6694 F13 200 OK User B -> Proxy 1 6696 SIP/2.0 200 OK 6697 Via: SIP/2.0/UDP ss1.wcom.com:5060 6698 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6699 To: sip:+1-972-555-2222@ss1.wcom.com;user=phone 6700 Call-ID: 12345602@ngw1.wcom.com 6701 CSeq: 1 CANCEL 6702 Content-Length: 0 6704 6 Gateway to Gateway Dialing via SIP Network 6706 In these scenarios, both the caller and the called party are in the 6707 telephone network, either normal PSTN subscribers or PBX extensions. 6708 The calls route through two Gateways and at least one SIP Proxy 6709 Server. The Proxy Server performs the authentication and location of 6710 the Gateways. 6712 Again it is noted that the intent of this call flows document is not 6713 to provide a detailed parameter level mapping of SIP to PSTN 6714 protocols. For information on SIP to ISUP mapping, the reader is 6715 referred to other references[9]. 6717 6.1 Success Scenarios 6719 In these scenarios, the call is successfully completed between the 6720 two Gateways allowing the PSTN or PBX users to communicate. The 183 6721 Session Progress response is used to establish a media path between 6722 the two Gateways, allowing in-band alerting to pass from the called 6723 party telephone switch to the caller. 6725 6.1.1 6726 Successful ISUP PSTN to ISUP PSTN call 6728 User A NGW 1 Proxy 1 GW 2 User C 6729 | | | | | 6730 | IAM F1 | | | | 6731 |------------->| | | | 6732 | | INVITE F2 | | | 6733 | |------------->| INVITE F3 | | 6734 | | |------------->| IAM F4 | 6735 | | | |------------->| 6736 | | | | ACM F5 | 6737 | | | 183 F6 |<-------------| 6738 | | 183 F7 |<-------------| | 6739 | ACM F8 |<-------------| | | 6740 |<-------------| | | | 6741 | One Way Voice| Both Way RTP Media | One Way Voice| 6742 |<=============|<===========================>|<=============| 6743 | | | | ANM F9 | 6744 | | | 200 F10 |<-------------| 6745 | | 200 F11 |<-------------| | 6746 | ANM F12 |<-------------| | | 6747 |<-------------| | | | 6748 | | ACK F13 | | | 6749 | |------------->| ACK F14 | | 6750 | | |------------->| | 6751 |Both Way Voice| Both Way RTP Media |Both Way Voice| 6752 |<=============|<===========================>|<=============| 6753 | | | | REL F15 | 6754 | | | |<-------------| 6755 | | | BYE F16 | | 6756 | | BYE F18 |<-------------| REL F17 | 6757 | |<-------------| |------------->| 6758 | | | | | 6759 | | 200 F19 | | | 6760 | |------------->| 200 F20 | | 6761 | | |------------->| | 6762 | REL F21 | | | | 6763 |<-------------| | | | 6764 | RLC F22 | | | | 6765 |------------->| | | | 6766 | | | | | 6768 In this scenario, User A in the PSTN calls User C who is an extension 6769 on a PBX. User A's telephone switch signals via SS7 to the Network 6770 Gateway NGW 1, while User C's PBX signals via SS7 with the Enterprise 6771 Gateway GW 2. The CdPN and CgPN are mapped into SIP URLs and placed 6772 in the To and From headers. Proxy 1 looks up the dialed digits in 6773 the Request-URI and maps the digits to the PBX extension of User C 6774 served by GW 2. The Request-URI in F3 uses the phone-context tag to 6775 identify what private dialing plan is being referenced. For more 6776 information on phone-context, refer to [7]. The INVITE is then 6777 forwarded to GW 2 for call completion. An early media path is 6778 established end-to-end so that User A can hear the ringing tone 6779 generated by PBX C. 6781 User C answers the call and the media path is cut through in both 6782 directions. User B hangs up terminating the call. 6784 Message Details 6786 F1 IAM User A -> NGW 1 6788 IAM 6789 CgPN=314-555-1111,NPI=E.164,NOA=National 6790 CdPN=918-555-3333,NPI=E.164,NOA=National 6791 USI=Speech 6792 CPT=0 0 6793 C=Normal 6794 CCI=Not Required 6796 F2 INVITE NGW 1 -> Proxy 1 6798 INVITE sip:+1-918-555-3333@ss1.wcom.com;user=phone SIP/2.0 6799 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6800 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6801 To: sip:+1-918-555-3333@ss1.wcom.com;user=phone 6802 Call-ID: 12345600@ngw1.wcom.com 6803 CSeq: 1 INVITE 6804 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6805 Content-Type: application/sdp 6806 Content-Length: 134 6808 v=0 6809 o=GW1 2890844526 2890844526 IN IP4 gw1.wcom.com 6810 s=Session SDP 6811 c=IN IP4 100.101.102.103 6812 t=0 0 6813 m=audio 49170 RTP/AVP 0 6814 a=rtpmap:0 PCMU/8000 6816 F3 INVITE Proxy 1 -> GW 2 6818 INVITE sip:444-3333@gw2.wcom.com;phone-context=p1234 SIP/2.0 6819 Via: SIP/2.0/UDP ss1.wcom.com:5060 6820 Via: SIP/2.0/UDP gw1.wcom.com:5060 6821 Record-Route: 6822 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6823 To: sip:+1-918-555-3333@ss1.wcom.com;user=phone 6824 Call-ID: 12345600@ngw1.wcom.com 6825 CSeq: 1 INVITE 6826 Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6827 Content-Type: application/sdp 6828 Content-Length: 134 6830 v=0 6831 o=GW1 2890844526 2890844526 IN IP4 gw1.wcom.com 6832 s=Session SDP 6833 c=IN IP4 100.101.102.103 6834 t=0 0 6835 m=audio 49170 RTP/AVP 0 6836 a=rtpmap:0 PCMU/8000 6838 F4 IAM GW 2 -> User C 6840 IAM 6841 CgPN=314-555-1111,NPI=E.164,NOA=National 6842 CdPN=444-3333,NPI=Private,NOA=Subscriber 6843 USI=Speech 6844 CPT=0 0 6845 C=Normal 6846 CCI=Not Required 6848 F5 ACM User C -> GW 2 6850 ACM 6851 Charge Indicator=No Charge 6852 Called Party Status=no indication 6853 Called Party's Category=ordinary subscriber 6854 End To End Method=none available 6855 Interworking=encountered 6856 End to End Information=none available 6857 ISUP Indicator=not used all the way 6858 ISDN Access Terminating access non ISDN 6859 Echo Control=not included 6861 /* Based on PROGress message, GW 2 returns a 183 response with SDP 6862 allowing in-band call progress indications to be sent to User A 6863 through NGW 1. */ 6865 F6 183 Session Progress GW 2 -> Proxy 1 6867 SIP/2.0 183 Session Progress 6868 Via: SIP/2.0/UDP ss1.wcom.com:5060 6869 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6870 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6871 To: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 6872 Call-ID: 12345600@ngw1.wcom.com 6873 CSeq: 1 INVITE 6874 Content-Type: application/sdp 6875 Content-Length: 134 6877 v=0 6878 o=PBX_B 987654321 987654321 IN IP4 gw2.wcom.com 6879 s=Session SDP 6880 c=IN IP4 100.101.102.104 6881 t=0 0 6882 m=audio 14918 RTP/AVP 0 6883 a=rtpmap:0 PCMU/8000 6885 F7 183 Session Progress Proxy 1 -> GW 1 6887 SIP/2.0 183 Session Progress 6888 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6889 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6890 To: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 6891 Call-ID: 12345600@ngw1.wcom.com 6892 CSeq: 1 INVITE 6893 Content-Type: application/sdp 6894 Content-Length: 134 6896 v=0 6897 o=PBX_B 987654321 987654321 IN IP4 gw2.wcom.com 6898 s=Session SDP 6899 c=IN IP4 100.101.102.104 6900 t=0 0 6901 m=audio 14918 RTP/AVP 0 6902 a=rtpmap:0 PCMU/8000 6904 /* NGW 1 receives packets from GW 2 with encoded ringback, tones or 6905 other audio. NGW 1 decodes this and places it on the originating 6906 trunk. */ 6908 F8 ACM NGW 1 -> User A 6910 ACM 6911 Charge Indicator=No Charge 6912 Called Party Status=no indication 6913 Called Party's Category=ordinary subscriber 6914 End To End Method=none available 6915 Interworking=encountered 6916 End to End Information=none available 6917 ISUP Indicator=not used all the way 6918 ISDN Access Terminating access non ISDN 6919 Echo Control=not included 6921 /* User B answers */ 6923 F9 ANM User C -> GW 2 6925 ANM 6927 F10 200 OK GW 2 -> Proxy 1 6929 SIP/2.0 200 OK 6930 Via: SIP/2.0/UDP ss1.wcom.com:5060 6931 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6932 Record-Route: 6933 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6934 To: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 6935 Call-ID: 12345600@ngw1.wcom.com 6936 CSeq: 1 INVITE 6937 Contact: sip:444-3333@gw2.wcom.com;phone-context=p1234 6938 Content-Type: application/sdp 6939 Content-Length: 134 6941 v=0 6942 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com 6943 s=Session SDP 6944 c=IN IP4 100.101.102.104 6945 t=0 0 6946 m=audio 14918 RTP/AVP 0 6947 a=rtpmap:0 PCMU/8000 6949 F11 200 OK Proxy 1 -> NGW 1 6951 SIP/2.0 200 OK 6952 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6953 Record-Route: 6954 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6955 To: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 6956 Call-ID: 12345600@ngw1.wcom.com 6957 CSeq: 1 INVITE 6958 Contact: sip:444-3333@gw2.wcom.com;phone-context=p1234 6959 Content-Type: application/sdp 6960 Content-Length: 134 6962 v=0 6963 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com 6964 s=Session SDP 6965 c=IN IP4 100.101.102.104 6966 t=0 0 6967 m=audio 14918 RTP/AVP 0 6968 a=rtpmap:0 PCMU/8000 6970 F12 ANM NGW 1 -> User A 6972 ANM 6974 F13 ACK NGW 1 -> Proxy 1 6976 ACK sip:444-3333@ss1.wcom.com;phone-context=p1234 SIP/2.0 6977 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6978 Route: ;phone-context=p1234 6979 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6980 To: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 6981 Call-ID: 12345600@gw1.wcom.com 6982 CSeq: 1 ACK 6983 Content-Length: 0 6985 F14 ACK Proxy 1 -> GW 2 6987 ACK sip:444-3333@gw2.wcom.com;phone-context=p1234 SIP/2.0 6988 Via: SIP/2.0/UDP ss1.wcom.com:5060 6989 Via: SIP/2.0/UDP ngw1.wcom.com:5060 6990 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 6991 To: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 6992 Call-ID: 12345600@ngw1.wcom.com 6993 CSeq: 1 ACK 6994 Content-Length: 0 6996 /* RTP streams are established between NGW 1 and GW 2. */ 6998 /* User B Hangs Up with User A. */ 7000 F15 REL User C -> GW 2 7002 REL 7003 CauseCode=16 Normal 7004 CodingStandard=CCITT 7006 F16 BYE GW 2 -> Proxy 1 7007 BYE sip:+1-314-555-1111@ss1.wcom.com;user=phone SIP/2.0 7008 Via: SIP/2.0/UDP gw2.wcom.com:5060 7009 Route: ;user=phone 7010 From: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 7011 To: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 7012 Call-ID: 12345600@ngw1.wcom.com 7013 CSeq: 4 BYE 7014 Content-Length: 0 7016 F17 RLC GW 2 -> User C 7018 RLC 7020 F18 BYE Proxy 1 -> NGW 1 7022 BYE sip:+1-314-555-1111@gw1.wcom.com;user=phone SIP/2.0 7023 Via: SIP/2.0/UDP ss1.wcom.com:5060 7024 Via: SIP/2.0/UDP gw2.wcom.com:5060 7025 From: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 7026 To: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 7027 Call-ID: 12345600@ngw1.wcom.com 7028 CSeq: 4 BYE 7029 Content-Length: 0 7031 F19 200 OK NGW 1 -> Proxy 1 7033 SIP/2.0 200 OK 7034 Via: SIP/2.0/UDP ss1.wcom.com:5060 7035 Via: SIP/2.0/UDP gw2.wcom.com:5060 7036 From: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 7037 To: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 7038 Call-ID: 12345600@ngw1.wcom.com 7039 CSeq: 4 BYE 7040 Content-Length: 0 7042 F20 200 OK Proxy 1 -> GW 2 7044 SIP/2.0 200 OK 7045 Via: SIP/2.0/UDP gw2.wcom.com:5060 7046 From: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 7047 To: sip:+1-314-555-1111@ngw1.wcom.com;user=phone 7048 Call-ID: 12345600@ngw1.wcom.com 7049 CSeq: 4 BYE 7050 Content-Length: 0 7051 F21 REL User C -> GW 2 7053 REL 7054 CauseCode=16 Normal 7055 CodingStandard=CCITT 7057 F22 RLC GW 2 -> User C 7059 RLC 7061 6.1.2 7062 Successful FGB PBX to ISDN PBX call with overflow 7064 User A GW 1 Proxy 1 GW 2 GW 3 User B 7065 | | | | | | 7066 | Seizure | | | | | 7067 |----------->| | | | | 7068 | Wink | | | | | 7069 |<-----------| | | | | 7070 |MF Digits F1| | | | | 7071 |----------->| | | | | 7072 | | INVITE F2 | | | | 7073 | |----------->| INVITE F3 | | | 7074 | | |----------->| | | 7075 | | | 503 F4 | | | 7076 | | |<-----------| | | 7077 | | | ACK F5 | | | 7078 | | |----------->| | | 7079 | | | INVITE F6 | | 7080 | | |------------------------>| SETUP F7 | 7081 | | | (100) F8 |----------->| 7082 | | |<------------------------|CALL PROC F9| 7083 | | | |<-----------| 7084 | | | | PROG F10 | 7085 | | | 183 F11 |<-----------| 7086 | | 183 F12 |<------------------------| | 7087 | |<-----------| | | 7088 |OneWay Voice| Both Way RTP Media |OneWay Voice| 7089 |<===========|<====================================>|<===========| 7090 | | | | CONNect F13| 7091 | | | 200 F14 |<-----------| 7092 | | 200 F15 |<------------------------| | 7093 | Seizure |<-----------| | | 7094 |<-----------| ACK F16 | | | 7095 | |----------->| ACK F17 | | 7096 | | |------------------------>|CONN ACK F18| 7097 | | | |----------->| 7098 |BothWayVoice| Both Way RTP Media |BothWayVoice| 7099 |<==========>|<====================================>|<==========>| 7100 | | | | DISC F19 | 7101 | | | |<-----------| 7102 | | | BYE F20 | | 7103 | | BYE F21 |<------------------------| REL F22 | 7104 |Seiz Removal|<-----------| |----------->| 7105 |<-----------| 200 F23 | | | 7106 |Seiz Removal|----------->| 200 F24 | | 7107 |----------->| |------------------------>| REL COM F25| 7108 | | | |<-----------| 7109 | | | | | 7110 PBX User A calls PBX User C via Gateway GW 1 and Proxy 1. During the 7111 attempt to reach User C via GW 2, an error is encountered - Proxy 1 7112 receives a 503 Service Unavailable (F4) response to the forwarded 7113 INVITE. This could be due to all circuits being busy, or some other 7114 outage at GW 2. Proxy 1 recognizes the error and uses an alternative 7115 route via GW 3 to terminate the call. From there, the call proceeds 7116 normally with User C answering the call. The call is terminated when 7117 User C hangs up. 7119 Message Details 7121 PBX A -> GW 1 7123 Seizure 7125 GW 1 -> PBX A 7127 Wink 7129 F1 MF Digits PBX A -> GW 1 7131 KP 444 3333 ST 7133 F2 INVITE GW 1 -> Proxy 1 7135 INVITE sip:444-3333@ss1.wcom.com;phone-context=p1234 SIP/2.0 7136 Via: SIP/2.0/UDP gw1.wcom.com:5060 7137 From: PBX_A 7138 To: sip:444-3333@ss1.wcom.com;phone-context=p1234 7139 Call-ID: 12345600@gw1.wcom.com 7140 CSeq: 1 INVITE 7141 Contact: PBX_A 7142 Content-Type: application/sdp 7143 Content-Length: 136 7145 v=0 7146 o=PBX_A 2890844526 2890844526 IN IP4 gw1.wcom.com 7147 s=Session SDP 7148 c=IN IP4 100.101.102.103 7149 t=0 0 7150 m=audio 49170 RTP/AVP 0 7151 a=rtpmap:0 PCMU/8000 7152 /* Proxy 1 uses a location manager function to determine where B is 7153 located. Response is returned listing alternative routes. */ 7155 F3 INVITE Proxy 1 -> GW 2 7157 INVITE sip:444-3333@gw2.wcom.com;phone-context=p1234 SIP/2.0 7158 Via: SIP/2.0/UDP ss1.wcom.com:5060 7159 Via: SIP/2.0/UDP gw1.wcom.com:5060 7160 Record-Route: ;phone-context=p1234 7161 From: PBX_A 7162 To: sip:444-3333@ss1.wcom.com;phone-context=p1234 7163 Call-ID: 12345600@gw1.wcom.com 7164 CSeq: 1 INVITE 7165 Contact: PBX_A 7166 Content-Type: application/sdp 7167 Content-Length: 136 7169 v=0 7170 o=PBX_A 2890844526 2890844526 IN IP4 gw1.wcom.com 7171 s=Session SDP 7172 c=IN IP4 100.101.102.103 7173 t=0 0 7174 m=audio 49170 RTP/AVP 0 7175 a=rtpmap:0 PCMU/8000 7177 F4 503 Service Unavailable GW 2 -> Proxy 1 7179 SIP/2.0 503 Service Unavailable 7180 Via: SIP/2.0/UDP ss1.wcom.com:5060 7181 Via: SIP/2.0/UDP gw1.wcom.com:5060 7182 From: PBX_A 7183 To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=314159 7184 Call-ID: 12345600@gw1.wcom.com 7185 CSeq: 1 INVITE 7186 Content-Length: 0 7188 F5 ACK Proxy 1 -> GW 2 7190 ACK sip:444-3333@gw2.wcom.com;phone-context=p1234 SIP/2.0 7191 Via: SIP/2.0/UDP ss1.wcom.com:5060 7192 Via: SIP/2.0/UDP gw1.wcom.com:5060 7193 From: PBX_A 7194 To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=314159 7195 Call-ID: 12345600@gw1.wcom.com 7196 CSeq: 1 ACK 7197 Content-Length: 0 7198 F6 INVITE Proxy 1 -> GW 3 7200 INVITE sip:+1-918-555-3333@gw3.wcom.com;user=phone SIP/2.0 7201 Via: SIP/2.0/UDP ss1.wcom.com:5060 7202 Via: SIP/2.0/UDP gw1.wcom.com:5060 7203 Record-Route: ;phone-context=p1234 7204 From: PBX_A 7205 To: sip:444-3333@ss1.wcom.com;phone-context=p1234 7206 Call-ID: 12345600@gw1.wcom.com 7207 CSeq: 1 INVITE 7208 Contact: PBX_A 7209 Content-Type: application/sdp 7210 Content-Length: 136 7212 v=0 7213 o=PBX_A 2890844526 2890844526 IN IP4 gw1.wcom.com 7214 s=Session SDP 7215 c=IN IP4 100.101.102.103 7216 t=0 0 7217 m=audio 49170 RTP/AVP 0 7218 a=rtpmap:0 PCMU/8000 7220 F7 SETUP GW 3 -> PBX C 7222 Protocol discriminator=Q.931 7223 Call reference: Flag=0, CR value=any valid value not in use 7224 Message type=SETUP 7225 Bearer capability: Information transfer capability=0 (Speech) or 16 7226 (3.1 kHz audio) 7227 Channel identification=Preferred or exclusive B-channel 7228 Progress indicator=1 (Call is not end-to-end ISDN; further call 7229 progress information may be available inband) 7230 Called party number: 7231 Type of number and numbering plan ID=33 (National number in ISDN 7232 numbering plan) 7233 Digits=918-555-3333 7235 F8 (100 Trying) GW 3 -> Proxy 1 7237 SIP/2.0 100 Trying 7238 Via: SIP/2.0/UDP gw1.wcom.com:5060 7239 From: PBX_A 7240 To: sip:444-3333@ss1.wcom.com;phone-context=p1234 7241 Call-ID: 12345600@gw1.wcom.com 7242 CSeq: 1 INVITE 7243 Content-Length: 0 7244 F9 CALL PROCeeding PBX C -> GW 3 7246 Protocol discriminator=Q.931 7247 Call reference: Flag=1, CR value=value in F9 SETUP message 7248 Message type=CALL PROC 7249 Channel identification=Exclusive B-channel 7251 F10 PROGress PBX C -> GW 3 7253 Protocol discriminator=Q.931 7254 Call reference: Flag=1, CR value=value in F9 SETUP message 7255 Message type=PROG 7256 Progress indicator=1 (Call is not end-to-end ISDN;further call 7257 progress information may be available inband) 7259 /* Based on PROGress message, GW 3 returns a 183 response with SDP 7260 allowing in-band call progress indications to be sent to the 7261 originator. */ 7263 F11 183 Session Progress GW 3 -> Proxy 1 7265 SIP/2.0 183 Session Progress 7266 Via: SIP/2.0/UDP ss1.wcom.com:5060 7267 Via: SIP/2.0/UDP gw1.wcom.com:5060 7268 From: PBX_A 7269 To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 7270 Call-ID: 12345600@gw1.wcom.com 7271 CSeq: 1 INVITE 7272 Content-Type: application/sdp 7273 Content-Length: 134 7275 v=0 7276 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com 7277 s=Session SDP 7278 c=IN IP4 100.101.102.104 7279 t=0 0 7280 m=audio 14918 RTP/AVP 0 7281 a=rtpmap:0 PCMU/8000 7283 F12 183 Session Progress Proxy 1 -> GW 1 7285 SIP/2.0 183 Session Progress 7286 Via: SIP/2.0/UDP gw1.wcom.com:5060 7287 From: PBX_A 7288 To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 7289 Call-ID: 12345600@gw1.wcom.com 7290 CSeq: 1 INVITE 7291 Content-Type: application/sdp 7292 Content-Length: 134 7294 v=0 7295 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com 7296 s=Session SDP 7297 c=IN IP4 100.101.102.104 7298 t=0 0 7299 m=audio 14918 RTP/AVP 0 7300 a=rtpmap:0 PCMU/8000 7302 /* GW 1 receives packets from GW 3 with encoded ringback, tones or 7303 other audio. GW 1 decodes this and places it on the originating 7304 trunk. */ 7306 F13 CONNect PBX C -> GW 3 7308 Protocol discriminator=Q.931 7309 Call reference: Flag=1, CR value=value in F9 SETUP message 7310 Message type=CONN 7312 F14 200 OK GW 3 -> Proxy 1 7314 SIP/2.0 200 OK 7315 Via: SIP/2.0/UDP ss1.wcom.com:5060 7316 Via: SIP/2.0/UDP gw1.wcom.com:5060 7317 Record-Route: ;phone-context=p1234 7318 From: PBX_A 7319 To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 7320 Call-ID: 12345600@gw1.wcom.com 7321 CSeq: 1 INVITE 7322 Contact: sip:+1-918-555-3333@gw3.wcom.com;user=phone 7323 Content-Type: application/sdp 7324 Content-Length: 134 7326 v=0 7327 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com 7328 s=Session SDP 7329 c=IN IP4 100.101.102.104 7330 t=0 0 7331 m=audio 14918 RTP/AVP 0 7332 a=rtpmap:0 PCMU/8000 7334 F15 200 OK Proxy 1 -> GW 1 7336 SIP/2.0 200 OK 7337 Via: SIP/2.0/UDP gw1.wcom.com:5060 7338 Record-Route: ;phone-context=p1234 7339 From: PBX_A 7340 To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 7341 Call-ID: 12345600@gw1.wcom.com 7342 CSeq: 1 INVITE 7343 Contact: sip:+1-918-555-3333@gw3.wcom.com;user=phone 7344 Content-Type: application/sdp 7345 Content-Length: 134 7347 v=0 7348 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com 7349 s=Session SDP 7350 c=IN IP4 100.101.102.104 7351 t=0 0 7352 m=audio 14918 RTP/AVP 0 7353 a=rtpmap:0 PCMU/8000 7355 GW 1 -> PBX A 7357 Seizure 7359 F16 ACK GW 1 -> Proxy 1 7361 ACK sip:+1-918-555-3333@ss1.wcom.com;user=phone SIP/2.0 7362 Via: SIP/2.0/UDP gw1.wcom.com:5060 7363 Route: 7364 From: PBX_A 7365 To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 7366 Call-ID: 12345600@gw1.wcom.com 7367 CSeq: 1 ACK 7368 Content-Length: 0 7370 F17 ACK Proxy 1 -> GW 3 7372 ACK sip:+1-918-555-3333@gw3.wcom.com;user=phone SIP/2.0 7373 Via: SIP/2.0/UDP ss1.wcom.com:5060 7374 Via: SIP/2.0/UDP gw1.wcom.com:5060 7375 From: PBX_A 7376 To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 7377 Call-ID: 12345600@gw1.wcom.com 7378 CSeq: 1 ACK 7379 Content-Length: 0 7381 F18 CONNect ACK GW 3 -> PBX C 7382 Protocol discriminator=Q.931 7383 Call reference: Flag=0, CR value=value in F9 SETUP message 7384 Message type=CONN ACK 7386 /* RTP streams are established between GW 1 and GW 3. */ 7388 /* User B Hangs Up with User A. */ 7390 F19 DISConnect PBX C -> GW 3 7392 Protocol discriminator=Q.931 7393 Call reference: Flag=1, CR value=value in F9 SETUP message 7394 Message type=DISC 7395 Cause=16 (Normal clearing) 7397 F20 BYE GW 3 -> Proxy 1 7399 BYE sip:IdentifierString@ss1.wcom.com SIP/2.0 7400 Via: SIP/2.0/UDP gw3.wcom.com:5060 7401 Route: 7402 From: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 7403 To: PBX_A 7404 Call-ID: 12345600@gw1.wcom.com 7405 CSeq: 1 BYE 7406 Content-Length: 0 7408 F21 BYE Proxy 1 -> GW 1 7410 BYE sip:IdentifierString@gw1.wcom.com SIP/2.0 7411 Via: SIP/2.0/UDP ss1.wcom.com:5060 7412 Via: SIP/2.0/UDP gw3.wcom.com:5060 7413 From: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 7414 To: PBX_A 7415 Call-ID: 12345600@gw1.wcom.com 7416 CSeq: 1 BYE 7417 Content-Length: 0 7419 GW 1 -> PBX A 7421 Seizure removal 7423 F22 RELease GW 3 -> PBX C 7425 Protocol discriminator=Q.931 7426 Call reference: Flag=0, CR value=value in F9 SETUP message 7427 Message type=REL 7429 F23 200 OK GW 1 -> Proxy 1 7431 SIP/2.0 200 OK 7432 Via: SIP/2.0/UDP ss1.wcom.com:5060 7433 Via: SIP/2.0/UDP gw3.wcom.com:5060 7434 From: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 7435 To: PBX_A 7436 Call-ID: 12345600@gw1.wcom.com 7437 CSeq: 1 BYE 7438 Content-Length: 0 7440 F24 200 OK Proxy 1 -> GW 3 7442 SIP/2.0 200 OK 7443 Via: SIP/2.0/UDP gw3.wcom.com:5060 7444 From: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 7445 To: PBX_A 7446 Call-ID: 12345600@gw1.wcom.com 7447 CSeq: 1 BYE 7448 Content-Length: 0 7450 F25 RELease COMplete PBX C -> GW 3 7452 Protocol discriminator=Q.931 7453 Call reference: Flag=1, CR value=value in F9 SETUP message 7454 Message type=REL COM 7456 PBX A -> GW 1 7458 Seizure removal 7460 7 IP Telephony Services Features Call Flows 7462 These call flows show how a number of standard telephony features can 7463 be implemented using SIP. They are not meant to represent a complete 7464 set. Some calls make use of SIP Call Control Extensions[10]. 7466 7.1 Call Hold 7468 User A Proxy User B 7469 | | | 7470 | INVITE F1 | | 7471 |--------------->| | 7472 | 407 F2 | 7473 |<---------------| | 7474 | ACK F3 | | 7475 |--------------->| | 7476 | INVITE F4 | | 7477 |--------------->| | 7478 | | INVITE F5 | 7479 |(100 Trying) F6 |------------->| 7480 |<---------------| | 7481 | |180 Ringing F7| 7482 | 180 Ringing F8 |<-------------| 7483 |<---------------| | 7484 | | 200 OK F9 | 7485 | 200 OK F10 |<-------------| 7486 |<---------------| | 7487 | ACK F11 | | 7488 |--------------->| ACK F12 | 7489 | |------------->| 7490 | Both way RTP Established | 7491 |<=============================>| 7492 | |INVITE (c=0) F13 7493 |INVITE (c=0) F14|<-------------| 7494 |<---------------| | 7495 | 200 OK F15 | | 7496 |--------------->| 200 OK F16 | 7497 | |------------->| 7498 | | ACK F17 | 7499 | ACK F18 |<-------------| 7500 |<---------------| | 7501 | No RTP Sent! | 7502 | | INVITE F19 | 7503 | INVITE F20 |<-------------| 7504 |<---------------| | 7505 | 200 OK F21 | | 7506 |--------------->| 200 OK F22 | 7507 | |------------->| 7508 | | ACK F23 | 7509 | ACK F24 |<-------------| 7510 |<---------------| | 7511 | Both way RTP Established | 7512 |<=============================>| 7513 | BYE F25 | | 7514 |--------------->| BYE F26 | 7515 | |------------->| 7516 | | 200 OK F27 | 7517 | 200 OK F28 |<-------------| 7518 |<---------------| | 7519 | | | 7521 User A calls User B, User B places call on hold. User B then takes 7522 call off hold. User A hangs up call. 7524 Message Details 7526 F1 INVITE A -> Proxy 1 7528 INVITE sip:UserB@ss1.wcom.com SIP/2.0 7529 Via: SIP/2.0/UDP here.com:5060 7530 From: BigGuy 7531 To: LittleGuy 7532 Call-ID: 12345600@here.com 7533 CSeq: 1 INVITE 7534 Contact: BigGuy 7535 Content-Type: application/sdp 7536 Content-Length: ... 7538 v=0 7539 o=UserA 2890844526 2890844526 IN IP4 client.here.com 7540 s=Session SDP 7541 c=IN IP4 100.101.102.103 7542 t=3034423619 0 7543 m=audio 49170 RTP/AVP 0 7544 a=rtpmap:0 PCMU/8000 7546 /* Proxy 1 challenges User A for authentication */ 7548 F2 407 Proxy Authorization Required Proxy 1 -> A 7550 SIP/2.0 407 Proxy Authorization Required 7551 Via: SIP/2.0/UDP here.com:5060 7552 From: BigGuy 7553 To: LittleGuy 7554 Call-ID: 12345600@here.com 7555 CSeq: 1 INVITE 7556 Proxy-Authenticate: Digest realm="MCI WorldCom SIP", 7557 domain="wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 7558 opaque="", stale="FALSE", algorithm="MD5" 7559 Content-Length: 0 7561 F3 ACK A -> Proxy 1 7563 ACK sip:UserB@ss1.wcom.com SIP/2.0 7564 Via: SIP/2.0/UDP here.com:5060 7565 From: BigGuy 7566 To: LittleGuy ;tag=314159 7567 Call-ID: 12345600@here.com 7568 CSeq: 1 ACK 7569 Content-Length:0 7571 /* User A responds be re-sending the INVITE with authentication 7572 credentials in it. */ 7574 F4 INVITE A -> Proxy 1 7576 INVITE sip:UserB@ss1.wcom.com SIP/2.0 7577 Via: SIP/2.0/UDP here.com:5060 7578 From: BigGuy 7579 To: LittleGuy 7580 Call-ID: 12345601@here.com 7581 CSeq: 1 INVITE 7582 Contact: BigGuy 7583 Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom 7584 SIP", nonce="b0b0da2c5ac51bb59a05j1c31cf832b40", opaque="", 7585 uri="sip:ss1.wcom.com", response="006b4853fd66774e6c5599867c72cb59" 7586 Content-Type: application/sdp 7587 Content-Length: ... 7589 v=0 7590 o=UserA 2890844526 2890844526 IN IP4 client.here.com 7591 s=Session SDP 7592 c=IN IP4 100.101.102.103 7593 t=3034423619 0 7594 m=audio 49170 RTP/AVP 0 7595 a=rtpmap:0 PCMU/8000 7597 /* Proxy 1 accepts the credentials and forwards the INVITE User B. 7598 Client for A prepares to receive data on port 49170 from the network. 7599 */ 7601 F5 INVITE Proxy 1 -> B 7603 INVITE sip:UserB@there.com SIP/2.0 7604 Via: SIP/2.0/UDP ss1.wcom.com:5060 7605 Via: SIP/2.0/UDP here.com:5060 7606 Record-Route: 7607 From: BigGuy 7608 To: LittleGuy 7609 Call-ID: 12345601@here.com 7610 CSeq: 1 INVITE 7611 Contact: BigGuy 7612 Content-Type: application/sdp 7613 Content-Length: ... 7615 v=0 7616 o=UserA 2890844526 2890844526 IN IP4 client.here.com 7617 s=Session SDP 7618 c=IN IP4 100.101.102.103 7619 t=3034423619 0 7620 m=audio 49170 RTP/AVP 0 7621 a=rtpmap:0 PCMU/8000 7623 F6 (100 Trying) Proxy 1 -> A 7625 SIP/2.0 100 Trying 7626 Via: SIP/2.0/UDP here.com:5060 7627 From: BigGuy 7628 To: LittleGuy 7629 Call-ID: 12345601@here.com 7630 CSeq: 1 INVITE 7631 Content-Length: 0 7633 F7 180 Ringing B -> Proxy 1 7635 SIP/2.0 180 Ringing 7636 Via: SIP/2.0/UDP ss1.wcom.com:5060 7637 Via: SIP/2.0/UDP here.com:5060 7638 From: BigGuy 7639 To: LittleGuy ;tag=314159 7640 Call-ID: 12345601@here.com 7641 CSeq: 1 INVITE 7642 Content Length:0 7644 F8 180 Ringing Proxy 1 -> A 7646 SIP/2.0 180 Ringing 7647 Via: SIP/2.0/UDP here.com:5060 7648 From: BigGuy 7649 To: LittleGuy ;tag=314159 7650 Call-ID: 12345601@here.com 7651 CSeq: 1 INVITE 7652 Content Length: 0 7654 F9 200 OK B -> Proxy 1 7656 SIP/2.0 200 OK 7657 Via: SIP/2.0/UDP ss1.wcom.com:5060 7658 Via: SIP/2.0/UDP here.com:5060 7659 Record-Route: 7660 From: BigGuy 7661 To: LittleGuy ;tag=314159 7662 Call-ID: 12345601@here.com 7663 CSeq: 1 INVITE 7664 Contact: LittleGuy 7665 Content-Type: application/sdp 7666 Content-Length: ... 7668 v=0 7669 o=UserB 2890844527 2890844527 IN IP4 client.there.com 7670 s=Session SDP 7671 c=IN IP4 110.111.112.113 7672 t=3034423619 0 7673 m=audio 3456 RTP/AVP 0 7674 a=rtpmap:0 PCMU/8000 7676 F10 200 OK Proxy 1 -> A 7678 SIP/2.0 200 OK 7679 Via: SIP/2.0/UDP here.com:5060 7680 Record-Route: 7681 From: BigGuy 7682 To: LittleGuy ;tag=314159 7683 Call-ID: 12345601@here.com 7684 CSeq: 1 INVITE 7685 Contact: LittleGuy 7686 Content-Type: application/sdp 7687 Content-Length: ... 7689 v=0 7690 o=UserB 2890844527 2890844527 IN IP4 client.there.com 7691 s=Session SDP 7692 c=IN IP4 110.111.112.113 7693 t=3034423619 0 7694 m=audio 3456 RTP/AVP 0 7695 a=rtpmap:0 PCMU/8000 7697 F11 ACK A -> Proxy 1 7698 ACK sip:UserB@ss1.wcom.com SIP/2.0 7699 Via: SIP/2.0/UDP here.com:5060 7700 Route: 7701 From: BigGuy 7702 To: LittleGuy ;tag=314159 7703 Call-ID: 12345601@here.com 7704 CSeq: 1 ACK 7705 Content-Length:0 7707 F12 ACK Proxy 1 -> B 7709 ACK sip: UserB@there.com SIP/2.0 7710 Via: SIP/2.0/UDP ss1.wcom.com:5060 7711 Via: SIP/2.0/UDP here.com:5060 7712 From: BigGuy 7713 To: LittleGuy ;tag=314159 7714 Call-ID: 12345601@here.com 7715 CSeq: 1 ACK 7716 Content-Length:0 7718 /* User B places User A on hold. */ 7720 F13 INVITE B -> Proxy 1 7722 INVITE sip:UserA@ss1.wcom.com SIP/2.0 7723 Via: SIP/2.0/UDP there.com:5060 7724 Route: 7725 From: LittleGuy ;tag=314159 7726 To: BigGuy 7727 Call-ID: 12345601@here.com 7728 CSeq: 1 INVITE 7729 Contact: LittleGuy 7730 Content-Type: application/sdp 7731 Content-Length: ... 7733 v=0 7734 o=UserB 2890844527 2890844527 IN IP4 client.there.com 7735 s=Session SDP 7736 c=IN IP4 0.0.0.0 7737 t=3034423619 0 7738 m=audio 3456 RTP/AVP 0 7739 a=rtpmap:0 PCMU/8000 7741 F14 INVITE Proxy 1 -> A 7743 INVITE sip:UserA@here.com SIP/2.0 7744 Via: SIP/2.0/UDP ss1.wcom.com:5060 7745 Via: SIP/2.0/UDP there.com:5060 7746 From: LittleGuy ;tag=314159 7747 To: BigGuy 7748 Call-ID: 12345601@here.com 7749 CSeq: 1 INVITE 7750 Contact: LittleGuy 7751 Content-Type: application/sdp 7752 Content-Length: ... 7754 v=0 7755 o=UserB 2890844527 2890844527 IN IP4 client.there.com 7756 s=Session SDP 7757 c=IN IP4 0.0.0.0 7758 t=3034423619 0 7759 m=audio 3456 RTP/AVP 0 7760 a=rtpmap:0 PCMU/8000 7762 F15 200 OK A -> Proxy 1 7764 SIP/2.0 200 OK 7765 Via: SIP/2.0/UDP ss1.wcom.com:5060 7766 Via: SIP/2.0/UDP there.com:5060 7767 From: LittleGuy ;tag=314159 7768 To: BigGuy ;tag=1234567 7769 Call-ID: 12345601@here.com 7770 CSeq: 1 INVITE 7771 Contact: BigGuy 7772 Content-Type: application/sdp 7773 Content-Length: ... 7775 v=0 7776 o=UserA 2890844526 2890844526 IN IP4 client.here.com 7777 s=Session SDP 7778 c=IN IP4 0.0.0.0 7779 t=3034423619 0 7780 m=audio 49170 RTP/AVP 0 7781 a=rtpmap:0 PCMU/8000 7783 F16 200 OK Proxy 1 -> B 7785 SIP/2.0 200 OK 7786 Via: SIP/2.0/UDP there.com:5060 7787 From: LittleGuy ;tag=314159 7788 To: BigGuy ;tag=1234567 7789 Call-ID: 12345601@here.com 7790 CSeq: 1 INVITE 7791 Contact: BigGuy 7792 Content-Type: application/sdp 7793 Content-Length: ... 7795 v=0 7796 o=UserA 2890844526 2890844526 IN IP4 client.here.com 7797 s=Session SDP 7798 c=IN IP4 0.0.0.0 7799 t=3034423619 0 7800 m=audio 49170 RTP/AVP 0 7801 a=rtpmap:0 PCMU/8000 7803 F17 ACK B -> Proxy 1 7805 ACK sip:UserA@ss1.wcom.com SIP/2.0 7806 Via: SIP/2.0/UDP there.com:5060 7807 Route: 7808 From: LittleGuy ;tag=314159 7809 To: BigGuy ;tag=1234567 7810 Call-ID: 12345601@here.com 7811 CSeq: 1 ACK 7812 Content-Length: 0 7814 F18 ACK Proxy 1 -> A 7816 ACK sip: UserA@here.com SIP/2.0 7817 Via: SIP/2.0/UDP ss1.wcom.com:5060 7818 Via: SIP/2.0/UDP there.com:5060 7819 From: LittleGuy ;tag=314159 7820 To: BigGuy ;tag=1234567 7821 Call-ID: 12345601@here.com 7822 CSeq: 1 ACK 7823 Content-Length: 0 7825 /* User B takes the call off hold */ 7827 F19 INVITE B -> Proxy 1 7829 INVITE sip:UserA@ss1.wcom.com SIP/2.0 7830 Via: SIP/2.0/UDP there.com:5060 7831 Route: 7832 From: LittleGuy ;tag=314159 7833 To: BigGuy ;tag=1234567 7834 Call-ID: 12345601@here.com 7835 CSeq: 2 INVITE 7836 Contact: LittleGuy 7837 Content-Type: application/sdp 7838 Content-Length: ... 7840 v=0 7841 o=UserB 2890844527 2890844527 IN IP4 client.there.com 7842 s=Session SDP 7843 c=IN IP4 110.111.112.113 7844 t=3034423619 0 7845 m=audio 3456 RTP/AVP 0 7846 a=rtpmap:0 PCMU/8000 7848 F20 INVITE Proxy 1 -> A 7850 INVITE sip:UserA@here.com SIP/2.0 7851 Via: SIP/2.0/UDP ss1.wcom.com:5060 7852 Via: SIP/2.0/UDP there.com:5060 7853 From: LittleGuy ;tag=314159 7854 To: BigGuy ;tag=1234567 7855 Call-ID: 12345601@here.com 7856 CSeq: 2 INVITE 7857 Contact: LittleGuy 7858 Content-Type: application/sdp 7859 Content-Length: ... 7861 v=0 7862 o=UserB 2890844527 2890844527 IN IP4 client.there.com 7863 s=Session SDP 7864 c=IN IP4 110.111.112.113 7865 t=3034423619 0 7866 m=audio 3456 RTP/AVP 0 7867 a=rtpmap:0 PCMU/8000 7869 F21 200 OK A -> Proxy 1 7871 SIP/2.0 200 OK 7872 Via: SIP/2.0/UDP ss1.wcom.com:5060 7873 Via: SIP/2.0/UDP there.com:5060 7874 From: LittleGuy ;tag=314159 7875 To: BigGuy ;tag=1234567 7876 Call-ID: 12345601@here.com 7877 CSeq: 2 INVITE 7878 Contact: BigGuy 7879 Content-Type: application/sdp 7880 Content-Length: ... 7882 v=0 7883 o=UserA 2890844526 2890844526 IN IP4 client.here.com 7884 s=Session SDP 7885 c=IN IP4 100.101.102.103 7886 t=3034423619 0 7887 m=audio 49170 RTP/AVP 0 7888 a=rtpmap:0 PCMU/8000 7890 F22 200 OK Proxy 1 -> B 7892 SIP/2.0 200 OK 7893 Via: SIP/2.0/UDP there.com:5060 7894 From: LittleGuy ;tag=314159 7895 To: BigGuy ;tag=1234567 7896 Call-ID: 12345601@here.com 7897 CSeq: 2 INVITE 7898 Contact: BigGuy 7899 Content-Type: application/sdp 7900 Content-Length: ... 7902 v=0 7903 o=UserA 2890844526 2890844526 IN IP4 client.here.com 7904 s=Session SDP 7905 c=IN IP4 100.101.102.103 7906 t=3034423619 0 7907 m=audio 49170 RTP/AVP 0 7908 a=rtpmap:0 PCMU/8000 7910 F23 ACK B -> Proxy 1 7912 ACK sip:UserA@ss1.wcom.com SIP/2.0 7913 Via: SIP/2.0/UDP there.com:5060 7914 Route: 7915 From: LittleGuy ;tag=314159 7916 To: BigGuy ;tag=1234567 7917 Call-ID: 12345601@here.com 7918 CSeq: 2 ACK 7919 Content-Length: 0 7921 F24 ACK Proxy 1 -> A 7923 ACK sip: UserA@here.com SIP/2.0 7924 Via: SIP/2.0/UDP ss1.wcom.com:5060 7925 Via: SIP/2.0/UDP there.com:5060 7926 From: LittleGuy ;tag=314159 7927 To: BigGuy ;tag=1234567 7928 Call-ID: 12345601@here.com 7929 CSeq: 2 ACK 7930 Content-Length: 0 7932 F25 BYE A -> Proxy 1 7933 BYE sip: UserB@ss1.wcom.com SIP/2.0 7934 Via: SIP/2.0/UDP here.com:5060 7935 Route: 7936 From: BigGuy ;tag=1234567 7937 To: LittleGuy ;tag=314159 7938 Call-ID: 12345601@here.com 7939 CSeq: 2 BYE 7940 Content-Length: 0 7942 F26 BYE Proxy 1 -> B 7944 BYE sip: UserB@there.com SIP/2.0 7945 Via: SIP/2.0/UDP ss1.wcom.com:5060 7946 Via: SIP/2.0/UDP here.com:5060 7947 From: BigGuy ;tag=1234567 7948 To: LittleGuy ;tag=314159 7949 Call-ID: 12345601@here.com 7950 CSeq: 2 BYE 7951 Content-Length: 0 7953 F27 200 OK B -> Proxy 1 7955 SIP/2.0 200 OK 7956 Via: SIP/2.0/UDP ss1.wcom.com:5060 7957 Via: SIP/2.0/UDP here.com:5060 7958 From: BigGuy ;tag=1234567 7959 To: LittleGuy ;tag=314159 7960 Call-ID: 12345601@here.com 7961 CSeq: 2 BYE 7962 Content-Length: 0 7964 F28 200 OK Proxy 1 -> A 7966 SIP/2.0 200 OK 7967 Via: SIP/2.0/UDP here.com:5060 7968 From: BigGuy ;tag=1234567 7969 To: LittleGuy ;tag=314159 7970 Call-ID: 12345601@here.com 7971 CSeq: 2 BYE 7972 Content-Length: 0 7974 7.2 Consultation Hold 7976 User A Proxy User B User C 7977 | | | | 7978 | INVITE F1 | | | 7979 |--------------->| INVITE F2 | | 7980 | |------------->| | 7981 |(100 Trying) F3 | | | 7982 |<---------------|180 Ringing F4| | 7983 | |<-------------| | 7984 | 180 Ringing F5 | | | 7985 |<---------------| 200 OK F6 | | 7986 | |<-------------| | 7987 | 200 OK F7 | | | 7988 |<---------------| | | 7989 | ACK F8 | | | 7990 |--------------->| ACK F9 | | 7991 | |------------->| | 7992 | Both way RTP Established | | 7993 |<=============================>| | 7994 | |INVITE (c=0) F10 | 7995 |INVITE (c=0) F11|<-------------| | 7996 |<---------------| | | 7997 | 200 OK F12 | | | 7998 |--------------->| 200 OK F13 | | 7999 | |------------->| | 8000 | | ACK F14 | | 8001 | |<-------------| | 8002 | ACK F15 | | | 8003 |<---------------| | | 8004 | No RTP Sent! | | 8005 | | INVITE F16 | | 8006 | |<-------------| | 8007 | | | INVITE F17 | 8008 | |--------------------------------->| 8009 | |(100 Trying) F18 | 8010 | |------------->| | 8011 | | | 180 Ringing F19 | 8012 | |<---------------------------------| 8013 | | 180 Ringing F20 | 8014 | |------------->| | 8015 | | | 200 OK F21 | 8016 | |<---------------------------------| 8017 | | 200 OK F22 | | 8018 | |------------->| | 8019 | | ACK F23 | | 8020 | |<-------------| | 8021 | | | ACK F24 | 8022 | |--------------------------------->| 8023 | | Both way RTP Established | 8024 | | |<=================>| 8025 | | BYE F25 | | 8026 | |<-------------| | 8027 | | | BYE F26 | 8028 | |--------------------------------->| 8029 | | | 200 OK F27 | 8030 | |<---------------------------------| 8031 | | 200 OK F28 | | 8032 | |------------->| | 8033 | | INVITE F29 | | 8034 | INVITE F30 |<-------------| | 8035 |<---------------| | | 8036 | 200 OK F31 | | | 8037 |--------------->| 200 OK F32 | | 8038 | |------------->| | 8039 | | ACK F33 | | 8040 | |<-------------| | 8041 | ACK F34 | | | 8042 |<---------------| | | 8043 | Both way RTP Established | | 8044 |<=============================>| | 8045 | BYE F35 | | | 8046 |--------------->| BYE F36 | | 8047 | |------------->| | 8048 | | 200 OK F37 | | 8049 | |<-------------| | 8050 | 200 OK F38 | | | 8051 |<---------------| | | 8052 | | | | 8054 User A calls user B. User B places call on hold. User B calls User 8055 C, after that call is finished User B take the call with User A off 8056 hold. 8058 Message Details 8060 F1 INVITE A -> Proxy 1 8062 INVITE sip:UserB@ss1.wcom.com SIP/2.0 8063 Via: SIP/2.0/UDP here.com:5060 8064 From: BigGuy 8065 To: LittleGuy 8066 Call-ID: 12345600@here.com 8067 CSeq: 1 INVITE 8068 Contact: BigGuy 8069 Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom 8070 SIP", nonce="c5ac31cf51bb5b0b0da29a05j1c832b40", opaque="", 8071 uri="sip:ss1.wcom.com", response="dc832edc8930a761ce764bcde5ba8075" 8072 Content-Type: application/sdp 8073 Content-Length: ... 8075 v=0 8076 o=UserA 2890844526 2890844526 IN IP4 client.here.com 8077 s=Session SDP 8078 c=IN IP4 100.101.102.103 8079 t=3034423619 0 8080 m=audio 49170 RTP/AVP 0 8081 a=rtpmap:0 PCMU/8000 8083 /* Proxy 1 accepts the credentials and forwards the INVITE User B. 8084 Client for A prepares to receive data on port 49170 from the network. 8085 */ 8087 F2 INVITE Proxy 1 -> B 8089 INVITE sip:UserB@there.com SIP/2.0 8090 Via: SIP/2.0/UDP ss1.wcom.com:5060 8091 Via: SIP/2.0/UDP here.com:5060 8092 Record-Route: 8093 From: BigGuy 8094 To: LittleGuy 8095 Call-ID: 12345600@here.com 8096 CSeq: 1 INVITE 8097 Contact: BigGuy 8098 Content-Type: application/sdp 8099 Content-Length: ... 8101 v=0 8102 o=UserA 2890844526 2890844526 IN IP4 client.here.com 8103 s=Session SDP 8104 c=IN IP4 100.101.102.103 8105 t=3034423619 0 8106 m=audio 49170 RTP/AVP 0 8107 a=rtpmap:0 PCMU/8000 8109 F3(100 Trying) Proxy 1 -> A 8111 SIP/2.0 100 Trying 8112 Via: SIP/2.0/UDP here.com:5060 8113 From: BigGuy 8114 To: LittleGuy 8115 Call-ID: 12345600@here.com 8116 CSeq: 1 INVITE 8117 Content-Length: 0 8119 F4 180 Ringing B -> Proxy 1 8121 SIP/2.0 180 Ringing 8122 Via: SIP/2.0/UDP ss1.wcom.com:5060 8123 Via: SIP/2.0/UDP here.com:5060 8124 From: BigGuy 8125 To: LittleGuy ;tag=314159 8126 Call-ID: 12345600@here.com 8127 CSeq: 1 INVITE 8128 Content Length:0 8130 F5 180 Ringing Proxy 1 -> A 8132 SIP/2.0 180 Ringing 8133 Via: SIP/2.0/UDP here.com:5060 8134 From: BigGuy 8135 To: LittleGuy ;tag=314159 8136 Call-ID: 12345600@here.com 8137 CSeq: 1 INVITE 8138 Content Length: 0 8140 F6 200 OK B -> Proxy 1 8142 SIP/2.0 200 OK 8143 Via: SIP/2.0/UDP ss1.wcom.com:5060 8144 Via: SIP/2.0/UDP here.com:5060 8145 Record-Route: 8146 From: BigGuy 8147 To: LittleGuy ;tag=314159 8148 Call-ID: 12345600@here.com 8149 CSeq: 1 INVITE 8150 Contact: LittleGuy 8151 Content-Type: application/sdp 8152 Content-Length: ... 8154 v=0 8155 o=UserB 2890844527 2890844527 IN IP4 client.there.com 8156 s=Session SDP 8157 c=IN IP4 110.111.112.113 8158 t=3034423619 0 8159 m=audio 3456 RTP/AVP 0 8160 a=rtpmap:0 PCMU/8000 8162 F7 200 OK Proxy 1 -> A 8163 SIP/2.0 200 OK 8164 Via: SIP/2.0/UDP here.com:5060 8165 Record-Route: 8166 From: BigGuy 8167 To: LittleGuy ;tag=314159 8168 Call-ID: 12345600@here.com 8169 CSeq: 1 INVITE 8170 Contact: LittleGuy 8171 Content-Type: application/sdp 8172 Content-Length: ... 8174 v=0 8175 o=UserB 2890844527 2890844527 IN IP4 client.there.com 8176 s=Session SDP 8177 c=IN IP4 110.111.112.113 8178 t=3034423619 0 8179 m=audio 3456 RTP/AVP 0 8180 a=rtpmap:0 PCMU/8000 8182 F8 ACK A -> Proxy 1 8184 ACK sip:UserB@ss1.wcom.com SIP/2.0 8185 Via: SIP/2.0/UDP here.com:5060 8186 Route: 8187 From: BigGuy 8188 To: LittleGuy ;tag=314159 8189 Call-ID: 12345600@here.com 8190 CSeq: 1 ACK 8191 Content-Length:0 8193 F9 ACK Proxy 1 -> B 8195 ACK sip: UserB@there.com SIP/2.0 8196 Via: SIP/2.0/UDP ss1.wcom.com:5060 8197 Via: SIP/2.0/UDP here.com:5060 8198 From: BigGuy 8199 To: LittleGuy ;tag=314159 8200 Call-ID: 12345600@here.com 8201 CSeq: 1 ACK 8202 Content-Length:0 8204 /* User B places User A on hold. */ 8206 F10 INVITE B -> Proxy 1 8208 INVITE sip:UserA@ss1.wcom.com SIP/2.0 8209 Via: SIP/2.0/UDP there.com:5060 8210 Route: 8211 From: LittleGuy ;tag=314159 8212 To: BigGuy 8213 Call-ID: 12345600@here.com 8214 CSeq: 1 INVITE 8215 Contact: LittleGuy 8216 Content-Type: application/sdp 8217 Content-Length: ... 8219 v=0 8220 o=UserB 2890844527 2890844527 IN IP4 client.there.com 8221 s=Session SDP 8222 c=IN IP4 0.0.0.0 8223 t=3034423619 0 8224 m=audio 3456 RTP/AVP 0 8225 a=rtpmap:0 PCMU/8000 8227 F11 INVITE Proxy 1 -> A 8229 INVITE sip:UserA@here.com SIP/2.0 8230 Via: SIP/2.0/UDP ss1.wcom.com:5060 8231 Via: SIP/2.0/UDP there.com:5060 8232 From: LittleGuy ;tag=314159 8233 To: BigGuy 8234 Call-ID: 12345600@here.com 8235 CSeq: 1 INVITE 8236 Contact: LittleGuy 8237 Content-Type: application/sdp 8238 Content-Length: ... 8240 v=0 8241 o=UserB 2890844527 2890844527 IN IP4 client.there.com 8242 s=Session SDP 8243 c=IN IP4 0.0.0.0 8244 t=3034423619 0 8245 m=audio 3456 RTP/AVP 0 8246 a=rtpmap:0 PCMU/8000 8248 F12 200 OK A -> Proxy 1 8250 SIP/2.0 200 OK 8251 Via: SIP/2.0/UDP ss1.wcom.com:5060 8252 Via: SIP/2.0/UDP there.com:5060 8253 From: LittleGuy ;tag=314159 8254 To: BigGuy ;tag=1234567 8255 Call-ID: 12345600@here.com 8256 CSeq: 1 INVITE 8257 Contact: BigGuy 8258 Content-Type: application/sdp 8259 Content-Length: ... 8261 v=0 8262 o=UserA 2890844526 2890844526 IN IP4 client.here.com 8263 s=Session SDP 8264 c=IN IP4 0.0.0.0 8265 t=3034423619 0 8266 m=audio 49170 RTP/AVP 0 8267 a=rtpmap:0 PCMU/8000 8269 F13 200 OK Proxy 1 -> B 8271 SIP/2.0 200 OK 8272 Via: SIP/2.0/UDP there.com:5060 8273 From: LittleGuy ;tag=314159 8274 To: BigGuy ;tag=1234567 8275 Call-ID: 12345600@here.com 8276 CSeq: 1 INVITE 8277 Contact: BigGuy 8278 Content-Type: application/sdp 8279 Content-Length: ... 8281 v=0 8282 o=UserA 2890844526 2890844526 IN IP4 client.here.com 8283 s=Session SDP 8284 c=IN IP4 0.0.0.0 8285 t=3034423619 0 8286 m=audio 49170 RTP/AVP 0 8287 a=rtpmap:0 PCMU/8000 8289 F14 ACK B -> Proxy 1 8291 ACK sip:UserA@ss1.wcom.com SIP/2.0 8292 Via: SIP/2.0/UDP there.com:5060 8293 Route: 8294 From: LittleGuy ;tag=314159 8295 To: BigGuy ;tag=1234567 8296 Call-ID: 12345600@here.com 8297 CSeq: 1 ACK 8298 Content-Length: 0 8300 F15 ACK Proxy 1 -> A 8302 ACK sip: UserA@here.com SIP/2.0 8303 Via: SIP/2.0/UDP ss1.wcom.com:5060 8304 Via: SIP/2.0/UDP there.com:5060 8305 From: LittleGuy ;tag=314159 8306 To: BigGuy ;tag=1234567 8307 Call-ID: 12345600@here.com 8308 CSeq: 1 ACK 8309 Content-Length: 0 8311 F16 INVITE B -> Proxy 1 8313 INVITE sip:UserC@ss1.wcom.com SIP/2.0 8314 Via: SIP/2.0/UDP there.com:5060 8315 From: LittleGuy 8316 To: OtherGuy 8317 Call-ID: 9876543210@there.com 8318 CSeq: 1 INVITE 8319 Contact: LittleGuy 8320 Content-Type: application/sdp 8321 Content-Length: ... 8323 v=0 8324 o=UserB 2890844526 2890844526 IN IP4 client.there.com 8325 s=Session SDP 8326 c=IN IP4 110.111.112.113 8327 t=3034423619 0 8328 m=audio 50170 RTP/AVP 0 8329 a=rtpmap:0 PCMU/8000 8331 F17 INVITE Proxy 1 -> C 8333 INVITE sip:UserC@anywhere.com SIP/2.0 8334 Via: SIP/2.0/UDP ss1.wcom.com:5060 8335 Via: SIP/2.0/UDP there.com:5060 8336 Record-Route: 8337 From: LittleGuy 8338 To: OtherGuy 8339 Call-ID: 9876543210@there.com 8340 CSeq: 1 INVITE 8341 Contact: LittleGuy 8342 Content-Type: application/sdp 8343 Content-Length: ... 8345 v=0 8346 o=UserB 2890844526 2890844526 IN IP4 client.there.com 8347 s=Session SDP 8348 c=IN IP4 110.111.112.113 8349 t=3034423619 0 8350 m=audio 50170 RTP/AVP 0 8351 a=rtpmap:0 PCMU/8000 8352 F18 (100 Trying) Proxy 1 -> B 8354 SIP/2.0 100 Trying 8355 Via: SIP/2.0/UDP there.com:5060 8356 From: LittleGuy 8357 To: OtherGuy 8358 Call-ID: 9876543210@there.com 8359 CSeq: 1 INVITE 8360 Content-Length: 0 8362 F19 180 Ringing C -> Proxy 1 8364 SIP/2.0 180 Ringing 8365 Via: SIP/2.0/UDP ss1.wcom.com:5060 8366 Via: SIP/2.0/UDP there.com:5060 8367 From: LittleGuy 8368 To: OtherGuy ;tag=456654 8369 Call-ID: 9876543210@here.com 8370 CSeq: 1 INVITE 8371 Content Length:0 8373 F20 180 Ringing Proxy 1 -> B 8375 SIP/2.0 180 Ringing 8376 Via: SIP/2.0/UDP there.com:5060 8377 From: LittleGuy 8378 To: OtherGuy ;tag=456654 8379 Call-ID: 9876543210@there.com 8380 CSeq: 1 INVITE 8381 Content Length: 0 8383 F21 200 OK C -> Proxy 1 8385 SIP/2.0 200 OK 8386 Via: SIP/2.0/UDP ss1.wcom.com:5060 8387 Via: SIP/2.0/UDP there.com:5060 8388 Record-Route: 8389 From: LittleGuy 8390 To: OtherGuy ;tag=456654 8391 Call-ID: 9876543210@there.com 8392 CSeq: 1 INVITE 8393 Contact: LittleGuy 8394 Content-Type: application/sdp 8395 Content-Length: ... 8397 v=0 8398 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com 8399 s=Session SDP 8400 c=IN IP4 120.121.122.123 8401 t=3034423619 0 8402 m=audio 3456 RTP/AVP 0 8403 a=rtpmap:0 PCMU/8000 8405 F22 200 OK Proxy 1 -> B 8407 SIP/2.0 200 OK 8408 Via: SIP/2.0/UDP there.com:5060 8409 Record-Route: 8410 From: LittleGuy 8411 To: OtherGuy ;tag=456654 8412 Call-ID: 9876543210@there.com 8413 CSeq: 1 INVITE 8414 Contact: OtherGuy 8415 Content-Type: application/sdp 8416 Content-Length: ... 8418 v=0 8419 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com 8420 s=Session SDP 8421 c=IN IP4 120.121.122.123 8422 t=3034423619 0 8423 m=audio 3456 RTP/AVP 0 8424 a=rtpmap:0 PCMU/8000 8426 F23 ACK B -> Proxy 1 8428 ACK sip:UserC@ss1.wcom.com SIP/2.0 8429 Via: SIP/2.0/UDP there.com:5060 8430 Route: 8431 From: LittleGuy 8432 To: OtherGuy ;tag=456654 8433 Call-ID: 9876543210@there.com 8434 CSeq: 1 ACK 8435 Content-Length:0 8437 F24 ACK Proxy 1 -> C 8439 ACK sip: UserC@anywhere.com SIP/2.0 8440 Via: SIP/2.0/UDP ss1.wcom.com:5060 8441 Via: SIP/2.0/UDP there.com:5060 8442 From: LittleGuy 8443 To: OtherGuy ;tag=456654 8444 Call-ID: 9876543210@there.com 8445 CSeq: 1 ACK 8446 Content-Length:0 8448 F25 BYE B -> Proxy 1 8450 BYE sip: UserC@ss1.wcom.com SIP/2.0 8451 Via: SIP/2.0/UDP there.com:5060 8452 Route: 8453 From: LittleGuy 8454 To: OtherGuy ;tag=456654 8455 Call-ID: 9876543210@there.com 8456 CSeq: 2 BYE 8457 Content-Length: 0 8459 F26 BYE Proxy 1 -> C 8461 BYE sip: UserC@anywhere.com SIP/2.0 8462 Via: SIP/2.0/UDP ss1.wcom.com:5060 8463 Via: SIP/2.0/UDP there.com:5060 8464 From: LittleGuy 8465 To: OtherGuy ;tag=456654 8466 Call-ID: 9876543210@there.com 8467 CSeq: 2 BYE 8468 Content-Length: 0 8470 F27 200 OK C -> Proxy 1 8472 SIP/2.0 200 OK 8473 Via: SIP/2.0/UDP ss1.wcom.com:5060 8474 Via: SIP/2.0/UDP there.com:5060 8475 From: LittleGuy 8476 To: OtherGuy ;tag=456654 8477 Call-ID: 9876543210@there.com 8478 CSeq: 2 BYE 8479 Content-Length: 0 8481 F28 200 OK Proxy 1 -> B 8483 SIP/2.0 200 OK 8484 Via: SIP/2.0/UDP there.com:5060 8485 From: LittleGuy 8486 To: OtherGuy ;tag=456654 8487 Call-ID: 9876543210@there.com 8488 CSeq: 2 BYE 8489 Content-Length: 0 8490 /* User B takes the call off hold */ 8492 F29 INVITE B -> Proxy 1 8494 INVITE sip:UserA@ss1.wcom.com SIP/2.0 8495 Via: SIP/2.0/UDP there.com:5060 8496 Route: 8497 From: LittleGuy ;tag=314159 8498 To: BigGuy ;tag=1234567 8499 Call-ID: 12345600@here.com 8500 CSeq: 2 INVITE 8501 Contact: LittleGuy 8502 Content-Type: application/sdp 8503 Content-Length: ... 8505 v=0 8506 o=UserB 2890844527 2890844527 IN IP4 client.there.com 8507 s=Session SDP 8508 c=IN IP4 110.111.112.113 8509 t=3034423619 0 8510 m=audio 3456 RTP/AVP 0 8511 a=rtpmap:0 PCMU/8000 8513 F30 INVITE Proxy 1 -> A 8515 INVITE sip:UserA@here.com SIP/2.0 8516 Via: SIP/2.0/UDP ss1.wcom.com:5060 8517 Via: SIP/2.0/UDP there.com:5060 8518 From: LittleGuy ;tag=314159 8519 To: BigGuy ;tag=1234567 8520 Call-ID: 12345600@here.com 8521 CSeq: 2 INVITE 8522 Contact: LittleGuy 8523 Content-Type: application/sdp 8524 Content-Length: ... 8526 v=0 8527 o=UserB 2890844527 2890844527 IN IP4 client.there.com 8528 s=Session SDP 8529 c=IN IP4 110.111.112.113 8530 t=3034423619 0 8531 m=audio 3456 RTP/AVP 0 8532 a=rtpmap:0 PCMU/8000 8534 F31 200 OK A -> Proxy 1 8535 SIP/2.0 200 OK 8536 Via: SIP/2.0/UDP ss1.wcom.com:5060 8537 Via: SIP/2.0/UDP there.com:5060 8538 From: LittleGuy ;tag=314159 8539 To: BigGuy ;tag=1234567 8540 Call-ID: 12345600@here.com 8541 CSeq: 2 INVITE 8542 Contact: BigGuy 8543 Content-Type: application/sdp 8544 Content-Length: ... 8546 v=0 8547 o=UserA 2890844526 2890844526 IN IP4 client.here.com 8548 s=Session SDP 8549 c=IN IP4 100.101.102.103 8550 t=3034423619 0 8551 m=audio 49170 RTP/AVP 0 8552 a=rtpmap:0 PCMU/8000 8554 F32 200 OK Proxy 1 -> B 8556 SIP/2.0 200 OK 8557 Via: SIP/2.0/UDP there.com:5060 8558 From: LittleGuy ;tag=314159 8559 To: BigGuy ;tag=1234567 8560 Call-ID: 12345600@here.com 8561 CSeq: 2 INVITE 8562 Contact: BigGuy 8563 Content-Type: application/sdp 8564 Content-Length: ... 8566 v=0 8567 o=UserA 2890844526 2890844526 IN IP4 client.here.com 8568 s=Session SDP 8569 c=IN IP4 100.101.102.103 8570 t=3034423619 0 8571 m=audio 49170 RTP/AVP 0 8572 a=rtpmap:0 PCMU/8000 8574 F33 ACK B -> Proxy 1 8576 ACK sip:UserA@ss1.wcom.com SIP/2.0 8577 Via: SIP/2.0/UDP there.com:5060 8578 From: LittleGuy ;tag=314159 8579 To: BigGuy ;tag=1234567 8580 Call-ID: 12345600@here.com 8581 CSeq: 2 ACK 8582 Content-Length: 0 8583 F34 ACK Proxy 1 -> A 8585 ACK sip: UserA@here.com SIP/2.0 8586 Via: SIP/2.0/UDP ss1.wcom.com:5060 8587 Via: SIP/2.0/UDP there.com:5060 8588 From: LittleGuy ;tag=314159 8589 To: BigGuy ;tag=1234567 8590 Call-ID: 12345600@here.com 8591 CSeq: 2 ACK 8592 Content-Length: 0 8594 F35 BYE A -> Proxy 1 8596 BYE sip: UserB@ss1.wcom.com SIP/2.0 8597 Via: SIP/2.0/UDP here.com:5060 8598 Route: 8599 From: BigGuy ;tag=1234567 8600 To: LittleGuy ;tag=314159 8601 Call-ID: 12345600@here.com 8602 CSeq: 2 BYE 8603 Content-Length: 0 8605 F36 BYE Proxy 1 -> B 8607 BYE sip: UserB@there.com SIP/2.0 8608 Via: SIP/2.0/UDP ss1.wcom.com:5060 8609 Via: SIP/2.0/UDP here.com:5060 8610 From: BigGuy ;tag=1234567 8611 To: LittleGuy ;tag=314159 8612 Call-ID: 12345600@here.com 8613 CSeq: 2 BYE 8614 Content-Length: 0 8616 F37 200 OK B -> Proxy 1 8618 SIP/2.0 200 OK 8619 Via: SIP/2.0/UDP ss1.wcom.com:5060 8620 Via: SIP/2.0/UDP here.com:5060 8621 From: BigGuy ;tag=1234567 8622 To: LittleGuy ;tag=314159 8623 Call-ID: 12345600@here.com 8624 CSeq: 2 BYE 8625 Content-Length: 0 8626 F38 200 OK Proxy 1 -> A 8628 SIP/2.0 200 OK 8629 Via: SIP/2.0/UDP here.com:5060 8630 From: BigGuy ;tag=1234567 8631 To: LittleGuy ;tag=314159 8632 Call-ID: 12345600@here.com 8633 CSeq: 2 BYE 8634 Content-Length: 0 8636 7.3 Unattended Transfer 8638 User A Proxy User B User C User D 8639 | | | | | 8640 | INVITE F1 | | | | 8641 |--------------->| INVITE F2 | | | 8642 | |------------->| | | 8643 |(100 Trying) F3 | | | | 8644 |<---------------|180 Ringing F4| | | 8645 | |<-------------| | | 8646 | 180 Ringing F5 | | | | 8647 |<---------------| 200 OK F6 | | | 8648 | |<-------------| | | 8649 | 200 OK F7 | | | | 8650 |<---------------| | | | 8651 | ACK F8 | | | | 8652 |--------------->| ACK F9 | | | 8653 | |------------->| | | 8654 | Both way RTP Established | | | 8655 |<=============================>| | | 8656 | BYE (Also C) F10 | | | 8657 |--------------->| BYE (Also C) F11 | | 8658 | |------------->| | | 8659 | | 200 OK F12 | | | 8660 | 200 OK F13 |<-------------| | | 8661 |<---------------| | | | 8662 | | INVITE (ReqBy A) F14 | | 8663 | |<-------------| | | 8664 | | INVITE (ReqBy A) F15 | | 8665 | |------------------------>| | 8666 | |(100 Trying) F16 | | 8667 | |------------->| | | 8668 | | 180 Ringing F17 | | 8669 | |<------------------------| | 8670 | | 180 Ringing F18 | | 8671 | |------------->| | | 8672 | | 200 OK F19| | 8673 | |<------------------------| | 8674 | | 200 OK F20 | | | 8675 | |------------->| | | 8676 | | ACK F21 | | | 8677 | |<-------------| | | 8678 | | | ACK F22 | | 8679 | |------------------------>| | 8680 | | Both way RTP Established | 8681 | | |<========>| | 8682 | | BYE (Also D) F23| | 8683 | |<------------------------| | 8684 | | BYE (Also D) F24 | | 8685 | |------------->| | | 8686 | | 200 OK F25 | | | 8687 | |<-------------| | | 8688 | | |200 OK F26| | 8689 | |------------------------>| | 8690 | | INVITE (ReqBy C) F27 | | 8691 | |<-------------| | | 8692 | | INVITE (ReqBy C) F28 | 8693 | |----------------------------------->| 8694 | |(100 Trying) F29 | | 8695 | |------------->| | | 8696 | | | 180 Ringing F30 | 8697 | |<-----------------------------------| 8698 | | 180 Ringing F31 | | 8699 | |------------->| | | 8700 | | | |200 OK F32| 8701 | |<-----------------------------------| 8702 | | 200 OK F33 | | | 8703 | |------------->| | | 8704 | | ACK F34 | | | 8705 | |<-------------| | | 8706 | | | | ACK F35 | 8707 | |----------------------------------->| 8708 | | Both way RTP Established | 8709 | | |<===================>| 8710 | | BYE F36 | | | 8711 | |<-------------| | BYE F37 | 8712 | |----------------------------------->| 8713 | | | |200 OK F38| 8714 | |<-----------------------------------| 8715 | | 200 OK F39 | | | 8716 | |------------->| | | 8717 | | | | | 8719 User A call user B. User A then transfers User B to user C. User C 8720 then transfers User B to User D. User B hangs up the call. 8722 Message Details 8724 F1 INVITE A -> Proxy 1 8726 INVITE sip:UserB@ss1.wcom.com SIP/2.0 8727 Via: SIP/2.0/UDP here.com:5060 8728 From: BigGuy 8729 To: LittleGuy 8730 Call-ID: 12345600@here.com 8731 CSeq: 1 INVITE 8732 Contact: BigGuy 8733 Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom 8734 SIP", nonce="761ce7cde5ba8d64bc832edc8930a075", opaque="", 8735 uri="sip:ss1.wcom.com", response="61e1fc70ec739cc79fda2cfaf2791d96" 8736 Content-Type: application/sdp 8737 Content-Length: ... 8739 v=0 8740 o=UserA 2890844526 2890844526 IN IP4 client.here.com 8741 s=Session SDP 8742 c=IN IP4 100.101.102.103 8743 t=3034423619 0 8744 m=audio 49170 RTP/AVP 0 8745 a=rtpmap:0 PCMU/8000 8747 /* Proxy 1 accepts the credentials and forwards the INVITE User B. 8748 Client for A prepares to receive data on port 49170 from the network. 8749 */ 8751 F2 INVITE Proxy 1 -> B 8753 INVITE sip:UserB@there.com SIP/2.0 8754 Via: SIP/2.0/UDP ss1.wcom.com:5060 8755 Via: SIP/2.0/UDP here.com:5060 8756 Record-Route: 8757 From: BigGuy 8758 To: LittleGuy 8759 Call-ID: 12345600@here.com 8760 CSeq: 1 INVITE 8761 Contact: BigGuy 8762 Content-Type: application/sdp 8763 Content-Length: ... 8765 v=0 8766 o=UserA 2890844526 2890844526 IN IP4 client.here.com 8767 s=Session SDP 8768 c=IN IP4 100.101.102.103 8769 t=3034423619 0 8770 m=audio 49170 RTP/AVP 0 8771 a=rtpmap:0 PCMU/8000 8773 F3 (100 Trying) Proxy 1 -> A 8775 SIP/2.0 100 Trying 8776 Via: SIP/2.0/UDP here.com:5060 8777 From: BigGuy 8778 To: LittleGuy 8779 Call-ID: 12345600@here.com 8780 CSeq: 1 INVITE 8781 Content-Length: 0 8783 F4 180 Ringing B -> Proxy 1 8785 SIP/2.0 180 Ringing 8786 Via: SIP/2.0/UDP ss1.wcom.com:5060 8787 Via: SIP/2.0/UDP here.com:5060 8788 From: BigGuy 8789 To: LittleGuy ;tag=314159 8790 Call-ID: 12345600@here.com 8791 CSeq: 1 INVITE 8792 Content Length:0 8794 F5 180 Ringing Proxy 1 -> A 8796 SIP/2.0 180 Ringing 8797 Via: SIP/2.0/UDP here.com:5060 8798 From: BigGuy 8799 To: LittleGuy ;tag=314159 8800 Call-ID: 12345600@here.com 8801 CSeq: 1 INVITE 8802 Content Length: 0 8804 F6 200 OK B -> Proxy 1 8806 SIP/2.0 200 OK 8807 Via: SIP/2.0/UDP ss1.wcom.com:5060 8808 Via: SIP/2.0/UDP here.com:5060 8809 Record-Route: 8810 From: BigGuy 8811 To: LittleGuy ;tag=314159 8812 Call-ID: 12345600@here.com 8813 CSeq: 1 INVITE 8814 Contact: LittleGuy 8815 Content-Type: application/sdp 8816 Content-Length: ... 8818 v=0 8819 o=UserB 2890844527 2890844527 IN IP4 client.there.com 8820 s=Session SDP 8821 c=IN IP4 110.111.112.113 8822 t=3034423619 0 8823 m=audio 3456 RTP/AVP 0 8824 a=rtpmap:0 PCMU/8000 8825 F7 200 OK Proxy 1 -> A 8827 SIP/2.0 200 OK 8828 Via: SIP/2.0/UDP here.com:5060 8829 Record-Route: 8830 From: BigGuy 8831 To: LittleGuy ;tag=314159 8832 Call-ID: 12345600@here.com 8833 CSeq: 1 INVITE 8834 Contact: LittleGuy 8835 Content-Type: application/sdp 8836 Content-Length: ... 8838 v=0 8839 o=UserB 2890844527 2890844527 IN IP4 client.there.com 8840 s=Session SDP 8841 c=IN IP4 110.111.112.113 8842 t=3034423619 0 8843 m=audio 3456 RTP/AVP 0 8844 a=rtpmap:0 PCMU/8000 8846 F8 ACK A -> Proxy 1 8848 ACK sip:UserB@ss1.wcom.com SIP/2.0 8849 Via: SIP/2.0/UDP here.com:5060 8850 Route: 8851 From: BigGuy 8852 To: LittleGuy ;tag=314159 8853 Call-ID: 12345600@here.com 8854 CSeq: 1 ACK 8855 Content-Length:0 8857 F9 ACK Proxy 1 -> B 8859 ACK sip: UserB@there.com SIP/2.0 8860 Via: SIP/2.0/UDP ss1.wcom.com:5060 8861 Via: SIP/2.0/UDP here.com:5060 8862 From: BigGuy 8863 To: LittleGuy ;tag=314159 8864 Call-ID: 12345600@here.com 8865 CSeq: 1 ACK 8866 Content-Length:0 8868 /* User A transfers User B to User C */ 8870 F10 BYE A -> Proxy 1 8871 BYE sip: UserB@ss1.wcom.com SIP/2.0 8872 Via: SIP/2.0/UDP here.com:5060 8873 Route: 8874 From: BigGuy 8875 To: LittleGuy ;tag=314159 8876 Call-ID: 12345600@here.com 8877 CSeq: 2 BYE 8878 Also: OtherGuy 8879 Content-Length: 0 8881 F11 BYE Proxy 1 -> B 8883 BYE sip: UserB@there.com SIP/2.0 8884 Via: SIP/2.0/UDP ss1.wcom.com:5060 8885 Via: SIP/2.0/UDP here.com:5060 8886 From: BigGuy 8887 To: LittleGuy ;tag=314159 8888 Call-ID: 12345600@here.com 8889 CSeq: 2 BYE 8890 Also: OtherGuy 8891 Content-Length: 0 8893 F12 200 OK B -> Proxy 1 8895 SIP/2.0 200 OK 8896 Via: SIP/2.0/UDP ss1.wcom.com:5060 8897 Via: SIP/2.0/UDP here.com:5060 8898 From: BigGuy 8899 To: LittleGuy ;tag=314159 8900 Call-ID: 12345600@here.com 8901 CSeq: 2 BYE 8902 Content-Length: 0 8904 F13 200 OK Proxy 1 -> A 8906 SIP/2.0 200 OK 8907 Via: SIP/2.0/UDP here.com:5060 8908 From: BigGuy 8909 To: LittleGuy ;tag=314159 8910 Call-ID: 12345600@here.com 8911 CSeq: 2 BYE 8912 Content-Length: 0 8914 F14 INVITE B -> Proxy 1 8916 INVITE sip:UserC@ss1.wcom.com SIP/2.0 8917 Via: SIP/2.0/UDP there.com:5060 8918 From: LittleGuy 8919 To: OtherGuy 8920 Call-ID: 9876543210@there.com 8921 CSeq: 1 INVITE 8922 Contact: LittleGuy 8923 Content-Type: application/sdp 8924 Requested-By: BigGuy 8925 Content-Length: ... 8927 v=0 8928 o=UserB 2890844526 2890844526 IN IP4 client.there.com 8929 s=Session SDP 8930 c=IN IP4 110.111.112.113 8931 t=3034423619 0 8932 m=audio 50170 RTP/AVP 0 8933 a=rtpmap:0 PCMU/8000 8935 /* Proxy 1 accepts the credentials and forwards the INVITE User 8936 B. Client for A prepares to receive data on port 49170 from the 8937 network. */ 8939 F15 INVITE Proxy 1 -> C 8941 INVITE sip:UserC@anywhere.com SIP/2.0 8942 Via: SIP/2.0/UDP ss1.wcom.com:5060 8943 Via: SIP/2.0/UDP there.com:5060 8944 Record-Route: 8945 From: LittleGuy 8946 To: OtherGuy 8947 Call-ID: 9876543210@there.com 8948 CSeq: 1 INVITE 8949 Contact: LittleGuy 8950 Content-Type: application/sdp 8951 Requested-By: BigGuy 8952 Content-Length: ... 8954 v=0 8955 o=UserB 2890844526 2890844526 IN IP4 client.there.com 8956 s=Session SDP 8957 c=IN IP4 110.111.112.113 8958 t=3034423619 0 8959 m=audio 50170 RTP/AVP 0 8960 a=rtpmap:0 PCMU/8000 8962 F16 (100 Trying) Proxy 1 -> B 8964 SIP/2.0 100 Trying 8965 Via: SIP/2.0/UDP there.com:5060 8966 From: LittleGuy 8967 To: OtherGuy 8968 Call-ID: 9876543210@there.com 8969 CSeq: 1 INVITE 8970 Content-Length: 0 8972 F17 180 Ringing C -> Proxy 1 8974 SIP/2.0 180 Ringing 8975 Via: SIP/2.0/UDP ss1.wcom.com:5060 8976 Via: SIP/2.0/UDP there.com:5060 8977 From: LittleGuy 8978 To: OtherGuy ;tag=456654 8979 Call-ID: 9876543210@here.com 8980 CSeq: 1 INVITE 8981 Content Length:0 8983 F18 180 Ringing Proxy 1 -> B 8985 SIP/2.0 180 Ringing 8986 Via: SIP/2.0/UDP there.com:5060 8987 From: LittleGuy 8988 To: OtherGuy ;tag=456654 8989 Call-ID: 9876543210@there.com 8990 CSeq: 1 INVITE 8991 Content Length: 0 8993 F19 200 OK C -> Proxy 1 8995 SIP/2.0 200 OK 8996 Via: SIP/2.0/UDP ss1.wcom.com:5060 8997 Via: SIP/2.0/UDP there.com:5060 8998 Record-Route: 8999 From: LittleGuy 9000 To: OtherGuy ;tag=456654 9001 Call-ID: 9876543210@there.com 9002 CSeq: 1 INVITE 9003 Contact: LittleGuy 9004 Content-Type: application/sdp 9005 Content-Length: ... 9007 v=0 9008 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com 9009 s=Session SDP 9010 c=IN IP4 120.121.122.123 9011 t=3034423619 0 9012 m=audio 3456 RTP/AVP 0 9013 a=rtpmap:0 PCMU/8000 9015 F20 200 OK Proxy 1 -> B 9017 SIP/2.0 200 OK 9018 Via: SIP/2.0/UDP there.com:5060 9019 Record-Route: 9020 From: LittleGuy 9021 To: OtherGuy ;tag=456654 9022 Call-ID: 9876543210@there.com 9023 CSeq: 1 INVITE 9024 Contact: OtherGuy 9025 Content-Type: application/sdp 9026 Content-Length: ... 9028 v=0 9029 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com 9030 s=Session SDP 9031 c=IN IP4 120.121.122.123 9032 t=3034423619 0 9033 m=audio 3456 RTP/AVP 0 9034 a=rtpmap:0 PCMU/8000 9036 F21 ACK B -> Proxy 1 9038 ACK sip:UserC@ss1.wcom.com SIP/2.0 9039 Via: SIP/2.0/UDP there.com:5060 9040 Route: 9041 From: LittleGuy 9042 To: OtherGuy ;tag=456654 9043 Call-ID: 9876543210@there.com 9044 CSeq: 1 ACK 9045 Content-Length:0 9047 F22 ACK Proxy 1 -> C 9049 ACK sip: UserC@anywhere.com SIP/2.0 9050 Via: SIP/2.0/UDP ss1.wcom.com:5060 9051 Via: SIP/2.0/UDP there.com:5060 9052 From: LittleGuy 9053 To: OtherGuy ;tag=456654 9054 Call-ID: 9876543210@there.com 9055 CSeq: 1 ACK 9056 Content-Length:0 9057 F23 BYE C -> Proxy 1 9059 BYE sip: UserB@ss1.wcom.com SIP/2.0 9060 Via: SIP/2.0/UDP anywhere.com:5060 9061 Route: 9062 From: OtherGuy ;tag=456654 9063 To: LittleGuy 9064 Also: TheNewGuy 9065 Call-ID: 9876543210@there.com 9066 CSeq: 200 BYE 9067 Content-Length: 0 9069 F24 BYE Proxy 1 -> B 9071 BYE sip: UserB@there.com SIP/2.0 9072 Via: SIP/2.0/UDP ss1.wcom.com:5060 9073 Via: SIP/2.0/UDP anywhere.com:5060 9074 From: OtherGuy ;tag=456654 9075 To: LittleGuy ;tag=1234567 9076 Also: TheNewGuy 9077 Call-ID: 9876543210@there.com 9078 CSeq: 200 BYE 9079 Content-Length: 0 9081 F25 200 OK B -> Proxy 1 9083 SIP/2.0 200 OK 9084 Via: SIP/2.0/UDP ss1.wcom.com:5060 9085 Via: SIP/2.0/UDP anywhere.com:5060 9086 From: OtherGuy ;tag=456654 9087 To: LittleGuy ;tag=1234567 9088 Call-ID: 9876543210@there.com 9089 CSeq: 200 BYE 9090 Content-Length: 0 9092 F26 200 OK Proxy 1 -> C 9094 SIP/2.0 200 OK 9095 Via: SIP/2.0/UDP anywhere.com:5060 9096 From: OtherGuy ;tag=456654 9097 To: LittleGuy ;tag=1234567 9098 Call-ID: 9876543210@there.com 9099 CSeq: 200 BYE 9100 Content-Length: 0 9102 F27 INVITE B -> Proxy 1 9103 INVITE sip:UserD@ss1.wcom.com SIP/2.0 9104 Via: SIP/2.0/UDP there.com:5060 9105 From: LittleGuy 9106 To: TheNewGuy 9107 Call-ID: 123123123@there.com 9108 CSeq: 1 INVITE 9109 Contact: LittleGuy 9110 Content-Type: application/sdp 9111 Requested-By: OtherGuy 9112 Content-Length: ... 9114 v=0 9115 o=UserB 2890844526 2890844526 IN IP4 client.there.com 9116 s=Session SDP 9117 c=IN IP4 110.111.112.113 9118 t=3034423619 0 9119 m=audio 50170 RTP/AVP 0 9120 a=rtpmap:0 PCMU/8000 9122 /* Proxy 1 accepts the credentials and forwards the INVITE to 9123 User D. Client for B prepares to receive data on port 49170 from the 9124 network. */ 9126 F28 INVITE Proxy 1 -> D 9128 INVITE sip:UserD@nowhere.com SIP/2.0 9129 Via: SIP/2.0/UDP ss1.wcom.com:5060 9130 Via: SIP/2.0/UDP there.com:5060 9131 Record-Route: 9132 From: LittleGuy 9133 To: TheNewGuy 9134 Call-ID: 123123123@there.com 9135 CSeq: 1 INVITE 9136 Contact: LittleGuy 9137 Content-Type: application/sdp 9138 Requested-By: OtherGuy 9139 Content-Length: ... 9141 v=0 9142 o=UserB 2890844526 2890844526 IN IP4 client.there.com 9143 s=Session SDP 9144 c=IN IP4 110.111.112.113 9145 t=3034423619 0 9146 m=audio 50170 RTP/AVP 0 9147 a=rtpmap:0 PCMU/8000 9149 F29 (100 Trying) Proxy 1 -> B 9150 SIP/2.0 100 Trying 9151 Via: SIP/2.0/UDP there.com:5060 9152 From: LittleGuy 9153 To: TheNewGuy 9154 Call-ID: 123123123@there.com 9155 CSeq: 1 INVITE 9156 Content-Length: 0 9158 F30 180 Ringing D -> Proxy 1 9160 SIP/2.0 180 Ringing 9161 Via: SIP/2.0/UDP ss1.wcom.com:5060 9162 Via: SIP/2.0/UDP there.com:5060 9163 From: LittleGuy 9164 To: TheNewGuy ;tag=789789 9165 Call-ID: 123123123@there.com 9166 CSeq: 1 INVITE 9167 Content Length:0 9169 F31 180 Ringing Proxy 1 -> B 9171 SIP/2.0 180 Ringing 9172 Via: SIP/2.0/UDP there.com:5060 9173 From: LittleGuy 9174 To: TheNewGuy ;tag=789789 9175 Call-ID: 123123123@there.com 9176 CSeq: 1 INVITE 9177 Content Length: 0 9179 F32 200 OK D -> Proxy 1 9181 SIP/2.0 200 OK 9182 Via: SIP/2.0/UDP ss1.wcom.com:5060 9183 Via: SIP/2.0/UDP there.com:5060 9184 Record-Route: 9185 From: LittleGuy 9186 To: TheNewGuy ;tag=789789 9187 Call-ID: 123123123@there.com 9188 CSeq: 1 INVITE 9189 Contact: TheNewGuy 9190 Content-Type: application/sdp 9191 Content-Length: ... 9193 v=0 9194 o=UserD 2890844527 2890844527 IN IP4 client.nowhere.com 9195 s=Session SDP 9196 c=IN IP4 150.151.152.153 9197 t=3094598698 0 9198 m=audio 3456 RTP/AVP 0 9199 a=rtpmap:0 PCMU/8000 9201 F33 200 OK Proxy 1 -> B 9203 SIP/2.0 200 OK 9204 Via: SIP/2.0/UDP there.com:5060 9205 Record-Route: 9206 From: LittleGuy 9207 To: TheNewGuy ;tag=789789 9208 Call-ID: 123123123@there.com 9209 CSeq: 1 INVITE 9210 Contact: TheNewGuy 9211 Content-Type: application/sdp 9212 Content-Length: ... 9214 v=0 9215 o=UserD 2890844527 2890844527 IN IP4 client.nowhere.com 9216 s=Session SDP 9217 c=IN IP4 150.151.152.153 9218 t=3094598698 0 9219 m=audio 3456 RTP/AVP 0 9220 a=rtpmap:0 PCMU/8000 9222 F34 ACK B -> Proxy 1 9224 ACK sip:UserD@ss1.wcom.com SIP/2.0 9225 Via: SIP/2.0/UDP there.com:5060 9226 Route: 9227 From: LittleGuy 9228 To: TheNewGuy ;tag=789789 9229 Call-ID: 123123123@there.com 9230 CSeq: 1 ACK 9231 Content-Length:0 9233 F35 ACK Proxy 1 -> D 9235 ACK sip: UserD@nowhere.com SIP/2.0 9236 Via: SIP/2.0/UDP ss1.wcom.com:5060 9237 Via: SIP/2.0/UDP there.com:5060 9238 From: LittleGuy 9239 To: TheNewGuy ;tag=789789 9240 Call-ID: 123123123@there.com 9241 CSeq: 1 ACK 9242 Content-Length:0 9243 F36 BYE B -> Proxy 1 9245 BYE sip: UserD@ss1.wcom.com SIP/2.0 9246 Via: SIP/2.0/UDP there.com:5060 9247 Route: 9248 From: LittleGuy 9249 To: TheNewGuy ;tag=789789 9250 Call-ID: 123123123@there.com 9251 CSeq: 2 BYE 9252 Content-Length: 0 9254 F37 BYE Proxy 1 -> D 9256 BYE sip: UserD@nowhere.com SIP/2.0 9257 Via: SIP/2.0/UDP ss1.wcom.com:5060 9258 Via: SIP/2.0/UDP there.com:5060 9259 From: LittleGuy 9260 To: TheNewGuy ;tag=789789 9261 Call-ID: 123123123@there.com 9262 CSeq: 2 BYE 9263 Content-Length: 0 9265 F38 200 OK D -> Proxy 1 9267 SIP/2.0 200 OK 9268 Via: SIP/2.0/UDP ss1.wcom.com:5060 9269 Via: SIP/2.0/UDP there.com:5060 9270 From: LittleGuy 9271 To: TheNewGuy ;tag=789789 9272 Call-ID: 123123123@there.com 9273 CSeq: 2 BYE 9274 Content-Length: 0 9276 F39 200 OK Proxy 1 -> B 9278 SIP/2.0 200 OK 9279 Via: SIP/2.0/UDP there.com:5060 9280 From: LittleGuy 9281 To: TheNewGuy ;tag=789789 9282 Call-ID: 123123123@there.com 9283 CSeq: 2 BYE 9284 Content-Length: 0 9286 7.4 Attended Transfer 9288 User A calls user B. User A puts User B on hold, and Calls user C to 9289 announce transfer. User A terminates call with User C. User A 9290 transfers User B to User C. The call flow for this session would be 9291 a combination of Consultation Hold (7.1) and Unattended Transfer 9292 (7.3). 9294 7.5 Call Forwarding Unconditional 9296 User A Proxy Gateway 9297 | | | 9298 | INVITE F1 | | 9299 |--------------->| INVITE F2 | 9300 |(100 Trying) F3 |------------->| 9301 |<---------------|180 Ringing F4| 9302 | 180 Ringing F5 |<-------------| 9303 |<---------------| 200 OK F6 | 9304 | 200 OK F7 |<-------------| 9305 |<---------------| | 9306 | ACK F8 | | 9307 |--------------->| ACK F9 | 9308 | |------------->| 9309 | Both way RTP Established | 9310 |<=============================>| 9311 | BYE F10 | | 9312 |--------------->| BYE F11 | 9313 | |------------->| 9314 | | 200 OK F12 | 9315 | 200 OK F13 |<-------------| 9316 |<---------------| | 9317 | | | 9319 User B wants all calls forwarded to a Private Dialing Plan number 9320 777-3660. (This information is known by the proxy). User A calls 9321 User B. The Proxy server rewrites the request URI, and forwards the 9322 INVITE to a gateway. 9324 Message Details 9326 F1 INVITE A -> Proxy 9328 INVITE sip:UserB@ss1.wcom.com SIP/2.0 9329 Via: SIP/2.0/UDP here.com:5060 9330 From: BigGuy 9331 To: LittleGuy 9332 Call-ID: 12345600@here.com 9333 CSeq: 1 INVITE 9334 Contact: BigGuy 9335 Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom 9336 SIP", nonce="4bc83v32edc893075761ce7cde5ba8d6", opaque="", 9337 uri="sip:ss1.wcom.com", response="0a0d6eadd7be1c8639137d175c2302ae" 9338 Content-Type: application/sdp 9339 Content-Length: ... 9341 v=0 9342 o=UserA 2890844526 2890844526 IN IP4 client.here.com 9343 s=Session SDP 9344 c=IN IP4 100.101.102.103 9345 t=3034423619 0 9346 m=audio 49170 RTP/AVP 0 9347 a=rtpmap:0 PCMU/8000 9349 /* Proxy 1 accepts the credentials and forwards the INVITE the 9350 gateway for the extension that User B wants his calls forwarded to. 9351 Client for A prepares to receive data on port 49170 from the network. 9352 */ 9354 F2 INVITE Proxy -> B2 9356 INVITE sip:7773660@gw1.wcom.com;phone-context=p1234 SIP/2.0 9357 Via: SIP/2.0/UDP ss1.wcom.com:5060 9358 Via: SIP/2.0/UDP here.com:5060 9359 Record-Route: 9360 From: BigGuy 9361 To: LittleGuy 9362 Call-ID: 12345600@here.com 9363 CSeq: 1 INVITE 9364 Contact: BigGuy 9365 Content-Type: application/sdp 9366 Content-Length: ... 9368 v=0 9369 o=UserA 2890844526 2890844526 IN IP4 client.here.com 9370 s=Session SDP 9371 c=IN IP4 100.101.102.103 9372 t=3034423619 0 9373 m=audio 49170 RTP/AVP 0 9374 a=rtpmap:0 PCMU/8000 9376 F3 (100 Trying) Proxy -> A 9378 SIP/2.0 100 Trying 9379 Via: SIP/2.0/UDP here.com:5060 9380 From: BigGuy 9381 To: LittleGuy 9382 Call-ID: 12345600@here.com 9383 CSeq: 1 INVITE 9384 Content-Length: 0 9386 F4 180 Ringing B2 -> Proxy 9387 SIP/2.0 180 Ringing 9388 Via: SIP/2.0/UDP ss1.wcom.com:5060 9389 Via: SIP/2.0/UDP here.com:5060 9390 From: BigGuy 9391 To: LittleGuy ;tag=314159 9392 Call-ID: 12345600@here.com 9393 CSeq: 1 INVITE 9394 Content Length:0 9396 F5 180 Ringing Proxy -> A 9398 SIP/2.0 180 Ringing 9399 Via: SIP/2.0/UDP here.com:5060 9400 From: BigGuy 9401 To: LittleGuy ;tag=314159 9402 Call-ID: 12345600@here.com 9403 CSeq: 1 INVITE 9404 Content Length: 0 9406 F6 200 OK B2 -> Proxy 9408 SIP/2.0 200 OK 9409 Via: SIP/2.0/UDP ss1.wcom.com:5060 9410 Via: SIP/2.0/UDP here.com:5060 9411 Record-Route: 9412 From: BigGuy 9413 To: LittleGuy ;tag=314159 9414 Call-ID: 12345600@here.com 9415 CSeq: 1 INVITE 9416 Contact: 9417 Content-Type: application/sdp 9418 Content-Length: ... 9420 v=0 9421 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 9422 s=Session SDP 9423 c=IN IP4 gatewayone.wcom.com 9424 t=0 0 9425 m=audio 3456 RTP/AVP 0 9426 a=rtpmap:0 PCMU/8000 9428 F7 200 OK Proxy -> A 9430 SIP/2.0 200 OK 9431 Via: SIP/2.0/UDP here.com:5060 9432 Record-Route: 9433 From: BigGuy 9434 To: LittleGuy ;tag=314159 9435 Call-ID: 12345600@here.com 9436 CSeq: 1 INVITE 9437 Contact: LittleGuy 9439 Content-Type: application/sdp 9440 Content-Length: ... 9442 v=0 9443 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 9444 s=Session SDP 9445 c=IN IP4 gatewayone.wcom.com 9446 t=0 0 9447 m=audio 3456 RTP/AVP 0 9448 a=rtpmap:0 PCMU/8000 9450 F8 ACK A -> Proxy 9452 ACK sip:7773660@gw1.wcom.com;phone-context=p1234 SIP/2.0 9453 Via: SIP/2.0/UDP here.com:5060 9454 Route: < sip:7773660,phone-context=p1234@gw1.wcom.com;user=phone> 9455 From: BigGuy 9456 To: LittleGuy ;tag=314159 9457 Call-ID: 12345600@here.com 9458 CSeq: 1 ACK 9459 Content-Length:0 9461 F9 ACK Proxy -> B4 9463 ACK sip:7773660@gw1.wcom.com;phone-context=p1234 SIP/2.0 9464 Via: SIP/2.0/UDP ss1.wcom.com:5060 9465 Via: SIP/2.0/UDP here.com:5060 9466 From: BigGuy 9467 To: LittleGuy ;tag=314159 9468 Call-ID: 12345600@here.com 9469 CSeq: 1 ACK 9470 Content-Length:0 9472 F10 BYE A -> Proxy 1 9474 BYE sip:7773660@gw1.wcom.com;phone-context=p1234 SIP/2.0 9475 Via: SIP/2.0/UDP here.com:5060 9476 Route: < sip:7773660,phone-context=p1234@gw1.wcom.com;user=phone> 9477 From: BigGuy 9478 To: LittleGuy ;tag=314159 9479 Call-ID: 12345600@here.com 9480 CSeq: 2 BYE 9481 Content-Length: 0 9483 F11 BYE Proxy 1 -> B2 9485 BYE sip:7773660@gw1.wcom.com;phone-context=p1234 SIP/2.0 9486 Via: SIP/2.0/UDP ss1.wcom.com:5060 9487 Via: SIP/2.0/UDP here.com:5060 9488 From: BigGuy 9489 To: LittleGuy ;tag=314159 9490 Call-ID: 12345600@here.com 9491 CSeq: 2 BYE 9492 Content-Length: 0 9494 F12 200 OK B2 -> Proxy 1 9496 SIP/2.0 200 OK 9497 Via: SIP/2.0/UDP ss1.wcom.com:5060 9498 Via: SIP/2.0/UDP here.com:5060 9499 From: BigGuy 9500 To: LittleGuy ;tag=314159 9501 Call-ID: 12345600@here.com 9502 CSeq: 2 BYE 9503 Content-Length: 0 9505 F13 200 OK Proxy 1 -> A 9507 SIP/2.0 200 OK 9508 Via: SIP/2.0/UDP here.com:5060 9509 From: BigGuy 9510 To: LittleGuy ;tag=314159 9511 Call-ID: 12345600@here.com 9512 CSeq: 2 BYE 9513 Content-Length: 0 9515 7.6 Call Forwarding - Busy 9517 User A Proxy User B1 User B2 9518 | | | | 9519 | INVITE F1 | | | 9520 |--------------->| INVITE F2 | | 9521 | |------------->| | 9522 |(100 Trying) F3 | | | 9523 |<---------------| 486 Busy F4 | | 9524 | |<-------------| | 9525 | | ACK F5 | | 9526 | |------------->| | 9527 | | | INVITE F6 | 9528 | |--------------------------------->| 9529 | | | 180 Ringing F7 | 9530 | |<---------------------------------| 9531 | 180 Ringing F8 | | | 9532 |<---------------| | 200 OK F9 | 9533 | |<---------------------------------| 9534 | 200 OK F10 | | | 9535 |<---------------| | | 9536 | ACK F11 | | | 9537 |--------------->| | ACK F12 | 9538 | |--------------------------------->| 9539 | Both way RTP Established | 9540 |<=================================================>| 9541 | BYE F13 | | | 9542 |--------------->| | BYE F14 | 9543 | |--------------------------------->| 9544 | | | 200 OK F15 | 9545 | 200 OK F16 |<---------------------------------| 9546 |<---------------| | | 9547 | | | | 9549 User B wants calls to B1 forwarded to B2 if B1 is busy (this 9550 information is known to the proxy). User A calls B1, B1 is busy, the 9551 proxy server places call to B2. 9553 Message Details 9555 F1 INVITE A -> Proxy 9557 INVITE sip:UserB@ss1.wcom.com SIP/2.0 9558 Via: SIP/2.0/UDP here.com:5060 9559 From: BigGuy 9560 To: LittleGuy 9561 Call-ID: 12345600@here.com 9562 CSeq: 1 INVITE 9563 Contact: BigGuy 9564 Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom 9565 SIP", nonce="9137d175c20a0d6eadd7be1c863302ae", opaque="", 9566 uri="sip:ss1.wcom.com", response="cf25aad811c806bde46a369220158cec" 9567 Content-Type: application/sdp 9568 Content-Length: ... 9570 v=0 9571 o=UserA 2890844526 2890844526 IN IP4 client.here.com 9572 s=Session SDP 9573 c=IN IP4 100.101.102.103 9574 t=0 0 9575 m=audio 49170 RTP/AVP 0 9576 a=rtpmap:0 PCMU/8000 9578 F2 INVITE Proxy -> B1 9580 INVITE sip:UserB1@ there.com SIP/2.0 9581 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 9582 Via: SIP/2.0/UDP here.com:5060 9583 Record-Route: 9584 From: BigGuy 9585 To: LittleGuy 9586 Call-ID: 12345600@here.com 9587 CSeq: 1 INVITE 9588 Contact: BigGuy 9589 Content-Type: application/sdp 9590 Content-Length: ... 9592 v=0 9593 o=UserA 2890844526 2890844526 IN IP4 client.here.com 9594 s=Session SDP 9595 c=IN IP4 100.101.102.103 9596 t=0 0 9597 m=audio 49170 RTP/AVP 0 9598 a=rtpmap:0 PCMU/8000 9600 F3 (100 Trying) Proxy -> A 9602 SIP/2.0 100 Trying 9603 Via: SIP/2.0/UDP here.com:5060 9604 From: BigGuy 9605 To: LittleGuy 9606 Call-ID: 12345600@here.com 9607 CSeq: 1 INVITE 9608 Content-Length: 0 9609 F4 486 Busy Here B1 -> Proxy 9611 SIP/2.0 486 Busy Here 9612 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 9613 Via: SIP/2.0/UDP here.com:5060 9614 From: BigGuy 9615 To: LittleGuy ;tag=123456 9616 Call-ID: 12345600@here.com 9617 CSeq: 1 INVITE 9618 Content-Length: 0 9620 F5 ACK Proxy -> B1 9622 ACK sip: UserB1@ss1.wcom.com SIP/2.0 9623 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 9624 From: BigGuy 9625 To: LittleGuy ;tag=123456 9626 Call-ID: 12345600@here.com 9627 CSeq: 1 ACK 9628 Content-Length: 0 9630 F6 INVITE Proxy -> B2 9632 INVITE sip:UserB2@ there.com SIP/2.0 9633 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 9634 Via: SIP/2.0/UDP here.com:5060 9635 Record-Route: 9636 From: BigGuy 9637 To: LittleGuy 9638 Call-ID: 12345600@here.com 9639 CSeq: 1 INVITE 9640 Contact: BigGuy 9641 Content-Type: application/sdp 9642 Content-Length: ... 9644 v=0 9645 o=UserA 2890844526 2890844526 IN IP4 client.here.com 9646 s=Session SDP 9647 c=IN IP4 100.101.102.103 9648 t=0 0 9649 m=audio 49170 RTP/AVP 0 9650 a=rtpmap:0 PCMU/8000 9652 F7 180 Ringing B4 -> Proxy 9654 SIP/2.0 180 Ringing 9655 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 9656 Via: SIP/2.0/UDP here.com:5060 9657 From: BigGuy 9658 To: LittleGuy ;tag=7654321 9659 Call-ID: 12345600@here.com 9660 CSeq: 1 INVITE 9661 Content-Length: 0 9663 F8 180 Ringing Proxy -> A 9665 SIP/2.0 180 Ringing 9666 Via: SIP/2.0/UDP here.com:5060 9667 From: BigGuy 9668 To: LittleGuy ;tag=7654321 9669 Call-ID: 12345600@here.com 9670 CSeq: 1 INVITE 9671 Content-Length: 0 9673 F9 200 OK B2 -> Proxy 9675 SIP/2.0 200 OK 9676 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 9677 Via: SIP/2.0/UDP here.com:5060 9678 Record-Route: 9679 From: BigGuy 9680 To: LittleGuy ;tag=7654321 9681 Call-ID: 12345600@here.com 9682 CSeq: 1 INVITE 9683 Contact: LittleGuy 9684 Content-Type: application/sdp 9685 Content-Length: ... 9687 v=0 9688 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 9689 s=Session SDP 9690 c=IN IP4 110.111.112.114 9691 t=0 0 9692 m=audio 3456 RTP/AVP 0 9693 a=rtpmap:0 PCMU/8000 9695 F10 200 OK Proxy -> A 9697 SIP/2.0 200 OK 9698 Via: SIP/2.0/UDP here.com:5060 9699 Record-Route: 9700 From: BigGuy 9701 To: LittleGuy ;tag=7654321 9702 Call-ID: 12345600@here.com 9703 CSeq: 1 INVITE 9704 Contact: LittleGuy 9705 Content-Type: application/sdp 9706 Content-Length: ... 9708 v=0 9709 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 9710 s=Session SDP 9711 c=IN IP4 110.111.112.114 9712 t=0 0 9713 m=audio 3456 RTP/AVP 0 9714 a=rtpmap:0 PCMU/8000 9716 F11 ACK A -> Proxy 9718 ACK sip:UserB2@there.com SIP/2.0 9719 Via: SIP/2.0/UDP here.com:5060 9720 Route: 9721 From: BigGuy 9722 To: LittleGuy ;tag=7654321 9723 Call-ID: 12345600@here.com 9724 CSeq: 1 ACK 9725 Content-Length: 0 9727 F12 ACK Proxy -> B2 9729 ACK sip: UserB2@there.com SIP/2.0 9730 Via: SIP/2.0/UDP ss1.wcom.com:5060 9731 Via: SIP/2.0/UDP here.com:5060 9732 From: BigGuy 9733 To: LittleGuy ;tag=7654321 9734 Call-ID: 12345600@here.com 9735 CSeq: 1 ACK 9736 Content-Length: 0 9738 /* RTP streams are established between A and B2 */ 9740 /* User A eventually hangs up with User B2. */ 9742 F13 BYE A -> Proxy 9744 BYE sip: UserB2@ss1.wcom.com SIP/2.0 9745 Via: SIP/2.0/UDP here.com:5060 9746 Route: 9747 From: BigGuy 9748 To: LittleGuy ;tag=7654321 9749 Call-ID: 12345600@here.com 9750 CSeq: 2 BYE 9751 Content-Length: 0 9753 F14 BYE Proxy -> B2 9755 BYE sip: UserB2@there.com SIP/2.0 9756 Via: SIP/2.0/UDP ss1.wcom.com:5060 9757 Via: SIP/2.0/UDP here.com:5060 9758 From: BigGuy 9759 To: LittleGuy ;tag=7654321 9760 Call-ID: 12345600@here.com 9761 CSeq: 2 BYE 9762 Content-Length: 0 9764 F15 200 OK B2 -> Proxy 9766 SIP/2.0 200 OK 9767 Via: SIP/2.0/UDP ss1.wcom.com:5060 9768 Via: SIP/2.0/UDP here.com:5060 9769 From: BigGuy 9770 To: LittleGuy ;tag=7654321 9771 Call-ID: 12345600@here.com 9772 CSeq: 2 BYE 9773 Content-Length: 0 9775 F16 200 OK Proxy -> A 9777 SIP/2.0 200 OK 9778 Via: SIP/2.0/UDP here.com:5060 9779 From: BigGuy 9780 To: LittleGuy ;tag=7654321 9781 Call-ID: 12345600@here.com 9782 CSeq: 2 BYE 9783 Content-Length: 0 9785 7.7 Call Forwarding - No Answer 9787 User A Proxy User B1 User B2 9788 | | | | 9789 | INVITE F1 | | | 9790 |--------------->| INVITE F2 | | 9791 |(100 Trying) F3 |------------->| | 9792 |<---------------|180 Ringing F4| | 9793 | 180 Ringing F5 |<-------------| | 9794 |<---------------| | | 9795 | |Request Timeout | 9796 | | CANCEL F6 | | 9797 | |------------->| | 9798 | | 200 OK F7 | | 9799 | |<-------------| | 9800 | | | INVITE F8 | 9801 | |--------------------------------->| 9802 | | | 180 Ringing F9 | 9803 | |<---------------------------------| 9804 | | | 200 OK F10 | 9805 | |<---------------------------------| 9806 | 200 OK F11 | | | 9807 |<---------------| | | 9808 | ACK F12 | | | 9809 |--------------->| | ACK F13 | 9810 | |--------------------------------->| 9811 | Both way RTP Established | 9812 |<=================================================>| 9813 | BYE F14 | | | 9814 |--------------->| | BYE F15 | 9815 | |--------------------------------->| 9816 | | | 200 OK F16 | 9817 | 200 OK F17 |<---------------------------------| 9818 |<---------------| | | 9819 | | | | 9821 User B wants calls to B1 forwarded to B2 if B1 is not answered 9822 (information is known to the proxy server). User A calls B1 and no 9823 one answers. The proxy server then places the call to B2. 9825 Message Details 9827 F1 INVITE A -> Proxy 9829 INVITE sip:UserB@ss1.wcom.com SIP/2.0 9830 Via: SIP/2.0/UDP here.com:5060 9831 From: BigGuy 9832 To: LittleGuy 9833 Call-ID: 12345600@here.com 9834 CSeq: 1 INVITE 9835 Contact: BigGuy 9836 Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom 9837 SIP", nonce="0d6eadd7be1c863302ae9137d175c20a", opaque="", 9838 uri="sip:ss1.wcom.com", response="6c0595216fad51f97f992a4479f4cc8e" 9839 Content-Type: application/sdp 9840 Content-Length: ... 9842 v=0 9843 o=UserA 2890844526 2890844526 IN IP4 client.here.com 9844 s=Session SDP 9845 c=IN IP4 100.101.102.103 9846 t=0 0 9847 m=audio 49170 RTP/AVP 0 9848 a=rtpmap:0 PCMU/8000 9850 F2 INVITE Proxy -> B1 9852 INVITE sip:UserB1@ there.com SIP/2.0 9853 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 9854 Via: SIP/2.0/UDP here.com:5060 9855 Record-Route: 9856 From: BigGuy 9857 To: LittleGuy 9858 Call-ID: 12345600@here.com 9859 CSeq: 1 INVITE 9860 Contact: BigGuy 9861 Content-Type: application/sdp 9862 Content-Length: ... 9864 v=0 9865 o=UserA 2890844526 2890844526 IN IP4 client.here.com 9866 s=Session SDP 9867 c=IN IP4 100.101.102.103 9868 t=0 0 9869 m=audio 49170 RTP/AVP 0 9870 a=rtpmap:0 PCMU/8000 9872 F3 (100 Trying) Proxy -> A 9874 SIP/2.0 100 Trying 9875 Via: SIP/2.0/UDP here.com:5060 9876 From: BigGuy 9877 To: LittleGuy 9878 Call-ID: 12345600@here.com 9879 CSeq: 1 INVITE 9880 Content-Length: 0 9881 F4 180 Ringing B1 -> Proxy 9883 SIP/2.0 180 Ringing 9884 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 9885 Via: SIP/2.0/UDP here.com:5060 9886 From: BigGuy 9887 To: LittleGuy ;tag=3145678 9888 Call-ID: 12345600@here.com 9889 CSeq: 1 INVITE 9890 Content-Length: 0 9892 F5 180 Ringing Proxy -> A 9894 SIP/2.0 180 Ringing 9895 Via: SIP/2.0/UDP here.com:5060 9896 From: BigGuy 9897 To: LittleGuy ;tag=3145678 9898 Call-ID: 12345600@here.com 9899 CSeq: 1 INVITE 9900 Content-Length: 0 9902 /* B1 rings until a configurable timer expires in the Proxy. The 9903 Proxy sends Cancel and proceeds down the list of routes. */ 9905 F6 CANCEL Proxy -> B1 9907 CANCEL sip:UserB1@ss1.wcom.com SIP/2.0 9908 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 9909 From: BigGuy 9910 To: LittleGuy 9911 Call-ID: 12345600@here.com 9912 CSeq: 1 CANCEL 9913 Content-Length: 0 9915 F7 200 OK B1 -> Proxy 9917 SIP/2.0 200 OK 9918 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 9919 From: BigGuy 9920 To: LittleGuy 9921 Call-ID: 12345600@here.com 9922 CSeq: 1 CANCEL 9923 Content-Length: 0 9924 F8 INVITE Proxy -> B2 9926 INVITE sip:UserB4@ there.com SIP/2.0 9927 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 9928 Via: SIP/2.0/UDP here.com:5060 9929 Record-Route: 9930 From: BigGuy 9931 To: LittleGuy 9932 Call-ID: 12345600@here.com 9933 CSeq: 1 INVITE 9934 Contact: BigGuy 9935 Content-Type: application/sdp 9936 Content-Length: ... 9938 v=0 9939 o=UserA 2890844526 2890844526 IN IP4 client.here.com 9940 s=Session SDP 9941 c=IN IP4 100.101.102.103 9942 t=0 0 9943 m=audio 49170 RTP/AVP 0 9944 a=rtpmap:0 PCMU/8000 9946 F9 180 Ringing B2 -> Proxy 9948 SIP/2.0 180 Ringing 9949 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 9950 Via: SIP/2.0/UDP here.com:5060 9951 From: BigGuy 9952 To: LittleGuy ;tag=123456 9953 Call-ID: 12345600@here.com 9954 CSeq: 1 INVITE 9955 Content-Length: 0 9957 F10 200 OK B2 -> Proxy 9959 SIP/2.0 200 OK 9960 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 9961 Via: SIP/2.0/UDP here.com:5060 9962 Record-Route: 9963 From: BigGuy 9964 To: LittleGuy ;tag=123456 9965 Call-ID: 12345600@here.com 9966 CSeq: 1 INVITE 9967 Contact: LittleGuy 9968 Content-Type: application/sdp 9969 Content-Length: ... 9971 v=0 9972 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 9973 s=Session SDP 9974 c=IN IP4 110.111.112.114 9975 t=0 0 9976 m=audio 3456 RTP/AVP 0 9977 a=rtpmap:0 PCMU/8000 9979 F11 200 OK Proxy -> A 9981 SIP/2.0 200 OK 9982 Via: SIP/2.0/UDP here.com:5060 9983 Record-Route: 9984 From: BigGuy 9985 To: LittleGuy ;tag=123456 9986 Call-ID: 12345600@here.com 9987 CSeq: 1 INVITE 9988 Contact: LittleGuy 9989 Content-Type: application/sdp 9990 Content-Length: ... 9992 v=0 9993 o=UserB 2890844527 2890844527 IN IP4 client2.there.com 9994 s=Session SDP 9995 c=IN IP4 110.111.112.114 9996 t=0 0 9997 m=audio 3456 RTP/AVP 0 9998 a=rtpmap:0 PCMU/8000 10000 F12 ACK A -> Proxy 10002 ACK sip:UserB2@there.com SIP/2.0 10003 Via: SIP/2.0/UDP here.com:5060 10004 Route: 10005 From: BigGuy 10006 To: LittleGuy ;tag=123456 10007 Call-ID: 12345600@here.com 10008 CSeq: 1 ACK 10009 Content-Length: 0 10011 F13 ACK Proxy -> B2 10013 ACK sip: UserB2@there.com SIP/2.0 10014 Via: SIP/2.0/UDP ss1.wcom.com:5060 10015 Via: SIP/2.0/UDP here.com:5060 10016 From: BigGuy 10017 To: LittleGuy ;tag=123456 10018 Call-ID: 12345600@here.com 10019 CSeq: 1 ACK 10020 Content-Length: 0 10022 /* RTP streams are established between A and B2*/ 10024 /* User A Hangs Up with User B2. */ 10026 F14 BYE A -> Proxy 10028 BYE sip: UserB2@ss1.wcom.com SIP/2.0 10029 Via: SIP/2.0/UDP here.com:5060 10030 Route: 10031 From: BigGuy 10032 To: LittleGuy ;tag=123456 10033 Call-ID: 12345600@here.com 10034 CSeq: 2 BYE 10035 Content-Length: 0 10037 F15 BYE Proxy -> B2 10039 BYE sip: UserB2@there.com SIP/2.0 10040 Via: SIP/2.0/UDP ss1.wcom.com:5060 10041 Via: SIP/2.0/UDP here.com:5060 10042 From: BigGuy 10043 To: LittleGuy ;tag=123456 10044 Call-ID: 12345600@here.com 10045 CSeq: 2 BYE 10046 Content-Length: 0 10048 F16 200 OK B2 -> Proxy 10050 SIP/2.0 200 OK 10051 Via: SIP/2.0/UDP ss1.wcom.com:5060 10052 Via: SIP/2.0/UDP here.com:5060 10053 From: BigGuy 10054 To: LittleGuy ;tag=123456 10055 Call-ID: 12345600@here.com 10056 CSeq: 2 BYE 10057 Content-Length: 0 10059 F17 200 OK Proxy -> A 10061 SIP/2.0 200 OK 10062 Via: SIP/2.0/UDP here.com:5060 10063 From: BigGuy 10064 To: LittleGuy ;tag=123456 10065 Call-ID: 12345600@here.com 10066 CSeq: 2 BYE 10067 Content-Length: 0 10069 7.8 3-way Conference 10071 User A calls User B, User B then invites user C to a 3-way call. 10072 User B will mix the audio streams (act as the conference bridge). If 10073 user B drops out of the call then the entire call is dropped. This 10074 is not a fully meshed conference, and does not make use of the 10075 concepts in the call control draft. 10077 The signaling for this scenario is as follows: User A calls User B, 10078 this establishes the call between A and B. User B calls User C, this 10079 establishes the call between B and C. User B will mix the audio 10080 streams, sending media originating at A to C, and media originating 10081 at C to A. There is no SIP signaling relationship between User A 10082 and User C. 10084 7.9 Single Line Extension 10086 Single Line Extension (Sequential, First Wins implementation), a call 10087 will ring several extensions in sequence. The extension to answer 10088 the call becomes the active set, no other sets may join the call. 10090 The signaling is described in Section 7.10 of this document. It is 10091 anticipated that Single Line Extension will be associated with help 10092 desk/call center applications rather then individual users. The 10093 signaling for this implementation of Single Line Extension and Find- 10094 Me is the same, the difference may be in the provisioning of the 10095 service. 10097 Note that the call flows for a Home Extension have not yet been 10098 designed. 10100 7.10 10101 Find-Me 10103 User A Proxy User User User User 10104 B1 B2 B3 B4 10105 | | | | | | 10106 | INVITE F1 | | | | | 10107 |--------------->| INVITE F2 | | | | 10108 | |------------->| | | | 10109 |(100 Trying) F3 | | | | | 10110 |<---------------|180 Ringing F4| | | | 10111 | |<-------------| | | | 10112 | 180 Ringing F5 | | | | | 10113 |<---------------| | | | | 10114 | | Timeout | | | | 10115 | | | | | | 10116 | | CANCEL F6 | | | | 10117 | |------------->| | | | 10118 | | 200 OK F7 | | | | 10119 | |<-------------| | | | 10120 | | INVITE F8| | | | 10121 | |-------------------->| | | 10122 | | 480 Not Logged In F9| | | 10123 | |<--------------------| | | 10124 | | ACK F10| | | 10125 | |-------------------->| | | 10126 | | INVITE F11 | | 10127 | |--------------------------->| | 10128 | | 486 Busy Here F12 | | 10129 | |<---------------------------| | 10130 | | ACK F13 | | 10131 | |--------------------------->| | 10132 | | INVITE F14 | 10133 | |---------------------------------->| 10134 | | 180 Ringing F15 | 10135 | |<----------------------------------| 10136 | | 200 OK F16 | 10137 | 200 OK F17 |<----------------------------------| 10138 |<---------------| | 10139 | ACK F18 | | 10140 |--------------->| ACK F19 | 10141 | |---------------------------------->| 10142 | Both way RTP Established | 10143 |<==================================================>| 10144 | | BYE F20 | 10145 | BYE F21 |<----------------------------------| 10146 |<---------------| | 10147 | 200 OK F22 | | 10148 |--------------->| 200 OK F23 | 10149 | |---------------------------------->| 10150 | | | 10152 A call to a user will attempt to locate that user by calling 10153 locations from a list of contacts. The location to answer the call 10154 becomes the active set, no other sets may join the call. 10156 It is anticipated that the Find-me feature will be associated with 10157 individual users. The signaling for the implementation of Single 10158 Line Extension and Find-Me is the same, the difference may be in the 10159 provisioning of the service. 10161 Message Details 10163 F1 INVITE A -> Proxy 10165 INVITE sip:UserB@ss1.wcom.com SIP/2.0 10166 Via: SIP/2.0/UDP here.com:5060 10167 From: BigGuy 10168 To: LittleGuy 10169 Call-ID: 12345600@here.com 10170 CSeq: 1 INVITE 10171 Contact: BigGuy 10172 Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom 10173 SIP", nonce="dd7be1c863302a0d6eae9137d175c20a", opaque="", 10174 uri="sip:ss1.wcom.com", response="cc14961f4bd9d8103a69630097bdbd34" 10175 Content-Type: application/sdp 10176 Content-Length: ... 10178 v=0 10179 o=UserA 2890844526 2890844526 IN IP4 client.here.com 10180 s=Session SDP 10181 c=IN IP4 100.101.102.103 10182 t= 0 0 10183 m=audio 49170 RTP/AVP 0 10184 a=rtpmap:0 PCMU/8000 10186 F2 INVITE Proxy -> B1 10188 INVITE sip:UserB1@ there.com SIP/2.0 10189 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 10190 Via: SIP/2.0/UDP here.com:5060 10191 Record-Route: 10192 From: BigGuy 10193 To: LittleGuy 10194 Call-ID: 12345600@here.com 10195 CSeq: 1 INVITE 10196 Contact: BigGuy 10197 Content-Type: application/sdp 10198 Content-Length: ... 10200 v=0 10201 o=UserA 2890844526 2890844526 IN IP4 client.here.com 10202 s=Session SDP 10203 c=IN IP4 100.101.102.103 10204 t= 0 0 10205 m=audio 49170 RTP/AVP 0 10206 a=rtpmap:0 PCMU/8000 10208 F3 (100 Trying) Proxy -> A 10210 SIP/2.0 100 Trying 10211 Via: SIP/2.0/UDP here.com:5060 10212 From: BigGuy 10213 To: LittleGuy 10214 Call-ID: 12345600@here.com 10215 CSeq: 1 INVITE 10216 Content-Length: 0 10218 F4 180 Ringing B1 -> Proxy 10220 SIP/2.0 180 Ringing 10221 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 10222 Via: SIP/2.0/UDP here.com:5060 10223 From: BigGuy 10224 To: LittleGuy ;tag=123456 10225 Call-ID: 12345600@here.com 10226 CSeq: 1 INVITE 10227 Content-Length: 0 10229 F5 180 Ringing Proxy -> A 10231 SIP/2.0 180 Ringing 10232 Via: SIP/2.0/UDP here.com:5060 10233 From: BigGuy 10234 To: LittleGuy ;tag=123456 10235 Call-ID: 12345600@here.com 10236 CSeq: 1 INVITE 10237 Content-Length: 0 10239 /* B1 rings for until a configurable timer in the Proxy expires. The 10240 Proxy then sends Cancel and proceeds down the list of routes. */ 10242 F6 CANCEL Proxy -> B1 10243 CANCEL sip:UserB1@ss1.wcom.com SIP/2.0 10244 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 10245 From: BigGuy 10246 To: LittleGuy 10247 Call-ID: 12345600@here.com 10248 CSeq: 1 CANCEL 10249 Content-Length: 0 10251 F7 200 OK B1 -> Proxy 10253 SIP/2.0 200 OK 10254 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 10255 From: BigGuy 10256 To: LittleGuy 10257 Call-ID: 12345600@here.com 10258 CSeq: 1 CANCEL 10259 Content-Length: 0 10261 F8 INVITE Proxy -> B2 10263 INVITE sip:UserB2@ there.com SIP/2.0 10264 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 10265 Via: SIP/2.0/UDP here.com:5060 10266 Record-Route: 10267 From: BigGuy 10268 To: LittleGuy 10269 Call-ID: 12345600@here.com 10270 CSeq: 1 INVITE 10271 Contact: BigGuy 10272 Content-Type: application/sdp 10273 Content-Length: ... 10275 v=0 10276 o=UserA 2890844526 2890844526 IN IP4 client.here.com 10277 s=Session SDP 10278 c=IN IP4 100.101.102.103 10279 t=0 0 10280 m=audio 49170 RTP/AVP 0 10281 a=rtpmap:0 PCMU/8000 10283 F9 480 Not Logged In B2 -> Proxy 10285 SIP/2.0 480 Not Logged In 10286 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 10287 Via: SIP/2.0/UDP here.com:5060 10288 From: BigGuy 10289 To: LittleGuy ;tag=314756 10290 Call-ID: 12345600@here.com 10291 CSeq: 1 INVITE 10292 Content-Length: 0 10294 F10 ACK Proxy -> B2 10296 ACK sip: UserB2@ss1.wcom.com SIP/2.0 10297 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 10298 From: BigGuy 10299 To: LittleGuy ;tag=314756 10300 Call-ID: 12345600@here.com 10301 CSeq: 1 ACK 10302 Content-Length: 0 10304 F11 INVITE Proxy -> B3 10306 INVITE sip:UserB3@ there.com SIP/2.0 10307 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=3 10308 Via: SIP/2.0/UDP here.com:5060 10309 Record-Route: 10310 From: BigGuy 10311 To: LittleGuy 10312 Call-ID: 12345600@here.com 10313 CSeq: 1 INVITE 10314 Contact: BigGuy 10315 Content-Type: application/sdp 10316 Content-Length: ... 10318 v=0 10319 o=UserA 2890844526 2890844526 IN IP4 client.here.com 10320 s=Session SDP 10321 c=IN IP4 100.101.102.103 10322 t=0 0 10323 m=audio 49170 RTP/AVP 0 10324 a=rtpmap:0 PCMU/8000 10326 F12 486 Busy Here B3 -> Proxy 10328 SIP/2.0 486 Busy Here 10329 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=3 10330 From: BigGuy 10331 To: LittleGuy ;tag=7654321 10332 Call-ID: 12345600@here.com 10333 CSeq: 1 INVITE 10334 Content-Length: 0 10335 F13 ACK Proxy -> B3 10337 ACK sip: UserB3@ss1.wcom.com SIP/2.0 10338 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=3 10339 From: BigGuy 10340 To: LittleGuy ;tag=7654321 10341 Call-ID: 12345600@here.com 10342 CSeq: 1 ACK 10343 Content-Length: 0 10345 F14 INVITE Proxy -> B4 10347 INVITE sip:UserB4@ there.com SIP/2.0 10348 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=4 10349 Via: SIP/2.0/UDP here.com:5060 10350 Record-Route: 10351 From: BigGuy 10352 To: LittleGuy 10353 Call-ID: 12345600@here.com 10354 CSeq: 1 INVITE 10355 Contact: BigGuy 10356 Content-Type: application/sdp 10357 Content-Length: ... 10359 v=0 10360 o=UserA 2890844526 2890844526 IN IP4 client.here.com 10361 s=Session SDP 10362 c=IN IP4 100.101.102.103 10363 t=0 0 10364 m=audio 49170 RTP/AVP 0 10365 a=rtpmap:0 PCMU/8000 10367 F15 180 Ringing B4 -> Proxy 10369 SIP/2.0 180 Ringing 10370 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=4 10371 Via: SIP/2.0/UDP here.com:5060 10372 From: BigGuy 10373 To: LittleGuy ;tag=7137136 10374 Call-ID: 12345600@here.com 10375 CSeq: 1 INVITE 10376 Content-Length: 0 10378 F16 200 OK B4 -> Proxy 10380 SIP/2.0 200 OK 10381 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=4 10382 Via: SIP/2.0/UDP here.com:5060 10383 Record-Route: 10384 From: BigGuy 10385 To: LittleGuy ;tag=7137136 10386 Call-ID: 12345600@here.com 10387 CSeq: 1 INVITE 10388 Contact: LittleGuy 10389 Content-Type: application/sdp 10390 Content-Length: ... 10392 v=0 10393 o=UserB 2890844527 2890844527 IN IP4 client4.there.com 10394 s=Session SDP 10395 c=IN IP4 110.111.112.116 10396 t=0 0 10397 m=audio 3456 RTP/AVP 0 10398 a=rtpmap:0 PCMU/8000 10400 F17 200 OK Proxy -> A 10402 SIP/2.0 200 OK 10403 Via: SIP/2.0/UDP here.com:5060 10404 Record-Route: 10405 From: BigGuy 10406 To: LittleGuy ;tag=7137136 10407 Call-ID: 12345600@here.com 10408 CSeq: 1 INVITE 10409 Contact: LittleGuy 10410 Content-Type: application/sdp 10411 Content-Length: ... 10413 v=0 10414 o=UserB 2890844527 2890844527 IN IP4 client4.there.com 10415 s=Session SDP 10416 c=IN IP4 110.111.112.116 10417 t=0 0 10418 m=audio 3456 RTP/AVP 0 10419 a=rtpmap:0 PCMU/8000 10421 F18 ACK A -> Proxy 10423 ACK sip:UserB4@there.com SIP/2.0 10424 Via: SIP/2.0/UDP here.com:5060 10425 Route: 10426 From: BigGuy 10427 To: LittleGuy ;tag=7137136 10428 Call-ID: 12345600@here.com 10429 CSeq: 1 ACK 10430 Content-Length: 0 10432 F19 ACK Proxy -> B4 10434 ACK sip: UserB4@there.com SIP/2.0 10435 Via: SIP/2.0/UDP ss1.wcom.com:5060 10436 Via: SIP/2.0/UDP here.com:5060 10437 From: BigGuy 10438 To: LittleGuy ;tag=7137136 10439 Call-ID: 12345600@here.com 10440 CSeq: 1 ACK 10441 Content-Length: 0 10443 /* RTP streams are established between A and B4*/ 10445 /* User B4 Hangs Up with User A. */ 10447 F20 BYE B4 -> Proxy 10449 BYE sip: UserA@here.com SIP/2.0 10450 Via: SIP/2.0/UDP there.com:5060 10451 Route: 10452 From: LittleGuy ;tag=7137136 10453 To: BigGuy 10454 Call-ID: 12345600@here.com 10455 CSeq: 2 BYE 10456 Content-Length: 0 10458 F21 BYE Proxy -> A 10460 BYE sip: UserA@here.com SIP/2.0 10461 Via: SIP/2.0/UDP ss1.wcom.com:5060 10462 Via: SIP/2.0/UDP there.com:5060 10463 From: LittleGuy ;tag=7137136 10464 To: BigGuy ;tag=1234567 10465 Call-ID: 12345600@here.com 10466 CSeq: 2 BYE 10467 Content-Length: 0 10469 F22 200 OK A -> Proxy 10471 SIP/2.0 200 OK 10472 Via: SIP/2.0/UDP ss1.wcom.com:5060 10473 Via: SIP/2.0/UDP there.com:5060 10474 From: LittleGuy ;tag=7137136 10475 To: BigGuy ;tag=1234567 10476 Call-ID: 12345600@here.com 10477 CSeq: 2 BYE 10478 Content-Length: 0 10480 F23 200 OK Proxy -> B4 10482 SIP/2.0 200 OK 10483 Via: SIP/2.0/UDP there.com:5060 10484 From: LittleGuy ;tag=7137136 10485 To: BigGuy ;tag=1234567 10486 Call-ID: 12345600@here.com 10487 CSeq: 2 BYE 10488 Content-Length: 0 10490 7.11 10491 Call Management (Incoming Call Screening) 10493 User A Proxy User B 10494 | | | 10495 | INVITE F1 | | 10496 |--------------->| | 10497 | 407 Proxy Authorization F2 | 10498 |<---------------| | 10499 | ACK F3 | | 10500 |--------------->| | 10501 | INVITE F4 | | 10502 |--------------->| | 10503 | 403 Screening Failure (Terminating) F5 10504 |<---------------| | 10505 | ACK F3 | | 10506 |--------------->| | 10507 | | | 10509 User B has an incoming call screening list, User A is included on the 10510 list of addresses User B will not accept calls from. User A attempts 10511 to call user B. 10513 Message Details 10515 F1 INVITE A -> Proxy 1 10517 INVITE sip:UserB@ss1.wcom.com SIP/2.0 10518 Via: SIP/2.0/UDP here.com:5060 10519 From: BigGuy 10520 To: LittleGuy 10521 Call-ID: 12345600@here.com 10522 CSeq: 1 INVITE 10523 Contact: BigGuy 10524 Content-Type: application/sdp 10525 Content-Length: ... 10527 v=0 10528 o=UserA 2890844526 2890844526 IN IP4 client.here.com 10529 s=Session SDP 10530 c=IN IP4 100.101.102.103 10531 t=3034423619 0 10532 m=audio 49170 RTP/AVP 0 10533 a=rtpmap:0 PCMU/8000 10535 /* Proxy 1 challenges User A for authentication */ 10537 F2 407 Proxy Authorization Required Proxy 1 -> A 10538 SIP/2.0 407 Proxy Authorization Required 10539 Via: SIP/2.0/UDP here.com:5060 10540 From: BigGuy 10541 To: LittleGuy 10542 Call-ID: 12345600@here.com 10543 CSeq: 1 INVITE 10544 Proxy-Authenticate: Digest realm="MCI WorldCom SIP", 10545 domain="wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 10546 opaque="", stale="FALSE", algorithm="MD5" 10547 Content-Length:0 10549 F3 ACK A -> Proxy 1 10551 ACK sip:UserB@ss1.wcom.com SIP/2.0 10552 Via: SIP/2.0/UDP here.com:5060 10553 From: BigGuy 10554 To: LittleGuy 10555 Call-ID: 12345600@here.com 10556 CSeq: 1 ACK 10557 Content-Length:0 10559 /* User A responds by sending an INVITE with authentication 10560 credentials in it. */ 10562 F4 INVITE A -> Proxy 1 10564 INVITE sip:UserB@ss1.wcom.com SIP/2.0 10565 Via: SIP/2.0/UDP here.com:5060 10566 From: BigGuy 10567 To: LittleGuy 10568 Call-ID: 12345601@here.com 10569 CSeq: 1 INVITE 10570 Contact: BigGuy 10571 Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom 10572 SIP", nonce="ae9137be1c87d175c2dd63302a0d6e0a", opaque="", 10573 uri="sip:ss1.wcom.com", response="bbaec39f943bdcb3620d90afc548a45c" 10574 Content-Type: application/sdp 10575 Content-Length: ... 10577 v=0 10578 o=UserA 2890844526 2890844526 IN IP4 client.here.com 10579 s=Session SDP 10580 c=IN IP4 100.101.102.103 10581 t=3034423619 0 10582 m=audio 49170 RTP/AVP 0 10583 a=rtpmap:0 PCMU/8000 10584 F5 403 Screening Failure (Terminating) Proxy 1 -> A 10586 SIP/2.0 403 Screening Failure (Terminating) 10587 Via: SIP/2.0/UDP here.com:5060 10588 From: BigGuy 10589 To: LittleGuy 10590 Call-ID: 12345601@here.com 10591 CSeq: 1 INVITE 10592 Content-Length:0 10594 F6 ACK A -> Proxy 1 10596 ACK sip:UserB@there.com SIP/2.0 10597 Via: SIP/2.0/UDP here.com:5060 10598 From: BigGuy 10599 To: LittleGuy 10600 Call-ID: 12345601@here.com 10601 CSeq: 1 ACK 10602 Content-Length:0 10604 7.12 10605 Call Management (Outgoing Call Screening) 10607 User A Proxy User B 10608 | | | 10609 | INVITE F1 | | 10610 |--------------->| | 10611 | 407 Proxy Authorization F2 | 10612 |<---------------| | 10613 | ACK F3 | | 10614 |--------------->| | 10615 | INVITE F4 | | 10616 |--------------->| | 10617 | 403 Screening Failure (Originating) F5 10618 |<---------------| | 10619 | ACK F3 | | 10620 |--------------->| | 10621 | | | 10623 User A has an outgoing call screening list, User B is included on the 10624 list of addresses User A will not be able to place a call to. User A 10625 attempts to call user B. 10627 Message Details 10629 F1 INVITE A -> Proxy 1 10631 INVITE sip:UserB@ss1.wcom.com SIP/2.0 10632 Via: SIP/2.0/UDP here.com:5060 10633 From: BigGuy 10634 To: LittleGuy 10635 Call-ID: 12345600@here.com 10636 CSeq: 1 INVITE 10637 Contact: BigGuy 10638 Content-Type: application/sdp 10639 Content-Length: ... 10641 v=0 10642 o=UserA 2890844526 2890844526 IN IP4 client.here.com 10643 s=Session SDP 10644 c=IN IP4 100.101.102.103 10645 t=3034423619 0 10646 m=audio 49170 RTP/AVP 0 10647 a=rtpmap:0 PCMU/8000 10649 /* Proxy 1 challenges User A for authentication */ 10651 F2 407 Proxy Authorization Required Proxy 1 -> A 10652 SIP/2.0 407 Proxy Authorization Required 10653 Via: SIP/2.0/UDP here.com:5060 10654 From: BigGuy 10655 To: LittleGuy 10656 Call-ID: 12345600@here.com 10657 CSeq: 1 INVITE 10658 Proxy-Authenticate: Digest realm="MCI WorldCom SIP", 10659 domain="wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 10660 opaque="", stale="FALSE", algorithm="MD5" 10661 Content-Length:0 10663 F3 ACK A -> Proxy 1 10665 ACK sip:UserB@ss1.wcom.com SIP/2.0 10666 Via: SIP/2.0/UDP here.com:5060 10667 From: BigGuy 10668 To: LittleGuy 10669 Call-ID: 12345600@here.com 10670 CSeq: 1 ACK 10671 Content-Length:0 10673 /* User A responds be sending an INVITE with authentication 10674 credentials in it. */ 10676 F4 INVITE A -> Proxy 1 10678 INVITE sip:UserB@ss1.wcom.com SIP/2.0 10679 Via: SIP/2.0/UDP here.com:5060 10680 From: BigGuy 10681 To: LittleGuy 10682 Call-ID: 12345601@here.com 10683 CSeq: 1 INVITE 10684 Contact: BigGuy 10685 Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom 10686 SIP", nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", 10687 uri="sip:ss1.wcom.com", response="b9d2e5bcdec9f69ab2a9b44f270285a6" 10688 Content-Type: application/sdp 10689 Content-Length: ... 10691 v=0 10692 o=UserA 2890844526 2890844526 IN IP4 client.here.com 10693 s=Session SDP 10694 c=IN IP4 100.101.102.103 10695 t=3034423619 0 10696 m=audio 49170 RTP/AVP 0 10697 a=rtpmap:0 PCMU/8000 10698 F5 403 Screening Failure (Originating) Proxy 1 -> A 10700 SIP/2.0 403 Screening Failure (Originating) 10701 Via: SIP/2.0/UDP here.com:5060 10702 From: BigGuy 10703 To: LittleGuy 10704 Call-ID: 12345601@here.com 10705 CSeq: 1 INVITE 10706 Content-Length:0 10708 F6 ACK A -> Proxy 1 10710 ACK sip:UserB@there.com SIP/2.0 10711 Via: SIP/2.0/UDP here.com:5060 10712 From: BigGuy 10713 To: LittleGuy 10714 Call-ID: 12345601@here.com 10715 CSeq: 1 ACK 10716 Content-Length:0 10718 8 SIP Test Messages 10720 The files in here are test messages for SIP servers to exercise 10721 various functions. They have been used in SIP "bakeoff" 10722 interoperablity events. All messages shown here are valid, unless 10723 otherwise noted. The correct behavior of servers and clients is also 10724 described. 10726 8.1 INVITE Parser Torture Test Message 10728 This message is a correctly formatting SIP message. It contains: 10730 line folding all over 10731 escaped characters within quotes 10732 LWS between colons, semicolons, headers, and other fields 10733 both comma separated and separate listing of headers 10734 mix or short and long form for the same header 10735 unknown header field 10736 unusual header ordering 10737 nested comments 10738 unknown parameters of a known header 10740 Proxies should forward message and clients should respond as to a 10741 normal INVITE message. 10743 Message Details 10745 INVITE sip:vivekg@chair.dnrc.bell-labs.com SIP/2.0 10746 TO : 10747 sip:vivekg@chair.dnrc.bell-labs.com ; tag = 1918181833n 10748 From : "J Rosenberg \\\"" 10749 ; 10750 tag = 98asjd8 10751 Call-ID 10752 : 0ha0isndaksdj@10.1.1.1 10753 cseq: 8 10754 INVITE 10755 Via : SIP / 2.0 10756 /UDP 10757 135.180.130.133 10758 Subject : 10759 NewFangledHeader: newfangled value 10760 more newfangled value 10761 Content-Type: application/sdp 10762 v: SIP / 2.0 / TCP 12.3.4.5 ; 10763 branch = 9ikj8 , 10764 SIP / 2.0 / UDP 1.2.3.4 ; hidden 10765 m:"Quoted string \"\"" ; newparam = 10766 newvalue ; 10767 secondparam = secondvalue ; q = 0.33 10768 (((nested comments) and (more))) , 10769 tel:4443322 10771 v=0 10772 o=mhandley 29739 7272939 IN IP4 126.5.4.3 10773 c=IN IP4 135.180.130.88 10774 m=audio 492170 RTP/AVP 0 12 10775 m=video 3227 RTP/AVP 31 10776 a=rtpmap:31 LPC 10778 8.2 INVITE with Proxy-Require and Require 10780 This message tests support for Proxy-Require and Require. It is a 10781 request that contains both headers, listing new features. 10783 Proxies and clients should respond with a 420 Bad Extension, and an 10784 Unsupported header listing these features. 10786 Message Details 10788 INVITE sip:user@company.com SIP/2.0 10789 To: sip:j_user@company.com 10790 From: sip:caller@university.edu 10791 Call-ID: 0ha0isndaksdj@10.1.1.1 10792 Require: newfeature1, newfeature2 10793 Proxy-Require: newfeature3, newfeature4 10794 CSeq: 8 INVITE 10795 Via: SIP/2.0/UDP 135.180.130.133 10797 8.3 INVITE with Unknown Schemes in URIs and URLs 10799 This message contains unknown schemes in the Request URI, To, From 10800 and Contact headers of a request. 10802 A server should probably return a not found error; but other 10803 behaviors are acceptable. 10805 Message Details 10807 INVITE name:John_Smith SIP/2.0 10808 To: isbn:2983792873 10809 From: http://www.cs.columbia.edu 10810 Call-ID: 0ha0isndaksdj@10.1.2.3 10811 CSeq: 8 INVITE 10812 Via: SIP/2.0/UDP 135.180.130.133 10813 Content-Type: application/sdp 10814 Contact: Joe Bob Briggs 10816 v=0 10817 o=mhandley 29739 7272939 IN IP4 126.5.4.3 10818 c=IN IP4 135.180.130.88 10819 m=audio 492170 RTP/AVP 0 12 10820 m=video 3227 RTP/AVP 31 10821 a=rtpmap:31 LPC 10823 8.4 REGISTER with Y2038 Test 10825 This message is a registration request with an expiration year of 10826 2040. This makes sure that a server doesn't crash on seeing a date 10827 past Y2038. 10829 The correct behavior is probably to limit the lifetime to some 10830 configured maximum. 10832 Message Details 10834 REGISTER sip:company.com SIP/2.0 10835 To: sip:user@company.com 10836 From: sip:user@company.com 10837 Contact: sip:user@host.company.com 10838 Call-ID: 0ha0isndaksdj@10.0.0.1 10839 CSeq: 8 REGISTER 10840 Via: SIP/2.0/UDP 135.180.130.133 10841 Expires: Thu, 01 Dec 2040 16:00:00 GMT 10843 8.5 INVITE with inconsistent Accept and message body 10845 This is a UAS test. It is a request that includes an Accept header 10846 without SDP. The UAS should respond with an error. 10848 Message Details 10850 INVITE sip:user@company.com SIP/2.0 10851 To: sip:j_user@company.com 10852 From: sip:caller@university.edu 10853 Call-ID: 0ha0isndaksdj@10.0.0.1 10854 Accept: text/newformat 10855 CSeq: 8 INVITE 10856 Via: SIP/2.0/UDP 135.180.130.133 10857 Content-Type: application/sdp 10858 v=0 10859 o=mhandley 29739 7272939 IN IP4 126.5.4.3 10860 c=IN IP4 135.180.130.88 10861 m=audio 492170 RTP/AVP 0 12 10862 m=video 3227 RTP/AVP 31 10863 a=rtpmap:31 LPC 10865 8.6 INVITE with non-SDP message body 10867 This is a test of a user agent server. It is a request that includes 10868 a body of a non-SDP type. 10870 The user agent server should respond with an error. 10872 Message Details 10874 INVITE sip:user@comapny.com SIP/2.0 10875 To: sip:j.user@company.com 10876 From: sip:caller@university.edu 10877 Call-ID: 0ha0isndaksdj@10.0.0.1 10878 CSeq: 8 INVITE 10879 Via: SIP/2.0/UDP 135.180.130.133 10880 Content-Type: application/newformat 10882 10886 8.7 Unknown Method Message 10888 This request message contains a new unknown method, NEWMETHOD. 10890 A proxy should forward this using the same retransmission rules as 10891 INVITE. A UAS should reject it with an error, and list the available 10892 methods in the response. 10894 Message Details 10896 NEWMETHOD sip:user@comapny.com SIP/2.0 10897 To: sip:j.user@company.com 10898 From: sip:caller@university.edu 10899 Call-ID: 0ha0isndaksdj@10.0.0.1 10900 CSeq: 8 NEWMETHOD 10901 Via: SIP/2.0/UDP 135.180.130.133 10902 Content-Type: application/sdp 10904 v=0 10905 o=mhandley 29739 7272939 IN IP4 126.5.4.3 10906 c=IN IP4 135.180.130.88 10907 m=audio 492170 RTP/AVP 0 12 10908 m=video 3227 RTP/AVP 31 10909 a=rtpmap:31 LPC 10911 8.8 Unknown Method with CSeq Error 10913 This message is nearly identical to the Unknown Method message. It is 10914 a request with a new unknown method, but with a CSeq method tag which 10915 does not match. 10917 A proxy should either respond with an error, or correct the method 10918 tag. The user agent should reject it with an error, and list the 10919 available methods in the response. 10921 Message Details 10923 NEWMETHOD sip:user@comapny.com SIP/2.0 10924 To: sip:j.user@company.com 10925 From: sip:caller@university.edu 10926 Call-ID: 0ha0isndaksdj@10.0.1.1 10927 CSeq: 8 INVITE 10928 Via: SIP/2.0/UDP 135.180.130.133 10929 Content-Type: application/sdp 10931 v=0 10932 o=mhandley 29739 7272939 IN IP4 126.5.4.3 10933 c=IN IP4 135.180.130.88 10934 m=audio 492170 RTP/AVP 0 12 10935 m=video 3227 RTP/AVP 31 10936 a=rtpmap:31 LPC 10938 8.9 REGISTER with Unknown Authorization Scheme 10940 This message is a REGISTER request with an unknown authorization 10941 scheme. 10943 The server should do something reasonable, such as rejecting the 10944 request. 10946 Message Details 10948 REGISTER sip:company.com SIP/2.0 10949 To: sip:j.user@company.com 10950 From: sip:j.user@company.com 10951 Call-ID: 0ha0isndaksdj@10.0.1.1 10952 CSeq: 8 REGISTER 10953 Via: SIP/2.0/UDP 135.180.130.133 10954 Authorization: Super-PGP ajsohdaosdh0asyhdaind08yasdknasd09asidhas0d8 10956 8.10 10957 INVITE with Invalid SIP Version Number 10959 This message contains two requests, separated by a bunch of 10960 whitespace. The first request is a valid registration. The second 10961 request is an INVITE with a wrong SIP version number (3.0). 10963 The server should accept the first REGISTER request. The server 10964 should respond to the second request with a bad version error. 10966 Message Details 10968 REGISTER sip:company.com SIP/2.0 10969 To: sip:j.user@company.com 10970 From: sip:j.user@company.com 10971 Call-ID: 0ha0isndaksdj@10.0.2.2 10972 Contact: sip:j.user@host.company.com 10973 CSeq: 8 REGISTER 10974 Via: SIP/2.0/UDP 135.180.130.133 10975 Content-Length: 0 10977 INVITE sip:joe@company.com SIP/3.0 10978 To: sip:joe@company.com 10979 From: sip:caller@university.edu 10980 Call-ID: 0ha0isnda977644900765@10.0.0.1 10981 CSeq: 8 INVITE 10982 Via: SIP/2.0/UDP 135.180.130.133 10983 Content-Type: application/sdp 10985 v=0 10986 o=mhandley 29739 7272939 IN IP4 126.5.4.3 10987 c=IN IP4 135.180.130.88 10988 m=audio 492170 RTP/AVP 0 12 10989 m=video 3227 RTP/AVP 31 10990 a=rtpmap:31 LPC 10992 8.11 10993 INVITE missing Required Headers 10995 This message contains no Call-ID, From, or To header. 10997 The server should not crash, and ideally should respond with an 10998 error. 11000 Message Details 11002 INVITE sip:user@company.com SIP/2.0 11003 CSeq: 0 INVITE 11004 Via: SIP/2.0/UDP 135.180.130.133 11005 Content-Type: application/sdp 11007 v=0 11008 o=mhandley 29739 7272939 IN IP4 126.5.4.3 11009 c=IN IP4 135.180.130.88 11010 m=audio 492170 RTP/AVP 0 12 11011 m=video 3227 RTP/AVP 31 11012 a=rtpmap:31 LPC 11014 8.12 11015 INVITE with Duplicate Required Headers 11017 The message contains a request with an extra Call-ID and To field. 11019 The server should not crash, and should ideally respond with an 11020 error. 11022 Message Details 11024 INVITE sip:user@company.com SIP/2.0 11025 Via: SIP/2.0/UDP 135.180.130.133 11026 CSeq: 0 INVITE 11027 Call-ID: 98asdh@10.1.1.1 11028 Call-ID: 98asdh@10.1.1.2 11029 From: sip:caller@university.edu 11030 From: sip:caller@organization.org 11031 To: sip:user@company.com 11032 Content-Type: application/sdp 11034 v=0 11035 o=mhandley 29739 7272939 IN IP4 126.5.4.3 11036 c=IN IP4 135.180.130.88 11037 m=audio 492170 RTP/AVP 0 12 11038 m=video 3227 RTP/AVP 31 11039 a=rtpmap:31 LPC 11041 8.13 11042 INVITE with Illegal Expires Header 11044 This message contains an Expires header which has illegal values for 11045 a number of components, but otherwise is syntactically correct. 11047 Message Details 11049 INVITE sip:user@company.com SIP/2.0 11050 Via: SIP/2.0/UDP 135.180.130.133 11051 CSeq: 0 INVITE 11052 Call-ID: 98asdh@10.1.1.2 11053 Expires: Thu, 44 Dec 19999 16:00:00 EDT 11054 From: sip:caller@university.edu 11055 To: sip:user@company.com 11056 Content-Type: application/sdp 11058 v=0 11059 o=mhandley 29739 7272939 IN IP4 126.5.4.3 11060 c=IN IP4 135.180.130.88 11061 m=audio 492170 RTP/AVP 0 12 11062 m=video 3227 RTP/AVP 31 11063 a=rtpmap:31 LPC 11065 8.14 11066 200 OK Response with Broadcast Via Header 11068 This message is a response with a 2nd Via header of 255.255.255.255. 11070 On receiving this response, the top Via header is stripped and the 11071 packet forwarded. Since the next address is the broadcast address, 11072 it causes the packet to be broadcast onto the network. A smart server 11073 should ignore packets with 2nd Via headers that are 255.255.255.255 11074 or 127.0.0.1. At the very least it should not crash. 11076 Message Details 11078 SIP/2.0 200 OK 11079 Via: SIP/2.0/UDP 135.180.130.57;branch=0 11080 Via: SIP/2.0/UDP 255.255.255.255;branch=0 11081 Call-ID: 0384840201@10.1.1.1 11082 CSeq: 0 INVITE 11083 From: sip:user@company.com 11084 To: sip:user@university.edu;tag=2229 11085 Content-Type: application/sdp 11087 v=0 11088 o=mhandley 29739 7272939 IN IP4 126.5.4.3 11089 c=IN IP4 224.2.17.12/127 11090 m=audio 492170 RTP/AVP 0 12 11091 m=video 3227 RTP/AVP 31 11092 a=rtpmap:31 LPC 11094 8.15 11095 INVITE with Invalid Via and Contact Headers 11097 This is a request with the Via and Contact headers incorrect. They 11098 contain additional semicolons and commas without parameters or 11099 values. 11101 The server should respond with a Bad Request error. 11103 Message Details 11105 INVITE sip:user@company.com SIP/2.0 11106 To: sip:j.user@company.com 11107 From: sip:caller@university.edu 11108 Call-ID: 0ha0isndaksdj@10.0.0.1 11109 CSeq: 8 INVITE 11110 Via: SIP/2.0/UDP 135.180.130.133;;,; 11111 Contact: "" <> ;,"Joe" ;;,,;; 11112 Content-Type: application/sdp 11114 v=0 11115 o=mhandley 29739 7272939 IN IP4 126.5.4.3 11116 c=IN IP4 135.180.130.88 11117 m=audio 492170 RTP/AVP 0 12 11118 m=video 3227 RTP/AVP 31 11119 a=rtpmap:31 LPC 11121 8.16 11122 INVITE with Incorrect Content-Length Header 11124 This is a request message with a Content Length that is much larger 11125 than the length of the body. 11127 When sent UDP, the server should respond with an error. With TCP, 11128 there's not much you can do but wait... 11130 Message Details 11132 INVITE sip:user@company.com SIP/2.0 11133 To: sip:j.user@company.com 11134 From: sip:caller@university.edu 11135 Call-ID: 0ha0isndaksdj@10.0.0.1 11136 CSeq: 8 INVITE 11137 Via: SIP/2.0/UDP 135.180.130.133 11138 Content-Type: application/sdp 11139 Content-Length: 9999 11141 v=0 11142 o=mhandley 29739 7272939 IN IP4 126.5.4.3 11143 c=IN IP4 135.180.130.88 11144 m=audio 492170 RTP/AVP 0 12 11145 m=video 3227 RTP/AVP 31 11146 a=rtpmap:31 LPC 11148 8.17 11149 INVITE with Invalid Value for Content-Length 11151 This is a request message with a negative value for Content-Length. 11153 The server should respond with an error. 11155 Message Details 11157 INVITE sip:user@company.com SIP/2.0 11158 To: sip:j.user@company.com 11159 From: sip:caller@university.edu 11160 Call-ID: 0ha0isndaksdj@10.0.0.1 11161 CSeq: 8 INVITE 11162 Via: SIP/2.0/UDP 135.180.130.133 11163 Content-Type: application/sdp 11164 Content-Length: -999 11165 v=0 11166 o=mhandley 29739 7272939 IN IP4 126.5.4.3 11167 c=IN IP4 135.180.130.88 11168 m=audio 492170 RTP/AVP 0 12 11169 m=video 3227 RTP/AVP 31 11170 a=rtpmap:31 LPC 11172 8.18 11173 INVITE with Garbage after Message Body 11175 This is a request message with garbage after the end of the SDP 11176 included in the body. In fact, the server should treat this garbage 11177 as a second request. However, it is not even close to a valid 11178 message. The server should therefore ignore it, and forward the first 11179 message normally. 11181 Message Details 11183 INVITE sip:user@company.com SIP/2.0 11184 To: sip:j.user@company.com 11185 From: sip:caller@university.edu 11186 Call-ID: 0ha0isndaksdj@10.0.0.1 11187 CSeq: 8 INVITE 11188 Via: SIP/2.0/UDP 135.180.130.133 11189 Content-Type: application/sdp 11190 Content-Length: 138 11192 v=0 11193 o=mhandley 29739 7272939 IN IP4 126.5.4.3 11194 c=IN IP4 135.180.130.88 11195 m=audio 492170 RTP/AVP 0 12 11196 m=video 3227 RTP/AVP 31 11197 a=rtpmap:31 LPC 11198 asdpasd08asdsdk:;;asd 11199 a0sdjhg8a0''...'';;;; 11201 8.19 11202 INVITE with Error in Display Name in To Header 11204 This is a request with an unterminated quote in the display name of 11205 the To field. 11207 The server can either return an error, or proxy it if it is 11208 successful parsing without the terminating quote. 11210 Message Details 11211 INVITE sip:user@company.com SIP/2.0 11212 To: "Mr. J. User 11213 From: sip:caller@university.edu 11214 Call-ID: 0ha0isndaksdj@10.0.0.1 11215 CSeq: 8 INVITE 11216 Via: SIP/2.0/UDP 135.180.130.133 11217 Content-Type: application/sdp 11218 Content-Length: 138 11220 v=0 11221 o=mhandley 29739 7272939 IN IP4 126.5.4.3 11222 c=IN IP4 135.180.130.88 11223 m=audio 492170 RTP/AVP 0 12 11224 m=video 3227 RTP/AVP 31 11225 a=rtpmap:31 LPC 11227 9 Acknowledgements 11229 The authors wish to thank the following individuals for their 11230 assistance and review of this call flows document: Hemant Agrawal, 11231 Henry Sinnreich, David Devanatham, Joe Pizzimenti, Matt Cannon, John 11232 Hearty, the whole MCI WorldCom IPOP Design team, Scott Orton, Greg 11233 Osterhout, Pat Sollee, Doug Weisenberg, Danny Mistry, Steve McKinnon, 11234 and Denise Ingram, Denise Caballero, Tom Redman, Ilya Slain, Pat 11235 Sollee, John Truetken, and others from MCI WorldCom, 3Com, Cisco, 11236 Lucent and Nortel. 11238 10 References 11240 [1] S. Bradner, "The Internet Standards Process -- Revision 3", BCP 11241 9, RFC 2026, October 1996. 11243 [2] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP: 11244 Session Initiation Protocol", RFC 2543, March 1999. 11246 [4] S. Kent, R. Atkinson, "Security Architecture for the Internet 11247 Protocol", RFC 2401, November 1998. 11249 [5] S. Donovan, J. Hearty, M. Cannon, H. Schulzrinne, and J. 11250 Rosenberg, "SIP 183 Session Progress Message", Internet Draft, 11251 Internet Engineering Task Force, October 1999. Work in 11252 progress. 11254 [6] J. Rosenberg, and H. Schulzrinne, "Reliability of Provisional 11255 Responses in SIP", Internet Draft, Internet Engineering Task 11256 Force, January 2000, Work in progress. 11258 [7] A. Vaha-Sipila, "URLs for Telephone Calls", Internet Draft, 11259 Internet Engineering Task Force, December 1999, Work in 11260 progress. 11262 [8] S. Donovan, M. Cannon, "The SIP INFO Method", Internet Draft, 11263 Internet Engineering Task Force, January 2000. Work in 11264 progress. 11266 [9] G. Camarillo, "Best Current Practice for ISUP to SIP Mapping", 11267 Internet Draft, Internet Engineering Task Force, October 1999, 11268 Work in progress. 11270 [10]H. Schulzrinne, and J. Rosenberg, "SIP Call Control Services", 11271 Internet Draft, Internet Engineering Task Force, June 1999, Work 11272 in progress. 11274 Author's Addresses 11276 Alan Johnston 11277 MCI WorldCom 11278 100 S 4th Street 11279 St. Louis, MO 63104 Email: alan.johnston@wcom.com 11280 USA 11282 Steve Donovan 11283 MCI WorldCom 11284 901 International Parkway 11285 Richardson, TX 65081 Email: steven.r.donovan@wcom.com 11286 USA 11288 Robert Sparks 11289 MCI WorldCom 11290 2400 N Glenville Drive 11291 Richardson, TX 75082 Email: robert.sparks@wcom.com 11292 USA 11294 Chris Cunningham 11295 MCI WorldCom 11296 400 International Parkway 11297 Richardson, TX 75081 Email: chris.cunningham@wcom.com 11298 USA 11300 Kevin Summers 11301 MCI WorldCom 11302 2400 N Glenvile Drive 11303 Richardson, TX 75082 Email: kevin.summers@wcom.com 11304 USA 11306 Dean Willis 11307 MCI WorldCom 11308 400 International Parkway 11309 Richardson, TX 75081 Email: dean.willis@wcom.com 11310 USA 11312 Jonathan Rosenberg 11313 dynamicsoft 11314 200 Executive Drive 11315 Suite 120 11316 West Orange, NJ 07052 Email: jdrosen@dynamicsoft.com 11317 USA 11319 Henning Schulzrinne 11320 Dept. of Computer Science 11321 Columbia University 1214 Amsterdam Avenue, MC 0401 11322 New York, NY 10027 Email: schulzrinne@cs.columbia.edu 11323 USA 11325 Copyright Notice 11327 "Copyright (C) The Internet Society 2000. All Rights Reserved. 11329 This document and translations of it may be copied and furnished to 11330 others, and derivative works that comment on or otherwise explain it 11331 or assist in its implementation may be prepared, copied, published 11332 and distributed, in whole or in part, without restriction of any 11333 kind, provided that the above copyright notice and this paragraph are 11334 included on all such copies and derivative works. However, this 11335 document itself may not be modified in any way, such as by removing 11336 the copyright notice or references to the Internet Society or other 11337 Internet organizations, except as needed for the purpose of 11338 developing Internet standards in which case the procedures for 11339 copyrights defined in the Internet Standards process must be 11340 followed, or as required to translate it into languages other than 11341 English. 11343 The limited permissions granted above are perpetual and will not be 11344 revoked by the Internet Society or its successors or assigns. 11346 This document and the information contained herein is provided on an 11347 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 11348 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 11349 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 11350 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 11351 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.