Internet Engineering Task Force Alan Johnston Internet Draft WorldCom Document: draft-ietf-sipping-call-flows-01.txt Steve Donovan Category: Informational Robert Sparks July 2002 Chris Cunningham Expires: December 2002 Dean Willis Jonathan Rosenberg dynamicsoft Kevin Summers Sonus Henning Schulzrinne Columbia University Session Initiation Protocol Call Flow Examples Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This informational document gives examples of Session Initiation Protocol (SIP) call flows. Elements in these call flows include SIP User Agents and Clients, SIP Proxy and Redirect Servers, and Gateways to the PSTN (Public Switch Telephone Network). Scenarios include SIP Registration, SIP to SIP calling, SIP to Gateway, Gateway to SIP, and Gateway to Gateway via SIP. Call flow diagrams and message details are shown. PSTN telephony protocols are illustrated using ISDN (Integrated Services Digital Network), ANSI ISUP (ISDN User Part), and FGB (Feature Group B) circuit associated signaling. PSTN calls are illustrated using global telephone numbers from the PSTN and private extensions served on by a PBX (Private Branch Exchange). Example SIP messages used for testing during SIP interoperability test events include SIP "torture test" messages, and messages with invalid parameters, methods, and tags. Johnston, et al. [Page 1] Internet Draft SIP Call Flow Examples July 2002 Table of Contents 1 Overview...................................................4 1.1 General Assumptions........................................4 1.2 Legend for Message Flows...................................5 1.3 SIP Protocol Assumptions...................................6 2 SIP Registration...........................................7 2.1 Success Scenarios..........................................7 2.1.1 SIP Client New Registration................................7 2.1.2 User updates contact list..................................9 2.1.3 User Requests Current Contact List........................11 2.1.4 User Cancels Registration.................................12 2.2 Failure Scenarios.........................................13 2.2.1 Unsuccessful SIP registration.............................13 3 SIP to SIP Dialing........................................15 3.1 Success Scenarios.........................................15 3.1.1 Successful Simple SIP to SIP..............................16 3.1.2 Successful SIP to SIP through two proxies.................19 3.1.3 Successful SIP to SIP with Multi Proxy Authentication.....29 3.1.4 Successful SIP to SIP with Proxy failure..................39 3.1.5 Successful SIP to SIP through SIP ALG ....................47 3.1.6 Successful SIP to SIP via Redirect and Proxy SDP in ACK...55 3.1.7 Successful SIP to SIP with re-INVITE......................61 3.2 Failure Scenarios.........................................67 3.2.1 Unsuccessful SIP to SIP no answer.........................67 3.2.2 Unsuccessful SIP to SIP busy..............................74 3.2.3 Unsuccessful SIP to SIP no response.......................79 3.2.4 Unsuccessful SIP to SIP Temporarily Unavailable...........84 4 SIP to Gateway Dialing....................................90 4.1 Success Scenarios.........................................90 4.1.1 Successful SIP to ISUP PSTN call..........................91 4.1.2 Successful SIP to ISDN PBX call...........................99 4.1.3 Successful SIP to ISUP PSTN call with overflow...........107 4.2 Failure Scenarios........................................115 4.2.1 Unsuccessful SIP to PSTN call: Treatment from PSTN.......116 4.2.2 Unsuccessful SIP to PSTN: REL w/Cause from PSTN..........123 4.2.3 Unsuccessful SIP to PSTN: ANM Timeout....................127 5 Gateway to SIP Dialing...................................133 5.1 Success Scenarios........................................133 5.1.1 Successful PSTN to SIP call..............................134 5.1.2 Successful PSTN to SIP call, Fast Answer.................140 5.1.3 Successful PBX to SIP call...............................145 5.2 Failure Scenarios........................................151 5.2.1 Unsuccessful PSTN to SIP REL, SIP error mapped to REL....151 5.2.2 Unsuccessful PSTN to SIP REL, SIP busy mapped to REL.....153 5.2.3 Unsuccessful PSTN->SIP, SIP error interworking to tones..157 5.2.4 Unsuccessful PSTN->SIP, ACM timeout......................161 5.2.5 Unsuccessful PSTN->SIP, ACM timeout, stateless Proxy.....165 5.2.6 Unsuccessful PSTN->SIP, Call Abandonment.................168 6 Gateway to Gateway Dialing via SIP Network...............174 6.1 Success Scenarios........................................174 6.1.1 Successful ISUP PSTN to ISUP PSTN call...................175 Johnston, et al. Informational [Page 2] Internet Draft SIP Call Flow Examples July 2002 6.1.2 Successful FGB PBX to ISDN PBX call with overflow........182 7 SIP Test Messages........................................191 7.1 INVITE Parser Torture Test Message.......................191 7.2 INVITE with Proxy-Require and Require....................192 7.3 INVITE with Unknown Schemes in URIs and URLs.............192 7.4 REGISTER with Y2038 Test.................................193 7.5 INVITE with inconsistent Accept and message body.........193 7.6 INVITE with non-SDP message body.........................194 7.7 Unknown Method Message...................................194 7.8 Unknown Method with CSeq Error...........................195 7.9 REGISTER with Unknown Authorization Scheme...............195 7.10 Multiple SIP Request in a Single Message.................196 7.11 INVITE missing Required Headers..........................197 7.12 INVITE with Duplicate Required Headers...................197 7.13 INVITE with Illegal Expires Header.......................198 7.14 200 OK Response with Broadcast Via Header................198 7.15 INVITE with Invalid Via and Contact Headers..............199 7.16 INVITE with Incorrect Content-Length Header..............200 7.17 INVITE with Invalid Value for Content-Length.............200 7.18 INVITE with Garbage after Message Body...................201 7.19 INVITE with Error in Display Name in To Header...........201 7.20 INVITE with long tokens, Call-ID, and SIP URIs...........202 7.21 INVITE with Illegal Enclosing of Request-URI in "<>".....202 7.22 INVITE with Illegal LWS within Elements of Request-URI...203 7.23 INVITE with Illegal >1 SP between elements Request-URI...204 7.24 INVITE with a Legal SIP URI With Escaped Characters......204 7.25 INVITE with the Illegal Escaped Headers Request-URI......205 7.26 INVITE with Unknown Scheme in Request-URI................206 7.27 OPTIONS with no LWS between display name and "<".........206 7.28 OPTIONS with Extra WS between display name and "<".......206 7.29 INVITE with an Illegal Date Format.......................207 7.30 INVITE with Passed Expires Time..........................207 7.31 INVITE with Max-Forwards Set to Zero.....................208 7.32 REGISTER with Escaped Header in a Legal Contact URI......209 7.33 REGISTER with Escaped Header in an Illegal Contact URI...209 7.34 INVITE with Long Values in Headers.......................210 7.35 OPTIONS with Multiple Headers............................211 7.36 INVITE with Large Number of SDP Attributes and Long URI..211 7.37 REGISTER with Contact Parameter..........................212 7.38 REGISTER with a URI Parameter............................213 7.39 INVITE with Unquoted Display Name with Tokens............213 7.40 INVITE with Unquoted Display Name with Non-Token Chars...213 7.41 INVITE with Unknown (Higher) Protocol Version Start Line.214 8 Security Considerations .................................214 9 IANA Considerations .....................................215 10 Acknowledgements.........................................215 11 References...............................................215 Johnston, et al. Informational [Page 3] Internet Draft SIP Call Flow Examples July 2002 1 Overview The call flows shown in this document were developed in the design of a carrier-class SIP IP Telephony network. They represent an example minimum set of functionality for SIP to be used in IP Telephony applications. The message examples were developed during the SIP interoperability tests known as SIPit. It is the hope of the authors that this document will be useful for SIP implementors, designers, and protocol researchers alike and will help further the goal of a standard SIP implementation for IP Telephony. It is envisioned that as changes to the standard and additional RFCs are added that this document will reflect those changes and represent the current state of a standard interoperable SIP IP Telephony implementation. Note that this document is informational, and is NOT NORMATIVE on any aspect of SIP or SIP/PSTN interworking. These call flows are based on the current version 2.0 of SIP in [RFC3261] with SDP usage described in [RFC3264]. Various PSTN signaling protocols are illustrated in this document: ISDN (Integrated Services Digital Network), ANSI ISUP (ISDN User Part) and FGB (Feature Group B) circuit associated signaling. They were chosen to illustrate the nature of SIP/PSTN interworking - they are not a complete or even representative set. Also, some details and parameters of these PSTN protocols have been omitted. For full information about SIP to ISUP mapping, refer to [SIP-ISUP]. Finally, some example messages are given along with expected behavior of clients and servers. 1.1 General Assumptions A number of architecture, network, and protocol assumptions underly the call flows in this document. Note that these assumptions are not requirements. They are outlined in this section so that they may be taken into consideration and to aid in the understanding of the call flow examples. The authentication of SIP User Agents in these example call flows is performed using SIP Digest as defined in [RFC3261] and [RFC2617]. Throughout this document the call flows show a network where the proxy servers authenticate users on behalf of gateways. Gateways may also authenticate users directly. Both of these are reasonable usages of SIP. If gateways do not authenticate directly they would be to refuse requests from entities other than trusted proxy servers with which they have effective channel security (for example [RFC2246] or [RFC2401])." Johnston, et al. Informational [Page 4] Internet Draft SIP Call Flow Examples July 2002 The SIP Proxy Server has access to a Location Service and other databases. Information present in the Request-URI and the context (From header) is sufficient to determine to which proxy or gateway the message should be routed. In most cases, a primary and secondary route will be determined in case of Proxy or Gateway failure downstream. Some Proxy Servers in these call flows insert Record-Route headers into requests to ensure that they are in the signaling path for future message exchanges. Gateways provide tones (ringing, busy, etc) and announcements to the PSTN side based on SIP response messages, or pass along audio in-band tones (ringing, busy tone, etc.) in an early media stream to the SIP side. The interactions between the Proxy and Gateway can be summarized as follows: . The SIP Proxy Server performs digit analysis and lookup and locates the correct gateway. . The SIP Proxy Server performs gateway location based on primary and secondary routing. Telephone numbers are usually represented as SIP URIs. Note that an alternative is the use of the tel URI [RFC2806]. These flows show UDP for transport. Other transport schemes could also be used. 1.2 Legend for Message Flows Dashed lines (---) represent signaling messages that are mandatory to the call scenario. These messages can be SIP or PSTN signaling. The arrow indicates the direction of message flow. Double dashed lines (===) represent media paths between network elements. Messages with parentheses around their name represent optional messages. Messages are identified in the Figures as F1, F2, etc. This references the message details in the list that follows the Figure. Comments in the message details are shown in the following form: /* Comments. */ 1.3 SIP Protocol Assumptions Johnston, et al. Informational [Page 5] Internet Draft SIP Call Flow Examples July 2002 This document is informational only and is NOT NORMATIVE in any sense. For simplicity in reading and editing the document, there are a number of differences between some of the examples and actual SIP messages. For example, the SIP Digest responses are not actual MD5 encodings. Call-IDs are often repeated, and CSeq counts often begin at 1. Header fields are usually shown in the same order. Usually only the minimum required header field set is shown, others that would normally be present such as Accept, Supported, Allow, etc are not shown. Actors: Element Display Name URI IP Address ------- ------------ --- ---------- User Agent BigGuy UserA@atlanta.com 192.168.100.101 User Agent LittleGuy UserB@biloxi.com 192.168.200.201 User Agent UserB@chicago.com 192.168.200.100 Proxy Server ss1.atlanta.com 192.168.255.111 Proxy/Registrar ss2.biloxi.com 192.168.156.222 Proxy Server ss3.chicago.com 192.168.182.333 ALG alg1.atlanta.com 192.168.255.128 User Agent (Gateway) gw1.atlanta.com 192.168.255.201 User Agent (Gateway) gw2.atlanta.com 192.168.255.202 User Agent (Gateway) gw3.atlanta.com 192.168.255.203 User Agent (Gateway) ngw1.atlanta.com 192.168.255.101 User Agent (Gateway) ngw2.atlanta.com 192.168.255.102 Johnston, et al. Informational [Page 6] Internet Draft SIP Call Flow Examples July 2002 2 SIP Registration 2.1 Success Scenarios Registration binds a particular device Contact URI with a SIP user AOR (Address of Record). 2.1.1 SIP Client New Registration User B SIP Server | | | REGISTER F1 | |------------------------------>| | 401 Unauthorized F2 | |<------------------------------| | REGISTER F3 | |------------------------------>| | 200 OK F4 | |<------------------------------| | | User B sends a SIP REGISTER request to the SIP server. The request includes the user's contact list. The SIP server provides a challenge to User B. User B enters her/his valid user ID and password. User B's SIP client encrypts the user information according to the challenge issued by the SIP server and sends the response to the SIP server. The SIP server validates the user's credentials. It registers the user in its contact database and returns a response (200 OK) to User B's SIP client. The response includes the user's current contact list in Contact headers. The format of the authentication shown is SIP digest. It is assumed that User B has not previously registered with this Server. Message Details F1 REGISTER B -> SIP Server REGISTER sip:ss2.biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=a73kszlfl To: LittleGuy Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com CSeq: 1 REGISTER Contact: Content-Length: 0 F2 401 Unauthorized SIP Server -> User B Johnston, et al. Informational [Page 7] Internet Draft SIP Call Flow Examples July 2002 SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 From: LittleGuy ;tag=a73kszlfl To: LittleGuy ;tag=1410948204 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com CSeq: 1 REGISTER WWW-Authenticate: Digest realm="atlanta.com", qop="auth", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", stale=FALSE, algorithm=MD5 Content-Length: 0 F3 REGISTER B -> SIP Server REGISTER sip:ss2.biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=ja743ks76zlflH To: LittleGuy Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com CSeq: 2 REGISTER Contact: Authorization: Digest username="UserB", realm="atlanta.com" nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", uri="sip:ss2.biloxi.com", response="dfe56131d1958046689d83306477ecc" Content-Length: 0 F4 200 OK SIP Server -> B SIP/2.0 200 OK Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 From: LittleGuy ;tag=ja743ks76zlflH To: LittleGuy ;tag=37GkEhwl6 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com CSeq: 2 REGISTER Contact: ;expires=3600 Content-Length: 0 Johnston, et al. Informational [Page 8] Internet Draft SIP Call Flow Examples July 2002 2.1.2 User updates contact list User B SIP Server | | | REGISTER F1 | |------------------------------>| | 200 OK F2 | |<------------------------------| | | User B wishes to update the list of addresses where the SIP server will redirect or forward INVITE requests. User B sends a SIP REGISTER request to the SIP server. User B's request includes an updated contact list. Since the user already has authenticated with the server, the user supplies authentication credentials with the request and is not challenged by the server. The SIP server validates the user's credentials. It registers the user in its contact database, updates the user's contact list, and returns a response (200 OK) to User B's SIP client. The response includes the user's current contact list in Contact headers. Message Details F1 REGISTER B -> SIP Server REGISTER sip:ss2.biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=a73kszlfl To: LittleGuy Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com CSeq: 1 REGISTER Contact: mailto:UserB@biloxi.com Authorization: Digest username="UserB", realm="atlanta.com", qop="auth", nonce="1cec4341ae6cbe5a359ea9c8e88df84f", opaque="", uri="sip:ss2.biloxi.com", response="71ba27c64bd01de719686aa4590d5824" Content-Length: 0 F2 200 OK SIP Server -> B SIP/2.0 200 OK Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 From: LittleGuy ;tag=a73kszlfl To: LittleGuy ;tag=34095828jh Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Johnston, et al. Informational [Page 9] Internet Draft SIP Call Flow Examples July 2002 CSeq: 1 REGISTER Contact: ;expires=3600 Contact: ;expires=4294967295 Content-Length: 0 Johnston, et al. Informational [Page 10] Internet Draft SIP Call Flow Examples July 2002 2.1.3 User Requests Current Contact List User B SIP Server | | | REGISTER F1 | |------------------------------>| | 200 OK F2 | |<------------------------------| | | User B sends a register request to the Proxy Server containing no Contact headers, indicating the user wishes to query the server for the user's current contact list. Since the user already has authenticated with the server, the user supplies authentication credentials with the request and is not challenged by the server. The SIP server validates the user's credentials. The server returns a response (200 OK) which includes the user's current registration list in Contact headers. Message Details F1 REGISTER B -> SIP Server REGISTER sip:ss2.biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=a73kszlfl To: LittleGuy Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com CSeq: 1 REGISTER Authorization: Digest username="UserB", realm="atlanta.com", nonce="df84f1cec4341ae6cbe5ap359a9c8e88", opaque="", uri="sip:ss2.biloxi.com", response="aa7ab4678258377c6f7d4be6087e2f60" Content-Length: 0 F2 200 OK SIP Server -> B SIP/2.0 200 OK Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 From: LittleGuy ;tag=a73kszlfl To: LittleGuy ;tag=jqoiweu75 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com CSeq: 1 REGISTER Contact: ;expires=3600 Contact: ;expires=4294967295 Content-Length: 0 Johnston, et al. Informational [Page 11] Internet Draft SIP Call Flow Examples July 2002 2.1.4 User Cancels Registration User B SIP Server | | | REGISTER F1 | |------------------------------>| | 200 OK F2 | |<------------------------------| | | User B wishes to cancel their registration with the SIP server. User B sends a SIP REGISTER request to the SIP server. The request has an expiration period of 0 and applies to all existing contact locations. Since the user already has authenticated with the server, the user supplies authentication credentials with the request and is not challenged by the server. The SIP server validates the user's credentials. It clears the user's contact list, and returns a response (200 OK) to User B's SIP client. Message Details F1 REGISTER B -> SIP Server REGISTER sip:ss2.biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=a73kszlfl To: LittleGuy Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com CSeq: 1 REGISTER Expires: 0 Contact: * Authorization: Digest username="UserB", realm="atlanta.com", nonce="88df84f1cac4341aea9c8ee6cbe5a359", opaque="", uri="sip:ss2.biloxi.com", response="ff0437c51696f9a76244f0cf1dbabbea" Content-Length: 0 F2 200 OK SIP Server -> B SIP/2.0 200 OK Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 From: LittleGuy ;tag=a73kszlfl To: LittleGuy ;tag=1418nmdsrf Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com CSeq: 1 REGISTER Content-Length: 0 Johnston, et al. Informational [Page 12] Internet Draft SIP Call Flow Examples July 2002 2.2 Failure Scenarios 2.2.1 Unsuccessful SIP registration User B SIP Server | | | REGISTER F1 | |------------------------------>| | 401 Unauthorized F2 | |<------------------------------| | REGISTER F3 | |------------------------------>| | 401 Unauthorized F4 | |<------------------------------| | | User B sends a SIP REGISTER request to the SIP Server. The SIP server provides a challenge to User B. User B enters her/his user ID and password. User B's SIP client encrypts the user information according to the challenge issued by the SIP server and sends the response to the SIP server. The SIP server attempts to validate the user's credentials, but they are not valid (the user's password does not match the password established for the user's account). The server returns a response (401 Unauthorized) to User B's SIP client. Message Details F1 REGISTER B -> SIP Server REGISTER sip:ss2.biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=a73kszlfl To: LittleGuy Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com CSeq: 1 REGISTER Contact: Content-Length: 0 F2 Unauthorized SIP Server -> User B SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 From: LittleGuy ;tag=a73kszlfl To: LittleGuy ;tag=1410948204 Johnston, et al. Informational [Page 13] Internet Draft SIP Call Flow Examples July 2002 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com CSeq: 1 REGISTER WWW-Authenticate: Digest realm="atlanta.com", qop="auth", nonce="f1cec4341ae6ca9c8e88df84be55a359", opaque="", stale=FALSE, algorithm=MD5 Content-Length: 0 F3 REGISTER B -> SIP Server REGISTER sip:ss2.biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=JueHGuidj28dfga To: LittleGuy Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com CSeq: 2 REGISTER Contact: Authorization: Digest username="UserB", realm="atlanta.com", nonce="f1cec4341ae6ca9c8e88df84be55a359", opaque="", uri="sip:ss2.biloxi.com", response="61f8470ceb87d7ebf508220214ed438b" Content-Length: 0 /* The response above encodes the incorrect password */ F4 401 Unauthorized SIP Server -> User B SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 From: LittleGuy ;tag=JueHGuidj28dfga To: LittleGuy ;tag=1410948204 Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com CSeq: 2 REGISTER WWW-Authenticate: Digest realm="atlanta.com", qop="auth", nonce="84f1c1ae6cbe5ua9c8e88dfa3ecm3459", opaque="", stale=FALSE, algorithm=MD5 Content-Length: 0 Johnston, et al. Informational [Page 14] Internet Draft SIP Call Flow Examples July 2002 3 SIP to SIP Dialing 3.1 Success Scenarios This section details calls between two SIP User Agents (UAs): User A and User B. User A (LittleGuy sip:UserA@atlanta.com) and User B (BigGuy sip:UserB@biloxi.com) are assumed to be SIP phones or SIP- enabled devices. The successful calls show the initial signaling, the exchange of media information in the form of SDP payloads, the establishment of the media session, then finally the termination of the call. SIP digest authentication is used by Proxy Servers to authenticate the caller User A. It is assumed that User B has registered with Proxy Server Proxy 2 as per Section 2.1 to be able to receive the calls via the Proxy. Johnston, et al. Informational [Page 15] Internet Draft SIP Call Flow Examples July 2002 3.1.1 Successful Simple SIP to SIP User A User B | | | INVITE F1 | |----------------------->| | 180 Ringing F2 | |<-----------------------| | | | 200 OK F3 | |<-----------------------| | ACK F4 | |----------------------->| | Both Way RTP Media | |<======================>| | | | BYE F5 | |<-----------------------| | 200 OK F6 | |----------------------->| | | In this scenario, User A completes a call to User B directly. Message Details F1 INVITE User A -> User B INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 3848276298220188511@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 180 Ringing User B -> User A Johnston, et al. Informational [Page 16] Internet Draft SIP Call Flow Examples July 2002 SIP/2.0 180 Ringing Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=8321234356 Call-ID: 3848276298220188511@atlanta.com CSeq: 1 INVITE Content-Length: 0 F3 200 OK User B -> User A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=8321234356 Call-ID: 3848276298220188511@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 ACK User A -> User B ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=8321234356 Call-ID: 3848276298220188511@atlanta.com CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between A and B */ /* User B Hangs Up with User A. Note that the CSeq is NOT 2, since User A and User B maintain their own independent CSeq counts. (The INVITE was request 1 generated by User A, and the BYE is request 1 generated by User B) */ F5 BYE User B -> User A Johnston, et al. Informational [Page 17] Internet Draft SIP Call Flow Examples July 2002 BYE sip:UserA@192.168.100.101 SIP/2.0 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 From: LittleGuy ;tag=8321234356 To: BigGuy ;tag=9fxced76sl Call-ID: 3848276298220188511@atlanta.com CSeq: 1 BYE Content-Length: 0 F6 200 OK User A -> User B SIP/2.0 200 OK Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 From: LittleGuy ;tag=8321234356 To: BigGuy ;tag=9fxced76sl Call-ID: 3848276298220188511@atlanta.com CSeq: 1 BYE Content-Length: 0 Johnston, et al. Informational [Page 18] Internet Draft SIP Call Flow Examples July 2002 3.1.2 Successful SIP to SIP through two proxies User A Proxy 1 Proxy 2 User B | | | | | INVITE F1 | | | |--------------->| | | | 407 F2 | | | |<---------------| | | | ACK F3 | | | |--------------->| | | | INVITE F4 | | | |--------------->| INVITE F5 | | | 100 F6 |--------------->| INVITE F7 | |<---------------| 100 F8 |--------------->| | |<---------------| | | | | 180 F9 | | | 180 F10 |<---------------| | 180 F11 |<---------------| | |<---------------| | 200 F12 | | | 200 F13 |<---------------| | 200 F14 |<---------------| | |<---------------| | | | ACK F15 | | | |--------------->| ACK F16 | | | |--------------->| ACK F17 | | | |--------------->| | Both Way RTP Media | |<================================================>| | | | BYE F18 | | | BYE F19 |<---------------| | BYE F20 |<---------------| | |<---------------| | | | 200 F21 | | | |--------------->| 200 F22 | | | |--------------->| 200 F23 | | | |--------------->| | | | | In this scenario, User A completes a call to User B using two proxies Proxy 1 and Proxy 2. The initial INVITE (F1) contains a pre-loaded Route header with the address of Proxy 1 (Proxy 1 is configured as a default outbound proxy for User A). The request does not contain the Authorization credentials Proxy 1 requires, so a 407 Proxy Authorization response is sent containing the challenge information. A new INVITE (F4) is then sent containing the correct credentials and the call proceeds. The call terminates when User B disconnects by initiating a BYE message. Proxy 1 inserts a Record-Route header into the INVITE message to ensure that it is present in all subsequent message exchanges. Proxy 2 also inserts itself into the Record-Route header. The ACK (F15) and BYE (F18) both have a Route header. Johnston, et al. Informational [Page 19] Internet Draft SIP Call Flow Examples July 2002 Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 3848276298220188511@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 challenges User A for authentication */ F2 407 Proxy Authorization Required Proxy 1 -> User A SIP/2.0 407 Proxy Authorization Required Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=3flal12sf Call-ID: 3848276298220188511@atlanta.com CSeq: 1 INVITE Proxy-Authenticate: Digest realm="atlanta.com", qop="auth", nonce="f84f1cec41e6cbe5aea9c8e88d359", opaque="", stale=FALSE, algorithm=MD5 Content-Length: 0 F3 ACK A -> Proxy 1 ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=3flal12sf Johnston, et al. Informational [Page 20] Internet Draft SIP Call Flow Examples July 2002 Call-ID: 3848276298220188511@atlanta.com CSeq: 1 ACK Content-Length: 0 /* User A responds be re-sending the INVITE with authentication credentials in it. */ F4 INVITE A -> Proxy 1 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 3848276298220188511@atlanta.com CSeq: 2 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="atlanta.com", nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 accepts the credentials and forwards the INVITE to Proxy 2. Proxy 1 is assumed to have been authenticated by Proxy 2 using IPSec. Client for A prepares to receive data on port 49172 from the network. */ F5 INVITE Proxy 1 -> Proxy 2 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 3848276298220188511@atlanta.com CSeq: 2 INVITE Contact: Johnston, et al. Informational [Page 21] Internet Draft SIP Call Flow Examples July 2002 Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F6 100 Trying Proxy 1 -> User A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 3848276298220188511@atlanta.com CSeq: 2 INVITE Content-Length: 0 F7 INVITE Proxy 2 -> B INVITE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 68 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 3848276298220188511@atlanta.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 100 Trying Proxy 2 -> Proxy 1 Johnston, et al. Informational [Page 22] Internet Draft SIP Call Flow Examples July 2002 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 3848276298220188511@atlanta.com CSeq: 2 INVITE Content-Length: 0 F9 180 Ringing B -> Proxy 2 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 3848276298220188511@atlanta.com Contact: CSeq: 2 INVITE Content-Length: 0 F10 180 Ringing Proxy 2 -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 3848276298220188511@atlanta.com Contact: CSeq: 2 INVITE Content-Length: 0 F11 180 Ringing Proxy 1 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Johnston, et al. Informational [Page 23] Internet Draft SIP Call Flow Examples July 2002 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 3848276298220188511@atlanta.com Contact: CSeq: 2 INVITE Content-Length: 0 F12 200 OK B -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 3848276298220188511@atlanta.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F13 200 OK Proxy 2 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 3848276298220188511@atlanta.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: 145 Johnston, et al. Informational [Page 24] Internet Draft SIP Call Flow Examples July 2002 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F14 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 3848276298220188511@atlanta.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F15 ACK A -> Proxy 1 ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 3848276298220188511@atlanta.com CSeq: 2 ACK Content-Length: 0 F16 ACK Proxy 1 -> Proxy 2 ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Johnston, et al. Informational [Page 25] Internet Draft SIP Call Flow Examples July 2002 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 3848276298220188511@atlanta.com CSeq: 2 ACK Content-Length: 0 F17 ACK Proxy 2 -> B ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 68 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 3848276298220188511@atlanta.com CSeq: 2 ACK Content-Length: 0 /* RTP streams are established between A and B */ /* User B Hangs Up with User A. */ /* Again, note that the CSeq is NOT 3. User A and User B maintain their own separate CSeq counts */ F18 BYE User B -> Proxy 2 BYE sip:UserA@192.168.100.101 SIP/2.0 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 Route: , From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 3848276298220188511@atlanta.com CSeq: 1 BYE Content-Length: 0 F19 BYE Proxy 2 -> Proxy 1 BYE sip:UserA@192.168.100.101 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 Max-Forwards: 69 Route: Johnston, et al. Informational [Page 26] Internet Draft SIP Call Flow Examples July 2002 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 3848276298220188511@atlanta.com CSeq: 1 BYE Content-Length: 0 F20 BYE Proxy 1 -> User A BYE sip:UserA@192.168.100.101 SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 Max-Forwards: 68 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 3848276298220188511@atlanta.com CSeq: 1 BYE Content-Length: 0 F21 200 OK User A -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 3848276298220188511@atlanta.com CSeq: 1 BYE Content-Length: 0 F22 200 OK Proxy 1 -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.100.101 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 3848276298220188511@atlanta.com CSeq: 1 BYE Content-Length: 0 Johnston, et al. Informational [Page 27] Internet Draft SIP Call Flow Examples July 2002 F23 200 OK Proxy 2 -> User B SIP/2.0 200 OK Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 3848276298220188511@atlanta.com CSeq: 1 BYE Content-Length: 0 Johnston, et al. Informational [Page 28] Internet Draft SIP Call Flow Examples July 2002 3.1.3 SIP to SIP with Multi Proxy Authentication User A Proxy 1 Proxy 2 User B | | | | | INVITE F1 | | | |----------->| | | | 407 Proxy Authorization Required F2 | |<-----------| | | | ACK F3 | | | |----------->| | | | INVITE F4 | | | |----------->| | | | 100 F5 | | | |<-----------| INVITE F6 | | | |---------->| | | | 407 Proxy Authorization Required F7 | |<----------| | | | ACK F8 | | | |---------->| | | 407 Proxy Authorization Required F9 | |<-----------| | | | ACK F10 | | | |----------->| | | | INVITE F11| | | |----------->| | | | 100 F12 | | | |<-----------| INVITE F13| | | |---------->| | | | 100 F14 | | | |<----------| INVITE F15 | | | |------------>| | | | 200 OK F16 | | | 200 OK F17|<------------| | 200 OK F18 |<----------| | |<-----------| | | | ACK F19 | | | |----------->| ACK F20 | | | |---------->| ACK F21 | | | |------------>| | RTP Media Path | |<====================================>| In this scenario, User A completes a call to User B using two proxies Proxy 1 and Proxy 2. User A has valid credentials in both domains. Since the initial INVITE (F1) does not contain the Authorization credentials Proxy 1 requires, so a 407 Proxy Authorization response is sent containing the challenge information. A new INVITE (F4) is then sent containing the correct credentials and the call proceeds after Proxy 2 challenges and receives valid credentials. The call terminates when User B disconnects by initiating a BYE message. Johnston, et al. Informational [Page 29] Internet Draft SIP Call Flow Examples July 2002 Proxy 1 inserts a Record-Route header into the INVITE message to ensure that it is present in all subsequent message exchanges. Proxy 2 also inserts itself into the Record-Route header. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 challenges User A for authentication */ F2 407 Proxy Authorization Required Proxy 1 -> User A SIP/2.0 407 Proxy Authorization Required Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=876321 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Proxy-Authenticate: Digest realm="atlanta.com", qop="auth", nonce="wf84f1cczx41ae6cbeaea9ce88d359", opaque="", stale=FALSE, algorithm=MD5 Content-Length: 0 F3 ACK A -> Proxy 1 ACK sip:UserB@biloxi.com SIP/2.0 Johnston, et al. Informational [Page 30] Internet Draft SIP Call Flow Examples July 2002 Max-Forwards: 70 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=876321 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 /* User A responds be re-sending the INVITE with authentication credentials in it. The same Call-ID is used, so the CSeq is increased. */ F4 INVITE A -> Proxy 1 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="atlanta.com", nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 accepts the credentials and forwards the INVITE to Proxy 2. Proxy 1 is assumed to have been authenticated by Proxy 2 using IPSec. Client for A prepares to receive data on port 49172 from the network. */ F5 100 Trying Proxy 1 -> User A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Johnston, et al. Informational [Page 31] Internet Draft SIP Call Flow Examples July 2002 CSeq: 2 INVITE Content-Length: 0 F6 INVITE Proxy 1 -> Proxy 2 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 2 challenges User A for authentication */ F7 407 Proxy Authorization Required Proxy 2 -> Proxy 1 SIP/2.0 407 Proxy Authorization Required Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=838209 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Proxy-Authenticate: Digest realm="biloxi.com", qop="auth", nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", stale=FALSE, algorithm=MD5 Content-Length: 0 F8 ACK Proxy 1 -> Proxy 2 ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Johnston, et al. Informational [Page 32] Internet Draft SIP Call Flow Examples July 2002 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=838209 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 ACK Content-Length: 0 /* Proxy 1 forwards the challenge to User A for authentication from Proxy 2 */ F9 407 Proxy Authorization Required Proxy 1 -> User A SIP/2.0 407 Proxy Authorization Required Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=838209 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Proxy-Authenticate: Digest realm="biloxi.com", qop="auth", nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", stale=FALSE, algorithm=MD5 Content-Length: 0 F10 ACK User A -> Proxy 1 ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=838209 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 ACK Content-Length: 0 /* User A responds be re-sending the INVITE with authentication credentials for Proxy 1 AND Proxy 2. */ F11 INVITE A -> Proxy 1 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="atlanta.com", Johnston, et al. Informational [Page 33] Internet Draft SIP Call Flow Examples July 2002 nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8" Proxy-Authorization: Digest username="UserA", realm="biloxi.com", nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", uri="sip:UserB@biloxi.com", response="f44ab22f150c6a56071bce8" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 finds its credentials and authorizes User A, forwarding the INVITE to Proxy. */ F12 100 Trying Proxy 1 -> User A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 INVITE Content-Length: 0 F13 INVITE Proxy 1 -> Proxy 2 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="biloxi.com", nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", uri="sip:UserB@biloxi.com", response="f44ab22f150c6a56071bce8" Content-Type: application/sdp Content-Length: 147 Johnston, et al. Informational [Page 34] Internet Draft SIP Call Flow Examples July 2002 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 2 finds its credentials and authorizes User A, forwarding the INVITE to User B. */ F14 100 Trying Proxy 2 -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 INVITE Content-Length: 0 F15 INVITE Proxy 2 -> User B INVITE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 68 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 35] Internet Draft SIP Call Flow Examples July 2002 /* User B answers the call immediately */ F16 200 OK User B -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1 ;received=192.168.156.222 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=9103874 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F17 200 OK Proxy 2 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=9103874 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 Johnston, et al. Informational [Page 36] Internet Draft SIP Call Flow Examples July 2002 a=rtpmap:0 PCMU/8000 F18 200 OK Proxy 1 -> User A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=9103874 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F19 ACK User A -> Proxy 1 ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=9103874 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 ACK Content-Length: 0 F20 ACK Proxy 1 -> Proxy 2 ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=9103874 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 ACK Contact: Johnston, et al. Informational [Page 37] Internet Draft SIP Call Flow Examples July 2002 Content-Length: 0 F21 ACK Proxy 2 -> User A ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 68 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=9103874 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 ACK Contact: Content-Length: 0 Johnston, et al. Informational [Page 38] Internet Draft SIP Call Flow Examples July 2002 3.1.4 Successful SIP to SIP with Proxy failure User A Proxy 1 Proxy 2 User B | | | | | INVITE F1 | | | |--------------->| | | | INVITE F2 | | | |--------------->| | | | INVITE F3 | | | |--------------->| | | | INVITE F4 | | | |--------------->| | | | INVITE F5 | | | |--------------->| | | | INVITE F6 | | | |--------------->| | | | INVITE F7 | | | |--------------->| | | | INVITE F8 | | |-------------------------------->| | | 407 F9 | | |<--------------------------------| | | ACK F10 | | |-------------------------------->| | | INVITE F11 | | |-------------------------------->| INVITE F12 | | 100 F13 |--------------->| |<--------------------------------| | | | 180 F14 | | 180 F15 |<---------------| |<--------------------------------| | | | 200 F16 | | 200 F17 |<---------------| |<--------------------------------| | | ACK F18 | | |-------------------------------->| ACK F19 | | |--------------->| | Both Way RTP Media | |<================================================>| | | BYE F20 | | BYE F21 |<---------------| |<--------------------------------| | | 200 F22 | | |-------------------------------->| 200 F23 | | |--------------->| | | | In this scenario, User A completes a call to User B via a Proxy Server. User A is configured for a primary SIP Proxy Server Proxy 1 and a secondary SIP Proxy Server Proxy 2 (Or is able to use DNS SRV records to locate Proxy 1 and Proxy 2). User A has valid credentials Johnston, et al. Informational [Page 39] Internet Draft SIP Call Flow Examples July 2002 for both domains. Proxy 1 is out of service and does not respond to INVITEs (it is reachable, but unresponsive). User A then completes the call to User B using Proxy 2. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK465bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 INVITE A -> Proxy 1 Same as Message F1 F3 INVITE A -> Proxy 1 Same as Message F1 F4 INVITE A -> Proxy 1 Same as Message F1 F5 INVITE A -> Proxy 1 Same as Message F1 F6 INVITE A -> Proxy 1 Johnston, et al. Informational [Page 40] Internet Draft SIP Call Flow Examples July 2002 Same as Message F1 F7 INVITE A -> Proxy 1 Same as Message F1 /* User A gives up on the unresponsive proxy */ F8 INVITE A -> Proxy 2 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 2 challenges User A for authentication */ F9 407 Proxy Authorization Required Proxy 2 -> User A SIP/2.0 407 Proxy Authorization Required Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=2421452 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 1 INVITE Proxy-Authenticate: Digest realm="biloxi.com", qop="auth", nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", opaque="", stale=FALSE, algorithm=MD5 Content-Length: 0 F10 ACK A -> Proxy 2 Johnston, et al. Informational [Page 41] Internet Draft SIP Call Flow Examples July 2002 ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=2421452 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 1 ACK Content-Length: 0 /* User A responds be re-sending the INVITE with authentication credentials in it. */ F11 INVITE A -> Proxy 2 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 2 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="biloxi.com", nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", opaque="", uri="sip:UserB@biloxi.com", response="8a880c919d1a52f20a1593e228adf599" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 2 accepts the credentials and forwards the INVITE to User B. Client for A prepares to receive data on port 49172 from the network. */ F12 INVITE Proxy 2 -> B INVITE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: Johnston, et al. Informational [Page 42] Internet Draft SIP Call Flow Examples July 2002 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F13 100 Trying Proxy 2 -> User A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 2 INVITE Content-Length: 0 F14 180 Ringing B -> Proxy 2 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 2 INVITE Contact: Content-Length: 0 F15 180 Ringing Proxy 2 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl Johnston, et al. Informational [Page 43] Internet Draft SIP Call Flow Examples July 2002 To: LittleGuy ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 2 INVITE Contact: Content-Length: 0 F16 200 OK B -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F17 200 OK Proxy 2 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 Johnston, et al. Informational [Page 44] Internet Draft SIP Call Flow Examples July 2002 a=rtpmap:0 PCMU/8000 F18 ACK A -> Proxy 2 ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 2 ACK Content-Length: 0 F19 ACK Proxy 2 -> B ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 2 ACK Content-Length: 0 /* RTP streams are established between A and B */ /* User B Hangs Up with User A. */ F20 BYE User B -> Proxy 2 BYE sip:UserA@192.168.100.101 SIP/2.0 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Max-Forwards: 70 Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 1 BYE Content-Length: 0 F21 BYE Proxy 2 -> User A BYE sip:UserA@192.168.100.101 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Johnston, et al. Informational [Page 45] Internet Draft SIP Call Flow Examples July 2002 ;received=192.168.200.201 Max-Forwards: 69 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 1 BYE Content-Length: 0 F22 200 OK User A -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 1 BYE Content-Length: 0 F23 200 OK Proxy 2 -> User B SIP/2.0 200 OK Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ;received=192.168.200.201 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com CSeq: 1 BYE Content-Length: 0 Johnston, et al. Informational [Page 46] Internet Draft SIP Call Flow Examples July 2002 3.1.5 Successful SIP to SIP through SIP ALG User A ALG Proxy 2 User B | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | 100 F3 |--------------->| INVITE F4 | |<---------------| 100 F5 |--------------->| | |<---------------| 180 F6 | | | 180 F7 |<---------------| | 180 F8 |<---------------| | |<---------------| | 200 F9 | | | 200 F10 |<---------------| | 200 F11 |<---------------| | |<---------------| | | ACK F12 | | |--------------->| ACK F13 | | |-------------------------------->| | RTP Media | Both Way RTP Media | |<==============>|<===============================>| | BYE F14 | | |--------------->| BYE F15 | | |-------------------------------->| | | 200 F16 | | 200 F17 |<--------------------------------| |<---------------| | | | | User A completes a call to User B through a ALG (Application Layer Gateway) and a SIP Proxy. The routing through the ALG is accomplished using a pre-loaded Route header in the INVITE F1. Note that the media stream setup is not end-to-end - the ALG terminates both media streams and bridges them. This is done by the ALG modifying the SDP in the INVITE (F1) and 200 OK (F10) messages, and possibly any 18x or ACK messages containing SDP. In addition to firewall traversal, this Back-to-Back User Agent (B2BUA) could be used as part of an anonymizer service (in which all identifying information on User A would be removed), or to perform codec media conversion, such as mu-law to A- law conversion of PCM on an international call. Also note that Proxy 2 does not Record-Route in this call flow. Message Details F1 INVITE A -> SIP ALG INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Johnston, et al. Informational [Page 47] Internet Draft SIP Call Flow Examples July 2002 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Route: Proxy-Authorization: Digest username="UserA", realm="biloxi.com", nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", uri="sip:UserB@biloxi.com", response="b3f392f9218a328b9294076d708e6815" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Client for A prepares to receive data on port 49172 from the network. */ F2 INVITE SIP ALG -> Proxy 2 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="biloxi.com", nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", uri="sip:UserB@biloxi.com", response="b3f392f9218a328b9294076d708e6815" Content-Type: application/sdp Content-Length: 146 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.255.128 t=0 0 m=audio 2000 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 48] Internet Draft SIP Call Flow Examples July 2002 F3 100 Trying SIP ALG -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 /* SIP ALG prepares to proxy data from port 192.168.255.128/2000 to 192.168.100.101/49172. Proxy 2 uses a Location Service function to determine where B is located. Based upon location analysis the call is forwarded to User B */ F4 INVITE Proxy 2 -> B INVITE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 ;received=192.168.255.128 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 68 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 146 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.255.128 t=0 0 m=audio 2000 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F5 100 Trying Proxy 2 -> SIP ALG SIP/2.0 100 Trying Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 ;received=192.168.255.128 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Johnston, et al. Informational [Page 49] Internet Draft SIP Call Flow Examples July 2002 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F6 180 Ringing B -> Proxy 2 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.156.222 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 ;received=192.168.255.128 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F7 180 Ringing Proxy 2 -> SIP ALG SIP/2.0 180 Ringing Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 ;received=192.168.255.128 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F8 180 Ringing SIP ALG -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Johnston, et al. Informational [Page 50] Internet Draft SIP Call Flow Examples July 2002 Contact: Content-Length: 0 F9 200 OK B -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.156.222 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 ;received=192.168.255.128 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F10 200 OK Proxy 2 -> SIP ALG SIP/2.0 200 OK Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 ;received=192.168.255.128 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 Johnston, et al. Informational [Page 51] Internet Draft SIP Call Flow Examples July 2002 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 200 OK SIP ALG -> A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.255.128 t=0 0 m=audio 1734 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* The ALG prepares to proxy packets from 192.168.255.128/ 1734 to 192.168.200.201/3456 */ F12 ACK A -> SIP ALG ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F13 ACK SIP ALG -> B ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Johnston, et al. Informational [Page 52] Internet Draft SIP Call Flow Examples July 2002 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between A and the ALG and between the ALG and B*/ /* User A Hangs Up with User B. */ F14 BYE A -> SIP ALG BYE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 BYE Content-Length: 0 F15 BYE SIP ALG -> B BYE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 BYE Content-Length: 0 F16 200 OK B -> SIP ALG SIP/2.0 200 OK Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 ;received=192.168.255.128 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 53] Internet Draft SIP Call Flow Examples July 2002 F17 200 OK SIP ALG -> A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 54] Internet Draft SIP Call Flow Examples July 2002 3.1.6 Successful SIP to SIP via Redirect and Proxy with SDP in ACK User A Redirect Server Proxy 3 User B | | | | | INVITE F1 | | | |--------------->| | | | 302 F2 | | | |<---------------| | | | ACK F3 | | | |--------------->| | | | INVITE F4 | | |-------------------------------->| INVITE F5 | | 100 F6 |--------------->| |<--------------------------------| 180 F7 | | 180 F8 |<---------------| |<--------------------------------| | | | 200 F9 | | 200 F10 |<---------------| |<--------------------------------| | | ACK F11 | | |-------------------------------->| ACK F12 | | |--------------->| | Both Way RTP Media | |<================================================>| | | BYE F13 | | BYE F14 |<---------------| |<--------------------------------| | | 200 F15 | | |-------------------------------->| 200 F16 | | |--------------->| | | | In this scenario, User A places a call to User B using first a Redirect server then a Proxy Server. The INVITE message is first sent to the Redirect Server. The Server returns a 302 Moved Temporarily response (F2) containing a Contact header with User B's current SIP address. User A then generates a new INVITE and sends to User B via the Proxy Server and the call proceeds normally. In this example, no SDP is present in the INVITE, so the SDP is carried in the ACK message. The call is terminated when User B sends a BYE message. Message Details F1 INVITE A -> Redirect Server INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44 Max-Forwards: 70 Johnston, et al. Informational [Page 55] Internet Draft SIP Call Flow Examples July 2002 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F2 302 Moved Temporarily Redirect Proxy -> A SIP/2.0 302 Moved Temporarily Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=53fHlqlQ2 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: sip:UserB@chicago.com Content-Length: 0 F3 ACK A -> Redirect Server ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=53fHlqlQ2 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F4 INVITE A -> Proxy 3 INVITE sip:UserB@chicago.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Content-Length: 0 F5 INVITE Proxy 3 -> B INVITE sip:UserB@192.168.200.100 SIP/2.0 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Johnston, et al. Informational [Page 56] Internet Draft SIP Call Flow Examples July 2002 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Content-Length: 0 F6 100 Trying Proxy 3 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Content-Length: 0 F7 180 Ringing B -> Proxy 3 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.182.333 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Content-Length: 0 F8 180 Ringing Proxy 3 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Content-Length: 0 Johnston, et al. Informational [Page 57] Internet Draft SIP Call Flow Examples July 2002 F9 200 OK B -> Proxy 3 SIP/2.0 200 OK Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.182.333 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: 146 v=0 o=UserB 2890844527 2890844527 IN IP4 client.chicago.com s=- c=IN IP4 192.168.200.100 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F10 200 OK Proxy -> A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: 146 v=0 o=UserB 2890844527 2890844527 IN IP4 client.chicago.com s=- c=IN IP4 192.168.200.100 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* ACK contains SDP of A since none present in INVITE */ F11 ACK A -> Proxy 3 Johnston, et al. Informational [Page 58] Internet Draft SIP Call Flow Examples July 2002 ACK sip:UserB@192.168.200.100 SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 ACK Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F12 ACK Proxy 3 -> B ACK sip:UserB@111.112.112.114 SIP/2.0 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 ACK Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* RTP streams are established between A and B*/ /* User B Hangs Up with User A. */ F13 BYE B -> Proxy 3 BYE sip:UserA@192.168.100.101 SIP/2.0 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKfgaw2 Max-Forwards: 70 Route: Johnston, et al. Informational [Page 59] Internet Draft SIP Call Flow Examples July 2002 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 BYE Content-Length: 0 F14 BYE Proxy 3 -> A BYE sip:UserA@192.168.100.101 SIP/2.0 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.200.100 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKfgaw2 Max-Forwards: 69 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 BYE Content-Length: 0 F15 200 OK A -> Proxy 3 SIP/2.0 200 OK Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.182.333 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKfgaw2 ;received=192.168.200.100 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 BYE Content-Length: 0 F16 200 OK Proxy 3 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKfgaw2 ;received=192.168.200.100 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 BYE Content-Length: 0 Johnston, et al. Informational [Page 60] Internet Draft SIP Call Flow Examples July 2002 3.1.7 Successful SIP to SIP with re-INVITE (IP Address Change) User A Proxy 2 User B | F1 INVITE | | |------------------->| F2 INVITE | | F3 100 Trying |------------------->| |<-------------------| F4 180 Ringing | | F5 180 Ringing |<-------------------| |<-------------------| | | | F6 200 OK | | F7 200 OK |<-------------------| |<-------------------| | | F8 ACK | |---------------------------------------->| | Both Way RTP Media Established | |<=======================================>| | | | B changes IP address | | | | F9 INVITE | |<----------------------------------------| | F10 200 OK | |---------------------------------------->| | F11 ACK | |<----------------------------------------| | New RTP Media Stream | |<=======================================>| | F12 BYE | |---------------------------------------->| | F25 200 OK | |<----------------------------------------| | | This example shows a session in which the media is changes midway through the session. When User B?s IP address changes during the session, User B sends a re-INVITE containing a new Contact and SDP (version number incremented) information to A. In this flow, the proxy does not Record-Route so is not in the SIP messaging path after the initial exchange. Message Details F1 INVITE A -> Proxy 2 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Johnston, et al. Informational [Page 61] Internet Draft SIP Call Flow Examples July 2002 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 INVITE Proxy 2 -> B INVITE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 100 Trying Proxy 2 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F4 180 Ringing B -> Proxy 2 Johnston, et al. Informational [Page 62] Internet Draft SIP Call Flow Examples July 2002 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.156.222 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F5 180 Ringing Proxy 2 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F6 200 OK B -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.156.222 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 200 OK Proxy 2 -> A Johnston, et al. Informational [Page 63] Internet Draft SIP Call Flow Examples July 2002 SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 ACK A -> B ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between A and B */ /* B changes IP address and re-INVITEs A with new Contact and SDP */ F9 INVITE B -> A INVITE sip:UserA@192.168.100.101 SIP/2.0 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKlkld5l Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 14 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 Johnston, et al. Informational [Page 64] Internet Draft SIP Call Flow Examples July 2002 o=UserB 2890844527 2890844528 IN IP4 client.chicago.com s=- c=IN IP4 192.168.200.100 t=0 0 m=audio 47172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F10 200 OK A ->B SIP/2.0 200 OK Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKlkld5l ;received=192.168.200.100 Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 14 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 1000 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 ACK B -> A ACK sip:UserA@192.168.100.101 SIP/2.0 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKlkld5l Max-Forwards: 70 From: LittleGuy ;tag=314159 To: BigGuy ;tag=9fxced76sl Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 14 ACK Content-Length: 0 /* New RTP stream established between A and B */ /* A hangs up with B */ F12 BYE A -> B BYE sip:UserB@192.168.200.100 SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Johnston, et al. Informational [Page 65] Internet Draft SIP Call Flow Examples July 2002 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 BYE Content-Length: 0 F13 200 OK B -> A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 66] Internet Draft SIP Call Flow Examples July 2002 3.2 Failure Scenarios 3.2.1 Unsuccessful SIP to SIP no answer User A Proxy 1 Proxy 2 User B | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | 100 F3 |--------------->| INVITE F4 | |<---------------| 100 F5 |--------------->| | |<---------------| | | | | 180 F6 | | | 180 F7 |<---------------| | 180 F8 |<---------------| | |<---------------| | | | | | | | CANCEL F9 | | | |--------------->| | | | 200 F10 | | | |<---------------| CANCEL F11 | | | |--------------->| | | | 200 F12 | | | |<---------------| | | | | CANCEL F13 | | | |--------------->| | | | 200 F14 | | | |<---------------| | | | 487 F15 | | | |<---------------| | | | ACK F16 | | | 487 F17 |--------------->| | |<---------------| | | | ACK F18 | | | 487 F19 |--------------->| | |<---------------| | | | ACK F20 | | | |--------------->| | | | | | | In this scenario, User A gives up on the call before User B answers (sends a 200 OK response). User A sends a CANCEL (F9) since no final response had been received from User B. If a 200 OK to the INVITE had crossed with the CANCEL, User A would have sent an ACK then a BYE to User B in order to properly terminate the call. Note that the CANCEL message is acknowledged with a 200 OK on a hop by hop basis, rather than end to end. Johnston, et al. Informational [Page 67] Internet Draft SIP Call Flow Examples July 2002 Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="atlanta.com", nonce="ze7k1ee88df84f1cec431ae6cbe5a359", opaque="", uri="sip:UserB@biloxi.com", response="b00b416324679d7e243f55708d44be7b" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /*Client for A prepares to receive data on port 49172 from the network.*/ F2 INVITE Proxy 1 -> Proxy 2 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- Johnston, et al. Informational [Page 68] Internet Draft SIP Call Flow Examples July 2002 c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 100 Trying Proxy 1 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F4 INVITE Proxy 2 -> B INVITE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.client.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , Max-Forwards: 68 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F5 100 Trying Proxy 2 -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Johnston, et al. Informational [Page 69] Internet Draft SIP Call Flow Examples July 2002 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F6 180 Ringing B -> Proxy 2 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss2.client.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F7 180 Ringing Proxy 2 -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F8 180 Ringing Proxy 1 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Johnston, et al. Informational [Page 70] Internet Draft SIP Call Flow Examples July 2002 Content-Length: 0 F9 CANCEL A -> Proxy 1 CANCEL sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 CANCEL Content-Length: 0 F10 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 CANCEL Content-Length: 0 F11 CANCEL Proxy 1 -> Proxy 2 CANCEL sip:UserA@atlanta.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 CANCEL Content-Length: 0 F12 200 OK Proxy 2 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 CANCEL Content-Length: 0 F13 CANCEL Proxy 2 -> B Johnston, et al. Informational [Page 71] Internet Draft SIP Call Flow Examples July 2002 CANCEL sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 CANCEL Content-Length: 0 F14 200 OK B -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 CANCEL Content-Length: 0 F15 487 Request Terminated B -> Proxy 2 SIP/2.0 487 Request Terminated Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F16 ACK Proxy 2 -> B ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F17 487 Request Terminated Proxy 2 -> Proxy 1 Johnston, et al. Informational [Page 72] Internet Draft SIP Call Flow Examples July 2002 SIP/2.0 487 Request Terminated Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F18 ACK Proxy 1 -> Proxy 2 ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F19 487 Request Terminated Proxy 1 -> A SIP/2.0 487 Request Terminated Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE F20 ACK A -> Proxy 1 ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 73] Internet Draft SIP Call Flow Examples July 2002 3.2.2 Unsuccessful SIP to SIP busy User A Proxy 1 Proxy 2 User B | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | 100 F3 |--------------->| INVITE F4 | |<---------------| 100 F5 |--------------->| | |<---------------| | | | | 486 F6 | | | |<---------------| | | | ACK F7 | | | 486 F8 |--------------->| | |<---------------| | | | ACK F9 | | | 486 F10 |--------------->| | |<---------------| | | | ACK F11 | | | |--------------->| | | | | | | In this scenario, User B is busy and sends a 486 Busy Here response to User A's INVITE. Note that the non-2xx response is acknowleged on a hop-by-hop basis instead of end-to-end. Message Details F1 INVITE User A -> Proxy 1 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="atlanta.com", nonce="dc3a5ab2530aa93112cf5904ba7d88fa", opaque="", uri="sip:UserB@biloxi.com", response="702138b27d869ac8741e10ec643d55be" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 Johnston, et al. Informational [Page 74] Internet Draft SIP Call Flow Examples July 2002 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /*Client for A prepares to receive data on port 49172 from the network.*/ F2 INVITE Proxy 1 -> Proxy 2 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 100 Trying Proxy 1 -> User A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F4 INVITE Proxy 2 -> User B INVITE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Johnston, et al. Informational [Page 75] Internet Draft SIP Call Flow Examples July 2002 Max-Forwards: 68 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F5 100 Trying Proxy 2 -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F6 486 Busy Here User B -> Proxy 2 SIP/2.0 486 Busy Here Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F7 ACK Proxy 2 -> User B ACK sip:UserB@192.168.200.201 SIP/2.0 Johnston, et al. Informational [Page 76] Internet Draft SIP Call Flow Examples July 2002 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F8 486 Busy Here Proxy 2 -> Proxy 1 SIP/2.0 486 Busy Here Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F9 ACK Proxy 1 -> Proxy 2 ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F10 486 Busy Here Proxy 1 -> User A SIP/2.0 486 Busy Here Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F11 ACK User A -> Proxy 1 ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Johnston, et al. Informational [Page 77] Internet Draft SIP Call Flow Examples July 2002 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 78] Internet Draft SIP Call Flow Examples July 2002 3.2.3 Unsuccessful SIP to SIP no response User A Proxy 1 Proxy 2 User B | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | 100 F3 |--------------->| INVITE F4 | |<---------------| 100 F5 |--------------->| | |<---------------| INVITE F6 | | | |--------------->| | | | INVITE F7 | | | |--------------->| | | | INVITE F8 | | | |--------------->| | | | INVITE F9 | | | |--------------->| | | | INVITE F10 | | | |--------------->| | | | INVITE F11 | | | 480 F12 |--------------->| | |<---------------| | | | ACK F13 | | | 480 F14 |--------------->| | |<---------------| | | | ACK F15 | | | |--------------->| | | | | | | In this example, there is no response from User B to User A's INVITE messages being re-transmitted by Proxy 2. After the sixth re- transmission, Proxy 2 gives up and sends a 480 No Response to User A. Message Details F1 INVITE User A -> Proxy 1 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="atlanta.com", nonce="cf5904ba7d8dc3a5ab2530aa931128fa", opaque="", uri="sip:UserB@biloxi.com", response="7afc04be7961f053c24f80e7dbaf888f" Content-Type: application/sdp Johnston, et al. Informational [Page 79] Internet Draft SIP Call Flow Examples July 2002 Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /*Client for A prepares to receive data on port 49172 from the network.*/ F2 INVITE Proxy 1 -> Proxy 2 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 100 Trying Proxy 1 -> User A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F4 INVITE Proxy 2 -> User B Johnston, et al. Informational [Page 80] Internet Draft SIP Call Flow Examples July 2002 INVITE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 68 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F5 100 Trying Proxy 2 -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F6 INVITE Proxy 2 -> User B Resend of Message F4 F7 INVITE Proxy 2 -> User B Resend of Message F4 F8 INVITE Proxy 2 -> User B Johnston, et al. Informational [Page 81] Internet Draft SIP Call Flow Examples July 2002 Resend of Message F4 F9 INVITE Proxy 2 -> User B Resend of Message F4 F10 INVITE Proxy 2 -> User B Resend of Message F4 F11 INVITE Proxy 2 -> User B Resend of Message F4 /* Proxy 2 gives up */ F12 480 No Response Proxy 2 -> Proxy 1 SIP/2.0 480 No Response Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F13 ACK Proxy 1 -> Proxy 2 ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F14 480 No Response Proxy 1 -> User A SIP/2.0 480 No Response Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl Johnston, et al. Informational [Page 82] Internet Draft SIP Call Flow Examples July 2002 To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F15 ACK User A -> Proxy 1 ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 83] Internet Draft SIP Call Flow Examples July 2002 3.2.4 Unsuccessful SIP to SIP Temporarily Unavailable User A Proxy 1 Proxy 2 User B | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | 100 F3 |--------------->| INVITE F4 | |<---------------| 100 F5 |--------------->| | |<---------------| 180 F6 | | | 180 F7 |<---------------| | 180 F8 |<---------------| | |<---------------| | 480 F9 | | | |<---------------| | | | ACK F10 | | | 480 F11 |--------------->| | |<---------------| | | | ACK F12 | | | 480 F13 |--------------->| | |<---------------| | | | ACK F14 | | | |--------------->| | | | | | | In this scenario, User B initially sends a 180 Ringing response to User A, indicating that alerting is taking place. However, then a 480 Unavailable is then sent to User A. This response is acknowledged then proxied back to User A. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="atlanta.com", nonce="aa9311cf5904ba7d8dc3a5ab253028fa", opaque="", uri="sip:UserB@biloxi.com", response="59a46a91bf1646562a4d486c84b399db" Content-Type: application/sdp Content-Length: 147 v=0 Johnston, et al. Informational [Page 84] Internet Draft SIP Call Flow Examples July 2002 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /*Client for A prepares to receive data on port 49172 from the network.*/ F2 INVITE Proxy 1 -> Proxy 2 INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 100 Trying Proxy 1 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F4 INVITE Proxy 2 -> B INVITE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Johnston, et al. Informational [Page 85] Internet Draft SIP Call Flow Examples July 2002 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 68 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F5 100 Trying Proxy 2 -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F6 180 Ringing B -> Proxy 2 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Johnston, et al. Informational [Page 86] Internet Draft SIP Call Flow Examples July 2002 Content-Length: 0 F7 180 Ringing Proxy 2 -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F8 180 Ringing Proxy 1 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: , From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F9 480 Temporarily Unavailable B -> Proxy 2 SIP/2.0 480 Temporarily Unavailable Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 ;received=192.168.156.222 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F10 ACK Proxy 2 -> B ACK sip:UserB@192.168.200.201 SIP/2.0 Johnston, et al. Informational [Page 87] Internet Draft SIP Call Flow Examples July 2002 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F11 480 Temporarily Unavailable Proxy 2 -> Proxy 1 SIP/2.0 480 Temporarily Unavailable Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F12 ACK Proxy 1 -> Proxy 2 ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F13 480 Temporarily Unavailable Proxy 1 -> A SIP/2.0 480 Temporarily Unavailable Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F14 ACK A -> Proxy 1 ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Johnston, et al. Informational [Page 88] Internet Draft SIP Call Flow Examples July 2002 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 89] Internet Draft SIP Call Flow Examples July 2002 4 SIP to Gateway Dialing In the following scenarios, User A (BigGuy sip:UserA@atlanta.com) is a SIP phone or other SIP-enabled device. User B is reachable via the PSTN at global telephone number +19725552222. User A places a call to User B through a Proxy Server Proxy 1 and a Network Gateway. In other scenarios, User A places calls to User C, who is served via a PBX (Private Branch Exchange) and is identified by a private extension 444-3333, or global number +1-918-555-3333. Note that User A uses his/her global telephone number +1-314-555-1111 in the From header in the INVITE messages. This then gives the Gateway the option of using this header to populate the calling party identification field in subsequent signaling (CgPN in ISUP). Left open is the issue of how the Gateway can determine the accuracy of the telephone number, necessary before passing it as a valid CgPN in the PSTN. There is a major difference in the call flows in this section. In- band alerting (ringing tone, busy tone, recorded announcements, etc.) may be present in the PSTN speech path after the receipt of the SS7 Address Complete Message (ACM) which maps to the SIP 180 Ringing response. To establish a two way media path prior to the call being answered (200 OK), a 183 Session Progress response is sent instead of a 180 Ringing. Note that since this 183 response is not sent reliably, it should be periodically resent by the gateway. The same SDP in the 183 should also be present in the 200 OK when the call is answered. 4.1 Success Scenarios In these scenarios, User A is a SIP phone or other SIP-enabled device. User A places a call to User B in the PSTN or User C on a PBX through a Proxy Server and a Gateway. Johnston, et al. Informational [Page 90] Internet Draft SIP Call Flow Examples July 2002 4.1.1 Successful SIP to ISUP PSTN call User A Proxy 1 NGW 1 Switch B | | | | | INVITE F1 | | | |--------------->| | | | 100 F2 | | | |<---------------| INVITE F3 | | | |--------------->| | | | 100 F4 | | | |<---------------| IAM F5 | | | |--------------->| | | | ACM F6 | | | 183 F7 |<---------------| | 183 F8 |<---------------| | |<---------------| | | | Both Way RTP Media | One Way Voice | |<===============================>|<===============| | | | ANM F9 | | | 200 F10 |<---------------| | 200 F11 |<---------------| | |<---------------| | | | ACK F12 | | | |--------------->| ACK F13 | | | |--------------->| | | Both Way RTP Media | Both Way Voice | |<===============================>|<==============>| | BYE F14 | | | |--------------->| BYE F15 | | | |--------------->| | | | 200 F16 | | | 200 F17 |<---------------| REL F18 | |<---------------| |--------------->| | | | RLC F19 | | | |<---------------| | | | | User A dials the globalized E.164 number +19725552222 to reach User B. Note that A might have only dialed the last 7 digits, or some other dialing plan. It is assumed that the SIP User Agent Client converts the digits into a global number and puts them into a SIP URI. Note that tel URIs could be used instead of SIP URIs. User A could use either their SIP address (sip:UserA@atlanta.com) or SIP telephone number (sip:+13145551111@ss1.atlanta.com;user=phone) in the From header. In this example, the telephone number is included, and it is shown as being passed as calling party identification through the Network Gateway (NGW 1) to User B (F5). Note that for this number to be passed into the SS7 network, it would have to be somehow verified for accuracy. Johnston, et al. Informational [Page 91] Internet Draft SIP Call Flow Examples July 2002 In this scenario, User B answers the call then User A disconnects the call. Signaling between NGW 1 and User B's telephone switch is ANSI ISUP. For the details of SIP to ISUP mapping, refer to [SIP-ISUP]. Message Details F1 INVITE A -> Proxy 1 INVITE sip:+19725552222@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="atlanta.com", nonce="dc3a5ab25302aa931904ba7d88fa1cf5", opaque="", uri="sip:+19725552222@ss1.atlanta.com;user=phone", response="ccdca50cb091d587421457305d097458c" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 100 Trying Proxy 1 -> User A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 /* Proxy 1 uses a Location Service function to determine the gateway for terminating this call. The call is forwarded to NGW 1. Client for A prepares to receive data on port 49172 from the Johnston, et al. Informational [Page 92] Internet Draft SIP Call Flow Examples July 2002 network.*/ F3 INVITE Proxy 1 -> NGW 1 INVITE sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 100 Trying NGW 1 -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F5 IAM NGW 1 -> User B IAM CdPN=972-555-2222,NPI=E.164,NOA=National CgPN=314-555-1111,NPI=E.164,NOA=National F6 ACM User B -> NGW 1 ACM Johnston, et al. Informational [Page 93] Internet Draft SIP Call Flow Examples July 2002 F7 183 Session Progress NGW 1 -> Proxy 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* NGW 1 sends PSTN audio (ringing) in the RTP path to A */ F8 183 Session Progress Proxy 1 -> User A SIP/2.0 183 Session Progress Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 Johnston, et al. Informational [Page 94] Internet Draft SIP Call Flow Examples July 2002 a=rtpmap:0 PCMU/8000 F9 ANM User B -> NGW 1 ANM F10 200 OK NGW 1 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 200 OK Proxy 1 -> User A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 Johnston, et al. Informational [Page 95] Internet Draft SIP Call Flow Examples July 2002 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F12 ACK A -> Proxy 1 ACK sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F13 ACK Proxy 1 -> NGW 1 ACK sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 /* User A Hangs Up with User B. */ F14 BYE A -> Proxy 1 BYE sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Johnston, et al. Informational [Page 96] Internet Draft SIP Call Flow Examples July 2002 CSeq: 2 BYE Content-Length: 0 F15 BYE Proxy 1 -> NGW 1 BYE sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 BYE Content-Length: 0 F16 200 OK NGW 1 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 BYE Content-Length: 0 F17 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 BYE Content-Length: 0 F18 REL NGW 1 -> B Johnston, et al. Informational [Page 97] Internet Draft SIP Call Flow Examples July 2002 REL CauseCode=16 Normal F19 RLC B -> NGW 1 RLC Johnston, et al. Informational [Page 98] Internet Draft SIP Call Flow Examples July 2002 4.1.2 Successful SIP to ISDN PBX call User A Proxy 1 GW 1 PBX C | | | | | INVITE F1 | | | |--------------->| | | | 100 F2 | | | |<---------------| INVITE F3 | | | |--------------->| | | | 100 F4 | | | |<---------------| SETUP F5 | | | |--------------->| | | | CALL PROC F6 | | | |<---------------| | | | PROGress F7 | | | 180 F8 |<---------------| | 180 F9 |<---------------| | |<---------------| | | | | | One Way Voice | | | |<===============| | | | CONNect F10 | | | |<---------------| | | | CONNect ACK F11| | | 200 F12 |--------------->| | 200 F13 |<---------------| | |<---------------| | | | ACK F14 | | | |--------------->| ACK F15 | | | |--------------->| | | Both Way RTP Media | Both Way Voice | |<===============================>|<==============>| | BYE F16 | | | |--------------->| BYE F17 | | | |--------------->| | | | 200 F18 | | | 200 F19 |<---------------| DISConnect F20 | |<---------------| |--------------->| | | | RELease F21 | | | |<---------------| | | | RELease COM F22| | | |--------------->| | | | | User A is a SIP device while User C is connected via a Gateway (GW 1) to a PBX. The PBX connection is via a ISDN trunk group. User A dials User C's telephone number (918-555-3333) which is globalized and put into a SIP URI. The host portion of the Request-URI in the INVITE F3 is used to identify the context (customer, trunk group, or line) in which the private number 444-3333 is valid. Otherwise, this INVITE message could get forwarded by GW 1 and the context of the digits could Johnston, et al. Informational [Page 99] Internet Draft SIP Call Flow Examples July 2002 become lost and the call unroutable. Proxy 1 looks up the telephone number and locates the gateway that serves User C. User C is identified by its extension (444-3333) in the Request-URI sent to GW 1. Message Details F1 INVITE A -> Proxy 1 INVITE sip:+19185553333@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: OtherGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="atlanta.com", nonce="qo0dc3a5ab22aa931904badfa1cf5j9h", opaque="", uri="sip:+19185553333@ss1.atlanta.com;user=phone", response="6c792f5c9fa360358b93c7fb826bf550" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 100 Trying Proxy 1 -> User A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: OtherGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Content-Length: 0 F3 INVITE Proxy 1 -> GW 1 Johnston, et al. Informational [Page 100] Internet Draft SIP Call Flow Examples July 2002 INVITE sip:4443333@gw1.atlanta.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: OtherGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 100 Trying GW -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 From: BigGuy ;tag=9fxced76sl To: OtherGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Content-Length: 0 F5 SETUP GW 1 -> User C Protocol discriminator=Q.931 Message type=SETUP Bearer capability: Information transfer capability=0 (Speech) or 16 (3.1 kHz audio) Channel identification=Preferred or exclusive B-channel Progress indicator=1 (Call is not end-to-end ISDN;further call progress information may be available inband) Called party number: Type of number unknown Digits=444-3333 F6 CALL PROCeeding User C -> GW 1 Johnston, et al. Informational [Page 101] Internet Draft SIP Call Flow Examples July 2002 Protocol discriminator=Q.931 Message type=CALL PROC Channel identification=Exclusive B-channel F7 PROGress User C -> GW 1 Protocol discriminator=Q.931 Message type=PROG Progress indicator=1 (Call is not end-to-end ISDN;further call progress information may be available inband) F8 180 Ringing GW 1 -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: OtherGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Content-Length: 0 F9 180 Ringing Proxy 1 -> User A SIP/2.0 180 Ringing Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: OtherGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Content-Length: 0 F10 CONNect User C -> GW 1 Protocol discriminator=Q.931 Message type=CONN Johnston, et al. Informational [Page 102] Internet Draft SIP Call Flow Examples July 2002 F11 CONNect ACK GW 1 -> User C Protocol discriminator=Q.931 Message type=CONN ACK F12 200 OK GW 1 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: OtherGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: 140 v=0 o=GW 2890844527 2890844527 IN IP4 gw1.atlanta.com s=- c=IN IP4 192.168.255.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F13 200 OK Proxy 1 -> User A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: OtherGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 INVITE Contact: Content-Type: application/sdp Content-Length: 140 v=0 o=GW 2890844527 2890844527 IN IP4 gw1.atlanta.com Johnston, et al. Informational [Page 103] Internet Draft SIP Call Flow Examples July 2002 s=- c=IN IP4 192.168.255.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F14 ACK A -> Proxy 1 ACK sip:4443333@gw1.atlanta.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: OtherGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 ACK Content-Length: 0 F15 ACK Proxy 1 -> GW 1 ACK sip:4443333@gw1.atlanta.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 From: BigGuy ;tag=9fxced76sl To: OtherGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 ACK Content-Length: 0 /* User A Hangs Up with User B. */ F16 BYE A -> Proxy 1 BYE sip:4443333@gw1.atlanta.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: OtherGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 BYE Johnston, et al. Informational [Page 104] Internet Draft SIP Call Flow Examples July 2002 Content-Length: 0 F17 BYE Proxy 1 -> GW 1 BYE sip:4443333@gw1.atlanta.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 From: BigGuy ;tag=9fxced76sl To: OtherGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 BYE Content-Length: 0 F18 200 OK GW 1 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: OtherGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 BYE Content-Length: 0 F19 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: OtherGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 3 BYE Content-Length: 0 F20 DISConnect GW 1 -> User C Protocol discriminator=Q.931 Johnston, et al. Informational [Page 105] Internet Draft SIP Call Flow Examples July 2002 Message type=DISC Cause=16 (Normal clearing) F21 RELease User C -> GW 1 Protocol discriminator=Q.931 Message type=REL F22 RELease COMplete GW 1 -> User C Protocol discriminator=Q.931 Message type=REL COM Johnston, et al. Informational [Page 106] Internet Draft SIP Call Flow Examples July 2002 4.1.3 Successful SIP to ISUP PSTN call with overflow User A Proxy 1 NGW 1 NGW 2 Switch B | | | | | | INVITE F1 | | | | |------------->| | | | | | INVITE F2 | | | | 100 F3 |------------->| | | |<-------------| 503 F4 | | | | |<-------------| | | | | ACK F5 | | | | |------------->| | | | | INVITE F6 | | | |---------------------------->| IAM F7 | | | |------------->| | | | ACM F8 | | | 183 F9 |<-------------| | 183 F10 |<----------------------------| | |<-------------| | | | Two Way RTP Media | One Way Voice| |<==========================================>|<=============| | | | ANM F11 | | | 200 F12 |<-------------| | 200 F13 |<----------------------------| | |<-------------| | | | ACK F14 | | | |------------->| ACK F15 | | | |---------------------------->| | | Both Way RTP Media |Both Way Voice| |<==========================================>|<============>| | BYE F16 | | | |------------->| BYE F17 | | | |---------------------------->| | | | 200 F18 | | | 200 F19 |<----------------------------| REL F20 | |<-------------| |------------->| | | | RLC F21 | | | |<-------------| | | | | User A calls User B through Proxy 1. Proxy 1 tries to route to a Network Gateway NGW 1. NGW 1 is not available and responds with a 503 Service Unavailable (F4). The call is then routed to Network Gateway NGW 2. User B answers the call. The call is terminated when User A disconnects the call. NGW 2 and User B's telephone switch use ANSI ISUP signaling. Message Details F1 INVITE A -> Proxy 1 Johnston, et al. Informational [Page 107] Internet Draft SIP Call Flow Examples July 2002 INVITE sip:+19725552222@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="atlanta.com", nonce="b59311c3ba05b401cf80b2a2c5ac51b0", opaque="", uri="sip:+19725552222@ss1.atlanta.com;user=phone", response="ba6ab44923fa2614b28e3e3957789ab0" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a Location Service function to determine where B is located. Proxy 1 receives a primary route NGW 1 and a secondary route NGW 2. NGW 1 is tried first */ F2 INVITE Proxy 1 -> NGW 1 INVITE sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 Johnston, et al. Informational [Page 108] Internet Draft SIP Call Flow Examples July 2002 a=rtpmap:0 PCMU/8000 F3 100 Trying Proxy 1 -> User A SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F4 503 Service Unavailable NGW 1 -> Proxy 1 SIP/2.0 503 Service Unavailable Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=123456789 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F5 ACK Proxy 1 -> NGW 1 ACK sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;user=phone> ;tag=123456789 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 /* Proxy 1 now tries secondary route to NGW 2 */ F6 INVITE Proxy 1 -> NGW 2 Johnston, et al. Informational [Page 109] Internet Draft SIP Call Flow Examples July 2002 INVITE sip:+19725552222@ngw2.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.2 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 IAM NGW 2 -> User B IAM CdPN=972-555-2222,NPI=E.164,NOA=National CgPN=314-555-1111,NPI=E.164,NOA=National F8 ACM User B -> NGW 2 ACM F9 183 Session Progress NGW 2 -> Proxy 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.2 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Johnston, et al. Informational [Page 110] Internet Draft SIP Call Flow Examples July 2002 Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw2.atlanta.com s=- c=IN IP4 192.168.255.102 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* RTP packets are sent by GW to A for audio (e.g. ring tone) */ F10 183 Session Progress Proxy 1 -> User A SIP/2.0 183 Session Progress Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw2.atlanta.com s=- c=IN IP4 192.168.255.102 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 ANM User B -> NGW 2 ANM F12 200 OK NGW 2 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.2 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: Johnston, et al. Informational [Page 111] Internet Draft SIP Call Flow Examples July 2002 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw2.atlanta.com s=- c=IN IP4 192.168.255.102 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F13 200 OK Proxy 1 -> User A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw2.atlanta.com s=- c=IN IP4 192.168.255.102 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F14 ACK A -> Proxy 1 ACK sip:+19725552222@ngw2.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl Johnston, et al. Informational [Page 112] Internet Draft SIP Call Flow Examples July 2002 To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F15 ACK Proxy 1 -> NGW 2 ACK sip:+19725552222@ngw2.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.2 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between A and B(via the GW) */ /* User A Hangs Up with User B. */ F16 BYE A -> Proxy 1 BYE sip:+19725552222@ngw2.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 BYE Content-Length: 0 F17 BYE Proxy 1 -> NGW 2 BYE sip:+19725552222@ngw2.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.2 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 From: BigGuy ;tag=9fxced76sl To: LittleGuy Johnston, et al. Informational [Page 113] Internet Draft SIP Call Flow Examples July 2002 ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 BYE Content-Length: 0 F18 200 OK NGW 2 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.2 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 BYE Content-Length: 0 F19 200 OK Proxy 1 -> User A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 2 BYE Content-Length: 0 F20 REL NGW 2 -> B REL CauseCode=16 Normal F21 RLC B -> NGW 2 RLC Johnston, et al. Informational [Page 114] Internet Draft SIP Call Flow Examples July 2002 4.2 Failure Scenarios In these failure scenarios, the call does not complete. In most cases, however, a media stream is still setup. This is due to the fact that most failures in dialing to the PSTN result in in-band tones (busy, reorder tones or announcements - "The number you have dialed has changed. The new number is..."). The 183 Session Progress response containing SDP media information is used to setup this early media path so that the caller User A knows the final disposition of the call. The media stream is either terminated by the caller after the tone or announcement has been heard and understood, or by the Gateway after a timer expires. In other failure scenarios, a SS7 Release with Cause Code is mapped to a SIP response. In these scenarios, the early media path is not used, but the actual failure code is conveyed to the caller by the SIP User Agent Client. Johnston, et al. Informational [Page 115] Internet Draft SIP Call Flow Examples July 2002 4.2.1 Unsuccessful SIP to PSTN call: Treatment from PSTN User A Proxy 1 NGW 1 User B | | | | | INVITE F1 | | | |--------------->| | | | 100 F2 | | | |<---------------| INVITE F3 | | | |--------------->| | | | 100 F4 | | | |<---------------| IAM F5 | | | |--------------->| | | | ACM F6 | | | 183 F7 |<---------------| | 183 F8 |<---------------| | |<---------------| | | | Two Way RTP Media | One Way Voice | |<===============================>|<===============| | Treatment Applied | |<=================================================| | CANCEL F9 | | | |--------------->| | | | 200 F10 | | | |<---------------| CANCEL F11 | | | |--------------->| | | | 200 F12 | | | |<---------------| REL F13 | | | |--------------->| | | | RLC F14 | | | 487 F15 |<---------------| | |<---------------| | | | ACK F16 | | | 487 F17 |--------------->| | |<---------------| | | | ACK F18 | | | |--------------->| | | | | | | User A calls User B in the PSTN through a proxy server Proxy 1 and a Network Gateway NGW 1. The call is rejected by the PSTN with an in- band treatment (tone or recording) played. User A hears the treatment and then hangs up, which results in a CANCEL (F9) being sent to terminate the call. (A BYE is not sent since no final response was ever received by User A.) Message Details F1 INVITE A -> Proxy 1 INVITE sip:+19725552222@ss1.atlanta.com;user=phone SIP/2.0 Johnston, et al. Informational [Page 116] Internet Draft SIP Call Flow Examples July 2002 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="atlanta.com", nonce="01cf8311c3b0b2a2c5ac51bb59a05b40", opaque="", uri="sip:+19725552222@ss1.atlanta.com;user=phone", response="e178fbe430e6680a1690261af8831f40" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 100 Trying Proxy 1 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 /* Proxy 1 uses a Location Service function to determine where B is located. Based upon location analysis the call is forwarded to NGW 1. Client for A prepares to receive data on port 49172 from the network. */ F3 INVITE Proxy 1 -> NGW 1 INVITE sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl Johnston, et al. Informational [Page 117] Internet Draft SIP Call Flow Examples July 2002 To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 100 Trying NGW 1 -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F5 IAM NGW 1 -> User B IAM CdPN=972-555-2222,NPI=E.164,NOA=National CgPN=314-555-1111,NPI=E.164,NOA=National F6 ACM User B -> NGW 1 ACM F7 183 Session Progress NGW 1 -> Proxy 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy Johnston, et al. Informational [Page 118] Internet Draft SIP Call Flow Examples July 2002 ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 183 Session Progress Proxy 1 -> User A SIP/2.0 183 Session Progress Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Caller hears the recorded announcement, then hangs up */ F9 CANCEL A -> Proxy 1 CANCEL sip:+19725552222@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl Johnston, et al. Informational [Page 119] Internet Draft SIP Call Flow Examples July 2002 To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 CANCEL Content-Length: 0 F10 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 CANCEL Content-Length: 0 F11 CANCEL Proxy 1 -> NGW 1 CANCEL sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 CANCEL Content-Length: 0 F12 200 OK NGW 1 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 CANCEL Content-Length: 0 F13 REL NGW 1 -> B REL CauseCode=18 No user responding F14 RLC B -> NGW 1 Johnston, et al. Informational [Page 120] Internet Draft SIP Call Flow Examples July 2002 RLC F15 487 Request Terminated NGW 1 -> Proxy 1 SIP/2.0 487 Request Terminated Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F16 ACK Proxy 1 -> NGW 1 ACK sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F17 487 Request Terminated Proxy 1 -> A SIP/2.0 487 Request Terminated Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F18 ACK A -> Proxy 1 ACK sip:+19725552222@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Johnston, et al. Informational [Page 121] Internet Draft SIP Call Flow Examples July 2002 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 122] Internet Draft SIP Call Flow Examples July 2002 4.2.2 Unsuccessful SIP to PSTN: REL w/Cause from PSTN User A Proxy 1 NGW 1 Switch B | | | | | INVITE F1 | | | |--------------->| | | | 100 F2 | | | |<---------------| INVITE F3 | | | |--------------->| | | | 100 F4 | | | |<---------------| IAM F5 | | | |--------------->| | | | REL(1) F6 | | | |<---------------| | | | RLC F7 | | | 404 F8 |--------------->| | |<---------------| | | | ACK F9 | | | |--------------->| | | 404 F10 | | | |<---------------| | | | ACK F11 | | | |--------------->| | | | | | | User A calls PSTN User B through a Proxy Server Proxy 1 and a Network Gateway NGW 1. The call is rejected by the PSTN with a ANSI ISUP Release message REL containing a specific Cause code. This cause value (1) is mapped by the Gateway to a SIP 404 Address Incomplete response which is proxied back to User A. For more details of ISUP cause value to SIP responses refer to [SIP-ISUP]. Message Details F1 INVITE A -> Proxy 1 INVITE sip:+44-1234@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Proxy-Authorization: Digest username="UserA", realm="atlanta.com", nonce="j1c3b0b01cf832da2c5ac51bb59a05b40", opaque="", uri="sip:+44-1234@ss1.atlanta.com;user=phone", response="a451358d46b55512863efe1dccaa2f42" Content-Type: application/sdp Johnston, et al. Informational [Page 123] Internet Draft SIP Call Flow Examples July 2002 Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 100 Trying Proxy 1 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 /* Proxy 1 uses a Location Service function to determine where B is located. Based upon location analysis the call is forwarded to NGW1. Client for A prepares to receive data on port 49172 from the network. */ F3 INVITE Proxy 1 -> NGW 1 INVITE sip:+44-1234@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 Johnston, et al. Informational [Page 124] Internet Draft SIP Call Flow Examples July 2002 a=rtpmap:0 PCMU/8000 F4 100 Trying NGW 1 -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F5 IAM NGW 1 -> User B IAM CdPN=44-1234,NPI=E.164,NOA=International CgPN=314-555-1111,NPI=E.164,NOA=National F6 REL User B -> NGW 1 REL CauseValue=1 Unallocated number F7 RLC NGW 1 -> User B RLC /* Network Gateway maps CauseValue=1 to the SIP message 404 Not Found */ F8 404 Not Found NGW 1 -> Proxy 1 SIP/2.0 404 Not Found Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Error-Info: Johnston, et al. Informational [Page 125] Internet Draft SIP Call Flow Examples July 2002 Content-Length: 0 F9 ACK Proxy 1 -> NGW 1 ACK sip:+44-1234@ngw1.atlanta.com;user=phone SIP/2.0 Max-Forwards: 70 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F10 404 Not Found Proxy 1 -> User A SIP/2.0 404 Not Found Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Error-Info: Content-Length: 0 F11 ACK User A -> Proxy 1 ACK sip:+44-1234@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 126] Internet Draft SIP Call Flow Examples July 2002 4.2.3 Unsuccessful SIP to PSTN: ANM Timeout User A Proxy 1 NGW 1 Switch B | | | | | INVITE F1 | | | |--------------->| | | | 100 F2 | | | |<---------------| INVITE F3 | | | |--------------->| | | | 100 F4 | | | |<---------------| IAM F5 | | | |--------------->| | | | ACM F6 | | | 183 F7 |<---------------| | 183 F8 |<---------------| | |<---------------| | | | | Timer on NGW 1 Expires | | | | | | | | REL F9 | | | |--------------->| | | | RLC F10 | | | 480 F11 |<---------------| | |<---------------| | | | ACK F12 | | | |--------------->| | | 480 F13 | | | |<---------------| | | | ACK F14 | | | |--------------->| | | User A calls User B in the PSTN through a proxy server Proxy 1 and Network Gateway NGW 1. The call is released by the Gateway after a timer expires due to no ANswer Message (ANM) being received. The Gateway sends an ISUP Release REL message to the PSTN and a 480 Temporarily Unavailable response to User A in the SIP network. Message Details F1 INVITE A -> Proxy 1 INVITE sip:+19725552222@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Proxy-Authorization: Digest username="UserA", Johnston, et al. Informational [Page 127] Internet Draft SIP Call Flow Examples July 2002 realm="atlanta.com", nonce="da2c5ac51bb59a05j1c3b0b01cf832b40", opaque="", uri="sip:+19725552222@ss1.atlanta.com;user=phone", response="579cb9db184cdc25bf816f37cbc03c7d" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a Location Service function to determine where B is located. Based upon location analysis the call is forwarded to NGW 1. Client for A prepares to receive data on port 49172 from the network.*/ F2 100 Trying Proxy 1 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F3 INVITE Proxy 1 -> NGW 1 INVITE sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Max-Forwards: 69 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com Johnston, et al. Informational [Page 128] Internet Draft SIP Call Flow Examples July 2002 s=- c=IN IP4 192.168.100.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 100 Trying NGW 1 -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Content-Length: 0 F5 IAM NGW 1 -> User B IAM CdPN=972-555-2222,NPI=E.164,NOA=National CgPN=314-555-1111,NPI=E.164,NOA=National F6 ACM User B -> NGW 1 ACM F7 183 Session Progress NGW 1 -> Proxy 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 Johnston, et al. Informational [Page 129] Internet Draft SIP Call Flow Examples July 2002 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 183 Session Progress Proxy 1 -> User A SIP/2.0 183 Session Progress Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 Record-Route: From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* After NGW 1's timer expires, Network Gateway sends REL to ISUP network and 480 to SIP network */ F9 REL NGW 1 -> User B REL CauseCode=18 No user responding F10 RLC User B -> NGW 1 RLC F11 480 Temporarily Unavailable NGW 1 -> Proxy 1 SIP/2.0 480 Temporarily Unavailable Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Johnston, et al. Informational [Page 130] Internet Draft SIP Call Flow Examples July 2002 ;received=192.168.255.111 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Error-Info: Content-Length: 0 F12 ACK Proxy 1 -> NGW 1 ACK sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Max-Forwards: 70 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 ACK Content-Length: 0 F13 480 Temporarily Unavailable F13 Proxy 1 -> User A SIP/2.0 480 Temporarily Unavailable Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ;received=192.168.100.101 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com CSeq: 1 INVITE Error-Info: Content-Length: 0 F14 ACK User A -> Proxy 1 ACK sip:+19725552222@ss1.atlanta.com;user=phone SIP/2.0 Max-Forwards: 70 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 From: BigGuy ;tag=9fxced76sl To: LittleGuy ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Johnston, et al. Informational [Page 131] Internet Draft SIP Call Flow Examples July 2002 CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 132] Internet Draft SIP Call Flow Examples July 2002 5 Gateway to SIP Dialing 5.1 Success Scenarios In these scenarios, User A is placing calls from the PSTN to User B in a SIP network. User A's telephone switch signals to a Network Gateway (NGW 1) using ANSI ISUP. Since the called SIP User Agent does not send in-band signaling information, no early media path needs to be established on the IP side. As a result, the 183 Session Progress response is not used. However, NGW 1 will establish a one way speech path prior to call completion, and generate ringing for the PSTN caller. Any tones or recordings are generated by NGW 1 and played in this speech path. When the call completes successfully, NGW 1 bridges the PSTN speech path with the IP media path. To reduce the number of messages, only a single proxy server is shown in these flows, which means that the atlanta.com proxy server has access to the biloxi.com location service. Johnston, et al. Informational [Page 133] Internet Draft SIP Call Flow Examples July 2002 5.1.1 Successful PSTN to SIP call Switch A NGW 1 Proxy 1 User B | | | | | IAM F1 | | | |--------------->| INVITE F2 | | | |--------------->| INVITE F3 | | | 100 F4 |--------------->| | |<---------------| | | | | 180 F5 | | | 180 F6 |<---------------| | ACM F7 |<---------------| | |<---------------| | | | One Way Voice | | | |<===============| | | | Ringing Tone | | 200 F8 | |<===============| 200 F9 |<---------------| | |<---------------| | | | ACK F10 | | | ANM F12 |--------------->| ACK F11 | |<---------------| |--------------->| | Both Way Voice | Both Way RTP Media | |<==============>|<===============================>| | REL F13 | | | |--------------->| | | | RLC F14 | | | |<---------------| BYE F15 | | | |--------------->| BYE F16 | | | |--------------->| | | | 200 F17 | | | 200 F18 |<---------------| | |<---------------| | | | | | In this scenario, User A from the PSTN calls User B through a Network Gateway NGW1 and Proxy Server Proxy 1. When User B answers the call the media path is setup end-to-end. The call terminates when User A hangs up the call, with User A's telephone switch sending an ISUP RELease message which is mapped to a BYE by NGW 1. Message Details F1 IAM User A -> NGW 1 IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=972-555-2222,NPI=E.164,NOA=National F2 INVITE A -> Proxy 1 Johnston, et al. Informational [Page 134] Internet Draft SIP Call Flow Examples July 2002 INVITE sip:+19725552222@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a Location Service function to determine where B is located. Based upon location analysis the call is forwarded to NGW 1. NGW 1 prepares to receive data on port 3456 from User A.*/ F3 INVITE Proxy 1 -> User B INVITE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Max-Forwards: 69 Record-Route: From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 100 Trying User B -> Proxy 1 SIP/2.0 100 Trying Johnston, et al. Informational [Page 135] Internet Draft SIP Call Flow Examples July 2002 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 F5 180 Ringing User B -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Record-Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F6 180 Ringing Proxy 1 -> NGW 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Record-Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F7 ACM NGW 1 -> User A ACM F8 200 OK User B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Johnston, et al. Informational [Page 136] Internet Draft SIP Call Flow Examples July 2002 ;received=192.168.255.101 Record-Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com Contact: CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F9 200 OK Proxy 1 -> NGW 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Record-Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F10 ACK NGW 1 -> Proxy 1 ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 ACK Johnston, et al. Informational [Page 137] Internet Draft SIP Call Flow Examples July 2002 Content-Length: 0 F11 ACK Proxy 1 -> User B ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Max-Forwards: 69 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 ACK Content-Length: 0 F12 ANM User B -> NGW 1 ANM /* RTP streams are established between A and B (via the GW) */ /* User A Hangs Up with User B. */ F13 REL User A -> NGW 1 REL CauseCode=16 Normal F14 RLC NGW 1 -> User A RLC F15 BYE NGW 1-> Proxy 1 BYE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 2 BYE Content-Length: 0 F16 BYE Proxy 1 -> User B Johnston, et al. Informational [Page 138] Internet Draft SIP Call Flow Examples July 2002 BYE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Max-Forwards: 69 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 2 BYE Content-Length: 0 F17 200 OK User B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 2 BYE Content-Length: 0 F18 200 OK Proxy 1 -> NGW 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 139] Internet Draft SIP Call Flow Examples July 2002 5.1.2 Successful PSTN to SIP call, Fast Answer Switch A NGW 1 Proxy 1 User B | | | | | IAM F1 | | | |--------------->| INVITE F2 | | | |--------------->| INVITE F3 | | | 100 F4 |--------------->| | |<---------------| | | | | 200 F5 | | | 200 F6 |<---------------| | |<---------------| | | | ACK F7 | | | ANM F9 |--------------->| ACK F8 | |<---------------| |--------------->| | Both Way Voice | Both Way RTP Media | |<==============>|<===============================>| | REL F10 | | | |--------------->| | | | RLC F11 | | | |<---------------| BYE F12 | | | |--------------->| BYE F13 | | | |--------------->| | | | 200 F14 | | | 200 F15 |<---------------| | |<---------------| | | | | | This "fast answer" scenario is similar to 5.1.1 except that User B immediately accepts the call, sending a 200 OK (F5) without sending a 180 Ringing response. The Gateway then sends an Answer Message (ANM) without sending an Address Complete Message (ACM). Note that for ETSI and some other ISUP variants, a CONnect message (CON) would be sent instead of the ANM. Message Details F1 IAM User A -> NGW 1 IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=972-555-2222,NPI=E.164,NOA=National F2 INVITE NGW 1 -> Proxy 1 INVITE sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=7643kals To: Johnston, et al. Informational [Page 140] Internet Draft SIP Call Flow Examples July 2002 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a Location Service function to determine where B is located. Based upon location analysis the call is forwarded to User B. User B prepares to receive data on port 3456 from User A.*/ F3 INVITE Proxy 1 -> User B INVITE UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Max-Forwards: 69 Record-Route: From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 100 Trying Proxy 1 -> NGW 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.201 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com Johnston, et al. Informational [Page 141] Internet Draft SIP Call Flow Examples July 2002 CSeq: 1 INVITE Content-Length: 0 F5 200 OK User B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Record-Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F6 200 OK Proxy 1 -> NGW 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Record-Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 142] Internet Draft SIP Call Flow Examples July 2002 F7 ACK NGW 1 -> Proxy 1 ACK UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 ACK Content-Length: 0 F8 ACK Proxy 1 -> User B ACK UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=130.131.132.14 Max-Forwards: 69 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 ACK Content-Length: 0 F9 ANM User B -> NGW 1 ANM /* RTP streams are established between A and B (via the GW) */ /* User A Hangs Up with User B. */ F10 REL ser A -> NGW 1 REL CauseCode=16 Normal F11 RLC NGW 1 -> User A RLC F12 BYE NGW 1 -> Proxy 1 BYE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 Johnston, et al. Informational [Page 143] Internet Draft SIP Call Flow Examples July 2002 Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 2 BYE Content-Length: 0 F13 BYE Proxy 1 -> User B BYE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Max-Forwards: 69 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 2 BYE Content-Length: 0 F14 200 OK User B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 2 BYE Content-Length: 0 F15 200 OK Proxy 1 -> NGW 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 144] Internet Draft SIP Call Flow Examples July 2002 5.1.3 Successful PBX to SIP call PBX A GW 1 Proxy 1 User B | | | | | Seizure | | | |--------------->| | | | Wink | | | |<---------------| | | | MF Digits F1 | | | |--------------->| INVITE F2 | | | |--------------->| INVITE F3 | | | 100 F4 |--------------->| | |<---------------| | | | | 180 F5 | | | 180 F6 |<---------------| | |<---------------| | | One Way Voice | | | |<===============| | | | Ringing Tone | | 200 F7 | |<===============| 200 F8 |<---------------| | |<---------------| | | | ACK F9 | | | Seizure |--------------->| ACK F10 | |<---------------| |--------------->| | Both Way Voice | Both Way RTP Media | |<==============>|<===============================>| | Seizure Removal| | | |--------------->| | | | Seizure Removal| | | |<---------------| BYE F11 | | | |--------------->| BYE F12 | | | |--------------->| | | | 200 F13 | | | 200 F14 |<---------------| | |<---------------| | | | | | In this scenario, User A dials from PBX A to User B through GW 1 and Proxy 1. This is an example of a call that appears destined for the PSTN but instead is routed to a SIP Client. Signaling between PBX A and GW 1 is Feature Group B (FGB) circuit associated signaling, in-band Mult-Frequency (MF) outpulsing. After the receipt of the 180 Ringing from User B, GW 1 generates ringing tone for User A. User B answers the call by sending a 200 OK. The call terminates when User A hangs up, causing GW1 to send a BYE. The Gateway can only identify the trunk group that the call came in on, it cannot identify the individual line on PBX A that is placing the call. The SIP URI used to identify the caller is Johnston, et al. Informational [Page 145] Internet Draft SIP Call Flow Examples July 2002 shown in these flows as sip:551313@gw1.atlanta.com. Message Details PBX A -> GW 1 Seizure GW 1 -> PBX A Wink F1 MF Digits PBX A -> GW 1 KP 1 972 555 2222 ST F2 INVITE GW 1 -> Proxy 1 INVITE sip:+19725552222@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 Max-Forwards: 70 From: ;tag=jwdkallkzm To: Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a Location Service function to determine where the phone number +19725552222 is located. Based upon location analysis the call is forwarded to SIP User B. */ F3 INVITE Proxy 1 -> User B INVITE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Johnston, et al. Informational [Page 146] Internet Draft SIP Call Flow Examples July 2002 Max-Forwards: 69 Record-Route: From: ;tag=jwdkallkzm To: Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 gw1.atlanta.com s=- c=IN IP4 192.168.255.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 100 Trying Proxy 1 -> GW 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.201 From: ;tag=jwdkallkzm To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 F5 180 Ringing User B -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.201 Record-Route: From: ;tag=jwdkallkzm To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F6 180 Ringing Proxy 1 -> GW 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Johnston, et al. Informational [Page 147] Internet Draft SIP Call Flow Examples July 2002 Record-Route: From: ;tag=jwdkallkzm To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 /* One way Voice path is established between GW and the PBX for ringing. */ F7 200 OK User B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Record-Route: From: ;tag=jwdkallkzm To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com Contact: CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 145 v=0 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 200 OK Proxy 1 -> GW 1 SIP/2.0 200 OK Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Record-Route: From: ;tag=jwdkallkzm To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 145 v=0 Johnston, et al. Informational [Page 148] Internet Draft SIP Call Flow Examples July 2002 o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com s=- c=IN IP4 192.168.200.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F9 ACK GW 1 -> Proxy 1 ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 Max-Forwards: 70 Route: From: ;tag=jwdkallkzm To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com CSeq: 1 ACK Content-Length: 0 F10 ACK Proxy 1 -> User B ACK sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Max-Forwards: 69 From: ;tag=jwdkallkzm To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between A and B (via the GW) */ /* User A Hangs Up with User B. */ F11 BYE GW 1 -> Proxy 1 BYE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 Max-Forwards: 70 Route: From: ;tag=jwdkallkzm To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 149] Internet Draft SIP Call Flow Examples July 2002 F12 BYE Proxy 1 -> User B BYE sip:UserB@192.168.200.201 SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Max-Forwards: 69 To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com CSeq: 2 BYE Content-Length: 0 F13 200 OK User B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 From: ;tag=jwdkallkzm To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 2 BYE Content-Length: 0 F14 200 OK Proxy 1 -> GW 1 SIP/2.0 200 OK Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 From: ;tag=jwdkallkzm To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 150] Internet Draft SIP Call Flow Examples July 2002 5.2 Failure Scenarios 5.2.1 Unsuccessful PSTN to SIP REL, SIP error mapped to REL Switch A GW 1 Proxy 1 User B | | | | | IAM F1 | | | |--------------->| INVITE F2 | | | |--------------->| | | | 604 F3 | | | |<---------------| | | | ACK F4 | | | |--------------->| | | REL F5 | | | |<---------------| | | | RLC F6 | | | |--------------->| | | | | | | User A attempts to place a call through Gateway GW 1 and Proxy 1, which is unable to find any routing for the number. The call is rejected by Proxy 1 with a REL message containing a specific Cause value mapped by the gateway based on the SIP error. Message Details F1 IAM User A -> GW 1 IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=972-555-9999,NPI=E.164,NOA=National F2 INVITE A -> Proxy 1 INVITE sip:+1972559999@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=076342s To: Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 140 v=0 o=GW 2890844527 2890844527 IN IP4 gw1.atlanta.com s=- c=IN IP4 192.168.255.201 t=0 0 Johnston, et al. Informational [Page 151] Internet Draft SIP Call Flow Examples July 2002 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a Location Service to find a route to +1-972-555- 9999. A route is not found, so Proxy 1 rejects the call. */ F3 604 Does Not Exist Anywhere Proxy 1 -> GW 1 SIP/2.0 604 Does Not Exist Anywhere Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.201 From: ;tag=076342s To: ;tag=6a34d410 Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com CSeq: 1 INVITE Error-Info: Content-Length: 0 F4 ACK GW 1 -> Proxy 1 ACK sip:+1972559999@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=076342s To: ;tag=6a34d410 Call-ID: 4Fde34wkd11wsGFDs3@gw1.atlanta.com CSeq: 1 ACK Content-Length: 0 F5 REL GW 1 -> User A REL CauseCode=1 F6 RLC User A -> GW 1 RLC Johnston, et al. Informational [Page 152] Internet Draft SIP Call Flow Examples July 2002 5.2.2 Unsuccessful PSTN to SIP REL, SIP busy mapped to REL Switch A NGW 1 Proxy 1 User B | | | | | IAM F1 | | | |--------------->| INVITE F2 | | | |--------------->| INVITE F3 | | | 100 F4 |--------------->| | |<---------------| | | | | 600 F5 | | | |<---------------| | | | ACK F6 | | | 600 F7 |--------------->| | |<---------------| | | | ACK F8 | | | |--------------->| | | REL(17) F9 | | | |<---------------| | | | RLC F10 | | | |<-------------->| | | | | | | In this scenario, User A calls User B through Network Gateway NGW 1 and Proxy 1. The call is routed to User B by Proxy 1. The call is rejected by User B who sends a 600 Busy Everywhere response. The Gateway sends a REL message containing a specific Cause value mapped by the gateway based on the SIP error. Since no interworking is indicated in the IAM (F1), the busy tone is generated locally by User A's telephone switch. In scenario 5.2.3, the busy signal is generated by the Gateway since interworking is indicated. For more discussion on interworking, refer to [SIP-ISUP]. Message Details F1 IAM User A -> NGW 1 IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=972-555-2222,NPI=E.164,NOA=National F2 INVITE A -> Proxy 1 INVITE sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com Johnston, et al. Informational [Page 153] Internet Draft SIP Call Flow Examples July 2002 CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 140 v=0 o=GW 2890844527 2890844527 IN IP4 gw1.atlanta.com s=- c=IN IP4 192.168.255.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a Location Service function to determine a route for +19725552222. The call is then forwarded to User B. */ F3 INVITE F3 Proxy 1 -> User B INVITE UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.201 Max-Forwards: 69 Record-Route: From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 140 v=0 o=GW 2890844527 2890844527 IN IP4 gw1.atlanta.com s=- c=IN IP4 192.168.255.201 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 100 Trying Proxy 1 -> NGW 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.201 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 Johnston, et al. Informational [Page 154] Internet Draft SIP Call Flow Examples July 2002 F5 600 Busy Everywhere User B -> Proxy 1 SIP/2.0 600 Busy Everywhere Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.201 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 F6 ACK Proxy 1 -> User B ACK UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Max-Forwards: 70 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 ACK Content-Length: 0 F7 600 Busy Everywhere Proxy 1 -> NGW 1 SIP/2.0 600 Busy Everywhere Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.201 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 F8 ACK NGW 1 -> Proxy 1 ACK UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 155] Internet Draft SIP Call Flow Examples July 2002 F9 REL NGW 1 -> User A REL CauseCode=17 Busy F10 RLC User A -> NGW 1 RLC Johnston, et al. Informational [Page 156] Internet Draft SIP Call Flow Examples July 2002 5.2.3 Unsuccessful PSTN->SIP, SIP error interworking to tones Switch A NGW 1 Proxy 1 User B | | | | | IAM F1 | | | |--------------->| INVITE F2 | | | |--------------->| INVITE F3 | | | 100 F4 |--------------->| | |<---------------| | | | | 600 F5 | | | |<---------------| | | | ACK F6 | | | 600 F7 |--------------->| | |<---------------| | | | ACK F8 | | | ACM F9 |--------------->| | |<---------------| | | | One Way Voice | | | |<===============| | | | Busy Tone | | | |<===============| | | | REL(16) F10 | | | |--------------->| | | | RLC F11 | | | |<---------------| | | | | | | In this scenario, User A calls User B through Network Gateway NGW1 and Proxy 1. The call is routed to User B by Proxy 1. The call is rejected by the User B client. NGW 1 sets up a two way voice path to User A and plays busy tone. The caller then disconnects NGW 1 plays the busy tone since the IAM (F1) indicates the interworking is present. In scenario 5.2.2, with no interworking, the busy indication is carried in the REL Cause value and is generated locally instead. Again, note that for ETSI or ITU ISUP, a CONnect message would be sent instead of the Answer Message. Message Details F1 IAM User A -> NGW 1 IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=972-555-2222,NPI=E.164,NOA=National Interworking=encountered Johnston, et al. Informational [Page 157] Internet Draft SIP Call Flow Examples July 2002 F2 INVITE NGW1 -> Proxy 1 INVITE sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a Location Service function to determine a route for +19725552222. The call is then forwarded to User B. */ F3 INVITE Proxy 1 -> User B INVITE UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Max-Forwards: 69 Record-Route: From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 100 Trying User B -> Proxy 1 Johnston, et al. Informational [Page 158] Internet Draft SIP Call Flow Examples July 2002 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 F5 600 Busy Everywhere User B -> Proxy 1 SIP/2.0 600 Busy Everywhere Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 F6 ACK Proxy 1 -> User B ACK UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Max-Forwards: 70 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 ACK Content-Length: 0 F7 600 Busy Everywhere Proxy 1 -> NGW 1 SIP/2.0 600 Busy Everywhere Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 F8 ACK NGW 1 -> Proxy 1 Johnston, et al. Informational [Page 159] Internet Draft SIP Call Flow Examples July 2002 ACK sip:+19725552222@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 ACK Content-Length: 0 F9 ACM NGW 1 -> User A ACM /* A one way speech path is established between NGW 1 and User A. */ /* Call Released after User A hangs up. */ F10 REL User A -> NGW 1 REL CauseCode=16 F11 RLC NGW 1 -> User A RLC Johnston, et al. Informational [Page 160] Internet Draft SIP Call Flow Examples July 2002 5.2.4 Unsuccessful PSTN->SIP, ACM timeout Switch A NGW 1 Proxy 1 User B | | | | | IAM F1 | | | |--------------->| INVITE F2 | | | |--------------->| INVITE F3 | | | 100 F4 |--------------->| | |<---------------| | | | | INVITE F5 | | | |--------------->| | | | INVITE F6 | | | |--------------->| | | | INVITE F7 | | | |--------------->| | | | INVITE F8 | | | |--------------->| | | | INVITE F9 | | | |--------------->| | REL F10 | | | |--------------->| | | | RLC F11 | | | |<---------------| | | | | CANCEL F12 | | | |--------------->| | | | 200 F13 | | | |<---------------| | User A calls User B through NGW 1 and Proxy 1. Proxy 1 re-sends the INVITE after the expiration of SIP timer T1 without receiving any response from User B. User B never responds with 180 Ringing or any other response (it is reachable but unresponsive). After the expiration of a timer, User A's network disconnects the call by sending a Release message REL. The Gateway maps this to a CANCEL. Message Details F1 IAM User A -> NGW 1 IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=972-555-2222,NPI=E.164,NOA=National F2 INVITE A -> Proxy 1 INVITE sip:+19725552222@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Johnston, et al. Informational [Page 161] Internet Draft SIP Call Flow Examples July 2002 Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a Location Service function to determine a route for +19725552222. The call is then forwarded to User B. */ F3 INVITE Proxy 1 -> User B INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Max-Forwards: 69 Record-Route: From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com c c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 100 Trying Proxy 1 -> NGW 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 F5 INVITE Proxy 1 -> User B Johnston, et al. Informational [Page 162] Internet Draft SIP Call Flow Examples July 2002 Same as Message F3 F6 INVITE Proxy 1 -> User B Same as Message F3 F7 INVITE Proxy 1 -> User B Same as Message F3 F8 INVITE Proxy 1 -> User B Same as Message F3 F9 INVITE Proxy 1 -> User B Same as Message F3 /* Timer expires in User A's access network. */ F10 REL User A -> NGW 1 REL CauseCode=16 Normal F11 RLC NGW 1 -> User A RLC F12 CANCEL NGW 1 -> Proxy 1 CANCEL sip:+19725552222@ss11.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 CANCEL Content-Length: 0 F13 200 OK Proxy 1 -> NGW 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Johnston, et al. Informational [Page 163] Internet Draft SIP Call Flow Examples July 2002 ;received=192.168.255.101 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 CANCEL Content-Length: 0 Johnston, et al. Informational [Page 164] Internet Draft SIP Call Flow Examples July 2002 5.2.5 Unsuccessful PSTN->SIP, ACM timeout, stateless Proxy Switch A NGW 1 Stateless Proxy 1 User B | | | | | IAM F1 | | | |--------------->| INVITE F2 | | | |--------------->| INVITE F3 | | | INVITE F4 |--------------->| | |--------------->| INVITE F5 | | | INVITE F6 |--------------->| | |--------------->| INVITE F7 | | | INVITE F8 |--------------->| | |--------------->| INVITE F9 | | | INVITE F10 |--------------->| | |--------------->| INVITE F11 | | | INVITE F12 |--------------->| | |--------------->| INVITE F13 | | | |--------------->| | REL F14 | | | |--------------->| | | | RLC F15 | | | |<---------------| | | In this scenario, User A calls User B through NGW 1 and Proxy 1. Since Proxy 1 is stateless (it does not send a 100 Trying response), NGW 1 re-sends the INVITE message after the expiration of SIP timer T1. User B does not respond with 180 Ringing. User A's network disconnects the call with a release REL (CauseCode=102 Timeout). Message Details F1 IAM User A -> NGW 1 IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=972-555-2222,NPI=E.164,NOA=National F2 INVITE NGW 1 -> Proxy 1 INVITE sip:+19725552222@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Johnston, et al. Informational [Page 165] Internet Draft SIP Call Flow Examples July 2002 Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a Location Service function to determine a route for +19725552222. The call is then forwarded to User B. */ F3 INVITE Proxy 1 -> User B INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.201 Max-Forwards: 69 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 INVITE NGW 1 -> Proxy 1 Same as Message F2 F5 INVITE Proxy 1 -> User B Same as Message F3 F6 INVITE NGW 1 -> Proxy 1 Same as Message F2 Johnston, et al. Informational [Page 166] Internet Draft SIP Call Flow Examples July 2002 F7 INVITE Proxy 1 -> User B Same as Message F3 F8 INVITE NGW 1 -> Proxy 1 Same as Message F2 F9 INVITE Proxy 1 -> User B Same as Message F3 F10 INVITE NGW 1 -> Proxy 1 Same as Message F2 F11 INVITE Proxy 1 -> User B Same as Message F3 F12 INVITE NGW 1 -> Proxy 1 Same as Message F2 F13 INVITE Proxy 1 -> User B Same as Message F3 /* A timer expires in User A's access network. */ F14 REL User A -> NGW 1 REL CauseCode=102 Timeout F15 RLC NGW 1 -> User A RLC Johnston, et al. Informational [Page 167] Internet Draft SIP Call Flow Examples July 2002 5.2.6 Unsuccessful PSTN->SIP, Caller Abandonment Switch A NGW 1 Proxy 1 User B | | | | | IAM F1 | | | |--------------->| INVITE F2 | | | |--------------->| INVITE F3 | | | 100 F4 |--------------->| | |<---------------| | | | | 180 F5 | | | 180 F6 |<---------------| | ACM F7 |<---------------| | |<---------------| | | | One Way Voice | | | |<===============| | | | Ringing Tone | | | |<===============| | | | | | | | REL F8 | | | |--------------->| | | | RLC F9 | | | |<---------------| CANCEL F10 | | | |--------------->| | | | 200 F11 | | | |<---------------| | | | | CANCEL F12 | | | |--------------->| | | | 200 F13 | | | |<---------------| | | | 487 F14 | | | |<---------------| | | | ACK F15 | | | 487 F16 |--------------->| | |<---------------| | | | ACK F17 | | | |--------------->| | | | | | In this scenario, User A calls User B through NGW 1 and Proxy 1. User B does not respond with 200 OK. NGW 1 plays ringing tone since the ACM indicates that interworking has been encountered. User A disconnects the call with a Release message REL which is mapped by NGW 1 to a CANCEL. Note that if User B had sent a 200 OK response after the REL, NGW 1 would have sent an ACK then a BYE to properly terminate the call. Message Details F1 IAM User A -> NGW 1 Johnston, et al. Informational [Page 168] Internet Draft SIP Call Flow Examples July 2002 IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=972-555-2222,NPI=E.164,NOA=National F2 INVITE A -> Proxy 1 INVITE sip:+19725552222@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a Location Service function to determine a route for +19725552222. The call is then forwarded to User B. */ F3 INVITE Proxy 1 -> User B INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Max-Forwards: 69 Record-Route: From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 Johnston, et al. Informational [Page 169] Internet Draft SIP Call Flow Examples July 2002 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 100 Trying User B -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.201 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 F5 180 Ringing User B -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Record-Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F6 180 Ringing Proxy 1 -> NGW 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Record-Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F7 ACM NGW 1 -> User A ACM Johnston, et al. Informational [Page 170] Internet Draft SIP Call Flow Examples July 2002 /* User A hangs up */ F8 REL User A -> NGW 1 REL CauseCode=16 Normal F9 RLC NGW 1 -> User A RLC F10 CANCEL NGW 1 -> Proxy 1 CANCEL sip:+19725552222@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 CANCEL Content-Length: 0 F11 200 OK Proxy 1 -> NGW 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 CANCEL Content-Length: 0 F12 CANCEL Proxy 1 -> User B CANCEL sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Max-Forwards: 70 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 CANCEL Content-Length: 0 F13 200 OK User B -> Proxy 1 Johnston, et al. Informational [Page 171] Internet Draft SIP Call Flow Examples July 2002 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 From: ;tag=7643kals To: Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 CANCEL Content-Length: 0 F14 487 Request Terminated User B -> Proxy 1 SIP/2.0 487 Request Terminated Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 F15 ACK Proxy 1 -> User B ACK sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 ACK Content-Length: 0 F16 487 Request Terminated Proxy 1 -> NGW 1 SIP/2.0 487 Request Terminated Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 F17 ACK NGW 1 -> Proxy 1 ACK sip:+19725552222@ss11.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Johnston, et al. Informational [Page 172] Internet Draft SIP Call Flow Examples July 2002 Max-Forwards: 70 From: ;tag=7643kals To: ;tag=314159 Call-ID: 4Fde34wkd11wsGFDs3@ngw1.atlanta.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 173] Internet Draft SIP Call Flow Examples July 2002 6 Gateway to Gateway Dialing via SIP Network In these scenarios, both the caller and the called party are in the telephone network, either normal PSTN subscribers or PBX extensions. The calls route through two Gateways and at least one SIP Proxy Server. The Proxy Server performs the authentication and location of the Gateways. Again it is noted that the intent of this call flows document is not to provide a detailed parameter level mapping of SIP to PSTN protocols. For information on SIP to ISUP mapping, the reader is referred to other references [SIP-ISUP]. 6.1 Success Scenarios In these scenarios, the call is successfully completed between the two Gateways allowing the PSTN or PBX users to communicate. The 183 Session Progress response is used to indicate in-band alerting may flow from the called party telephone switch to the caller. Johnston, et al. Informational [Page 174] Internet Draft SIP Call Flow Examples July 2002 6.1.1 Successful ISUP PSTN to ISUP PSTN call Switch A NGW 1 Proxy 1 GW 2 Switch C | | | | | | IAM F1 | | | | |------------->| | | | | | INVITE F2 | | | | |------------->| INVITE F3 | | | | |------------->| IAM F4 | | | | |------------->| | | | | ACM F5 | | | | 183 F6 |<-------------| | | 183 F7 |<-------------| | | ACM F8 |<-------------| | | |<-------------| | | | | One Way Voice| Two Way RTP Media | One Way Voice| |<=============|<===========================>|<=============| | | | | ANM F9 | | | | 200 F10 |<-------------| | | 200 F11 |<-------------| | | ANM F12 |<-------------| | | |<-------------| | | | | | ACK F13 | | | | |------------->| ACK F14 | | | | |------------->| | |Both Way Voice| Both Way RTP Media |Both Way Voice| |<=============|<===========================>|<=============| | | | | REL F15 | | | | |<-------------| | | | BYE F16 | | | | BYE F18 |<-------------| RLC F17 | | |<-------------| |------------->| | | | | | | | 200 F19 | | | | |------------->| 200 F20 | | | | |------------->| | | REL F21 | | | | |<-------------| | | | | RLC F22 | | | | |------------->| | | | | | | | | In this scenario, User A in the PSTN calls User C who is an extension on a PBX. User A's telephone switch signals via SS7 to the Network Gateway NGW 1, while User C's PBX signals via SS7 with the Gateway GW 2. The CdPN and CgPN are mapped by GW1 into SIP URIs and placed in the To and From headers. Proxy 1 looks up the dialed digits in the Request-URI and maps the digits to the PBX extension of User C which is served by GW 2. The Proxy in F3 uses the host portion of the Request-URI to identify what private dialing plan is being referenced. The INVITE is then forwarded to GW 2 for call Johnston, et al. Informational [Page 175] Internet Draft SIP Call Flow Examples July 2002 completion. An early media path is established end-to-end so that User A can hear the ringing tone generated by PBX C. User C answers the call and the media path is cut through in both directions. User B hangs up terminating the call. Message Details F1 IAM Switch A -> NGW 1 IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=918-555-3333,NPI=E.164,NOA=National F2 INVITE NGW 1 -> Proxy 1 INVITE sip:+19185553333@ss1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 From: ;tag=7643kals To: Call-ID: 2xTb9vxSit55XU7p8@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844526 2890844526 IN IP4 gw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 consults Location Service and translates the dialed number to a private number in the Request-URI*/ F3 INVITE Proxy 1 -> GW 2 INVITE sip:4443333@gw2.atlanta.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.101 Max-Forwards: 69 Record-Route: From: ;tag=7643kals To: Call-ID: 2xTb9vxSit55XU7p8@ngw1.atlanta.com Johnston, et al. Informational [Page 176] Internet Draft SIP Call Flow Examples July 2002 CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844526 2890844526 IN IP4 ngw1.atlanta.com s=- c=IN IP4 192.168.255.101 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 IAM GW 2 -> Switch C IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=444-3333,NPI=Private,NOA=Subscriber F5 ACM Switch C -> GW 2 ACM /* Based on the ACM message, GW 2 returns a 183 response. In-band call progress indications are sent to User A through NGW 1. */ F6 183 Session Progress GW 2 -> Proxy 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Record-Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 149 v=0 o=GW 987654321 987654321 IN IP4 gw2.atlanta.com s=- c=IN IP4 192.168.255.202 t=0 0 m=audio 14918 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 177] Internet Draft SIP Call Flow Examples July 2002 F7 183 Session Progress Proxy 1 -> GW 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Record-Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 149 v=0 o=GW 987654321 987654321 IN IP4 gw2.atlanta.com s=- c=IN IP4 192.168.255.202 t=0 0 m=audio 14918 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* NGW 1 receives packets from GW 2 with encoded ringback, tones or other audio. NGW 1 decodes this and places it on the originating trunk. */ F8 ACM NGW 1 -> Switch A ACM /* User B answers */ F9 ANM Switch C -> GW 2 ANM F10 200 OK GW 2 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Record-Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@ngw1.atlanta.com Johnston, et al. Informational [Page 178] Internet Draft SIP Call Flow Examples July 2002 CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 149 v=0 o=GW 987654321 987654321 IN IP4 gw2.atlanta.com s=- c=IN IP4 192.168.255.202 t=0 0 m=audio 14918 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 200 OK Proxy 1 -> NGW 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Record-Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@ngw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 149 v=0 o=GW 987654321 987654321 IN IP4 gw2.atlanta.com s=- c=IN IP4 192.168.255.202 t=0 0 m=audio 14918 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F12 ANM NGW 1 -> Switch A ANM F13 ACK NGW 1 -> Proxy 1 ACK sip:4443333@gw2.atlanta.com SIP/2.0 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 Max-Forwards: 70 Route: From: ;tag=7643kals To: ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com Johnston, et al. Informational [Page 179] Internet Draft SIP Call Flow Examples July 2002 CSeq: 1 ACK Content-Length: 0 F14 ACK Proxy 1 -> GW 2 ACK sip:4443333@gw2.atlanta.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ngw1.atlanta.com:5060;branch=z9hG4bKlueha2 ;received=192.168.255.101 Max-Forwards: 69 From: ;tag=7643kals To: ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@ngw1.atlanta.com CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between NGW 1 and GW 2. */ /* User B Hangs Up with User A. */ F15 REL Switch C -> GW 2 REL CauseCode=16 Normal F16 BYE GW 2 -> Proxy 1 BYE sip:+13145551111@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP gw2.atlanta.com:5060;branch=z9hG4bKtexx6 Max-Forwards: 70 Route: From: ;tag=314159 To: ;tag=7643kals Call-ID: 2xTb9vxSit55XU7p8@ngw1.atlanta.com CSeq: 4 BYE Content-Length: 0 F17 RLC GW 2 -> Switch C RLC F18 BYE Proxy 1 -> NGW 1 BYE sip:+13145551111@ngw1.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP gw2.atlanta.com:5060;branch=z9hG4bKtexx6 ;received=192.168.255.202 Johnston, et al. Informational [Page 180] Internet Draft SIP Call Flow Examples July 2002 Max-Forwards: 69 From: ;tag=314159 To: ;tag=7643kals Call-ID: 2xTb9vxSit55XU7p8@ngw1.atlanta.com CSeq: 4 BYE Content-Length: 0 F19 200 OK NGW 1 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP gw2.atlanta.com:5060;branch=z9hG4bKtexx6 ;received=192.168.255.202 From: ;tag=314159 To: ;tag=7643kals Call-ID: 2xTb9vxSit55XU7p8@ngw1.atlanta.com CSeq: 4 BYE Content-Length: 0 F20 200 OK Proxy 1 -> GW 2 SIP/2.0 200 OK Via: SIP/2.0/UDP gw2.atlanta.com:5060;branch=z9hG4bKtexx6 ;received=192.168.255.202 From: ;tag=314159 To: ;tag=7643kals Call-ID: 2xTb9vxSit55XU7p8@ngw1.atlanta.com CSeq: 4 BYE Content-Length: 0 F21 REL Switch C -> GW 2 REL CauseCode=16 Normal F22 RLC GW 2 -> Switch C RLC Johnston, et al. Informational [Page 181] Internet Draft SIP Call Flow Examples July 2002 6.1.2 Successful FGB PBX to ISDN PBX call with overflow PBX A GW 1 Proxy 1 GW 2 GW 3 PBX C | | | | | | | Seizure | | | | | |----------->| | | | | | Wink | | | | | |<-----------| | | | | |MF Digits F1| | | | | |----------->| | | | | | | INVITE F2 | | | | | |----------->| INVITE F3 | | | | | |----------->| | | | | | 503 F4 | | | | | |<-----------| | | | | | ACK F5 | | | | | |----------->| | | | | | INVITE F6 | | | | |------------------------>| SETUP F7 | | | | 100 F8 |----------->| | | |<------------------------|CALL PROC F9| | | | |<-----------| | | | | ALERT F10 | | | | 180 F11 |<-----------| | | 180 F12 |<------------------------| | | |<-----------| | | | Ringtone | | |OneWay Voice| |<===========| | |<===========| | | | | CONNect F13| | | | 200 F14 |<-----------| | | 200 F15 |<------------------------| | | Seizure |<-----------| | | |<-----------| ACK F16 | | | | |----------->| ACK F17 | | | | |------------------------>|CONN ACK F18| | | | |----------->| |BothWayVoice| Both Way RTP Media |BothWayVoice| |<==========>|<====================================>|<==========>| | | | | DISC F19 | | | | |<-----------| | | | BYE F20 | | | | BYE F21 |<------------------------| REL F22 | |Seiz Removal|<-----------| |----------->| |<-----------| 200 F23 | | | |Seiz Removal|----------->| 200 F24 | | |----------->| |------------------------>| REL COM F25| | | | |<-----------| | | | | | PBX User A calls PBX User C via Gateway GW 1 and Proxy 1. During the Johnston, et al. Informational [Page 182] Internet Draft SIP Call Flow Examples July 2002 attempt to reach User C via GW 2, an error is encountered - Proxy 1 receives a 503 Service Unavailable (F4) response to the forwarded INVITE. This could be due to all circuits being busy, or some other outage at GW 2. Proxy 1 recognizes the error and uses an alternative route via GW 3 to terminate the call. From there, the call proceeds normally with User C answering the call. The call is terminated when User C hangs up. Message Details PBX A -> GW 1 Seizure GW 1 -> PBX A Wink F1 MF Digits PBX A -> GW 1 KP 444 3333 ST F2 INVITE GW 1 -> Proxy 1 INVITE sip:4443333@ss1.atlanta.com SIP/2.0 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 Max-Forwards: 70 From: ;tag=63412s To: Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844526 2890844526 IN IP4 gw1.atlanta.com s=- c=IN IP4 192.168.255.201 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a Location Service function to determine where B is located. Response is returned listing alternative routes, GW2 and GW3, which are then tried sequentially. */ Johnston, et al. Informational [Page 183] Internet Draft SIP Call Flow Examples July 2002 F3 INVITE Proxy 1 -> GW 2 INVITE sip:4443333@gw2.atlanta.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Max-Forwards: 69 Record-Route: From: ;tag=63412s To: Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844526 2890844526 IN IP4 gw1.atlanta.com s=- c=IN IP4 192.168.255.201 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 503 Service Unavailable GW 2 -> Proxy 1 SIP/2.0 503 Service Unavailable Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ;received=192.168.255.111 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 From: ;tag=63412s To: ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 F5 ACK Proxy 1 -> GW 2 ACK sip:4443333@ss1.atlanta.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Max-Forward: 70 From: ;tag=63412s To: ;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 184] Internet Draft SIP Call Flow Examples July 2002 F6 INVITE Proxy 1 -> GW 3 INVITE sip:+19185553333@gw3.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.2 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Max-Forwards: 69 Record-Route: From: ;tag=63412s To: Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 141 v=0 o=GW 2890844526 2890844526 IN IP4 gw1.atlanta.com s=- c=IN IP4 192.168.255.201 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 SETUP GW 3 -> PBX C Protocol discriminator=Q.931 Message type=SETUP Bearer capability: Information transfer capability=0 (Speech) or 16 (3.1 kHz audio) Channel identification=Preferred or exclusive B-channel Progress indicator=1 (Call is not end-to-end ISDN; further call progress information may be available inband) Called party number: Type of number and numbering plan ID=33 (National number in ISDN numbering plan) Digits=918-555-3333 F8 100 Trying GW 3 -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 From: ;tag=63412s To: Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 INVITE Content-Length: 0 Johnston, et al. Informational [Page 185] Internet Draft SIP Call Flow Examples July 2002 F9 CALL PROCeeding PBX C -> GW 3 Protocol discriminator=Q.931 Message type=CALL PROC F10 ALERT PBX C -> GW 3 Protocol discriminator=Q.931 Message type=PROG /* Based on ALERT message, GW 3 returns a 180 response. */ F11 180 Ringing GW 3 -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.2 ;received=192.168.255.111 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Record-Route: From: ;tag=63412s To: ;tag=123456789 Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F12 180 Ringing Proxy 1 -> GW 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Record-Route: From: ;tag=63412s To: ;tag=123456789 Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 INVITE Contact: Content-Length: 0 F13 CONNect PBX C -> GW 3 Protocol discriminator=Q.931 Message type=CONN F14 200 OK GW 3 -> Proxy 1 Johnston, et al. Informational [Page 186] Internet Draft SIP Call Flow Examples July 2002 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.2 ;received=192.168.255.111 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Record-Route: From: ;tag=63412s To: ;tag=123456789 Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 149 v=0 o=GW 987654321 987654321 IN IP4 gw3.atlanta.com s=- c=IN IP4 192.168.255.203 t=0 0 m=audio 14918 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F15 200 OK Proxy 1 -> GW 1 SIP/2.0 200 OK Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Record-Route: From: ;tag=63412s To: ;tag=123456789 Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: 149 v=0 o=GW 987654321 987654321 IN IP4 gw3.atlanta.com s=- c=IN IP4 192.168.255.203 t=0 0 m=audio 14918 RTP/AVP 0 a=rtpmap:0 PCMU/8000 GW 1 -> PBX A Seizure Johnston, et al. Informational [Page 187] Internet Draft SIP Call Flow Examples July 2002 F16 ACK GW 1 -> Proxy 1 ACK sip:+19185553333@gw3.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 Max-Forwards: 70 Route: From: ;tag=63412s To: ;tag=123456789 Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 ACK Content-Length: 0 F17 ACK Proxy 1 -> GW 3 ACK sip:+19185553333@gw3.atlanta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.2 Via: SIP/2.0/UDP gw1.atlanta.com:5060;branch=z9hG4bKwqwee65 ;received=192.168.255.201 Max-Forwards: 69 From: ;tag=63412s To: ;tag=123456789 Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 ACK Content-Length: 0 F18 CONNect ACK GW 3 -> PBX C Protocol discriminator=Q.931 Message type=CONN ACK /* RTP streams are established between GW 1 and GW 3. */ /* User B Hangs Up with User A. */ F19 DISConnect PBX C -> GW 3 Protocol discriminator=Q.931 Message type=DISC Cause=16 (Normal clearing) F20 BYE GW 3 -> Proxy 1 BYE sip:551313@gw1.atlanta.com SIP/2.0 Via: SIP/2.0/UDP gw3.atlanta.com:5060;branch=z9hG4bKkdjuwq Max-Forwards: 70 Route: From: ;tag=123456789 To: ;tag=63412s Johnston, et al. Informational [Page 188] Internet Draft SIP Call Flow Examples July 2002 Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 BYE Content-Length: 0 F21 BYE Proxy 1 -> GW 1 BYE sip:551313@gw1.atlanta.com SIP/2.0 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.2 Via: SIP/2.0/UDP gw3.atlanta.com:5060;branch=z9hG4bKkdjuwq ;received=192.168.255.203 Max-Forwards: 69 From: ;tag=123456789 To: ;tag=63412s Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 BYE Content-Length: 0 GW 1 -> PBX A Seizure removal F22 RELease GW 3 -> PBX C Protocol discriminator=Q.931 Message type=REL F23 200 OK GW 1 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.2 ;received=192.168.255.111 Via: SIP/2.0/UDP gw3.atlanta.com:5060;branch=z9hG4bKkdjuwq ;received=192.168.255.203 From: ;tag=123456789 To: ;tag=63412s Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com CSeq: 1 BYE Content-Length: 0 F24 200 OK Proxy 1 -> GW 3 SIP/2.0 200 OK Via: SIP/2.0/UDP gw3.atlanta.com:5060;branch=z9hG4bKkdjuwq ;received=192.168.255.203 From: ;tag=123456789 To: ;tag=63412s Call-ID: 2xTb9vxSit55XU7p8@gw1.atlanta.com Johnston, et al. Informational [Page 189] Internet Draft SIP Call Flow Examples July 2002 CSeq: 1 BYE Content-Length: 0 F25 RELease COMplete PBX C -> GW 3 Protocol discriminator=Q.931 Message type=REL COM PBX A -> GW 1 Seizure removal Johnston, et al. Informational [Page 190] Internet Draft SIP Call Flow Examples July 2002 7 SIP Test Messages The files in here are test messages for SIP servers to exercise various functions. They have been used in SIPit interoperablity events. All messages shown here are valid, unless otherwise noted. The correct behavior of servers and clients is also described. 7.1 INVITE Parser Torture Test Message This message is a correctly formatting SIP message. It contains: line folding all over escaped characters within quotes LWS between colons, semicolons, headers, and other fields both comma separated and separate listing of headers mix or short and long form for the same header unknown header field unusual header ordering unknown parameters of a known header Proxies should forward message and clients should respond as to a normal INVITE message. Message Details INVITE sip:vivekg@chair.dnrc.bell-labs.com SIP/2.0 TO : sip:vivekg@chair.dnrc.bell-labs.com ; tag = 1918181833n From : "J Rosenberg \\\"" ; tag = 98asjd8 Max-Forwards: 6 Call-ID : 0ha0isndaksdj@10.1.1.1 cseq: 8 INVITE Via : SIP / 2.0 /UDP 135.180.130.133;branch=z9hG4bKkdjuw Subject : NewFangledHeader: newfangled value more newfangled value Content-Type: application/sdp v: SIP / 2.0 / TCP 1192.168.156.222 ; branch = 9ikj8 , SIP / 2.0 / UDP 192.168.255.111 ; hidden m:"Quoted string \"\"" ; newparam = newvalue ; secondparam = secondvalue ; q = 0.33, tel:4443322 Johnston, et al. Informational [Page 191] Internet Draft SIP Call Flow Examples July 2002 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.2 INVITE with Proxy-Require and Require This message tests support for Proxy-Require and Require. It is a request that contains both headers, listing new features. Proxies and clients should respond with a 420 Bad Extension, and an Unsupported header listing these features. Message Details INVITE sip:user@company.com SIP/2.0 To: sip:j_user@company.com From: sip:caller@university.edu;tag=242etr Max-Forward: 6 Call-ID: 0ha0isndaksdj@10.1.1.1 Require: newfeature1, newfeature2 Proxy-Require: newfeature3, newfeature4 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw 7.3 INVITE with Unknown Schemes in URIs This message contains unknown schemes in the Request URI, To, From and Contact headers of a request. A server should probably return a not found error; but other behaviors are acceptable. Message Details INVITE name:John_Smith SIP/2.0 To: isbn:2983792873 From: ;tag=3234233 Call-ID: 0ha0isndaksdj@10.1.2.3 CSeq: 8 INVITE Max-Forward: 7 Via: SIP/2.0/UDP 135.180.130.133:5060;branch=z9hG4bKkdjuw Content-Type: application/sdp Johnston, et al. Informational [Page 192] Internet Draft SIP Call Flow Examples July 2002 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.4 REGISTER with Y2038 Test This message is a registration request with an expiration year of 2040. This makes sure that a server doesn't crash on seeing a date past Y2038. The correct behavior is probably to limit the lifetime to some configured maximum. Message Details REGISTER sip:company.com SIP/2.0 To: sip:user@company.com From: sip:user@company.com;tag=3411345 Max-Forwards: 8 Contact: sip:user@host.company.com Call-ID: 0ha0isndaksdj@10.0.0.1 CSeq: 8 REGISTER Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw Expires: Sat, 01 Dec 2040 16:00:00 GMT 7.5 INVITE with inconsistent Accept and message body This is a UAS test. It is a request that includes an Accept header without SDP. The UAS should respond with an error. Message Details INVITE sip:user@company.com SIP/2.0 To: sip:j_user@company.com From: sip:caller@university.edu;tag=234 Max-Forwards: 5 Call-ID: 0ha0isndaksdj@10.0.0.1 Accept: text/newformat CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw Content-Type: application/sdp Johnston, et al. Informational [Page 193] Internet Draft SIP Call Flow Examples July 2002 v=0 c=IN IP4 135.180.130.88 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.6 INVITE with non-SDP message body This is a test of a user agent server. It is a request that includes a body of a non-SDP type. The user agent server should respond with an error. Message Details INVITE sip:user@comapny.com SIP/2.0 To: sip:j.user@company.com From: sip:caller@university.edu;tag=8 Max-Forwards: 70 Call-ID: 0ha0isndaksdj@10.0.0.1 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw Content-Type: application/newformat 7.7 Unknown Method Message This request message contains a new unknown method, NEWMETHOD. A proxy should forward this using the same retransmission rules as BYE. A UAS should reject it with an error, and list the available methods in the response. Message Details NEWMETHOD sip:user@comapny.com SIP/2.0 To: sip:j.user@company.com From: sip:caller@university.edu;tag=34525 Max-Forwards: 6 Call-ID: 0ha0isndaksdj@10.0.0.1 CSeq: 8 NEWMETHOD Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw Content-Type: application/sdp Johnston, et al. Informational [Page 194] Internet Draft SIP Call Flow Examples July 2002 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 c=IN IP4 135.180.130.88 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.8 Unknown Method with CSeq Error This message is nearly identical to the Unknown Method message. It is a request with a new unknown method, but with a CSeq method tag which does not match. A proxy should either respond with an error, or correct the method tag. The user agent should reject it with an error, and list the available methods in the response. Message Details NEWMETHOD sip:user@comapny.com SIP/2.0 To: sip:j.user@company.com From: sip:caller@university.edu;tag=23411413 Max-Forwards: 3 Call-ID: 0ha0isndaksdj@10.0.1.1 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw Content-Type: application/sdp v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.9 REGISTER with Unknown Authorization Scheme This message is a REGISTER request with an unknown authorization scheme. The server should do something reasonable, such as rejecting the request. Johnston, et al. Informational [Page 195] Internet Draft SIP Call Flow Examples July 2002 Message Details REGISTER sip:company.com SIP/2.0 To: sip:j.user@company.com From: sip:j.user@company.com;tag=87321hj23128 Max-Forwards: 8 Call-ID: 0ha0isndaksdj@10.0.1.1 CSeq: 8 REGISTER Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw Authorization: Super-PGP ajsohdaosdh0asyhdaind08yasdknasd09asidhas0d8 7.10 Multiple SIP Request in a Single Message This message contains two requests, separated by a bunch of whitespace. Since the message exceeds the length indicated in the Content-Length header, the message should be rejected. (Multiple SIP requests per UDP packet are no longer allowed.) Message Details REGISTER sip:company.com SIP/2.0 To: sip:j.user@company.com From: sip:j.user@company.com;tag=43251j3j324 Max-Forwards: 8 Call-ID: 0ha0isndaksdj@10.0.2.2 Contact: sip:j.user@host.company.com CSeq: 8 REGISTER Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw Content-Length: 0 INVITE sip:joe@company.com SIP/2.0 To: sip:joe@company.com From: sip:caller@university.edu;tag=141334 Max-Forwards: 8 Call-ID: 0ha0isnda977644900765@10.0.0.1 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw Content-Type: application/sdp v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m =video 3227 RTP/AVP 31 Johnston, et al. Informational [Page 196] Internet Draft SIP Call Flow Examples July 2002 a=rtpmap:31 LPC 7.11 INVITE missing Required Headers This message contains no Call-ID, From, or To header. The server should not crash, and ideally should respond with an error. Message Details INVITE sip:user@company.com SIP/2.0 CSeq: 0 INVITE Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw Content-Type: application/sdp v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.12 INVITE with Duplicate Required Headers The message contains a request with an extra Call-ID and To field. The server should not crash, and should ideally respond with an error. Message Details INVITE sip:user@company.com SIP/2.0 Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw Max-Forwards: 70 CSeq: 0 INVITE Call-ID: 98asdh@10.1.1.1 Call-ID: 98asdh@10.1.1.2 From: sip:caller@university.edu;tag=3413415 From: sip:caller@organization.org To: sip:user@company.com Content-Type: application/sdp v=0 Johnston, et al. Informational [Page 197] Internet Draft SIP Call Flow Examples July 2002 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.13 INVITE with Illegal Expires Header This message contains an Expires header which has illegal values for a number of components, but otherwise is syntactically correct. Message Details INVITE sip:user@company.com SIP/2.0 Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw Max-Forwards: 88 CSeq: 0 INVITE Call-ID: 98asdh@10.1.1.2 Expires: Thu, 44 Dec 19999 16:00:00 EDT From: sip:caller@university.edu;tag=3651 To: sip:user@company.com Content-Type: application/sdp v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.14 200 OK Response with Broadcast Via Header This message is a response with a 2nd Via header of 255.255.255.255. On receiving this response, the top Via header is stripped and the packet forwarded. Since the next address is the broadcast address, it causes the packet to be broadcast onto the network. A smart server should ignore packets with 2nd Via headers that are 255.255.255.255 or 127.0.0.1. At the very least it should not crash. Message Details Johnston, et al. Informational [Page 198] Internet Draft SIP Call Flow Examples July 2002 SIP/2.0 200 OK Via: SIP/2.0/UDP 135.180.130.57;branch=0 Via: SIP/2.0/UDP 255.255.255.255;branch=0 Max-Forwards: 70 Call-ID: 0384840201@10.1.1.1 CSeq: 0 INVITE From: sip:user@company.com;tag=11141343 To: sip:user@university.edu;tag=2229 Content-Type: application/sdp v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 224.2.17.12/127 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.15 INVITE with Invalid Via and Contact Headers This is a request with the Via and Contact headers incorrect. They contain additional semicolons and commas without parameters or values. The server should respond with a Bad Request error. Message Details INVITE sip:user@company.com SIP/2.0 To: sip:j.user@company.com From: sip:caller@university.edu;tag=134161461246 Max-Forwards: 7 Call-ID: 0ha0isndaksdj@10.0.0.1 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133;;,; Contact: "" <> ;,"Joe" ;;,,;; Content-Type: application/sdp v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC Johnston, et al. Informational [Page 199] Internet Draft SIP Call Flow Examples July 2002 7.16 INVITE with Incorrect Content-Length Header This is a request message with a Content Length that is much larger than the length of the body. When sent UDP, the server should respond with an error. With TCP, there's not much you can do but wait... Message Details INVITE sip:user@company.com SIP/2.0 Max-Forwards: 80 To: sip:j.user@company.com From: sip:caller@university.edu;tag=93942939o2 Call-ID: 0ha0isndaksdj@10.0.0.1 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133 Content-Type: application/sdp Content-Length: 9999 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.17 INVITE with Invalid Value for Content-Length This is a request message with a negative value for Content-Length. The server should respond with an error. Message Details INVITE sip:user@company.com SIP/2.0 Max-Forwards: 254 To: sip:j.user@company.com From: sip:caller@university.edu;tag=3 Call-ID: 0ha0isndaksdj@10.0.0.1 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw Content-Type: application/sdp Content-Length: -999 Johnston, et al. Informational [Page 200] Internet Draft SIP Call Flow Examples July 2002 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.18 INVITE with Garbage after Message Body This is a request message with garbage after the end of the SDP included in the body. The servers should reject the request as the body is longer than the Content-Length. Message Details INVITE sip:user@company.com SIP/2.0 To: sip:j.user@company.com From: sip:caller@university.edu;tag=3223 Max-Forwards: 7 Call-ID: 0ha0isndaksdj@10.0.0.1 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133 Content-Type: application/sdp Content-Length: 138 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC asdpasd08asdsdk:;;asd a0sdjhg8a0''...'';;;; 7.19 INVITE with Error in Display Name in To Header This is a request with an unterminated quote in the display name of the To field. The server can either return an error, or proxy it if it is Johnston, et al. Informational [Page 201] Internet Draft SIP Call Flow Examples July 2002 successful parsing without the terminating quote. Message Details INVITE sip:user@company.com SIP/2.0 To: "Mr. J. User From: sip:caller@university.edu;tag=93334 Max-Forwards: 10 Call-ID: 0ha0isndaksdj@10.0.0.1 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133:5050;branch=z9hG4bKkdjuw Content-Type: application/sdp Content-Length: 138 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.20 INVITE with a Semicolon-Separated Parameter in the "user" Part This is an INVITE request with a semicolon-separated parameter in the "user" part. Outbound proxies should direct it appropriately. Message Details INVITE sip:user;par=u%40h.com@company.com SIP/2.0 To: sip:j_user@company.com From: sip:caller@university.edu;tag=33242 Max-Forwards: 3 Call-ID: 0ha0isndaksdj@10.1.1.1 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw 7.21 INVITE with Illegal Enclosing of Request-URI in "<>" This INVITE is illegal because the Request-URI has been enclosed within in "<>". An intelligent server may be able to deal with this and fix up Johnston, et al. Informational [Page 202] Internet Draft SIP Call Flow Examples July 2002 athe Request-URI if acting as a Proxy. If not it should respond 400 with an appropriate reason phrase. Message Details INVITE SIP/2.0 To: sip:user@company.com From: sip:caller@university.edu;tag=39291 Max-Forwards: 23 Call-ID: 1@10.0.0.1 CSeq: 1 INVITE Via: SIP/2.0/UDP 135.180.130.133 Content-Type: application/sdp Content-Length: 174 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=3149328700 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.22 INVITE with Illegal LWS within Elements of Request-URI This INVITE has illegal LWS within the SIP URI. An intelligent server may be able to deal with this and fix up the Request-URI if acting as a Proxy. If not it should respond 400 with an appropriate reason phrase. Message Details INVITE sip:user@company.com; transport=udp SIP/2.0 To: sip:user@company.com From: sip:caller@university.edu;tag=231413434 Max-Forwards: 5 Call-ID: 2@10.0.0.1 CSeq: 1 INVITE Via: SIP/2.0/UDP 135.180.130.133:5060;branch=z9hG4bKkdjuw Content-Type: application/sdp Content-Length: 174 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 Johnston, et al. Informational [Page 203] Internet Draft SIP Call Flow Examples July 2002 t=3149328700 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.23 INVITE with illegal >1 SP between elements of Request URI This INVITE has illegal >1 SP between elements of the Request-URI. An intelligent server may be able to deal with this and fix up the Request-URI if acting as a Proxy. If not it should respond 400 with an appropriate reason phrase. Message Details INVITE sip:user@company.com SIP/2.0 Max-Forwards: 8 To: sip:user@company.com From: sip:caller@university.edu;tag=8814 Call-ID: 3@10.0.0.1 CSeq: 1 INVITE Via: SIP/2.0/UDP 135.180.130.133:5060;branch=z9hG4bKkdjuw Content-Type: application/sdp Content-Length: 174 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.24 INVITE with a legal SIP URI containing escaped characters This INVITE is legal and has a Request-URI with a SIP URI containing escaped characters. Message Details INVITE sip:sip%3Auser%40example.com@company.com;other-param=summit SIP/2.0 To: sip:user@company.com From: sip:caller@university.edu;tag=938 Max-Forwards: 87 Johnston, et al. Informational [Page 204] Internet Draft SIP Call Flow Examples July 2002 Call-ID: 4@10.0.0.1 CSeq: 1 INVITE Via: SIP/2.0/UDP 135.180.130.133:5060;branch=z9hG4bKkdjuw Content-Type: application/sdp Content-Length: 174 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.25 INVITE with the illegal use of escaped headers in Request-URI This INVITE is illegal as it the Request-URI contains a SIP URI containing escaped headers. An intelligent server may be liberal enough to accept this. A server acting as a proxy should remove the escaped header before processing. Message Details INVITE sip:user@company.com?Route=%3Csip:sip.example.com%3E SIP/2.0 To: sip:user@company.com From: sip:caller@university.edu;tag=341518 Max-Forwards: 7 Call-ID: 5@10.0.0.1 CSeq: 1 INVITE Via: SIP/2.0/UDP 135.180.130.133:5060;branch=z9hG4bKkdjuw Content-Type: application/sdp Content-Length: 174 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.26 INVITE containing an unknown scheme in the Request URI Johnston, et al. Informational [Page 205] Internet Draft SIP Call Flow Examples July 2002 This INVITE contains an unknown URI scheme in the Request-URI. A server should reject this message with a 400 response plus an appropriate reason phrase despite being able to understand the To header as a SIP URI. Message Details INVITE name:user SIP/2.0 To: sip:user@company.com From: sip:caller@university.edu;tag=384 Max-Forwards: 3 Call-ID: 6@10.0.0.1 CSeq: 1 INVITE Via: SIP/2.0/UDP 135.180.130.133;branch=z9hG4bKkdjuw Content-Type: application/sdp Content-Length: 174 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.27 OPTIONS with no LWS between display name and < This OPTIONS request is legal despite there being no LWS between the display name and < in the From header. Message Details OPTIONS sip:user@company.com SIP/2.0 To: sip:user@company.com From: "caller";tag=323 Max-Forwards: 70 Call-ID: 1234abcd@10.0.0.1 CSeq: 1 OPTIONS Via: SIP/2.0/UDP 135.180.130.133:5060;branch=z9hG4bKkdjuw 7.28 OPTIONS with extran LWS between display name and < This OPTIONS request is legal despite there being extra LWS between the display name and < in the From header. Johnston, et al. Informational [Page 206] Internet Draft SIP Call Flow Examples July 2002 Message Details OPTIONS sip:user@company.com SIP/2.0 To: sip:user@company.com From: "caller" ;tag=32 Max-Forwards: 70 Call-ID: 1234abcd@10.0.0.1 CSeq: 2 OPTIONS Via: SIP/2.0/UDP 135.180.130.133:5060;branch=z9hG4bKkdjuw 7.29 INVITE with an illegal SIP Date format. This INVITE is illegal as it contains a non GMT time zone in the SIP Date header. An intelligent server may be able to fix this up and correct the time to GMT. Alternatively this message may illicit a 400 response with an appropriate reason phrase. Message Details INVITE sip:user@company.com SIP/2.0 To: sip:user@company.com From: sip:caller@university.edu;tag=2 Max-Forwards: 70 Call-ID: 7@10.0.0.1 CSeq: 1 INVITE Via: SIP/2.0/UDP 135.180.130.133:5060;branch=z9hG4bKkdjuw Date: Fri, 01 Jan 2010 16:00:00 EST Content-Type: application/sdp Content-Length: 174 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.30 INVITE with Passed Expries Time This is a legal INVITE but the message content has long since expired. Johnston, et al. Informational [Page 207] Internet Draft SIP Call Flow Examples July 2002 A server should respond 408 (Timeout). Message Details INVITE sip:user@company.com SIP/2.0 To: sip:user@company.com From: sip:caller@university.edu;tag=3843 Max-Forwards: 70 Call-ID: 8@10.0.0.1 CSeq: 1 INVITE Via: SIP/2.0/UDP 135.180.130.133:5060;branch=z9hG4bKkdjuw Expires: Thu, 01 Dec 1994 16:00:00 GMT Content-Type: application/sdp Content-Length: 174 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.31 INVITE with Max-Forwards Set to Zero This is a legal SIP request with the Max-Forwards header set to zero. A proxy or gateway should not forward the request and respond 483 (Too Many Hops). Message Details INVITE sip:user@company.com SIP/2.0 To: sip:user@company.com From: sip:caller@university.edu;tag=3ghsd41 Call-ID: 9@10.0.0.1 CSeq: 1 INVITE Via: SIP/2.0/UDP 135.180.130.133:5060;branch=z9hG4bKkdjuw Max-Forwards: 0 Content-Type: application/sdp Content-Length: 174 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 Johnston, et al. Informational [Page 208] Internet Draft SIP Call Flow Examples July 2002 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.32 REGISTER with a Escaped Header in a Legal SIP URI of a Contact This is a legal REGISTER message where the Contact header contains a SIP URI with an escaped header within it. Message Details REGISTER sip:company.com SIP/2.0 To: sip:user@company.com From: sip:user@company.com;tag=8 Max-Forwards: 70 Contact: sip:user@host.company.com Call-ID: k345asrl3fdbv@10.0.0.1 CSeq: 1 REGISTER Via: SIP/2.0/UDP 135.180.130.133:5060;branch=z9hG4bKkdjuw Contact: 7.33 REGISTER with a Escaped Header in a Illegal SIP URI of a Contact This is an illegal message as the REGISTER request contains a SIP URI with an escaped header but it is not enclosed in <> A server should respond 400 with an appropriate reason phrase. Message Details REGISTER sip:company.com SIP/2.0 To: sip:user@company.com From: sip:user@company.com;tag=998332 Max-Forwards: 70 Contact: sip:user@host.company.com Call-ID: k345asrl3fdbv@10.0.0.1 CSeq: 1 REGISTER Via: SIP/2.0/UDP 135.180.130.133:5060;branch=z9hG4bKkdjuw Contact: sip:user@example.com?Route=%3Csip:sip.example.com%3E 7.34 INVITE with Long Values in Headers This is a legal message that contains long values in many headers. Johnston, et al. Informational [Page 209] Internet Draft SIP Call Flow Examples July 2002 Message Details INVITE sip:user@company.com SIP/2.0 To: "I have a user name of extreme proportion" From: sip:caller@university.edu;tag=12481841982424 Call-ID: kl24ahsd546folnyt2vbak9sad98u23naodiunzds09a3bqw0sdfbsk34poouymnae004 3nsed09mfkvc74bd0cuwnms05dknw87hjpobd76f CSeq: 1 INVITE P-My-State: sldkjflzdsfaret0803adgaasd0afds0asdaasd Via: SIP/2.0/TCP sip33.example.com Via: SIP/2.0/TCP sip32.example.com Via: SIP/2.0/TCP sip31.example.com Via: SIP/2.0/TCP sip30.example.com Via: SIP/2.0/TCP sip29.example.com Via: SIP/2.0/TCP sip28.example.com Via: SIP/2.0/TCP sip27.example.com Via: SIP/2.0/TCP sip26.example.com Via: SIP/2.0/TCP sip25.example.com Via: SIP/2.0/TCP sip24.example.com Via: SIP/2.0/TCP sip23.example.com Via: SIP/2.0/TCP sip22.example.com Via: SIP/2.0/TCP sip21.example.com Via: SIP/2.0/TCP sip20.example.com Via: SIP/2.0/TCP sip19.example.com Via: SIP/2.0/TCP sip18.example.com Via: SIP/2.0/TCP sip17.example.com Via: SIP/2.0/TCP sip16.example.com Via: SIP/2.0/TCP sip15.example.com Via: SIP/2.0/TCP sip14.example.com Via: SIP/2.0/TCP sip13.example.com Via: SIP/2.0/TCP sip12.example.com Via: SIP/2.0/TCP sip11.example.com Via: SIP/2.0/TCP sip10.example.com Via: SIP/2.0/TCP sip9.example.com Via: SIP/2.0/TCP sip8.example.com Via: SIP/2.0/TCP sip7.example.com Via: SIP/2.0/TCP sip6.example.com Via: SIP/2.0/TCP sip5.example.com Via: SIP/2.0/TCP sip4.example.com Via: SIP/2.0/TCP sip3.example.com Via: SIP/2.0/TCP sip2.example.com Via: SIP/2.0/TCP sip1.example.com Via: SIP/2.0/TCP host.example.com;received=135.180.130.133;branch=C1C3344E2710000000E2 99E568E7potato10potato0potato0 Content-Type: application/sdp Johnston, et al. Informational [Page 210] Internet Draft SIP Call Flow Examples July 2002 v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 s=- c=IN IP4 135.180.130.88 t=0 0 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC 7.35 OPTIONS with multiple headers. This is an illegal and badly mangled message. A server should respond 400 with an appropriate reason phrase if it can. It may just drop this message. Message Details OPTIONS sip:135.180.130.133 SIP/2.0 Via: SIP/2.0/UDP company.com:5604 Max-Forwards: 70 From: sip:iuser@company.com;tag=74345345 To: sip:user@135.180.130.133 Call-ID: 1804928587@company.com CSeq: 1 OPTIONS Expires: 0 0l@company.com To: sip:user@135.180.130.133 Call-ID: 1804928587@company.com CSeq: 1 OPTIONS Contact: sip:host.company.com Expires: 0xpires: 0sip:host.company.com Expires: 0 Contact: sip:host.company.com 7.36 INVITE with large number of SDP attributes and telephone subscriber Request-URI This is a legal message with a large number of SDP attributes and a long telephone subscriber Request-URI Message Details INVITE sip:+19725552222;phone- context=name%40domain;new=user?%22Route%3a%20X%40Y%3bZ=W%22@gw1.atlan ta.com;user=phone SIP/2.0 Via: SIP/2.0/UDP iftgw.biloxi.com:5060;branch=z9hG4bKjeefr3 Johnston, et al. Informational [Page 211] Internet Draft SIP Call Flow Examples July 2002 Max-Forwards: 70 From: ;tag=332lflke To: sip:+16555552222@ss1.atlanta.com;user=phone Call-ID: 1717@ift.client.atlanta.com CSeq: 56 INVITE Content-Type: application/sdp Content-Length: 320 v=0 o=faxgw1 2890844527 2890844527 IN IP4 iftgw.biloxi.com s=- c=IN IP4 iftmg.biloxi.com t=0 0 m=image 49172 udptl t38 a=T38FaxVersion:0 a=T38maxBitRate:14400 a=T38FaxFillBitRemoval:0 a=T38FaxTranscodingMMR:0 a=T38FaxTranscodingJBIG:0 a=T38FaxRateManagement:transferredTCF a=T38FaxMaxBuffer:260 a=T38FaxUdpEC:t38UDPR 7.37 REGISTER with a contact parameter. This REGISTER contains a contact where the 'user' parameter should be interpreted as being a contact-param and not a url-param. The register should succeed but a subsequent retrieval of the registration must not include "user=phone" as a url-parameter. Message Details REGISTER sip:bell-tel.com SIP/2.0 Via: SIP/2.0/UDP saturn.bell-tel.com:5060;branch=z9hG4bKkdjuw Max-Forwards: 70 From: sip:watson@bell-tel.com;tag=DkfVgjkrtMwaerKKpe To: sip:watson@bell-tel.com Call-ID: 70710@saturn.bell-tel.com CSeq: 2 REGISTER Contact: sip:+19725552222@gw1.atlanta.com;user=phone 7.38 REGISTER with a url parameter. This register contains a contact where the 'user'parameter is a url- param. Johnston, et al. Informational [Page 212] Internet Draft SIP Call Flow Examples July 2002 The register should succeed and a subsequent retrieval of the registration must include "user=phone" as a url-parameter. Message Details REGISTER sip:bell-tel.com SIP/2.0 Via: SIP/2.0/UDP saturn.bell-tel.com:5060;branch=z9hG4bKkdjuw Max-Forwards: 70 From: sip:watson@bell-tel.com;tag=838293 To: sip:watson@bell-tel.com Call-ID: 70710@saturn.bell-tel.com CSeq: 3 REGISTER Contact: 7.39 INVITE with an Unquoted Display Name Containing Multiple Tokens This is a legal INVITE where the To and From header contain display names that contain multiple tokens but are unquoted. Message Details INVITE sip:t.watson@ieee.org SIP/2.0 Via: SIP/2.0/UDP c.bell-tel.com:5060;branch=z9hG4bKkdjuw Max-Forwards: 70 From: A. Bell ;tag=459843 To: T. Watson Call-ID: 31414@c.bell-tel.com CSeq: 1 INVITE 7.40 INVITE with an Unquoted Display Name Containg Non-Token Characters This is an illegal invite at the display names in the To and From headers contain non-token characters but are unquoted. A server may be intelligent enough to cope with this but may also return a 400 response with an appropriate reason phrase. Message Details INVITE sip:t.watson@ieee.org SIP/2.0 Via: SIP/2.0/UDP c.bell-tel.com:5060;branch=z9hG4bKkdjuw Max-Forwards: 70 From: Bell, Alexander ;tag=43 To: Watson, Thomas Call-ID: 31415@c.bell-tel.com Johnston, et al. Informational [Page 213] Internet Draft SIP Call Flow Examples July 2002 CSeq: 1 INVITE 7.41 INVITE with Unknown (Higher) Protocol Version in Start Line This is an illegal INVITE as the SIP Protocol version is unknown. The server should respond to the request with a bad version error. Message Details INVITE sip:t.watson@ieee.org SIP/7.0 Via: SIP/2.0/UDP c.bell-tel.com;branch=z9hG4bKkdjuw Max-Forwards: 70 From: A. Bell ;tag=qweoiqpe To: T. Watson Call-ID: 31417@c.bell-tel.com CSeq: 1 INVITE 7.42 INVITE with RFC2543 syntax This is a legal message per RFC 2543 which should be accepted by RFC 3261 elements which want to maintain backwards compatibility. Message Details INVITE sip:UserB@biloxi.com SIP/2.0 Via: SIP/2.0/UDP iftgw.biloxi.com From: ;tag=93752 Record-Route: To: sip:+16505552222@ss1.atlanta.com;user=phone Call-ID: 1717@ift.client.atlanta.com CSeq: 56 INVITE 8 Security Considerations Since this document represents NON NORMATIVE examples of SIP session establishment and interworking between SIP and the PSTN, the security considerations in RFC 3261 [RFC3261] and [SIP-ISUP] apply. 9 IANA Considerations None. Johnston, et al. Informational [Page 214] Internet Draft SIP Call Flow Examples July 2002 10 Acknowledgements Thanks to Rohan Mahy, Adam Roach, Gonzalo Camarillo, Cullen Jennings, and Tom Taylor for their detailed comments during the final final review. The authors wish to thank Neil Deason for his additions to the Torture Test messages and Kundan Singh for performing parser validation of messages. The authors wish to thank the following individuals for their participation in the final review of this call flows document: Aseem Agarwal, Rafi Assadi, Ben Campbell, Sunitha Kumar, Jon Peterson, Marc Petit-Huguenin, Vidhi Rastogi, and Bodgey Yin Shaohua. The authors also wish to thank the following individuals for their assistance: Jean-Francois Mule, Hemant Agrawal, Henry Sinnreich, David Devanatham, Joe Pizzimenti, Matt Cannon, John Hearty, the whole MCI WorldCom IPOP Design team, Scott Orton, Greg Osterhout, Pat Sollee, Doug Weisenberg, Danny Mistry, Steve McKinnon, and Denise Ingram, Denise Caballero, Tom Redman, Ilya Slain, Pat Sollee, John Truetken, and others from MCI WorldCom, 3Com, Cisco, Lucent and Nortel. 11 References [RFC3261] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, and E. Schooler, "SIP: Session Initiation Protocol", Internet Engineering Task Force, Work in Progress. [RFC2617] Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach, P., Luotonen, A. and L. Stewart, "HTTP authentication: Basic and Digest Access Authentication", RFC 2617, June 1999. [RFC3264] J.Rosenberg and H.Schulzrinne, "An Offer/Answer Model with SDP", Internet Engineering Task Force, RFC 3264, April 2002. [RFC2401] S. Kent, R. Atkinson, "Security Architecture for the Internet Protocol", RFC 2401, November 1998. [RFC2246] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0", RFC 2246, January 1999. [RFC2806] A. Vaha-Sipila, "URLs for Telephone Calls", Internet Draft, Internet Engineering Task Force, RFC 2806, April 2000. [SIP-ISUP] G. Camarillo, "Best Current Practice for ISUP to SIP Mapping", Internet Draft, Internet Engineering Task Force, Work in progress. Johnston, et al. Informational [Page 215] Internet Draft SIP Call Flow Examples July 2002 Author's Addresses All listed authors actively contributed large amounts of text to this document. Alan Johnston WorldCom 100 South 4th Street St. Louis, MO 63102 USA EMail: alan.johnston@wcom.com Steve Donovan dynamicsoft, Inc. 5100 Tennyson Parkway Suite 1200 Plano, Texas 75024 USA EMail: sdonovan@dynamicsoft.com Robert Sparks dynamicsoft, Inc. 5100 Tennyson Parkway Suite 1200 Plano, Texas 75024 USA EMail: rsparks@dynamicsoft.com Chris Cunningham dynamicsoft, Inc. 5100 Tennyson Parkway Suite 1200 Plano, Texas 75024 USA EMail: ccunningham@dynamicsoft.com Dean Willis dynamicsoft, Inc. 5100 Tennyson Parkway Suite 1200 Plano, Texas 75024 USA Email: dwillis@dynamicsoft.com Johnston, et al. Informational [Page 216] Internet Draft SIP Call Flow Examples July 2002 Jonathan Rosenberg dynamicsoft 72 Eagle Rock Ave East Hanover, NJ 07936 USA EMail: jdrosen@dynamicsoft.com Kevin Summers Sonus 1701 North Collins Blvd, Suite 3000 Richardson, TX 75080 USA Email: kevin.summers@sonusnet.com Henning Schulzrinne Dept. of Computer Science Columbia University 1214 Amsterdam Avenue New York, NY 10027 USA EMail: schulzrinne@cs.columbia.edu Copyright Notice "Copyright (C) The Internet Society 2002. All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. Johnston, et al. Informational [Page 217] Internet Draft SIP Call Flow Examples July 2002 The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Johnston, et al. Informational [Page 218]