idnits 2.17.1 draft-ietf-sipping-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. == It seems as if not all pages are separated by form feeds - found 0 form feeds but 229 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 407 instances of lines with non-RFC2606-compliant FQDNs in the document. == There are 193 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 260 has weird spacing: '...will be as fo...' == Line 277 has weird spacing: '...ionable strin...' == Line 3265 has weird spacing: '...o voice commu...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Informational ---------------------------------------------------------------------------- ** Obsolete normative reference: RFC 2543 (Obsoleted by RFC 3261, RFC 3262, RFC 3263, RFC 3264, RFC 3265) ** Obsolete normative reference: RFC 2401 (ref. 'IPSEC') (Obsoleted by RFC 4301) ** Obsolete normative reference: RFC 2806 (Obsoleted by RFC 3966) Summary: 10 errors (**), 0 flaws (~~), 8 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force Alan Johnston 3 Internet Draft WorldCom 4 Document: draft-ietf-sipping-call-flows-00.txt Steve Donovan 5 Category: Informational Robert Sparks 6 February 2002 Chris Cunningham 7 Expires: August 2002 Dean Willis 8 Jonathan Rosenberg 9 dynamicsoft 10 Kevin Summers 11 Sonus 12 Henning Schulzrinne 13 Columbia University 15 SIP Call Flow Examples 17 Status of this Memo 19 This document is an Internet-Draft and is in full conformance with 20 all provisions of Section 10 of RFC2026[1]. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF), its areas, and its working groups. Note that other 24 groups may also distribute working documents as Internet-Drafts. 25 Internet-Drafts are draft documents valid for a maximum of six months 26 and may be updated, replaced, or obsoleted by other documents at any 27 time. It is inappropriate to use Internet- Drafts as reference 28 material or to cite them other than as "work in progress." 29 The list of current Internet-Drafts can be accessed at 30 http://www.ietf.org/ietf/1id-abstracts.txt 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 34 Abstract 36 This informational document gives examples of SIP (Session Initiation 37 Protocol) call flows for IP telephony. Elements in these call flows 38 include SIP User Agents and Clients, SIP Proxy and Redirect Servers, 39 and Gateways to the PSTN (Public Switch Telephone Network). IP 40 telephony scenarios include SIP Registration, SIP to SIP calling, SIP 41 to Gateway, Gateway to SIP, and Gateway to Gateway via SIP. Call 42 flow diagrams and message details are shown. PSTN telephony 43 protocols are illustrated using ISDN (Integrated Services Digital 44 Network), ANSI ISUP (ISDN User Part), and FGB (Feature Group B) 45 circuit associated signaling. PSTN calls are illustrated using 46 global telephone numbers from the PSTN and private extensions served 47 on by a PBX (Private Branch Exchange). Example SIP messages used for 48 testing during SIP "bakeoff" events include SIP "torture test" 49 messages, and messages with invalid parameters, methods, and tags. 51 Table of Contents 53 1 Overview...................................................4 54 1.1 General Assumptions........................................4 55 1.2 Legend for Message Flows...................................6 56 1.3 SIP Protocol Assumptions...................................7 57 1.4 Changes to 00 draft .......................................7 58 1.5 Changes to 01 draft .......................................8 59 1.6 Changes to 02 draft .......................................8 60 1.7 Changes to 03 draft .......................................9 61 1.8 Changes to 04 draft .......................................9 62 1.9 Changes to sipping 00 draft ...............................9 63 2 SIP Registration Services.................................10 64 2.1 Success Scenarios.........................................10 65 2.1.1 SIP Client New Registration...............................10 66 2.1.2 User updates contact list.................................13 67 2.1.3 User Requests Current Contact List........................15 68 2.1.4 User Cancels Registration.................................17 69 2.2 Failure Scenarios.........................................18 70 2.2.1 Unsuccessful SIP registration.............................18 71 3 SIP to SIP Dialing........................................20 72 3.1 Success Scenarios.........................................20 73 3.1.1 Successful Simple SIP to SIP..............................21 74 3.1.2 Successful SIP to SIP through two proxies.................24 75 3.1.3 Successful SIP to SIP with Multi Proxy Authentication.....33 76 3.1.4 Successful SIP to SIP with Proxy failure..................42 77 3.1.5 Successful SIP to SIP through SIP ALG ....................50 78 3.1.6 Successful SIP to SIP via Redirect and Proxy SDP in ACK...58 79 3.1.7 Successful SIP to SIP with re-INVITE......................64 80 3.2 Failure Scenarios.........................................75 81 3.2.1 Unsuccessful SIP to SIP no answer.........................75 82 3.2.2 Unsuccessful SIP to SIP busy..............................82 83 3.2.3 Unsuccessful SIP to SIP no response.......................86 84 3.2.4 Unsuccessful SIP to SIP Temporarily Unavailable...........91 85 4 SIP to Gateway Dialing....................................96 86 4.1 Success Scenarios.........................................96 87 4.1.1 Successful SIP to ISUP PSTN call..........................97 88 4.1.2 Successful SIP to ISDN PBX call..........................104 89 4.1.3 Successful SIP to ISUP PSTN call with overflow...........111 90 4.2 Failure Scenarios........................................119 91 4.2.1 Unsuccessful SIP to PSTN call: Treatment from PSTN.......120 92 4.2.2 Unsuccessful SIP to PSTN: REL w/Cause from PSTN..........126 93 4.2.3 Unsuccessful SIP to PSTN: ANM Timeout....................130 94 5 Gateway to SIP Dialing...................................133 95 5.1 Success Scenarios........................................133 96 5.1.1 Successful PSTN to SIP call..............................134 97 5.1.2 Successful PSTN to SIP call, Fast Answer.................140 98 5.1.3 Successful PBX to SIP call...............................145 99 5.2 Failure Scenarios........................................151 100 5.2.1 Unsuccessful PSTN to SIP REL, SIP error mapped to REL....151 101 5.2.2 Unsuccessful PSTN to SIP REL, SIP busy mapped to REL.....153 102 5.2.3 Unsuccessful PSTN->SIP, SIP error interworking to tones..157 103 5.2.4 Unsuccessful PSTN->SIP, ACM timeout......................161 104 5.2.5 Unsuccessful PSTN->SIP, ACM timeout, stateless Proxy.....166 105 5.2.6 Unsuccessful PSTN->SIP, ANM timeout......................173 106 6 Gateway to Gateway Dialing via SIP Network...............179 107 6.1 Success Scenarios........................................179 108 6.1.1 Successful ISUP PSTN to ISUP PSTN call...................180 109 6.1.2 Successful FGB PBX to ISDN PBX call with overflow........187 110 7 SIP Test Messages........................................196 111 7.1 INVITE Parser Torture Test Message.......................196 112 7.2 INVITE with Proxy-Require and Require....................197 113 7.3 INVITE with Unknown Schemes in URIs and URLs.............197 114 7.4 REGISTER with Y2038 Test.................................198 115 7.5 INVITE with inconsistent Accept and message body.........198 116 7.6 INVITE with non-SDP message body.........................199 117 7.7 Unknown Method Message...................................199 118 7.8 Unknown Method with CSeq Error...........................200 119 7.9 REGISTER with Unknown Authorization Scheme...............200 120 7.10 Multiple SIP Request in a Single Message.................201 121 7.11 INVITE missing Required Headers..........................201 122 7.12 INVITE with Duplicate Required Headers...................202 123 7.13 INVITE with Illegal Expires Header.......................202 124 7.14 200 OK Response with Broadcast Via Header................203 125 7.15 INVITE with Invalid Via and Contact Headers..............204 126 7.16 INVITE with Incorrect Content-Length Header..............204 127 7.17 INVITE with Invalid Value for Content-Length.............205 128 7.18 INVITE with Garbage after Message Body...................205 129 7.19 INVITE with Error in Display Name in To Header...........206 130 7.20 INVITE with long tokens, Call-ID, and SIP URLs...........206 131 7.21 INVITE with Illegal Enclosing of Request-URI in "<>".....207 132 7.22 INVITE with Illegal LWS within Elements of Request-URI...207 133 7.23 INVITE with Illegal >1 SP between elements Request-URI...208 134 7.24 INVITE with a Legal SIP URL With Escaped Characters......209 135 7.25 INVITE with the Illegal Escaped Headers Request-URI......209 136 7.26 INVITE with Unknown in Request-URI.......................210 137 7.27 OPTIONS with no LWS between display name and "<".........210 138 7.28 OPTIONS with Extra WS between display name and "<".......211 139 7.29 INVITE with an Illegal Date Format.......................211 140 7.30 INVITE with Passed Expires Time..........................212 141 7.31 INVITE with Max-Forwards Set to Zero.....................212 142 7.32 REGISTER with Escaped Header in a Legal Contact URL......213 143 7.33 REGISTER with Escaped Header in an Illegal Contact URL...213 144 7.34 INVITE with Long Values in Headers.......................214 145 7.35 OPTIONS with Multiple Headers............................215 146 7.36 INVITE with Large Number of SDP Attributes and Long URI..216 147 7.37 REGISTER with Contact Parameter..........................216 148 7.38 REGISTER with a URL Parameter............................217 149 7.39 INVITE with Unquoted Display Name with Tokens............217 150 7.40 INVITE with Unquoted Display Name with Non-Token Chars...218 151 7.41 INVITE with Unknown (Higher) Protocol Version Start Line.218 152 8 Acknowledgements.........................................218 153 9 References...............................................219 155 1 Overview 157 The call flows shown in this document were developed in the design of 158 a carrier-class SIP IP Telephony network. They represent an example 159 minimum set of functionality for SIP to be used in IP Telephony 160 applications. The message examples were developed during the SIP 161 interoperability testing "bake-offs." 163 It is the hope of the authors that this document will be useful for 164 SIP implementors, designers, and protocol researchers alike and will 165 help further the goal of a standard SIP implementation for IP 166 Telephony. It is envisioned that as changes to the standard and 167 additional RFCs are added that this document will reflect those 168 changes and represent the current state of a standard interoperable 169 SIP IP Telephony implementation. 171 Note that this document is informational, and is not normative on any 172 aspect of SIP or SIP/PSTN interworking. 174 These call flows are based on the current version 2.0 of SIP in 175 [RFC2543bis] with SDP usage described in [OFFER-ANSWER]. 177 Various PSTN signaling protocols are illustrated in this document: 178 ISDN (Integrated Services Digital Network), ANSI ISUP (ISDN User 179 Part) and FGB (Feature Group B) circuit associated signaling. They 180 were chosen to illustrate the nature of SIP/PSTN interworking - they 181 are not a complete or even representative set. Also, some details 182 and parameters of these PSTN protocols have been omitted. The intent 183 of this document was not to provide a complete and exact mapping of 184 PSTN protocols to SIP. Rather the emphasis is on the SIP signaling, 185 the message interaction, and the modifications to SIP currently 186 proposed to solve IP Telephony issues. 188 Finally, some example messages are given along with expected 189 behavior of clients and servers. 191 1.1 General Assumptions 193 A number of architecture, network, and protocol assumptions underlie 194 the call flows in this document. Note that these assumptions are NOT 195 requirements. They are outlined in this section so that they may be 196 taken into consideration and to aide in the understanding of the call 197 flow examples. 199 The authentication of SIP User Agents in these example call flows is 200 performed using SIP Digest[RFC2543bis]. 202 No authentication of Gateways is shown, since it is assumed that: 203 . Gateways will only accept calls routed through a trusted Proxy. 204 . Proxies will perform the Client authentication. 205 . The Proxy and the Gateway will authenticate each other using 206 IPSec[IPSEC] or some other non-SIP scheme. 208 The SIP Proxy Server has access to a Location Service and other 209 databases. Information present in the Request-URI and the context 210 (From header) is sufficient to determine to which proxy or gateway 211 the message should be routed. In most cases, a primary and secondary 212 route will be determined in case of Proxy or Gateway failure 213 downstream. 215 The Proxy Servers in these call flows insert Record-Route headers 216 into requests to ensure that they are in the signaling path for 217 future message exchanges. This allows them to implement features 218 later in the call, which are not shown in these flows. 220 Gateways receive enough information in the Request-URI field to 221 determine how to route a call, i.e. what trunk group or link to 222 select, what digits to outpulse, etc. 224 Gateways provide tones (ringing, busy, etc) and announcements to the 225 PSTN side based on SIP response messages, or pass along audio in-band 226 tones (ringing, busy tone, etc.) in an early media stream to the SIP 227 side. 229 Two types of Gateways are described in this document. The actual 230 names of Gateways will be vendor and implementation specific. 231 However, two catagories are described here since the type of Gateway 232 determines the form of the SIP URL used to identify them. The two 233 types are: 235 . Network Gateway. This high port count PSTN gateway originates 236 and terminates calls to the PSTN. Its use is shared by many 237 customers. Incoming calls from the PSTN have the From header 238 populated with a SIP URL containing the telephone number from 239 the calling party telephone number, if available. A Network 240 Gateway typically uses carrier protocols such as SS7. 242 . Enterprise Gateway. This low port count PBX (Private Branch 243 Exchange) gateway has trunks or lines for a single customer or 244 user. Incoming calls from the PBX have the From header 245 populated with a provisionable string which uniquely identifies 246 the customer, trunk group, or carrier. This allows private 247 numbers to be interpreted in their correct context. An 248 Enterprise Gateway typically uses SS7, ISDN, circuit associated 249 signaling, or other PBX interfaces. 251 The interactions between the Proxy and Gateway can be summarized as 252 follows: 254 . The SIP Proxy Server performs digit analysis and lookup and 255 locates the correct gateway. 257 . The SIP Proxy Server performs gateway location based on primary 258 and secondary routing. 260 Digit handling by the Gateways will be as follows: 262 . Dialed digits received from a Network or Enterprise Gateway will 263 be put in a SIP URL with a telephone number. The number will 264 either be globalized (e.g. sip:+1-314-555-1111@ngw.wcom.com 265 ;user=phone) or left as a private number (sip:555- 266 6666@wcom.com) Alternatively, the "phone-context" 267 qualifier could be used to interpret the private number. It is 268 defined in the telephony URL document [RFC2806]. 269 All Gateways will need to be provisioned to be able to parse the 270 user portion of a Request-URI to determine the customer, trunk 271 group, or circuit referenced. Note that the visual separator "-" 272 is used purely to aid in the readability of the examples; a real 273 gateway would be unlikely to insert visual separators. 275 . The From header will be populated with a SIP URL with a 276 telephone number if it is Calling Party number (CgPN) from the 277 PSTN. If it is an Enterprise Gateway, a provisionable string 278 which uniquely identifies the customer, trunk group, or carrier 279 will be used in the sip URI (e.g. From: 280 sip:ProvisionableString@gw1.wcom.com;user=phone). 282 . Note that an alternative to using a SIP URL for telephone 283 numbers is the tel URL[RFC2806]. The major difference between 284 using 285 the SIP URL and the tel URL is that the SIP URL is routable in a 286 SIP network (resolves down to an IP address) where the tel URL 287 is not (it just represents digits). 289 These flows show UDP for transport. TCP could also be used. 291 1.2 Legend for Message Flows 293 Dashed lines (---) represent control messages that are mandatory to 294 the call scenario. These control messages can be SIP or PSTN 295 signaling. 297 Double dashed lines (===) represent media paths between network 298 elements. 300 Messages with parenthesis around name represent optional control 301 messages. 303 Messages are identified in the Figures as F1, F2, etc. This 304 references the message details in the table that follows the Figure. 305 Comments in the message details are shown in the following form: 307 /* Comments. */ 309 1.3 SIP Protocol Assumptions 310 In any discrepency between this document and RFC 2543bis, follow RFC 311 2543bis. This document is informational only. 313 1.4 Changes to 00 draft 315 The major changes between this draft and the previous draft are 316 listed below: 318 - SIP Telephony Service Examples have been removed from the draft. 319 They will be revised using the TRANSFER header in a separate 320 draft. 322 - Updated draft with RFC2543bis changes including: adding maddr to 323 all Record-Route and Route headers, adding branch tags to Via 324 headers inserted by proxies, added 487 response to CANCEL 325 scenarios. 327 - Added example of INFO method in 5.1.1. 329 - Added Session: media to all 183 messages. 331 - Corrected a number of typos including putting user=phone tags 332 inside <>, fixing Request-URI on PRACK, added missing tags, fixed 333 Request-URIs that did not match To header in initial INVITE. 335 - Corrected all registrations to have same Call-ID. 337 1.5 Changes to 01 draft 339 The major changes between this draft and the previous draft are 340 listed below: 342 - Added an example of multiple proxy authentication (3.1.3). 344 - Removed INFO method from 5.1.1. The use of INFO to transport 345 DTMF is controversial. 347 - Fixed CSeq and Call-ID errors in Section 2. 349 - Replaced Session: media with Content-Disposition: session 351 - Added notes about CSeq numbering spaces. 353 - Fixed maddr in some Route headers. 355 - Corrected tag handling and Record-Routes in Section 4. 357 1.6 Changes to 02 draft 359 The major changes between this draft and previous are listed below: 361 - The word "Telephony" has been removed from the document title. 363 - Selected messages have been successfully validated against a SIP 364 parser for accuracy. 366 - Added word "informational" to Abstract, and added additional 367 wording about this document being informational and not normative. 369 - Added re-INVITE call flow (T.38 Fax)in 3.1.7. 371 - Removed SDP from all 183 Session Progress messages since it is not 372 needed. Corrected figures to show early media path as one way. 374 - Removed PRACK from example 4.1.2 since there is no longer any need 375 for the 183 to be transported reliably since it no longer contains 376 SDP. 378 - Corrected Call-ID in 3.1.1. 380 - Corrected domain in WWW-Authenticate and Proxy-Authenticate 381 headers to be a SIP URL. 383 - Section 7.4 SIP Date corrected to Sat, 01 Dec 2040 16:00:00 GMT 385 - Section 7.7 Retransmission strategy for unknown method message 386 should be based on BYE not INVITE 388 - Section 7.10 multiple message element of this test removed as this 389 behaviour is no longer allowed, higher SIP version number part 390 moved into 7.42 392 - Section 7.18 recommended response changed 394 - Added Test Messages 7.21 through 7.41 396 1.7 Changes to the 03 draft 398 - Replaced Authorization headers with Proxy-Authorization headers 400 - Fixed Record-Route in example 3.1.3 402 - Various CSeq and Content-Length corrections 404 1.8 Changes to the 04 draft 406 - Removed domain names from Contact headers 408 - Removed "phone-context" URI parameter. 410 - Added expires parameter to 200 OK responses to REGISTERs. 412 - Changed Proxy-Authorization headers in Section 2 to Authorization 413 headers. 415 1.9 Changes to the sipping-00 draft 417 - Changed references to RFC2543 to RFC2543bis and offer/answer. 419 - Added mandatory branch tag for all Via headers. 421 - Added From tags. 423 - Changed Record-Route and Route behavior to show bis loose routing. 425 - Proxies now keep To tag the same when proxying non-2xx responses. 427 - Added Max-Forwards header. 429 - Changes to Digest: removed domain in challenges, fixed uri in 430 responses, and changed realm to be a domain name. 432 - Renamed Firewall Proxy to Application Layer Gateway (ALG) 434 - Fixed SDP in 183 responses. 436 - Made other changes to bring SIP/ISUP interworking in line with 437 SIP/ISUP document. 439 - Added Error-Info example 441 - To Do: make bis changes to Test Messages. 443 2 SIP Registration Services 445 2.1 Success Scenarios 447 Registration either validates or invalidates a SIP client for user 448 services provided by a SIP server. Additionally, the client provides 449 one or more contact locations to the SIP server with the registration 450 request. Registration is used by a Proxy to route incoming calls in 451 an IP Telephony network. Registration are shown with authentication 452 in these call flows. If authentication is not used, an imposter 453 could "hijack" someone else's calls. 455 2.1.1 SIP Client New Registration 457 User B SIP Server 458 | | 459 | REGISTER F1 | 460 |------------------------------>| 461 | | 462 | 401 Unauthorized F2 | 463 |<------------------------------| 464 | | 465 | REGISTER F3 | 466 |------------------------------>| 467 | | 468 | 200 OK F4 | 469 |<------------------------------| 470 | | 472 User B initiates a new SIP session with the SIP Server (i.e. the user 473 "logs on to" the SIP server). User B sends a SIP REGISTER request to 474 the SIP server. The request includes the user's contact list. The 475 SIP server provides a challenge to User B. User B enters her/his 476 valid user ID and password. User B's SIP client encrypts the user 477 information according to the challenge issued by the SIP server and 478 sends the response to the SIP server. The SIP server validates the 479 user's credentials. It registers the user in its contact database 480 and returns a response (200 OK) to User B's SIP client. The response 481 includes the user's current contact list in Contact headers. The 482 format of the authentication shown is SIP digest. It is assumed that 483 User B has not previously registered with this Server. 485 Message Details 487 F1 REGISTER B -> SIP Server 489 REGISTER sip:ss2.wcom.com SIP/2.0 490 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 491 Max-Forwards: 70 492 From: LittleGuy ;tag=a73kszlfl 493 To: LittleGuy 494 Call-ID: 123456789@there.com 495 CSeq: 1 REGISTER 496 Contact: 497 Contact: 498 Contact: tel:+1-972-555-2222 499 Content-Length: 0 501 F2 401 Unauthorized SIP Server -> User B 503 SIP/2.0 401 Unauthorized 504 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 505 ;received=110.111.112.113 506 From: LittleGuy ;tag=a73kszlfl 507 To: LittleGuy 508 Call-ID: 123456789@there.com 509 CSeq: 1 REGISTER 510 WWW-Authenticate: Digest realm="wcom.com", 511 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", 512 opaque="", stale=FALSE, algorithm=MD5 513 Content-Length: 0 515 F3 REGISTER B -> SIP Server 517 REGISTER sip:ss2.wcom.com SIP/2.0 518 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 519 Max-Forwards: 70 520 From: LittleGuy ;tag=a73kszlfl 521 To: LittleGuy 522 Call-ID: 123456789@there.com 523 CSeq: 2 REGISTER 524 Contact: 525 Contact: 526 Contact: tel:+1-972-555-2222 527 Authorization:Digest username="UserB", realm="wcom.com", 528 nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", 529 uri="sip:ss2.wcom.com", response="dfe56131d1958046689cd83306477ecc" 530 Content-Length: 0 532 F4 200 OK SIP Server -> B 534 SIP/2.0 200 OK 535 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 536 ;received=110.111.112.113 537 From: LittleGuy ;tag=a73kszlfl 538 To: LittleGuy 539 Call-ID: 123456789@there.com 540 CSeq: 2 REGISTER 541 Contact: ;expires=3600 542 Contact: ;expires=3600 543 Contact: ;expires=4294967295 544 Content-Length: 0 545 2.1.2 User updates contact list 547 User B SIP Server 548 | | 549 | REGISTER F1 | 550 |------------------------------>| 551 | | 552 | 200 OK F2 | 553 |<------------------------------| 554 | | 556 User B wishes to update the list of addresses where the SIP server 557 will redirect or forward INVITE requests. 559 User B sends a SIP REGISTER request to the SIP server. User B's 560 request includes an updated contact list. Since the user already has 561 authenticated with the server, the user supplies authentication 562 credentials with the request and is not challenged by the server. 563 The SIP server validates the user's credentials. It registers the 564 user in its contact database, updates the user's contact list, and 565 returns a response (200 OK) to User B's SIP client. The response 566 includes the user's current contact list in Contact headers. 568 Message Details 570 F1 REGISTER B -> SIP Server 572 REGISTER sip:ss2.wcom.com SIP/2.0 573 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 574 Max-Forwards: 70 575 From: LittleGuy ;tag=a73kszlfl 576 To: LittleGuy 577 Call-ID: 123456789@there.com 578 CSeq: 1 REGISTER 579 Contact: mailto:UserB@there.com 580 Authorization:Digest username="UserB", realm="wcom.com", 581 nonce="1cec4341ae6cbe5a359ea9c8e88df84f", opaque="", 582 uri="sip:ss2.wcom.com", response="71ba27c64bd01de719686aa4590d5824" 583 Content-Length: 0 585 F2 200 OK SIP Server -> B 587 SIP/2.0 200 OK 588 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 589 ;received=110.111.112.113 590 From: LittleGuy ;tag=a73kszlfl 591 To: LittleGuy 592 Call-ID: 123456789@there.com 593 CSeq: 1 REGISTER 594 Contact: ;expires=3600 595 Contact: ;expires=3600 596 Contact: ;expires=4294967295 597 Contact: ;expires=4294967295 598 Content-Length: 0 600 2.1.3 User Requests Current Contact List 602 User B SIP Server 603 | | 604 | REGISTER F1 | 605 |------------------------------>| 606 | | 607 | 200 OK F2 | 608 |<------------------------------| 609 | | 611 User B sends a register request to the Proxy Server containing no 612 Contact headers, indicating the user wishes to query the server for 613 the user's current contact list. Since the user already has 614 authenticated with the server, the user supplies authentication 615 credentials with the request and is not challenged by the server. The 616 SIP server validates the user's credentials. The server returns a 617 response (200 OK) which includes the user's current registration list 618 in Contact headers. 620 Message Details 622 F1 REGISTER B -> SIP Server 624 REGISTER sip:ss2.wcom.com SIP/2.0 625 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 626 Max-Forwards: 70 627 From: LittleGuy ;tag=a73kszlfl 628 To: LittleGuy 629 Call-ID: 123456789@there.com 630 CSeq: 1 REGISTER 631 Authorization:Digest username="UserB", realm="wcom.com", 632 nonce="df84f1cec4341ae6cbe5ap359a9c8e88", opaque="", 633 uri="sip:ss2.wcom.com", response="aa7ab4678258377c6f7d4be6087e2f60" 634 Content-Length: 0 636 F2 200 OK SIP Server -> B 638 SIP/2.0 200 OK 639 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 640 ;received=110.111.112.113 641 From: LittleGuy ;tag=a73kszlfl 642 To: LittleGuy 643 Call-ID: 123456789@there.com 644 CSeq: 1 REGISTER 645 Contact: ;expires=3600 646 Contact: ;expires=3600 647 Contact: ;expires=4294967295 648 Contact: ;expires=4294967295 649 Content-Length: 0 650 2.1.4 User Cancels Registration 652 User B SIP Server 653 | | 654 | REGISTER F1 | 655 |------------------------------>| 656 | | 657 | 200 OK F2 | 658 |<------------------------------| 659 | | 661 User B wishes to cancel their registration with the SIP 662 server. User B sends a SIP REGISTER request to the 663 SIP server. The request has an expiration period of 0 and applies to 664 all existing contact locations. Since the user already has 665 authenticated with the server, the user supplies authentication 666 credentials with the request and is not challenged by the server. 667 The SIP server validates the user's credentials. It clears the 668 user's contact list, and returns a response (200 OK) to User B's SIP 669 client. 671 Message Details 673 F1 REGISTER B -> SIP Server 675 REGISTER sip:ss2.wcom.com SIP/2.0 676 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 677 Max-Forwards: 70 678 From: LittleGuy ;tag=a73kszlfl 679 To: LittleGuy 680 Call-ID: 123456789@there.com 681 CSeq: 1 REGISTER 682 Expires: 0 683 Contact: * 684 Authorization:Digest username="UserB", realm="wcom.com", 685 nonce="88df84f1cac4341aea9c8ee6cbe5a359", opaque="", 686 uri="sip:ss2.wcom.com", response="ff0437c51696f9a76244f0cf1dbabbea" 687 Content-Length: 0 689 F2 200 OK SIP Server -> B 691 SIP/2.0 200 OK 692 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 693 ;received=110.111.112.113 694 From: LittleGuy ;tag=a73kszlfl 695 To: LittleGuy 696 Call-ID: 123456789@there.com 697 CSeq: 1 REGISTER 698 Content-Length: 0 700 2.2 Failure Scenarios 702 2.2.1 Unsuccessful SIP registration 704 User B SIP Server 705 | | 706 | REGISTER F1 | 707 |------------------------------>| 708 | | 709 | 401 Unauthorized F2 | 710 |<------------------------------| 711 | | 712 | REGISTER F3 | 713 |------------------------------>| 714 | | 715 | 401 Unauthorized F4 | 716 |<------------------------------| 717 | | 719 User B sends a SIP REGISTER request to the SIP Server. The SIP 720 server provides a challenge to User B. User B enters her/his user ID 721 and password. User B's SIP client encrypts the user information 722 according to the challenge issued by the SIP server and sends the 723 response to the SIP server. The SIP server attempts to validate the 724 user's credentials, but they are not valid (the user's password does 725 not match the password established for the user's account). The 726 server returns a response (401 Unauthorized) to User B's SIP client. 728 Message Details 730 F1 REGISTER B -> SIP Server 732 REGISTER sip:ss2.wcom.com SIP/2.0 733 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 734 Max-Forwards: 70 735 From: LittleGuy ;tag=a73kszlfl 736 To: LittleGuy 737 Call-ID: 123456789@there.com 738 CSeq: 1 REGISTER 739 Contact: 740 Contact: 741 Contact: tel:+1-972-555-2222 742 Content-Length: 0 744 F2 Unauthorized SIP Server -> User B 745 SIP/2.0 401 Unauthorized 746 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 747 ;received=110.111.112.113 748 From: LittleGuy ;tag=a73kszlfl 749 To: LittleGuy 750 Call-ID: 123456789@there.com 751 CSeq: 1 REGISTER 752 WWW-Authenticate: Digest realm="wcom.com", 753 nonce="f1cec4341ae6ca9c8e88df84be55a359", 754 opaque="", stale=FALSE, algorithm=MD5 755 Content-Length: 0 757 F3 REGISTER B -> SIP Server 759 REGISTER sip:ss2.wcom.com SIP/2.0 760 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 761 Max-Forwards: 70 762 From: LittleGuy ;tag=a73kszlfl 763 To: LittleGuy 764 Call-ID: 123456789@there.com 765 CSeq: 2 REGISTER 766 Contact: 767 Contact: 768 Contact: tel:+1-972-555-2222 769 Authorization:Digest username="UserB", realm="wcom.com", 770 nonce="f1cec4341ae6ca9c8e88df84be55a359", opaque="", 771 uri="sip:ss2.wcom.com", response="61f8470ceb87d7ebf508220214ed438b" 772 Content-Length: 0 774 /* The response above encodes the incorrect password */ 776 F4 401 Unauthorized SIP Server -> User B 778 SIP/2.0 401 Unauthorized 779 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 780 ;received=110.111.112.113 781 From: LittleGuy ;tag=a73kszlfl 782 To: LittleGuy 783 Call-ID: 123456789@there.com 784 CSeq: 2 REGISTER 785 WWW-Authenticate: Digest realm="wcom.com", 786 nonce="84f1c1ae6cbe5ua9c8e88dfa3ecm3459", 787 opaque="", stale=FALSE, algorithm=MD5 788 Content-Length: 0 790 3 SIP to SIP Dialing 792 3.1 Success Scenarios 794 This section details calls between two SIP User Agents (UAs): 795 User A and User B. User A (LittleGuy sip:UserA@here.com) and User 796 B (BigGuy sip:UserB@there.com) are assumed to be SIP phones or SIP- 797 enabled devices. The successful calls show the initial signaling, 798 the exchange of media information in the form of SDP payloads, the 799 establishment of the media session, then finally the termination of 800 the call. 802 SIP digest authentication is used by Proxy Servers to 803 authenticate the caller User A. It is assumed that User B has 804 registered with Proxy Server Proxy 2 as per Section 2.1 to be able to 805 receive the calls via the Proxy. 807 3.1.1 Successful Simple SIP to SIP 809 User A User B 810 | | 811 | INVITE F1 | 812 |----------------------->| 813 | 180 Ringing F2 | 814 |<-----------------------| 815 | | 816 | 200 OK F3 | 817 |<-----------------------| 818 | ACK F4 | 819 |----------------------->| 820 | Both Way RTP Media | 821 |<======================>| 822 | | 823 | BYE F5 | 824 |<-----------------------| 825 | 200 OK F6 | 826 |----------------------->| 827 | | 829 In this scenario, User A completes a call to User B directly. 831 Message Details 833 F1 INVITE User A -> User B 835 INVITE sip:UserB@there.com SIP/2.0 836 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 837 Max-Forwards: 70 838 From: BigGuy ;tag=9fxced76sl 839 To: LittleGuy 840 Call-ID: 12345601@here.com 841 CSeq: 1 INVITE 842 Contact: 843 Content-Type: application/sdp 844 Content-Length: 147 846 v=0 847 o=UserA 2890844526 2890844526 IN IP4 here.com 848 s=Session SDP 849 c=IN IP4 100.101.102.103 850 t=0 0 851 m=audio 49172 RTP/AVP 0 852 a=rtpmap:0 PCMU/8000 854 F2 180 Ringing User B -> User A 855 SIP/2.0 180 Ringing 856 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 857 ;received=100.101.102.103 858 From: BigGuy ;tag=9fxced76sl 859 To: LittleGuy ;tag=8321234356 860 Call-ID: 12345601@here.com 861 CSeq: 1 INVITE 862 Content-Length: 0 864 F3 200 OK User B -> User A 866 SIP/2.0 200 OK 867 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 868 ;received=100.101.102.103 869 From: BigGuy ;tag=9fxced76sl 870 To: LittleGuy ;tag=8321234356 871 Call-ID: 12345601@here.com 872 CSeq: 1 INVITE 873 Contact: 874 Content-Type: application/sdp 875 Content-Length: 147 877 v=0 878 o=UserB 2890844527 2890844527 IN IP4 there.com 879 s=Session SDP 880 c=IN IP4 110.111.112.113 881 t=0 0 882 m=audio 3456 RTP/AVP 0 883 a=rtpmap:0 PCMU/8000 885 F4 ACK User A -> User B 887 ACK sip:UserB@there.com SIP/2.0 888 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 889 Max-Forwards: 70 890 From: BigGuy ;tag=9fxced76sl 891 To: LittleGuy ;tag=8321234356 892 Call-ID: 12345601@here.com 893 CSeq: 1 ACK 894 Content-Length: 0 896 /* RTP streams are established between A and B */ 898 /* User B Hangs Up with User A. Note that the CSeq is NOT 2, since 899 User A and User B maintain their own independent CSeq counts. 900 (The INVITE was request 1 generated by User A, and the BYE is 901 request 1 generated by User B) */ 903 F5 BYE User B -> User A 904 BYE sip:UserA@100.101.102.103 SIP/2.0 905 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 906 Max-Forwards: 70 907 From: LittleGuy ;tag=8321234356 908 To: BigGuy ;tag=9fxced76sl 909 Call-ID: 12345601@here.com 910 CSeq: 1 BYE 911 Content-Length: 0 913 F6 200 OK User A -> User B 915 SIP/2.0 200 OK 916 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 917 ;received=110.111.112.113 918 From: LittleGuy ;tag=8321234356 919 To: BigGuy ;tag=9fxced76sl 920 Call-ID: 12345601@here.com 921 CSeq: 1 BYE 922 Content-Length: 0 924 3.1.2 Successful SIP to SIP through two proxies 926 User A Proxy 1 Proxy 2 User B 927 | | | | 928 | INVITE F1 | | | 929 |--------------->| | | 930 | 407 F2 | | | 931 |<---------------| | | 932 | ACK F3 | | | 933 |--------------->| | | 934 | INVITE F4 | | | 935 |--------------->| INVITE F5 | | 936 | (100) F6 |--------------->| INVITE F7 | 937 |<---------------| (100) F8 |--------------->| 938 | |<---------------| | 939 | | | 180 F9 | 940 | | 180 F10 |<---------------| 941 | 180 F11 |<---------------| | 942 |<---------------| | 200 F12 | 943 | | 200 F13 |<---------------| 944 | 200 F14 |<---------------| | 945 |<---------------| | | 946 | ACK F15 | | | 947 |--------------->| ACK F16 | | 948 | |--------------->| ACK F17 | 949 | | |--------------->| 950 | Both Way RTP Media | 951 |<================================================>| 952 | | | BYE F18 | 953 | | BYE F19 |<---------------| 954 | BYE F20 |<---------------| | 955 |<---------------| | | 956 | 200 F21 | | | 957 |--------------->| 200 F22 | | 958 | |--------------->| 200 F23 | 959 | | |--------------->| 960 | | | | 962 In this scenario, User A completes a call to User B using two proxies 963 Proxy 1 and Proxy 2. The initial INVITE (F1) does not contain the 964 Authorization credentials Proxy 1 requires, so a 407 Proxy 965 Authorization response is sent containing the challenge information. 966 A new INVITE (F4) is then sent containing the correct credentials and 967 the call proceeds. The call terminates when User B disconnects by 968 initiating a BYE message. 970 Proxy 1 inserts a Record-Route header into the INVITE message to 971 ensure that it is present in all subsequent message exchanges. Proxy 972 2 also inserts itself into the Record-Route header. The ACK (F15) 973 and BYE (F18) both have a Route header. 975 A tag is inserted by User B in message F9 since the initial INVITE 976 message contains more than one Via header and may have been forked. 978 Message Details 980 F1 INVITE A -> Proxy 1 982 INVITE sip:UserB@there.com SIP/2.0 983 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 984 Max-Forwards: 70 985 From: BigGuy ;tag=9fxced76sl 986 To: LittleGuy 987 Call-ID: 12345601@here.com 988 CSeq: 1 INVITE 989 Contact: 990 Content-Type: application/sdp 991 Content-Length: 147 993 v=0 994 o=UserA 2890844526 2890844526 IN IP4 here.com 995 s=Session SDP 996 c=IN IP4 100.101.102.103 997 t=0 0 998 m=audio 49172 RTP/AVP 0 999 a=rtpmap:0 PCMU/8000 1001 /* Proxy 1 challenges User A for authentication */ 1003 F2 407 Proxy Authorization Required Proxy 1 -> User A 1005 SIP/2.0 407 Proxy Authorization Required 1006 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1007 ;received=100.101.102.103 1008 From: BigGuy ;tag=9fxced76sl 1009 To: LittleGuy ;tag=3flal12sf 1010 Call-ID: 12345601@here.com 1011 CSeq: 1 INVITE 1012 Proxy-Authenticate: Digest realm="wcom.com", 1013 nonce="f84f1cec41e6cbe5aea9c8e88d359", 1014 opaque="", stale=FALSE, algorithm=MD5 1015 Content-Length: 0 1017 F3 ACK A -> Proxy 1 1019 ACK sip:UserB@there.com SIP/2.0 1020 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1021 Max-Forwards: 70 1022 From: BigGuy ;tag=9fxced76sl 1023 To: LittleGuy ;tag=3flal12sf 1024 Call-ID: 12345601@here.com 1025 CSeq: 1 ACK 1026 Content-Length: 0 1028 /* User A responds be re-sending the INVITE with authentication 1029 credentials in it. */ 1031 F4 INVITE A -> Proxy 1 1033 INVITE sip:UserB@there.com SIP/2.0 1034 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1035 Max-Forwards: 70 1036 From: BigGuy ;tag=9fxced76sl 1037 To: LittleGuy 1038 Call-ID: 12345601@here.com 1039 CSeq: 2 INVITE 1040 Contact: 1041 Proxy-Authorization:Digest username="UserA", realm="wcom.com", 1042 nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", 1043 uri="sip:UserB@there.com", response="42ce3cef44b22f50c6a6071bc8" 1044 Content-Type: application/sdp 1045 Content-Length: 147 1047 v=0 1048 o=UserA 2890844526 2890844526 IN IP4 here.com 1049 s=Session SDP 1050 c=IN IP4 100.101.102.103 1051 t=0 0 1052 m=audio 49172 RTP/AVP 0 1053 a=rtpmap:0 PCMU/8000 1055 /* Proxy 1 accepts the credentials and forwards the INVITE to Proxy 1056 2. Proxy 1 is assumed to have been authenticated by Proxy 2 using 1057 IPSec. Client for A prepares to receive data on port 49172 from the 1058 network. */ 1060 F5 INVITE Proxy 1 -> Proxy 2 1062 INVITE sip:UserB@there.com SIP/2.0 1063 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 1064 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1065 ;received=100.101.102.103 1066 Max-Forwards: 69 1067 Record-Route: 1068 From: BigGuy ;tag=9fxced76sl 1069 To: LittleGuy 1070 Call-ID: 12345601@here.com 1071 CSeq: 2 INVITE 1072 Contact: 1073 Content-Type: application/sdp 1074 Content-Length: 147 1076 v=0 1077 o=UserA 2890844526 2890844526 IN IP4 here.com 1078 s=Session SDP 1079 c=IN IP4 100.101.102.103 1080 t=0 0 1081 m=audio 49172 RTP/AVP 0 1082 a=rtpmap:0 PCMU/8000 1084 F6 (100 Trying) Proxy 1 -> User A 1086 SIP/2.0 100 Trying 1087 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1088 ;received=100.101.102.103 1089 From: BigGuy ;tag=9fxced76sl 1090 To: LittleGuy 1091 Call-ID: 12345601@here.com 1092 CSeq: 2 INVITE 1093 Content-Length: 0 1095 F7 INVITE Proxy 2 -> B 1097 INVITE sip:UserB@110.111.112.113 SIP/2.0 1098 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 1099 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 1100 ;received=1.2.3.4 1101 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1102 ;received=100.101.102.103 1103 Max-Forwards: 68 1104 Record-Route: , 1105 From: BigGuy ;tag=9fxced76sl 1106 To: LittleGuy 1107 Call-ID: 12345601@here.com 1108 CSeq: 2 INVITE 1109 Contact: 1110 Content-Type: application/sdp 1111 Content-Length: 147 1113 v=0 1114 o=UserA 2890844526 2890844526 IN IP4 here.com 1115 s=Session SDP 1116 c=IN IP4 100.101.102.103 1117 t=0 0 1118 m=audio 49172 RTP/AVP 0 1119 a=rtpmap:0 PCMU/8000 1121 F8 (100 Trying) Proxy 2 -> Proxy 1 1122 SIP/2.0 100 Trying 1123 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 1124 ;received=1.2.3.4 1125 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1126 ;received=100.101.102.103 1127 From: BigGuy ;tag=9fxced76sl 1128 To: LittleGuy 1129 Call-ID: 12345601@here.com 1130 CSeq: 2 INVITE 1131 Content-Length: 0 1133 F9 180 Ringing B -> Proxy 2 1135 SIP/2.0 180 Ringing 1136 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 1137 ;received=2.3.4.5 1138 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 1139 ;received=1.2.3.4 1140 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1141 ;received=100.101.102.103 1142 Record-Route: , 1143 From: BigGuy ;tag=9fxced76sl 1144 To: LittleGuy ;tag=314159 1145 Call-ID: 12345601@here.com 1146 Contact: 1147 CSeq: 2 INVITE 1148 Content-Length: 0 1150 F10 180 Ringing Proxy 2 -> Proxy 1 1152 SIP/2.0 180 Ringing 1153 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 1154 ;received=1.2.3.4 1155 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1156 ;received=100.101.102.103 1157 Record-Route: , 1158 From: BigGuy ;tag=9fxced76sl 1159 To: LittleGuy ;tag=314159 1160 Call-ID: 12345601@here.com 1161 Contact: 1162 CSeq: 2 INVITE 1163 Content-Length: 0 1165 F11 180 Ringing Proxy 1 -> A 1167 SIP/2.0 180 Ringing 1168 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1169 ;received=100.101.102.103 1170 Record-Route: , 1171 From: BigGuy ;tag=9fxced76sl 1172 To: LittleGuy ;tag=314159 1173 Call-ID: 12345601@here.com 1174 Contact: 1175 CSeq: 2 INVITE 1176 Content-Length: 0 1178 F12 200 OK B -> Proxy 2 1180 SIP/2.0 200 OK 1181 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 1182 ;received=2.3.4.5 1183 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 1184 ;received=1.2.3.4 1185 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1186 ;received=100.101.102.103 1187 Record-Route: , 1188 From: BigGuy ;tag=9fxced76sl 1189 To: LittleGuy ;tag=314159 1190 Call-ID: 12345601@here.com 1191 CSeq: 2 INVITE 1192 Contact: 1193 Content-Type: application/sdp 1194 Content-Length: 147 1196 v=0 1197 o=UserB 2890844527 2890844527 IN IP4 there.com 1198 s=Session SDP 1199 c=IN IP4 110.111.112.113 1200 t=0 0 1201 m=audio 3456 RTP/AVP 0 1202 a=rtpmap:0 PCMU/8000 1204 F13 200 OK Proxy 2 -> Proxy 1 1206 SIP/2.0 200 OK 1207 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 1208 ;received=1.2.3.4 1209 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1210 ;received=100.101.102.103 1211 Record-Route: , 1212 From: BigGuy ;tag=9fxced76sl 1213 To: LittleGuy ;tag=314159 1214 Call-ID: 12345601@here.com 1215 CSeq: 2 INVITE 1216 Contact: 1217 Content-Type: application/sdp 1218 Content-Length: 147 1220 v=0 1221 o=UserB 2890844527 2890844527 IN IP4 there.com 1222 s=Session SDP 1223 c=IN IP4 110.111.112.113 1224 t=0 0 1225 m=audio 3456 RTP/AVP 0 1226 a=rtpmap:0 PCMU/8000 1228 F14 200 OK Proxy 1 -> A 1230 SIP/2.0 200 OK 1231 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1232 ;received=100.101.102.103 1233 Record-Route: , 1234 From: BigGuy ;tag=9fxced76sl 1235 To: LittleGuy ;tag=314159 1236 Call-ID: 12345601@here.com 1237 CSeq: 2 INVITE 1238 Contact: 1239 Content-Type: application/sdp 1240 Content-Length: 147 1242 v=0 1243 o=UserB 2890844527 2890844527 IN IP4 there.com 1244 s=Session SDP 1245 c=IN IP4 110.111.112.113 1246 t=0 0 1247 m=audio 3456 RTP/AVP 0 1248 a=rtpmap:0 PCMU/8000 1250 F15 ACK A -> Proxy 1 1252 ACK sip:UserB@110.111.112.113 SIP/2.0 1253 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1254 Max-Forwards: 70 1255 Route: , 1256 From: BigGuy ;tag=9fxced76sl 1257 To: LittleGuy ;tag=314159 1258 Call-ID: 12345601@here.com 1259 CSeq: 2 ACK 1260 Content-Length: 0 1262 F16 ACK Proxy 1 -> Proxy 2 1264 ACK sip:UserB@110.111.112.113 SIP/2.0 1265 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 1266 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1267 ;received=100.101.102.103 1268 Max-Forwards: 69 1269 Route: 1270 From: BigGuy ;tag=9fxced76sl 1271 To: LittleGuy ;tag=314159 1272 Call-ID: 12345601@here.com 1273 CSeq: 2 ACK 1274 Content-Length: 0 1276 F17 ACK Proxy 2 -> B 1278 ACK sip:UserB@110.111.112.113 SIP/2.0 1279 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 1280 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 1281 ;received=1.2.3.4 1282 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1283 ;received=100.101.102.103 1284 Max-Forwards: 68 1285 From: BigGuy ;tag=9fxced76sl 1286 To: LittleGuy ;tag=314159 1287 Call-ID: 12345601@here.com 1288 CSeq: 2 ACK 1289 Content-Length: 0 1291 /* RTP streams are established between A and B */ 1293 /* User B Hangs Up with User A. */ 1295 /* Again, note that the CSeq is NOT 2. User A and User B maintain 1296 their own separate CSeq counts */ 1298 F18 BYE User B -> Proxy 2 1300 BYE sip:UserA@100.101.102.103 SIP/2.0 1301 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1302 Max-Forwards: 70 1303 Route: , 1304 From: LittleGuy ;tag=314159 1305 To: BigGuy ;tag=9fxced76sl 1306 Call-ID: 12345601@here.com 1307 CSeq: 1 BYE 1308 Content-Length: 0 1310 F19 BYE Proxy 2 -> Proxy 1 1312 BYE sip:UserA@100.101.102.103 SIP/2.0 1313 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 1314 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1315 ;received=110.111.112.113 1316 Max-Forwards: 69 1317 Route: 1318 From: LittleGuy ;tag=314159 1319 To: BigGuy ;tag=9fxced76sl 1320 Call-ID: 12345601@here.com 1321 CSeq: 1 BYE 1322 Content-Length: 0 1324 F20 BYE Proxy 1 -> User A 1326 BYE sip:UserA@100.101.102.103 SIP/2.0 1327 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 1328 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 1329 ;received=2.3.4.5 1330 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1331 ;received=110.111.112.113 1332 Max-Forwards: 68 1333 From: LittleGuy ;tag=314159 1334 To: BigGuy ;tag=9fxced76sl 1335 Call-ID: 12345601@here.com 1336 CSeq: 1 BYE 1337 Content-Length: 0 1339 F21 200 OK User A -> Proxy 1 1341 SIP/2.0 200 OK 1342 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 1343 ;received=1.2.3.4 1344 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 1345 ;received=2.3.4.5 1346 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1347 ;received=110.111.112.113 1348 From: LittleGuy ;tag=314159 1349 To: BigGuy ;tag=9fxced76sl 1350 Call-ID: 12345601@here.com 1351 CSeq: 1 BYE 1352 Content-Length: 0 1354 F22 200 OK Proxy 1 -> Proxy 2 1356 SIP/2.0 200 OK 1357 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 1358 ;received=2.3.4.5 1359 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1360 ;received=100.101.102.103 1361 From: LittleGuy ;tag=314159 1362 To: BigGuy ;tag=9fxced76sl 1363 Call-ID: 12345601@here.com 1364 CSeq: 1 BYE 1365 Content-Length: 0 1366 F23 200 OK Proxy 2 -> User B 1368 SIP/2.0 200 OK 1369 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 1370 ;received=110.111.112.113 1371 From: LittleGuy ;tag=314159 1372 To: BigGuy ;tag=9fxced76sl 1373 Call-ID: 12345601@here.com 1374 CSeq: 1 BYE 1375 Content-Length: 0 1377 3.1.3 SIP to SIP with Multi Proxy Authentication 1379 User A Proxy 1 Proxy 2 User B 1380 | INVITE F1 | | | 1381 |----------->| | | 1382 | 407 Proxy Authorization Required F2 | 1383 |<-----------| | | 1384 | ACK F3 | | | 1385 |----------->| | | 1386 | INVITE F4 | | | 1387 |----------->| | | 1388 | (100 F5) | | | 1389 |<-----------| INVITE F6 | | 1390 | |---------->| | 1391 | | 407 Proxy Authorization Required F7 1392 | |<----------| | 1393 | | ACK F8 | | 1394 | |---------->| | 1395 | 407 Proxy Authorization Required F9 | 1396 |<-----------| | | 1397 | ACK F10 | | | 1398 |----------->| | | 1399 | INVITE F11| | | 1400 |----------->| | | 1401 | (100 F12) | | | 1402 |<-----------| INVITE F13| | 1403 | |---------->| | 1404 | | (100 F14) | | 1405 | |<----------| INVITE F15 | 1406 | | |------------>| 1407 | | | 200 OK F16 | 1408 | | 200 OK F17|<------------| 1409 | 200 OK F18 |<----------| | 1410 |<-----------| | | 1411 | ACK F19 | | | 1412 |----------->| ACK F20 | | 1413 | |---------->| ACK F21 | 1414 | | |------------>| 1415 | RTP Media Path | 1416 |<====================================>| 1418 In this scenario, User A completes a call to User B using two proxies 1419 Proxy 1 and Proxy 2. The initial INVITE (F1) does not contain the 1420 Authorization credentials Proxy 1 requires, so a 407 Proxy 1421 Authorization response is sent containing the challenge information. 1422 A new INVITE (F4) is then sent containing the correct credentials and 1423 the call proceeds after Proxy 2 challenges and receives valid 1424 credentials. The call terminates when User B disconnects by 1425 initiating a BYE message. 1427 Proxy 1 inserts a Record-Route header into the INVITE message to 1428 ensure that it is present in all subsequent message exchanges. Proxy 1429 2 also inserts itself into the Record-Route header. 1431 Message Details 1433 F1 INVITE A -> Proxy 1 1435 INVITE sip:UserB@there.com SIP/2.0 1436 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1437 Max-Forwards: 70 1438 From: BigGuy ;tag=9fxced76sl 1439 To: LittleGuy 1440 Call-ID: 12345600@here.com 1441 CSeq: 1 INVITE 1442 Contact: 1443 Content-Type: application/sdp 1444 Content-Length: 147 1446 v=0 1447 o=UserA 2890844526 2890844526 IN IP4 here.com 1448 s=Session SDP 1449 c=IN IP4 100.101.102.103 1450 t=0 0 1451 m=audio 49172 RTP/AVP 0 1452 a=rtpmap:0 PCMU/8000 1454 /* Proxy 1 challenges User A for authentication */ 1456 F2 407 Proxy Authorization Required Proxy 1 -> User A 1458 SIP/2.0 407 Proxy Authorization Required 1459 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1460 ;received=100.101.102.103 1461 From: BigGuy ;tag=9fxced76sl 1462 To: LittleGuy ;tag=876321 1463 Call-ID: 12345600@here.com 1464 CSeq: 1 INVITE 1465 Proxy-Authenticate: Digest realm="wcom.com", 1466 nonce="wf84f1cczx41ae6cbeaea9ce88d359", 1467 opaque="", stale=FALSE, algorithm=MD5 1468 Content-Length: 0 1470 F3 ACK A -> Proxy 1 1472 ACK sip:UserB@there.com SIP/2.0 1473 Max-Forwards: 70 1474 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1475 From: BigGuy ;tag=9fxced76sl 1476 To: LittleGuy ;tag=876321 1477 Call-ID: 12345600@here.com 1478 CSeq: 1 ACK 1479 Content-Length: 0 1481 /* User A responds be re-sending the INVITE with authentication 1482 credentials in it. The same Call-ID is used, so the CSeq is 1483 increased. */ 1485 F4 INVITE A -> Proxy 1 1487 INVITE sip:UserB@there.com SIP/2.0 1488 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1489 Max-Forwards: 70 1490 From: BigGuy ;tag=9fxced76sl 1491 To: LittleGuy 1492 Call-ID: 12345600@here.com 1493 CSeq: 2 INVITE 1494 Contact: 1495 Proxy-Authorization:Digest username="UserA", realm="wcom.com", 1496 nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", 1497 uri="sip:UserB@there.com", response="42ce3cef44b22f50c6a6071bc8" 1498 Content-Type: application/sdp 1499 Content-Length: 147 1501 v=0 1502 o=UserA 2890844526 2890844526 IN IP4 here.com 1503 s=Session SDP 1504 c=IN IP4 100.101.102.103 1505 t=0 0 1506 m=audio 49172 RTP/AVP 0 1507 a=rtpmap:0 PCMU/8000 1509 /* Proxy 1 accepts the credentials and forwards the INVITE to Proxy 1510 2. Proxy 1 is assumed to have been authenticated by Proxy 2 using 1511 IPSec. Client for A prepares to receive data on port 49172 from the 1512 network. */ 1514 F5 (100 Trying Proxy 1 -> User A) 1516 SIP/2.0 100 Trying 1517 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1518 ;received=100.101.102.103 1519 From: BigGuy ;tag=9fxced76sl 1520 To: LittleGuy 1521 Call-ID: 12345600@here.com 1522 CSeq: 2 INVITE 1523 Content-Length: 0 1524 F6 INVITE Proxy 1 -> Proxy 2 1526 INVITE sip:UserB@there.com SIP/2.0 1527 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 1528 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1529 Max-Forwards: 69 1530 Record-Route: 1531 From: BigGuy ;tag=9fxced76sl 1532 To: LittleGuy 1533 Call-ID: 12345600@here.com 1534 CSeq: 2 INVITE 1535 Contact: 1536 Content-Type: application/sdp 1537 Content-Length: 147 1539 v=0 1540 o=UserA 2890844526 2890844526 IN IP4 here.com 1541 s=Session SDP 1542 c=IN IP4 100.101.102.103 1543 t=0 0 1544 m=audio 49172 RTP/AVP 0 1545 a=rtpmap:0 PCMU/8000 1547 /* Proxy 2 challenges User A for authentication */ 1549 F7 407 Proxy Authorization Required Proxy 2 -> Proxy 1 1551 SIP/2.0 407 Proxy Authorization Required 1552 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 1553 ;received=1.2.3.4 1554 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1555 ;received=100.101.102.103 1556 From: BigGuy ;tag=9fxced76sl 1557 To: LittleGuy ;tag=838209 1558 Call-ID: 12345600@here.com 1559 CSeq: 2 INVITE 1560 Proxy-Authenticate: Digest realm="mci.com", 1561 nonce="c1e22c41ae6cbe5ae983a9c8e88d359", 1562 opaque="", stale=FALSE, algorithm=MD5 1563 Content-Length: 0 1565 F8 ACK Proxy 1 -> Proxy 2 1567 ACK sip:UserB@there.com SIP/2.0 1568 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1569 Max-Forwards: 70 1570 From: BigGuy ;tag=9fxced76sl 1571 To: LittleGuy ;tag=838209 1572 Call-ID: 12345600@here.com 1573 CSeq: 2 INVITE 1574 Content-Length: 0 1576 /* Proxy 1 forwards the challenge to User A for authentication from 1577 Proxy 2 */ 1579 F9 407 Proxy Authorization Required Proxy 1 -> User A 1581 SIP/2.0 407 Proxy Authorization Required 1582 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1583 ;received=100.101.102.103 1584 From: BigGuy ;tag=9fxced76sl 1585 To: LittleGuy ;tag=838209 1586 Call-ID: 12345600@here.com 1587 CSeq: 2 INVITE 1588 Proxy-Authenticate: Digest realm="mci.com", 1589 nonce="c1e22c41ae6cbe5ae983a9c8e88d359", 1590 opaque="", stale=FALSE, algorithm=MD5 1591 Content-Length: 0 1593 F10 ACK User A -> Proxy 1 1595 ACK sip:UserB@there.com SIP/2.0 1596 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1597 Max-Forwards: 70 1598 From: BigGuy ;tag=9fxced76sl 1599 To: LittleGuy ;tag=838209 1600 Call-ID: 12345600@here.com 1601 CSeq: 2 INVITE 1602 Content-Length: 0 1604 /* User A responds be re-sending the INVITE with authentication 1605 credentials for Proxy 1 AND Proxy 2. */ 1607 F11 INVITE A -> Proxy 1 1609 INVITE sip:UserB@there.com SIP/2.0 1610 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1611 Max-Forwards: 70 1612 From: BigGuy ;tag=9fxced76sl 1613 To: LittleGuy 1614 Call-ID: 12345600@here.com 1615 CSeq: 3 INVITE 1616 Contact: 1617 Proxy-Authorization:Digest username="UserA", realm="wcom.com", 1618 nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", 1619 uri="sip:UserB@there.com", response="42ce3cef44b22f50c6a6071bc8" 1620 Proxy-Authorization:Digest username="UserA", realm="mci.com", 1621 nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", 1622 uri="sip:UserB@there.com", response="f44ab22f150c6a56071bce8" 1623 Content-Type: application/sdp 1624 Content-Length: 147 1626 v=0 1627 o=UserA 2890844526 2890844526 IN IP4 here.com 1628 s=Session SDP 1629 c=IN IP4 100.101.102.103 1630 t=0 0 1631 m=audio 49172 RTP/AVP 0 1632 a=rtpmap:0 PCMU/8000 1634 /* Proxy 1 finds its credentials and authorizes User A, forwarding 1635 the INVITE to Proxy. */ 1637 F12 (100 Trying Proxy 1 -> User A) 1639 SIP/2.0 100 Trying 1640 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1641 ;received=100.101.102.103 1642 From: BigGuy ;tag=9fxced76sl 1643 To: LittleGuy 1644 Call-ID: 12345600@here.com 1645 CSeq: 3 INVITE 1646 Content-Length: 0 1648 F13 INVITE Proxy 1 -> Proxy 2 1650 INVITE sip:UserB@there.com SIP/2.0 1651 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 1652 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1653 ;received=100.101.102.103 1654 Max-Forwards: 69 1655 Record-Route: 1656 From: BigGuy ;tag=9fxced76sl 1657 To: LittleGuy 1658 Call-ID: 12345600@here.com 1659 CSeq: 3 INVITE 1660 Contact: 1661 Proxy-Authorization:Digest username="UserA", realm="mci.com", 1662 nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", 1663 uri="sip:UserB@there.com", response="f44ab22f150c6a56071bce8" 1664 Content-Type: application/sdp 1665 Content-Length: 147 1667 v=0 1668 o=UserA 2890844526 2890844526 IN IP4 here.com 1669 s=Session SDP 1670 c=IN IP4 100.101.102.103 1671 t=0 0 1672 m=audio 49172 RTP/AVP 0 1673 a=rtpmap:0 PCMU/8000 1675 /* Proxy 2 finds its credentials and authorizes User A, forwarding 1676 the INVITE to User B. */ 1678 F14 (100 Trying Proxy 2 -> Proxy 1) 1680 SIP/2.0 100 Trying 1681 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 1682 ;received=1.2.3.4 1683 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1684 ;received=100.101.102.103 1685 From: BigGuy ;tag=9fxced76sl 1686 To: LittleGuy 1687 Call-ID: 12345600@here.com 1688 CSeq: 3 INVITE 1689 Content-Length: 0 1691 F15 INVITE Proxy 2 -> User B 1693 INVITE sip:UserB@110.111.112.113 SIP/2.0 1694 Via: SIP/2.0/UDP ss2.mci.com:5060;branch=z9hG4bK31972.1 1695 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 1696 ;received=1.2.3.4 1697 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1698 ;received=100.101.102.103 1699 Max-Forwards: 68 1700 Record-Route: , 1701 From: BigGuy ;tag=9fxced76sl 1702 To: LittleGuy 1703 Call-ID: 12345600@here.com 1704 CSeq: 3 INVITE 1705 Contact: 1706 Content-Type: application/sdp 1707 Content-Length: 147 1709 v=0 1710 o=UserA 2890844526 2890844526 IN IP4 here.com 1711 s=Session SDP 1712 c=IN IP4 100.101.102.103 1713 t=0 0 1714 m=audio 49172 RTP/AVP 0 1715 a=rtpmap:0 PCMU/8000 1717 /* User B answers the call immediately */ 1719 F16 200 OK User B -> Proxy 2 1720 SIP/2.0 200 OK 1721 Via: SIP/2.0/UDP ss2.mci.com:5060;branch=z9hG4bK31972.1 1722 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 1723 ;received=1.2.3.4 1724 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1725 ;received=100.101.102.103 1726 Record-Route: , 1727 From: BigGuy ;tag=9fxced76sl 1728 To: LittleGuy ;tag=9103874 1729 Call-ID: 12345600@here.com 1730 CSeq: 3 INVITE 1731 Contact: 1732 Content-Type: application/sdp 1733 Content-Length: 149 1735 v=0 1736 o=UserB 2890844527 2890844527 IN IP4 there.com 1737 s=Session SDP 1738 c=IN IP4 110.111.112.113 1739 t=0 0 1740 m=audio 3456 RTP/AVP 0 1741 a=rtpmap:0 PCMU/8000 1743 F17 200 OK Proxy 2 -> Proxy 1 1745 SIP/2.0 200 OK 1746 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 1747 ;received=1.2.3.4 1748 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1749 ;received=100.101.102.103 1750 Record-Route: , 1751 From: BigGuy ;tag=9fxced76sl 1752 To: LittleGuy ;tag=9103874 1753 Call-ID: 12345600@here.com 1754 CSeq: 3 INVITE 1755 Contact: 1756 Content-Type: application/sdp 1757 Content-Length: 149 1759 v=0 1760 o=UserB 2890844527 2890844527 IN IP4 there.com 1761 s=Session SDP 1762 c=IN IP4 110.111.112.113 1763 t=0 0 1764 m=audio 3456 RTP/AVP 0 1765 a=rtpmap:0 PCMU/8000 1767 F18 200 OK Proxy 1 -> User A 1768 SIP/2.0 200 OK 1769 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1770 ;received=100.101.102.103 1771 Record-Route: , 1772 From: BigGuy ;tag=9fxced76sl 1773 To: LittleGuy ;tag=9103874 1774 Call-ID: 12345600@here.com 1775 CSeq: 3 INVITE 1776 Contact: 1777 Content-Type: application/sdp 1778 Content-Length: 149 1780 v=0 1781 o=UserB 2890844527 2890844527 IN IP4 there.com 1782 s=Session SDP 1783 c=IN IP4 110.111.112.113 1784 t=0 0 1785 m=audio 3456 RTP/AVP 0 1786 a=rtpmap:0 PCMU/8000 1788 F19 ACK User A -> Proxy 1 1790 ACK sip:UserB@110.111.112.113 SIP/2.0 1791 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1792 Max-Forwards: 70 1793 Route: , 1794 From: BigGuy ;tag=9fxced76sl 1795 To: LittleGuy ;tag=9103874 1796 Call-ID: 12345600@here.com 1797 CSeq: 3 ACK 1798 Content-Length: 0 1800 F20 ACK Proxy 1 -> Proxy 2 1802 ACK sip:UserB@110.111.112.113 SIP/2.0 1803 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 1804 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1805 ;received=100.101.102.103 1806 Max-Forwards: 69 1807 Route: 1808 From: BigGuy ;tag=9fxced76sl 1809 To: LittleGuy ;tag=9103874 1810 Call-ID: 12345600@here.com 1811 CSeq: 3 ACK 1812 Contact: 1813 Content-Length: 0 1815 F21 ACK Proxy 2 -> User A 1816 ACK sip:UserB@110.111.112.113 SIP/2.0 1817 Via: SIP/2.0/UDP ss2.mci.com:5060;branch=z9hG4bK31972.1 1818 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 1819 ;received=1.2.3.4 1820 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1821 ;received=100.101.102.103 1822 Max-Forwards: 68 1823 From: BigGuy ;tag=9fxced76sl 1824 To: LittleGuy ;tag=9103874 1825 Call-ID: 12345600@here.com 1826 CSeq: 3 ACK 1827 Contact: 1828 Content-Length: 0 1830 3.1.4 Successful SIP to SIP with Proxy failure 1832 User A Proxy 1 Proxy 2 User B 1833 | | | | 1834 | INVITE F1 | | | 1835 |--------------->| | | 1836 | INVITE F2 | | | 1837 |--------------->| | | 1838 | INVITE F3 | | | 1839 |--------------->| | | 1840 | INVITE F4 | | | 1841 |--------------->| | | 1842 | INVITE F5 | | | 1843 |--------------->| | | 1844 | INVITE F6 | | | 1845 |--------------->| | | 1846 | INVITE F7 | | | 1847 |--------------->| | | 1848 | INVITE F9 | | 1849 |-------------------------------->| | 1850 | 407 F10 | | 1851 |<--------------------------------| | 1852 | ACK F11 | | 1853 |-------------------------------->| | 1854 | INVITE F12 | | 1855 |-------------------------------->| INVITE F13 | 1856 | (100) F14 |--------------->| 1857 |<--------------------------------| | 1858 | | 180 F15 | 1859 | 180 F16 |<---------------| 1860 |<--------------------------------| | 1861 | | 200 F17 | 1862 | 200 F18 |<---------------| 1863 |<--------------------------------| | 1864 | ACK F19 | | 1865 |-------------------------------->| ACK F20 | 1866 | |--------------->| 1867 | Both Way RTP Media | 1868 |<================================================>| 1869 | | BYE F21 | 1870 | BYE F22 |<---------------| 1871 |<--------------------------------| | 1872 | 200 F23 | | 1873 |-------------------------------->| 200 F24 | 1874 | |--------------->| 1875 | | | 1877 In this scenario, User A completes a call to User B via a Proxy 1878 Server. User A is configured for a primary SIP Proxy Server Proxy 1 1879 and a secondary SIP Proxy Server Proxy 2 (Or is able to use DNS SRV 1880 records to locate Proxy 1 and Proxy 2). Proxy 1 is out of service and 1881 does not respond to INVITEs (it is reachable, but unresponsive). 1882 After sending a CANCEL to Proxy 1, User A then completes the call to 1883 User B using Proxy 2. 1885 Message Details 1887 F1 INVITE A -> Proxy 1 1889 INVITE sip:UserB@there.com SIP/2.0 1890 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK465bf9 1891 Max-Forwards: 70 1892 From: BigGuy ;tag=9fxced76sl 1893 To: LittleGuy 1894 Call-ID: 12345600@here.com 1895 CSeq: 1 INVITE 1896 Contact: 1897 Content-Type: application/sdp 1898 Content-Length: 147 1900 v=0 1901 o=UserA 2890844526 2890844526 IN IP4 here.com 1902 s=Session SDP 1903 c=IN IP4 100.101.102.103 1904 t=0 0 1905 m=audio 49172 RTP/AVP 0 1906 a=rtpmap:0 PCMU/8000 1908 F2 INVITE A -> Proxy 1 1910 Same as Message F1 1912 F3 INVITE A -> Proxy 1 1914 Same as Message F1 1916 F4 INVITE A -> Proxy 1 1918 Same as Message F1 1920 F5 INVITE A -> Proxy 1 1922 Same as Message F1 1924 F6 INVITE A -> Proxy 1 1925 Same as Message F1 1927 F7 INVITE A -> Proxy 1 1929 Same as Message F1 1931 /* User A gives up on the unresponsive proxy */ 1933 F9 INVITE A -> Proxy 2 1935 INVITE sip:UserB@there.com SIP/2.0 1936 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1937 Max-Forwards: 70 1938 From: BigGuy ;tag=9fxced76sl 1939 To: LittleGuy 1940 Call-ID: 12345601@here.com 1941 CSeq: 1 INVITE 1942 Contact: 1943 Content-Type: application/sdp 1944 Content-Length: 147 1946 v=0 1947 o=UserA 2890844526 2890844526 IN IP4 here.com 1948 s=Session SDP 1949 c=IN IP4 100.101.102.103 1950 t=0 0 1951 m=audio 49172 RTP/AVP 0 1952 a=rtpmap:0 PCMU/8000 1954 /* Proxy 2 challenges User A for authentication */ 1956 F10 407 Proxy Authorization Required Proxy 2 -> User A 1958 SIP/2.0 407 Proxy Authorization Required 1959 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1960 ;received=100.101.102.103 1961 From: BigGuy ;tag=9fxced76sl 1962 To: LittleGuy ;tag=2421452 1963 Call-ID: 12345601@here.com 1964 CSeq: 1 INVITE 1965 Proxy-Authenticate: Digest realm="wcom.com", 1966 nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", 1967 opaque="", stale=FALSE, algorithm=MD5 1968 Content-Length: 0 1970 F11 ACK A -> Proxy 2 1971 ACK sip:UserB@there.com SIP/2.0 1972 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1973 Max-Forwards: 70 1974 From: BigGuy ;tag=9fxced76sl 1975 To: LittleGuy ;tag=2421452 1976 Call-ID: 12345601@here.com 1977 CSeq: 1 ACK 1978 Content-Length: 0 1980 /* User A responds be re-sending the INVITE with authentication 1981 credentials in it. */ 1983 F12 INVITE A -> Proxy 2 1985 INVITE sip:UserB@there.com SIP/2.0 1986 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 1987 Max-Forwards: 70 1988 From: BigGuy ;tag=9fxced76sl 1989 To: LittleGuy 1990 Call-ID: 12345602@here.com 1991 CSeq: 1 INVITE 1992 Contact: 1993 Proxy-Authorization:Digest username="UserA", realm="wcom.com", 1994 nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", opaque="", 1995 uri="sip:UserB@there.com", 1996 response="8a880c919d1a52f20a1593e228adf599" 1997 Content-Type: application/sdp 1998 Content-Length: 147 2000 v=0 2001 o=UserA 2890844526 2890844526 IN IP4 here.com 2002 s=Session SDP 2003 c=IN IP4 100.101.102.103 2004 t=0 0 2005 m=audio 49172 RTP/AVP 0 2006 a=rtpmap:0 PCMU/8000 2008 /* Proxy 2 accepts the credentials and forwards the INVITE to User B. 2009 Client for A prepares to receive data on port 49172 from the network. 2010 */ 2012 F13 INVITE Proxy 2 -> B 2014 INVITE sip:UserB@110.111.112.113 SIP/2.0 2015 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 2016 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2017 ;received=100.101.102.103 2018 Max-Forwards: 69 2019 Record-Route: 2020 From: BigGuy ;tag=9fxced76sl 2021 To: LittleGuy 2022 Call-ID: 12345602@here.com 2023 CSeq: 1 INVITE 2024 Contact: 2025 Content-Type: application/sdp 2026 Content-Length: 147 2028 v=0 2029 o=UserA 2890844526 2890844526 IN IP4 here.com 2030 s=Session SDP 2031 c=IN IP4 100.101.102.103 2032 t=0 0 2033 m=audio 49172 RTP/AVP 0 2034 a=rtpmap:0 PCMU/8000 2036 F14 (100 Trying) Proxy 2 -> User A 2038 SIP/2.0 100 Trying 2039 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 2040 ;received=2.3.4.5 2041 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2042 ;received=100.101.102.103 2043 From: BigGuy ;tag=9fxced76sl 2044 To: LittleGuy 2045 Call-ID: 12345602@here.com 2046 CSeq: 1 INVITE 2047 Content-Length: 0 2049 F15 180 Ringing B -> Proxy 2 2051 SIP/2.0 180 Ringing 2052 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 2053 ;received=2.3.4.5 2054 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2055 ;received=100.101.102.103 2056 Record-Route: 2057 From: BigGuy ;tag=9fxced76sl 2058 To: LittleGuy ;tag=314159 2059 Call-ID: 12345602@here.com 2060 CSeq: 1 INVITE 2061 Contact: 2062 Content-Length: 0 2064 F16 180 Ringing Proxy 2 -> A 2066 SIP/2.0 180 Ringing 2067 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2068 ;received=100.101.102.103 2069 Record-Route: 2070 From: BigGuy ;tag=9fxced76sl 2071 To: LittleGuy ;tag=314159 2072 Call-ID: 12345602@here.com 2073 CSeq: 1 INVITE 2074 Contact: 2075 Content-Length: 0 2077 F17 200 OK B -> Proxy 2 2079 SIP/2.0 200 OK 2080 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 2081 ;received=2.3.4.5 2082 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2083 ;received=100.101.102.103 2084 Record-Route: 2085 From: BigGuy ;tag=9fxced76sl 2086 To: LittleGuy ;tag=314159 2087 Call-ID: 12345602@here.com 2088 CSeq: 1 INVITE 2089 Contact: 2090 Content-Type: application/sdp 2091 Content-Length: 149 2093 v=0 2094 o=UserB 2890844527 2890844527 IN IP4 there.com 2095 s=Session SDP 2096 c=IN IP4 110.111.112.113 2097 t=0 0 2098 m=audio 3456 RTP/AVP 0 2099 a=rtpmap:0 PCMU/8000 2101 F18 200 OK Proxy 2 -> A 2103 SIP/2.0 200 OK 2104 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2105 ;received=100.101.102.103 2106 Record-Route: 2107 From: BigGuy ;tag=9fxced76sl 2108 To: LittleGuy ;tag=314159 2109 Call-ID: 12345602@here.com 2110 CSeq: 1 INVITE 2111 Contact: 2112 Content-Type: application/sdp 2113 Content-Length: 149 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 F19 ACK A -> Proxy 2 2125 ACK sip:UserB@110.111.112.113 SIP/2.0 2126 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2127 Max-Forwards: 70 2128 Route: 2129 From: BigGuy ;tag=9fxced76sl 2130 To: LittleGuy ;tag=314159 2131 Call-ID: 12345602@here.com 2132 CSeq: 1 ACK 2133 Content-Length: 0 2135 F20 ACK Proxy 2 -> B 2137 ACK sip:UserB@110.111.112.113 SIP/2.0 2138 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 2139 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2140 ;received=100.101.102.103 2141 Max-Forwards: 69 2142 From: BigGuy ;tag=9fxced76sl 2143 To: LittleGuy ;tag=314159 2144 Call-ID: 12345602@here.com 2145 CSeq: 1 ACK 2146 Content-Length: 0 2148 /* RTP streams are established between A and B */ 2150 /* User B Hangs Up with User A. */ 2152 F21 BYE User B -> Proxy 2 2154 BYE sip:UserA@100.101.102.103 SIP/2.0 2155 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2156 Max-Forwards: 70 2157 Route: 2158 From: LittleGuy ;tag=314159 2159 To: BigGuy ;tag=9fxced76sl 2160 Call-ID: 12345602@here.com 2161 CSeq: 1 BYE 2162 Content-Length: 0 2164 F22 BYE Proxy 2 -> User A 2166 BYE sip:UserA@100.101.102.103 SIP/2.0 2167 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 2168 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2169 ;received=110.111.112.113 2170 Max-Forwards: 69 2171 From: LittleGuy ;tag=314159 2172 To: BigGuy ;tag=9fxced76sl 2173 Call-ID: 12345602@here.com 2174 CSeq: 1 BYE 2175 Content-Length: 0 2177 F23 200 OK User A -> Proxy 2 2179 SIP/2.0 200 OK 2180 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 2181 ;received=2.3.4.5 2182 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2183 ;received=110.111.112.113 2184 From: LittleGuy ;tag=314159 2185 To: BigGuy ;tag=9fxced76sl 2186 Call-ID: 12345602@here.com 2187 CSeq: 1 BYE 2188 Content-Length: 0 2190 F24 200 OK Proxy 2 -> User B 2192 SIP/2.0 200 OK 2193 Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 2194 ;received=110.111.112.113 2195 From: LittleGuy ;tag=314159 2196 To: BigGuy ;tag=9fxced76sl 2197 Call-ID: 12345602@here.com 2198 CSeq: 1 BYE 2199 Content-Length: 0 2201 3.1.5 Successful SIP to SIP through SIP ALG 2203 User A ALG Proxy 1 User B 2204 | | | | 2205 | INVITE F1 | | | 2206 |--------------->| INVITE F2 | | 2207 | (100) F3 |--------------->| INVITE F4 | 2208 |<---------------| (100) F5 |--------------->| 2209 | |<---------------| 180 F6 | 2210 | | 180 F7 |<---------------| 2211 | 180 F8 |<---------------| | 2212 |<---------------| | 200 F9 | 2213 | | 200 F10 |<---------------| 2214 | 200 F11 |<---------------| | 2215 |<---------------| | | 2216 | ACK F12 | | | 2217 |--------------->| ACK F13 | | 2218 | |--------------->| ACK F14 | 2219 | | |--------------->| 2220 | RTP Media | Both Way RTP Media | 2221 |<==============>|<===============================>| 2222 | BYE F15 | | | 2223 |--------------->| BYE F16 | | 2224 | |--------------->| BYE F17 | 2225 | | |--------------->| 2226 | | | 200 F18 | 2227 | | 200 F19 |<---------------| 2228 | 200 F20 |<---------------| | 2229 |<---------------| | | 2230 | | | | 2232 User A completes a call to User B through a ALG (Application Layer 2233 Gateway) and a SIP Proxy. The signaling message exchange is 2234 identical to 3.1.1 but the media stream setup is not end-to-end - the 2235 ALG terminates both media streams and bridges them. This is done by 2236 the ALG modifying the SDP in the INVITE (F1) and 200 OK (F10) 2237 messages, and possibly any 18x or ACK messages containing SDP. 2239 In addition to firewall traversal, this Back-to-Back User Agent 2240 (B2BUA) could be used as part of an anonymizer 2241 service (in which all identifying information on User A would be 2242 removed), or to perform codec media conversion, such as mu-law to A- 2243 law conversion of PCM on an international call. 2245 Message Details 2247 F1 INVITE A -> SIP ALG 2249 INVITE sip:UserB@there.com;maddr=alg1.here.com SIP/2.0 2250 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2251 Max-Forwards: 70 2252 From: BigGuy ;tag=9fxced76sl 2253 To: LittleGuy 2254 Call-ID: 12345600@here.com 2255 CSeq: 1 INVITE 2256 Contact: 2257 Proxy-Authorization:Digest username="UserA", realm="wcom.com", 2258 nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", 2259 uri="sip:UserB@there.com", 2260 response="b3f392f9218a328b9294076d708e6815" 2261 Content-Type: application/sdp 2262 Content-Length: 147 2264 v=0 2265 o=UserA 2890844526 2890844526 IN IP4 here.com 2266 s=Session SDP 2267 c=IN IP4 100.101.102.103 2268 t=0 0 2269 m=audio 49172 RTP/AVP 0 2270 a=rtpmap:0 PCMU/8000 2272 /* Client for A prepares to receive data on port 49172 from the 2273 network. */ 2275 F2 INVITE SIP ALG -> Proxy 1 2277 INVITE sip:UserB@there.com SIP/2.0 2278 Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 2279 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2280 ;received=100.101.102.103 2281 Max-Forwards: 69 2282 Record-Route: 2283 From: BigGuy ;tag=9fxced76sl 2284 To: LittleGuy 2285 Call-ID: 12345600@here.com 2286 CSeq: 1 INVITE 2287 Contact: 2288 Proxy-Authorization:Digest username="UserA", realm="wcom.com", 2289 nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", 2290 uri="sip:UserB@there.com", 2291 response="b3f392f9218a328b9294076d708e6815" 2292 Content-Type: application/sdp 2293 Content-Length: 149 2295 v=0 2296 o=UserA 2890844526 2890844526 IN IP4 here.com 2297 s=Session SDP 2298 c=IN IP4 200.201.202.203 2299 t=0 0 2300 m=audio 1000 RTP/AVP 0 2301 a=rtpmap:0 PCMU/8000 2302 F3 (100 Trying) SIP ALG -> A 2304 SIP/2.0 100 Trying 2305 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2306 ;received=100.101.102.103 2307 From: BigGuy ;tag=9fxced76sl 2308 To: LittleGuy 2309 Call-ID: 12345600@here.com 2310 CSeq: 1 INVITE 2311 Content-Length: 0 2313 /* SIP ALG prepares to proxy data from port 200.201.202.203/1000 to 2314 100.101.102.103/49172. Proxy 1 uses a Location Service function to 2315 determine where B is located. Based upon location analysis the call 2316 is forwarded to User B */ 2318 F4 INVITE Proxy 1 -> B 2320 INVITE sip:UserB@110.111.112.113 SIP/2.0 2321 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 2322 Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 2323 ;received=200.201.202.203 2324 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2325 ;received=100.101.102.103 2326 Max-Forwards: 68 2327 Record-Route: , 2328 From: BigGuy ;tag=9fxced76sl 2329 To: LittleGuy 2330 Call-ID: 12345600@here.com 2331 CSeq: 1 INVITE 2332 Contact: 2333 Content-Type: application/sdp 2334 Content-Length: 146 2336 v=0 2337 o=UserA 2890844526 2890844526 IN IP4 here.com 2338 s=Session SDP 2339 c=IN IP4 200.201.202.203 2340 t=0 0 2341 m=audio 1000 RTP/AVP 0 2342 a=rtpmap:0 PCMU/8000 2344 F5 (100 Trying) Proxy 1 -> SIP ALG 2346 SIP/2.0 100 Trying 2347 Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 2348 ;received=200.201.202.203 2349 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2350 ;received=100.101.102.103 2352 From: BigGuy ;tag=9fxced76sl 2353 To: LittleGuy 2354 Call-ID: 12345600@here.com 2355 CSeq: 1 INVITE 2356 Content-Length: 0 2358 F6 180 Ringing B -> Proxy 1 2360 SIP/2.0 180 Ringing 2361 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 2362 ;received=1.2.3.4 2363 Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 2364 ;received=200.201.202.203 2365 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2366 ;received=100.101.102.103 2367 Record-Route: , 2368 From: BigGuy ;tag=9fxced76sl 2369 To: LittleGuy ;tag=314159 2370 Call-ID: 12345600@here.com 2371 CSeq: 1 INVITE 2372 Contact: 2373 Content-Length: 0 2375 F7 180 Ringing Proxy 1 -> SIP ALG 2377 SIP/2.0 180 Ringing 2378 Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 2379 ;received=200.201.202.203 2380 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2381 ;received=100.101.102.103 2382 Record-Route: , 2383 From: BigGuy ;tag=9fxced76sl 2384 To: LittleGuy ;tag=314159 2385 Call-ID: 12345600@here.com 2386 CSeq: 1 INVITE 2387 Contact: 2388 Content-Length: 0 2390 F8 180 Ringing SIP ALG -> A 2392 SIP/2.0 180 Ringing 2393 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2394 ;received=100.101.102.103 2395 Record-Route: , 2396 From: BigGuy ;tag=9fxced76sl 2397 To: LittleGuy ;tag=314159 2398 Call-ID: 12345600@here.com 2399 CSeq: 1 INVITE 2400 Contact: 2401 Content-Length: 0 2403 F9 200 OK B -> Proxy 1 2405 SIP/2.0 200 OK 2406 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 2407 ;received=1.2.3.4 2408 Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 2409 ;received=200.201.202.203 2410 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2411 ;received=100.101.102.103 2412 Record-Route: , 2413 From: BigGuy ;tag=9fxced76sl 2414 To: LittleGuy ;tag=314159 2415 Call-ID: 12345600@here.com 2416 CSeq: 1 INVITE 2417 Contact: 2418 Content-Type: application/sdp 2419 Content-Length: 147 2421 v=0 2422 o=UserB 2890844527 2890844527 IN IP4 there.com 2423 s=Session SDP 2424 c=IN IP4 110.111.112.113 2425 t=0 0 2426 m=audio 3456 RTP/AVP 0 2427 a=rtpmap:0 PCMU/8000 2429 F10 200 OK Proxy 1 -> SIP ALG 2431 SIP/2.0 200 OK 2432 Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 2433 ;received=200.201.202.203 2434 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2435 ;received=100.101.102.103 2436 Record-Route: , 2437 From: BigGuy ;tag=9fxced76sl 2438 To: LittleGuy ;tag=314159 2439 Call-ID: 12345600@here.com 2440 CSeq: 1 INVITE 2441 Contact: 2442 Content-Type: application/sdp 2443 Content-Length: 147 2445 v=0 2446 o=UserB 2890844527 2890844527 IN IP4 there.com 2447 s=Session SDP 2448 c=IN IP4 110.111.112.113 2449 t=0 0 2450 m=audio 3456 RTP/AVP 0 2451 a=rtpmap:0 PCMU/8000 2453 F11 200 OK SIP ALG -> A 2455 SIP/2.0 200 OK 2456 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2457 ;received=100.101.102.103 2458 Record-Route: , 2459 From: BigGuy ;tag=9fxced76sl 2460 To: LittleGuy ;tag=314159 2461 Call-ID: 12345600@here.com 2462 CSeq: 1 INVITE 2463 Contact: 2464 Content-Type: application/sdp 2465 Content-Length: 147 2467 v=0 2468 o=UserB 2890844527 2890844527 IN IP4 there.com 2469 s=Session SDP 2470 c=IN IP4 200.201.202.203 2471 t=0 0 2472 m=audio 1002 RTP/AVP 0 2473 a=rtpmap:0 PCMU/8000 2475 /* The ALG prepares to proxy packets from 200.201.202.203/ 2476 1002 to 110.111.112.113/3456 */ 2478 F12 ACK A -> SIP ALG 2480 ACK sip:UserB@110.111.112.113 SIP/2.0 2481 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2482 Max-Forwards: 70 2483 Route: , 2484 From: BigGuy ;tag=9fxced76sl 2485 To: LittleGuy ;tag=314159 2486 Call-ID: 12345600@here.com 2487 CSeq: 1 ACK 2488 Content-Length: 0 2490 F13 ACK SIP ALG -> Proxy 1 2492 ACK sip:UserB@110.111.112.113 SIP/2.0 2493 Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 2494 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2495 ;received=100.101.102.103 2496 Max-Forwards: 69 2497 Route: 2498 From: BigGuy ;tag=9fxced76sl 2499 To: LittleGuy ;tag=314159 2500 Call-ID: 12345600@here.com 2501 CSeq: 1 ACK 2502 Content-Length: 0 2504 F14 ACK Proxy 1 -> B 2506 ACK sip:UserB@110.111.112.113 SIP/2.0 2507 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 2508 Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 2509 ;received=200.201.202.203 2510 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2511 ;received=100.101.102.103 2512 Max-Forwards: 68 2513 From: BigGuy ;tag=9fxced76sl 2514 To: LittleGuy ;tag=314159 2515 Call-ID: 12345600@here.com 2516 CSeq: 1 ACK 2517 Content-Length: 0 2519 /* RTP streams are established between A and the ALG and 2520 between the ALG and B*/ 2522 /* User A Hangs Up with User B. */ 2524 F15 BYE A -> SIP ALG 2526 BYE sip:UserB@110.111.112.113 SIP/2.0 2527 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2528 Max-Forwards: 70 2529 Route: , 2530 From: BigGuy ;tag=9fxced76sl 2531 To: LittleGuy ;tag=314159 2532 Call-ID: 12345600@here.com 2533 CSeq: 2 BYE 2534 Content-Length: 0 2536 F16 BYE SIP ALG -> Proxy 1 2538 BYE sip:UserB@110.111.112.113 SIP/2.0 2539 Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 2540 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2541 ;received=100.101.102.103 2542 Max-Forwards: 69 2543 Route: 2544 From: BigGuy ;tag=9fxced76sl 2545 To: LittleGuy ;tag=314159 2546 Call-ID: 12345600@here.com 2547 CSeq: 2 BYE 2548 Content-Length: 0 2549 F17 BYE F18 Proxy 1 -> B 2551 BYE sip:UserB@110.111.112.113 SIP/2.0 2552 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 2553 Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 2554 ;received=200.201.202.203 2555 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2556 ;received=100.101.102.103 2557 Max-Forwards: 68 2558 From: BigGuy ;tag=9fxced76sl 2559 To: LittleGuy ;tag=314159 2560 Call-ID: 12345600@here.com 2561 CSeq: 2 BYE 2562 Content-Length: 0 2564 F18 200 OK B -> Proxy 1 2566 SIP/2.0 200 OK 2567 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 2568 ;received=1.2.3.4 2569 Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 2570 ;received=200.201.202.203 2571 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2572 ;received=100.101.102.103 2573 From: BigGuy ;tag=9fxced76sl 2574 To: LittleGuy ;tag=314159 2575 Call-ID: 12345600@here.com 2576 CSeq: 2 BYE 2577 Content-Length: 0 2579 F19 200 OK Proxy 1 -> SIP ALG 2581 SIP/2.0 200 OK 2582 Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 2583 ;received=200.201.202.203 2584 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2585 ;received=100.101.102.103 2586 From: BigGuy ;tag=9fxced76sl 2587 To: LittleGuy ;tag=314159 2588 Call-ID: 12345600@here.com 2589 CSeq: 2 BYE 2590 Content-Length: 0 2592 F20 200 OK SIP ALG -> A 2594 SIP/2.0 200 OK 2595 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2596 ;received=100.101.102.103 2597 From: BigGuy ;tag=9fxced76sl 2598 To: LittleGuy ;tag=314159 2599 Call-ID: 12345600@here.com 2600 CSeq: 2 BYE 2601 Content-Length: 0 2603 3.1.6 Successful SIP to SIP via Redirect and Proxy with SDP in ACK 2605 User A Redirect Proxy Proxy 2 User B 2606 | | | | 2607 | INVITE F1 | | | 2608 |--------------->| | | 2609 | 302 F2 | | | 2610 |<---------------| | | 2611 | ACK F3 | | | 2612 |--------------->| | | 2613 | INVITE F4 | | 2614 |-------------------------------->| INVITE F5 | 2615 | (100) F6 |--------------->| 2616 |<--------------------------------| 180 F7 | 2617 | 180 F8 |<---------------| 2618 |<--------------------------------| | 2619 | | 200 F9 | 2620 | 200 F10 |<---------------| 2621 |<--------------------------------| | 2622 | ACK F11 | | 2623 |-------------------------------->| ACK F12 | 2624 | |--------------->| 2625 | Both Way RTP Media | 2626 |<================================================>| 2627 | | BYE F13 | 2628 | BYE F14 |<---------------| 2629 |<--------------------------------| | 2630 | 200 F15 | | 2631 |-------------------------------->| 200 F16 | 2632 | |--------------->| 2633 | | | 2635 In this scenario, User A places a call to User B using first a 2636 Redirect server then a Proxy Server. The INVITE message is first 2637 sent to the Redirect Server. The Server returns a 302 Moved 2638 Temporarily response (F2) containing a Contact header with User B's 2639 current SIP address. User A then generates a new INVITE and sends to 2640 User B via the Proxy Server and the call proceeds normally. In this 2641 example, no SDP is present in the INVITE, so the SDP is carried in 2642 the ACK message. 2644 The call is terminated when User B sends a BYE message. 2646 Message Details 2648 F1 INVITE A -> Redirect Proxy 2650 INVITE sip:UserB@there.com SIP/2.0 2651 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bKbf9f44 2652 Max-Forwards: 70 2653 From: BigGuy ;tag=9fxced76sl 2654 To: LittleGuy 2655 Call-ID: 12345600@here.com 2656 CSeq: 1 INVITE 2657 Contact: 2658 Content-Length: 0 2660 F2 302 Moved Temporarily Redirect Proxy -> A 2662 SIP/2.0 302 Moved Temporarily 2663 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bKbf9f44 2664 ;received=100.101.102.103 2665 From: BigGuy ;tag=9fxced76sl 2666 To: LittleGuy ;tag=53fHlqlQ2 2667 Call-ID: 12345600@here.com 2668 CSeq: 1 INVITE 2669 Contact: sip:UserB@everywhere.com 2670 Content-Length: 0 2672 F3 ACK A -> Redirect Proxy 2674 ACK sip:UserB@there.com SIP/2.0 2675 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bKbf9f44 2676 Max-Forwards: 70 2677 From: BigGuy ;tag=9fxced76sl 2678 To: LittleGuy ;tag=53fHlqlQ2 2679 Call-ID: 12345600@here.com 2680 CSeq: 1 ACK 2681 Content-Length: 0 2683 F4 INVITE A -> Proxy 2 2685 INVITE sip:UserB@everywhere.com SIP/2.0 2686 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2687 Max-Forwards: 70 2688 From: BigGuy ;tag=9fxced76sl 2689 To: LittleGuy 2690 Call-ID: 12345600@here.com 2691 CSeq: 2 INVITE 2692 Contact: 2693 Content-Length: 0 2695 F5 INVITE Proxy 2 -> B 2697 INVITE sip:UserB@111.112.113.114 SIP/2.0 2698 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 2699 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2700 ;received=100.101.102.103 2702 Max-Forwards: 69 2703 Record-Route: 2704 From: BigGuy ;tag=9fxced76sl 2705 To: LittleGuy 2706 Call-ID: 12345600@here.com 2707 CSeq: 2 INVITE 2708 Contact: 2709 Content-Length: 0 2711 F6 (100 Trying) Proxy 2 -> A 2713 SIP/2.0 100 Trying 2714 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2715 ;received=100.101.102.103 2716 From: BigGuy ;tag=9fxced76sl 2717 To: LittleGuy 2718 Call-ID: 12345600@here.com 2719 CSeq: 2 INVITE 2720 Content-Length: 0 2722 F7 180 Ringing B -> Proxy 2 2724 SIP/2.0 180 Ringing 2725 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 2726 ;received=2.3.4.5 2727 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2728 ;received=100.101.102.103 2729 Record-Route: 2730 From: BigGuy ;tag=9fxced76sl 2731 To: LittleGuy ;tag=314159 2732 Call-ID: 12345600@here.com 2733 CSeq: 2 INVITE 2734 Contact: 2735 Content-Length: 0 2737 F8 180 Ringing Proxy 2 -> A 2739 SIP/2.0 180 Ringing 2740 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2741 ;received=100.101.102.103 2742 Record-Route: 2743 From: BigGuy ;tag=9fxced76sl 2744 To: LittleGuy ;tag=314159 2745 Call-ID: 12345600@here.com 2746 CSeq: 2 INVITE 2747 Contact: 2748 Content-Length: 0 2749 F9 200 OK B -> Proxy 2 2751 SIP/2.0 200 OK 2752 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 2753 ;received=2.3.4.5 2754 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2755 ;received=100.101.102.103 2756 Record-Route: 2757 From: BigGuy ;tag=9fxced76sl 2758 To: LittleGuy ;tag=314159 2759 Call-ID: 12345600@here.com 2760 CSeq: 2 INVITE 2761 Contact: 2762 Content-Type: application/sdp 2763 Content-Length: 152 2765 v=0 2766 o=UserB 2890844527 2890844527 IN IP4 everywhere.com 2767 s=Session SDP 2768 c=IN IP4 111.112.113.114 2769 t=0 0 2770 m=audio 3456 RTP/AVP 0 2771 a=rtpmap:0 PCMU/8000 2773 F10 200 OK Proxy -> A 2775 SIP/2.0 200 OK 2776 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2777 ;received=100.101.102.103 2778 Record-Route: 2779 From: BigGuy ;tag=9fxced76sl 2780 To: LittleGuy ;tag=314159 2781 Call-ID: 12345600@here.com 2782 CSeq: 2 INVITE 2783 Contact: 2784 Content-Type: application/sdp 2785 Content-Length: 152 2787 v=0 2788 o=UserB 2890844527 2890844527 IN IP4 everywhere.com 2789 s=Session SDP 2790 c=IN IP4 111.112.113.114 2791 t=0 0 2792 m=audio 3456 RTP/AVP 0 2793 a=rtpmap:0 PCMU/8000 2795 /* ACK contains SDP of A since none present in INVITE */ 2797 F11 ACK A -> Proxy 2 2799 ACK sip:UserB@everyhere.com SIP/2.0 2800 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2801 Max-Forwards: 70 2802 Route: 2803 From: BigGuy ;tag=9fxced76sl 2804 To: LittleGuy ;tag=314159 2805 Call-ID: 12345600@here.com 2806 CSeq: 2 ACK 2807 Content-Type: application/sdp 2808 Content-Length: 147 2810 v=0 2811 o=UserA 2890844526 2890844526 IN IP4 here.com 2812 s=Session SDP 2813 c=IN IP4 100.101.102.103 2814 t=0 0 2815 m=audio 49172 RTP/AVP 0 2816 a=rtpmap:0 PCMU/8000 2818 F12 ACK Proxy 2 -> B 2820 ACK sip:UserB@111.112.112.114 SIP/2.0 2821 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 2822 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 2823 ;received=100.101.102.103 2824 Max-Forwards: 69 2825 From: BigGuy ;tag=9fxced76sl 2826 To: LittleGuy ;tag=314159 2827 Call-ID: 12345600@here.com 2828 CSeq: 2 ACK 2829 Content-Type: application/sdp 2830 Content-Length: 147 2832 v=0 2833 o=UserA 2890844526 2890844526 IN IP4 here.com 2834 s=Session SDP 2835 c=IN IP4 100.101.102.103 2836 t=0 0 2837 m=audio 49172 RTP/AVP 0 2838 a=rtpmap:0 PCMU/8000 2840 /* RTP streams are established between A and B*/ 2842 /* User B Hangs Up with User A. */ 2844 F13 BYE B -> Proxy 2 2846 BYE sip:UserA@100.101.102.103 SIP/2.0 2847 Via: SIP/2.0/UDP everywhere.com:5060;branch=z9hG4bKfgaw2 2848 Max-Forwards: 70 2849 Route: 2850 From: LittleGuy ;tag=314159 2851 To: BigGuy ;tag=9fxced76sl 2852 Call-ID: 12345600@here.com 2853 CSeq: 1 BYE 2854 Content-Length: 0 2856 F14 BYE Proxy 2 -> A 2858 BYE sip:UserA@100.101.102.103 SIP/2.0 2859 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 2860 Via: SIP/2.0/UDP everywhere.com:5060;branch=z9hG4bKfgaw2 2861 Max-Forwards: 69 2862 From: LittleGuy ;tag=314159 2863 To: BigGuy ;tag=9fxced76sl 2864 Call-ID: 12345600@here.com 2865 CSeq: 1 BYE 2866 Content-Length: 0 2868 F15 200 OK A -> Proxy 2 2870 SIP/2.0 200 OK 2871 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 2872 ;received=2.3.4.5 2873 Via: SIP/2.0/UDP everywhere.com:5060;branch=z9hG4bKfgaw2 2874 From: LittleGuy ;tag=314159 2875 To: BigGuy ;tag=9fxced76sl 2876 Call-ID: 12345600@here.com 2877 CSeq: 1 BYE 2878 Content-Length: 0 2880 F16 200 OK Proxy 2 -> B 2882 SIP/2.0 200 OK 2883 Via: SIP/2.0/UDP everywhere.com:5060;branch=z9hG4bKfgaw2 2884 From: LittleGuy ;tag=314159 2885 To: BigGuy ;tag=9fxced76sl 2886 Call-ID: 12345600@here.com 2887 CSeq: 1 BYE 2888 Content-Length: 0 2890 3.1.7 Successful SIP to SIP with re-INVITE (T.38 Fax) 2892 IFT UA Proxy IFTGW UA 2893 | F1 INVITE | | 2894 |------------------->| F2 INVITE | 2895 | |------------------->| 2896 | F3 100 Trying | | 2897 |<-------------------| F4 180 Ringing | 2898 | F5 180 Ringing |<-------------------| 2899 |<-------------------| | 2900 | | F6 200 OK | 2901 | F7 200 OK |<-------------------| 2902 |<-------------------| | 2903 | F8 ACK | | 2904 |------------------->| F9 ACK | 2905 | ------------------->| 2906 | Both Way RTP Media Established | 2907 |<=======================================>| 2908 | | F10 INVITE | 2909 | F11 INVITE |<-------------------| 2910 |<-------------------| | 2911 | F12 200 OK | | 2912 |------------------->| F13 200 OK | 2913 | |------------------->| 2914 | | F14 ACK | 2915 | F15 ACK |<-------------------| 2916 |<-------------------| | 2917 | T.38/UDPT Fax Flow Established | 2918 |<=======================================>| 2919 | | F16 INVITE | 2920 | F17 INVITE |<-------------------| 2921 |<-------------------| | 2922 | F18 200 OK | | 2923 |------------------->| F19 200 OK | 2924 | |------------------->| 2925 | | F20 ACK | 2926 | F21 ACK |<-------------------| 2927 |<-------------------| | 2928 | RTP Media Re-Established | 2929 |<=======================================>| 2930 | F22 BYE | | 2931 |------------------->| F23 BYE | 2932 | |------------------->| 2933 | | F24 200 OK | 2934 | F25 200 OK |<-------------------| 2935 |<-------------------| | 2937 This example shows a session whose media session changes twice during 2938 the session. The initial PCM media session is established between 2939 the two User Agents in messages F1 through F10. The called party 2940 then wishes to change the type of media session between them. (In 2941 this example, the called party detects a fax transmission and wishes 2942 to change the media session to a T.38 Fax over IP session). The 2943 details of the T.38 SDP parameters are described in [T.38]. The 2944 called party then sends a re-INVITE in message F11 which is accepted 2945 in the 200 OK of message F13. After message F16, the original PCM 2946 media session is terminated and the new T.38 session established. 2947 After the fax transmission is over, the called party again wishes to 2948 switch the media session back to a PCM media session and initiates a 2949 re-INVITE sequence with message F17. 2951 Message Details 2953 F1 INVITE IFT UA -> PROXY 2955 INVITE sip:+1-650-555-2222@ss1.wcom.com;user=phone SIP/2.0 2956 Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 2957 Max-Forwards: 70 2958 From: ;tag=332lflke 2959 To: 2960 Call-ID: 1717@ift.here.com 2961 CSeq: 17 INVITE 2962 Contact: 2963 Content-Type: application/sdp 2964 Content-Length: 146 2966 v=0 2967 o=IFAXTERMINAL01 2890844527 2890844527 IN IP4 ift.here.com 2968 s=Session SDP 2969 c=IN IP4 120.121.122.123 2970 t=0 0 2971 m=audio 3456 RTP/AVP 0 2972 a=rtpmap:0 PCMU/8000 2974 F2 INVITE PROXY -> IFTGW UA 2976 INVITE sip:+1-650-555-2222@iftgw.there.com;user=phone SIP/2.0 2977 Via: SIP/2.0/UDP ss1.wcom.com:5060; branch=z9hG4bK2d007.1 2978 Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 2979 ;received=120.121.122.123 2980 Max-Forwards: 69 2981 Record-Route: 2982 From: ;tag=332lflke 2983 To: 2984 Call-ID: 1717@ift.here.com 2985 CSeq: 17 INVITE 2986 Contact: 2987 Content-Type: application/sdp 2988 Content-Length: 146 2989 v=0 2990 o=IFAXTERMINAL01 2890844527 2890844527 IN IP4 ift.here.com 2991 s=Session SDP 2992 c=IN IP4 120.121.122.123 2993 t=0 0 2994 m=audio 3456 RTP/AVP 0 2995 a=rtpmap:0 PCMU/8000 2997 F3 (100 Trying) PROXY -> IFT UA 2999 SIP/2.0 100 Trying 3000 Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 3001 ;received=120.121.122.123 3002 From: ;tag=332lflke 3003 To: 3004 Call-ID: 1717@ift.here.com 3005 CSeq: 17 INVITE 3006 Content-Length: 0 3008 F4 180 Ringing IFTGW UA -> PROXY 3010 SIP/2.0 180 Ringing 3011 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d007.1 3012 ;received=1.2.3.4 3013 Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 3014 ;received=120.121.122.123 3015 Record-Route: 3016 From: ;tag=332lflke 3017 To: ;tag=5617 3018 Call-ID: 1717@ift.here.com 3019 CSeq: 17 INVITE 3020 Contact: 3021 Content-Length: 0 3023 F5 180 Ringing PROXY -> IFT UA 3025 SIP/2.0 180 Ringing 3026 Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 3027 ;received=120.121.122.123 3028 Record-Route: 3029 From: ;tag=332lflke 3030 To: ;tag=5617 3031 Call-ID: 1717@ift.here.com 3032 CSeq: 17 INVITE 3033 Contact: 3034 Content-Length: 0 3036 F6 200 OK IFTGW UA -> PROXY 3037 SIP/2.0 200 OK 3038 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d007.1 3039 ;received=1.2.3.4 3040 Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 3041 ;received=120.121.122.123 3042 Record-Route: 3043 From: ;tag=332lflke 3044 To: ;tag=5617 3045 Call-ID: 1717@ift.here.com 3046 CSeq: 17 INVITE 3047 Contact: 3048 Content-Type: application/sdp 3049 Content-Length: 150 3051 v=0 3052 o=IFAXTERMINAL01 2890844527 2890844527 IN IP4 iftgw.there.com 3053 s=Session SDP 3054 c=IN IP4 iftmg.there.com 3055 t=0 0 3056 m=audio 12323 RTP/AVP 0 3057 a=rtpmap:0 PCMU/8000 3059 F7 200 OK PROXY -> IFT UA 3061 SIP/2.0 200 OK 3062 Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 3063 ;received=120.121.122.123 3064 Record-Route: 3065 From: ;tag=332lflke 3066 To: ;tag=5617 3067 Call-ID: 1717@ift.here.com 3068 CSeq: 17 INVITE 3069 Contact: 3070 Content-Type: application/sdp 3071 Content-Length: 150 3073 v=0 3074 o=IFAXTERMINAL01 2890844527 2890844527 IN IP4 iftgw.there.com 3075 s=Session SDP 3076 c=IN IP4 iftmg.there.com 3077 t=0 0 3078 m=audio 12323 RTP/AVP 0 3079 a=rtpmap:0 PCMU/8000 3081 F8 ACK IFT UA -> PROXY 3083 ACK sip:+1-650-555-2222@ss1.wcom.com;user=phone SIP/2.0 3084 Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 3085 Max-Forwards: 70 3086 Route: 3087 From: ;tag=332lflke 3088 To: ;tag=5617 3089 Call-ID: 1717@ift.here.com 3090 CSeq: 17 ACK 3091 Content-Length: 0 3093 F9 ACK PROXY -> IFTGW UA 3095 ACK sip:+1-650-555-2222@iftgw.there.com;user=phone SIP/2.0 3096 Via: SIP/2.0/UDP ss1.wcom.com:5060; branch=z9hG4bK2d007.1 3097 Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 3098 ;received=120.121.122.123 3099 Max-Forwards: 69 3100 From: ;tag=332lflke 3101 To: ;tag=5617 3102 Call-ID: 1717@ift.here.com 3103 CSeq: 17 ACK 3104 Content-Length: 0 3106 /* RTP streams are established. The CNG fax tone is sent in-band if 3107 it is present. The receiving side IFT gateway DSP detects the 3108 Preamble. A new UDP port is open on IFTGW for T.38 IFP packets and 3109 the IFTGW signals the switch over to fax mode by send a re-INVITE 3110 with the same Call-ID and with the new UDP port in the SDP */ 3112 F10 INVITE IFTGW UA -> PROXY 3114 INVITE sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0 3115 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 3116 Max-Forwards: 70 3117 Route: 3118 To: ;tag=332lflke 3119 From: ;tag=5617 3120 Call-ID: 1717@ift.here.com 3121 CSeq: 1 INVITE 3122 Contact: 3123 Content-Type: application/sdp 3124 Content-Length: 320 3126 v=0 3127 o=faxgw1 2890844527 2890844528 IN IP4 iftgw.there.com 3128 s=Session SDP 3129 c=IN IP4 iftmg.there.com 3130 t=0 0 3131 m=image 49172 udptl t38 3132 a=T38FaxVersion:0 3133 a=T38maxBitRate:14400 3134 a=T38FaxFillBitRemoval:0 3135 a=T38FaxTranscodingMMR:0 3136 a=T38FaxTranscodingJBIG:0 3137 a=T38FaxRateManagement:transferredTCF 3138 a=T38FaxMaxBuffer:72 3139 a=T38FaxMaxDatagram:316 3140 a=T38FaxUdpEC:t38UDPRedundancy 3142 F11 INVITE PROXY -> IFT UA 3144 INVITE sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0 3145 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d008.1 3146 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 3147 ;received=120.121.122.123 3148 Max-Forwards: 69 3149 Record-Route: 3150 To: ;tag=332lflke 3151 From: ;tag=5617 3152 Call-ID: 1717@ift.here.com 3153 CSeq: 1 INVITE 3154 Contact: 3155 Content-Type: application/sdp 3156 Content-Length: 320 3158 v=0 3159 o=faxgw1 2890844527 2890844528 IN IP4 iftgw.there.com 3160 s=Session SDP 3161 c=IN IP4 iftmg.there.com 3162 t=0 0 3163 m=image 49172 udptl t38 3164 a=T38FaxVersion:0 3165 a=T38maxBitRate:14400 3166 a=T38FaxFillBitRemoval:0 3167 a=T38FaxTranscodingMMR:0 3168 a=T38FaxTranscodingJBIG:0 3169 a=T38FaxRateManagement:transferredTCF 3170 a=T38FaxMaxBuffer:72 3171 a=T38FaxMaxDatagram:316 3172 a=T38FaxUdpEC:t38UDPRedundancy 3174 F12 200 OK IFT UA -> PROXY 3176 SIP/2.0 200 OK 3177 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d008.1 3178 ;received=1.2.3.4 3179 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 3180 ;received=120.121.122.123 3181 Record-Route: 3182 To: ;tag=332lflke 3183 From: ;tag=5617 3184 Call-ID: 1717@ift.here.com 3185 CSeq: 1 INVITE 3186 Contact: 3187 Content-Type: application/sdp 3188 Content-Length: 320 3190 v=0 3191 o=faxgw1 2890846527 2890846528 IN IP4 ift.here.com 3192 s=Session SDP 3193 c=IN IP4 120.121.122.123 3194 t=0 0 3195 m=image 15002 udptl t38 3196 a=T38FaxVersion:0 3197 a=T38maxBitRate:14400 3198 a=T38FaxFillBitRemoval:0 3199 a=T38FaxTranscodingMMR:0 3200 a=T38FaxTranscodingJBIG:0 3201 a=T38FaxRateManagement:transferredTCF 3202 a=T38FaxMaxBuffer:72 3203 a=T38FaxMaxDatagram:316 3204 a=T38FaxUdpEC:t38UDPRedundancy 3206 F13 200 OK PROXY -> IFT UA 3208 SIP/2.0 200 OK 3209 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 3210 ;received=120.121.122.123 3211 Record-Route: 3212 To: ;tag=332lflke 3213 From: ;tag=5617 3214 Call-ID: 1717@ift.here.com 3215 CSeq: 1 INVITE 3216 Contact: 3217 Content-Type: application/sdp 3218 Content-Length: 320 3220 v=0 3221 o=faxgw1 2890846527 2890846528 IN IP4 ift.here.com 3222 s=Session SDP 3223 c=IN IP4 120.121.122.123 3224 t=0 0 3225 m=image 15002 udptl t38 3226 a=T38FaxVersion:0 3227 a=T38maxBitRate:14400 3228 a=T38FaxFillBitRemoval:0 3229 a=T38FaxTranscodingMMR:0 3230 a=T38FaxTranscodingJBIG:0 3231 a=T38FaxRateManagement:transferredTCF 3232 a=T38FaxMaxBuffer:72 3233 a=T38FaxMaxDatagram:316 3234 a=T38FaxUdpEC:t38UDPRedundancy 3235 F14 ACK IFTGW UA -> PROXY 3237 ACK sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0 3238 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 3239 Max-Forwards: 70 3240 Route: 3241 To: ;tag=332lflke 3242 From: ;tag=5617 3243 Call-ID: 1717@ift.here.com 3244 CSeq: 1 ACK 3245 Content-Length: 0 3247 F15 ACK PROXY -> IFT UA 3249 ACK sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0 3250 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d008.1 3251 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 3252 ;received=120.121.122.123 3253 Max-Forwards: 69 3254 To: ;tag=332lflke 3255 From: ;tag=5617 3256 Call-ID: 1717@ift.here.com 3257 CSeq: 1 ACK 3258 Content-Length: 0 3260 /* T.38 fax transmission established both ways which replaces the PCM 3261 audio session. */ 3263 /* Then, the end of the fax transmission is detected on ingress side 3264 and sent to the egress side (IFTGW). IFTGW initiates the switch back 3265 to voice communication */ 3267 F16 INVITE IFTGW UA -> PROXY 3269 INVITE sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0 3270 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 3271 Max-Forwards: 70 3272 Route: 3273 To: ;tag=332lflke 3274 From: ;tag=5617 3275 Call-ID: 1717@ift.here.com 3276 CSeq: 2 INVITE 3277 Contact: 3278 Content-Type: application/sdp 3279 Content-Length: 181 3281 v=0 3282 o=faxgw1 2890844527 2890844529 IN IP4 iftgw.there.com 3283 s=Session SDP 3284 c=IN IP4 iftmg.there.com 3285 t=0 0 3286 m=audio 12323 RTP/AVP 0 3287 a=rtpmap:0 PCMU/8000 3289 F17 INVITE PROXY -> IFT UA 3291 INVITE sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0 3292 Via: SIP/2.0/UDP ss1.wcom.com:5060; branch=z9hG4bK2d009.1 3293 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 3294 ;received=120.121.122.123 3295 Max-Forwards: 69 3296 Record-Route: 3297 To: ;tag=332lflke 3298 From: ;tag=5617 3299 Call-ID: 1717@ift.here.com 3300 CSeq: 2 INVITE 3301 Contact: 3302 Content-Type: application/sdp 3303 Content-Length: 181 3305 v=0 3306 o=faxgw1 2890844527 2890844529 IN IP4 iftgw.there.com 3307 s=Session SDP 3308 c=IN IP4 iftmg.there.com 3309 t=0 0 3310 m=audio 12323 RTP/AVP 0 3311 a=rtpmap:0 PCMU/8000 3313 F18 200 OK IFT UA -> PROXY 3315 SIP/2.0 200 OK 3316 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d008.1 3317 ;received=1.2.3.4 3318 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 3319 ;received=120.121.122.123 3320 Record-Route: 3321 To: ;tag=332lflke 3322 From: ;tag=5617 3323 Call-ID: 1717@ift.here.com 3324 CSeq: 2 INVITE 3325 Contact: 3326 Content-Type: application/sdp 3327 Content-Length: 150 3329 v=0 3330 o=faxgw1 2890844527 2890844529 IN IP4 ift.here.com 3331 s=Session SDP 3332 c=IN IP4 120.121.122.123 3333 t=0 0 3334 m=audio 3456 RTP/AVP 0 3335 a=rtpmap:0 PCMU/8000 3337 F19 200 OK PROXY -> IFTGW UA 3339 SIP/2.0 200 OK 3340 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 3341 ;received=120.121.122.123 3342 Record-Route: 3343 To: ;tag=332lflke 3344 From: ;tag=5617 3345 Call-ID: 1717@ift.here.com 3346 CSeq: 2 INVITE 3347 Contact: 3348 Content-Type: application/sdp 3349 Content-Length: 150 3351 v=0 3352 o=faxgw1 2890844527 2890844529 IN IP4 ift.here.com 3353 s=Session SDP 3354 c=IN IP4 120.121.122.123 3355 t=0 0 3356 m=audio 3456 RTP/AVP 0 3357 a=rtpmap:0 PCMU/8000 3359 F20 ACK IFTGW UA -> PROXY 3361 ACK sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0 3362 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 3363 Max-Forwards: 70 3364 Route: 3365 To: ;tag=332lflke 3366 From: ;tag=5617 3367 Call-ID: 1717@ift.here.com 3368 CSeq: 2 ACK 3369 Content-Length: 0 3371 F21 ACK PROXY -> IFT UA 3373 ACK sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0 3374 Via: SIP/2.0/UDP ss1.wcom.com:5060; branch=z9hG4bK2d009.1 3375 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 3376 ;received=120.121.122.123 3377 Max-Forwards: 69 3378 To: ;tag=332lflke 3379 From: ;tag=5617 3380 Call-ID: 1717@ift.here.com 3381 CSeq: 2 ACK 3382 Content-Length: 0 3383 F22 BYE IFT UA -> PROXY 3385 BYE sip:+1-650-555-2222@ss1.wcom.com SIP/2.0 3386 Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 3387 Max-Forwards: 70 3388 Route: 3389 From: ;tag=332lflke 3390 To: ;tag=5617 3391 Call-ID: 1717@ift.here.com 3392 CSeq: 18 BYE 3393 Content-Length: 0 3395 F23 BYE PROXY -> IFTGW UA 3397 BYE sip:+1-650-555-2222@ss1.wcom.com SIP/2.0 3398 Via: SIP/2.0/UDP ss1.wcom.com:5060; branch=z9hG4bK2d009.1 3399 Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 3400 ;received=120.121.122.123 3401 Max-Forwards: 69 3402 From: ;tag=332lflke 3403 To: ;tag=5617 3404 Call-ID: 1717@ift.here.com 3405 CSeq: 18 BYE 3406 Content-Length: 0 3408 F24 200 OK IFTGW UA -> PROXY 3410 SIP/2.0 200 OK 3411 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d007.1 3412 ;received=1.2.3.4 3413 Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 3414 ;received=120.121.122.123 3415 From: ;tag=332lflke 3416 To: ;tag=5617 3417 Call-ID: 1717@ift.here.com 3418 CSeq: 18 BYE 3419 Content-Type: application/sdp 3420 Content-Length: 0 3422 F25 200 OK PROXY -> IFT UA 3424 SIP/2.0 200 OK 3425 Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 3426 ;received=120.121.122.123 3427 From: ;tag=332lflke 3428 To: ;tag=5617 3429 Call-ID: 1717@ift.here.com 3430 CSeq: 18 BYE 3431 Content-Type: application/sdp 3432 Content-Length: 0 3433 3.2 Failure Scenarios 3435 3.2.1 Unsuccessful SIP to SIP no answer 3437 User A Proxy 1 Proxy 2 User B 3438 | | | | 3439 | INVITE F1 | | | 3440 |--------------->| INVITE F2 | | 3441 | (100) F3 |--------------->| INVITE F4 | 3442 |<---------------| (100) F5 |--------------->| 3443 | |<---------------| | 3444 | | | 180 F6 | 3445 | | 180 F7 |<---------------| 3446 | 180 F8 |<---------------| | 3447 |<---------------| | | 3448 | | | | 3449 | CANCEL F9 | | | 3450 |--------------->| | | 3451 | 200 F10 | | | 3452 |<---------------| CANCEL F11 | | 3453 | |--------------->| | 3454 | | 200 F12 | | 3455 | |<---------------| | 3456 | | | CANCEL F13 | 3457 | | |--------------->| 3458 | | | 200 F14 | 3459 | | |<---------------| 3460 | | | 487 F15 | 3461 | | |<---------------| 3462 | | | ACK F16 | 3463 | | 487 F17 |--------------->| 3464 | |<---------------| | 3465 | | ACK F18 | | 3466 | 487 F19 |--------------->| | 3467 |<---------------| | | 3468 | ACK F20 | | | 3469 |--------------->| | | 3470 | | | | 3472 In this scenario, User A gives up on the call before User B answers 3473 (sends a 200 OK response). User A sends a CANCEL (F9) since no final 3474 response had been received from User B. If a 200 OK to the INVITE 3475 had crossed with the CANCEL, User A would have sent an ACK then a BYE 3476 to User B in order to properly terminate the call. 3478 Note that the CANCEL message is acknowledged with a 200 OK on a hop 3479 by hop basis, rather than end to end. 3481 Message Details 3483 F1 INVITE A -> Proxy 1 3485 INVITE sip:UserB@there.com SIP/2.0 3486 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3487 Max-Forwards: 70 3488 From: BigGuy ;tag=9fxced76sl 3489 To: LittleGuy 3490 Call-ID: 12345600@here.com 3491 CSeq: 1 INVITE 3492 Contact: 3493 Proxy-Authorization:Digest username="UserA", realm="wcom.com", 3494 nonce="ze7k1ee88df84f1cec431ae6cbe5a359", opaque="", 3495 uri="sip:UserB@there.com", 3496 response="b00b416324679d7e243f55708d44be7b" 3497 Content-Type: application/sdp 3498 Content-Length: 147 3500 v=0 3501 o=UserA 2890844526 2890844526 IN IP4 here.com 3502 s=Session SDP 3503 c=IN IP4 100.101.102.103 3504 t=0 0 3505 m=audio 49172 RTP/AVP 0 3506 a=rtpmap:0 PCMU/8000 3508 /*Client for A prepares to receive data on port 49172 from the 3509 network.*/ 3511 F2 INVITE Proxy 1 -> Proxy 2 3513 INVITE sip:UserB@there.com SIP/2.0 3514 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3515 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3516 ;received=100.101.102.103 3517 Max-Forwards: 69 3518 Record-Route: 3519 From: BigGuy ;tag=9fxced76sl 3520 To: LittleGuy 3521 Call-ID: 12345600@here.com 3522 CSeq: 1 INVITE 3523 Contact: 3524 Content-Type: application/sdp 3525 Content-Length: 147 3527 v=0 3528 o=UserA 2890844526 2890844526 IN IP4 here.com 3529 s=Session SDP 3530 c=IN IP4 100.101.102.103 3531 t=0 0 3532 m=audio 49172 RTP/AVP 0 3533 a=rtpmap:0 PCMU/8000 3535 F3 (100 Trying) Proxy 1 -> A 3537 SIP/2.0 100 Trying 3538 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3539 ;received=100.101.102.103 3540 From: BigGuy ;tag=9fxced76sl 3541 To: LittleGuy 3542 Call-ID: 12345600@here.com 3543 CSeq: 1 INVITE 3544 Content-Length: 0 3546 F4 INVITE Proxy 2 -> B 3548 INVITE sip:UserB@110.111.112.113 SIP/2.0 3549 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 3550 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3551 ;received=1.2.3.4 3552 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3553 ;received=100.101.102.103 3554 Record-Route: , 3555 Max-Forwards: 68 3556 From: BigGuy ;tag=9fxced76sl 3557 To: LittleGuy 3558 Call-ID: 12345600@here.com 3559 CSeq: 1 INVITE 3560 Contact: 3561 Content-Type: application/sdp 3562 Content-Length: 147 3564 v=0 3565 o=UserA 2890844526 2890844526 IN IP4 here.com 3566 s=Session SDP 3567 c=IN IP4 100.101.102.103 3568 t=0 0 3569 m=audio 49172 RTP/AVP 0 3570 a=rtpmap:0 PCMU/8000 3572 F5 (100 Trying) Proxy 2 -> Proxy 1 3574 SIP/2.0 100 Trying 3575 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3576 ;received=1.2.3.4 3577 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3578 ;received=100.101.102.103 3579 From: BigGuy ;tag=9fxced76sl 3580 To: LittleGuy 3581 Call-ID: 12345600@here.com 3582 CSeq: 1 INVITE 3583 Content-Length: 0 3585 F6 180 Ringing B -> Proxy 2 3587 SIP/2.0 180 Ringing 3588 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 3589 ;received=2.3.4.5 3590 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3591 ;received=1.2.3.4 3592 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3593 ;received=100.101.102.103 3594 Record-Route: , 3595 From: BigGuy ;tag=9fxced76sl 3596 To: LittleGuy ;tag=314159 3597 Call-ID: 12345600@here.com 3598 CSeq: 1 INVITE 3599 Contact: 3600 Content-Length: 0 3602 F7 180 Ringing Proxy 2 -> Proxy 1 3604 SIP/2.0 180 Ringing 3605 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3606 ;received=1.2.3.4 3607 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3608 ;received=100.101.102.103 3609 Record-Route: , 3610 From: BigGuy ;tag=9fxced76sl 3611 To: LittleGuy ;tag=314159 3612 Call-ID: 12345600@here.com 3613 CSeq: 1 INVITE 3614 Contact: 3615 Content-Length: 0 3617 F8 180 Ringing Proxy 1 -> A 3619 SIP/2.0 180 Ringing 3620 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3621 ;received=100.101.102.103 3622 Record-Route: , 3623 From: BigGuy ;tag=9fxced76sl 3624 To: LittleGuy ;tag=314159 3625 Call-ID: 12345600@here.com 3626 CSeq: 1 INVITE 3627 Contact: 3628 Content-Length: 0 3629 F9 CANCEL A -> Proxy 1 3631 CANCEL sip:UserB@there.com SIP/2.0 3632 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3633 Max-Forwards: 70 3634 From: BigGuy ;tag=9fxced76sl 3635 To: LittleGuy 3636 Call-ID: 12345600@here.com 3637 CSeq: 1 CANCEL 3638 Content-Length: 0 3640 F10 200 OK Proxy 1 -> A 3642 SIP/2.0 200 OK 3643 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3644 ;received=100.101.102.103 3645 From: BigGuy ;tag=9fxced76sl 3646 To: LittleGuy 3647 Call-ID: 12345600@here.com 3648 CSeq: 1 CANCEL 3649 Content-Length: 0 3651 F11 CANCEL Proxy 1 -> Proxy 2 3653 CANCEL sip:UserA@here.com SIP/2.0 3654 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3655 Max-Forwards: 70 3656 From: BigGuy ;tag=9fxced76sl 3657 To: LittleGuy 3658 Call-ID: 12345600@here.com 3659 CSeq: 1 CANCEL 3660 Content-Length: 0 3662 F12 200 OK Proxy 2 -> Proxy 1 3664 SIP/2.0 200 OK 3665 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3666 ;received=1.2.3.4 3667 From: BigGuy ;tag=9fxced76sl 3668 To: LittleGuy 3669 Call-ID: 12345600@here.com 3670 CSeq: 1 CANCEL 3671 Content-Length: 0 3673 F13 CANCEL Proxy 2 -> B 3674 CANCEL sip:UserB@110.111.112.113 SIP/2.0 3675 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 3676 Max-Forwards: 70 3677 From: BigGuy ;tag=9fxced76sl 3678 To: LittleGuy 3679 Call-ID: 12345600@here.com 3680 CSeq: 1 CANCEL 3681 Content-Length: 0 3683 F14 200 OK B -> Proxy 2 3685 SIP/2.0 200 OK 3686 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 3687 ;received=2.3.4.5 3688 From: BigGuy ;tag=9fxced76sl 3689 To: LittleGuy 3690 Call-ID: 12345600@here.com 3691 CSeq: 1 CANCEL 3692 Content-Length: 0 3694 F15 487 Request Terminated B -> Proxy 2 3696 SIP/2.0 487 Request Terminated 3697 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 3698 ;received=2.3.4.5 3699 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3700 ;received=1.2.3.4 3701 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3702 ;received=100.101.102.103 3703 From: BigGuy ;tag=9fxced76sl 3704 To: LittleGuy ;tag=314159 3705 Call-ID: 12345600@here.com 3706 CSeq: 1 INVITE 3707 Content-Length: 0 3709 F16 ACK Proxy 2 -> B 3711 ACK sip:UserB@110.111.112.113 SIP/2.0 3712 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 3713 Max-Forwards: 70 3714 From: BigGuy ;tag=9fxced76sl 3715 To: LittleGuy ;tag=314159 3716 Call-ID: 12345600@here.com 3717 CSeq: 1 ACK 3718 Content-Length: 0 3720 F17 487 Request Terminated Proxy 2 -> Proxy 1 3721 SIP/2.0 487 Request Terminated 3722 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3723 ;received=1.2.3.4 3724 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3725 ;received=100.101.102.103 3726 From: BigGuy ;tag=9fxced76sl 3727 To: LittleGuy ;tag=314159 3728 Call-ID: 12345600@here.com 3729 CSeq: 1 INVITE 3730 Content-Length: 0 3732 F18 ACK Proxy 1 -> Proxy 2 3734 ACK sip:UserB@there.com SIP/2.0 3735 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 3736 Max-Forwards: 70 3737 From: BigGuy ;tag=9fxced76sl 3738 To: LittleGuy ;tag=314159 3739 Call-ID: 12345600@here.com 3740 CSeq: 1 ACK 3741 Content-Length: 0 3743 F19 487 Request Terminated Proxy 1 -> A 3745 SIP/2.0 487 Request Terminated 3746 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3747 ;received=100.101.102.103 3748 From: BigGuy ;tag=9fxced76sl 3749 To: LittleGuy ;tag=314159 3750 Call-ID: 12345600@here.com 3751 CSeq: 1 INVITE 3753 F20 ACK A -> Proxy 1 3755 ACK sip:UserB@there.com SIP/2.0 3756 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3757 Max-Forwards: 70 3758 From: BigGuy ;tag=9fxced76sl 3759 To: LittleGuy ;tag=314159 3760 Call-ID: 12345600@here.com 3761 CSeq: 1 ACK 3762 Content-Length: 0 3764 3.2.2 Unsuccessful SIP to SIP busy 3766 User A Proxy 1 Proxy 2 User B 3767 | | | | 3768 | INVITE F1 | | | 3769 |--------------->| INVITE F2 | | 3770 | (100) F3 |--------------->| INVITE F4 | 3771 |<---------------| (100) F5 |--------------->| 3772 | |<---------------| | 3773 | | | 486 F6 | 3774 | | |<---------------| 3775 | | | ACK F7 | 3776 | | 486 F8 |--------------->| 3777 | |<---------------| | 3778 | | ACK F9 | | 3779 | 486 F10 |--------------->| | 3780 |<---------------| | | 3781 | ACK F11 | | | 3782 |--------------->| | | 3783 | | | | 3785 In this scenario, User B is busy and sends a 486 Busy Here response 3786 to User A's INVITE. Note that the 4xx response is ACKed at each 3787 signaling leg. 3789 Message Details 3791 F1 INVITE User A -> Proxy 1 3793 INVITE sip:UserB@there.com SIP/2.0 3794 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3795 Max-Forwards: 70 3796 From: BigGuy ;tag=9fxced76sl 3797 To: LittleGuy 3798 Call-ID: 12345600@here.com 3799 CSeq: 1 INVITE 3800 Contact: 3801 Proxy-Authorization:Digest username="UserA", realm="wcom.com", 3802 nonce="dc3a5ab2530aa93112cf5904ba7d88fa", opaque="", 3803 uri="sip:UserB@there.com", 3804 response="702138b27d869ac8741e10ec643d55be" 3805 Content-Type: application/sdp 3806 Content-Length: 147 3808 v=0 3809 o=UserA 2890844526 2890844526 IN IP4 here.com 3810 s=Session SDP 3811 c=IN IP4 100.101.102.103 3812 t=0 0 3813 m=audio 49172 RTP/AVP 0 3814 a=rtpmap:0 PCMU/8000 3816 /*Client for A prepares to receive data on port 49172 from the 3817 network.*/ 3819 F2 INVITE Proxy 1 -> Proxy 2 3821 INVITE sip:UserB@there.com SIP/2.0 3822 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3823 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3824 ;received=100.101.102.103 3825 Max-Forwards: 69 3826 Record-Route: 3827 From: BigGuy ;tag=9fxced76sl 3828 To: LittleGuy 3829 Call-ID: 12345600@here.com 3830 CSeq: 1 INVITE 3831 Contact: 3832 Content-Type: application/sdp 3833 Content-Length: 147 3835 v=0 3836 o=UserA 2890844526 2890844526 IN IP4 here.com 3837 s=Session SDP 3838 c=IN IP4 100.101.102.103 3839 t=0 0 3840 m=audio 49172 RTP/AVP 0 3841 a=rtpmap:0 PCMU/8000 3843 F3 (100 Trying) Proxy 1 -> User A 3845 SIP/2.0 100 Trying 3846 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3847 ;received=100.101.102.103 3848 From: BigGuy ;tag=9fxced76sl 3849 To: LittleGuy 3850 Call-ID: 12345600@here.com 3851 CSeq: 1 INVITE 3852 Content-Length: 0 3854 F4 INVITE Proxy 2 -> User B 3856 INVITE sip:UserB@110.111.112.113 SIP/2.0 3857 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 3858 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3859 ;received=1.2.3.4 3860 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3861 ;received=100.101.102.103 3862 Max-Forwards: 68 3863 Record-Route: , 3864 From: BigGuy ;tag=9fxced76sl 3865 To: LittleGuy 3866 Call-ID: 12345600@here.com 3867 CSeq: 1 INVITE 3868 Contact: 3869 Content-Type: application/sdp 3870 Content-Length: 147 3872 v=0 3873 o=UserA 2890844526 2890844526 IN IP4 here.com 3874 s=Session SDP 3875 c=IN IP4 100.101.102.103 3876 t=0 0 3877 m=audio 49172 RTP/AVP 0 3878 a=rtpmap:0 PCMU/8000 3880 F5 (100 Trying) Proxy 2 -> Proxy 1 3882 SIP/2.0 100 Trying 3883 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3884 ;received=1.2.3.4 3885 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3886 ;received=100.101.102.103 3887 From: BigGuy ;tag=9fxced76sl 3888 To: LittleGuy 3889 Call-ID: 12345600@here.com 3890 CSeq: 1 INVITE 3891 Content-Length: 0 3893 F6 486 Busy Here User B -> Proxy 2 3895 SIP/2.0 486 Busy Here 3896 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 3897 ;received=2.3.4.5 3898 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3899 ;received=1.2.3.4 3900 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3901 ;received=100.101.102.103 3902 From: BigGuy ;tag=9fxced76sl 3903 To: LittleGuy ;tag=314159 3904 Call-ID: 12345600@here.com 3905 CSeq: 1 INVITE 3906 Content-Length: 0 3908 F7 ACK Proxy 2 -> User B 3910 ACK sip:UserB@110.111.112.113 SIP/2.0 3911 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 3912 Max-Forwards: 70 3913 From: BigGuy ;tag=9fxced76sl 3914 To: LittleGuy ;tag=314159 3915 Call-ID: 12345600@here.com 3916 CSeq: 1 ACK 3917 Content-Length: 0 3919 F8 486 Busy Here Proxy 2 -> Proxy 1 3921 SIP/2.0 486 Busy Here 3922 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3923 ;received=1.2.3.4 3924 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3925 ;received=100.101.102.103 3926 From: BigGuy ;tag=9fxced76sl 3927 To: LittleGuy ;tag=314159 3928 Call-ID: 12345600@here.com 3929 CSeq: 1 INVITE 3930 Content-Length: 0 3932 F9 ACK Proxy 1 -> Proxy 2 3934 ACK sip:UserB@there.com SIP/2.0 3935 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 3936 Max-Forwards: 70 3937 From: BigGuy ;tag=9fxced76sl 3938 To: LittleGuy ;tag=314159 3939 Call-ID: 12345600@here.com 3940 CSeq: 1 ACK 3941 Content-Length: 0 3943 F10 486 Busy Here Proxy 1 -> User A 3945 SIP/2.0 486 Busy Here 3946 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3947 ;received=100.101.102.103 3948 From: BigGuy ;tag=9fxced76sl 3949 To: LittleGuy ;tag=314159 3950 Call-ID: 12345600@here.com 3951 CSeq: 1 INVITE 3952 Content-Length: 0 3954 F11 ACK User A -> Proxy 1 3956 ACK sip:UserB@there.com SIP/2.0 3957 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 3958 Max-Forwards: 70 3959 From: BigGuy ;tag=9fxced76sl 3960 To: LittleGuy ;tag=314159 3961 Call-ID: 12345600@here.com 3962 CSeq: 1 ACK 3963 Content-Length: 0 3965 3.2.3 Unsuccessful SIP to SIP no response 3967 User A Proxy 1 Proxy 2 User B 3968 | | | | 3969 | INVITE F1 | | | 3970 |--------------->| INVITE F2 | | 3971 | (100) F3 |--------------->| INVITE F4 | 3972 |<---------------| (100) F5 |--------------->| 3973 | |<---------------| INVITE F6 | 3974 | | |--------------->| 3975 | | | INVITE F7 | 3976 | | |--------------->| 3977 | | | INVITE F8 | 3978 | | |--------------->| 3979 | | | INVITE F9 | 3980 | | |--------------->| 3981 | | | INVITE F10 | 3982 | | |--------------->| 3983 | | | INVITE F11 | 3984 | | 480 F12 |--------------->| 3985 | |<---------------| | 3986 | | ACK F13 | | 3987 | 480 F14 |--------------->| | 3988 |<---------------| | | 3989 | ACK F15 | | | 3990 |--------------->| | | 3991 | | | | 3993 In this example, there is no response from User B to User A's INVITE 3994 messages being re-transmitted by Proxy 2. After the sixth re- 3995 transmission, Proxy 2 gives up and sends a 480 No Response to User A. 3997 Message Details 3999 F1 INVITE User A -> Proxy 1 4001 INVITE sip:UserB@there.com SIP/2.0 4002 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4003 Max-Forwards: 70 4004 From: BigGuy ;tag=9fxced76sl 4005 To: LittleGuy 4006 Call-ID: 12345600@here.com 4007 CSeq: 1 INVITE 4008 Contact: 4009 Proxy-Authorization:Digest username="UserA", realm="wcom.com", 4010 nonce="cf5904ba7d8dc3a5ab2530aa931128fa", opaque="", 4011 uri="sip:UserB@there.com", 4012 response="7afc04be7961f053c24f80e7dbaf888f" 4013 Content-Type: application/sdp 4014 Content-Length: 147 4015 v=0 4016 o=UserA 2890844526 2890844526 IN IP4 here.com 4017 s=Session SDP 4018 c=IN IP4 100.101.102.103 4019 t=0 0 4020 m=audio 49172 RTP/AVP 0 4021 a=rtpmap:0 PCMU/8000 4023 /*Client for A prepares to receive data on port 49172 from the 4024 network.*/ 4026 F2 INVITE Proxy 1 -> Proxy 2 4028 INVITE sip:UserB@there.com SIP/2.0 4029 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4030 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4031 ;received=100.101.102.103 4032 Max-Forwards: 69 4033 Record-Route: 4034 From: BigGuy ;tag=9fxced76sl 4035 To: LittleGuy 4036 Call-ID: 12345600@here.com 4037 CSeq: 1 INVITE 4038 Contact: 4039 Content-Type: application/sdp 4040 Content-Length: 147 4042 v=0 4043 o=UserA 2890844526 2890844526 IN IP4 here.com 4044 s=Session SDP 4045 c=IN IP4 100.101.102.103 4046 t=0 0 4047 m=audio 49172 RTP/AVP 0 4048 a=rtpmap:0 PCMU/8000 4050 F3 (100 Trying) Proxy 1 -> User A 4052 SIP/2.0 100 Trying 4053 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4054 ;received=100.101.102.103 4055 From: BigGuy ;tag=9fxced76sl 4056 To: LittleGuy 4057 Call-ID: 12345600@here.com 4058 CSeq: 1 INVITE 4059 Content-Length: 0 4061 F4 INVITE Proxy 2 -> User B 4062 INVITE sip:UserB@110.111.112.113 SIP/2.0 4063 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 4064 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4065 ;received=1.2.3.4 4066 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4067 ;received=100.101.102.103 4068 Max-Forwards: 68 4069 Record-Route: , 4070 From: BigGuy ;tag=9fxced76sl 4071 To: LittleGuy 4072 Call-ID: 12345600@here.com 4073 CSeq: 1 INVITE 4074 Contact: 4075 Content-Type: application/sdp 4076 Content-Length: 147 4078 v=0 4079 o=UserA 2890844526 2890844526 IN IP4 here.com 4080 s=Session SDP 4081 c=IN IP4 100.101.102.103 4082 t=0 0 4083 m=audio 49172 RTP/AVP 0 4084 a=rtpmap:0 PCMU/8000 4086 F5 (100 Trying) Proxy 2 -> Proxy 1 4088 SIP/2.0 100 Trying 4089 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4090 ;received=1.2.3.4 4091 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4092 ;received=100.101.102.103 4093 From: BigGuy ;tag=9fxced76sl 4094 To: LittleGuy 4095 Call-ID: 12345600@here.com 4096 CSeq: 1 INVITE 4097 Content-Length: 0 4099 F6 INVITE Proxy 2 -> User B 4101 Resend of Message F4 4103 F7 INVITE Proxy 2 -> User B 4105 Resend of Message F4 4107 F8 INVITE Proxy 2 -> User B 4109 Resend of Message F4 4110 F9 INVITE Proxy 2 -> User B 4112 Resend of Message F4 4114 F10 INVITE Proxy 2 -> User B 4116 Resend of Message F4 4118 F11 INVITE Proxy 2 -> User B 4120 Resend of Message F4 4122 /* Proxy 2 gives up */ 4124 F12 480 No Response Proxy 2 -> Proxy 1 4126 SIP/2.0 480 No Response 4127 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4128 ;received=1.2.3.4 4129 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4130 ;received=100.101.102.103 4131 From: BigGuy ;tag=9fxced76sl 4132 To: LittleGuy ;tag=314159 4133 Call-ID: 12345600@here.com 4134 CSeq: 1 INVITE 4135 Content-Length: 0 4137 F13 ACK Proxy 1 -> Proxy 2 4139 ACK sip:UserB@there.com SIP/2.0 4140 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4141 Max-Forwards: 70 4142 From: BigGuy ;tag=9fxced76sl 4143 To: LittleGuy ;tag=314159 4144 Call-ID: 12345600@here.com 4145 CSeq: 1 ACK 4146 Content-Length: 0 4148 F14 480 No Response Proxy 1 -> User A 4150 SIP/2.0 480 No Response 4151 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4152 ;received=100.101.102.103 4153 From: BigGuy ;tag=9fxced76sl 4154 To: LittleGuy ;tag=314159 4155 Call-ID: 12345600@here.com 4156 CSeq: 1 INVITE 4157 Content-Length: 0 4159 F15 ACK User A -> Proxy 1 4161 ACK sip:UserB@there.com SIP/2.0 4162 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4163 Max-Forwards: 70 4164 From: BigGuy ;tag=9fxced76sl 4165 To: LittleGuy ;tag=314159 4166 Call-ID: 12345600@here.com 4167 CSeq: 1 ACK 4168 Content-Length: 0 4170 3.2.4 Unsuccessful SIP to SIP Temporarily Unavailable 4172 User A Proxy 1 Proxy 2 User B 4173 | | | | 4174 | INVITE F1 | | | 4175 |--------------->| INVITE F2 | | 4176 | (100) F3 |--------------->| INVITE F4 | 4177 |<---------------| (100) F5 |--------------->| 4178 | |<---------------| 180 F6 | 4179 | | 180 F7 |<---------------| 4180 | 180 F8 |<---------------| | 4181 |<---------------| | 480 F9 | 4182 | | |<---------------| 4183 | | | ACK F10 | 4184 | | 480 F11 |--------------->| 4185 | |<---------------| | 4186 | | ACK F12 | | 4187 | 480 F13 |--------------->| | 4188 |<---------------| | | 4189 | ACK F14 | | | 4190 |--------------->| | | 4191 | | | | 4193 In this scenario, User B initially sends a 180 Ringing response to 4194 User A, indicating that alerting is taking place. However, then a 4195 480 Unavailable is then sent to User A. This response is 4196 acknowledged then proxied back to User A. 4198 Message Details 4200 F1 INVITE A -> Proxy 1 4202 INVITE sip:UserB@there.com SIP/2.0 4203 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4204 Max-Forwards: 70 4205 From: BigGuy ;tag=9fxced76sl 4206 To: LittleGuy 4207 Call-ID: 12345600@here.com 4208 CSeq: 1 INVITE 4209 Contact: 4210 Proxy-Authorization:Digest username="UserA", realm="wcom.com", 4211 nonce="aa9311cf5904ba7d8dc3a5ab253028fa", opaque="", 4212 uri="sip:UserB@there.com", 4213 response="59a46a91bf1646562a4d486c84b399db" 4214 Content-Type: application/sdp 4215 Content-Length: 147 4217 v=0 4218 o=UserA 2890844526 2890844526 IN IP4 here.com 4219 s=Session SDP 4220 c=IN IP4 100.101.102.103 4221 t=0 0 4222 m=audio 49172 RTP/AVP 0 4223 a=rtpmap:0 PCMU/8000 4225 /*Client for A prepares to receive data on port 49172 from the 4226 network.*/ 4228 F2 INVITE Proxy 1 -> Proxy 2 4230 INVITE sip:UserB@there.com SIP/2.0 4231 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4232 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4233 ;received=100.101.102.103 4234 Max-Forwards: 69 4235 Record-Route: 4236 From: BigGuy ;tag=9fxced76sl 4237 To: LittleGuy 4238 Call-ID: 12345600@here.com 4239 CSeq: 1 INVITE 4240 Contact: 4241 Content-Type: application/sdp 4242 Content-Length: 147 4244 v=0 4245 o=UserA 2890844526 2890844526 IN IP4 here.com 4246 s=Session SDP 4247 c=IN IP4 100.101.102.103 4248 t=0 0 4249 m=audio 49172 RTP/AVP 0 4250 a=rtpmap:0 PCMU/8000 4252 F3 (100 Trying) Proxy 1 -> A 4254 SIP/2.0 100 Trying 4255 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4256 ;received=100.101.102.103 4257 From: BigGuy ;tag=9fxced76sl 4258 To: LittleGuy 4259 Call-ID: 12345600@here.com 4260 CSeq: 1 INVITE 4261 Content-Length: 0 4263 F4 INVITE Proxy 2 -> B 4265 INVITE sip:UserB@110.111.112.113 SIP/2.0 4266 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 4267 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4268 ;received=1.2.3.4 4269 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4270 ;received=100.101.102.103 4271 Max-Forwards: 68 4272 Record-Route: , 4273 From: BigGuy ;tag=9fxced76sl 4274 To: LittleGuy 4275 Call-ID: 12345600@here.com 4276 CSeq: 1 INVITE 4277 Contact: 4278 Content-Type: application/sdp 4279 Content-Length: 147 4281 v=0 4282 o=UserA 2890844526 2890844526 IN IP4 here.com 4283 s=Session SDP 4284 c=IN IP4 100.101.102.103 4285 t=0 0 4286 m=audio 49172 RTP/AVP 0 4287 a=rtpmap:0 PCMU/8000 4289 F5 (100 Trying) Proxy 2 -> Proxy 1 4291 SIP/2.0 100 Trying 4292 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4293 ;received=1.2.3.4 4294 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4295 ;received=100.101.102.103 4296 From: BigGuy ;tag=9fxced76sl 4297 To: LittleGuy 4298 Call-ID: 12345600@here.com 4299 CSeq: 1 INVITE 4300 Content-Length: 0 4302 F6 180 Ringing B -> Proxy 2 4304 SIP/2.0 180 Ringing 4305 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 4306 ;received=2.3.4.5 4307 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4308 ;received=1.2.3.4 4309 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4310 ;received=100.101.102.103 4311 Record-Route: , 4312 From: BigGuy ;tag=9fxced76sl 4313 To: LittleGuy ;tag=314159 4314 Call-ID: 12345600@here.com 4315 CSeq: 1 INVITE 4316 Contact: 4317 Content-Length: 0 4318 F7 180 Ringing Proxy 2 -> Proxy 1 4320 SIP/2.0 180 Ringing 4321 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4322 ;received=1.2.3.4 4323 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4324 ;received=100.101.102.103 4325 Record-Route: , 4326 From: BigGuy ;tag=9fxced76sl 4327 To: LittleGuy ;tag=314159 4328 Call-ID: 12345600@here.com 4329 CSeq: 1 INVITE 4330 Contact: 4331 Content-Length: 0 4333 F8 180 Ringing Proxy 1 -> A 4335 SIP/2.0 180 Ringing 4336 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4337 ;received=100.101.102.103 4338 Record-Route: , 4339 From: BigGuy ;tag=9fxced76sl 4340 To: LittleGuy ;tag=314159 4341 Call-ID: 12345600@here.com 4342 CSeq: 1 INVITE 4343 Contact: 4344 Content-Length: 0 4346 F9 480 Temporarily Unavailable B -> Proxy 2 4348 SIP/2.0 480 Temporarily Unavailable 4349 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 4350 ;received=2.3.4.5 4351 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4352 ;received=1.2.3.4 4353 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4354 ;received=100.101.102.103 4355 From: BigGuy ;tag=9fxced76sl 4356 To: LittleGuy ;tag=314159 4357 Call-ID: 12345600@here.com 4358 CSeq: 1 INVITE 4359 Content-Length: 0 4361 F10 ACK Proxy 2 -> B 4363 ACK sip:UserB@110.111.112.113 SIP/2.0 4364 Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 4365 Max-Forwards: 70 4366 From: BigGuy ;tag=9fxced76sl 4367 To: LittleGuy ;tag=314159 4368 Call-ID: 12345600@here.com 4369 CSeq: 1 ACK 4370 Content-Length: 0 4372 F11 480 Temporarily Unavailable Proxy 2 -> Proxy 1 4374 SIP/2.0 480 Temporarily Unavailable 4375 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4376 ;received=1.2.3.4 4377 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4378 ;received=100.101.102.103 4379 From: BigGuy ;tag=9fxced76sl 4380 To: LittleGuy ;tag=314159 4381 Call-ID: 12345600@here.com 4382 CSeq: 1 INVITE 4383 Content-Length: 0 4385 F12 ACK Proxy 1 -> Proxy 2 4387 ACK sip:UserB@there.com SIP/2.0 4388 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4389 Max-Forwards: 70 4390 From: BigGuy ;tag=9fxced76sl 4391 To: LittleGuy ;tag=314159 4392 Call-ID: 12345600@here.com 4393 CSeq: 1 ACK 4394 Content-Length: 0 4396 F13 480 Temporarily Unavailable Proxy 1 -> A 4398 SIP/2.0 480 Temporarily Unavailable 4399 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4400 ;received=100.101.102.103 4401 From: BigGuy ;tag=9fxced76sl 4402 To: LittleGuy ;tag=314159 4403 Call-ID: 12345600@here.com 4404 CSeq: 1 INVITE 4405 Content-Length: 0 4407 F14 ACK A -> Proxy 1 4409 ACK sip:UserB@there.com SIP/2.0 4410 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4411 Max-Forwards: 70 4412 From: BigGuy ;tag=9fxced76sl 4413 To: LittleGuy ;tag=314159 4414 Call-ID: 12345600@here.com 4415 CSeq: 1 ACK 4416 Content-Length: 0 4417 4 SIP to Gateway Dialing 4419 In the following scenarios, User A (BigGuy sip:UserA@here.com) is a 4420 SIP phone or other SIP-enabled device. User B is reachable via the 4421 PSTN at global telephone number +1-972-555-2222. User A places a call 4422 to User B through a Proxy Server Proxy 1 and a Network Gateway. In 4423 other scenarios, User A places calls to User C, who is served via a 4424 PBX (Private Branch Exchange) and is identified by a private 4425 extension 444-3333, or global number +1-918-555-3333. Note that User 4426 A uses his/her global telephone number +1-314-555-1111 in the From 4427 header in the INVITE messages. This then gives the Gateway the 4428 option of using this header to populate the calling party 4429 identification field in subsequent signaling (CgPN in ISUP). Left 4430 open is the issue of how the Gateway can determine the accuracy of 4431 the telephone number, necessary before passing it as a valid CgPN in 4432 the PSTN. Note that User A still uses his/her SIP URL in the Contact 4433 header, since the call could be redirected back to the SIP network. 4435 There is a major difference in the call flows in this section. In- 4436 band alerting (ringing tone, busy tone, recorded announcements, etc.) 4437 is present in the PSTN speech path after the receipt of the SS7 4438 Address Complete Message (ACM) which maps to the SIP 180 Ringing 4439 response. In a SIP to SIP call, the media path is not established 4440 until the call is answered (200 OK sent). In order for the SIP 4441 caller User A to hear this alerting, it is necessary that an early 4442 media path be established to perform this. This is the purpose of 4443 the 183 Session Progress responses used throughout this document 4444 in place of the 180 Ringing. 4446 4.1 Success Scenarios 4448 In these scenarios, User A is a SIP phone or other SIP-enabled 4449 device. User A places a call to User B in the PSTN or User C on a 4450 PBX through a Proxy Server Proxy 1 and a Gateway. 4452 4.1.1 Successful SIP to ISUP PSTN call 4454 User A Proxy 1 NGW 1 User B 4455 | | | | 4456 | INVITE F1 | | | 4457 |--------------->| | | 4458 | (100) F2 | | | 4459 |<---------------| INVITE F3 | | 4460 | |--------------->| | 4461 | | (100) F4 | | 4462 | |<---------------| IAM F5 | 4463 | | |--------------->| 4464 | | | ACM F6 | 4465 | | 183 F7 |<---------------| 4466 | 183 F8 |<---------------| | 4467 |<---------------| | | 4468 | One Way RTP Media | One Way Voice | 4469 |<================================|<===============| 4470 | | | ANM F9 | 4471 | | 200 F10 |<---------------| 4472 | 200 F11 |<---------------| | 4473 |<---------------| | | 4474 | ACK F12 | | | 4475 |--------------->| ACK F13 | | 4476 | |--------------->| | 4477 | Both Way RTP Media | Both Way Voice | 4478 |<===============================>|<==============>| 4479 | BYE F14 | | | 4480 |--------------->| BYE F15 | | 4481 | |--------------->| | 4482 | | 200 F16 | | 4483 | 200 F17 |<---------------| REL F18 | 4484 |<---------------| |--------------->| 4485 | | | RLC F19 | 4486 | | |<---------------| 4487 | | | | 4489 User A dials the globalized E.164 number +1-972-555-2222 to reach 4490 User B. Note that A might have only dialed the last 7 digits, or 4491 some other dialing plan. It is assumed that the SIP User Agent 4492 Client converts the digits into a global number and puts them into a 4493 SIP URL. 4495 User A could use either their SIP address (sip:UserA@here.com) or SIP 4496 telephone number (sip:+1-314-555-1111@ss1.wcom.com;user=phone) in the 4497 From header. In this example, the telephone number is included, and 4498 it is shown as being passed as calling party identification through 4499 the Network Gateway (NGW 1) to User B (F5). Note that for this 4500 number to be passed into the SS7 network, it would have to be somehow 4501 verified for accuracy. 4503 In this scenario, User B answers the call then User A disconnects the 4504 call. Signaling between NGW 1 and User B's telephone switch is ANSI 4505 ISUP. For the details of SIP to ISUP mapping, refer to [SIP-ISUP]. 4507 Message Details 4509 F1 INVITE A -> Proxy 1 4511 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 4512 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4513 Max-Forwards: 70 4514 From: BigGuy 4515 ;tag=9fxced76sl 4516 To: LittleGuy 4517 Call-ID: 12345600@here.com 4518 CSeq: 1 INVITE 4519 Contact: 4520 Proxy-Authorization:Digest username="UserA", realm="wcom.com", 4521 nonce="dc3a5ab25302aa931904ba7d88fa1cf5", opaque="", 4522 uri="sip:UserB@there.com", 4523 response="ccdca50cb091d587421457305d097458c" 4524 Content-Type: application/sdp 4525 Content-Length: 140 4527 v=0 4528 o=UserA 2890844526 2890844526 IN IP4 here.com 4529 s=Session SDP 4530 c=IN IP4 here.com 4531 t=0 0 4532 m=audio 49172 RTP/AVP 0 4533 a=rtpmap:0 PCMU/8000 4535 F2 (100 Trying) Proxy 1 -> User A 4537 SIP/2.0 100 Trying 4538 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4539 ;received=100.101.102.103 4540 From: BigGuy 4541 ;tag=9fxced76sl 4542 To: LittleGuy 4543 Call-ID: 12345600@here.com 4544 CSeq: 1 INVITE 4545 Content-Length: 0 4547 /* Proxy 1 uses a Location Service function to determine where B is 4548 located. Based upon location analysis the call is forwarded to NGW 4549 1. Client for A prepares to receive data on port 49172 from the 4550 network.*/ 4552 F3 INVITE Proxy 1 -> NGW 1 4554 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 4555 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4556 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4557 ;received=100.101.102.103 4558 Max-Forwards: 69 4559 Record-Route: 4560 From: BigGuy 4561 ;tag=9fxced76sl 4562 To: LittleGuy 4563 Call-ID: 12345600@here.com 4564 CSeq: 1 INVITE 4565 Contact: 4566 Content-Type: application/sdp 4567 Content-Length: 140 4569 v=0 4570 o=UserA 2890844526 2890844526 IN IP4 here.com 4571 s=Session SDP 4572 c=IN IP4 here.com 4573 t=0 0 4574 m=audio 49172 RTP/AVP 0 4575 a=rtpmap:0 PCMU/8000 4577 F4 (100 Trying) NGW 1 -> Proxy 1 4579 SIP/2.0 100 Trying 4580 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4581 ;received=1.2.3.4 4582 From: BigGuy 4583 ;tag=9fxced76sl 4584 To: LittleGuy 4585 Call-ID: 12345600@here.com 4586 CSeq: 1 INVITE 4587 Content-Length: 0 4589 F5 IAM NGW 1 -> User B 4591 IAM 4592 CdPN=972-555-2222,NPI=E.164,NOA=National 4593 CgPN=314-555-1111,NPI=E.164,NOA=National 4595 F6 ACM User B -> NGW 1 4597 ACM 4598 F7 183 Session Progress NGW 1 -> Proxy 1 4600 SIP/2.0 183 Session Progress 4601 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4602 ;received=1.2.3.4 4603 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4604 ;received=100.101.102.103 4605 Record-Route: 4606 From: BigGuy 4607 ;tag=9fxced76sl 4608 To: LittleGuy 4609 ;tag=314159 4610 Call-ID: 12345600@here.com 4611 CSeq: 1 INVITE 4612 Contact: 4613 Content-Type: application/sdp 4614 Content-Length: 164 4616 v=0 4617 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 4618 s=Session SDP 4619 c=IN IP4 130.131.132.133 4620 t=0 0 4621 m=audio 3456 RTP/AVP 0 4622 a=rtpmap:0 PCMU/8000 4624 /* NGW 1 sends PSTN audio (ringing) in the RTP path to A */ 4626 F8 183 Session Progress Proxy 1 -> User A 4628 SIP/2.0 183 Session Progress 4629 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4630 ;received=100.101.102.103 4631 Record-Route: 4632 From: BigGuy 4633 ;tag=9fxced76sl 4634 To: LittleGuy 4635 ;tag=314159 4636 Call-ID: 12345600@here.com 4637 CSeq: 1 INVITE 4638 Contact: 4639 Content-Type: application/sdp 4640 Content-Length: 164 4642 v=0 4643 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 4644 s=Session SDP 4645 c=IN IP4 130.131.132.133 4646 t=0 0 4647 m=audio 3456 RTP/AVP 0 4648 a=rtpmap:0 PCMU/8000 4650 F9 ANM User B -> NGW 1 4652 ANM 4654 F10 200 OK NGW 1 -> Proxy 1 4656 SIP/2.0 200 OK 4657 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4658 ;received=1.2.3.4 4659 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4660 ;received=100.101.102.103 4661 Record-Route: 4662 From: BigGuy 4663 ;tag=9fxced76sl 4664 To: LittleGuy 4665 ;tag=314159 4666 Call-ID: 12345600@here.com 4667 CSeq: 1 INVITE 4668 Contact: 4669 Content-Type: application/sdp 4670 Content-Length: 164 4672 v=0 4673 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 4674 s=Session SDP 4675 c=IN IP4 130.131.132.133 4676 t=0 0 4677 m=audio 3456 RTP/AVP 0 4678 a=rtpmap:0 PCMU/8000 4680 F11 200 OK Proxy 1 -> User A 4682 SIP/2.0 200 OK 4683 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4684 ;received=100.101.102.103 4685 Record-Route: 4686 From: BigGuy 4687 ;tag=9fxced76sl 4688 To: LittleGuy 4689 ;tag=314159 4690 Call-ID: 12345600@here.com 4691 CSeq: 1 INVITE 4692 Contact: 4693 Content-Type: application/sdp 4694 Content-Length: 164 4696 v=0 4697 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 4698 s=Session SDP 4699 c=IN IP4 130.131.132.133 4700 t=0 0 4701 m=audio 3456 RTP/AVP 0 4702 a=rtpmap:0 PCMU/8000 4704 F12 ACK A -> Proxy 1 4706 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 4707 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4708 Max-Forwards: 70 4709 Route: 4710 From: BigGuy 4711 ;tag=9fxced76sl 4712 To: LittleGuy 4713 ;tag=314159 4714 Call-ID: 12345600@here.com 4715 CSeq: 1 ACK 4716 Content-Length: 0 4718 F13 ACK Proxy 1 -> NGW 1 4720 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 4721 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4722 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4723 ;received=100.101.102.103 4724 Max-Forwards: 69 4725 From: BigGuy 4726 ;tag=9fxced76sl 4727 To: LittleGuy 4728 ;tag=314159 4729 Call-ID: 12345600@here.com 4730 CSeq: 1 ACK 4731 Content-Length: 0 4733 /* RTP streams are established between A and B (via NGW 1) */ 4735 /* User A Hangs Up with User B. */ 4737 F14 BYE A -> Proxy 1 4739 BYE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 4740 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4741 Max-Forwards: 70 4742 Route: 4743 From: BigGuy 4744 ;tag=9fxced76sl 4745 To: LittleGuy 4746 ;tag=314159 4747 Call-ID: 12345600@here.com 4748 CSeq: 2 BYE 4749 Content-Length: 0 4751 F15 BYE Proxy 1 -> NGW 1 4753 BYE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 4754 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4755 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4756 ;received=100.101.102.103 4757 Max-Forwards: 69 4758 From: BigGuy 4759 ;tag=9fxced76sl 4760 To: LittleGuy 4761 ;tag=314159 4762 Call-ID: 12345600@here.com 4763 CSeq: 2 BYE 4764 Content-Length: 0 4766 F16 200 OK NGW 1 -> Proxy 1 4768 SIP/2.0 200 OK 4769 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4770 ;received=1.2.3.4 4771 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4772 ;received=100.101.102.103 4773 From: BigGuy 4774 ;tag=9fxced76sl 4775 To: LittleGuy 4776 ;tag=314159 4777 Call-ID: 12345600@here.com 4778 CSeq: 2 BYE 4779 Content-Length: 0 4781 F17 200 OK Proxy 1 -> A 4783 SIP/2.0 200 OK 4784 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4785 ;received=100.101.102.103 4786 From: BigGuy 4787 ;tag=9fxced76sl 4788 To: LittleGuy 4789 ;tag=314159 4790 Call-ID: 12345600@here.com 4791 CSeq: 2 BYE 4792 Content-Length: 0 4793 F18 REL NGW 1 -> B 4795 REL 4796 CauseCode=16 Normal 4798 F19 RLC B -> NGW 1 4800 RLC 4802 4.1.2 Successful SIP to ISDN PBX call 4804 User A Proxy 1 GW 1 PBX C 4805 | | | | 4806 | INVITE F1 | | | 4807 |--------------->| | | 4808 | (100) F2 | | | 4809 |<---------------| INVITE F3 | | 4810 | |--------------->| | 4811 | | (100) F4 | | 4812 | |<---------------| SETUP F5 | 4813 | | |--------------->| 4814 | | | CALL PROC F6 | 4815 | | |<---------------| 4816 | | | PROGress F7 | 4817 | | 183 F8 |<---------------| 4818 | 183 F9 |<---------------| | 4819 |<---------------| | | 4820 | One Way RTP Media | One Way Voice | 4821 |<================================|<===============| 4822 | | | CONNect F10 | 4823 | | |<---------------| 4824 | | | CONNect ACK F11| 4825 | | 200 F12 |--------------->| 4826 | 200 F13 |<---------------| | 4827 |<---------------| | | 4828 | ACK F14 | | | 4829 |--------------->| ACK F15 | | 4830 | |--------------->| | 4831 | Both Way RTP Media | Both Way Voice | 4832 |<===============================>|<==============>| 4833 | BYE F16 | | | 4834 |--------------->| BYE F17 | | 4835 | |--------------->| | 4836 | | 200 F18 | | 4837 | 200 F19 |<---------------| DISConnect F20 | 4838 |<---------------| |--------------->| 4839 | | | RELease F21 | 4840 | | |<---------------| 4841 | | | RELease COM F22| 4842 | | |--------------->| 4843 | | | | 4845 User A is a SIP device while User C is connected via an Enterprise 4846 Gateway (GW 1) to a PBX. The PBX connection is via a ISDN trunk 4847 group. User A dials User C's telephone number (918-555-3333) which 4848 is globalized and put into a SIP URL. 4850 The host portion of the Request-URI in the INVITE F3 is used to 4851 identify the context (customer, trunk group, or line) in which the 4852 private number 444-3333 is valid. Otherwise, this INVITE message 4853 could get forwarded by GW 1 and the context of the digits could 4854 become lost and the call unroutable. 4856 Proxy 1 looks up the telephone number and locates the Enterprise 4857 Gateway that serves User C. User C is identified by its extension 4858 (444-3333) in the Request-URI sent to GW 1. 4860 User A hears the ringing provided by the Gateway on the media path 4861 established after the 183 Session Progress response is received. 4862 Signaling between GW1 and PBX C is shown as ISDN. 4864 Message Details 4866 F1 INVITE A -> Proxy 1 4868 INVITE sip:+1-918-555-3333@ss1.wcom.com;user=phone SIP/2.0 4869 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4870 Max-Forwards: 70 4871 From: BigGuy 4872 ;tag=9fxced76sl 4873 To: OtherGuy 4874 Call-ID: 12345600@here.com 4875 CSeq: 2 INVITE 4876 Contact: 4877 Proxy-Authorization:Digest username="UserA", 4878 realm="wcom.com", nonce="qo0dc3a5ab22aa931904badfa1cf5j9h", 4879 opaque="", uri="sip:+1-918-555-3333@ss1.wcom.com;user=phone", 4880 response="6c792f5c9fa360358b93c7fb826bf550" 4881 Content-Type: application/sdp 4882 Content-Length: 140 4884 v=0 4885 o=UserA 2890844526 2890844526 IN IP4 here.com 4886 s=Session SDP 4887 c=IN IP4 here.com 4888 t=0 0 4889 m=audio 49172 RTP/AVP 0 4890 a=rtpmap:0 PCMU/8000 4892 F2 (100 Trying) Proxy 1 -> User A 4894 SIP/2.0 100 Trying 4895 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4896 ;received=100.101.102.103 4897 From: BigGuy 4898 ;tag=9fxced76sl 4899 To: OtherGuy 4900 Call-ID: 12345600@here.com 4901 CSeq: 2 INVITE 4902 Content-Length: 0 4903 F3 INVITE Proxy 1 -> GW 1 4905 INVITE sip:444-3333@gatewayone.wcom.com SIP/2.0 4906 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4907 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4908 ;received=100.101.102.103 4909 Max-Forwards: 69 4910 Record-Route: 4911 From: BigGuy 4912 ;tag=9fxced76sl 4913 To: OtherGuy 4914 Call-ID: 12345600@here.com 4915 CSeq: 2 INVITE 4916 Contact: 4917 Content-Type: application/sdp 4918 Content-Length: 140 4920 v=0 4921 o=UserA 2890844526 2890844526 IN IP4 here.com 4922 s=Session SDP 4923 c=IN IP4 here.com 4924 t=0 0 4925 m=audio 49172 RTP/AVP 0 4926 a=rtpmap:0 PCMU/8000 4928 F4 (100 Trying) GW -> Proxy 1 4930 SIP/2.0 100 Trying 4931 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4932 ;received=1.2.3.4 4933 From: BigGuy 4934 ;tag=9fxced76sl 4935 To: OtherGuy 4936 Call-ID: 12345600@here.com 4937 CSeq: 2 INVITE 4938 Content-Length: 0 4940 F5 SETUP GW 1 -> User C 4942 Protocol discriminator=Q.931 4943 Message type=SETUP 4944 Bearer capability: Information transfer capability=0 (Speech) or 16 4945 (3.1 kHz audio) 4946 Channel identification=Preferred or exclusive B-channel 4947 Progress indicator=1 (Call is not end-to-end ISDN;further call 4948 progress information may be available inband) 4949 Called party number: 4950 Type of number unknown 4951 Digits=444-3333 4953 F6 CALL PROCeeding User C -> GW 1 4955 Protocol discriminator=Q.931 4956 Message type=CALL PROC 4957 Channel identification=Exclusive B-channel 4959 F7 PROGress User C -> GW 1 4961 Protocol discriminator=Q.931 4962 Message type=PROG 4963 Progress indicator=1 (Call is not end-to-end ISDN;further call 4964 progress information may be available inband) 4966 F8 183 Session Progress GW 1 -> Proxy 1 4968 SIP/2.0 183 Session Progress 4969 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 4970 ;received=1.2.3.4 4971 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4972 ;received=100.101.102.103 4973 Record-Route: 4974 From: BigGuy 4975 ;tag=9fxced76sl 4976 To: OtherGuy 4977 ;tag=314159 4978 Call-ID: 12345600@here.com 4979 CSeq: 2 INVITE 4980 Contact: 4981 Content-Type: application/sdp 4982 Content-Length: 165 4984 v=0 4985 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 4986 s=Session SDP 4987 c=IN IP4 130.131.132.133 4988 t=0 0 4989 m=audio 3456 RTP/AVP 0 4990 a=rtpmap:0 PCMU/8000 4992 /* GW 1 will encode PSTN audio (ringing) to A in RTP path */ 4994 F9 183 Session Progress Proxy 1 -> User A 4996 SIP/2.0 183 Session Progress 4997 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 4998 ;received=100.101.102.103 5000 Record-Route: 5001 From: BigGuy 5002 ;tag=9fxced76sl 5003 To: OtherGuy 5004 ;tag=314159 5005 Call-ID: 12345600@here.com 5006 CSeq: 2 INVITE 5007 Contact: 5008 Content-Type: application/sdp 5009 Content-Length: 165 5011 v=0 5012 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5013 s=Session SDP 5014 c=IN IP4 130.131.132.133 5015 t=0 0 5016 m=audio 3456 RTP/AVP 0 5017 a=rtpmap:0 PCMU/8000 5019 F10 CONNect User C -> GW 1 5021 Protocol discriminator=Q.931 5022 Message type=CONN 5024 F11 CONNect ACK GW 1 -> User C 5026 Protocol discriminator=Q.931 5027 Message type=CONN ACK 5029 F12 200 OK GW 1 -> Proxy 1 5031 SIP/2.0 200 OK 5032 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5033 ;received=1.2.3.4 5034 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5035 ;received=100.101.102.103 5036 Record-Route: 5037 From: BigGuy 5038 ;tag=9fxced76sl 5039 To: OtherGuy 5040 ;tag=314159 5041 Call-ID: 12345600@here.com 5042 CSeq: 2 INVITE 5043 Contact: 5044 Content-Type: application/sdp 5045 Content-Length: 165 5047 v=0 5048 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5049 s=Session SDP 5050 c=IN IP4 130.131.132.133 5051 t=0 0 5052 m=audio 3456 RTP/AVP 0 5053 a=rtpmap:0 PCMU/8000 5055 F13 200 OK Proxy 1 -> User A 5057 SIP/2.0 200 OK 5058 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5059 ;received=100.101.102.103 5060 Record-Route: 5061 From: BigGuy 5062 ;tag=9fxced76sl 5063 To: OtherGuy ;tag=314159 5064 Call-ID: 12345600@here.com 5065 CSeq: 2 INVITE 5066 Contact: 5067 Content-Type: application/sdp 5068 Content-Length: 165 5070 v=0 5071 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5072 s=Session SDP 5073 c=IN IP4 130.131.132.133 5074 t=0 0 5075 m=audio 3456 RTP/AVP 0 5076 a=rtpmap:0 PCMU/8000 5078 F14 ACK A -> Proxy 1 5080 ACK sip:444-3333@gatewayone.wcom.com SIP/2.0 5081 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5082 Max-Forwards: 70 5083 Route: 5084 From: BigGuy 5085 ;tag=9fxced76sl 5086 To: OtherGuy 5087 ;tag=314159 5088 Call-ID: 12345600@here.com 5089 CSeq: 2 ACK 5090 Content-Length: 0 5092 F15 ACK Proxy 1 -> GW 1 5094 ACK sip:444-3333@gatewayone.wcom.com SIP/2.0 5095 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5096 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5097 ;received=100.101.102.103 5099 Max-Forwards: 69 5100 From: BigGuy 5101 ;tag=9fxced76sl 5102 To: OtherGuy 5103 ;tag=314159 5104 Call-ID: 12345600@here.com 5105 CSeq: 2 ACK 5106 Content-Length: 0 5108 /* RTP streams are established between A and B (via GW 1) */ 5110 /* User A Hangs Up with User B. */ 5112 F16 BYE A -> Proxy 1 5114 BYE sip:444-3333@gatewayone.wcom.com SIP/2.0 5115 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5116 Max-Forwards: 70 5117 Route: 5118 From: BigGuy 5119 ;tag=9fxced76sl 5120 To: OtherGuy 5121 ;tag=314159 5122 Call-ID: 12345600@here.com 5123 CSeq: 3 BYE 5124 Content-Length: 0 5126 F17 BYE Proxy 1 -> GW 1 5128 BYE sip:444-3333@gatewayone.wcom.com SIP/2.0 5129 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5130 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5131 ;received=100.101.102.103 5132 Max-Forwards: 69 5133 From: BigGuy 5134 ;tag=9fxced76sl 5135 To: OtherGuy 5136 ;tag=314159 5137 Call-ID: 12345600@here.com 5138 CSeq: 3 BYE 5139 Content-Length: 0 5141 F18 200 OK GW 1 -> Proxy 1 5143 SIP/2.0 200 OK 5144 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5145 ;received=1.2.3.4 5146 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5147 ;received=100.101.102.103 5149 From: BigGuy 5150 ;tag=9fxced76sl 5151 To: OtherGuy 5152 ;tag=314159 5153 Call-ID: 12345600@here.com 5154 CSeq: 3 BYE 5155 Content-Length: 0 5157 F19 200 OK Proxy 1 -> A 5159 SIP/2.0 200 OK 5160 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5161 ;received=100.101.102.103 5162 From: BigGuy 5163 ;tag=9fxced76sl 5164 To: OtherGuy 5165 ;tag=314159 5166 Call-ID: 12345600@here.com 5167 CSeq: 3 BYE 5168 Content-Length: 0 5170 F20 DISConnect GW 1 -> User C 5172 Protocol discriminator=Q.931 5173 Message type=DISC 5174 Cause=16 (Normal clearing) 5176 F21 RELease User C -> GW 1 5178 Protocol discriminator=Q.931 5179 Message type=REL 5181 F22 RELease COMplete GW 1 -> User C 5183 Protocol discriminator=Q.931 5184 Message type=REL COM 5186 4.1.3 Successful SIP to ISUP PSTN call with overflow 5188 User A Proxy 1 NGW 1 NGW 2 User B 5189 | | | | | 5190 | INVITE F1 | | | | 5191 |------------->| | | | 5192 | | INVITE F2 | | | 5193 | (100) F3 |------------->| | | 5194 |<-------------| 503 F4 | | | 5195 | |<-------------| | | 5196 | | ACK F5 | | | 5197 | |------------->| | | 5198 | | INVITE F6 | | 5199 | |---------------------------->| IAM F7 | 5200 | | |------------->| 5201 | | | ACM F8 | 5202 | | 183 F9 |<-------------| 5203 | 183 F10 |<----------------------------| | 5204 |<-------------| | | 5205 | One Way RTP Media | One Way Voice| 5206 |<===========================================|<=============| 5207 | | | ANM F11 | 5208 | | 200 F12 |<-------------| 5209 | 200 F13 |<----------------------------| | 5210 |<-------------| | | 5211 | ACK F14 | | | 5212 |------------->| ACK F15 | | 5213 | |---------------------------->| | 5214 | Both Way RTP Media |Both Way Voice| 5215 |<==========================================>|<============>| 5216 | BYE F16 | | | 5217 |------------->| BYE F17 | | 5218 | |---------------------------->| | 5219 | | 200 F18 | | 5220 | 200 F19 |<----------------------------| REL F20 | 5221 |<-------------| |------------->| 5222 | | | RLC F21 | 5223 | | |<-------------| 5224 | | | | 5226 User A calls User B through Proxy 1. Proxy 1 tries to route to a 5227 Network Gateway NGW 1. NGW 1 is not available and responds with a 503 5228 Service Unavailable (F4). The call is then routed to Network Gateway 5229 NGW 2. User B answers the call. The call is terminated when User A 5230 disconnects the call. NGW 2 and User B's telephone switch use ANSI 5231 ISUP signaling. 5233 Message Details 5235 F1 INVITE A -> Proxy 1 5236 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 5237 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5238 Max-Forwards: 70 5239 From: BigGuy 5240 ;tag=9fxced76sl 5241 To: LittleGuy 5242 Call-ID: 12345600@here.com 5243 CSeq: 1 INVITE 5244 Contact: 5245 Proxy-Authorization:Digest username="UserA", 5246 realm="wcom.com", nonce="b59311c3ba05b401cf80b2a2c5ac51b0", 5247 opaque="", uri="sip:+1-972-555-2222@ss1.wcom.com;user=phone", 5248 response="ba6ab44923fa2614b28e3e3957789ab0" 5249 Content-Type: application/sdp 5250 Content-Length: 140 5252 v=0 5253 o=UserA 2890844526 2890844526 IN IP4 here.com 5254 s=Session SDP 5255 c=IN IP4 here.com 5256 t=0 0 5257 m=audio 49172 RTP/AVP 0 5258 a=rtpmap:0 PCMU/8000 5260 /* Proxy 1 uses a Location Service function to determine where B is 5261 located. Proxy 1 receives a primary route NGW 1 and a secondary 5262 route NGW 2. NGW 1 is tried first */ 5264 F2 INVITE Proxy 1 -> NGW 1 5266 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 5267 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5268 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5269 ;received=100.101.102.103 5270 Max-Forwards: 69 5271 Record-Route: 5272 From: BigGuy 5273 ;tag=9fxced76sl 5274 To: LittleGuy 5275 Call-ID: 12345600@here.com 5276 CSeq: 1 INVITE 5277 Contact: 5278 Content-Type: application/sdp 5279 Content-Length: 140 5281 v=0 5282 o=UserA 2890844526 2890844526 IN IP4 here.com 5283 s=Session SDP 5284 c=IN IP4 here.com 5285 t=0 0 5286 m=audio 49172 RTP/AVP 0 5287 a=rtpmap:0 PCMU/8000 5289 F3 (100 Trying) Proxy 1 -> User A 5291 SIP/2.0 100 Trying 5292 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5293 ;received=1.2.3.4 5294 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5295 ;received=100.101.102.103 5296 From: BigGuy 5297 ;tag=9fxced76sl 5298 To: LittleGuy 5299 Call-ID: 12345600@here.com 5300 CSeq: 1 INVITE 5301 Content-Length: 0 5303 F4 503 Service Unavailable NGW 1 -> Proxy 1 5305 SIP/2.0 503 Service Unavailable 5306 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5307 ;received=1.2.3.4 5308 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5309 ;received=100.101.102.103 5310 Record-Route: 5311 From: BigGuy 5312 ;tag=9fxced76sl 5313 To: LittleGuy 5314 ;tag=123456789 5315 Call-ID: 12345600@here.com 5316 CSeq: 1 INVITE 5317 Content-Length: 0 5319 F5 ACK Proxy 1 -> NGW 1 5321 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 5322 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5323 Max-Forwards: 70 5324 From: BigGuy 5325 ;tag=9fxced76sl 5326 To: LittleGuy ;user=phone> 5327 ;tag=123456789 5328 Call-ID: 12345600@here.com 5329 CSeq: 1 ACK 5330 Content-Length: 0 5332 /* Proxy 1 now tries secondary route to NGW 2 */ 5334 F6 INVITE Proxy 1 -> NGW 2 5335 INVITE sip:+1-972-555-2222@ngw2.wcom.com;user=phone SIP/2.0 5336 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.2 5337 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5338 ;received=100.101.102.103 5339 Max-Forwards: 69 5340 Record-Route: 5341 From: BigGuy 5342 ;tag=9fxced76sl 5343 To: LittleGuy 5344 Call-ID: 12345600@here.com 5345 CSeq: 1 INVITE 5346 Contact: 5347 Content-Type: application/sdp 5348 Content-Length: 147 5350 v=0 5351 o=UserA 2890844526 2890844526 IN IP4 here.com 5352 s=Session SDP 5353 c=IN IP4 here.com 5354 t=0 0 5355 m=audio 49172 RTP/AVP 0 5356 a=rtpmap:0 PCMU/8000 5358 F7 IAM NGW 2 -> User B 5360 IAM 5361 CdPN=972-555-2222,NPI=E.164,NOA=National 5362 CgPN=314-555-1111,NPI=E.164,NOA=National 5364 F8 ACM User B -> NGW 2 5366 ACM 5368 F9 183 Session Progress NGW 2 -> Proxy 1 5370 SIP/2.0 183 Session Progress 5371 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.2 5372 ;received=1.2.3.4 5373 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5374 ;received=100.101.102.103 5375 Record-Route: 5376 From: BigGuy 5377 ;tag=9fxced76sl 5378 To: LittleGuy 5379 ;tag=314159 5380 Call-ID: 12345600@here.com 5381 CSeq: 1 INVITE 5382 Contact: 5383 Content-Type: application/sdp 5384 Content-Length: 164 5386 v=0 5387 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5388 s=Session SDP 5389 c=IN IP4 130.131.132.133 5390 t=0 0 5391 m=audio 3456 RTP/AVP 0 5392 a=rtpmap:0 PCMU/8000 5394 /* RTP packets are sent by GW to A for audio (i.e. ring tone) */ 5396 F10 183 Session Progress Proxy 1 -> User A 5398 SIP/2.0 183 Session Progress 5399 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5400 ;received=100.101.102.103 5401 Record-Route: 5402 From: BigGuy 5403 ;tag=9fxced76sl 5404 To: LittleGuy 5405 ;tag=314159 5406 Call-ID: 12345600@here.com 5407 CSeq: 1 INVITE 5408 Contact: 5409 Content-Type: application/sdp 5410 Content-Length: 164 5412 v=0 5413 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5414 s=Session SDP 5415 c=IN IP4 130.131.132.133 5416 t=0 0 5417 m=audio 3456 RTP/AVP 0 5418 a=rtpmap:0 PCMU/8000 5420 F11 ANM User B -> NGW 2 5422 ANM 5424 F12 200 OK NGW 2 -> Proxy 1 5426 SIP/2.0 200 OK 5427 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.2 5428 ;received=1.2.3.4 5429 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5430 ;received=100.101.102.103 5431 Record-Route: 5432 From: BigGuy 5433 ;tag=9fxced76sl 5434 To: LittleGuy 5435 ;tag=314159 5436 Call-ID: 12345600@here.com 5437 CSeq: 1 INVITE 5438 Contact: 5439 Content-Type: application/sdp 5440 Content-Length: 164 5442 v=0 5443 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5444 s=Session SDP 5445 c=IN IP4 130.131.132.133 5446 t=0 0 5447 m=audio 3456 RTP/AVP 0 5448 a=rtpmap:0 PCMU/8000 5450 F13 200 OK Proxy 1 -> User A 5452 SIP/2.0 200 OK 5453 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5454 ;received=100.101.102.103 5455 Record-Route: 5456 From: BigGuy 5457 ;tag=9fxced76sl 5458 To: LittleGuy 5459 ;tag=314159 5460 Call-ID: 12345600@here.com 5461 CSeq: 1 INVITE 5462 Contact: 5463 Content-Type: application/sdp 5464 Content-Length: 164 5466 v=0 5467 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 5468 s=Session SDP 5469 c=IN IP4 130.131.132.133 5470 t=0 0 5471 m=audio 3456 RTP/AVP 0 5472 a=rtpmap:0 PCMU/8000 5474 F14 ACK A -> Proxy 1 5476 ACK sip:+1-972-555-2222@ngw2.wcom.com;user=phone SIP/2.0 5477 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5478 Max-Forwards: 70 5479 Route: 5480 From: BigGuy 5481 ;tag=9fxced76sl 5483 To: LittleGuy 5484 ;tag=314159 5485 Call-ID: 12345600@here.com 5486 CSeq: 1 ACK 5487 Content-Length: 0 5489 F15 ACK Proxy 1 -> NGW 2 5491 ACK sip:+1-972-555-2222@ngw2.wcom.com;user=phone SIP/2.0 5492 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.2 5493 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5494 ;received=100.101.102.103 5495 Max-Forwards: 69 5496 From: BigGuy 5497 ;tag=9fxced76sl 5498 To: LittleGuy 5499 ;tag=314159 5500 Call-ID: 12345600@here.com 5501 CSeq: 1 ACK 5502 Content-Length: 0 5504 /* RTP streams are established between A and B(via the GW) */ 5506 /* User A Hangs Up with User B. */ 5508 F16 BYE A -> Proxy 1 5510 BYE sip:+1-972-555-2222@ngw2.wcom.com;user=phone SIP/2.0 5511 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5512 Max-Forwards: 70 5513 Route: 5514 From: BigGuy 5515 ;tag=9fxced76sl 5516 To: LittleGuy 5517 ;tag=314159 5518 Call-ID: 12345600@here.com 5519 CSeq: 2 BYE 5520 Content-Length: 0 5522 F17 BYE Proxy 1 -> NGW 2 5524 BYE sip:+1-972-555-2222@ngw2.wcom.com;user=phone SIP/2.0 5525 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.2 5526 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5527 ;received=100.101.102.103 5528 Max-Forwards: 69 5529 From: BigGuy 5530 ;tag=9fxced76sl 5531 To: LittleGuy 5532 ;tag=314159 5533 Call-ID: 12345600@here.com 5534 CSeq: 2 BYE 5535 Content-Length: 0 5537 F18 200 OK NGW 2 -> Proxy 1 5539 SIP/2.0 200 OK 5540 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.2 5541 ;received=1.2.3.4 5542 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5543 ;received=100.101.102.103 5544 From: BigGuy 5545 ;tag=9fxced76sl 5546 To: LittleGuy 5547 ;tag=314159 5548 Call-ID: 12345600@here.com 5549 CSeq: 2 BYE 5550 Content-Length: 0 5552 F19 200 OK Proxy 1 -> User A 5554 SIP/2.0 200 OK 5555 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5556 ;received=100.101.102.103 5557 From: BigGuy 5558 ;tag=9fxced76sl 5559 To: LittleGuy 5560 ;tag=314159 5561 Call-ID: 12345600@here.com 5562 CSeq: 2 BYE 5563 Content-Length: 0 5565 F20 REL NGW 2 -> B 5567 REL 5568 CauseCode=16 Normal 5570 F21 RLC B -> NGW 2 5572 RLC 5574 4.2 Failure Scenarios 5576 In these failure scenarios, the call does not complete. In most 5577 cases, however, a media stream is still setup. This is due to the 5578 fact that most failures in dialing to the PSTN result in in-band 5579 tones (busy, reorder tones or announcements - "The number you have 5580 dialed has changed. The new number is..."). The 183 Session 5581 Progress response containing SDP media information is used to 5582 setup this early media path so that the caller User A knows the final 5583 disposition of the call. 5585 The media stream is either terminated by the caller after the tone or 5586 announcement has been heard and understood, or by the Gateway after a 5587 timer expires. 5589 In other failure scenarios, a SS7 Release with Cause Code is mapped 5590 to a SIP response. In these scenarios, the early media path is not 5591 used, but the actual failure code is conveyed to the caller by the 5592 SIP User Agent Client. 5594 4.2.1 Unsuccessful SIP to PSTN call: Treatment from PSTN 5596 User A Proxy 1 NGW 1 User B 5597 | | | | 5598 | INVITE F1 | | | 5599 |--------------->| | | 5600 | (100) F2 | | | 5601 |<---------------| INVITE F3 | | 5602 | |--------------->| | 5603 | | (100) F4 | | 5604 | |<---------------| IAM F5 | 5605 | | |--------------->| 5606 | | | ACM F6 | 5607 | | 183 F7 |<---------------| 5608 | 183 F8 |<---------------| | 5609 |<---------------| | | 5610 | One Way RTP Media | One Way Voice | 5611 |<================================|<===============| 5612 | Treatment Applied | 5613 |<=================================================| 5614 | CANCEL F9 | | | 5615 |--------------->| | | 5616 | 200 F10 | | | 5617 |<---------------| CANCEL F11 | | 5618 | |--------------->| | 5619 | | 200 F12 | | 5620 | |<---------------| REL F13 | 5621 | | |--------------->| 5622 | | | RLC F14 | 5623 | | 487 F15 |<---------------| 5624 | |<---------------| | 5625 | | ACK F16 | | 5626 | 487 F17 |--------------->| | 5627 |--------------->| | | 5628 | ACK F18 | | | 5629 |--------------->| | | 5630 | | | | 5632 User A calls User B in the PSTN through a proxy server Proxy 1 and a 5633 Network Gateway NGW 1. The call is rejected by the PSTN with an in- 5634 band treatment (tone or recording) played. User A hears the 5635 treatment and then hangs up, which results in a CANCEL (F9) being 5636 sent to terminate the call. (A BYE is not sent since no final 5637 response was ever received by User A.) 5639 Message Details 5641 F1 INVITE A -> Proxy 1 5643 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 5644 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5645 Max-Forwards: 70 5646 From: BigGuy 5647 ;tag=9fxced76sl 5648 To: LittleGuy 5649 Call-ID: 12345600@here.com 5650 CSeq: 1 INVITE 5651 Contact: 5652 Proxy-Authorization:Digest username="UserA", 5653 realm="wcom.com", nonce="01cf8311c3b0b2a2c5ac51bb59a05b40", 5654 opaque="", uri="sip:+1-972-555-2222@ss1.wcom.com;user=phone", 5655 response="e178fbe430e6680a1690261af8831f40" 5656 Content-Type: application/sdp 5657 Content-Length: 140 5659 v=0 5660 o=UserA 2890844526 2890844526 IN IP4 here.com 5661 s=Session SDP 5662 c=IN IP4 here.com 5663 t=0 0 5664 m=audio 49172 RTP/AVP 0 5665 a=rtpmap:0 PCMU/8000 5667 F2 (100 Trying) Proxy 1 -> A 5669 SIP/2.0 100 Trying 5670 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5671 ;received=100.101.102.103 5672 From: BigGuy 5673 ;tag=9fxced76sl 5674 To: LittleGuy 5675 Call-ID: 12345600@here.com 5676 CSeq: 1 INVITE 5677 Content-Length: 0 5679 /* Proxy 1 uses a Location Service function to determine where B is 5680 located. Based upon location analysis the call is forwarded to NGW 5681 1. Client for A prepares to receive data on port 49172 from the 5682 network. */ 5684 F3 INVITE Proxy 1 -> NGW 1 5686 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 5687 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5688 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5689 ;received=100.101.102.103 5690 Max-Forwards: 69 5691 Record-Route: 5692 From: BigGuy 5693 ;tag=9fxced76sl 5695 To: LittleGuy 5696 Call-ID: 12345600@here.com 5697 CSeq: 1 INVITE 5698 Contact: 5699 Content-Type: application/sdp 5700 Content-Length: 140 5702 v=0 5703 o=UserA 2890844526 2890844526 IN IP4 here.com 5704 s=Session SDP 5705 c=IN IP4 here.com 5706 t=0 0 5707 m=audio 49172 RTP/AVP 0 5708 a=rtpmap:0 PCMU/8000 5710 F4 (100 Trying) NGW 1 -> Proxy 1 5712 SIP/2.0 100 Trying 5713 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5714 ;received=1.2.3.4 5715 From: BigGuy 5716 ;tag=9fxced76sl 5717 To: LittleGuy 5718 Call-ID: 12345600@here.com 5719 CSeq: 1 INVITE 5720 Content-Length: 0 5722 F5 IAM NGW 1 -> User B 5724 IAM 5725 CdPN=972-555-2222,NPI=E.164,NOA=National 5726 CgPN=314-555-1111,NPI=E.164,NOA=National 5728 F6 ACM User B -> NGW 1 5730 ACM 5732 F7 183 Session Progress NGW 1 -> Proxy 1 5734 SIP/2.0 183 Session Progress 5735 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5736 ;received=1.2.3.4 5737 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5738 ;received=100.101.102.103 5739 Record-Route: 5740 From: BigGuy 5741 ;tag=9fxced76sl 5742 To: LittleGuy 5743 ;tag=314159 5744 Call-ID: 12345600@here.com 5745 CSeq: 1 INVITE 5746 Contact: 5747 Content-Type: application/sdp 5748 Content-Length: 164 5750 v=0 5751 o=GATEWAY1 2890844527 2890844527 IN IP4 ngw1.wcom.com 5752 s=Session SDP 5753 c=IN IP4 130.131.132.133 5754 t=0 0 5755 m=audio 3456 RTP/AVP 0 5756 a=rtpmap:0 PCMU/8000 5758 F8 183 Session Progress Proxy 1 -> User A 5760 SIP/2.0 183 Session Progress 5761 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5762 ;received=100.101.102.103 5763 Record-Route: 5764 From: BigGuy 5765 ;tag=9fxced76sl 5766 To: LittleGuy 5767 ;tag=314159 5768 Call-ID: 12345600@here.com 5769 CSeq: 1 INVITE 5770 Contact: 5771 Content-Type: application/sdp 5772 Content-Length: 164 5774 v=0 5775 o=GATEWAY1 2890844527 2890844527 IN IP4 ngw1.wcom.com 5776 s=Session SDP 5777 c=IN IP4 130.131.132.133 5778 t=0 0 5779 m=audio 3456 RTP/AVP 0 5780 a=rtpmap:0 PCMU/8000 5782 F9 CANCEL A -> Proxy 1 5784 CANCEL sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 5785 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5786 Max-Forwards: 70 5787 From: BigGuy 5788 ;tag=9fxced76sl 5789 To: LittleGuy 5790 Call-ID: 12345600@here.com 5791 CSeq: 1 CANCEL 5792 Content-Length: 0 5793 F10 200 OK Proxy 1 -> A 5795 SIP/2.0 200 OK 5796 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5797 ;received=100.101.102.103 5798 From: BigGuy 5799 ;tag=9fxced76sl 5800 To: LittleGuy 5801 Call-ID: 12345600@here.com 5802 CSeq: 1 CANCEL 5803 Content-Length: 0 5805 F11 CANCEL Proxy 1 -> NGW 1 5807 CANCEL sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 5808 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5809 Max-Forwards: 70 5810 From: BigGuy 5811 ;tag=9fxced76sl 5812 To: LittleGuy 5813 Call-ID: 12345600@here.com 5814 CSeq: 1 CANCEL 5815 Content-Length: 0 5817 F12 200 OK NGW 1 -> Proxy 1 5819 SIP/2.0 200 OK 5820 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5821 ;received=1.2.3.4 5822 From: BigGuy 5823 ;tag=9fxced76sl 5824 To: LittleGuy 5825 Call-ID: 12345600@here.com 5826 CSeq: 1 CANCEL 5827 Content-Length: 0 5829 F13 REL NGW 1 -> B 5831 REL 5832 CauseCode=16 Normal 5834 F14 RLC B -> NGW 1 5836 RLC 5837 F15 487 Request Terminated NGW 1 -> Proxy 1 5839 SIP/2.0 487 Request Terminated 5840 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5841 ;received=1.2.3.4 5842 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5843 ;received=100.101.102.103 5844 From: BigGuy 5845 ;tag=9fxced76sl 5846 To: LittleGuy 5847 ;tag=314159 5848 Call-ID: 12345600@here.com 5849 CSeq: 1 INVITE 5850 Content-Length: 0 5852 F16 ACK Proxy 1 -> NGW 1 5854 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 5855 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5856 Max-Forwards: 70 5857 From: BigGuy 5858 ;tag=9fxced76sl 5859 To: LittleGuy 5860 ;tag=314159 5861 Call-ID: 12345600@here.com 5862 CSeq: 1 ACK 5863 Content-Length: 0 5865 F17 487 Request Terminated Proxy 1 -> A 5867 SIP/2.0 487 Request Terminated 5868 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5869 ;received=100.101.102.103 5870 From: BigGuy 5871 ;tag=9fxced76sl 5872 To: LittleGuy 5873 ;tag=314159 5874 Call-ID: 12345600@here.com 5875 CSeq: 1 INVITE 5876 Content-Length: 0 5878 F18 ACK A -> Proxy 1 5880 ACK sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 5881 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5882 Max-Forwards: 70 5883 From: BigGuy 5884 ;tag=9fxced76sl 5885 To: LittleGuy 5886 ;tag=314159 5887 Call-ID: 12345600@here.com 5888 CSeq: 1 ACK 5889 Content-Length: 0 5891 4.2.2 Unsuccessful SIP to PSTN: REL w/Cause from PSTN 5893 User A Proxy 1 NGW 1 User B 5894 | | | | 5895 | INVITE F1 | | | 5896 |--------------->| | | 5897 | (100) F2 | | | 5898 |<---------------| INVITE F3 | | 5899 | |--------------->| | 5900 | | (100) F4 | | 5901 | |<---------------| IAM F5 | 5902 | | |--------------->| 5903 | | | REL(28) F6 | 5904 | | |<---------------| 5905 | | | RLC F7 | 5906 | | 484 F8 |--------------->| 5907 | |<---------------| | 5908 | | ACK F9 | | 5909 | |--------------->| | 5910 | 484 F10 | | | 5911 |<---------------| | | 5912 | ACK F11 | | | 5913 |--------------->| | | 5914 | | | | 5916 User A calls PSTN User B through a Proxy Server Proxy 1 and a Network 5917 Gateway NGW 1. However, User A does not provide enough digits for 5918 the call to be completed. The call is rejected by the PSTN with a 5919 ANSI ISUP Release message REL containing a specific Cause value. 5920 This cause value (28) is mapped by the Gateway to a SIP 484 Address 5921 Incomplete response which is proxied back to User A. For more 5922 details of ISUP cause value to SIP responses refer to [SIP-ISUP]. 5924 Message Details 5926 F1 INVITE A -> Proxy 1 5928 INVITE sip:+44-1234@ss1.wcom.com;user=phone SIP/2.0 5929 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5930 Max-Forwards: 70 5931 From: BigGuy 5932 ;tag=9fxced76sl 5933 To: LittleGuy 5934 Call-ID: 12345600@here.com 5935 CSeq: 1 INVITE 5936 Contact: 5937 Proxy-Authorization:Digest username="UserA", 5938 realm="wcom.com", nonce="j1c3b0b01cf832da2c5ac51bb59a05b40", 5939 opaque="", uri="sip:+44-1234@ss1.wcom.com;user=phone", 5940 response="a451358d46b55512863efe1dccaa2f42" 5942 Content-Type: application/sdp 5943 Content-Length: 147 5945 v=0 5946 o=UserA 2890844526 2890844526 IN IP4 here.com 5947 s=Session SDP 5948 c=IN IP4 here.com 5949 t=0 0 5950 m=audio 49172 RTP/AVP 0 5951 a=rtpmap:0 PCMU/8000 5953 F2 (100 Trying) Proxy 1 -> A 5955 SIP/2.0 100 Trying 5956 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5957 ;received=100.101.102.103 5958 From: BigGuy 5959 ;tag=9fxced76sl 5960 To: LittleGuy 5961 Call-ID: 12345600@here.com 5962 CSeq: 1 INVITE 5963 Content-Length: 0 5965 /* Proxy 1 uses a Location Service function to determine where B is 5966 located. Based upon location analysis the call is forwarded to NGW1. 5967 Client for A prepares to receive data on port 49172 from the network. 5968 */ 5970 F3 INVITE Proxy 1 -> NGW 1 5972 INVITE sip:+44-1234@ngw1.wcom.com;user=phone SIP/2.0 5973 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5974 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 5975 ;received=100.101.102.103 5976 Max-Forwards: 69 5977 Route: 5978 From: BigGuy 5979 ;tag=9fxced76sl 5980 To: LittleGuy 5981 Call-ID: 12345600@here.com 5982 CSeq: 1 INVITE 5983 Contact: 5984 Content-Type: application/sdp 5985 Content-Length: 147 5987 v=0 5988 o=UserA 2890844526 2890844526 IN IP4 here.com 5989 s=Session SDP 5990 c=IN IP4 here.com 5991 t=0 0 5992 m=audio 49172 RTP/AVP 0 5993 a=rtpmap:0 PCMU/8000 5995 F4 (100 Trying) NGW 1 -> Proxy 1 5997 SIP/2.0 100 Trying 5998 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 5999 ;received=1.2.3.4 6000 From: BigGuy 6001 ;tag=9fxced76sl 6002 To: LittleGuy 6003 Call-ID: 12345600@here.com 6004 CSeq: 1 INVITE 6005 Content-Length: 0 6007 F5 IAM NGW 1 -> User B 6009 IAM 6010 CdPN=44-1234,NPI=E.164,NOA=International 6011 CgPN=314-555-1111,NPI=E.164,NOA=National 6013 F6 REL User B -> NGW 1 6015 REL 6016 CauseValue=28 Address Incomplete 6018 F7 RLC NGW 1 -> User B 6020 RLC 6022 /* Network Gateway maps CauseValue=28 to the SIP message 484 Address 6023 Incomplete */ 6025 F8 484 Address Incomplete NGW 1 -> Proxy 1 6027 SIP/2.0 484 Address Incomplete 6028 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6029 ;received=1.2.3.4 6030 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 6031 ;received=100.101.102.103 6032 From: BigGuy 6033 ;tag=9fxced76sl 6034 To: LittleGuy ;tag=314159 6035 Call-ID: 12345600@here.com 6036 CSeq: 1 INVITE 6037 Content-Length: 0 6038 F9 ACK Proxy 1 -> NGW 1 6040 ACK sip:+44-1234@ngw1.wcom.com;user=phone SIP/2.0 6041 Max-Forwards: 70 6042 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6043 From: BigGuy 6044 ;tag=9fxced76sl 6045 To: LittleGuy ;tag=314159 6046 Call-ID: 12345600@here.com 6047 CSeq: 1 ACK 6048 Content-Length: 0 6050 F10 484 Address Incomplete Proxy 1 -> User A 6052 SIP/2.0 484 Address Incomplete 6053 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 6054 ;received=100.101.102.103 6055 From: BigGuy 6056 ;tag=9fxced76sl 6057 To: LittleGuy ;tag=314159 6058 Call-ID: 12345600@here.com 6059 CSeq: 1 INVITE 6060 Content-Length: 0 6062 F11 ACK User A -> Proxy 1 6064 ACK sip:+44-1234@ss1.wcom.com;user=phone SIP/2.0 6065 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 6066 Max-Forwards: 70 6067 From: BigGuy 6068 ;tag=9fxced76sl 6069 To: LittleGuy ;tag=314159 6070 Call-ID: 12345600@here.com 6071 CSeq: 1 ACK 6072 Content-Length: 0 6074 4.2.3 Unsuccessful SIP to PSTN: ANM Timeout 6076 User A Proxy 1 NGW 1 User B 6077 | | | | 6078 | INVITE F1 | | | 6079 |--------------->| | | 6080 | (100) F2 | | | 6081 |<---------------| INVITE F3 | | 6082 | |--------------->| | 6083 | | (100) F4 | | 6084 | |<---------------| IAM F5 | 6085 | | |--------------->| 6086 | | | ACM F6 | 6087 | | 183 F7 |<---------------| 6088 | 183 F8 |<---------------| | 6089 |<---------------| | | 6090 | | Timer on NGW 1 Expires | 6091 | | | | 6092 | | | REL F9 | 6093 | | |--------------->| 6094 | | | RLC F10 | 6095 | | 480 F11 |<---------------| 6096 | |<---------------| | 6097 | | ACK F12 | | 6098 | |--------------->| | 6099 | 480 F13 | | | 6100 |<---------------| | | 6101 | ACK F14 | | | 6102 |--------------->| | | 6104 User A calls User B in the PSTN through a proxy server Proxy 1 and 6105 Network Gateway NGW 1. The call is released by the Gateway after a 6106 timer expires due to no ANswer Message (ANM) being received. The 6107 Gateway sends an ISUP Release REL message to the PSTN and a 480 6108 Temporarily Unavailable response to User A in the SIP network. 6110 Message Details 6112 F1 INVITE A -> Proxy 1 6114 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 6115 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 6116 Max-Forwards: 70 6117 From: BigGuy 6118 ;tag=9fxced76sl 6119 To: LittleGuy 6120 Call-ID: 12345600@here.com 6121 CSeq: 1 INVITE 6122 Contact: 6123 Proxy-Authorization:Digest username="UserA", 6124 realm="wcom.com", nonce="da2c5ac51bb59a05j1c3b0b01cf832b40", 6125 opaque="", uri="sip:+1-972-555-2222@ss1.wcom.com;user=phone", 6126 response="579cb9db184cdc25bf816f37cbc03c7d" 6127 Content-Type: application/sdp 6128 Content-Length: 147 6130 v=0 6131 o=UserA 2890844526 2890844526 IN IP4 here.com 6132 s=Session SDP 6133 c=IN IP4 here.com 6134 t=0 0 6135 m=audio 49172 RTP/AVP 0 6136 a=rtpmap:0 PCMU/8000 6138 /* Proxy 1 uses a Location Service function to determine where B is 6139 located. Based upon location analysis the call is forwarded to NGW 6140 1. Client for A prepares to receive data on port 49172 from the 6141 network.*/ 6143 F2 (100 Trying Proxy 1 -> A 6145 SIP/2.0 100 Trying 6146 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 6147 ;received=100.101.102.103 6148 From: BigGuy 6149 ;tag=9fxced76sl 6150 To: LittleGuy 6151 Call-ID: 12345600@here.com 6152 CSeq: 1 INVITE 6153 Content-Length: 0 6155 F3 INVITE Proxy 1 -> NGW 1 6157 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 6158 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6159 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 6160 ;received=100.101.102.103 6161 Max-Forwards: 69 6162 Record-Route: 6163 From: BigGuy 6164 ;tag=9fxced76sl 6165 To: LittleGuy 6166 Call-ID: 12345600@here.com 6167 CSeq: 1 INVITE 6168 Contact: 6169 Content-Type: application/sdp 6170 Content-Length: 147 6172 v=0 6173 o=UserA 2890844526 2890844526 IN IP4 here.com 6174 s=Session SDP 6175 c=IN IP4 here.com 6176 t=0 0 6177 m=audio 49172 RTP/AVP 0 6178 a=rtpmap:0 PCMU/8000 6180 F4 (100 Trying) NGW 1 -> Proxy 1 6182 SIP/2.0 100 Trying 6183 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6184 ;received=1.2.3.4 6185 From: BigGuy 6186 ;tag=9fxced76sl 6187 To: LittleGuy 6188 Call-ID: 12345600@here.com 6189 CSeq: 1 INVITE 6190 Content-Length: 0 6192 F5 IAM NGW 1 -> User B 6194 IAM 6195 CdPN=972-555-2222,NPI=E.164,NOA=National 6196 CgPN=314-555-1111,NPI=E.164,NOA=National 6198 F6 ACM User B -> NGW 1 6200 ACM 6202 F7 183 Session Progress NGW 1 -> Proxy 1 6204 SIP/2.0 183 Session Progress 6205 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6206 ;received=1.2.3.4 6207 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 6208 ;received=100.101.102.103 6209 Record-Route: 6210 From: BigGuy 6211 ;tag=9fxced76sl 6212 To: LittleGuy 6213 ;tag=314159 6214 Call-ID: 12345600@here.com 6215 CSeq: 1 INVITE 6216 Contact: 6217 Content-Type: application/sdp 6218 Content-Length: 164 6220 v=0 6221 o=GATEWAY1 2890844527 2890844527 IN IP4 ngw1.wcom.com 6222 s=Session SDP 6223 c=IN IP4 130.131.132.133 6224 t=0 0 6225 m=audio 3456 RTP/AVP 0 6226 a=rtpmap:0 PCMU/8000 6228 F8 183 Session Progress Proxy 1 -> User A 6230 SIP/2.0 183 Session Progress 6231 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 6232 ;received=100.101.102.103 6233 Record-Route: 6234 From: BigGuy 6235 ;tag=9fxced76sl 6236 To: LittleGuy 6237 ;tag=314159 6238 Call-ID: 12345600@here.com 6239 CSeq: 1 INVITE 6240 Contact: 6241 Content-Type: application/sdp 6242 Content-Length: 164 6244 v=0 6245 o=GATEWAY1 2890844527 2890844527 IN IP4 ngw1.wcom.com 6246 s=Session SDP 6247 c=IN IP4 130.131.132.133 6248 t=0 0 6249 m=audio 3456 RTP/AVP 0 6250 a=rtpmap:0 PCMU/8000 6252 /* After NGW 1's timer expires, Network Gateway sends REL to ISUP 6253 network and 480 to SIP network */ 6255 F9 REL NGW 1 -> User B 6257 REL 6258 CauseCode=16 Normal 6260 F10 RLC User B -> NGW 1 6262 RLC 6264 F11 480 Temporarily Unavailable NGW 1 -> Proxy 1 6266 SIP/2.0 480 Temporarily Unavailable 6267 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6268 ;received=1.2.3.4 6269 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 6270 ;received=100.101.102.103 6271 From: BigGuy 6272 ;tag=9fxced76sl 6273 To: LittleGuy 6274 ;tag=314159 6275 Call-ID: 12345600@here.com 6276 CSeq: 1 INVITE 6277 Content-Length: 0 6279 F12 ACK Proxy 1 -> NGW 1 6281 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 6282 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6283 Max-Forwards: 70 6284 From: BigGuy 6285 ;tag=9fxced76sl 6286 To: LittleGuy 6287 ;tag=314159 6288 Call-ID: 12345600@here.com 6289 CSeq: 1 ACK 6290 Content-Length: 0 6292 F13 480 Temporarily Unavailable F13 Proxy 1 -> User A 6294 SIP/2.0 480 Temporarily Unavailable 6295 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 6296 ;received=100.101.102.103 6297 From: BigGuy 6298 ;tag=9fxced76sl 6299 To: LittleGuy 6300 ;tag=314159 6301 Call-ID: 12345600@here.com 6302 CSeq: 1 INVITE 6303 Content-Length: 0 6305 F14 ACK User A -> Proxy 1 6307 ACK sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 6308 Max-Forwards: 70 6309 Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 6310 From: BigGuy 6311 ;tag=9fxced76sl 6312 To: LittleGuy 6313 ;tag=314159 6314 Call-ID: 12345600@here.com 6315 CSeq: 1 ACK 6316 Content-Length: 0 6318 5 Gateway to SIP Dialing 6320 5.1 Success Scenarios 6322 In these scenarios, User A is placing calls from the PSTN to User B 6323 in a SIP network. User A's telephone switch signals to a Network 6324 Gateway (NGW 1) using ANSI ISUP. 6326 Since the called SIP User Agent does not send in-band signaling 6327 information, no early media path needs to be established on the IP 6328 side. As a result, the 183 Session Progress response is not used. 6329 However, NGW 1 will establish a one way speech path prior to call 6330 completion, and generate ringing for the PSTN caller. Any tones or 6331 recordings are generated by NGW 1 and played in this speech path. 6332 When the call completes successfully, NGW 1 bridges the PSTN speech 6333 path with the IP media path. Alternatively, the Gateway could 6334 redirect the call to an Announcement Server which would complete the 6335 call and play announcements or tones as directed by the Gateway. 6337 5.1.1 Successful PSTN to SIP call 6339 User A NGW 1 Proxy 1 User B 6340 | | | | 6341 | IAM F1 | | | 6342 |--------------->| INVITE F2 | | 6343 | |--------------->| INVITE F3 | 6344 | | (100) F4 |--------------->| 6345 | |<---------------| | 6346 | | | 180 F5 | 6347 | | 180 F6 |<---------------| 6348 | ACM F7 |<---------------| | 6349 |<---------------| | | 6350 | One Way Voice | | | 6351 |<===============| | | 6352 | Ringing Tone | | 200 F8 | 6353 |<===============| 200 F9 |<---------------| 6354 | |<---------------| | 6355 | | ACK F10 | | 6356 | ANM F12 |--------------->| ACK F11 | 6357 |<---------------| |--------------->| 6358 | Both Way Voice | Both Way RTP Media | 6359 |<==============>|<===============================>| 6360 | REL F13 | | | 6361 |--------------->| | | 6362 | RLC F14 | | | 6363 |<---------------| BYE F15 | | 6364 | |--------------->| BYE F16 | 6365 | | |--------------->| 6366 | | | 200 F17 | 6367 | | 200 F18 |<---------------| 6368 | |<---------------| | 6369 | | | | 6371 In this scenario, User A from the PSTN calls User B through a Network 6372 Gateway NGW1 and Proxy Server Proxy 1. When User B answers the call 6373 the media path is setup end-to-end. The call terminates when User A 6374 hangs up the call, with User A's telephone switch sending an ISUP 6375 RELease message which is mapped to a BYE by NGW 1. 6377 Message Details 6379 F1 IAM User A -> NGW 1 6381 IAM 6382 CgPN=314-555-1111,NPI=E.164,NOA=National 6383 CdPN=972-555-2222,NPI=E.164,NOA=National 6385 F2 INVITE A -> Proxy 1 6386 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 6387 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6388 Max-Forwards: 70 6389 From: ;tag=7643kals 6390 To: 6391 Call-ID: 12345602@ngw1.wcom.com 6392 CSeq: 1 INVITE 6393 Contact: 6394 Content-Type: application/sdp 6395 Content-Length: 150 6397 v=0 6398 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6399 s=Session SDP 6400 c=IN IP4 130.131.132.133 6401 t=0 0 6402 m=audio 3456 RTP/AVP 0 6403 a=rtpmap:0 PCMU/8000 6405 /* Proxy 1 uses a Location Service function to determine where B is 6406 located. Based upon location analysis the call is forwarded to NGW 6407 1. NGW 1 prepares to receive data on port 3456 from User A.*/ 6409 F3 INVITE Proxy 1 -> User B 6411 INVITE sip:UserB@110.111.112.113 SIP/2.0 6412 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6413 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6414 ;received=130.131.132.133 6415 Max-Forwards: 69 6416 Record-Route: 6417 From: ;tag=7643kals 6418 To: 6419 Call-ID: 12345602@ngw1.wcom.com 6420 CSeq: 1 INVITE 6421 Contact: 6422 Content-Type: application/sdp 6423 Content-Length: 150 6425 v=0 6426 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6427 s=Session SDP 6428 c=IN IP4 130.131.132.133 6429 t=0 0 6430 m=audio 3456 RTP/AVP 0 6431 a=rtpmap:0 PCMU/8000 6433 F4 (100 Trying) User B -> Proxy 1 6435 SIP/2.0 100 Trying 6436 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6437 ;received=1.2.3.4 6438 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6439 ;received=130.131.132.133 6440 From: ;tag=7643kals 6441 To: 6442 Call-ID: 12345602@ngw1.wcom.com 6443 CSeq: 1 INVITE 6444 Content-Length: 0 6446 F5 180 Ringing User B -> Proxy 1 6448 SIP/2.0 180 Ringing 6449 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6450 ;received=1.2.3.4 6451 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6452 ;received=130.131.132.133 6453 Record-Route: 6454 From: ;tag=7643kals 6455 To: ;tag=314159 6456 Call-ID: 12345602@ngw1.wcom.com 6457 CSeq: 1 INVITE 6458 Contact: 6459 Content-Length: 0 6461 F6 180 Ringing Proxy 1 -> NGW 1 6463 SIP/2.0 180 Ringing 6464 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6465 ;received=130.131.132.133 6466 Record-Route: 6467 From: ;tag=7643kals 6468 To: ;tag=314159 6469 Call-ID: 12345602@ngw1.wcom.com 6470 CSeq: 1 INVITE 6471 Contact: 6472 Content-Length: 0 6474 F7 ACM NGW 1 -> User A 6476 ACM 6478 F8 200 OK User B -> Proxy 1 6480 SIP/2.0 200 OK 6481 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6482 ;received=1.2.3.4 6483 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6484 ;received=130.131.132.133 6485 Record-Route: 6486 From: ;tag=7643kals 6487 To: ;tag=314159 6488 Call-ID: 12345602@ngw1.wcom.com 6489 Contact: 6490 CSeq: 1 INVITE 6491 Content-Type: application/sdp 6492 Content-Length: 150 6494 v=0 6495 o=UserB 2890844527 2890844527 IN IP4 client.there.com 6496 s=Session SDP 6497 c=IN IP4 110.111.112.113 6498 t=0 0 6499 m=audio 3456 RTP/AVP 0 6500 a=rtpmap:0 PCMU/8000 6502 F9 200 OK Proxy 1 -> NGW 1 6504 SIP/2.0 200 OK 6505 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6506 ;received=130.131.132.133 6507 Record-Route: 6508 From: ;tag=7643kals 6509 To: ;tag=314159 6510 Call-ID: 12345602@ngw1.wcom.com 6511 CSeq: 1 INVITE 6512 Contact: 6513 Content-Type: application/sdp 6514 Content-Length: 150 6516 v=0 6517 o=UserB 2890844527 2890844527 IN IP4 client.there.com 6518 s=Session SDP 6519 c=IN IP4 110.111.112.113 6520 t=0 0 6521 m=audio 3456 RTP/AVP 0 6522 a=rtpmap:0 PCMU/8000 6524 F10 ACK NGW 1 -> Proxy 1 6526 ACK sip:UserB@there.com SIP/2.0 6527 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6528 Max-Forwards: 70 6529 Route: 6530 From: ;tag=7643kals 6531 To: ;tag=314159 6532 Call-ID: 12345602@ngw1.wcom.com 6533 CSeq: 1 ACK 6534 Content-Length: 0 6536 F11 ACK Proxy 1 -> User B 6538 ACK sip:UserB@110.111.112.113 SIP/2.0 6539 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6540 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6541 ;received=130.131.132.133 6542 Max-Forwards: 69 6543 From: ;tag=7643kals 6544 To: ;tag=314159 6545 Call-ID: 12345602@ngw1.wcom.com 6546 CSeq: 1 ACK 6547 Content-Length: 0 6549 F12 ANM User B -> NGW 1 6551 ANM 6553 /* RTP streams are established between A and B (via the GW) */ 6555 /* User A Hangs Up with User B. */ 6557 F13 REL User A -> NGW 1 6559 REL 6560 CauseCode=16 Normal 6562 F14 RLC NGW 1 -> User A 6564 RLC 6566 F15 BYE NGW 1-> Proxy 1 6568 BYE sip:UserB@110.111.112.113 SIP/2.0 6569 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6570 Max-Forwards: 70 6571 Route: 6572 From: ;tag=7643kals 6573 To: ;tag=314159 6574 Call-ID: 12345602@ngw1.wcom.com 6575 CSeq: 2 BYE 6576 Content-Length: 0 6578 F16 BYE Proxy 1 -> User B 6579 BYE sip:UserB@110.111.112.113 SIP/2.0 6580 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6581 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6582 ;received=130.131.132.133 6583 Max-Forwards: 69 6584 From: ;tag=7643kals 6585 To: ;tag=314159 6586 Call-ID: 12345602@ngw1.wcom.com 6587 CSeq: 2 BYE 6588 Content-Length: 0 6590 F17 200 OK User B -> Proxy 1 6592 SIP/2.0 200 OK 6593 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6594 ;received=1.2.3.4 6595 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6596 ;received=130.131.132.133 6597 From: ;tag=7643kals 6598 To: ;tag=314159 6599 Call-ID: 12345602@ngw1.wcom.com 6600 CSeq: 2 BYE 6601 Content-Length: 0 6603 F18 200 OK Proxy 1 -> NGW 1 6605 SIP/2.0 200 OK 6606 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6607 ;received=130.131.132.133 6608 From: ;tag=7643kals 6609 To: ;tag=314159 6610 Call-ID: 12345602@ngw1.wcom.com 6611 CSeq: 2 BYE 6612 Content-Length: 0 6614 5.1.2 Successful PSTN to SIP call, Fast Answer 6616 User A NGW 1 Proxy 1 User B 6617 | | | | 6618 | IAM F1 | | | 6619 |--------------->| INVITE F2 | | 6620 | |--------------->| INVITE F3 | 6621 | | (100) F4 |--------------->| 6622 | |<---------------| | 6623 | | | 200 F5 | 6624 | | 200 F6 |<---------------| 6625 | |<---------------| | 6626 | | ACK F7 | | 6627 | ANM F9 |--------------->| ACK F8 | 6628 |<---------------| |--------------->| 6629 | Both Way Voice | Both Way RTP Media | 6630 |<==============>|<===============================>| 6631 | REL F10 | | | 6632 |--------------->| | | 6633 | RLC F11 | | | 6634 |<---------------| BYE F12 | | 6635 | |--------------->| BYE F13 | 6636 | | |--------------->| 6637 | | | 200 F14 | 6638 | | 200 F15 |<---------------| 6639 | |<---------------| | 6640 | | | | 6642 This "fast answer" scenario is similar to 5.1.1 except that User B 6643 immediately accepts the call, sending a 200 OK (F5) without sending a 6644 180 Ringing response. The Gateway then sends an Answer Message (ANM) 6645 without sending an Address Complete Message (ACM). Note that for 6646 ETSI and some other ISUP variants, a CONnect message (CON) would be 6647 sent instead of the ANM. 6649 Message Details 6651 F1 IAM User A -> NGW 1 6653 IAM 6654 CgPN=314-555-1111,NPI=E.164,NOA=National 6655 CdPN=972-555-2222,NPI=E.164,NOA=National 6657 F2 INVITE NGW 1 -> Proxy 1 6659 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 6660 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6661 Max-Forwards: 70 6662 From: ;tag=7643kals 6663 To: 6664 Call-ID: 12345602@ngw1.wcom.com 6665 CSeq: 1 INVITE 6666 Contact: 6667 Content-Type: application/sdp 6668 Content-Length: 150 6670 v=0 6671 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6672 s=Session SDP 6673 c=IN IP4 130.131.132.133 6674 t=0 0 6675 m=audio 3456 RTP/AVP 0 6676 a=rtpmap:0 PCMU/8000 6678 /* Proxy 1 uses a Location Service function to determine where B is 6679 located. Based upon location analysis the call is forwarded to User 6680 B. User B prepares to receive data on port 3456 from User A.*/ 6682 F3 INVITE Proxy 1 -> User B 6684 INVITE UserB@there.com SIP/2.0 6685 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6686 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6687 ;received=130.131.132.133 6688 Max-Forwards: 69 6689 Record-Route: 6690 From: ;tag=7643kals 6691 To: 6692 Call-ID: 12345602@ngw1.wcom.com 6693 CSeq: 1 INVITE 6694 Contact: 6695 Content-Type: application/sdp 6696 Content-Length: 150 6698 v=0 6699 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6700 s=Session SDP 6701 c=IN IP4 130.131.132.133 6702 t=0 0 6703 m=audio 3456 RTP/AVP 0 6704 a=rtpmap:0 PCMU/8000 6706 F4 (100 Trying) Proxy 1 -> NGW 1 6708 SIP/2.0 100 Trying 6709 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6710 ;received=130.131.132.133 6711 From: ;tag=7643kals 6712 To: 6713 Call-ID: 12345602@ngw1.wcom.com 6714 CSeq: 1 INVITE 6715 Content-Length: 0 6717 F5 200 OK User B -> Proxy 1 6719 SIP/2.0 200 OK 6720 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6721 ;received=1.2.3.4 6722 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6723 ;received=130.131.132.133 6724 Record-Route: 6725 From: ;tag=7643kals 6726 To: ;tag=314159 6727 Call-ID: 12345602@ngw1.wcom.com 6728 CSeq: 1 INVITE 6729 Contact: 6730 Content-Type: application/sdp 6731 Content-Length: 150 6733 v=0 6734 o=UserB 2890844527 2890844527 IN IP4 client.there.com 6735 s=Session SDP 6736 c=IN IP4 110.111.112.113 6737 t=0 0 6738 m=audio 3456 RTP/AVP 0 6739 a=rtpmap:0 PCMU/8000 6741 F6 200 OK Proxy 1 -> NGW 1 6743 SIP/2.0 200 OK 6744 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6745 ;received=130.131.132.133 6746 Record-Route: 6747 From: ;tag=7643kals 6748 To: ;tag=314159 6749 Call-ID: 12345602@ngw1.wcom.com 6750 CSeq: 1 INVITE 6751 Contact: 6752 Content-Type: application/sdp 6753 Content-Length: 150 6755 v=0 6756 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6757 s=Session SDP 6758 c=IN IP4 110.111.112.113 6759 t=0 0 6760 m=audio 3456 RTP/AVP 0 6761 a=rtpmap:0 PCMU/8000 6762 F7 ACK NGW 1 -> Proxy 1 6764 ACK UserB@110.111.112.113 SIP/2.0 6765 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6766 Max-Forwards: 70 6767 Route: 6768 From: ;tag=7643kals 6769 To: ;tag=314159 6770 Call-ID: 12345602@ngw1.wcom.com 6771 CSeq: 1 ACK 6772 Content-Length: 0 6774 F8 ACK Proxy 1 -> User B 6776 ACK UserB@110.111.112.113 SIP/2.0 6777 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6778 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6779 ;received=130.131.132.133 6780 Max-Forwards: 69 6781 From: ;tag=7643kals 6782 To: ;tag=314159 6783 Call-ID: 12345602@ngw1.wcom.com 6784 CSeq: 1 ACK 6785 Content-Length: 0 6787 F9 ANM User B -> NGW 1 6789 ANM 6791 /* RTP streams are established between A and B (via the GW) */ 6793 /* User A Hangs Up with User B. */ 6795 F10 REL ser A -> NGW 1 6797 REL 6798 CauseCode=16 Normal 6800 F11 RLC NGW 1 -> User A 6802 RLC 6804 F12 BYE NGW 1 -> Proxy 1 6806 BYE sip:UserB@there.com SIP/2.0 6807 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6808 Max-Forwards: 70 6809 Route: 6810 From: ;tag=7643kals 6811 To: ;tag=314159 6812 Call-ID: 12345602@ngw1.wcom.com 6813 CSeq: 2 BYE 6814 Content-Length: 0 6816 F13 BYE Proxy 1 -> User B 6818 BYE sip:UserB@110.111.112.113 SIP/2.0 6819 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6820 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6821 ;received=130.131.132.133 6822 Max-Forwards: 69 6823 From: ;tag=7643kals 6824 To: ;tag=314159 6825 Call-ID: 12345602@ngw1.wcom.com 6826 CSeq: 2 BYE 6827 Content-Length: 0 6829 F14 200 OK User B -> Proxy 1 6831 SIP/2.0 200 OK 6832 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6833 ;received=1.2.3.4 6834 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6835 ;received=130.131.132.133 6836 From: ;tag=7643kals 6837 To: ;tag=314159 6838 Call-ID: 12345602@ngw1.wcom.com 6839 CSeq: 2 BYE 6840 Content-Length: 0 6842 F15 200 OK Proxy 1 -> NGW 1 6844 SIP/2.0 200 OK 6845 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6846 ;received=130.131.132.133 6847 From: ;tag=7643kals 6848 To: ;tag=314159 6849 Call-ID: 12345602@ngw1.wcom.com 6850 CSeq: 2 BYE 6851 Content-Length: 0 6853 5.1.3 Successful PBX to SIP call 6855 PBX A GW 1 Proxy 1 User B 6856 | | | | 6857 | Seizure | | | 6858 |--------------->| | | 6859 | Wink | | | 6860 |--------------->| | | 6861 | MF Digits F1 | | | 6862 |--------------->| INVITE F2 | | 6863 | |--------------->| INVITE F3 | 6864 | | (100) F4 |--------------->| 6865 | |<---------------| | 6866 | | | 180 F5 | 6867 | | 180 F6 |<---------------| 6868 | |<---------------| | 6869 | One Way Voice | | | 6870 |<===============| | | 6871 | Ringing Tone | | 200 F7 | 6872 |<===============| 200 F8 |<---------------| 6873 | |<---------------| | 6874 | | ACK F9 | | 6875 | Seizure |--------------->| ACK F10 | 6876 |<---------------| |--------------->| 6877 | Both Way Voice | Both Way RTP Media | 6878 |<==============>|<===============================>| 6879 | Seizure Removal| | | 6880 |--------------->| | | 6881 | Seizure Removal| | | 6882 |<---------------| BYE F11 | | 6883 | |--------------->| BYE F12 | 6884 | | |--------------->| 6885 | | | 200 F13 | 6886 | | 200 F14 |<---------------| 6887 | |<---------------| | 6888 | | | | 6890 In this scenario, User A dials from PBX A to User B through GW 1 and 6891 Proxy 1. This is an example of a call that appears destined for the 6892 PSTN but instead is routed to a SIP Client. 6894 Signaling between PBX A and GW 1 is Feature Group B (FGB) circuit 6895 associated signaling, in-band Mult-Frequency (MF) outpulsing. After 6896 the receipt of the 180 Ringing from User B, GW 1 generates ringing 6897 tone for User A. 6899 User B answers the call by sending a 200 OK. The call terminates 6900 when User A hangs up, causing GW1 to send a BYE. 6902 The Enterprise Gateway can only identify the trunk group that the 6903 call came in on, it cannot identify the individual line on PBX A that 6904 is placing the call. The SIP URL used to identify the caller is 6905 shown in these flows as sip:IdentifierString@gw1.wcom.com. A unique 6906 IdentifierString is provisioned on the Gateway against each incoming 6907 trunk group. Note: the string could be a telephone number. 6909 Message Details 6911 PBX A -> GW 1 6913 Seizure 6915 GW 1 -> PBX A 6917 Wink 6919 F1 MF Digits PBX A -> GW 1 6921 KP 1 972 555 2222 ST 6923 F2 INVITE A -> Proxy 1 6925 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 6926 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 6927 Max-Forwards: 70 6928 From: PBX_A ;tag=jwdkallkzm 6929 To: 6930 Call-ID: 12345602@gw1.wcom.com 6931 CSeq: 1 INVITE 6932 Contact: PBX_A 6933 Content-Type: application/sdp 6934 Content-Length: 150 6936 v=0 6937 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6938 s=Session SDP 6939 c=IN IP4 130.131.132.133 6940 t=0 0 6941 m=audio 3456 RTP/AVP 0 6942 a=rtpmap:0 PCMU/8000 6944 /* Proxy 1 uses a Location Service function to determine where the 6945 phone number +1-972-555-2222 is located. Based upon location 6946 analysis the call is forwarded to SIP User B. */ 6948 F3 INVITE Proxy 1 -> User B 6950 INVITE sip:UserB@110.111.112.113 SIP/2.0 6951 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6952 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 6953 ;received=130.131.132.133 6954 Max-Forwards: 69 6955 Record-Route: 6956 From: PBX_A ;tag=jwdkallkzm 6957 To: 6958 Call-ID: 12345602@gw1.wcom.com 6959 CSeq: 1 INVITE 6960 Contact: PBX_A 6961 Content-Type: application/sdp 6962 Content-Length: 150 6964 v=0 6965 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 6966 s=Session SDP 6967 c=IN IP4 130.131.132.133 6968 t=0 0 6969 m=audio 3456 RTP/AVP 0 6970 a=rtpmap:0 PCMU/8000 6972 F4 (100 Trying) Proxy 1 -> GW 1 6974 SIP/2.0 100 Trying 6975 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6976 ;received=130.131.132.133 6977 From: PBX_A ;tag=jwdkallkzm 6978 To: ;tag=314159 6979 Call-ID: 12345602@gw1.wcom.com 6980 CSeq: 1 INVITE 6981 Content-Length: 0 6983 F5 180 Ringing User B -> Proxy 1 6985 SIP/2.0 180 Ringing 6986 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 6987 ;received=1.2.3.4 6988 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 6989 ;received=130.131.132.133 6990 Record-Route: 6991 From: PBX_A ;tag=jwdkallkzm 6992 To: ;tag=314159 6993 Call-ID: 12345602@gw1.wcom.com 6994 CSeq: 1 INVITE 6995 Contact: 6996 Content-Length: 0 6998 F6 180 Ringing Proxy 1 -> GW 1 7000 SIP/2.0 180 Ringing 7001 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 7002 ;received=130.131.132.133 7003 Record-Route: 7004 From: PBX_A ;tag=jwdkallkzm 7005 To: ;tag=314159 7006 Call-ID: 12345602@gw1.wcom.com 7007 CSeq: 1 INVITE 7008 Contact: 7009 Content-Length: 0 7011 /* One way Voice path is established between GW and the PBX for 7012 ringing. */ 7014 F7 200 OK User B -> Proxy 1 7016 SIP/2.0 200 OK 7017 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7018 ;received=1.2.3.4 7019 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 7020 ;received=130.131.132.133 7021 Record-Route: 7022 From: PBX_A ;tag=jwdkallkzm 7023 To: ;tag=314159 7024 Call-ID: 12345602@gw1.wcom.com 7025 Contact: 7026 CSeq: 1 INVITE 7027 Content-Type: application/sdp 7028 Content-Length: 147 7030 v=0 7031 o=UserB 2890844527 2890844527 IN IP4 client.there.com 7032 s=Session SDP 7033 c=IN IP4 110.111.112.113 7034 t=0 0 7035 m=audio 3456 RTP/AVP 0 7036 a=rtpmap:0 PCMU/8000 7038 F8 200 OK Proxy 1 -> GW 1 7040 SIP/2.0 200 OK 7041 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 7042 ;received=130.131.132.133 7043 Record-Route: 7044 From: PBX_A ;tag=jwdkallkzm 7045 To: ;tag=314159 7046 Call-ID: 12345602@gw1.wcom.com 7047 CSeq: 1 INVITE 7048 Contact: 7049 Content-Type: application/sdp 7050 Content-Length: 147 7051 v=0 7052 o=UserB 2890844527 2890844527 IN IP4 client.there.com 7053 s=Session SDP 7054 c=IN IP4 110.111.112.113 7055 t=0 0 7056 m=audio 3456 RTP/AVP 0 7057 a=rtpmap:0 PCMU/8000 7059 F9 ACK GW 1 -> Proxy 1 7061 ACK sip:UserB@110.111.112.113 SIP/2.0 7062 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 7063 Max-Forwards: 70 7064 Route: 7065 From: PBX_A ;tag=jwdkallkzm 7066 To: ;tag=314159 7067 Call-ID: 12345602@gw1.wcom.com 7068 CSeq: 1 ACK 7069 Content-Length: 0 7071 F10 ACK Proxy 1 -> User B 7073 ACK sip:UserB@110.111.112.113 SIP/2.0 7074 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7075 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 7076 ;received=130.131.132.133 7077 Max-Forwards: 69 7078 From: PBX_A ;tag=jwdkallkzm 7079 To: ;tag=314159 7080 Call-ID: 12345602@ngw1.wcom.com 7081 CSeq: 1 ACK 7082 Content-Length: 0 7084 /* RTP streams are established between A and B (via the GW) */ 7086 /* User A Hangs Up with User B. */ 7088 F11 BYE GW 1 -> Proxy 1 7090 BYE sip:UserB@110.111.112.113 SIP/2.0 7091 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 7092 Max-Forwards: 70 7093 Route: 7094 From: PBX_A ;tag=jwdkallkzm 7095 To: ;tag=314159 7096 Call-ID: 12345602@gw1.wcom.com 7097 CSeq: 2 BYE 7098 Content-Length: 0 7099 F12 BYE Proxy 1 -> User B 7101 BYE sip:UserB@110.111.112.113 SIP/2.0 7102 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7103 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 7104 ;received=130.131.132.133 7105 Max-Forwards: 69 7106 To: ;tag=314159 7107 Call-ID: 12345602@gw1.wcom.com 7108 CSeq: 2 BYE 7109 Content-Length: 0 7111 F13 200 OK User B -> Proxy 1 7113 SIP/2.0 200 OK 7114 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7115 ;received=1.2.3.4 7116 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 7117 ;received=130.131.132.133 7118 From: PBX_A ;tag=jwdkallkzm 7119 To: ;tag=314159 7120 Call-ID: 12345602@ngw1.wcom.com 7121 CSeq: 2 BYE 7122 Content-Length: 0 7124 F14 200 OK Proxy 1 -> GW 1 7126 SIP/2.0 200 OK 7127 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 7128 ;received=130.131.132.133 7129 From: PBX_A ;tag=jwdkallkzm 7130 To: ;tag=314159 7131 Call-ID: 12345602@gw1.wcom.com 7132 CSeq: 2 BYE 7133 Content-Length: 0 7135 5.2 Failure Scenarios 7137 5.2.1 Unsuccessful PSTN to SIP REL, SIP error mapped to REL 7139 User A GW 1 Proxy 1 User B 7140 | | | | 7141 | IAM F1 | | | 7142 |--------------->| INVITE F2 | | 7143 | |--------------->| | 7144 | | 604 F3 | | 7145 | |<---------------| | 7146 | | ACK F4 | | 7147 | |--------------->| | 7148 | REL F5 | | | 7149 |<---------------| | | 7150 | RLC F6 | | | 7151 |--------------->| | | 7152 | | | | 7154 User A attempts to place a call through Gateway GW 1 and Proxy 1, 7155 which is unable to find any routing for the number. The call is 7156 rejected by Proxy 1 with a REL message containing a specific Cause 7157 value mapped by the gateway based on the SIP error. 7159 Message Details 7161 F1 IAM User A -> GW 1 7163 IAM 7164 CgPN=314-555-1111,NPI=E.164,NOA=National 7165 CdPN=972-555-9999,NPI=E.164,NOA=National 7167 F2 INVITE A -> Proxy 1 7169 INVITE sip:+1-972-555-9999@ss1.wcom.com;user=phone SIP/2.0 7170 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7171 Max-Forwards: 70 7172 From: ;tag=076342s 7173 To: 7174 Call-ID: 12345602@gw1.wcom.com 7175 CSeq: 1 INVITE 7176 Contact: 7177 Content-Type: application/sdp 7178 Content-Length: 150 7180 v=0 7181 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 7182 s=Session SDP 7183 c=IN IP4 130.131.132.133 7184 t=0 0 7185 m=audio 3456 RTP/AVP 0 7186 a=rtpmap:0 PCMU/8000 7188 /* Proxy 1 uses a Location Service to find a route to +1-972-555- 7189 9999. A route is not found, so Proxy 1 rejects the call. */ 7191 F3 604 Does Not Exist Anywhere Proxy 1 -> GW 1 7193 SIP/2.0 604 Does Not Exist Anywhere 7194 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7195 ;received=130.131.132.133 7196 From: ;tag=076342s 7197 To: ;tag=6a34d410 7198 Call-ID: 12345602@gw1.wcom.com 7199 CSeq: 1 INVITE 7200 Error-Info: 7201 Content-Length: 0 7203 F4 ACK GW 1 -> Proxy 1 7205 ACK sip:+1-972-555-9999@ss1.wcom.com;user=phone SIP/2.0 7206 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7207 Max-Forwards: 70 7208 From: ;tag=076342s 7209 To: ;tag=6a34d410 7210 Call-ID: 12345602@gw1.wcom.com 7211 CSeq: 1 ACK 7212 Content-Length: 0 7214 F5 REL GW 1 -> User A 7216 REL 7217 CauseCode=1 7219 F6 RLC User A -> GW 1 7221 RLC 7223 5.2.2 Unsuccessful PSTN to SIP REL, SIP busy mapped to REL 7225 User A NGW 1 Proxy 1 User B 7226 | | | | 7227 | IAM F1 | | | 7228 |--------------->| INVITE F2 | | 7229 | |--------------->| INVITE F3 | 7230 | | (100) F4 |--------------->| 7231 | |<---------------| | 7232 | | | 600 F5 | 7233 | | |<---------------| 7234 | | | ACK F6 | 7235 | | 600 F7 |--------------->| 7236 | |<---------------| | 7237 | | ACK F8 | | 7238 | |--------------->| | 7239 | REL(17) F9 | | | 7240 |<---------------| | | 7241 | RLC F10 | | | 7242 |<-------------->| | | 7243 | | | | 7245 In this scenario, User A calls User B through Network Gateway NGW 1 7246 and Proxy 1. The call is routed to User B by Proxy 1. The call is 7247 rejected by User B who sends a 600 Busy Everywhere response. The 7248 Gateway sends a REL message containing a specific Cause value mapped 7249 by the gateway based on the SIP error. 7251 Since no interworking is indicated in the IAM (F1), the busy tone is 7252 generated locally by User A's telephone switch. In scenario 5.2.3, 7253 the busy signal is generated by the Gateway since interworking is 7254 indicated. For more discussion on interworking, refer to [SIP-ISUP]. 7256 Message Details 7258 F1 IAM User A -> NGW 1 7260 IAM 7261 CgPN=314-555-1111,NPI=E.164,NOA=National 7262 CdPN=972-555-2222,NPI=E.164,NOA=National 7264 F2 INVITE A -> Proxy 1 7266 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 7267 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7268 Max-Forwards: 70 7269 From: ;tag=7643kals 7270 To: 7271 Call-ID: 12345602@ngw1.wcom.com 7272 CSeq: 1 INVITE 7273 Contact: 7274 Content-Type: application/sdp 7275 Content-Length: 150 7277 v=0 7278 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 7279 s=Session SDP 7280 c=IN IP4 130.131.132.133 7281 t=0 0 7282 m=audio 3456 RTP/AVP 0 7283 a=rtpmap:0 PCMU/8000 7285 /* Proxy 1 uses a Location Service function to determine a route for 7286 +1-972-555-2222. The call is then forwarded to User B. */ 7288 F3 INVITE F3 Proxy 1 -> User B 7290 INVITE UserB@there.com SIP/2.0 7291 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7292 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7293 ;received=130.131.132.133 7294 Max-Forwards: 69 7295 Record-Route: 7296 From: ;tag=7643kals 7297 To: 7298 Call-ID: 12345602@ngw1.wcom.com 7299 CSeq: 1 INVITE 7300 Contact: 7301 Content-Type: application/sdp 7302 Content-Length: 150 7304 v=0 7305 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 7306 s=Session SDP 7307 c=IN IP4 130.131.132.133 7308 t=0 0 7309 m=audio 3456 RTP/AVP 0 7310 a=rtpmap:0 PCMU/8000 7312 F4 (100 Trying) Proxy 1 -> NGW 1 7314 SIP/2.0 100 Trying 7315 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7316 ;received=130.131.132.133 7317 From: ;tag=7643kals 7318 To: ;tag=314159 7319 Call-ID: 12345602@ngw1.wcom.com 7320 CSeq: 1 INVITE 7321 Content-Length: 0 7322 F5 600 Busy Everywhere User B -> Proxy 1 7324 SIP/2.0 600 Busy Everywhere 7325 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7326 ;received=1.2.3.4 7327 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7328 ;received=130.131.132.133 7329 From: ;tag=7643kals 7330 To: ;tag=314159 7331 Call-ID: 12345602@ngw1.wcom.com 7332 CSeq: 1 INVITE 7333 Content-Length: 0 7335 F6 ACK Proxy 1 -> User B 7337 ACK UserB@there.com SIP/2.0 7338 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7339 Max-Forwards: 70 7340 From: ;tag=7643kals 7341 To: ;tag=314159 7342 Call-ID: 12345602@ngw1.wcom.com 7343 CSeq: 1 ACK 7344 Content-Length: 0 7346 F7 600 Busy Everywhere Proxy 1 -> NGW 1 7348 SIP/2.0 600 Busy Everywhere 7349 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7350 ;received=130.131.132.133 7351 From: ;tag=7643kals 7352 To: ;tag=314159 7353 Call-ID: 12345602@ngw1.wcom.com 7354 CSeq: 1 INVITE 7355 Content-Length: 0 7357 F8 ACK NGW 1 -> Proxy 1 7359 ACK UserB@there.com SIP/2.0 7360 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7361 Max-Forwards: 70 7362 From: ;tag=7643kals 7363 To: ;tag=314159 7364 Call-ID: 12345602@ngw1.wcom.com 7365 CSeq: 1 ACK 7366 Content-Length: 0 7367 F9 REL NGW 1 -> User A 7369 REL 7370 CauseCode=17 Busy 7372 F10 RLC User A -> NGW 1 7374 RLC 7376 5.2.3 Unsuccessful PSTN->SIP, SIP error interworking to tones 7378 User A NGW 1 Proxy 1 User B 7379 | | | | 7380 | IAM F1 | | | 7381 |--------------->| INVITE F2 | | 7382 | |--------------->| INVITE F3 | 7383 | | (100) F4 |--------------->| 7384 | |<---------------| | 7385 | | | 600 F5 | 7386 | | |<---------------| 7387 | | | ACK F6 | 7388 | | 600 F7 |--------------->| 7389 | |<---------------| | 7390 | | ACK F8 | | 7391 | ANM F9 |--------------->| | 7392 |<---------------| | | 7393 | Both Way Voice | | | 7394 |<==============>| | | 7395 | Busy Tone | | | 7396 |<===============| | | 7397 | REL(16) F10 | | | 7398 |--------------->| | | 7399 | RLC F11 | | | 7400 |<---------------| | | 7401 | | | | 7403 In this scenario, User A calls User B through Network Gateway NGW1 7404 and Proxy 1. The call is routed to User B by Proxy 1. The call is 7405 rejected by the User B client. NGW 1 sets up a two way voice path to 7406 User A, plays busy tone, and releases call after timeout. 7408 NGW 1 plays the busy tone since the IAM (F1) indicates the 7409 interworking is present. In scenario 5.2.2, with no interworking, 7410 the busy indication is carried in the REL Cause value and is 7411 generated locally instead. 7413 Again, note that for ETSI or ITU ISUP, a CONnect message would be 7414 sent instead of the Answer Message. 7416 Message Details 7418 F1 IAM User A -> NGW 1 7420 IAM 7421 CgPN=314-555-1111,NPI=E.164,NOA=National 7422 CdPN=972-555-2222,NPI=E.164,NOA=National 7423 Interworking=encountered 7424 F2 INVITE NGW1 -> Proxy 1 7426 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 7427 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7428 Max-Forwards: 70 7429 From: ;tag=7643kals 7430 To: 7431 Call-ID: 12345602@ngw1.wcom.com 7432 CSeq: 1 INVITE 7433 Contact: 7434 Content-Type: application/sdp 7435 Content-Length: 150 7437 v=0 7438 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 7439 s=Session SDP 7440 c=IN IP4 130.131.132.133 7441 t=0 0 7442 m=audio 3456 RTP/AVP 0 7443 a=rtpmap:0 PCMU/8000 7445 /* Proxy 1 uses a Location Service function to determine a route for 7446 +1-972-555-2222. The call is then forwarded to User B. */ 7448 F3 INVITE Proxy 1 -> User B 7450 INVITE UserB@there.com SIP/2.0 7451 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7452 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7453 ;received=130.131.132.133 7454 Max-Forwards: 69 7455 Record-Route: 7456 From: ;tag=7643kals 7457 To: 7458 Call-ID: 12345602@ngw1.wcom.com 7459 CSeq: 1 INVITE 7460 Contact: 7461 Content-Type: application/sdp 7462 Content-Length: 150 7464 v=0 7465 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 7466 s=Session SDP 7467 c=IN IP4 130.131.132.133 7468 t=0 0 7469 m=audio 3456 RTP/AVP 0 7470 a=rtpmap:0 PCMU/8000 7472 F4 (100 Trying) User B -> Proxy 1 7473 SIP/2.0 100 Trying 7474 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7475 ;received=1.2.3.4 7476 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7477 ;received=130.131.132.133 7478 From: ;tag=7643kals 7479 To: 7480 Call-ID: 12345602@ngw1.wcom.com 7481 CSeq: 1 INVITE 7482 Content-Length: 0 7484 F5 600 Busy Everywhere User B -> Proxy 1 7486 SIP/2.0 600 Busy Everywhere 7487 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7488 ;received=1.2.3.4 7489 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7490 ;received=130.131.132.133 7491 From: ;tag=7643kals 7492 To: ;tag=314159 7493 Call-ID: 12345602@ngw1.wcom.com 7494 CSeq: 1 INVITE 7495 Content-Length: 0 7497 F6 ACK Proxy 1 -> User B 7499 ACK UserB@there.com SIP/2.0 7500 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7501 Max-Forwards: 70 7502 From: ;tag=7643kals 7503 To: ;tag=314159 7504 Call-ID: 12345602@ngw1.wcom.com 7505 CSeq: 1 ACK 7506 Content-Length: 0 7508 F7 600 Busy Everywhere Proxy 1 -> NGW 1 7510 SIP/2.0 600 Busy Everywhere 7511 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7512 ;received=130.131.132.133 7513 From: ;tag=7643kals 7514 To: ;tag=314159 7515 Call-ID: 12345602@ngw1.wcom.com 7516 CSeq: 1 INVITE 7517 Content-Length: 0 7519 F8 ACK NGW 1 -> Proxy 1 7520 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 7521 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7522 Max-Forwards: 70 7523 From: ;tag=7643kals 7524 To: ;tag=314159 7525 Call-ID: 12345602@ngw1.wcom.com 7526 CSeq: 1 ACK 7527 Content-Length: 0 7529 F9 ACM NGW 1 -> User A 7531 ANM 7533 /* A two way speech path is established between NGW 1 and User A. */ 7535 /* Call Released after User A hangs up. */ 7537 F10 REL User A -> NGW 1 7539 REL 7540 CauseCode=16 7542 F11 RLC NGW 1 -> User A 7544 RLC 7546 5.2.4 Unsuccessful PSTN->SIP, ACM timeout 7548 User A NGW 1 Proxy 1 User B 7549 | | | | 7550 | IAM F1 | | | 7551 |--------------->| INVITE F2 | | 7552 | |--------------->| INVITE F3 | 7553 | | (100) F4 |--------------->| 7554 | |<---------------| | 7555 | | | INVITE F5 | 7556 | | |--------------->| 7557 | | | INVITE F6 | 7558 | | |--------------->| 7559 | | | INVITE F7 | 7560 | | |--------------->| 7561 | | | INVITE F8 | 7562 | | |--------------->| 7563 | | | INVITE F9 | 7564 | | |--------------->| 7565 | REL F10 | | | 7566 |--------------->| | | 7567 | RLC F11 | | | 7568 |<---------------| | | 7569 | | CANCEL F12 | | 7570 | |--------------->| | 7571 | | 200 F13 | | 7572 | |<---------------| | 7574 User A calls User B through NGW 1 and Proxy 1. Proxy 1 re-sends the 7575 INVITE after the expiration of SIP timer T1 without receiving any 7576 response from User B. User B never responds with 180 Ringing or any 7577 other response (it is reachable but unresponsive). After the 7578 expiration of a timer, User A's network disconnects the call by 7579 sending a Release message REL. The Gateway maps this to a CANCEL. 7580 Message Details 7582 F1 IAM User A -> NGW 1 7584 IAM 7585 CgPN=314-555-1111,NPI=E.164,NOA=National 7586 CdPN=972-555-2222,NPI=E.164,NOA=National 7588 F2 INVITE A -> Proxy 1 7590 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 7591 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7592 Max-Forwards: 70 7593 From: ;tag=7643kals 7594 To: 7595 Call-ID: 12345602@ngw1.wcom.com 7596 CSeq: 1 INVITE 7597 Contact: 7598 Content-Type: application/sdp 7599 Content-Length: 150 7601 v=0 7602 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 7603 s=Session SDP 7604 c=IN IP4 130.131.132.133 7605 t=0 0 7606 m=audio 3456 RTP/AVP 0 7607 a=rtpmap:0 PCMU/8000 7609 /* Proxy 1 uses a Location Service function to determine a route for 7610 +1-972-555-2222. The call is then forwarded to User B. */ 7612 F3 INVITE Proxy 1 -> User B 7614 INVITE sip:UserB@there.com SIP/2.0 7615 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7616 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7617 ;received=130.131.132.133 7618 Max-Forwards: 69 7619 Record-Route: 7620 From: ;tag=7643kals 7621 To: 7622 Call-ID: 12345602@ngw1.wcom.com 7623 CSeq: 1 INVITE 7624 Contact: 7625 Content-Type: application/sdp 7626 Content-Length: 150 7628 v=0 7629 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 7630 c c=IN IP4 130.131.132.133 7631 t=0 0 7632 m=audio 3456 RTP/AVP 0 7633 a=rtpmap:0 PCMU/8000 7635 F4 100 Trying Proxy 1 -> NGW 1 7637 SIP/2.0 100 Trying 7638 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7639 ;received=130.131.132.133 7640 From: ;tag=7643kals 7641 To: 7642 Call-ID: 12345602@ngw1.wcom.com 7643 CSeq: 1 INVITE 7644 Content-Length: 0 7646 F5 INVITE Proxy 1 -> User B 7647 Same as Message F3 7649 F6 INVITE Proxy 1 -> User B 7651 Same as Message F3 7653 F7 INVITE Proxy 1 -> User B 7655 Same as Message F3 7657 F8 INVITE Proxy 1 -> User B 7659 Same as Message F3 7661 F9 INVITE Proxy 1 -> User B 7663 Same as Message F3 7665 /* Timer expires in User A's access network. */ 7667 F10 REL User A -> NGW 1 7669 REL 7670 CauseCode=16 Normal 7672 F11 RLC NGW 1 -> User A 7674 RLC 7676 F12 CANCEL NGW 1 -> Proxy 1 7678 CANCEL sip:+1-972-555-2222@ss11.wcom.com;user=phone SIP/2.0 7679 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7680 Max-Forwards: 70 7681 From: ;tag=7643kals 7682 To: 7683 Call-ID: 12345602@ngw1.wcom.com 7684 CSeq: 1 CANCEL 7685 Content-Length: 0 7687 F13 200 OK Proxy 1 -> NGW 1 7689 SIP/2.0 200 OK 7690 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7691 ;received=130.131.132.133 7692 From: ;tag=7643kals 7693 To: 7694 Call-ID: 12345602@ngw1.wcom.com 7695 CSeq: 1 CANCEL 7696 Content-Length: 0 7698 5.2.5 Unsuccessful PSTN->SIP, ACM timeout, stateless Proxy 7700 User A NGW 1 Stateless Proxy 1 User B 7701 | | | | 7702 | IAM F1 | | | 7703 |--------------->| INVITE F2 | | 7704 | |--------------->| INVITE F3 | 7705 | | INVITE F4 |--------------->| 7706 | |--------------->| INVITE F5 | 7707 | | INVITE F6 |--------------->| 7708 | |--------------->| INVITE F7 | 7709 | | INVITE F8 |--------------->| 7710 | |--------------->| INVITE F9 | 7711 | | INVITE F10 |--------------->| 7712 | |--------------->| INVITE F11 | 7713 | | INVITE F12 |--------------->| 7714 | |--------------->| INVITE F13 | 7715 | | |--------------->| 7716 | REL F14 | | | 7717 |--------------->| | | 7718 | RLC F15 | | | 7719 |<---------------| | | 7721 In this scenario, User A calls User B through NGW 1 and Proxy 1. 7722 Since Proxy 1 is stateless (it does not send a 100 Trying response), 7723 NGW 1 re-sends the INVITE message after the expiration of 7724 SIP timer T1. User B does not respond with 180 Ringing. User A's 7725 network disconnects the call with a release REL (CauseCode=102 7726 Timeout). 7728 Message Details 7730 F1 IAM User A -> NGW 1 7732 IAM 7733 CgPN=314-555-1111,NPI=E.164,NOA=National 7734 CdPN=972-555-2222,NPI=E.164,NOA=National 7736 F2 INVITE NGW 1 -> Proxy 1 7738 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 7739 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7740 Max-Forwards: 70 7741 From: ;tag=7643kals 7742 To: 7743 Call-ID: 12345602@ngw1.wcom.com 7744 CSeq: 1 INVITE 7745 Contact: 7746 Content-Type: application/sdp 7747 Content-Length: 150 7749 v=0 7750 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 7751 s=Session SDP 7752 c=IN IP4 130.131.132.133 7753 t=0 0 7754 m=audio 3456 RTP/AVP 0 7755 a=rtpmap:0 PCMU/8000 7757 /* Proxy 1 uses a Location Service function to determine a route for 7758 +1-972-555-2222. The call is then forwarded to User B. */ 7760 F3 INVITE Proxy 1 -> User B 7762 INVITE sip:UserB@there.com SIP/2.0 7763 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7764 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7765 ;received=130.131.132.133 7766 Max-Forwards: 69 7767 Record-Route: 7768 From: ;tag=7643kals 7769 To: 7770 Call-ID: 12345602@ngw1.wcom.com 7771 CSeq: 1 INVITE 7772 Contact: 7773 Content-Type: application/sdp 7774 Content-Length: 150 7776 v=0 7777 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 7778 s=Session SDP 7779 c=IN IP4 130.131.132.133 7780 t=0 0 7781 m=audio 3456 RTP/AVP 0 7782 a=rtpmap:0 PCMU/8000 7784 F4 INVITE NGW 1 -> Proxy 1 7786 Same as Message F2 7788 F5 INVITE Proxy 1 -> User B 7790 Same as Message F3 7792 F6 INVITE NGW 1 -> Proxy 1 7794 Same as Message F2 7795 F7 INVITE Proxy 1 -> User B 7797 Same as Message F3 7799 F8 INVITE NGW 1 -> Proxy 1 7801 Same as Message F2 7803 F9 INVITE Proxy 1 -> User B 7805 Same as Message F3 7807 F10 INVITE NGW 1 -> Proxy 1 7809 Same as Message F2 7811 F11 INVITE Proxy 1 -> User B 7813 Same as Message F3 7815 F12 INVITE NGW 1 -> Proxy 1 7817 Same as Message F2 7819 F13 INVITE Proxy 1 -> User B 7821 Same as Message F3 7823 /* A timer expires in User A's access network. */ 7825 F14 REL User A -> NGW 1 7827 REL 7828 CauseCode=102 Timeout 7830 F15 RLC NGW 1 -> User A 7832 RLC 7834 5.2.6 Unsuccessful PSTN->SIP, ANM timeout 7836 User A NGW 1 Proxy 1 User B 7837 | | | | 7838 | IAM F1 | | | 7839 |--------------->| INVITE F2 | | 7840 | |--------------->| INVITE F3 | 7841 | | (100) F4 |--------------->| 7842 | |<---------------| | 7843 | | | 180 F5 | 7844 | | 180 F6 |<---------------| 7845 | ACM F7 |<---------------| | 7846 |<---------------| | | 7847 | One Way Voice | | | 7848 |<===============| | | 7849 | Ringing Tone | | | 7850 |<===============| | | 7851 | | | | 7852 | REL F8 | | | 7853 |--------------->| | | 7854 | RLC F9 | | | 7855 |<---------------| CANCEL F10 | | 7856 | |--------------->| | 7857 | | 200 F11 | | 7858 | |<---------------| | 7859 | | | CANCEL F12 | 7860 | | |--------------->| 7861 | | | 200 F13 | 7862 | | |<---------------| 7863 | | | 487 F14 | 7864 | | |<---------------| 7865 | | | ACK F15 | 7866 | | 487 F16 |--------------->| 7867 | |<---------------| | 7868 | | ACK F17 | | 7869 | |--------------->| | 7870 | | | | 7872 In this scenario, User A calls User B through NGW 1 and Proxy 1. 7873 User B does not respond with 200 OK. NGW 1 plays ringing tone since 7874 the ACM indicates that interworking has been encountered. User A 7875 disconnects the call with a Release message REL which is mapped by 7876 NGW 1 to a CANCEL. Note that if User B had sent a 200 OK response 7877 after the REL, NGW 1 would have sent an ACK then a BYE to properly 7878 terminate the call. 7880 Message Details 7882 F1 IAM User A -> NGW 1 7883 IAM 7884 CgPN=314-555-1111,NPI=E.164,NOA=National 7885 CdPN=972-555-2222,NPI=E.164,NOA=National 7887 F2 INVITE A -> Proxy 1 7889 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 7890 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7891 Max-Forwards: 70 7892 From: ;tag=7643kals 7893 To: 7894 Call-ID: 12345602@ngw1.wcom.com 7895 CSeq: 1 INVITE 7896 Contact: 7897 Content-Type: application/sdp 7898 Content-Length: 150 7900 v=0 7901 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 7902 s=Session SDP 7903 c=IN IP4 130.131.132.133 7904 t=0 0 7905 m=audio 3456 RTP/AVP 0 7906 a=rtpmap:0 PCMU/8000 7908 /* Proxy 1 uses a Location Service function to determine a route for 7909 +1-972-555-2222. The call is then forwarded to User B. */ 7911 F3 INVITE Proxy 1 -> User B 7913 INVITE sip:UserB@there.com SIP/2.0 7914 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7915 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7916 ;received=130.131.132.133 7917 Max-Forwards: 69 7918 Record-Route: 7919 From: ;tag=7643kals 7920 To: 7921 Call-ID: 12345602@ngw1.wcom.com 7922 CSeq: 1 INVITE 7923 Contact: 7924 Content-Type: application/sdp 7925 Content-Length: 150 7927 v=0 7928 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com 7929 s=Session SDP 7930 c=IN IP4 130.131.132.133 7931 t=0 0 7932 m=audio 3456 RTP/AVP 0 7933 a=rtpmap:0 PCMU/8000 7935 F4 (100 Trying) User B -> Proxy 1 7937 SIP/2.0 100 Trying 7938 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7939 ;received=1.2.3.4 7940 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7941 ;received=130.131.132.133 7942 From: ;tag=7643kals 7943 To: 7944 Call-ID: 12345602@ngw1.wcom.com 7945 CSeq: 1 INVITE 7946 Content-Length: 0 7948 F5 180 Ringing User B -> Proxy 1 7950 SIP/2.0 180 Ringing 7951 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 7952 ;received=1.2.3.4 7953 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7954 ;received=130.131.132.133 7955 Record-Route: 7956 From: ;tag=7643kals 7957 To: ;tag=314159 7958 Call-ID: 12345602@ngw1.wcom.com 7959 CSeq: 1 INVITE 7960 Contact: 7961 Content-Length: 0 7963 F6 180 Ringing Proxy 1 -> NGW 1 7965 SIP/2.0 180 Ringing 7966 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7967 ;received=130.131.132.133 7968 Record-Route: 7969 From: ;tag=7643kals 7970 To: ;tag=314159 7971 Call-ID: 12345602@ngw1.wcom.com 7972 CSeq: 1 INVITE 7973 Contact: 7974 Content-Length: 0 7976 F7 ACM NGW 1 -> User A 7978 ACM 7979 /* User A hangs up */ 7981 F8 REL User A -> NGW 1 7983 REL 7984 CauseCode=16 Normal 7986 F9 RLC NGW 1 -> User A 7988 RLC 7990 F10 CANCEL NGW 1 -> Proxy 1 7992 CANCEL sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 7993 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 7994 Max-Forwards: 70 7995 From: ;tag=7643kals 7996 To: 7997 Call-ID: 12345602@ngw1.wcom.com 7998 CSeq: 1 CANCEL 7999 Content-Length: 0 8001 F11 200 OK Proxy 1 -> NGW 1 8003 SIP/2.0 200 OK 8004 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 8005 ;received=130.131.132.133 8006 From: ;tag=7643kals 8007 To: 8008 Call-ID: 12345602@ngw1.wcom.com 8009 CSeq: 1 CANCEL 8010 Content-Length: 0 8012 F12 CANCEL Proxy 1 -> User B 8014 CANCEL sip:UserB@there.com SIP/2.0 8015 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 8016 Max-Forwards: 70 8017 From: ;tag=7643kals 8018 To: 8019 Call-ID: 12345602@ngw1.wcom.com 8020 CSeq: 1 CANCEL 8021 Content-Length: 0 8023 F13 200 OK User B -> Proxy 1 8024 SIP/2.0 200 OK 8025 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 8026 ;received=1.2.3.4 8027 From: ;tag=7643kals 8028 To: 8029 Call-ID: 12345602@ngw1.wcom.com 8030 CSeq: 1 CANCEL 8031 Content-Length: 0 8033 F14 487 Request Terminated User B -> Proxy 1 8035 SIP/2.0 487 Request Terminated 8036 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 8037 ;received=1.2.3.4 8038 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 8039 ;received=130.131.132.133 8040 Record-Route: 8041 From: ;tag=7643kals 8042 To: ;tag=314159 8043 Call-ID: 12345602@ngw1.wcom.com 8044 CSeq: 1 INVITE 8045 Content-Length: 0 8047 F15 ACK Proxy 1 -> User B 8049 ACK sip:UserB@there.com SIP/2.0 8050 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 8051 Max-Forwards: 70 8052 From: ;tag=7643kals 8053 To: ;tag=314159 8054 Call-ID: 12345602@ngw1.wcom.com 8055 CSeq: 1 ACK 8056 Content-Length: 0 8058 F16 487 Request Terminated Proxy 1 -> NGW 1 8060 SIP/2.0 487 Request Terminated 8061 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 8062 ;received=130.131.132.133 8063 Record-Route: 8064 From: ;tag=7643kals 8065 To: ;tag=314159 8066 Call-ID: 12345602@ngw1.wcom.com 8067 CSeq: 1 INVITE 8068 Content-Length: 0 8070 F17 ACK NGW 1 -> Proxy 1 8071 ACK sip:+1-972-555-2222@ss11.wcom.com;user=phone SIP/2.0 8072 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 8073 Max-Forwards: 70 8074 From: ;tag=7643kals 8075 To: ;tag=314159 8076 Call-ID: 12345602@ngw1.wcom.com 8077 CSeq: 1 ACK 8078 Content-Length: 0 8080 6 Gateway to Gateway Dialing via SIP Network 8082 In these scenarios, both the caller and the called party are in the 8083 telephone network, either normal PSTN subscribers or PBX extensions. 8084 The calls route through two Gateways and at least one SIP Proxy 8085 Server. The Proxy Server performs the authentication and location of 8086 the Gateways. 8088 Again it is noted that the intent of this call flows document is not 8089 to provide a detailed parameter level mapping of SIP to PSTN 8090 protocols. For information on SIP to ISUP mapping, the reader is 8091 referred to other references [SIP-ISUP]. 8093 6.1 Success Scenarios 8095 In these scenarios, the call is successfully completed between the 8096 two Gateways allowing the PSTN or PBX users to communicate. The 183 8097 Session Progress response is used to indicate in-band alerting may 8098 flow from the called party telephone switch to the caller. 8100 6.1.1 Successful ISUP PSTN to ISUP PSTN call 8102 User A NGW 1 Proxy 1 GW 2 User C 8103 | | | | | 8104 | IAM F1 | | | | 8105 |------------->| | | | 8106 | | INVITE F2 | | | 8107 | |------------->| INVITE F3 | | 8108 | | |------------->| IAM F4 | 8109 | | | |------------->| 8110 | | | | ACM F5 | 8111 | | | 183 F6 |<-------------| 8112 | | 183 F7 |<-------------| | 8113 | ACM F8 |<-------------| | | 8114 |<-------------| | | | 8115 | One Way Voice| One Way RTP Media | One Way Voice| 8116 |<=============|<============================|<=============| 8117 | | | | ANM F9 | 8118 | | | 200 F10 |<-------------| 8119 | | 200 F11 |<-------------| | 8120 | ANM F12 |<-------------| | | 8121 |<-------------| | | | 8122 | | ACK F13 | | | 8123 | |------------->| ACK F14 | | 8124 | | |------------->| | 8125 |Both Way Voice| Both Way RTP Media |Both Way Voice| 8126 |<=============|<===========================>|<=============| 8127 | | | | REL F15 | 8128 | | | |<-------------| 8129 | | | BYE F16 | | 8130 | | BYE F18 |<-------------| RLC F17 | 8131 | |<-------------| |------------->| 8132 | | | | | 8133 | | 200 F19 | | | 8134 | |------------->| 200 F20 | | 8135 | | |------------->| | 8136 | REL F21 | | | | 8137 |<-------------| | | | 8138 | RLC F22 | | | | 8139 |------------->| | | | 8140 | | | | | 8142 In this scenario, User A in the PSTN calls User C who is an extension 8143 on a PBX. User A's telephone switch signals via SS7 to the Network 8144 Gateway NGW 1, while User C's PBX signals via SS7 with the Enterprise 8145 Gateway GW 2. The CdPN and CgPN are mapped by GW1 into SIP URLs and 8146 placed in the To and From headers. Proxy 1 looks up the dialed 8147 digits in the Request-URI and maps the digits to the PBX extension of 8148 User C which is served by GW 2. The Request-URI in F3 uses the host 8149 portion of the Request-URI to identify what private dialing plan is 8150 being referenced. The INVITE is then forwarded to GW 2 for call 8151 completion. An early media path is established end-to-end so that 8152 User A can hear the ringing tone generated by PBX C. 8154 User C answers the call and the media path is cut through in both 8155 directions. User B hangs up terminating the call. 8157 Message Details 8159 F1 IAM User A -> NGW 1 8161 IAM 8162 CgPN=314-555-1111,NPI=E.164,NOA=National 8163 CdPN=918-555-3333,NPI=E.164,NOA=National 8165 F2 INVITE NGW 1 -> Proxy 1 8167 INVITE sip:+1-918-555-3333@ss1.wcom.com;user=phone SIP/2.0 8168 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 8169 Max-Forwards: 70 8170 From: ;tag=7643kals 8171 To: 8172 Call-ID: 12345600@ngw1.wcom.com 8173 CSeq: 1 INVITE 8174 Contact: 8175 Content-Type: application/sdp 8176 Content-Length: 149 8178 v=0 8179 o=GW1 2890844526 2890844526 IN IP4 gw1.wcom.com 8180 s=Session SDP 8181 c=IN IP4 100.101.102.103 8182 t=0 0 8183 m=audio 49172 RTP/AVP 0 8184 a=rtpmap:0 PCMU/8000 8186 /* Proxy 1 consults Location Service and translates the dialed number 8187 to a private number in the Request-URI*/ 8189 F3 INVITE Proxy 1 -> GW 2 8191 INVITE sip:444-3333@gw2.wcom.com SIP/2.0 8192 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 8193 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 8194 ;received=130.131.132.133 8195 Max-Forwards: 69 8196 Record-Route: 8197 From: ;tag=7643kals 8198 To: 8199 Call-ID: 12345600@ngw1.wcom.com 8200 CSeq: 1 INVITE 8201 Contact: 8202 Content-Type: application/sdp 8203 Content-Length: 149 8205 v=0 8206 o=GW1 2890844526 2890844526 IN IP4 gw1.wcom.com 8207 s=Session SDP 8208 c=IN IP4 100.101.102.103 8209 t=0 0 8210 m=audio 49172 RTP/AVP 0 8211 a=rtpmap:0 PCMU/8000 8213 F4 IAM GW 2 -> User C 8215 IAM 8216 CgPN=314-555-1111,NPI=E.164,NOA=National 8217 CdPN=444-3333,NPI=Private,NOA=Subscriber 8219 F5 ACM User C -> GW 2 8221 ACM 8223 /* Based on PROGress message, GW 2 returns a 183 response. In-band 8224 call progress indications are sent to User A through NGW 1. */ 8226 F6 183 Session Progress GW 2 -> Proxy 1 8228 SIP/2.0 183 Session Progress 8229 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 8230 ;received=1.2.3.4 8231 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 8232 ;received=130.131.132.133 8233 Record-Route: 8234 From: ;tag=7643kals 8235 To: ;tag=314159 8236 Call-ID: 12345600@ngw1.wcom.com 8237 CSeq: 1 INVITE 8238 Contact: 8239 Content-Type: application/sdp 8240 Content-Length: 149 8242 v=0 8243 o=PBX_B 987654321 987654321 IN IP4 gw2.wcom.com 8244 s=Session SDP 8245 c=IN IP4 100.101.102.104 8246 t=0 0 8247 m=audio 14918 RTP/AVP 0 8248 a=rtpmap:0 PCMU/8000 8249 F7 183 Session Progress Proxy 1 -> GW 1 8251 SIP/2.0 183 Session Progress 8252 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 8253 ;received=130.131.132.133 8254 Record-Route: 8255 From: ;tag=7643kals 8256 To: ;tag=314159 8257 Call-ID: 12345600@ngw1.wcom.com 8258 CSeq: 1 INVITE 8259 Contact: 8260 Content-Type: application/sdp 8261 Content-Length: 149 8263 v=0 8264 o=PBX_B 987654321 987654321 IN IP4 gw2.wcom.com 8265 s=Session SDP 8266 c=IN IP4 100.101.102.104 8267 t=0 0 8268 m=audio 14918 RTP/AVP 0 8269 a=rtpmap:0 PCMU/8000 8271 /* NGW 1 receives packets from GW 2 with encoded ringback, tones or 8272 other audio. NGW 1 decodes this and places it on the originating 8273 trunk. */ 8275 F8 ACM NGW 1 -> User A 8277 ACM 8279 /* User B answers */ 8281 F9 ANM User C -> GW 2 8283 ANM 8285 F10 200 OK GW 2 -> Proxy 1 8287 SIP/2.0 200 OK 8288 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 8289 ;received=1.2.3.4 8290 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 8291 ;received=130.131.132.133 8292 Record-Route: 8293 From: ;tag=7643kals 8294 To: ;tag=314159 8295 Call-ID: 12345600@ngw1.wcom.com 8296 CSeq: 1 INVITE 8297 Contact: 8298 Content-Type: application/sdp 8299 Content-Length: 149 8301 v=0 8302 o=PBX_B 987654321 987654321 IN IP4 gw2.wcom.com 8303 s=Session SDP 8304 c=IN IP4 100.101.102.104 8305 t=0 0 8306 m=audio 14918 RTP/AVP 0 8307 a=rtpmap:0 PCMU/8000 8309 F11 200 OK Proxy 1 -> NGW 1 8311 SIP/2.0 200 OK 8312 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 8313 ;received=130.131.132.133 8314 Record-Route: 8315 From: ;tag=7643kals 8316 To: ;tag=314159 8317 Call-ID: 12345600@ngw1.wcom.com 8318 CSeq: 1 INVITE 8319 Contact: 8320 Content-Type: application/sdp 8321 Content-Length: 149 8323 v=0 8324 o=PBX_B 987654321 987654321 IN IP4 gw2.wcom.com 8325 s=Session SDP 8326 c=IN IP4 140.141.142.144 8327 t=0 0 8328 m=audio 14918 RTP/AVP 0 8329 a=rtpmap:0 PCMU/8000 8331 F12 ANM NGW 1 -> User A 8333 ANM 8335 F13 ACK NGW 1 -> Proxy 1 8337 ACK sip:444-3333@gw2.wcom.com SIP/2.0 8338 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 8339 Max-Forwards: 70 8340 Route: 8341 From: ;tag=7643kals 8342 To: ;tag=314159 8343 Call-ID: 12345600@gw1.wcom.com 8344 CSeq: 1 ACK 8345 Content-Length: 0 8347 F14 ACK Proxy 1 -> GW 2 8349 ACK sip:444-3333@gw2.wcom.com SIP/2.0 8350 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 8351 Via: SIP/2.0/UDP ngw1.wcom.com:5060;branch=z9hG4bKlueha2 8352 ;received=130.131.132.133 8353 Max-Forwards: 69 8354 From: ;tag=7643kals 8355 To: ;tag=314159 8356 Call-ID: 12345600@ngw1.wcom.com 8357 CSeq: 1 ACK 8358 Content-Length: 0 8360 /* RTP streams are established between NGW 1 and GW 2. */ 8362 /* User B Hangs Up with User A. */ 8364 F15 REL User C -> GW 2 8366 REL 8367 CauseCode=16 Normal 8369 F16 BYE GW 2 -> Proxy 1 8371 BYE sip:+1-314-555-1111@ngw1.wcom.com;user=phone SIP/2.0 8372 Via: SIP/2.0/UDP gw2.wcom.com:5060;branch=z9hG4bKtexx6 8373 Max-Forwards: 70 8374 Route: 8375 From: ;tag=314159 8376 To: ;tag=7643kals 8377 Call-ID: 12345600@ngw1.wcom.com 8378 CSeq: 4 BYE 8379 Content-Length: 0 8381 F17 RLC GW 2 -> User C 8383 RLC 8385 F18 BYE Proxy 1 -> NGW 1 8387 BYE sip:+1-314-555-1111@ngw1.wcom.com;user=phone SIP/2.0 8388 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 8389 Via: SIP/2.0/UDP gw2.wcom.com:5060;branch=z9hG4bKtexx6 8390 ;received=140.141.142.143 8391 Max-Forwards: 69 8392 From: ;tag=314159 8393 To: ;tag=7643kals 8394 Call-ID: 12345600@ngw1.wcom.com 8395 CSeq: 4 BYE 8396 Content-Length: 0 8398 F19 200 OK NGW 1 -> Proxy 1 8400 SIP/2.0 200 OK 8401 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 8402 ;received=1.2.3.4 8403 Via: SIP/2.0/UDP gw2.wcom.com:5060;branch=z9hG4bKtexx6 8404 ;received=140.141.142.143 8405 From: ;tag=314159 8406 To: ;tag=7643kals 8407 Call-ID: 12345600@ngw1.wcom.com 8408 CSeq: 4 BYE 8409 Content-Length: 0 8411 F20 200 OK Proxy 1 -> GW 2 8413 SIP/2.0 200 OK 8414 Via: SIP/2.0/UDP gw2.wcom.com:5060;branch=z9hG4bKtexx6 8415 ;received=140.141.142.143 8416 From: ;tag=314159 8417 To: ;tag=7643kals 8418 Call-ID: 12345600@ngw1.wcom.com 8419 CSeq: 4 BYE 8420 Content-Length: 0 8422 F21 REL User C -> GW 2 8424 REL 8425 CauseCode=16 Normal 8427 F22 RLC GW 2 -> User C 8429 RLC 8431 6.1.2 Successful FGB PBX to ISDN PBX call with overflow 8433 User A GW 1 Proxy 1 GW 2 GW 3 User B 8434 | | | | | | 8435 | Seizure | | | | | 8436 |----------->| | | | | 8437 | Wink | | | | | 8438 |<-----------| | | | | 8439 |MF Digits F1| | | | | 8440 |----------->| | | | | 8441 | | INVITE F2 | | | | 8442 | |----------->| INVITE F3 | | | 8443 | | |----------->| | | 8444 | | | 503 F4 | | | 8445 | | |<-----------| | | 8446 | | | ACK F5 | | | 8447 | | |----------->| | | 8448 | | | INVITE F6 | | 8449 | | |------------------------>| SETUP F7 | 8450 | | | (100) F8 |----------->| 8451 | | |<------------------------|CALL PROC F9| 8452 | | | |<-----------| 8453 | | | | ALERT F10 | 8454 | | | 183 F11 |<-----------| 8455 | | 183 F12 |<------------------------| | 8456 | |<-----------| | | 8457 |OneWay Voice| One Way RTP Media |OneWay Voice| 8458 |<===========|<=====================================|<===========| 8459 | | | | CONNect F13| 8460 | | | 200 F14 |<-----------| 8461 | | 200 F15 |<------------------------| | 8462 | Seizure |<-----------| | | 8463 |<-----------| ACK F16 | | | 8464 | |----------->| ACK F17 | | 8465 | | |------------------------>|CONN ACK F18| 8466 | | | |----------->| 8467 |BothWayVoice| Both Way RTP Media |BothWayVoice| 8468 |<==========>|<====================================>|<==========>| 8469 | | | | DISC F19 | 8470 | | | |<-----------| 8471 | | | BYE F20 | | 8472 | | BYE F21 |<------------------------| REL F22 | 8473 |Seiz Removal|<-----------| |----------->| 8474 |<-----------| 200 F23 | | | 8475 |Seiz Removal|----------->| 200 F24 | | 8476 |----------->| |------------------------>| REL COM F25| 8477 | | | |<-----------| 8478 | | | | | 8480 PBX User A calls PBX User C via Gateway GW 1 and Proxy 1. During the 8481 attempt to reach User C via GW 2, an error is encountered - Proxy 1 8482 receives a 503 Service Unavailable (F4) response to the forwarded 8483 INVITE. This could be due to all circuits being busy, or some other 8484 outage at GW 2. Proxy 1 recognizes the error and uses an alternative 8485 route via GW 3 to terminate the call. From there, the call proceeds 8486 normally with User C answering the call. The call is terminated when 8487 User C hangs up. 8489 Message Details 8491 PBX A -> GW 1 8493 Seizure 8495 GW 1 -> PBX A 8497 Wink 8499 F1 MF Digits PBX A -> GW 1 8501 KP 444 3333 ST 8503 F2 INVITE GW 1 -> Proxy 1 8505 INVITE sip:444-3333@ss1.wcom.com SIP/2.0 8506 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 8507 Max-Forwards: 70 8508 From: PBX_A ;tag=63412s 8509 To: 8510 Call-ID: 12345600@gw1.wcom.com 8511 CSeq: 1 INVITE 8512 Contact: PBX_A 8513 Content-Type: application/sdp 8514 Content-Length: 136 8516 v=0 8517 o=PBX_A 2890844526 2890844526 IN IP4 gw1.wcom.com 8518 s=Session SDP 8519 c=IN IP4 100.101.102.103 8520 t=0 0 8521 m=audio 49172 RTP/AVP 0 8522 a=rtpmap:0 PCMU/8000 8524 /* Proxy 1 uses a Location Service function to determine where B is 8525 located. Response is returned listing alternative routes, GW2 and 8526 GW3, which are then tried sequentially. */ 8527 F3 INVITE Proxy 1 -> GW 2 8529 INVITE sip:444-3333@gw2.wcom.com SIP/2.0 8530 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 8531 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 8532 ;received=130.131.132.133 8533 Max-Forwards: 69 8534 Record-Route: 8535 From: PBX_A ;tag=63412s 8536 To: 8537 Call-ID: 12345600@gw1.wcom.com 8538 CSeq: 1 INVITE 8539 Contact: PBX_A 8540 Content-Type: application/sdp 8541 Content-Length: 136 8543 v=0 8544 o=PBX_A 2890844526 2890844526 IN IP4 gw1.wcom.com 8545 s=Session SDP 8546 c=IN IP4 100.101.102.103 8547 t=0 0 8548 m=audio 49172 RTP/AVP 0 8549 a=rtpmap:0 PCMU/8000 8551 F4 503 Service Unavailable GW 2 -> Proxy 1 8553 SIP/2.0 503 Service Unavailable 8554 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 8555 ;received=1.2.3.4 8556 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 8557 ;received=130.131.132.133 8558 From: PBX_A ;tag=63412s 8559 To: ;tag=314159 8560 Call-ID: 12345600@gw1.wcom.com 8561 CSeq: 1 INVITE 8562 Content-Length: 0 8564 F5 ACK Proxy 1 -> GW 2 8566 ACK sip:444-3333@ss1.wcom.com SIP/2.0 8567 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 8568 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 8569 ;received=130.131.132.133 8570 From: PBX_A ;tag=63412s 8571 To: ;tag=314159 8572 Call-ID: 12345600@gw1.wcom.com 8573 CSeq: 1 ACK 8574 Content-Length: 0 8575 F6 INVITE Proxy 1 -> GW 3 8577 INVITE sip:+1-918-555-3333@gw3.wcom.com;user=phone SIP/2.0 8578 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.2 8579 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 8580 ;received=130.131.132.133 8581 Max-Forwards: 69 8582 Record-Route: 8583 From: PBX_A ;tag=63412s 8584 To: 8585 Call-ID: 12345600@gw1.wcom.com 8586 CSeq: 1 INVITE 8587 Contact: PBX_A 8588 Content-Type: application/sdp 8589 Content-Length: 136 8591 v=0 8592 o=PBX_A 2890844526 2890844526 IN IP4 gw1.wcom.com 8593 s=Session SDP 8594 c=IN IP4 100.101.102.103 8595 t=0 0 8596 m=audio 49172 RTP/AVP 0 8597 a=rtpmap:0 PCMU/8000 8599 F7 SETUP GW 3 -> PBX C 8601 Protocol discriminator=Q.931 8602 Message type=SETUP 8603 Bearer capability: Information transfer capability=0 (Speech) or 16 8604 (3.1 kHz audio) 8605 Channel identification=Preferred or exclusive B-channel 8606 Progress indicator=1 (Call is not end-to-end ISDN; further call 8607 progress information may be available inband) 8608 Called party number: 8609 Type of number and numbering plan ID=33 (National number in ISDN 8610 numbering plan) 8611 Digits=918-555-3333 8613 F8 (100 Trying) GW 3 -> Proxy 1 8615 SIP/2.0 100 Trying 8616 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 8617 ;received=130.131.132.133 8618 From: PBX_A ;tag=63412s 8619 To: 8620 Call-ID: 12345600@gw1.wcom.com 8621 CSeq: 1 INVITE 8622 Content-Length: 0 8623 F9 CALL PROCeeding PBX C -> GW 3 8625 Protocol discriminator=Q.931 8626 Message type=CALL PROC 8628 F10 ALERT PBX C -> GW 3 8630 Protocol discriminator=Q.931 8631 Message type=PROG 8633 /* Based on ALERT message, GW 3 returns a 183 response. In-band call 8634 progress indications are then sent to the originator. */ 8636 F11 183 Session Progress GW 3 -> Proxy 1 8638 SIP/2.0 183 Session Progress 8639 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.2 8640 ;received=1.2.3.4 8641 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 8642 ;received=130.131.132.133 8643 Record-Route: 8644 From: PBX_A ;tag=63412s 8645 To: ;tag=123456789 8646 Call-ID: 12345600@gw1.wcom.com 8647 CSeq: 1 INVITE 8648 Contact: 8649 Content-Type: application/sdp 8650 Content-Length: 149 8652 v=0 8653 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com 8654 s=Session SDP 8655 c=IN IP4 100.101.102.104 8656 t=0 0 8657 m=audio 14918 RTP/AVP 0 8658 a=rtpmap:0 PCMU/8000 8660 F12 183 Session Progress Proxy 1 -> GW 1 8662 SIP/2.0 183 Session Progress 8663 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 8664 ;received=130.131.132.133 8665 Record-Route: 8666 From: PBX_A ;tag=63412s 8667 To: ;tag=123456789 8668 Call-ID: 12345600@gw1.wcom.com 8669 CSeq: 1 INVITE 8670 Contact: 8671 Content-Type: application/sdp 8672 Content-Length: 149 8674 v=0 8675 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com 8676 s=Session SDP 8677 c=IN IP4 100.101.102.104 8678 t=0 0 8679 m=audio 14918 RTP/AVP 0 8680 a=rtpmap:0 PCMU/8000 8682 /* GW 1 receives packets from GW 3 with encoded ringback, tones or 8683 other audio. GW 1 decodes this and places it on the originating 8684 trunk. */ 8686 F13 CONNect PBX C -> GW 3 8688 Protocol discriminator=Q.931 8689 Message type=CONN 8691 F14 200 OK GW 3 -> Proxy 1 8693 SIP/2.0 200 OK 8694 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.2 8695 ;received=1.2.3.4 8696 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 8697 ;received=130.131.132.133 8698 Record-Route: 8699 From: PBX_A ;tag=63412s 8700 To: ;tag=123456789 8701 Call-ID: 12345600@gw1.wcom.com 8702 CSeq: 1 INVITE 8703 Contact: 8704 Content-Type: application/sdp 8705 Content-Length: 149 8707 v=0 8708 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com 8709 s=Session SDP 8710 c=IN IP4 100.101.102.104 8711 t=0 0 8712 m=audio 14918 RTP/AVP 0 8713 a=rtpmap:0 PCMU/8000 8715 F15 200 OK Proxy 1 -> GW 1 8717 SIP/2.0 200 OK 8718 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 8719 ;received=130.131.132.133 8720 Record-Route: 8721 From: PBX_A ;tag=63412s 8722 To: ;tag=123456789 8723 Call-ID: 12345600@gw1.wcom.com 8724 CSeq: 1 INVITE 8725 Contact: 8726 Content-Type: application/sdp 8727 Content-Length: 149 8729 v=0 8730 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com 8731 s=Session SDP 8732 c=IN IP4 100.101.102.104 8733 t=0 0 8734 m=audio 14918 RTP/AVP 0 8735 a=rtpmap:0 PCMU/8000 8737 GW 1 -> PBX A 8739 Seizure 8741 F16 ACK GW 1 -> Proxy 1 8743 ACK sip:+1-918-555-3333@gw3.wcom.com;user=phone SIP/2.0 8744 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 8745 Max-Forwards: 70 8746 Route: 8747 From: PBX_A ;tag=63412s 8748 To: ;tag=123456789 8749 Call-ID: 12345600@gw1.wcom.com 8750 CSeq: 1 ACK 8751 Content-Length: 0 8753 F17 ACK Proxy 1 -> GW 3 8755 ACK sip:+1-918-555-3333@gw3.wcom.com;user=phone SIP/2.0 8756 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.2 8757 Via: SIP/2.0/UDP gw1.wcom.com:5060;branch=z9hG4bKwqwee65 8758 ;received=130.131.132.133 8759 Max-Forwards: 69 8760 From: PBX_A ;tag=63412s 8761 To: ;tag=123456789 8762 Call-ID: 12345600@gw1.wcom.com 8763 CSeq: 1 ACK 8764 Content-Length: 0 8766 F18 CONNect ACK GW 3 -> PBX C 8768 Protocol discriminator=Q.931 8769 Message type=CONN ACK 8771 /* RTP streams are established between GW 1 and GW 3. */ 8773 /* User B Hangs Up with User A. */ 8775 F19 DISConnect PBX C -> GW 3 8777 Protocol discriminator=Q.931 8778 Message type=DISC 8779 Cause=16 (Normal clearing) 8781 F20 BYE GW 3 -> Proxy 1 8783 BYE sip:IdentifierString@ss1.wcom.com SIP/2.0 8784 Via: SIP/2.0/UDP gw3.wcom.com:5060;branch=z9hG4bKkdjuwq 8785 Max-Forwards: 70 8786 Route: 8787 From: ;tag=123456789 8788 To: PBX_A ;tag=63412s 8789 Call-ID: 12345600@gw1.wcom.com 8790 CSeq: 1 BYE 8791 Content-Length: 0 8793 F21 BYE Proxy 1 -> GW 1 8795 BYE sip:IdentifierString@gw1.wcom.com SIP/2.0 8796 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.2 8797 Via: SIP/2.0/UDP gw3.wcom.com:5060;branch=z9hG4bKkdjuwq 8798 ;received=140.141.142.143 8799 Max-Forwards: 69 8800 From: ;tag=123456789 8801 To: PBX_A ;tag=63412s 8802 Call-ID: 12345600@gw1.wcom.com 8803 CSeq: 1 BYE 8804 Content-Length: 0 8806 GW 1 -> PBX A 8808 Seizure removal 8810 F22 RELease GW 3 -> PBX C 8812 Protocol discriminator=Q.931 8813 Message type=REL 8814 F23 200 OK GW 1 -> Proxy 1 8816 SIP/2.0 200 OK 8817 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.2 8818 ;received=1.2.3.4 8819 Via: SIP/2.0/UDP gw3.wcom.com:5060;branch=z9hG4bKkdjuwq 8820 ;received=140.141.142.143 8821 From: ;tag=123456789 8822 To: PBX_A ;tag=63412s 8823 Call-ID: 12345600@gw1.wcom.com 8824 CSeq: 1 BYE 8825 Content-Length: 0 8827 F24 200 OK Proxy 1 -> GW 3 8829 SIP/2.0 200 OK 8830 Via: SIP/2.0/UDP gw3.wcom.com:5060;branch=z9hG4bKkdjuwq 8831 ;received=140.141.142.143 8832 From: ;tag=123456789 8833 To: PBX_A ;tag=63412s 8834 Call-ID: 12345600@gw1.wcom.com 8835 CSeq: 1 BYE 8836 Content-Length: 0 8838 F25 RELease COMplete PBX C -> GW 3 8840 Protocol discriminator=Q.931 8841 Message type=REL COM 8843 PBX A -> GW 1 8845 Seizure removal 8847 7 SIP Test Messages 8849 The files in here are test messages for SIP servers to exercise 8850 various functions. They have been used in SIP "bakeoff" 8851 interoperablity events. All messages shown here are valid, unless 8852 otherwise noted. The correct behavior of servers and clients is also 8853 described. 8855 NOTE: These messages have not been updated since RFC2543bis-04. 8857 7.1 INVITE Parser Torture Test Message 8859 This message is a correctly formatting SIP message. It contains: 8861 line folding all over 8862 escaped characters within quotes 8863 LWS between colons, semicolons, headers, and other fields 8864 both comma separated and separate listing of headers 8865 mix or short and long form for the same header 8866 unknown header field 8867 unusual header ordering 8868 nested comments 8869 unknown parameters of a known header 8871 Proxies should forward message and clients should respond as to a 8872 normal INVITE message. 8874 Message Details 8876 INVITE sip:vivekg@chair.dnrc.bell-labs.com SIP/2.0 8877 TO : 8878 sip:vivekg@chair.dnrc.bell-labs.com ; tag = 1918181833n 8879 From : "J Rosenberg \\\"" 8880 ; 8881 tag = 98asjd8 8882 Call-ID 8883 : 0ha0isndaksdj@10.1.1.1 8884 cseq: 8 8885 INVITE 8886 Via : SIP / 2.0 8887 /UDP 8888 135.180.130.133 8889 Subject : 8890 NewFangledHeader: newfangled value 8891 more newfangled value 8892 Content-Type: application/sdp 8893 v: SIP / 2.0 / TCP 12.3.4.5 ; 8894 branch = 9ikj8 , 8895 SIP / 2.0 / UDP 1.2.3.4 ; hidden 8896 m:"Quoted string \"\"" ; newparam = 8897 newvalue ; 8898 secondparam = secondvalue ; q = 0.33 8899 (((nested comments) and (more))) , 8900 tel:4443322 8902 v=0 8903 o=mhandley 29739 7272939 IN IP4 126.5.4.3 8904 c=IN IP4 135.180.130.88 8905 m=audio 492170 RTP/AVP 0 12 8906 m=video 3227 RTP/AVP 31 8907 a=rtpmap:31 LPC 8909 7.2 INVITE with Proxy-Require and Require 8911 This message tests support for Proxy-Require and Require. It is a 8912 request that contains both headers, listing new features. 8914 Proxies and clients should respond with a 420 Bad Extension, and an 8915 Unsupported header listing these features. 8917 Message Details 8919 INVITE sip:user@company.com SIP/2.0 8920 To: sip:j_user@company.com 8921 From: sip:caller@university.edu 8922 Call-ID: 0ha0isndaksdj@10.1.1.1 8923 Require: newfeature1, newfeature2 8924 Proxy-Require: newfeature3, newfeature4 8925 CSeq: 8 INVITE 8926 Via: SIP/2.0/UDP 135.180.130.133 8928 7.3 INVITE with Unknown Schemes in URIs and URLs 8930 This message contains unknown schemes in the Request URI, To, From 8931 and Contact headers of a request. 8933 A server should probably return a not found error; but other 8934 behaviors are acceptable. 8936 Message Details 8938 INVITE name:John_Smith SIP/2.0 8939 To: isbn:2983792873 8940 From: http://www.cs.columbia.edu 8941 Call-ID: 0ha0isndaksdj@10.1.2.3 8942 CSeq: 8 INVITE 8943 Via: SIP/2.0/UDP 135.180.130.133 8944 Content-Type: application/sdp 8946 v=0 8947 o=mhandley 29739 7272939 IN IP4 126.5.4.3 8948 c=IN IP4 135.180.130.88 8949 m=audio 492170 RTP/AVP 0 12 8950 m=video 3227 RTP/AVP 31 8951 a=rtpmap:31 LPC 8953 7.4 REGISTER with Y2038 Test 8955 This message is a registration request with an expiration year of 8956 2040. This makes sure that a server doesn't crash on seeing a date 8957 past Y2038. 8959 The correct behavior is probably to limit the lifetime to some 8960 configured maximum. 8962 Message Details 8964 REGISTER sip:company.com SIP/2.0 8965 To: sip:user@company.com 8966 From: sip:user@company.com 8967 Contact: sip:user@host.company.com 8968 Call-ID: 0ha0isndaksdj@10.0.0.1 8969 CSeq: 8 REGISTER 8970 Via: SIP/2.0/UDP 135.180.130.133 8971 Expires: Sat, 01 Dec 2040 16:00:00 GMT 8973 7.5 INVITE with inconsistent Accept and message body 8975 This is a UAS test. It is a request that includes an Accept header 8976 without SDP. The UAS should respond with an error. 8978 Message Details 8980 INVITE sip:user@company.com SIP/2.0 8981 To: sip:j_user@company.com 8982 From: sip:caller@university.edu 8983 Call-ID: 0ha0isndaksdj@10.0.0.1 8984 Accept: text/newformat 8985 CSeq: 8 INVITE 8986 Via: SIP/2.0/UDP 135.180.130.133 8987 Content-Type: application/sdp 8989 v=0 8990 c=IN IP4 135.180.130.88 8991 m=audio 492170 RTP/AVP 0 12 8992 m=video 3227 RTP/AVP 31 8993 a=rtpmap:31 LPC 8995 7.6 INVITE with non-SDP message body 8997 This is a test of a user agent server. It is a request that includes 8998 a body of a non-SDP type. 9000 The user agent server should respond with an error. 9002 Message Details 9004 INVITE sip:user@comapny.com SIP/2.0 9005 To: sip:j.user@company.com 9006 From: sip:caller@university.edu 9007 Call-ID: 0ha0isndaksdj@10.0.0.1 9008 CSeq: 8 INVITE 9009 Via: SIP/2.0/UDP 135.180.130.133 9010 Content-Type: application/newformat 9012 9016 7.7 Unknown Method Message 9018 This request message contains a new unknown method, NEWMETHOD. 9020 A proxy should forward this using the same retransmission rules as 9021 BYE. A UAS should reject it with an error, and list the available 9022 methods in the response. 9024 Message Details 9026 NEWMETHOD sip:user@comapny.com SIP/2.0 9027 To: sip:j.user@company.com 9028 From: sip:caller@university.edu 9029 Call-ID: 0ha0isndaksdj@10.0.0.1 9030 CSeq: 8 NEWMETHOD 9031 Via: SIP/2.0/UDP 135.180.130.133 9032 Content-Type: application/sdp 9034 v=0 9035 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9036 c=IN IP4 135.180.130.88 9037 m=audio 492170 RTP/AVP 0 12 9038 m=video 3227 RTP/AVP 31 9039 a=rtpmap:31 LPC 9041 7.8 Unknown Method with CSeq Error 9043 This message is nearly identical to the Unknown Method message. It is 9044 a request with a new unknown method, but with a CSeq method tag which 9045 does not match. 9047 A proxy should either respond with an error, or correct the method 9048 tag. The user agent should reject it with an error, and list the 9049 available methods in the response. 9051 Message Details 9053 NEWMETHOD sip:user@comapny.com SIP/2.0 9054 To: sip:j.user@company.com 9055 From: sip:caller@university.edu 9056 Call-ID: 0ha0isndaksdj@10.0.1.1 9057 CSeq: 8 INVITE 9058 Via: SIP/2.0/UDP 135.180.130.133 9059 Content-Type: application/sdp 9061 v=0 9062 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9063 c=IN IP4 135.180.130.88 9064 m=audio 492170 RTP/AVP 0 12 9065 m=video 3227 RTP/AVP 31 9066 a=rtpmap:31 LPC 9068 7.9 REGISTER with Unknown Authorization Scheme 9070 This message is a REGISTER request with an unknown authorization 9071 scheme. 9073 The server should do something reasonable, such as rejecting the 9074 request. 9076 Message Details 9078 REGISTER sip:company.com SIP/2.0 9079 To: sip:j.user@company.com 9080 From: sip:j.user@company.com 9081 Call-ID: 0ha0isndaksdj@10.0.1.1 9082 CSeq: 8 REGISTER 9083 Via: SIP/2.0/UDP 135.180.130.133 9084 Authorization: Super-PGP ajsohdaosdh0asyhdaind08yasdknasd09asidhas0d8 9086 7.10 Multiple SIP Request in a Single Message 9088 This message contains two requests, separated by a bunch of 9089 whitespace. Since the 9090 message exceeds the length indicated in the Content-Length header, 9091 the message should 9092 be rejected. (Multiple SIP requests per UDP packet are no longer 9093 allowed.) 9095 Message Details 9097 REGISTER sip:company.com SIP/2.0 9098 To: sip:j.user@company.com 9099 From: sip:j.user@company.com 9100 Call-ID: 0ha0isndaksdj@10.0.2.2 9101 Contact: sip:j.user@host.company.com 9102 CSeq: 8 REGISTER 9103 Via: SIP/2.0/UDP 135.180.130.133 9104 Content-Length: 0 9106 INVITE sip:joe@company.com SIP/2.0 9107 To: sip:joe@company.com 9108 From: sip:caller@university.edu 9109 Call-ID: 0ha0isnda977644900765@10.0.0.1 9110 CSeq: 8 INVITE 9111 Via: SIP/2.0/UDP 135.180.130.133 9112 Content-Type: application/sdp 9114 v=0 9115 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9116 c=IN IP4 135.180.130.88 9117 m=audio 492170 RTP/AVP 0 12 9118 m =video 3227 RTP/AVP 31 9119 a=rtpmap:31 LPC 9121 7.11 INVITE missing Required Headers 9123 This message contains no Call-ID, From, or To header. 9125 The server should not crash, and ideally should respond with an 9126 error. 9128 Message Details 9129 INVITE sip:user@company.com SIP/2.0 9130 CSeq: 0 INVITE 9131 Via: SIP/2.0/UDP 135.180.130.133 9132 Content-Type: application/sdp 9134 v=0 9135 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9136 c=IN IP4 135.180.130.88 9137 m=audio 492170 RTP/AVP 0 12 9138 m=video 3227 RTP/AVP 31 9139 a=rtpmap:31 LPC 9141 7.12 INVITE with Duplicate Required Headers 9143 The message contains a request with an extra Call-ID and To field. 9145 The server should not crash, and should ideally respond with an 9146 error. 9148 Message Details 9150 INVITE sip:user@company.com SIP/2.0 9151 Via: SIP/2.0/UDP 135.180.130.133 9152 CSeq: 0 INVITE 9153 Call-ID: 98asdh@10.1.1.1 9154 Call-ID: 98asdh@10.1.1.2 9155 From: sip:caller@university.edu 9156 From: sip:caller@organization.org 9157 To: sip:user@company.com 9158 Content-Type: application/sdp 9160 v=0 9161 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9162 c=IN IP4 135.180.130.88 9163 m=audio 492170 RTP/AVP 0 12 9164 m=video 3227 RTP/AVP 31 9165 a=rtpmap:31 LPC 9167 7.13 INVITE with Illegal Expires Header 9169 This message contains an Expires header which has illegal values for 9170 a number of components, but otherwise is syntactically correct. 9172 Message Details 9173 INVITE sip:user@company.com SIP/2.0 9174 Via: SIP/2.0/UDP 135.180.130.133 9175 CSeq: 0 INVITE 9176 Call-ID: 98asdh@10.1.1.2 9177 Expires: Thu, 44 Dec 19999 16:00:00 EDT 9178 From: sip:caller@university.edu 9179 To: sip:user@company.com 9180 Content-Type: application/sdp 9182 v=0 9183 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9184 c=IN IP4 135.180.130.88 9185 m=audio 492170 RTP/AVP 0 12 9186 m=video 3227 RTP/AVP 31 9187 a=rtpmap:31 LPC 9189 7.14 200 OK Response with Broadcast Via Header 9191 This message is a response with a 2nd Via header of 255.255.255.255. 9193 On receiving this response, the top Via header is stripped and the 9194 packet forwarded. Since the next address is the broadcast address, 9195 it causes the packet to be broadcast onto the network. A smart server 9196 should ignore packets with 2nd Via headers that are 255.255.255.255 9197 or 127.0.0.1. At the very least it should not crash. 9199 Message Details 9201 SIP/2.0 200 OK 9202 Via: SIP/2.0/UDP 135.180.130.57;branch=0 9203 Via: SIP/2.0/UDP 255.255.255.255;branch=0 9204 Call-ID: 0384840201@10.1.1.1 9205 CSeq: 0 INVITE 9206 From: sip:user@company.com 9207 To: sip:user@university.edu;tag=2229 9208 Content-Type: application/sdp 9210 v=0 9211 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9212 c=IN IP4 224.2.17.12/127 9213 m=audio 492170 RTP/AVP 0 12 9214 m=video 3227 RTP/AVP 31 9215 a=rtpmap:31 LPC 9217 7.15 INVITE with Invalid Via and Contact Headers 9219 This is a request with the Via and Contact headers incorrect. They 9220 contain additional semicolons and commas without parameters or 9221 values. 9223 The server should respond with a Bad Request error. 9225 Message Details 9227 INVITE sip:user@company.com SIP/2.0 9228 To: sip:j.user@company.com 9229 From: sip:caller@university.edu 9230 Call-ID: 0ha0isndaksdj@10.0.0.1 9231 CSeq: 8 INVITE 9232 Via: SIP/2.0/UDP 135.180.130.133;;,; 9233 Contact: "" <> ;,"Joe" ;;,,;; 9234 Content-Type: application/sdp 9236 v=0 9237 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9238 c=IN IP4 135.180.130.88 9239 m=audio 492170 RTP/AVP 0 12 9240 m=video 3227 RTP/AVP 31 9241 a=rtpmap:31 LPC 9243 7.16 INVITE with Incorrect Content-Length Header 9245 This is a request message with a Content Length that is much larger 9246 than the length of the body. 9248 When sent UDP, the server should respond with an error. With TCP, 9249 there's not much you can do but wait... 9251 Message Details 9253 INVITE sip:user@company.com SIP/2.0 9254 To: sip:j.user@company.com 9255 From: sip:caller@university.edu 9256 Call-ID: 0ha0isndaksdj@10.0.0.1 9257 CSeq: 8 INVITE 9258 Via: SIP/2.0/UDP 135.180.130.133 9259 Content-Type: application/sdp 9260 Content-Length: 9999 9262 v=0 9263 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9264 c=IN IP4 135.180.130.88 9265 m=audio 492170 RTP/AVP 0 12 9266 m=video 3227 RTP/AVP 31 9267 a=rtpmap:31 LPC 9269 7.17 INVITE with Invalid Value for Content-Length 9271 This is a request message with a negative value for Content-Length. 9273 The server should respond with an error. 9275 Message Details 9277 INVITE sip:user@company.com SIP/2.0 9278 To: sip:j.user@company.com 9279 From: sip:caller@university.edu 9280 Call-ID: 0ha0isndaksdj@10.0.0.1 9281 CSeq: 8 INVITE 9282 Via: SIP/2.0/UDP 135.180.130.133 9283 Content-Type: application/sdp 9284 Content-Length: -999 9286 v=0 9287 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9288 c=IN IP4 135.180.130.88 9289 m=audio 492170 RTP/AVP 0 12 9290 m=video 3227 RTP/AVP 31 9291 a=rtpmap:31 LPC 9293 7.18 INVITE with Garbage after Message Body 9295 This is a request message with garbage after the end of the SDP 9296 included in the body. 9298 The servers should reject the request as the body is longer than the 9299 Content-Length. 9301 Message Details 9303 INVITE sip:user@company.com SIP/2.0 9304 To: sip:j.user@company.com 9305 From: sip:caller@university.edu 9306 Call-ID: 0ha0isndaksdj@10.0.0.1 9307 CSeq: 8 INVITE 9308 Via: SIP/2.0/UDP 135.180.130.133 9309 Content-Type: application/sdp 9310 Content-Length: 138 9312 v=0 9313 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9314 c=IN IP4 135.180.130.88 9315 m=audio 492170 RTP/AVP 0 12 9316 m=video 3227 RTP/AVP 31 9317 a=rtpmap:31 LPC 9318 asdpasd08asdsdk:;;asd 9319 a0sdjhg8a0''...'';;;; 9321 7.19 INVITE with Error in Display Name in To Header 9323 This is a request with an unterminated quote in the display name of 9324 the To field. 9326 The server can either return an error, or proxy it if it is 9327 successful parsing without the terminating quote. 9329 Message Details 9331 INVITE sip:user@company.com SIP/2.0 9332 To: "Mr. J. User 9333 From: sip:caller@university.edu 9334 Call-ID: 0ha0isndaksdj@10.0.0.1 9335 CSeq: 8 INVITE 9336 Via: SIP/2.0/UDP 135.180.130.133 9337 Content-Type: application/sdp 9338 Content-Length: 138 9340 v=0 9341 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9342 c=IN IP4 135.180.130.88 9343 m=audio 492170 RTP/AVP 0 12 9344 m=video 3227 RTP/AVP 31 9345 a=rtpmap:31 LPC 9347 7.20 INVITE with a Semicolon-Separated Parameter in the "user" Part 9349 This is an INVITE request with a semicolon-separated parameter in 9350 the "user" part. 9352 Outbound proxies should direct it appropriately. 9354 Message Details 9356 INVITE sip:user;par=u%40h.com@company.com SIP/2.0 9357 To: sip:j_user@company.com 9358 From: sip:caller@university.edu 9359 Call-ID: 0ha0isndaksdj@10.1.1.1 9360 CSeq: 8 INVITE 9361 Via: SIP/2.0/UDP 135.180.130.133 9363 7.21 INVITE with Illegal Enclosing of Request-URI in "<>" 9365 This INVITE is illegal because the Request-URI has been enclosed 9366 within in "<>". 9368 An intelligent server may be able to deal with this and fix up 9369 the Request-URI if acting as a Proxy. If not it should respond 400 9370 with an appropriate reason phrase. 9372 Message Details 9374 INVITE SIP/2.0 9375 To: sip:user@company.com 9376 From: sip:caller@university.edu 9377 Call-ID: 1@10.0.0.1 9378 CSeq: 1 INVITE 9379 Via: SIP/2.0/UDP 135.180.130.133 9380 Content-Type: application/sdp 9381 Content-Length: 174 9383 v=0 9384 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9385 s=SIP Call 9386 t=3149328700 0 9387 c=IN IP4 135.180.130.88 9388 m=audio 492170 RTP/AVP 0 12 9389 m=video 3227 RTP/AVP 31 9390 a=rtpmap:31 LPC 9392 7.22 INVITE with Illegal LWS within Elements of Request-URI 9394 This INVITE has illegal LWS within the SIP URL. 9396 An intelligent server may be able to deal with this and fix up 9397 the Request-URI if acting as a Proxy. If not it should respond 400 9398 with an appropriate reason phrase. 9400 Message Details 9402 INVITE sip:user@company.com; transport=udp SIP/2.0 9403 To: sip:user@company.com 9404 From: sip:caller@university.edu 9405 Call-ID: 2@10.0.0.1 9406 CSeq: 1 INVITE 9407 Via: SIP/2.0/UDP 135.180.130.133 9408 Content-Type: application/sdp 9409 Content-Length: 174 9411 v=0 9412 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9413 s=SIP Call 9414 t=3149328700 0 9415 c=IN IP4 135.180.130.88 9416 m=audio 492170 RTP/AVP 0 12 9417 m=video 3227 RTP/AVP 31 9418 a=rtpmap:31 LPC 9420 7.23 INVITE with illegal >1 SP between elements of Request URI 9422 This INVITE has illegal >1 SP between elements of the Request-URI. 9424 An intelligent server may be able to deal with this and fix up 9425 the Request-URI if acting as a Proxy. If not it should respond 400 9426 with an appropriate reason phrase. 9428 Message Details 9430 INVITE sip:user@company.com SIP/2.0 9431 To: sip:user@company.com 9432 From: sip:caller@university.edu 9433 Call-ID: 3@10.0.0.1 9434 CSeq: 1 INVITE 9435 Via: SIP/2.0/UDP 135.180.130.133 9436 Content-Type: application/sdp 9437 Content-Length: 174 9439 v=0 9440 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9441 s=SIP Call 9442 t=3149328700 0 9443 c=IN IP4 135.180.130.88 9444 m=audio 492170 RTP/AVP 0 12 9445 m=video 3227 RTP/AVP 31 9446 a=rtpmap:31 LPC 9448 7.24 INVITE with a legal SIP URL containing escaped characters 9450 This INVITE is legal and has a Request-URI with a SIP URL containing 9451 escaped characters. 9453 Message Details 9455 INVITE sip:sip%3Auser%40example.com@company.com;other-param=summit 9456 SIP/2.0 9457 To: sip:user@company.com 9458 From: sip:caller@university.edu 9459 Call-ID: 4@10.0.0.1 9460 CSeq: 1 INVITE 9461 Via: SIP/2.0/UDP 135.180.130.133 9462 Content-Type: application/sdp 9463 Content-Length: 174 9465 v=0 9466 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9467 s=SIP Call 9468 t=3149328700 0 9469 c=IN IP4 135.180.130.88 9470 m=audio 492170 RTP/AVP 0 12 9471 m=video 3227 RTP/AVP 31 9472 a=rtpmap:31 LPC 9474 7.25 INVITE with the illegal use of escaped headers in Request-URI 9476 This INVITE is illegal as it the Request-URI contains a SIP URL 9477 containing 9478 escaped headers. 9480 An intelligent server may be liberal enough to accept this. A server 9481 acting as a proxy should remove the escaped header before processing. 9483 Message Details 9485 INVITE sip:user@company.com?Route=%3Csip:sip.example.com%3E SIP/2.0 9486 To: sip:user@company.com 9487 From: sip:caller@university.edu 9488 Call-ID: 5@10.0.0.1 9489 CSeq: 1 INVITE 9490 Via: SIP/2.0/UDP 135.180.130.133 9491 Content-Type: application/sdp 9492 Content-Length: 174 9494 v=0 9495 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9496 s=SIP Call 9497 t=3149328700 0 9498 c=IN IP4 135.180.130.88 9499 m=audio 492170 RTP/AVP 0 12 9500 m=video 3227 RTP/AVP 31 9501 a=rtpmap:31 LPC 9503 7.26 INVITE containing an unknown in the Request URI 9505 This INVITE contains an unknown URI scheme in the Request-URI. 9507 A server should reject this message with a 400 response plus an 9508 appropriate reason phrase despite being able to understand the 9509 To header as a SIP URL. 9511 Message Details 9513 INVITE name:user SIP/2.0 9514 To: sip:user@company.com 9515 From: sip:caller@university.edu 9516 Call-ID: 6@10.0.0.1 9517 CSeq: 1 INVITE 9518 Via: SIP/2.0/UDP 135.180.130.133 9519 Content-Type: application/sdp 9520 Content-Length: 174 9522 v=0 9523 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9524 s=SIP Call 9525 t=3149328700 0 9526 c=IN IP4 135.180.130.88 9527 m=audio 492170 RTP/AVP 0 12 9528 m=video 3227 RTP/AVP 31 9529 a=rtpmap:31 LPC 9531 7.27 OPTIONS with no LWS between display name and < 9533 This OPTIONS request is legal despite there being no LWS between 9534 the display name and < in the From header. 9536 Message Details 9538 OPTIONS sip:user@company.com SIP/2.0 9539 To: sip:user@company.com 9540 From: "caller" 9541 Call-ID: 1234abcd@10.0.0.1 9542 CSeq: 1 OPTIONS 9543 Via: SIP/2.0/UDP 135.180.130.133 9545 7.28 OPTIONS with extran LWS between display name and < 9547 This OPTIONS request is legal despite there being extra LWS between 9548 the display name and < in the From header. 9550 Message Details 9552 OPTIONS sip:user@company.com SIP/2.0 9553 To: sip:user@company.com 9554 From: "caller" 9555 Call-ID: 1234abcd@10.0.0.1 9556 CSeq: 2 OPTIONS 9557 Via: SIP/2.0/UDP 135.180.130.133 9559 7.29 INVITE with an illegal SIP Date format. 9561 This INVITE is illegal as it contains a non GMT time zone in the SIP 9562 Date 9563 of the Expires header. 9565 An intelligent server may be able to fix this up and correct the time 9566 to 9567 GMT. Alternatively this message may illicit a 400 response with an 9568 appropriate 9569 reason phrase. 9571 Message Details 9573 INVITE sip:user@company.com SIP/2.0 9574 To: sip:user@company.com 9575 From: sip:caller@university.edu 9576 Call-ID: 7@10.0.0.1 9577 CSeq: 1 INVITE 9578 Via: SIP/2.0/UDP 135.180.130.133 9579 Expires: Fri, 01 Jan 2010 16:00:00 EST 9580 Content-Type: application/sdp 9581 Content-Length: 174 9583 v=0 9584 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9585 s=SIP Call 9586 t=3149328700 0 9587 c=IN IP4 135.180.130.88 9588 m=audio 492170 RTP/AVP 0 12 9589 m=video 3227 RTP/AVP 31 9590 a=rtpmap:31 LPC 9592 7.30 INVITE with Passed Expries Time 9594 This is a legal INVITE but the message content has long since 9595 expired. 9597 A server should respond 408 (Timeout). 9599 Message Details 9601 INVITE sip:user@company.com SIP/2.0 9602 To: sip:user@company.com 9603 From: sip:caller@university.edu 9604 Call-ID: 8@10.0.0.1 9605 CSeq: 1 INVITE 9606 Via: SIP/2.0/UDP 135.180.130.133 9607 Expires: Thu, 01 Dec 1994 16:00:00 GMT 9608 Content-Type: application/sdp 9609 Content-Length: 174 9611 v=0 9612 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9613 s=SIP Call 9614 t=3149328700 0 9615 c=IN IP4 135.180.130.88 9616 m=audio 492170 RTP/AVP 0 12 9617 m=video 3227 RTP/AVP 31 9618 a=rtpmap:31 LPC 9620 7.31 INVITE with Max-Forwards Set to Zero 9622 This is a legal SIP request with the Max-Forwards header set to zero. 9624 A proxy or gateway should not forward the request and respond 483 9625 (Too Many 9626 Hops). 9628 Message Details 9630 INVITE sip:user@company.com SIP/2.0 9631 To: sip:user@company.com 9632 From: sip:caller@university.edu 9633 Call-ID: 9@10.0.0.1 9634 CSeq: 1 INVITE 9635 Via: SIP/2.0/UDP 135.180.130.133 9636 Max-Forwards: 0 9637 Content-Type: application/sdp 9638 Content-Length: 174 9640 v=0 9641 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9642 s=SIP Call 9643 t=3149328700 0 9644 c=IN IP4 135.180.130.88 9645 m=audio 492170 RTP/AVP 0 12 9646 m=video 3227 RTP/AVP 31 9647 a=rtpmap:31 LPC 9649 7.32 REGISTER with a Escaped Header in a Legal SIP URL of a Contact 9651 This is a legal REGISTER message where the Contact header contains a 9652 SIP URL with an escaped header within it. 9654 Message Details 9656 REGISTER sip:company.com SIP/2.0 9657 To: sip:user@company.com 9658 From: sip:user@company.com 9659 Contact: sip:user@host.company.com 9660 Call-ID: k345asrl3fdbv@10.0.0.1 9661 CSeq: 1 REGISTER 9662 Via: SIP/2.0/UDP 135.180.130.133 9663 Contact: 9665 7.33 REGISTER with a Escaped Header in a Illegal SIP URL of a Contact 9667 This is an illegal message as the REGISTER request contains a SIP 9668 URL with an escaped header but it is not enclosed in <> 9670 A server should respond 400 with an appropriate reason phrase. 9672 Message Details 9674 REGISTER sip:company.com SIP/2.0 9675 To: sip:user@company.com 9676 From: sip:user@company.com 9677 Contact: sip:user@host.company.com 9678 Call-ID: k345asrl3fdbv@10.0.0.1 9679 CSeq: 1 REGISTER 9680 Via: SIP/2.0/UDP 135.180.130.133 9681 Contact: sip:user@example.com?Route=%3Csip:sip.example.com%3E 9683 7.34 INVITE with Long Values in Headers 9685 This is a legal message that contains long values in many headers. 9687 Message Details 9689 INVITE sip:user@company.com SIP/2.0 9690 To: "I have a user name of extreme proportion" 9691 9693 From: sip:caller@university.edu 9694 Call-ID: 9695 kl24ahsd546folnyt2vbak9sad98u23naodiunzds09a3bqw0sdfbsk34poouymnae004 9696 3nsed09mfkvc74bd0cuwnms05dknw87hjpobd76f 9697 CSeq: 1 INVITE 9698 My-State: sldkjflzdsfaret0803adgaasd0afds0asdaasd 9699 Via: SIP/2.0/UDP sip33.example.com 9700 Via: SIP/2.0/UDP sip32.example.com 9701 Via: SIP/2.0/UDP sip31.example.com 9702 Via: SIP/2.0/UDP sip30.example.com 9703 Via: SIP/2.0/UDP sip29.example.com 9704 Via: SIP/2.0/UDP sip28.example.com 9705 Via: SIP/2.0/UDP sip27.example.com 9706 Via: SIP/2.0/UDP sip26.example.com 9707 Via: SIP/2.0/UDP sip25.example.com 9708 Via: SIP/2.0/UDP sip24.example.com 9709 Via: SIP/2.0/UDP sip23.example.com 9710 Via: SIP/2.0/UDP sip22.example.com 9711 Via: SIP/2.0/UDP sip21.example.com 9712 Via: SIP/2.0/UDP sip20.example.com 9713 Via: SIP/2.0/UDP sip19.example.com 9714 Via: SIP/2.0/UDP sip18.example.com 9715 Via: SIP/2.0/UDP sip17.example.com 9716 Via: SIP/2.0/UDP sip16.example.com 9717 Via: SIP/2.0/UDP sip15.example.com 9718 Via: SIP/2.0/UDP sip14.example.com 9719 Via: SIP/2.0/UDP sip13.example.com 9720 Via: SIP/2.0/UDP sip12.example.com 9721 Via: SIP/2.0/UDP sip11.example.com 9722 Via: SIP/2.0/UDP sip10.example.com 9723 Via: SIP/2.0/UDP sip9.example.com 9724 Via: SIP/2.0/UDP sip8.example.com 9725 Via: SIP/2.0/UDP sip7.example.com 9726 Via: SIP/2.0/UDP sip6.example.com 9727 Via: SIP/2.0/UDP sip5.example.com 9728 Via: SIP/2.0/UDP sip4.example.com 9729 Via: SIP/2.0/UDP sip3.example.com 9730 Via: SIP/2.0/UDP sip2.example.com 9731 Via: SIP/2.0/UDP sip1.example.com 9732 Via: SIP/2.0/UDP 9733 host.example.com;received=135.180.130.133;branch=C1C3344E2710000000E2 9734 99E568E7potato10potato0potato0 9735 Content-Type: application/sdp 9737 v=0 9738 o=mhandley 29739 7272939 IN IP4 126.5.4.3 9739 s=SIP Call 9740 t=3149328700 0 9741 c=IN IP4 135.180.130.88 9742 m=audio 492170 RTP/AVP 0 12 9743 m=video 3227 RTP/AVP 31 9744 a=rtpmap:31 LPC 9746 7.35 OPTIONS with multiple headers. 9748 This is an illegal and badly mangled message. 9750 A server should respond 400 with an appropriate reason phrase if it 9751 can. It may just drop this message. 9753 Message Details 9755 OPTIONS sip:135.180.130.133 SIP/2.0 9756 Via: SIP/2.0/UDP company.com:5604 9757 From: sip:iuser@company.com 9758 To: sip:user@135.180.130.133 9759 Call-ID: 1804928587@company.com 9760 CSeq: 1 OPTIONS 9761 Expires: 0 0l@company.com 9762 To: sip:user@135.180.130.133 9763 Call-ID: 1804928587@company.com 9764 CSeq: 1 OPTIONS 9765 Contact: sip:host.company.com 9766 Expires: 0xpires: 0sip:host.company.com 9767 Expires: 0 9768 Contact: sip:host.company.com 9770 7.36 INVITE with large number of SDP attributes and telephone subscriber 9771 Request-URI 9773 This is a legal message with a large number of SDP attributes and a 9774 long telephone subscriber Request-URI 9776 Message Details 9777 INVITE sip:+1-972-555-2222;phone- 9778 context=name%40domain;new=user?%22Route%3a%20X%40Y%3bZ=W%22@gw1.wcom. 9779 com;user=phone SIP/2.0 9780 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 9781 From: ;tag=332lflke 9782 To: sip:+1-650-555-2222@ss1.wcom.com;user=phone 9783 Call-ID: 1717@ift.here.com 9784 CSeq: 56 INVITE 9785 Content-Type: application/sdp 9786 Content-Length: 320 9788 v=0 9789 o=faxgw1 2890844527 2890844527 IN IP4 iftgw.there.com 9790 s=Session SDP 9791 c=IN IP4 iftmg.there.com 9792 t=0 0 9793 m=image 49172 udptl t38 9794 a=T38FaxVersion:0 9795 a=T38maxBitRate:14400 9796 a=T38FaxFillBitRemoval:0 9797 a=T38FaxTranscodingMMR:0 9798 a=T38FaxTranscodingJBIG:0 9799 a=T38FaxRateManagement:transferredTCF 9800 a=T38FaxMaxBuffer:260 9801 a=T38FaxUdpEC:t38UDPR 9803 7.37 REGISTER with a contact parameter. 9805 This REGISTER contains a contact where the 'user' parameter should be 9806 interpreted 9807 as being a contact-param and not a url-param. 9809 The register should succeed but a subsequent retrieval of the 9810 registration must not 9811 include "user=phone" as a url-parameter. 9813 Message Details 9815 REGISTER sip:bell-tel.com SIP/2.0 9816 Via: SIP/2.0/UDP saturn.bell-tel.com 9817 From: sip:watson@bell-tel.com 9818 To: sip:watson@bell-tel.com 9819 Call-ID: 70710@saturn.bell-tel.com 9820 CSeq: 2 REGISTER 9821 Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone 9823 7.38 REGISTER with a url parameter. 9825 This register contains a contact where the 'user'parameter is a url- 9826 param. 9828 The register should succeed and a subsequent retrieval of the 9829 registration must 9830 include "user=phone" as a url-parameter. 9832 Message Details 9834 REGISTER sip:bell-tel.com SIP/2.0 9835 Via: SIP/2.0/UDP saturn.bell-tel.com 9836 From: sip:watson@bell-tel.com 9837 To: sip:watson@bell-tel.com 9838 Call-ID: 70710@saturn.bell-tel.com 9839 CSeq: 3 REGISTER 9840 Contact: 9842 7.39 INVITE with an Unquoted Display Name Containing Multiple Tokens 9844 This is a legal INVITE where the To and From header contain display 9845 names 9846 that contain multiple tokens but are unquoted, 9848 Message Details 9850 INVITE sip:t.watson@ieee.org SIP/2.0 9851 Via: SIP/2.0/UDP c.bell-tel.com 9852 From: A. Bell 9853 To: T. Watson 9854 Call-ID: 31414@c.bell-tel.com 9855 CSeq: 1 INVITE 9857 7.40 INVITE with an Unquoted Display Name Containg Non-Token Characters 9859 This is an illegal invite at the display names in the To and From 9860 headers 9861 contain non-token characters but are unquoted. 9863 A server may be intelligent enough to cope with this but may also 9864 return a 9865 400 response with an appropriate reason phrase. 9867 Message Details 9869 INVITE sip:t.watson@ieee.org SIP/2.0 9870 Via: SIP/2.0/UDP c.bell-tel.com 9871 From: Bell, Alexander 9872 To: Watson, Thomas 9873 Call-ID: 31415@c.bell-tel.com 9874 CSeq: 1 INVITE 9876 7.41 INVITE with Unknown (Higher) Protocol Version in Start Line 9878 This is an illegal INVITE as the SIP Protocol version is unknown. 9880 The server should respond to the request with a bad version error. 9882 Message Details 9884 INVITE sip:t.watson@ieee.org SIP/7.0 9885 Via: SIP/2.0/UDP c.bell-tel.com 9886 From: A. Bell 9887 To: T. Watson 9888 Call-ID: 31417@c.bell-tel.com 9889 CSeq: 1 INVITE 9891 8 Acknowledgements 9893 The authors wish to thank Neil Deason for his additions to the 9894 Torture Test messages and Kundan Singh for performing parser 9895 validation of messages. 9897 The authors wish to thank the following individuals for their 9898 participation in the final review of this call flows document: Aseem 9899 Agarwal, Rafi Assadi, Ben Campbell, Sunitha Kumar, Jon Peterson, Marc 9900 Petit-Huguenin, Vidhi Rastogi, and Bodgey Yin Shaohua. 9902 The authors also wish to thank the following individuals for their 9903 assistance: Jean-Francois Mule, Hemant Agrawal, Henry Sinnreich, 9904 David Devanatham, Joe Pizzimenti, Matt Cannon, John Hearty, the whole 9905 MCI WorldCom IPOP Design team, Scott Orton, Greg Osterhout, Pat 9906 Sollee, Doug Weisenberg, Danny Mistry, Steve McKinnon, and Denise 9907 Ingram, Denise Caballero, Tom Redman, Ilya Slain, Pat Sollee, John 9908 Truetken, and others from MCI WorldCom, 3Com, Cisco, Lucent and 9909 Nortel. 9911 9 References 9913 [1] S. Bradner, "The Internet Standards Process -- Revision 3", 9914 BCP 9, RFC 2026, October 1996. 9916 [RFC2543bis] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, 9917 J. Peterson, R. Sparks, M. Handley, and E. Schooler, "SIP: 9918 Session Initiation Protocol", Internet Engineering Task Force, 9919 Work in Progress. 9921 [OFFER-ANSWER] J.Rosenberg and H.Schulzrinne, "An Offer/Answer Model 9922 with SDP", Work in Progress 9924 [IPSEC] S. Kent, R. Atkinson, "Security Architecture for the Internet 9925 Protocol", RFC 2401, November 1998. 9927 [RFC2806] A. Vaha-Sipila, "URLs for Telephone Calls", Internet Draft, 9928 Internet Engineering Task Force, RFC 2806, April 2000. 9930 [SIP-ISUP] G. Camarillo, "Best Current Practice for ISUP to SIP 9931 Mapping", Internet Draft, Internet Engineering Task Force, 9932 Work in progress. 9934 [T.38] ITU-T Recommendation T.38 Amendment 2 Annex D, "SIP/SDP Call 9935 Establishment Procedures", February 2000. 9937 Author's Addresses 9939 Alan Johnston Email: alan.johnston@wcom.com 9940 sip:alan.johnston@siptest.wcom.com 9942 Steve Donovan Email: sdonovan@dynamicsoft.com 9944 Robert Sparks Email: rsparks@dynamicsoft.com 9946 Chris Cunningham Email: ccunningham@dynamicsoft.com 9948 Dean Willis Email: dwillis@dynamicsoft.com 9950 Jonathan Rosenberg Email: jdrosen@dynamicsoft.com 9952 Kevin Summers Email: kevin.summers@sonusnet.com 9954 Henning Schulzrinne Email: schulzrinne@cs.columbia.edu 9956 Copyright Notice 9958 "Copyright (C) The Internet Society 2002. All Rights Reserved. 9960 This document and translations of it may be copied and furnished to 9961 others, and derivative works that comment on or otherwise explain it 9962 or assist in its implementation may be prepared, copied, published 9963 and distributed, in whole or in part, without restriction of any 9964 kind, provided that the above copyright notice and this paragraph are 9965 included on all such copies and derivative works. However, this 9966 document itself may not be modified in any way, such as by removing 9967 the copyright notice or references to the Internet Society or other 9968 Internet organizations, except as needed for the purpose of 9969 developing Internet standards in which case the procedures for 9970 copyrights defined in the Internet Standards process must be 9971 followed, or as required to translate it into languages other than 9972 English. 9974 The limited permissions granted above are perpetual and will not be 9975 revoked by the Internet Society or its successors or assigns. 9977 This document and the information contained herein is provided on an 9978 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 9979 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 9980 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 9981 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 9982 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.