Internet Draft Alan Johnston Document: draft-ietf-sip-call-flows-00a.txt Steve Donovan Category: Informational Robert Sparks Chris Cunningham Kevin Summers Dean Willis ? MCI WorldCom February 2000 SIP Telephony 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[1]. 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 document gives examples of SIP (Session Initiation Protocol) call flows for IP telephony and service examples. 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). IP telephony 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). Telephony service examples illustrated with call flows include call hold, transfer, forwarding, screening, and Find-Me. Example SIP messages used for testing during SIP "bakeoff" events include SIP "torture test" messages, and messages with invalid parameters, methods, and tags. Internet Draft SIP Telephony Call Flow Examples February 2000 Table of Contents 1 Overview...................................................3 1.1General Assumptions ...........................................4 1.2Legend for Message Flows ......................................6 1.3SIP Protocol Assumptions ......................................6 2 SIP Registration Services..................................8 2.1Success Scenarios .............................................8 2.1.1SIP Client New Registration ................................8 2.1.2User updates contact list .................................11 2.1.3User Requests Current Contact List ........................13 2.1.4User Cancels Registration .................................15 2.2Failure Scenarios ............................................17 2.2.1Unsuccessful SIP registration .............................17 3 SIP to SIP Dialing........................................19 3.1Success Scenarios ............................................19 3.1.1Successful Simple SIP to SIP ..............................20 3.1.2Successful SIP to SIP through two proxies .................23 3.1.3Successful SIP to SIP with Proxy failure ..................32 3.1.4Successful SIP to SIP through SIP Firewall Proxy ..........40 3.1.5Successful SIP to SIP via Redirect and Proxy ..............48 3.2Failure Scenarios ............................................55 3.2.1Unsuccessful SIP to SIP no answer .........................55 3.2.2Unsuccessful SIP to SIP busy ..............................60 3.2.3Unsuccessful SIP to SIP no response .......................64 3.2.4Unsuccessful SIP to SIP Temporarily Unavailable ...........69 4 SIP to Gateway Dialing....................................75 4.1Success Scenarios ............................................75 4.1.1Successful SIP to ISUP PSTN call ..........................76 4.1.2Successful SIP to ISDN PBX call ...........................84 4.1.3Successful SIP to ISUP PSTN call with overflow ............95 4.2Failure Scenarios ...........................................103 4.2.1Unsuccessful SIP to PSTN call: Treatment from PSTN .......104 4.2.2Unsuccessful SIP to PSTN: REL w/Cause from PSTN ..........109 4.2.3Unsuccessful SIP to PSTN: ANM Timeout ....................113 5 Gateway to SIP Dialing...................................118 5.1Success Scenarios ...........................................118 5.1.1Successful PSTN to SIP call ..............................119 5.1.2Successful PSTN to SIP call, Fast Answer .................125 5.1.3Successful PBX to SIP call ...............................130 5.2Failure Scenarios ...........................................136 5.2.1Unsuccessful PSTN to SIP REL, SIP error mapped to REL ....136 5.2.2Unsuccessful PSTN to SIP REL, SIP busy mapped to REL .....138 5.2.3Unsuccessful PSTN->SIP, SIP error interworking to tones ..142 5.2.4Unsuccessful PSTN->SIP, ACM timeout ......................146 5.2.5Unsuccessful PSTN->SIP, ACM timeout, stateless Proxy .....151 5.2.6Unsuccessful PSTN->SIP, ANM timeout ......................156 6 Gateway to Gateway Dialing via SIP Network...............161 Johnston, et al. Informational [Page 2] Internet Draft SIP Telephony Call Flow Examples February 2000 6.1Success Scenarios ...........................................161 6.1.1Successful ISUP PSTN to ISUP PSTN call ...................162 6.1.2Successful FGB PBX to ISDN PBX call with overflow ........170 7 IP Telephony Services Features Call Flows................179 7.1Call Hold ...................................................179 7.2Consultation Hold ...........................................190 7.3Unattended Transfer .........................................205 7.4Attended Transfer ...........................................219 7.5Call Forwarding Unconditional ...............................220 7.6Call Forwarding - Busy ......................................225 7.7Call Forwarding _ No Answer .................................231 7.83-way Conference ............................................238 7.9Single Line Extension .......................................238 7.10 Find-Me..................................................239 7.11 Call Management (Incoming Call Screening)................248 7.12 Call Management (Outgoing Call Screening)................251 8 SIP Test Messages........................................254 8.1INVITE Parser Torture Test Message ..........................254 8.2INVITE with Proxy-Require and Require .......................256 8.3INVITE with Unknown Schemes in URIs and URLs ................257 8.4REGISTER with Y2038 Test ....................................258 8.5INVITE with inconsistent Accept and message body ............259 8.6INVITE with non-SDP message body ............................260 8.7Unknown Method Message ......................................261 8.8Unknown Method with CSeq Error ..............................262 8.9REGISTER with Unknown Authorization Scheme ..................263 8.10 INVITE with Invalid SIP Version Number...................264 8.11 INVITE missing Required Headers..........................265 8.12 INVITE with Duplicate Required Headers...................266 8.13 INVITE with Illegal Expires Header.......................267 8.14 200 OK Response with Broadcast Via Header................268 8.15 INVITE with Invalid Via and Contact Headers..............269 8.16 INVITE with Incorrect Content-Length Header..............270 8.17 INVITE with Invalid Value for Content-Length.............271 8.18 INVITE with Garbage after Message Body...................272 8.19 INVITE with Error in Display Name in To Header...........273 9 Acknowledgements.........................................274 10 References...............................................274 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 testing "bake-offs." 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 Johnston, et al. Informational [Page 3] Internet Draft SIP Telephony Call Flow Examples February 2000 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. These call flows are based on the current version 2.0 of SIP in RFC2543[2]. Additions and changes to SIP necessary for PSTN interworking are referenced as IETF Internet-Drafts as they are used in the call flows. 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. The intent of this document was not to provide a complete and exact mapping of PSTN protocols to SIP. Rather the emphasis is on the SIP signaling, the message interaction, and the modifications to SIP currently proposed to solve IP Telephony issues. An example set of telephony features is also illustrated with call flows. 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 underlie the call flows in this document. They are outlined in this section so that they may be taken into consideration. Differences in these assumptions will affect the nature of the call flows. The authentication of SIP User Agents in these example call flows is performed using SIP Digest[2]. No authentication of Gateways is shown, since it is assumed that: . Gateways will only accept calls routed through a trusted Proxy. . Proxies will perform the Client authentication. . The Proxy and the Gateway will authenticate each other using IPSec[4]. The SIP Proxy Server has access to a Location Manager 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. The Proxy Servers in these call flows insert Record-Route headers into requests to ensure that they are in the signaling path for Johnston, et al. Informational [Page 4] Internet Draft SIP Telephony Call Flow Examples February 2000 future message exchanges. This allows them to implement features later in the call. Gateways receive enough information in the Request-URI field to determine how to route a call, i.e. what trunk group or link to select, what digits to outpulse, etc. 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. Two types of Gateways are described in this document. The actual names of Gateways will be vendor and implementation specific. However, two catagories are described here since the type of Gateway determines the form of the SIP URL used to identify them. The two types are: . Network Gateway. This high port count PSTN gateway originates and terminates calls to the PSTN. Its use is shared by many customers. Incoming calls from the PSTN have the From header populated with a SIP URL containing the telephone number from the calling party telephone number, if available. A Network Gateway typically uses carrier protocols such as SS7. . Enterprise Gateway. This low port count PBX (Private Branch Exchange) gateway has trunks or lines for a single customer or user. Incoming calls from the PBX have the From header populated with a provisionable string which uniquely identifies the customer, trunk group, or carrier. This allows private numbers to be interpreted in their correct context. An Enterprise Gateway typically uses SS7, ISDN, circuit associated signaling, or other PBX interfaces. 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. Digit handling by the Gateways will be as follows: . Dialed digits received from a Network or Enterprise Gateway will be put in a SIP URL with a telephone number. The number will either be globalized (e.g. sip:+1-314-555-1111@ngw.wcom.com ;user=phone) or left as a private number (sip:555- 6666@gw.wcom.com;phone-context=p1234) which will require Johnston, et al. Informational [Page 5] Internet Draft SIP Telephony Call Flow Examples February 2000 interpretation based on From header. The "phone-context" qualifier is used to interpret the private number. It is used the same as the tag of the same name from the tel URL draft[5]. All Gateways will need to be provisioned to be able to parse the user portion of a Request-URI to determine the customer, trunk group, or circuit referenced. . The From header will be populated with a SIP URL with a telephone number if it is Calling Party number (CgPN) from the PSTN. If it is an Enterprise Gateway, a provisionable string which uniquely identifies the customer, trunk group, or carrier will be used in the sip URI (e.g. From: sip:ProvisionableString@gw1.wcom.com;user=phone). . Note that an alternative to using a SIP URL for telephone numbers is the tel URL[5]. The major difference between using the SIP URL and the tel URL is that the SIP URL is routable in a SIP network (resolves down to an IP address) where the tel URL is not (it just represents digits). For example, a SIP URL can be used in a Contact header, but a tel URL can not. These flows show UDP for transport. TCP could also be used. Some of the Service Examples use SIP call control extensions[10]. 1.2 Legend for Message Flows Dashed lines (---) represent control messages that are mandatory to the call scenario. These control messages can be SIP or PSTN signaling. Double dashed lines (===) represent media paths between network elements. Messages with parenthesis around name represent optional control messages. Messages are identified in the Figures as F1, F2, etc. This references the message details in the table that follows the Figure. Comments in the message details are shown in the following form: /* Comments. */ 1.3 SIP Protocol Assumptions Except for the following, this call flows document uses the April 1999 version 2.0 of SIP defined by RFC2543[2]. The following changes/extensions are assumed throughout: . A Contact header is included with every INVITE message. Johnston, et al. Informational [Page 6] Internet Draft SIP Telephony Call Flow Examples February 2000 . A Contact header is included in every 200 OK Response. . The 183 Session Progress response message[5] is used in SIP to Gateway and Gateway to Gateway via SIP calling (Sections 4 and 6). The 183 response with SDP will cause the User Agent to immediately play the SDP media stream to hear in-band call progress information. See Section 4 for more information. . A Content-Length header is present in every message, set to zero if there is no message body. . The final entry in a Route header is always the Contact information obtained from the INVITE or 200 OK messages. . In the SDP message bodies, the time field is "t=0 0" It is expected that an actual SDP message body would have a non-zero start timestamp. Johnston, et al. Informational [Page 7] Internet Draft SIP Telephony Call Flow Examples February 2000 2 SIP Registration Services 2.1 Success Scenarios Registration either validates or invalidates a SIP client for user services provided by the SIP proxy and/or SIP server. Additionally, the client provides one or more contact locations to the SIP server with the registration request. Registration is used by a Proxy to route incoming calls in an IP Telephony network. All these call flows assume that registration requires authentication, otherwise an imposter could "hijack" someone else's calls. 2.1.1 SIP Client New Registration User B SIP Server | | | REGISTER F1 | |------------------------------>| | | | 401 Unauthorized F2 | |<------------------------------| | | | REGISTER F3 | |------------------------------>| | | | 200 OK F4 | |<------------------------------| | | User B initiates a new SIP session with the SIP Server (i.e. the user "logs on to" the SIP server). 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 as described by RFC2543[2]. Message Details F1 REGISTER B -> SIP Server Johnston, et al. Informational [Page 8] Internet Draft SIP Telephony Call Flow Examples February 2000 REGISTER sip:ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: LittleGuy Call-ID: 123456789@here.com CSeq: 1 REGISTER Contact: LittleGuy Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone Contact: tel:+1-972-555-2222 Content-Length: 0 F2 401 Unauthorized SIP Server -> User B SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: LittleGuy Call-ID: 123456789@here.com CSeq: 1 REGISTER WWW-Authenticate: Digest realm="MCI WorldCom SIP", domain="wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", stale="FALSE", algorithm="MD5" Content-Length: 0 F3 REGISTER B -> SIP Server REGISTER sip:ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: LittleGuy Call-ID: 123456790@here.com CSeq: 1 REGISTER Contact: LittleGuy Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone Contact: tel:+1-972-555-2222 Authorization:Digest username="UserB", realm="MCI WorldCom SIP", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", uri="sip:ss2.wcom.com", response="dfe56131d1958046689cd83306477ecc" Content-Length: 0 F4 200 OK SIP Server -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: LittleGuy Call-ID: 1234567890@here.com Johnston, et al. Informational [Page 9] Internet Draft SIP Telephony Call Flow Examples February 2000 CSeq: 1 REGISTER Contact: LittleGuy Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone Contact: tel:+1-972-555-2222 Content-Length: 0 Johnston, et al. Informational [Page 10] Internet Draft SIP Telephony Call Flow Examples February 2000 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.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: LittleGuy Call-ID: 123456791@here.com CSeq: 1 REGISTER Contact: mailto:UserB@there.com Authorization:Digest username="UserB", realm="MCI WorldCom SIP", nonce="1cec4341ae6cbe5a359ea9c8e88df84f", opaque="", uri="sip:ss2.wcom.com", response="71ba27c64bd01de719686aa4590d5824" Content-Length: 0 F2 200 OK SIP Server -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy Johnston, et al. Informational [Page 11] Internet Draft SIP Telephony Call Flow Examples February 2000 To: LittleGuy Call-ID: 1234567891@here.com CSeq: 1 REGISTER Contact: LittleGuy Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone Contact: tel:+1-972-555-2222 Contact: mailto:UserB@there.com Content-Length: 0 Johnston, et al. Informational [Page 12] Internet Draft SIP Telephony Call Flow Examples February 2000 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. 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. Message Details F1 REGISTER B -> SIP Server REGISTER sip:ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: LittleGuy Call-ID: 123456792@here.com CSeq: 1 REGISTER Authorization:Digest username="UserB", realm="MCI WorldCom SIP", nonce="df84f1cec4341ae6cbe5ap359a9c8e88", opaque="", uri="sip:ss2.wcom.com", response="aa7ab4678258377c6f7d4be6087e2f60" Content-Length: 0 F2 200 OK SIP Server -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: LittleGuy Call-ID: 1234567892@here.com CSeq: 1 REGISTER Contact: LittleGuy Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone Johnston, et al. Informational [Page 13] Internet Draft SIP Telephony Call Flow Examples February 2000 Contact: tel:+1-972-555-2222 Contact: mailto:UserB@there.com Content-Length: 0 Johnston, et al. Informational [Page 14] Internet Draft SIP Telephony Call Flow Examples February 2000 2.1.4 User Cancels Registration User B SIP Server | | | REGISTER F1 | |------------------------------>| | | | 200 OK F2 | |<------------------------------| | | User B wishes to cancel her/his registration with the SIP registrar/redirect 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.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: LittleGuy Call-ID: 123456791@here.com CSeq: 1 REGISTER Expires: 0 Contact: * Authorization:Digest username="UserB", realm="MCI WorldCom SIP", nonce="88df84f1cac4341aea9c8ee6cbe5a359", opaque="", uri="sip:ss2.wcom.com", response="ff0437c51696f9a76244f0cf1dbabbea" Content-Length: 0 F2 200 OK SIP Server -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: LittleGuy Call-ID: 1234567891@here.com CSeq: 1 REGISTER Content-Length: 0 Johnston, et al. Informational [Page 15] Internet Draft SIP Telephony Call Flow Examples February 2000 Johnston, et al. Informational [Page 16] Internet Draft SIP Telephony Call Flow Examples February 2000 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.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: LittleGuy Call-ID: 123456789@here.com CSeq: 1 REGISTER Contact: LittleGuy Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone Contact: tel:+1-972-555-2222 Content-Length: 0 F2 Unauthorized SIP Server -> User B Johnston, et al. Informational [Page 17] Internet Draft SIP Telephony Call Flow Examples February 2000 SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: LittleGuy Call-ID: 123456789@here.com CSeq: 1 REGISTER WWW-Authenticate: Digest realm="MCI WorldCom SIP", domain="wcom.com", nonce="f1cec4341ae6ca9c8e88df84be55a359", opaque="", stale="FALSE", algorithm="MD5" Content-Length: 0 F3 REGISTER B -> SIP Server REGISTER sip:ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: LittleGuy Call-ID: 123456791@here.com CSeq: 1 REGISTER Contact: LittleGuy Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone Contact: tel:+1-972-555-2222 Authorization:Digest username="UserB", realm="MCI WorldCom SIP", nonce="f1cec4341ae6ca9c8e88df84be55a359", opaque="", uri="sip:ss2.wcom.com", response="61f8470ceb87d7ebf508220214ed438b" Content-Length: 0 /* The response above encodes the incorrect password _IForgotIt_ */ F4 401 Unauthorized SIP Server -> User B SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: LittleGuy Call-ID: 1234567891@here.com CSeq: 1 REGISTER WWW-Authenticate: Digest realm="MCI WorldCom SIP", domain="wcom.com", nonce="84f1c1ae6cbe5ua9c8e88dfa3ecm3459", opaque="", stale="FALSE", algorithm="MD5" Content-Length: 0 Johnston, et al. Informational [Page 18] Internet Draft SIP Telephony Call Flow Examples February 2000 3 SIP to SIP Dialing 3.1 Success Scenarios This section details calls between two SIP User Agent Clients (UACs) _ User A and User B. User A (LittleGuy sip:UserA@here.com) and User B (BigGuy sip:UserB@there.com) are assumed to be SIP phones or SIP- enabled devices. Calls route using at least one SIP Proxy server. 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 the first Proxy Server 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. Johnston, et al. Informational [Page 19] Internet Draft SIP Telephony Call Flow Examples February 2000 3.1.1 Successful Simple SIP to SIP User A User B | | | INVITE F1 | |----------------------->| | (100 Trying) F2 | |<-----------------------| | 180 Ringing F3 | |<-----------------------| | | | 200 OK F4 | |<-----------------------| | ACK F5 | |----------------------->| | Both Way RTP Media | |<======================>| | | | BYE F6 | |<-----------------------| | 200 OK F7 | |----------------------->| | | In this scenario, User A completes a call to User B directly. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 Johnston, et al. Informational [Page 20] Internet Draft SIP Telephony Call Flow Examples February 2000 a=rtpmap:0 PCMU/8000 F2 (100 Trying) User B -> User A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Content-Length: 0 F3 180 Ringing User B -> User A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Content-Length: 0 F4 200 OK User B -> User A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 134 v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F5 ACK User A -> User B ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Johnston, et al. Informational [Page 21] Internet Draft SIP Telephony Call Flow Examples February 2000 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between A and B */ /* User B Hangs Up with User A. */ F6 BYE User B -> User A BYE sip: UserA@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: BigGuy Call-ID: 12345601@here.com CSeq: 1 BYE Content-Length: 0 F7 200 OK User A -> User B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: BigGuy Call-ID: 12345601@here.com CSeq: 1 BYE Content-Length: 0 Johnston, et al. Informational [Page 22] Internet Draft SIP Telephony Call Flow Examples February 2000 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) 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 Johnston, et al. Informational [Page 23] Internet Draft SIP Telephony Call Flow Examples February 2000 2 also inserts itself into the Record-Route header. The ACK (F15) and BYE (F18) both have a Route header. A tag is inserted by User B in message F9 since the initial INVITE message contains more than one Via header and may have been forked. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 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 here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Proxy-Authenticate: Digest realm="MCI WorldCom SIP", domain="wcom.com", nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", stale="FALSE", algorithm="MD5" Content-Length: 0 F3 ACK A -> Proxy 1 ACK sip:UserB@ss1.wcom.com SIP/2.0 Johnston, et al. Informational [Page 24] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 /* User A responds be re-sending the INVITE with authentication credentials in it. */ F4 INVITE A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", uri="sip:ss1.wcom.com", response="42ce3cef44b22f50c6a6071bc8" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 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 49170 from the network. */ F5 INVITE Proxy 1 -> Proxy 2 INVITE sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 25] Internet Draft SIP Telephony Call Flow Examples February 2000 Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 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 here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Content-Length: 0 F7 INVITE Proxy 2 -> B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: , From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 (100 Trying) Proxy 2 -> Proxy 1 Johnston, et al. Informational [Page 26] Internet Draft SIP Telephony Call Flow Examples February 2000 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Content-Length: 0 F9 180 Ringing B -> Proxy 2 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Content-Length: 0 F10 180 Ringing Proxy 2 -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Content-Length: 0 F11 180 Ringing Proxy 1 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Content-Length: 0 F12 200 OK B -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.wcom.com:5060 Johnston, et al. Informational [Page 27] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: , From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 134 v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 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.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: , From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 134 v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 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 here.com:5060 Record-Route: , From: BigGuy To: LittleGuy ;tag=314159 Johnston, et al. Informational [Page 28] Internet Draft SIP Telephony Call Flow Examples February 2000 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 134 v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F15 ACK A -> Proxy 1 ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: , From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length: 0 F16 ACK Proxy 1 -> Proxy 2 ACK sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length: 0 F17 ACK Proxy 2 -> B ACK sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 ACK Johnston, et al. Informational [Page 29] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: 0 /* RTP streams are established between A and B */ /* User B Hangs Up with User A. */ F18 BYE User B -> Proxy 2 BYE sip: UserA@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: , From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.com CSeq: 1 BYE Content-Length: 0 F19 BYE Proxy 2 -> Proxy 1 BYE sip: UserA@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.com CSeq: 1 BYE Content-Length: 0 F20 BYE Proxy 1 -> User A BYE sip: UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.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.wcom.com:5060 Via: SIP/2.0/UDP ss2.wcom.com:5060 Johnston, et al. Informational [Page 30] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.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.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.com CSeq: 1 BYE Content-Length: 0 F23 200 OK Proxy 2 -> User B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.com CSeq: 1 BYE Content-Length: 0 Johnston, et al. Informational [Page 31] Internet Draft SIP Telephony Call Flow Examples February 2000 3.1.3 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 | | | |--------------->| | | | CANCEL F8 | | | |--------------->| | | | INVITE F9 | | |-------------------------------->| | | 407 F10 | | |<--------------------------------| | | ACK F11 | | |-------------------------------->| | | INVITE F12 | | |-------------------------------->| INVITE F13 | | (100) F14 |--------------->| |<--------------------------------| | | | 180 F15 | | 180 F16 |<---------------| |<--------------------------------| | | | 200 F17 | | 200 F18 |<---------------| |<--------------------------------| | | ACK F19 | | |-------------------------------->| ACK F20 | | |--------------->| | Both Way RTP Media | |<================================================>| | | BYE F21 | | BYE F22 |<---------------| |<--------------------------------| | | 200 F23 | | |-------------------------------->| 200 F24 | | |--------------->| | | | Johnston, et al. Informational [Page 32] Internet Draft SIP Telephony Call Flow Examples February 2000 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). Proxy 1 is out of service and does not respond to INVITEs (it is reachable, but unresponsive). After sending a CANCEL to Proxy 1, User A then completes the call to User B using Proxy 2. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 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 Johnston, et al. Informational [Page 33] Internet Draft SIP Telephony Call Flow Examples February 2000 Same as Message F1 F6 INVITE A -> Proxy 1 Same as Message F1 F7 INVITE A -> Proxy 1 Same as Message F1 /* User A gives up on the unresponsive proxy and sends a CANCEL. If any 200 OK responses come back to the INVITE, User A sends an ACK, then a BYE. */ F8 CANCEL A -> Proxy 1 CANCEL sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL F9 INVITE A -> Proxy 2 INVITE sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 2 challenges User A for authentication */ Johnston, et al. Informational [Page 34] Internet Draft SIP Telephony Call Flow Examples February 2000 F10 407 Proxy Authorization Required Proxy 2 -> User A SIP/2.0 407 Proxy Authorization Required Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Proxy-Authenticate: Digest realm="MCI WorldCom SIP", domain="wcom.com", nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", opaque="", stale="FALSE", algorithm="MD5" Content-Length: 0 F11 ACK A -> Proxy 2 ACK sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Content-Length: 0 /* User A responds be re-sending the INVITE with authentication credentials in it. */ F12 INVITE A -> Proxy 2 INVITE sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345602@here.com CSeq: 1 INVITE Contact: BigGuy Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", opaque="", uri="sip:ss2.wcom.com", response="8a880c919d1a52f20a1593e228adf599" Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 Johnston, et al. Informational [Page 35] Internet Draft SIP Telephony Call Flow Examples February 2000 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 49170 from the network. */ F13 INVITE Proxy 2 -> B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345602@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F14 (100 Trying) Proxy 2 -> User A SIP/2.0 100 Trying Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345602@here.com CSeq: 1 INVITE Content-Length: 0 F15 180 Ringing B -> Proxy 2 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345602@here.com Johnston, et al. Informational [Page 36] Internet Draft SIP Telephony Call Flow Examples February 2000 CSeq: 1 INVITE Content-Length: 0 F16 180 Ringing Proxy 2 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345602@here.com CSeq: 1 INVITE Content-Length: 0 F17 200 OK B -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345602@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 134 v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F18 200 OK Proxy 2 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345602@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 134 Johnston, et al. Informational [Page 37] Internet Draft SIP Telephony Call Flow Examples February 2000 v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F19 ACK A -> Proxy 2 ACK sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345602@here.com CSeq: 1 ACK Content-Length: 0 F20 ACK Proxy 2 -> B ACK sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345602@here.com CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between A and B */ /* User B Hangs Up with User A. */ F21 BYE User B -> Proxy 2 BYE sip: UserA@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345602@here.com CSeq: 1 BYE Content-Length: 0 Johnston, et al. Informational [Page 38] Internet Draft SIP Telephony Call Flow Examples February 2000 F22 BYE Proxy 2 -> User A BYE sip: UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345602@here.com CSeq: 1 BYE Content-Length: 0 F23 200 OK User A -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345602@here.com CSeq: 1 BYE Content-Length: 0 F24 200 OK Proxy 2 -> User B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345602@here.com CSeq: 1 BYE Content-Length: 0 Johnston, et al. Informational [Page 39] Internet Draft SIP Telephony Call Flow Examples February 2000 3.1.4 Successful SIP to SIP through SIP Firewall Proxy User A Proxy 1 Proxy 2 User B | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | (100) F3 |--------------->| INVITE F4 | |<---------------| (100) F5 |--------------->| | |<---------------| (100) F6 | | | |<---------------| | | | 180 F7 | | | 180 F8 |<---------------| | 180 F9 |<---------------| | |<---------------| | 200 F10 | | | 200 F11 |<---------------| | 200 F12 |<---------------| | |<---------------| | | | ACK F13 | | | |--------------->| ACK F14 | | | |--------------->| ACK F15 | | | |--------------->| | RTP Media | Both Way RTP Media | |<==============>|<===============================>| | BYE F16 | | | |--------------->| BYE F17 | | | |--------------->| BYE F18 | | | |--------------->| | | | 200 F19 | | | 200 F20 |<---------------| | 200 F21 |<---------------| | |<---------------| | | | | | | User A completes a call to User B through a Firewall Proxy and a SIP Proxy. The signaling message exchange is identical to 3.1.1 but the media stream setup is not end-to-end _ the Firewall proxy terminates both media streams and bridges them. This is done by the Proxy modifying the SDP in the INVITE (F1) and 200 OK (F11) messages. In addition to firewall traversal, this back-to-back User Agent Client and User Agent Server 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. Johnston, et al. Informational [Page 40] Internet Draft SIP Telephony Call Flow Examples February 2000 Message Details F1 INVITE A -> SIP FW INVITE sip:UserB@ fwp1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", uri="sip:ss1.wcom.com", response="b3f392f9218a328b9294076d708e6815" Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Client for A prepares to receive data on port 49170 from the network. */ F2 INVITE SIP FW -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP fwp1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", uri="sip:ss1.wcom.com", response="b3f392f9218a328b9294076d708e6815" Content-Type: application/sdp Content-Length: 134 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com Johnston, et al. Informational [Page 41] Internet Draft SIP Telephony Call Flow Examples February 2000 s=Session SDP c=IN IP4 200.201.202.203 t=0 0 m=audio 1000 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 (100 Trying) SIP FW -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 /* SIP FW prepares to proxy data from port 1000 to 100.101.102.103/49170. Proxy 1 uses a location manager function to determine where B is located. Based upon location analysis the call is forwarded to User B */ F4 INVITE Proxy 1 -> B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP fwp1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: , From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 134 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 200.201.202.203 t=0 0 m=audio 1000 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F5 (100 Trying) Proxy 1 -> SIP FW SIP/2.0 100 Trying Johnston, et al. Informational [Page 42] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP fwp1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F6 (100 Trying) B -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP fwp1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F7 180 Ringing B -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP fwp1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F8 180 Ringing Proxy 1 -> SIP FW SIP/2.0 180 Ringing Via: SIP/2.0/UDP fwp1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F9 180 Ringing SIP FW -> A SIP/2.0 180 Ringing Johnston, et al. Informational [Page 43] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F10 200 OK B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP fwp1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: , From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 133 v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 200 OK Proxy 1 -> SIP FW SIP/2.0 200 OK Via: SIP/2.0/UDP gw1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: , From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 134 v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 Johnston, et al. Informational [Page 44] Internet Draft SIP Telephony Call Flow Examples February 2000 t=0 0 m=audio 3456 RTP/AVP 0 a =rtpmap:0 PCMU/8000 F12 200 OK SIP FW -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Record-Route: , From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 134 v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 200.201.202.203 t=0 0 m=audio 1002 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* The Firewall Proxy prepares to proxy packets from port 1002 to 110.111.112.113/3456 */ F13 ACK A -> SIP FW ACK sip:UserB@fwp1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: , From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F14 ACK SIP FW -> Proxy 1 ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP fwp1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=314159 Johnston, et al. Informational [Page 45] Internet Draft SIP Telephony Call Flow Examples February 2000 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F15 ACK Proxy 1 -> B ACK sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP fwp1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between A and the Firewall Proxy and between the Firewall Proxy and B*/ /* User A Hangs Up with User B. */ F16 BYE A -> SIP FW BYE sip: UserB@fwp1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: , From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F17 BYE SIP FW -> Proxy 1 BYE sip: UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP fwp1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F18 BYE F18 Proxy 1 -> B Johnston, et al. Informational [Page 46] Internet Draft SIP Telephony Call Flow Examples February 2000 BYE sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP fwp1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F19 200 OK B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP fwp1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F20 200 OK Proxy 1 -> SIP FW SIP/2.0 200 OK Via: SIP/2.0/UDP fwp1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy >;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F21 200 OK SIP FW -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy >;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 47] Internet Draft SIP Telephony Call Flow Examples February 2000 3.1.5 Successful SIP to SIP via Redirect and Proxy User A Redirect Proxy Proxy 2 User B | | | | | INVITE F1 | | | |--------------->| | | | 302 F2 | | | |<---------------| | | | ACK F3 | | | |--------------->| | | | INVITE F4 | | |-------------------------------->| INVITE F5 | | (100) F6 |--------------->| |<--------------------------------| (100) F7 | | |<---------------| | | 180 F8 | | 180 F9 |<---------------| |<--------------------------------| | | | 200 F10 | | 200 F11 |<---------------| |<--------------------------------| | | ACK F12 | | |-------------------------------->| ACK F13 | | |--------------->| | Both Way RTP Media | |<================================================>| | | BYE F14 | | BYE F15 |<---------------| |<--------------------------------| | | 200 F16 | | |-------------------------------->| 200 F17 | | |--------------->| | | | 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. The call is terminated when User B sends a BYE message. Message Details F1 INVITE A -> Redirect Proxy Johnston, et al. Informational [Page 48] Internet Draft SIP Telephony Call Flow Examples February 2000 INVITE sip:UserB@redirect.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Client for A prepares to receive data on port 49170 from the network. */ F2 302 Moved Temporarily Redirect Proxy -> A SIP/2.0 302 Moved Temporarily Contact: sip:UserB@ss2.wcom.com Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F3 ACK A -> Redirect Proxy ACK sip:UserB@redirect.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F4 INVITE A -> Proxy 2 INVITE sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Johnston, et al. Informational [Page 49] Internet Draft SIP Telephony Call Flow Examples February 2000 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F5 INVITE Proxy 2 -> B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F6 (100 Trying) Proxy 2 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 2 INVITE Content-Length: 0 Johnston, et al. Informational [Page 50] Internet Draft SIP Telephony Call Flow Examples February 2000 F7 (100 Trying) B -> Proxy 2 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 2 INVITE Content-Length: 0 F8 180 Ringing B -> Proxy 2 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy >;tag=314159 Call-ID: 12345600@here.com CSeq: 2 INVITE Content-Length: 0 F9 180 Ringing Proxy 2 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy >;tag=314159 Call-ID: 12345600@here.com CSeq: 2 INVITE Content-Length: 0 F10 200 OK B -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy >;tag=314159 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 134 Johnston, et al. Informational [Page 51] Internet Draft SIP Telephony Call Flow Examples February 2000 v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 200 OK Proxy -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy >;tag=314159 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 134 v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F12 ACK A -> Proxy 2 ACK sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 ACK Content-Length: 0 F13 ACK Proxy 2 -> B ACK sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Johnston, et al. Informational [Page 52] Internet Draft SIP Telephony Call Flow Examples February 2000 Call-ID: 12345600@here.com CSeq: 2 ACK Content-Length: 0 /* RTP streams are established between A and B*/ /* User B Hangs Up with User A. */ F14 BYE B -> Proxy 2 BYE sip: UserA@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345600@here.com CSeq: 1 BYE Content-Length: 0 F15 BYE Proxy 2 -> A BYE sip: UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345600@here.com CSeq: 1 BYE Content-Length: 0 F16 200 OK A -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345600@here.com CSeq: 1 BYE Content-Length: 0 F17 200 OK Proxy 2 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 Johnston, et al. Informational [Page 53] Internet Draft SIP Telephony Call Flow Examples February 2000 To: BigGuy Call-ID: 12345600@here.com CSeq: 1 BYE Content-Length: 0 Johnston, et al. Informational [Page 54] Internet Draft SIP Telephony Call Flow Examples February 2000 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 | | | |<---------------| | | | | 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. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 55] Internet Draft SIP Telephony Call Flow Examples February 2000 Contact: BigGuy Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="ze7k1ee88df84f1cec431ae6cbe5a359", opaque="", uri="sip:ss1.wcom.com", response="b00b416324679d7e243f55708d44be7b" Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /*Client for A prepares to receive data on port 49170 from the network.*/ F2 INVITE Proxy 1 -> Proxy 2 INVITE sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 (100 Trying) Proxy 1 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 56] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: 0 F4 INVITE Proxy 2 -> B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: , From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 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.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F6 180 Ringing B -> Proxy 2 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 Johnston, et al. Informational [Page 57] Internet Draft SIP Telephony Call Flow Examples February 2000 F7 180 Ringing Proxy 2 -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F8 180 Ringing Proxy 1 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F9 CANCEL A -> Proxy 1 CANCEL sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F10 200 OK Proxy 2 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F11 CANCEL Proxy 1 -> Proxy 2 CANCEL sip: UserA@ss2.wcom.com SIP/2.0 Johnston, et al. Informational [Page 58] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP ss1.wcom.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F12 200 OK Proxy 1 -> Proxy 2 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F13 CANCEL Proxy 2 -> B CANCEL sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F14 200 OK A -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.wcom.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 Johnston, et al. Informational [Page 59] Internet Draft SIP Telephony Call Flow Examples February 2000 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 4xx response is ACKed at each signaling leg. Message Details F1 INVITE User A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="dc3a5ab2530aa93112cf5904ba7d88fa", opaque="", uri="sip:ss1.wcom.com", response="702138b27d869ac8741e10ec643d55be" Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 Johnston, et al. Informational [Page 60] Internet Draft SIP Telephony Call Flow Examples February 2000 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /*Client for A prepares to receive data on port 49170 from the network.*/ F2 INVITE Proxy 1 -> Proxy 2 INVITE sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 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 here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F4 INVITE Proxy 2 -> User B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: , From: BigGuy To: LittleGuy Johnston, et al. Informational [Page 61] Internet Draft SIP Telephony Call Flow Examples February 2000 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 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.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.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.wcom.com:5060 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F7 ACK Proxy 2 -> User B ACK sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 62] Internet Draft SIP Telephony Call Flow Examples February 2000 F8 486 Busy Here Proxy 2 -> Proxy 1 SIP/2.0 486 Busy Here Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F9 ACK Proxy 1 -> Proxy 2 ACK sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.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 here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F11 ACK User A -> Proxy 1 ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 63] Internet Draft SIP Telephony Call Flow Examples February 2000 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 | | | |--------------->| | | | CANCEL F12 | | | 480 F13 |--------------->| | |<---------------| | | | ACK F14 | | | 480 F15 |--------------->| | |<---------------| | | | ACK F16 | | | |--------------->| | | | | | | 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 CANCEL to User B and a 480 No Response to User A. Note that the CANCEL would also be retransmitted six times, as governed by SIP timer T1 as in Call Flow 5.2.6. Message Details F1 INVITE User A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 64] Internet Draft SIP Telephony Call Flow Examples February 2000 Contact: BigGuy Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="cf5904ba7d8dc3a5ab2530aa931128fa", opaque="", uri="sip:ss1.wcom.com", response="7afc04be7961f053c24f80e7dbaf888f" Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /*Client for A prepares to receive data on port 49170 from the network.*/ F2 INVITE Proxy 1 -> Proxy 2 INVITE sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 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 here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 65] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: 0 F4 INVITE Proxy 2 -> User B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: , From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 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.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.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 66] Internet Draft SIP Telephony Call Flow Examples February 2000 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 F12 CANCEL Proxy 2 -> User B CANCEL sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F13 480 No Response Proxy 2 -> Proxy 1 SIP/2.0 480 No Response Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F14 ACK Proxy 1 -> Proxy 2 ACK sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Johnston, et al. Informational [Page 67] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: 0 F15 480 No Response Proxy 1 -> User A SIP/2.0 480 No Response Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F16 ACK User A -> Proxy 1 ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 68] Internet Draft SIP Telephony Call Flow Examples February 2000 3.2.4 Unsuccessful SIP to SIP Temporarily Unavailable User A Proxy 1 Proxy 2 User B | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | (100) F4 |--------------->| INVITE F3 | |<---------------| (100) F5 |--------------->| | |<---------------| (100) F6 | | | |<---------------| | | | 180 F7 | | | 180 F8 |<---------------| | 180 F9 |<---------------| | |<---------------| | 480 F10 | | | |<---------------| | | | ACK F11 | | | 480 F12 |--------------->| | |<---------------| | | | ACK F13 | | | 480 F14 |--------------->| | |<---------------| | | | ACK F15 | | | |--------------->| | | | | | | 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@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="aa9311cf5904ba7d8dc3a5ab253028fa", opaque="", uri="sip:ss1.wcom.com", response="59a46a91bf1646562a4d486c84b399db" Content-Type: application/sdp Content-Length: 132 Johnston, et al. Informational [Page 69] Internet Draft SIP Telephony Call Flow Examples February 2000 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /*Client for A prepares to receive data on port 49170 from the network.*/ F2 INVITE Proxy 1 -> Proxy 2 INVITE sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 INVITE Proxy 2 -> B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: , From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 Johnston, et al. Informational [Page 70] Internet Draft SIP Telephony Call Flow Examples February 2000 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 (100 Trying) Proxy 1 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F5 (100 Trying) Proxy 2 -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F6 (100 Trying) User B -> Proxy 2 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F7 180 Ringing B -> Proxy 2 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss2.wcom.com:5060 Johnston, et al. Informational [Page 71] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F8 180 Ringing Proxy 2 -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F9 180 Ringing Proxy 1 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F10 480 Temporarily Unavailable B -> Proxy 2 SIP/2.0 480 Temporarily Unavailable Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F11 ACK Proxy 2 -> B ACK sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 From: BigGuy Johnston, et al. Informational [Page 72] Internet Draft SIP Telephony Call Flow Examples February 2000 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F12 480 Temporarily Unavailable Proxy 2 -> Proxy 1 SIP/2.0 480 Temporarily Unavailable Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F13 ACK Proxy 1 -> Proxy 2 ACK sip: UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F14 480 Temporarily Unavailable Proxy 1 -> A SIP/2.0 480 Temporarily Unavailable Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F15 ACK A -> Proxy 1 ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 73] Internet Draft SIP Telephony Call Flow Examples February 2000 Johnston, et al. Informational [Page 74] Internet Draft SIP Telephony Call Flow Examples February 2000 4 SIP to Gateway Dialing In the following scenarios, User A (BigGuy sip:UserA@here.com) is a SIP phone or other SIP-enabled device. User B is reachable via the PSTN at global telephone number +1-972-555-2222. 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. Note that User A still uses his/her SIP URL in the Contact header, since the call could be redirected back to the SIP network. There is a major difference in the call flows in this section. In- band alerting (ringing tone, busy tone, recorded announcements, etc.) is present in the PSTN speech path after the receipt of the SS7 Address Complete Message (ACM) which maps to the SIP 180 Ringing response. In a SIP to SIP call, the media path is not established until the call is answered (200 OK sent). In order for the SIP caller User A to hear this alerting, it is necessary that an early media path be established to perform this. This is the purpose of the 183 Session Progress[5] responses used throughout this document in place of the 180 Ringing. One example of the use of reliable provisional responses[6] for the 183 Session Progress message is given in scenario 4.1.2. 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 Proxy 1 and a Gateway. Johnston, et al. Informational [Page 75] Internet Draft SIP Telephony Call Flow Examples February 2000 4.1.1 Successful SIP to ISUP PSTN call User A Proxy 1 NGW 1 User 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 |<---------------| REC F18 | |<---------------| |--------------->| | | | REL F19 | | | |<---------------| | | | | User A dials the globalized E.164 number +1-972-555-2222 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 URL. User A could use either their SIP address (sip:UserA@here.com) or SIP telephone number (sip:+1-314-555-1111@ss1.wcom.com;user=phone) in the From header. In this example, the telephone number is included, and Johnston, et al. Informational [Page 76] Internet Draft SIP Telephony Call Flow Examples February 2000 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. 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. Message Details F1 INVITE A -> Proxy 1 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="dc3a5ab25302aa931904ba7d88fa1cf5", opaque="", uri="sip:ss1.wcom.com", response="ccdca50cb091d587421457305d097458c" Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 here.com t=0 0 m=audio 49170 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 here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 /* Proxy 1 uses a location manager function to determine where B is located. Based upon location analysis the call is forwarded to NGW Johnston, et al. Informational [Page 77] Internet Draft SIP Telephony Call Flow Examples February 2000 1. Client for A prepares to receive data on port 49170 from the network.*/ F3 INVITE Proxy 1 -> NGW 1 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 here.com t=0 0 m=audio 49170 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.wcom.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.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 USI=Speech CPT=0 0 C=Normal CCI=Not Required F6 ACM User B -> NGW 1 Johnston, et al. Informational [Page 78] Internet Draft SIP Telephony Call Flow Examples February 2000 ACM Charge Indicator=No Charge Called Party Status=no indication Called Party's Category=ordinary subscriber End To End Method=none available Interworking=encountered End to End Information=none available ISUP Indicator=not used all the way ISDN Access Terminating access non ISDN Echo Control=not included F7 183 Session Progress NGW 1 -> Proxy 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 proxies the OK to User A. At this point NGW 1 will start sending an RTP path to the receive port on A encoding anything that is being received from B via the PSTN network (i.e. ringing) */ F8 183 Session Progress Proxy 1 -> User A SIP/2.0 183 Session Progress Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 150 Johnston, et al. Informational [Page 79] Internet Draft SIP Telephony Call Flow Examples February 2000 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 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.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: sip:+1-972-555-2222@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com 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 here.com:5060 Record-Route: From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: sip:+1-972-555-2222@ngw1.wcom.com;user=phone Content-Type: application/sdp Johnston, et al. Informational [Page 80] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F12 ACK A -> Proxy 1 ACK sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F13 ACK Proxy 1 -> NGW 1 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between A and B (via NGW 1) */ /* User A Hangs Up with User B. */ F14 BYE A -> Proxy 1 BYE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com Johnston, et al. Informational [Page 81] Internet Draft SIP Telephony Call Flow Examples February 2000 CSeq: 2 BYE Content-Length: 0 F15 BYE Proxy 1 -> NGW 1 BYE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.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.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F17 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F18 REL NGW 1 -> B REL CauseCode=16 Normal CodingStandard=CCITT F19 RLC B -> NGW 1 Johnston, et al. Informational [Page 82] Internet Draft SIP Telephony Call Flow Examples February 2000 RLC Johnston, et al. Informational [Page 83] Internet Draft SIP Telephony Call Flow Examples February 2000 4.1.2 Successful SIP to ISDN PBX call User A Proxy 1 GW 1 PBX C | | | | | INVITE F1 | | | |--------------->| | | | 406 F2 | | | |<---------------| | | | ACK F3 | | | |--------------->| | | | INVITE F4 | | | |--------------->| | | | (100) F5 | | | |<---------------| INVITE F6 | | | |--------------->| | | | (100) F7 | | | |<---------------| SETUP F8 | | | |--------------->| | | | CALL PROC F9 | | | |<---------------| | | | PROGress F10 | | | 183 F11 |<---------------| | 183 F12 |<---------------| | |<---------------| | | | PRACK F13 | | | |--------------->| PRACK F14 | | | |--------------->| | | | 200 F15 | | | 200 F16 |<---------------| | |<---------------| | | | Both Way RTP Media | One Way Voice | |<===============================>|<===============| | | | CONNect F17 | | | |<---------------| | | | CONNect ACK F18| | | 200 F19 |--------------->| | 200 F20 |<---------------| | |<---------------| | | | ACK F21 | | | |--------------->| ACK F22 | | | |--------------->| | | Both Way RTP Media | Both Way Voice | |<===============================>|<==============>| | BYE F23 | | | |--------------->| BYE F24 | | | |--------------->| | | | 200 F25 | | | 200 F26 |<---------------| DISConnect F27 | |<---------------| |--------------->| Johnston, et al. Informational [Page 84] Internet Draft SIP Telephony Call Flow Examples February 2000 | | | RELease F28 | | | |<---------------| | | | RELease COM F29| | | |<---------------| | | | | User A is a SIP device while User C is connected via an Enterprise 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 URL. In this example, the initial INVITE is processed by the Proxy which determines that the Enterprise Gateway in the call route requires the in-band alerting response 183 Session Progress to be sent reliably[6]. The absence of a Supported header in the INVITE indicating support by User A of the Reliable Provisional Response extension (org.ietf.sip.100rel) causes the Proxy to reject the call with a 406 Not Acceptable containing the Required: org.ietf.sip.100rel header. User A then re-sends the INVITE containing the Supported header. The phone-context tag in the Request-URI in the INVITE F6 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 become lost and the call unroutable. See section 1.1 for a discussion of phone-context. Proxy 1 looks up the telephone number and locates the Enterprise Gateway that serves User C. User C is identified by its extension (444-3333) in the Request-URI sent to GW 1. User A hears the ringing provided by the Gateway on the media path established after the 183 Session Progress response is received. Signaling between GW1 and PBX C is shown as ISDN. The 183 response contains the RSeq header which causes User A to acknowledge receipt of the provisional response message by sending a PRACK (Provisional Response Acknowledgement) request. GW 1 receives the PRACK containing the RAck header and responds with a 200 OK. Message Details F1 INVITE A -> Proxy 1 INVITE sip:+1-918-555-3333@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone Johnston, et al. Informational [Page 85] Internet Draft SIP Telephony Call Flow Examples February 2000 To: OtherGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="qo0dc3a5ab22aa931904badfa1cf5j9h", opaque="", uri="sip:ss1.wcom.com", response="6c792f5c9fa360358b93c7fb826bf550" Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 here.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a location manager function to determine where B is located. GW 1 requires use of Reliable Provisional Response. Since User has not indicated that it supports this extension, the INVITE is rejected. */ F2 406 Not Acceptable Proxy 1 -> User A SIP/2.0 406 Not Acceptable Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: OtherGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Require: org.ietf.sip.100rel, org.ietf.sip.supported Proxy-Authenticate: Digest realm="MCI WorldCom SIP", domain="wcom.com", nonce="x41ae6cbe5aea9c8e8wf84f1cecz8d359", opaque="", stale="FALSE", algorithm="MD5" Content-Length: 0 F3 ACK A -> Proxy 1 ACK sip:+1-918-555-3333@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: OtherGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 /* User A re-sends the INVITE indicating support of the extension. */ Johnston, et al. Informational [Page 86] Internet Draft SIP Telephony Call Flow Examples February 2000 F4 INVITE A -> Proxy 1 INVITE sip:+1-918-555-3333@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: OtherGuy ;user=phone Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: BigGuy Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="x41ae6cbe5aea9c8e8wf84f1cecz8d359", opaque="", uri="sip:ss1.wcom.com", response="f27e0e74cc29ee4761d342bdd6719edd" Supported: org.ietf.sip.100rel Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 here.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F5 (100 Trying) Proxy 1 -> User A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: OtherGuy ;user=phone Call-ID: 12345600@here.com CSeq: 2 INVITE Content-Length: 0 F6 INVITE Proxy 1 -> GW 1 INVITE sip:444-3333@gw1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy ;user=phone To: OtherGuy ;user=phone Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: BigGuy Supported: org.ietf.sip.100rel Content-Type: application/sdp Johnston, et al. Informational [Page 87] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 here.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 (100 Trying) GW -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.wcom.com:5060 From: BigGuy ;user=phone To: OtherGuy ;user=phone Call-ID: 12345600@here.com CSeq: 2 INVITE Content-Length: 0 F8 SETUP GW 1 -> User C Protocol discriminator=Q.931 Call reference: Flag=0, CR value=any valid value not in use 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=?? (private numbering plan) Digits=444-3333 F9 CALL PROCeeding User C -> GW 1 Protocol discriminator=Q.931 Call reference: Flag=1, CR value=value in F5 SETUP message Message type=CALL PROC Channel identification=Exclusive B-channel F10 PROGress User C -> GW 1 Protocol discriminator=Q.931 Call reference: Flag=1, CR value=value in F5 SETUP message Message type=PROG Johnston, et al. Informational [Page 88] Internet Draft SIP Telephony Call Flow Examples February 2000 Progress indicator=1 (Call is not end-to-end ISDN;further call progress information may be available inband) F11 183 Session Progress GW 1 -> Proxy 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 RSeq: 42321 From: BigGuy ;user=phone To: OtherGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 INVITE Content-Type: application/sdp Content-Length: 165 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* GW 1 will establish an RTP path to the receive port on A encoding anything that is being received from C via the PSTN network (i.e. ringing) */ F12 183 Session Progress Proxy 1 -> User A SIP/2.0 183 Session Progress Via: SIP/2.0/UDP here.com:5060 RSeq: 42321 From: BigGuy ;user=phone To: OtherGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 INVITE Content-Type: application/sdp Content-Length: 165 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 Johnston, et al. Informational [Page 89] Internet Draft SIP Telephony Call Flow Examples February 2000 a=rtpmap:0 PCMU/8000 /* User A confirms reception of the 183 response */ F13 PRACK A -> Proxy 1 PRACK sip:444-3333@ss1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP here.com:5060 RAck: 42321 2 INVITE Route: ;phone-context=p1234 From: BigGuy ;user=phone To: OtherGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 3 PRACK Content-Length: 0 F14 PRACK Proxy 1 -> GW 1 PRACK sip:444-3333@gw1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 RAck: 42321 2 INVITE From: BigGuy ;user=phone To: OtherGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 3 PRACK Content-Length: 0 F15 200 OK GW 1 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: OtherGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 3 PRACK Content-Length: 0 F16 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Johnston, et al. Informational [Page 90] Internet Draft SIP Telephony Call Flow Examples February 2000 From: BigGuy ;user=phone To: OtherGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 3 PRACK Content-Length: 0 F17 CONNect User C -> GW 1 Protocol discriminator=Q.931 Call reference: Flag=1, CR value=value in F5 SETUP message Message type=CONN F18 CONNect ACK GW 1 -> User C Protocol discriminator=Q.931 Call reference: Flag=0, CR value=value in F5 SETUP message Message type=CONN ACK F19 200 OK GW 1 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy ;user=phone To: OtherGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: sip:444-3333@gw1.wcom.com;phone-context=p1234 Content-Type: application/sdp Content-Length: 165 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F20 200 OK Proxy 1 -> User A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Johnston, et al. Informational [Page 91] Internet Draft SIP Telephony Call Flow Examples February 2000 Record-Route: From: BigGuy ;user=phone To: OtherGuy ;user=phone;tag=314159 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: sip:444-3333@gw1.wcom.com;phone-context=p1234 Content-Type: application/sdp Content-Length: 165 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F21 ACK A -> Proxy 1 ACK sip:444-3333@ss1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: ;phone-context=p1234 From: BigGuy ;user=phone To: OtherGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 ACK Content-Length: 0 F22 ACK Proxy 1 -> GW 1 ACK sip:444-3333@gw1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: OtherGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 ACK Content-Length: 0 /* RTP streams are established between A and B (via GW 1) */ /* User A Hangs Up with User B. */ F23 BYE A -> Proxy 1 Johnston, et al. Informational [Page 92] Internet Draft SIP Telephony Call Flow Examples February 2000 BYE sip:444-3333@ss1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: ;phone-context=p1234 From: BigGuy ;user=phone To: OtherGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 4 BYE Content-Length: 0 F24 BYE Proxy 1 -> GW 1 BYE sip:444-3333@gw1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: OtherGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 4 BYE Content-Length: 0 F25 200 OK GW 1 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: OtherGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 4 BYE Content-Length: 0 F26 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: OtherGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 4 BYE Content-Length: 0 F27 DISConnect GW 1 -> User C Johnston, et al. Informational [Page 93] Internet Draft SIP Telephony Call Flow Examples February 2000 Protocol discriminator=Q.931 Call reference: Flag=1, CR value=value in F4 SETUP message Message type=DISC Cause=16 (Normal clearing) F28 RELease User C -> GW 1 Protocol discriminator=Q.931 Call reference: Flag=0, CR value=value in F4 SETUP message Message type=REL F29 RELease COMplete GW 1 -> User C Protocol discriminator=Q.931 Call reference: Flag=1, CR value=value in F4 SETUP message Message type=REL COM Johnston, et al. Informational [Page 94] Internet Draft SIP Telephony Call Flow Examples February 2000 4.1.3 Successful SIP to ISUP PSTN call with overflow User A Proxy 1 NGW 1 NGW 2 User B | | | | | | INVITE F1 | | | | |------------->| | | | | | INVITE F2 | | | | (100) F3 |------------->| | | |<-------------| 503 F4 | | | | |<-------------| | | | | ACK F5 | | | | |------------->| | | | | INVITE F6 | | | |---------------------------->| IAM F7 | | | |------------->| | | | ACM F8 | | | 183 F9 |<-------------| | 183 F10 |<----------------------------| | |<-------------| | | | Both 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 |<----------------------------| REC F20 | |<-------------| |------------->| | | | REL F21 | | | |<-------------| | | | | User A calls User B through Proxy 1. Proxy 1 tries to route to a Network Gateway NGW 1. GW 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 Johnston, et al. Informational [Page 95] Internet Draft SIP Telephony Call Flow Examples February 2000 F1 INVITE A -> Proxy 1 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="b59311c3ba05b401cf80b2a2c5ac51b0", opaque="", uri="sip:ss1.wcom.com", response="ba6ab44923fa2614b28e3e3957789ab0" Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 here.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a location manager 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:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 here.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 96] Internet Draft SIP Telephony Call Flow Examples February 2000 F3 (100 Trying) Proxy 1 -> User A SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.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.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy ;user=phone To: LittleGuy NGW 1 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone;tag=123456789 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 /* Proxy 1 now tries secondary route to NGW 2 */ F6 INVITE Proxy 1 -> NGW 2 INVITE sip:+1-972-555-2222@ngw2.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy ;user=phone To: LittleGuy ;user=phone Johnston, et al. Informational [Page 97] Internet Draft SIP Telephony Call Flow Examples February 2000 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 here.com t=0 0 m=audio 49170 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 USI=Speech CPT=0 0 C=Normal CCI=Not Required F8 ACM User B -> NGW 2 ACM Charge Indicator=No Charge Called Party Status=no indication Called Party's Category=ordinary subscriber End To End Method=none available Interworking=encountered End to End Information=none available ISUP Indicator=not used all the way ISDN Access Terminating access non ISDN Echo Control=not included F9 183 Session Progress NGW 2 -> Proxy 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 98] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* The GW will establish an RTP path to the receive port on A encoding anything that is being received from B via the PSTN network (i.e. ringing) */ F10 183 Session Progress Proxy 1 -> User A SIP/2.0 183 Session Progress Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com 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.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy ;user=phone Johnston, et al. Informational [Page 99] Internet Draft SIP Telephony Call Flow Examples February 2000 To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: sip:+1-972-555-2222@ngw2.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com 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 here.com:5060 Record-Route: From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: sip:+1-972-555-2222@ngw2.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F14 ACK A -> Proxy 1 ACK sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: ;user=phone From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Johnston, et al. Informational [Page 100] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: 0 F15 ACK Proxy 1 -> NGW 2 ACK sip:+1-972-555-2222@ngw2.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.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:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: ;user=phone From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F17 BYE Proxy 1 -> NGW 2 BYE sip:+1-972-555-2222@ngw2.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.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.wcom.com:5060 Johnston, et al. Informational [Page 101] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F19 200 OK Proxy 1 -> User A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F20 REL NGW 2 -> B REL CauseCode=16 Normal CodingStandard=CCITT F21 RLC B -> NGW 2 RLC Johnston, et al. Informational [Page 102] Internet Draft SIP Telephony Call Flow Examples February 2000 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[5] 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 103] Internet Draft SIP Telephony Call Flow Examples February 2000 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 |<---------------| | |<---------------| | | | Both Way RTP Media | One Way Voice | |<===============================>|<===============| | Treatment Applied | |<=================================================| | CANCEL F9 | | | |--------------->| | | | 200 F10 | | | |<---------------| CANCEL F11 | | | |--------------->| | | | 200 F12 | | | |<---------------| REL F13 | | | |--------------->| | | | RLC F14 | | | |<---------------| | | | | 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 issues a CANCEL (F9) 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:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com Johnston, et al. Informational [Page 104] Internet Draft SIP Telephony Call Flow Examples February 2000 CSeq: 1 INVITE Contact: BigGuy Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="01cf8311c3b0b2a2c5ac51bb59a05b40", opaque="", uri="sip:ss1.wcom.com", response="e178fbe430e6680a1690261af8831f40" Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 here.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 (100 Trying) Proxy 1 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 /* Proxy 1 uses a location manager 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 49170 from the network. */ F3 INVITE Proxy 1 -> NGW 1 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP Johnston, et al. Informational [Page 105] Internet Draft SIP Telephony Call Flow Examples February 2000 c=IN IP4 here.com t=0 0 m=audio 49170 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.wcom.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.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 USI=Speech CPT=0 0 C=Normal CCI=Not Required F6 ACM User B -> NGW 1 ACM Charge Indicator=No Charge Called Party Status=no indication Called Party's Category=ordinary subscriber End To End Method=none available Interworking=encountered End to End Information=none available ISUP Indicator=not used all the way ISDN Access Terminating access non ISDN Echo Control=not included F7 183 Session Progress NGW 1 -> Proxy 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Johnston, et al. Informational [Page 106] Internet Draft SIP Telephony Call Flow Examples February 2000 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com 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 here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* User A listens to recorded announcement from the PSTN then hangs up */ F9 CANCEL A -> Proxy 1 CANCEL sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F10 200 OK Proxy 1 -> A Johnston, et al. Informational [Page 107] Internet Draft SIP Telephony Call Flow Examples February 2000 SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F11 CANCEL Proxy 1 -> NGW 1 CANCEL sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.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.wcom.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F13 REL NGW 1 -> B REL CauseCode=16 Normal CodingStandard=CCITT F14 RLC B -> NGW 1 RLC Johnston, et al. Informational [Page 108] Internet Draft SIP Telephony Call Flow Examples February 2000 4.2.2 Unsuccessful SIP to PSTN: REL w/Cause from PSTN User A Proxy 1 NGW 1 User B | | | | | INVITE F1 | | | |--------------->| | | | (100) F2 | | | |<---------------| INVITE F3 | | | |--------------->| | | | (100) F4 | | | |<---------------| IAM F5 | | | |--------------->| | | | REL(28) F6 | | | |<---------------| | | | RLC F7 | | | 484 F8 |<---------------| | |<---------------| | | | ACK F9 | | | |--------------->| | | 484 F10 | | | |<---------------| | | | ACK F11 | | | |--------------->| | | | | | | User A calls PSTN User B through a Proxy Server Proxy 1 and a Network Gateway NGW 1. However, User A does not provide enough digits for the call to be completed. The call is rejected by the PSTN with a ANSI ISUP Release message REL containing a specific Cause value. This cause value (28) is mapped by the Gateway to a SIP 484 Address Incomplete response which is proxied back to User A. For more details of ISUP cause value to SIP responses refer to [9]. Message Details F1 INVITE A -> Proxy 1 INVITE sip:+44-1234@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Johnston, et al. Informational [Page 109] Internet Draft SIP Telephony Call Flow Examples February 2000 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="j1c3b0b01cf832da2c5ac51bb59a05b40", opaque="", uri="sip:ss1.wcom.com", response="a451358d46b55512863efe1dccaa2f42" Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 here.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 (100 Trying) Proxy 1 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 /* Proxy 1 uses a location manager 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 49170 from the network. */ F3 INVITE Proxy 1 -> NGW 1 INVITE sip:+44-1234@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 here.com t=0 0 Johnston, et al. Informational [Page 110] Internet Draft SIP Telephony Call Flow Examples February 2000 m=audio 49170 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.wcom.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.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 USI=Speech CPT=0 0 C=Normal CCI=Not Required F6 REL User B -> NGW 1 REL CauseValue=28 Address Incomplete CodingStandard=CCITT F7 RLC NGW 1 -> User B RLC /* Network Gateway maps CauseValue=28 to the SIP message 484 Address Incomplete */ F8 484 Address Incomplete NGW 1 -> Proxy 1 SIP/2.0 484 Address Incomplete Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 111] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: 0 F9 ACK Proxy 1 -> NGW 1 ACK sip:+44-1234@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F10 484 Address Incomplete Proxy 1 -> User A SIP/2.0 484 Address Incomplete Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F11 ACK User A -> Proxy 1 ACK sip:+44-1234@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 112] Internet Draft SIP Telephony Call Flow Examples February 2000 4.2.3 Unsuccessful SIP to PSTN: ANM Timeout User A Proxy 1 NGW 1 User 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:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Johnston, et al. Informational [Page 113] Internet Draft SIP Telephony Call Flow Examples February 2000 Authorization:Digest username="UserA", realm="MCI WorldCom SIP", nonce="da2c5ac51bb59a05j1c3b0b01cf832b40", opaque="", uri="sip:ss1.wcom.com", response="579cb9db184cdc25bf816f37cbc03c7d" Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 here.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a location manager 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 49170 from the network.*/ F2 (100 Trying Proxy 1 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F3 INVITE Proxy 1 -> NGW 1 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 132 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 here.com t=0 0 Johnston, et al. Informational [Page 114] Internet Draft SIP Telephony Call Flow Examples February 2000 m=audio 49170 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.wcom.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone Call-ID: 12345600@here.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 USI=Speech CPT=0 0 C=Normal CCI=Not Required F6 ACM User B -> NGW 1 ACM Charge Indicator=No Charge Called Party Status=no indication Called Party's Category=ordinary subscriber End To End Method=none available Interworking=encountered End to End Information=none available ISUP Indicator=not used all the way ISDN Access Terminating access non ISDN Echo Control=not included F7 183 Session Progress NGW 1 -> Proxy 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 115] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com 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 here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com 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=16 Normal CodingStandard=CCITT F10 RLC User B -> NGW 1 RLC F11 480 Temporarily Unavailable NGW 1 -> Proxy 1 Johnston, et al. Informational [Page 116] Internet Draft SIP Telephony Call Flow Examples February 2000 SIP/2.0 480 Temporarily Unavailable Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F12 ACK Proxy 1 -> NGW 1 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.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 here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F14 ACK User A -> Proxy 1 ACK sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;user=phone To: LittleGuy ;user=phone ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 117] Internet Draft SIP Telephony Call Flow Examples February 2000 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. Alternatively, the Gateway could redirect the call to an Announcement Server which would complete the call and play announcements or tones as directed by the Gateway. Johnston, et al. Informational [Page 118] Internet Draft SIP Telephony Call Flow Examples February 2000 5.1.1 Successful PSTN to SIP call User 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 USI=Speech Johnston, et al. Informational [Page 119] Internet Draft SIP Telephony Call Flow Examples February 2000 CPT=0 0 C=Normal CCI=Not Required F2 INVITE A -> Proxy 1 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a location manager 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@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 Johnston, et al. Informational [Page 120] Internet Draft SIP Telephony Call Flow Examples February 2000 a=rtpmap:0 PCMU/8000 F4 (100 Trying) User B -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.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.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com>;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Content-Length: 0 F6 180 Ringing Proxy 1 -> NGW 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Content-Length: 0 F7 ACM NGW 1 -> User A ACM Charge Indicator=No Charge Called Party Status=no indication Called Party's Category=ordinary subscriber End To End Method=none available Interworking=encountered End to End Information=none available ISUP Indicator=not used all the way ISDN Access Terminating access non ISDN Echo Control=not included Johnston, et al. Informational [Page 121] Internet Draft SIP Telephony Call Flow Examples February 2000 F8 200 OK User B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com Contact: LittleGuy CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 110.111.112.113 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.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 110.111.112.113 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F10 ACK NGW 1 -> Proxy 1 ACK sip:UserB@ss1.wcom.com SIP/2.0 Johnston, et al. Informational [Page 122] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 ACK Content-Length: 0 F11 ACK Proxy 1 -> User B ACK sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.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 CodingStandard=CCITT F14 RLC NGW 1 -> User A RLC F15 BYE NGW 1-> Proxy 1 BYE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com Johnston, et al. Informational [Page 123] Internet Draft SIP Telephony Call Flow Examples February 2000 CSeq: 2 BYE Content-Length: 0 F16 BYE Proxy 1 -> User B BYE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.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.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.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.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 124] Internet Draft SIP Telephony Call Flow Examples February 2000 5.1.2 Successful PSTN to SIP call, Fast Answer User 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 or ITU ISUP, 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 USI=Speech CPT=0 0 C=Normal CCI=Not Required Johnston, et al. Informational [Page 125] Internet Draft SIP Telephony Call Flow Examples February 2000 F2 INVITE NGW 1 -> Proxy 1 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a location manager 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@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 (100 Trying) Proxy 1 -> NGW 1 Johnston, et al. Informational [Page 126] Internet Draft SIP Telephony Call Flow Examples February 2000 SIP/2.0 100 Trying Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Content-Length: 0 F5 200 OK User B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 110.111.112.113 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.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 110.111.112.113 t=0 0 Johnston, et al. Informational [Page 127] Internet Draft SIP Telephony Call Flow Examples February 2000 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 ACK NGW 1 -> Proxy 1 ACK UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 ACK Content-Length: 0 F8 ACK Proxy 1 -> User B ACK UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.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 CodingStandard=CCITT F11 RLC NGW 1 -> User A RLC F12 BYE NGW 1 -> Proxy 1 Johnston, et al. Informational [Page 128] Internet Draft SIP Telephony Call Flow Examples February 2000 BYE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 2 BYE Content-Length: 0 F13 BYE Proxy 1 -> User B BYE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.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.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.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.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 129] Internet Draft SIP Telephony Call Flow Examples February 2000 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. Johnston, et al. Informational [Page 130] Internet Draft SIP Telephony Call Flow Examples February 2000 The Enterprise 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 URL used to identify the caller is shown in these flows as sip:IdentifierString@gw1.wcom.com. A unique IdentifierString is provisioned on the Gateway against each incoming trunk group. Message Details F1 MF Digits PBX A -> GW 1 KP 1 972 555 2222 ST F2 INVITE A -> Proxy 1 INVITE sip:+1-972-555-2222@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP gw1.wcom.com:5060 From: PBX_A ;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@gw1.wcom.com CSeq: 1 INVITE Contact: PBX_A ;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a location manager function to determine where the phone number +1-972-555-2222 is located. Based upon location analysis the call is forwarded to SIP User B. */ F3 INVITE Proxy 1 -> User B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw1.wcom.com:5060 Record-Route: From: PBX_A ;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@gw1.wcom.com CSeq: 1 INVITE Johnston, et al. Informational [Page 131] Internet Draft SIP Telephony Call Flow Examples February 2000 Contact: PBX_A ;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com 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.wcom.com:5060 From: PBX_A ;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@gw1.wcom.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.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: PBX_A ;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@gw1.wcom.com CSeq: 1 INVITE Content-Length: 0 F6 180 Ringing Proxy 1 -> GW 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP gw1.wcom.com:5060 From: PBX_A ;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@gw1.wcom.com CSeq: 1 INVITE Content-Length: 0 /* One way Voice path is established between GW and the PBX for ringing. */ Johnston, et al. Informational [Page 132] Internet Draft SIP Telephony Call Flow Examples February 2000 F7 200 OK User B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw1.wcom.com:5060 Record-Route: From: PBX_A ;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@gw1.wcom.com Contact: LittleGuy CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 134 v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 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.wcom.com:5060 Record-Route: From: PBX_A ;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@gw1.wcom.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: 134 v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F9 ACK GW 1 -> Proxy 1 ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP gw1.wcom.com:5060 Route: Johnston, et al. Informational [Page 133] Internet Draft SIP Telephony Call Flow Examples February 2000 From: PBX_A ;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@gw1.wcom.com CSeq: 1 ACK Content-Length: 0 F10 ACK Proxy 1 -> User B ACK sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw1.wcom.com:5060 From: PBX_A ;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.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@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP gw1.wcom.com:5060 Route: From: PBX_A ;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@gw1.wcom.com CSeq: 2 BYE Content-Length: 0 F12 BYE Proxy 1 -> User B BYE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw1.wcom.com:5060 From: PBX_A ;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@gw1.wcom.com CSeq: 2 BYE Content-Length: 0 F13 200 OK User B -> Proxy 1 SIP/2.0 200 OK Johnston, et al. Informational [Page 134] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw1.wcom.com:5060 From: PBX_A ;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.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.wcom.com:5060 From: PBX_A ;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@gw1.wcom.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 135] Internet Draft SIP Telephony Call Flow Examples February 2000 5.2 Failure Scenarios 5.2.1 Unsuccessful PSTN to SIP REL, SIP error mapped to REL User 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 USI=Speech CPT=0 0 C=Normal CCI=Not Required F2 INVITE A -> Proxy 1 INVITE sip:+1-972-555-9999@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@gw1.wcom.com;user=phone To: sip:+1-972-555-9999@ss1.wcom.com;user=phone Call-ID: 12345602@gw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@gw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 Johnston, et al. Informational [Page 136] Internet Draft SIP Telephony Call Flow Examples February 2000 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a location manager 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.wcom.com:5060 From: sip:+1-314-555-1111@gw1.wcom.com;user=phone To: sip:+1-972-555-9999@ss1.wcom.com;user=phone Call-ID: 12345602@gw1.wcom.com CSeq: 1 INVITE Content-Length: 0 F4 ACK GW 1 -> Proxy 1 ACK sip:+1-972-555-9999@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@gw1.wcom.com;user=phone To: sip:+1-972-555-9999@ss1.wcom.com;user=phone Call-ID: 12345602@gw1.wcom.com CSeq: 1 ACK Content-Length: 0 F5 REL GW 1 -> User A REL CauseCode=1 CodingStandard=CCITT F6 RLC User A -> GW 1 RLC Johnston, et al. Informational [Page 137] Internet Draft SIP Telephony Call Flow Examples February 2000 5.2.2 Unsuccessful PSTN to SIP REL, SIP busy mapped to REL User 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 [9]. 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 USI=Speech CPT=0 0 C=Normal CCI=Not Required Johnston, et al. Informational [Page 138] Internet Draft SIP Telephony Call Flow Examples February 2000 F2 INVITE A -> Proxy 1 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a location manager function to determine a route for +1-972-555-2222. The call is then forwarded to User B. */ F3 INVITE F3 Proxy 1 -> User B INVITE UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com 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 Johnston, et al. Informational [Page 139] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.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.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Content-Length: 0 F6 ACK Proxy 1 -> User B ACK UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.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.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Content-Length: 0 F8 ACK NGW 1 -> Proxy 1 ACK UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 ACK Johnston, et al. Informational [Page 140] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: 0 F9 REL User A -> NGW 1 REL CauseCode=17 Busy CodingStandard=CCITT F10 RLC NGW 1 -> User A RLC Johnston, et al. Informational [Page 141] Internet Draft SIP Telephony Call Flow Examples February 2000 5.2.3 Unsuccessful PSTN->SIP, SIP error interworking to tones User A NGW 1 Proxy 1 User B | | | | | IAM F1 | | | |--------------->| INVITE F2 | | | |--------------->| INVITE F3 | | | (100) F4 |--------------->| | |<---------------| | | | | 600 F5 | | | |<---------------| | | | ACK F6 | | | 600 F7 |--------------->| | |<---------------| | | | ACK F8 | | | ANM F9 |--------------->| | |<---------------| | | | Both Way Voice | | | |<==============>| | | | Busy Tone | | | |<===============| | | | REL(17) 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, plays busy tone, and releases call after timeout. 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, not that for ETSI or ITU ISUP, a CONnect message would be sent intead of the Answer Message. Message Details F1 IAM User A -> NGW 1 IAM CgPN=314-555-1111,NPI=E.164,NOA=National Johnston, et al. Informational [Page 142] Internet Draft SIP Telephony Call Flow Examples February 2000 CdPN=972-555-2222,NPI=E.164,NOA=National USI=Speech CPT=0 0 C=Normal CCI=Not Required Interworking=encountered F2 INVITE A -> Proxy 1 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a location manager function to determine a route for +1-972-555-2222. The call is then forwarded to User B. */ F3 INVITE Proxy 1 -> User B INVITE UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com Johnston, et al. Informational [Page 143] Internet Draft SIP Telephony Call Flow Examples February 2000 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 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.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.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Content-Length: 0 F6 ACK Proxy 1 -> User B ACK UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.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.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com Johnston, et al. Informational [Page 144] Internet Draft SIP Telephony Call Flow Examples February 2000 CSeq: 1 INVITE Content-Length: 0 F8 ACK NGW 1 -> Proxy 1 ACK sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 ACK Content-Length: 0 F9 ACM User B -> NGW 1 ACM Charge Indicator=No Charge Called Party Status=no indication Called Party's Category=ordinary subscriber End To End Method=none available Interworking=encountered End to End Information=none available ISUP Indicator=not used all the way ISDN Access Terminating access non ISDN Echo Control=not included /* A two way speech path is established between NGW 1 and User A. */ /* Call Released after NGW treatment timer expires. */ F10 REL User A -> NGW 1 REL CauseCode=17 CodingStandard=CCITT F11 RLC NGW 1 -> User A RLC Johnston, et al. Informational [Page 145] Internet Draft SIP Telephony Call Flow Examples February 2000 5.2.4 Unsuccessful PSTN->SIP, ACM timeout User 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 | | | |<---------------| CANCEL F14 | | | |--------------->| | | | CANCEL F15 | | | |--------------->| | | | CANCEL F16 | | | |--------------->| | | | CANCEL F17 | | | |--------------->| | | | CANCEL F18 | | | |--------------->| | | | | 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 which is again re-sent by Proxy 1 after SIP T1 timer expires. Message Details Johnston, et al. Informational [Page 146] Internet Draft SIP Telephony Call Flow Examples February 2000 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 USI=Speech CPT=0 0 C=Normal CCI=Not Required F2 INVITE A -> Proxy 1 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a location manager function to determine a route for +1-972-555-2222. The call is then forwarded to User B. */ F3 INVITE Proxy 1 -> User B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com Johnston, et al. Informational [Page 147] Internet Draft SIP Telephony Call Flow Examples February 2000 c c=IN IP4 gatewayone.wcom.com 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.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Content-Length: 0 F5 INVITE Proxy 1 -> User B 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 CodingStandard=CCITT Johnston, et al. Informational [Page 148] Internet Draft SIP Telephony Call Flow Examples February 2000 F11 RLC NGW 1 -> User A RLC F12 CANCEL NGW 1 -> Proxy 1 CANCEL sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.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.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 CANCEL Content-Length: 0 F14 CANCEL Proxy 1 -> User B CANCEL sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 CANCEL Content-Length: 0 F15 CANCEL Proxy 1 -> User B Same as Message F14 F16 CANCEL Proxy 1 -> User B Same as Message F14 F17 CANCEL Proxy 1 -> User B Johnston, et al. Informational [Page 149] Internet Draft SIP Telephony Call Flow Examples February 2000 Same as Message F14 F18 CANCEL Proxy 1 -> User B Same as Message F14 F19 CANCEL Proxy 1 -> User B Same as Message F14 Johnston, et al. Informational [Page 150] Internet Draft SIP Telephony Call Flow Examples February 2000 5.2.5 Unsuccessful PSTN->SIP, ACM timeout, stateless Proxy User A NGW 1 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 | | | |<---------------| | | | | CANCEL F16 | | | |--------------->| CANCEL F17 | | | CANCEL F18 |--------------->| | |--------------->| CANCEL F19 | | | CANCEL F20 |--------------->| | |--------------->| CANCEL F21 | | | CANCEL F22 |--------------->| | |--------------->| CANCEL F23 | | | CANCEL F24 |--------------->| | |--------------->| CANCEL F25 | | | CANCEL F26 |--------------->| | |--------------->| CANCEL F27 | | | |--------------->| | | | | 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 and CANCEL messages 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. Message Details F1 IAM User A -> NGW 1 Johnston, et al. Informational [Page 151] Internet Draft SIP Telephony Call Flow Examples February 2000 IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=972-555-2222,NPI=E.164,NOA=National USI=Speech CPT=0 0 C=Normal CCI=Not Required F2 INVITE NGW 1 -> Proxy 1 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a location manager function to determine a route for +1-972-555-2222. The call is then forwarded to User B. */ F3 INVITE Proxy 1 -> User B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP Johnston, et al. Informational [Page 152] Internet Draft SIP Telephony Call Flow Examples February 2000 c=IN IP4 gatewayone.wcom.com 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 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 Johnston, et al. Informational [Page 153] Internet Draft SIP Telephony Call Flow Examples February 2000 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=16 Normal CodingStandard=CCITT F15 RLC NGW 1 -> User A RLC F16 CANCEL NGW 1 -> Proxy 1 CANCEL sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 CANCEL Content-Length: 0 F17 CANCEL Proxy 1 -> User B CANCEL sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 CANCEL Content-Length: 0 F18 CANCEL NGW 1 -> Proxy 1 Same as Message F16 F19 CANCEL Proxy 1 -> User B Johnston, et al. Informational [Page 154] Internet Draft SIP Telephony Call Flow Examples February 2000 Same as Message F17 F20 CANCEL NGW 1 -> Proxy 1 Same as Message F16 F21 CANCEL Proxy 1 -> User B Same as Message F17 F22 CANCEL NGW 1 -> Proxy 1 Same as Message F16 F23 CANCEL Proxy 1 -> User B Same as Message F17 F24 CANCEL NGW 1 -> Proxy 1 Same as Message F16 F25 CANCEL Proxy 1 -> User B Same as Message F17 F26 CANCEL NGW 1 -> Proxy 1 Same as Message F16 F27 CANCEL Proxy 1 -> User B Same as Message F17 Johnston, et al. Informational [Page 155] Internet Draft SIP Telephony Call Flow Examples February 2000 5.2.6 Unsuccessful PSTN->SIP, ANM timeout User 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 | | | |<---------------| | | | | In this scenario, User A calls User B through NGW 1 and Proxy 1. User B does not respond with 200 OK. 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 IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=972-555-2222,NPI=E.164,NOA=National USI=Speech CPT=0 0 Johnston, et al. Informational [Page 156] Internet Draft SIP Telephony Call Flow Examples February 2000 C=Normal CCI=Not Required F2 INVITE A -> Proxy 1 INVITE sip:+1-972-555-2222@ngw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 uses a location manager function to determine a route for +1-972-555-2222. The call is then forwarded to User B. */ F3 INVITE Proxy 1 -> User B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 150 v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 157] Internet Draft SIP Telephony Call Flow Examples February 2000 F4 (100 Trying) User B -> Proxy 1 SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.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.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Content-Length: 0 F6 180 Ringing Proxy 1 -> NGW 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345602@ngw1.wcom.com CSeq: 1 INVITE Content-Length: 0 F7 ACM NGW 1 -> User A ACM Charge Indicator=No Charge Called Party Status=no indication Called Party's Category=ordinary subscriber End To End Method=none available Interworking=encountered End to End Information=none available ISUP Indicator=not used all the way ISDN Access Terminating access non ISDN Johnston, et al. Informational [Page 158] Internet Draft SIP Telephony Call Flow Examples February 2000 Echo Control=not included /* Timer expires in User A's access network. */ F8 REL User A -> NGW 1 REL CauseCode=16 Normal CodingStandard=CCITT F9 RLC NGW 1 -> User A RLC F10 CANCEL NGW 1 -> Proxy 1 CANCEL sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.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.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 CANCEL Content-Length: 0 F12 CANCEL Proxy 1 -> User B CANCEL sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 CANCEL Content-Length: 0 Johnston, et al. Informational [Page 159] Internet Draft SIP Telephony Call Flow Examples February 2000 F13 200 OK User B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-972-555-2222@ss1.wcom.com;user=phone Call-ID: 12345602@ngw1.wcom.com CSeq: 1 CANCEL Content-Length: 0 Johnston, et al. Informational [Page 160] Internet Draft SIP Telephony Call Flow Examples February 2000 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[9]. 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 establish a media path between the two Gateways, allowing in-band alerting to pass from the called party telephone switch to the caller. Johnston, et al. Informational [Page 161] Internet Draft SIP Telephony Call Flow Examples February 2000 6.1.1 Successful ISUP PSTN to ISUP PSTN call User A NGW 1 Proxy 1 GW 2 User C | | | | | | IAM F1 | | | | |------------->| | | | | | INVITE F2 | | | | |------------->| INVITE F3 | | | | |------------->| IAM F4 | | | | |------------->| | | | | ACM F5 | | | | 183 F6 |<-------------| | | 183 F7 |<-------------| | | ACM F8 |<-------------| | | |<-------------| | | | | One Way Voice| Both 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 |<-------------| REL 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 Enterprise Gateway GW 2. The CdPN and CgPN are mapped into SIP URLs 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 Johnston, et al. Informational [Page 162] Internet Draft SIP Telephony Call Flow Examples February 2000 served by GW 2. The Request-URI in F3 uses the phone-context tag to identify what private dialing plan is being referenced. For more information on phone-context, refer to [7]. The INVITE is then forwarded to GW 2 for call 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 User A -> NGW 1 IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=918-555-3333,NPI=E.164,NOA=National USI=Speech CPT=0 0 C=Normal CCI=Not Required F2 INVITE NGW 1 -> Proxy 1 INVITE sip:+1-918-555-3333@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-918-555-3333@ss1.wcom.com;user=phone Call-ID: 12345600@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 134 v=0 o=GW1 2890844526 2890844526 IN IP4 gw1.wcom.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 INVITE Proxy 1 -> GW 2 INVITE sip:444-3333@gw2.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw1.wcom.com:5060 Johnston, et al. Informational [Page 163] Internet Draft SIP Telephony Call Flow Examples February 2000 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-918-555-3333@ss1.wcom.com;user=phone Call-ID: 12345600@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Content-Type: application/sdp Content-Length: 134 v=0 o=GW1 2890844526 2890844526 IN IP4 gw1.wcom.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F4 IAM GW 2 -> User C IAM CgPN=314-555-1111,NPI=E.164,NOA=National CdPN=444-3333,NPI=Private,NOA=Subscriber USI=Speech CPT=0 0 C=Normal CCI=Not Required F5 ACM User C -> GW 2 ACM Charge Indicator=No Charge Called Party Status=no indication Called Party's Category=ordinary subscriber End To End Method=none available Interworking=encountered End to End Information=none available ISUP Indicator=not used all the way ISDN Access Terminating access non ISDN Echo Control=not included /* Based on PROGress message, GW 2 returns a 183 response with SDP allowing in-band call progress indications to be sent to User A through NGW 1. */ F6 183 Session Progress GW 2 -> Proxy 1 SIP/2.0 183 Session Progress Johnston, et al. Informational [Page 164] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345600@ngw1.wcom.com CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 134 v=0 o=PBX_B 987654321 987654321 IN IP4 gw2.wcom.com s=Session SDP c=IN IP4 100.101.102.104 t=0 0 m=audio 14918 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 183 Session Progress Proxy 1 -> GW 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345600@ngw1.wcom.com CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 134 v=0 o=PBX_B 987654321 987654321 IN IP4 gw2.wcom.com s=Session SDP c=IN IP4 100.101.102.104 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 -> User A ACM Charge Indicator=No Charge Called Party Status=no indication Called Party's Category=ordinary subscriber End To End Method=none available Interworking=encountered Johnston, et al. Informational [Page 165] Internet Draft SIP Telephony Call Flow Examples February 2000 End to End Information=none available ISUP Indicator=not used all the way ISDN Access Terminating access non ISDN Echo Control=not included /* User B answers */ F9 ANM User C -> GW 2 ANM F10 200 OK GW 2 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345600@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:444-3333@gw2.wcom.com;phone-context=p1234 Content-Type: application/sdp Content-Length: 134 v=0 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com s=Session SDP c=IN IP4 100.101.102.104 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.wcom.com:5060 Record-Route: From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345600@ngw1.wcom.com CSeq: 1 INVITE Contact: sip:444-3333@gw2.wcom.com;phone-context=p1234 Content-Type: application/sdp Content-Length: 134 v=0 Johnston, et al. Informational [Page 166] Internet Draft SIP Telephony Call Flow Examples February 2000 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com s=Session SDP c=IN IP4 100.101.102.104 t=0 0 m=audio 14918 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F12 ANM NGW 1 -> User A ANM F13 ACK NGW 1 -> Proxy 1 ACK sip:444-3333@ss1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP ngw1.wcom.com:5060 Route: ;phone-context=p1234 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345600@gw1.wcom.com CSeq: 1 ACK Content-Length: 0 F14 ACK Proxy 1 -> GW 2 ACK sip:444-3333@gw2.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ngw1.wcom.com:5060 From: sip:+1-314-555-1111@ngw1.wcom.com;user=phone To: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 Call-ID: 12345600@ngw1.wcom.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 User C -> GW 2 REL CauseCode=16 Normal CodingStandard=CCITT F16 BYE GW 2 -> Proxy 1 Johnston, et al. Informational [Page 167] Internet Draft SIP Telephony Call Flow Examples February 2000 BYE sip:+1-314-555-1111@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP gw2.wcom.com:5060 Route: ;user=phone From: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 To: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Call-ID: 12345600@ngw1.wcom.com CSeq: 4 BYE Content-Length: 0 F17 RLC GW 2 -> User C RLC F18 BYE Proxy 1 -> NGW 1 BYE sip:+1-314-555-1111@gw1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw2.wcom.com:5060 From: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 To: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Call-ID: 12345600@ngw1.wcom.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.wcom.com:5060 Via: SIP/2.0/UDP gw2.wcom.com:5060 From: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 To: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Call-ID: 12345600@ngw1.wcom.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.wcom.com:5060 From: sip:+1-918-555-3333@ss1.wcom.com;user=phone;tag=314159 To: sip:+1-314-555-1111@ngw1.wcom.com;user=phone Call-ID: 12345600@ngw1.wcom.com CSeq: 4 BYE Content-Length: 0 Johnston, et al. Informational [Page 168] Internet Draft SIP Telephony Call Flow Examples February 2000 F21 REL User C -> GW 2 REL CauseCode=16 Normal CodingStandard=CCITT F22 RLC GW 2 -> User C RLC Johnston, et al. Informational [Page 169] Internet Draft SIP Telephony Call Flow Examples February 2000 6.1.2 Successful FGB PBX to ISDN PBX call with overflow User A GW 1 Proxy 1 GW 2 GW 3 User B | | | | | | | Seizure | | | | | |----------->| | | | | | Wink | | | | | |<-----------| | | | | |MF Digits F1| | | | | |----------->| | | | | | | INVITE F2 | | | | | |----------->| INVITE F3 | | | | | |----------->| | | | | | 503 F4 | | | | | |<-----------| | | | | | ACK F5 | | | | | |----------->| | | | | | INVITE F6 | | | | |------------------------>| SETUP F7 | | | | (100) F8 |----------->| | | |<------------------------|CALL PROC F9| | | | |<-----------| | | | | PROG F10 | | | | 183 F11 |<-----------| | | 183 F12 |<------------------------| | | |<-----------| | | |OneWay Voice| Both Way RTP Media |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| | | | |<-----------| | | | | | Johnston, et al. Informational [Page 170] Internet Draft SIP Telephony Call Flow Examples February 2000 PBX User A calls PBX User C via Gateway GW 1 and Proxy 1. During the 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:444-3333@ss1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP gw1.wcom.com:5060 From: PBX_A To: sip:444-3333@ss1.wcom.com;phone-context=p1234 Call-ID: 12345600@gw1.wcom.com CSeq: 1 INVITE Contact: PBX_A Content-Type: application/sdp Content-Length: 136 v=0 o=PBX_A 2890844526 2890844526 IN IP4 gw1.wcom.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 171] Internet Draft SIP Telephony Call Flow Examples February 2000 /* Proxy 1 uses a location manager function to determine where B is located. Response is returned listing alternative routes. */ F3 INVITE Proxy 1 -> GW 2 INVITE sip:444-3333@gw2.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw1.wcom.com:5060 Record-Route: ;phone-context=p1234 From: PBX_A To: sip:444-3333@ss1.wcom.com;phone-context=p1234 Call-ID: 12345600@gw1.wcom.com CSeq: 1 INVITE Contact: PBX_A Content-Type: application/sdp Content-Length: 136 v=0 o=PBX_A 2890844526 2890844526 IN IP4 gw1.wcom.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 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.wcom.com:5060 Via: SIP/2.0/UDP gw1.wcom.com:5060 From: PBX_A To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=314159 Call-ID: 12345600@gw1.wcom.com CSeq: 1 INVITE Content-Length: 0 F5 ACK Proxy 1 -> GW 2 ACK sip:444-3333@gw2.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw1.wcom.com:5060 From: PBX_A To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=314159 Call-ID: 12345600@gw1.wcom.com CSeq: 1 ACK Content-Length: 0 Johnston, et al. Informational [Page 172] Internet Draft SIP Telephony Call Flow Examples February 2000 F6 INVITE Proxy 1 -> GW 3 INVITE sip:+1-918-555-3333@gw3.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw1.wcom.com:5060 Record-Route: ;phone-context=p1234 From: PBX_A To: sip:444-3333@ss1.wcom.com;phone-context=p1234 Call-ID: 12345600@gw1.wcom.com CSeq: 1 INVITE Contact: PBX_A Content-Type: application/sdp Content-Length: 136 v=0 o=PBX_A 2890844526 2890844526 IN IP4 gw1.wcom.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 SETUP GW 3 -> PBX C Protocol discriminator=Q.931 Call reference: Flag=0, CR value=any valid value not in use 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.wcom.com:5060 From: PBX_A To: sip:444-3333@ss1.wcom.com;phone-context=p1234 Call-ID: 12345600@gw1.wcom.com CSeq: 1 INVITE Content-Length: 0 Johnston, et al. Informational [Page 173] Internet Draft SIP Telephony Call Flow Examples February 2000 F9 CALL PROCeeding PBX C -> GW 3 Protocol discriminator=Q.931 Call reference: Flag=1, CR value=value in F9 SETUP message Message type=CALL PROC Channel identification=Exclusive B-channel F10 PROGress PBX C -> GW 3 Protocol discriminator=Q.931 Call reference: Flag=1, CR value=value in F9 SETUP message Message type=PROG Progress indicator=1 (Call is not end-to-end ISDN;further call progress information may be available inband) /* Based on PROGress message, GW 3 returns a 183 response with SDP allowing in-band call progress indications to be sent to the originator. */ F11 183 Session Progress GW 3 -> Proxy 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw1.wcom.com:5060 From: PBX_A To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 Call-ID: 12345600@gw1.wcom.com CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 134 v=0 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com s=Session SDP c=IN IP4 100.101.102.104 t=0 0 m=audio 14918 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F12 183 Session Progress Proxy 1 -> GW 1 SIP/2.0 183 Session Progress Via: SIP/2.0/UDP gw1.wcom.com:5060 From: PBX_A To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 Call-ID: 12345600@gw1.wcom.com Johnston, et al. Informational [Page 174] Internet Draft SIP Telephony Call Flow Examples February 2000 CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 134 v=0 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com s=Session SDP c=IN IP4 100.101.102.104 t=0 0 m=audio 14918 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* GW 1 receives packets from GW 3 with encoded ringback, tones or other audio. GW 1 decodes this and places it on the originating trunk. */ F13 CONNect PBX C -> GW 3 Protocol discriminator=Q.931 Call reference: Flag=1, CR value=value in F9 SETUP message Message type=CONN F14 200 OK GW 3 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw1.wcom.com:5060 Record-Route: ;phone-context=p1234 From: PBX_A To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 Call-ID: 12345600@gw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-918-555-3333@gw3.wcom.com;user=phone Content-Type: application/sdp Content-Length: 134 v=0 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com s=Session SDP c=IN IP4 100.101.102.104 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 Johnston, et al. Informational [Page 175] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP gw1.wcom.com:5060 Record-Route: ;phone-context=p1234 From: PBX_A To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 Call-ID: 12345600@gw1.wcom.com CSeq: 1 INVITE Contact: sip:+1-918-555-3333@gw3.wcom.com;user=phone Content-Type: application/sdp Content-Length: 134 v=0 o=PBX_B 987654321 987654321 IN IP4 gw3.wcom.com s=Session SDP c=IN IP4 100.101.102.104 t=0 0 m=audio 14918 RTP/AVP 0 a=rtpmap:0 PCMU/8000 GW 1 -> PBX A Seizure F16 ACK GW 1 -> Proxy 1 ACK sip:+1-918-555-3333@ss1.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP gw1.wcom.com:5060 Route: From: PBX_A To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 Call-ID: 12345600@gw1.wcom.com CSeq: 1 ACK Content-Length: 0 F17 ACK Proxy 1 -> GW 3 ACK sip:+1-918-555-3333@gw3.wcom.com;user=phone SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw1.wcom.com:5060 From: PBX_A To: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 Call-ID: 12345600@gw1.wcom.com CSeq: 1 ACK Content-Length: 0 F18 CONNect ACK GW 3 -> PBX C Johnston, et al. Informational [Page 176] Internet Draft SIP Telephony Call Flow Examples February 2000 Protocol discriminator=Q.931 Call reference: Flag=0, CR value=value in F9 SETUP message 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 Call reference: Flag=1, CR value=value in F9 SETUP message Message type=DISC Cause=16 (Normal clearing) F20 BYE GW 3 -> Proxy 1 BYE sip:IdentifierString@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP gw3.wcom.com:5060 Route: From: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 To: PBX_A Call-ID: 12345600@gw1.wcom.com CSeq: 1 BYE Content-Length: 0 F21 BYE Proxy 1 -> GW 1 BYE sip:IdentifierString@gw1.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw3.wcom.com:5060 From: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 To: PBX_A Call-ID: 12345600@gw1.wcom.com CSeq: 1 BYE Content-Length: 0 GW 1 -> PBX A Seizure removal F22 RELease GW 3 -> PBX C Protocol discriminator=Q.931 Call reference: Flag=0, CR value=value in F9 SETUP message Johnston, et al. Informational [Page 177] Internet Draft SIP Telephony Call Flow Examples February 2000 Message type=REL F23 200 OK GW 1 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP gw3.wcom.com:5060 From: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 To: PBX_A Call-ID: 12345600@gw1.wcom.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.wcom.com:5060 From: sip:444-3333@ss1.wcom.com;phone-context=p1234;tag=123456789 To: PBX_A Call-ID: 12345600@gw1.wcom.com CSeq: 1 BYE Content-Length: 0 F25 RELease COMplete PBX C -> GW 3 Protocol discriminator=Q.931 Call reference: Flag=1, CR value=value in F9 SETUP message Message type=REL COM PBX A -> GW 1 Seizure removal Johnston, et al. Informational [Page 178] Internet Draft SIP Telephony Call Flow Examples February 2000 7 IP Telephony Services Features Call Flows These call flows show how a number of standard telephony features can be implemented using SIP. They are not meant to represent a complete set. Some calls make use of SIP Call Control Extensions[10]. 7.1 Call Hold User A Proxy User B | | | | INVITE F1 | | |--------------->| | | 407 F2 | |<---------------| | | ACK F3 | | |--------------->| | | INVITE F4 | | |--------------->| | | | INVITE F5 | |(100 Trying) F6 |------------->| |<---------------| | | |180 Ringing F7| | 180 Ringing F8 |<-------------| |<---------------| | | | 200 OK F9 | | 200 OK F10 |<-------------| |<---------------| | | ACK F11 | | |--------------->| ACK F12 | | |------------->| | Both way RTP Established | |<=============================>| | |INVITE (c=0) F13 |INVITE (c=0) F14|<-------------| |<---------------| | | 200 OK F15 | | |--------------->| 200 OK F16 | | |------------->| | | ACK F17 | | ACK F18 |<-------------| |<---------------| | | No RTP Sent! | | | INVITE F19 | | INVITE F20 |<-------------| |<---------------| | | 200 OK F21 | | |--------------->| 200 OK F22 | | |------------->| | | ACK F23 | | ACK F24 |<-------------| Johnston, et al. Informational [Page 179] Internet Draft SIP Telephony Call Flow Examples February 2000 |<---------------| | | Both way RTP Established | |<=============================>| | BYE F25 | | |--------------->| BYE F26 | | |------------->| | | 200 OK F27 | | 200 OK F28 |<-------------| |<---------------| | | | | User A calls User B, User B places call on hold. User B then takes call off hold. User A hangs up call. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 challenges User A for authentication */ F2 407 Proxy Authorization Required Proxy 1 -> A SIP/2.0 407 Proxy Authorization Required Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 180] Internet Draft SIP Telephony Call Flow Examples February 2000 Proxy-Authenticate: Digest realm="MCI WorldCom SIP", domain="wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", stale="FALSE", algorithm="MD5" Content-Length: 0 F3 ACK A -> Proxy 1 ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.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@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom SIP", nonce="b0b0da2c5ac51bb59a05j1c31cf832b40", opaque="", uri="sip:ss1.wcom.com", response="006b4853fd66774e6c5599867c72cb59" Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 accepts the credentials and forwards the INVITE User B. Client for A prepares to receive data on port 49170 from the network. */ F5 INVITE Proxy 1 -> B INVITE sip:UserB@there.com SIP/2.0 Johnston, et al. Informational [Page 181] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F6 (100 Trying) Proxy 1 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Content-Length: 0 F7 180 Ringing B -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Content Length:0 F8 180 Ringing Proxy 1 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com Johnston, et al. Informational [Page 182] Internet Draft SIP Telephony Call Flow Examples February 2000 CSeq: 1 INVITE Content Length: 0 F9 200 OK B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F10 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 ACK A -> Proxy 1 Johnston, et al. Informational [Page 183] Internet Draft SIP Telephony Call Flow Examples February 2000 ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length:0 F12 ACK Proxy 1 -> B ACK sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length:0 /* User B places User A on hold. */ F13 INVITE B -> Proxy 1 INVITE sip:UserA@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F14 INVITE Proxy 1 -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Johnston, et al. Informational [Page 184] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F15 200 OK A -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F16 200 OK Proxy 1 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Johnston, et al. Informational [Page 185] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F17 ACK B -> Proxy 1 ACK sip:UserA@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length: 0 F18 ACK Proxy 1 -> A ACK sip: UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length: 0 /* User B takes the call off hold */ F19 INVITE B -> Proxy 1 INVITE sip:UserA@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... Johnston, et al. Informational [Page 186] Internet Draft SIP Telephony Call Flow Examples February 2000 v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F20 INVITE Proxy 1 -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F21 200 OK A -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 Johnston, et al. Informational [Page 187] Internet Draft SIP Telephony Call Flow Examples February 2000 a=rtpmap:0 PCMU/8000 F22 200 OK Proxy 1 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F23 ACK B -> Proxy 1 ACK sip:UserA@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 ACK Content-Length: 0 F24 ACK Proxy 1 -> A ACK sip: UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345601@here.com CSeq: 2 ACK Content-Length: 0 F25 BYE A -> Proxy 1 Johnston, et al. Informational [Page 188] Internet Draft SIP Telephony Call Flow Examples February 2000 BYE sip: UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 2 BYE Content-Length: 0 F26 BYE Proxy 1 -> B BYE sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 2 BYE Content-Length: 0 F27 200 OK B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 2 BYE Content-Length: 0 F28 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345601@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 189] Internet Draft SIP Telephony Call Flow Examples February 2000 7.2 Consultation Hold User A Proxy User B User C | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | |------------->| | |(100 Trying) F3 | | | |<---------------|180 Ringing F4| | | |<-------------| | | 180 Ringing F5 | | | |<---------------| 200 OK F6 | | | |<-------------| | | 200 OK F7 | | | |<---------------| | | | ACK F8 | | | |--------------->| ACK F9 | | | |------------->| | | Both way RTP Established | | |<=============================>| | | |INVITE (c=0) F10 | |INVITE (c=0) F11|<-------------| | |<---------------| | | | 200 OK F12 | | | |--------------->| 200 OK F13 | | | |------------->| | | | ACK F14 | | | |<-------------| | | ACK F15 | | | |<---------------| | | | No RTP Sent! | | | | INVITE F16 | | | |<-------------| | | | | INVITE F17 | | |--------------------------------->| | |(100 Trying) F18 | | |------------->| | | | | 180 Ringing F19 | | |<---------------------------------| | | 180 Ringing F20 | | |------------->| | | | | 200 OK F21 | | |<---------------------------------| | | 200 OK F22 | | | |------------->| | | | ACK F23 | | | |<-------------| | | | | ACK F24 | | |--------------------------------->| Johnston, et al. Informational [Page 190] Internet Draft SIP Telephony Call Flow Examples February 2000 | | Both way RTP Established | | | |<=================>| | | BYE F25 | | | |<-------------| | | | | BYE F26 | | |--------------------------------->| | | | 200 OK F27 | | |<---------------------------------| | | 200 OK F28 | | | |------------->| | | | INVITE F29 | | | INVITE F30 |<-------------| | |<---------------| | | | 200 OK F31 | | | |--------------->| 200 OK F32 | | | |------------->| | | | ACK F33 | | | |<-------------| | | ACK F34 | | | |<---------------| | | | Both way RTP Established | | |<=============================>| | | BYE F35 | | | |--------------->| BYE F36 | | | |------------->| | | | 200 OK F37 | | | |<-------------| | | 200 OK F38 | | | |<---------------| | | | | | | User A calls user B. User B places call on hold. User B calls User C, after that call is finished User B take the call with User A off hold. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Johnston, et al. Informational [Page 191] Internet Draft SIP Telephony Call Flow Examples February 2000 Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom SIP", nonce="c5ac31cf51bb5b0b0da29a05j1c832b40", opaque="", uri="sip:ss1.wcom.com", response="dc832edc8930a761ce764bcde5ba8075" Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 accepts the credentials and forwards the INVITE User B. Client for A prepares to receive data on port 49170 from the network. */ F2 INVITE Proxy 1 -> B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3(100 Trying) Proxy 1 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 192] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: 0 F4 180 Ringing B -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content Length:0 F5 180 Ringing Proxy 1 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content Length: 0 F6 200 OK B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 200 OK Proxy 1 -> A Johnston, et al. Informational [Page 193] Internet Draft SIP Telephony Call Flow Examples February 2000 SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 ACK A -> Proxy 1 ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length:0 F9 ACK Proxy 1 -> B ACK sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length:0 /* User B places User A on hold. */ F10 INVITE B -> Proxy 1 INVITE sip:UserA@ss1.wcom.com SIP/2.0 Johnston, et al. Informational [Page 194] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 INVITE Proxy 1 -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F12 200 OK A -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 195] Internet Draft SIP Telephony Call Flow Examples February 2000 Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F13 200 OK Proxy 1 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 0.0.0.0 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F14 ACK B -> Proxy 1 ACK sip:UserA@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F15 ACK Proxy 1 -> A ACK sip: UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Johnston, et al. Informational [Page 196] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F16 INVITE B -> Proxy 1 INVITE sip:UserC@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844526 2890844526 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 50170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F17 INVITE Proxy 1 -> C INVITE sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy To: OtherGuy Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844526 2890844526 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 50170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 197] Internet Draft SIP Telephony Call Flow Examples February 2000 F18 (100 Trying) Proxy 1 -> B SIP/2.0 100 Trying Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy Call-ID: 9876543210@there.com CSeq: 1 INVITE Content-Length: 0 F19 180 Ringing C -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@here.com CSeq: 1 INVITE Content Length:0 F20 180 Ringing Proxy 1 -> B SIP/2.0 180 Ringing Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 INVITE Content Length: 0 F21 200 OK C -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... Johnston, et al. Informational [Page 198] Internet Draft SIP Telephony Call Flow Examples February 2000 v=0 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com s=Session SDP c=IN IP4 120.121.122.123 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F22 200 OK Proxy 1 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: OtherGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com s=Session SDP c=IN IP4 120.121.122.123 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F23 ACK B -> Proxy 1 ACK sip:UserC@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 ACK Content-Length:0 F24 ACK Proxy 1 -> C ACK sip: UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=456654 Johnston, et al. Informational [Page 199] Internet Draft SIP Telephony Call Flow Examples February 2000 Call-ID: 9876543210@there.com CSeq: 1 ACK Content-Length:0 F25 BYE B -> Proxy 1 BYE sip: UserC@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 2 BYE Content-Length: 0 F26 BYE Proxy 1 -> C BYE sip: UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 2 BYE Content-Length: 0 F27 200 OK C -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 2 BYE Content-Length: 0 F28 200 OK Proxy 1 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 200] Internet Draft SIP Telephony Call Flow Examples February 2000 /* User B takes the call off hold */ F29 INVITE B -> Proxy 1 INVITE sip:UserA@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F30 INVITE Proxy 1 -> A INVITE sip:UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F31 200 OK A -> Proxy 1 Johnston, et al. Informational [Page 201] Internet Draft SIP Telephony Call Flow Examples February 2000 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F32 200 OK Proxy 1 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F33 ACK B -> Proxy 1 ACK sip:UserA@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 ACK Content-Length: 0 Johnston, et al. Informational [Page 202] Internet Draft SIP Telephony Call Flow Examples February 2000 F34 ACK Proxy 1 -> A ACK sip: UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=314159 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 ACK Content-Length: 0 F35 BYE A -> Proxy 1 BYE sip: UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F36 BYE Proxy 1 -> B BYE sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F37 200 OK B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 203] Internet Draft SIP Telephony Call Flow Examples February 2000 F38 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy ;tag=1234567 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 204] Internet Draft SIP Telephony Call Flow Examples February 2000 7.3 Unattended Transfer User A Proxy User B User C User D | | | | | | INVITE F1 | | | | |--------------->| INVITE F2 | | | | |------------->| | | |(100 Trying) F3 | | | | |<---------------|180 Ringing F4| | | | |<-------------| | | | 180 Ringing F5 | | | | |<---------------| 200 OK F6 | | | | |<-------------| | | | 200 OK F7 | | | | |<---------------| | | | | ACK F8 | | | | |--------------->| ACK F9 | | | | |------------->| | | | Both way RTP Established | | | |<=============================>| | | | BYE (Also C) F10 | | | |--------------->| BYE (Also C) F11 | | | |------------->| | | | | 200 OK F12 | | | | 200 OK F13 |<-------------| | | |<---------------| | | | | | INVITE (ReqBy A) F14 | | | |<-------------| | | | | INVITE (ReqBy A) F15 | | | |------------------------>| | | |(100 Trying) F16 | | | |------------->| | | | | 180 Ringing F17 | | | |<------------------------| | | | 180 Ringing F18 | | | |------------->| | | | | 200 OK F19| | | |<------------------------| | | | 200 OK F20 | | | | |------------->| | | | | ACK F21 | | | | |<-------------| | | | | | ACK F22 | | | |------------------------>| | | | Both way RTP Established | | | |<========>| | | | BYE (Also D) F23| | | |<------------------------| | | | BYE (Also D) F24 | | Johnston, et al. Informational [Page 205] Internet Draft SIP Telephony Call Flow Examples February 2000 | |------------->| | | | | 200 OK F25 | | | | |<-------------| | | | | |200 OK F26| | | |------------------------>| | | | INVITE (ReqBy C) F27 | | | |<-------------| | | | | INVITE (ReqBy C) F28 | | |----------------------------------->| | |(100 Trying) F29 | | | |------------->| | | | | | 180 Ringing F30 | | |<-----------------------------------| | | 180 Ringing F31 | | | |------------->| | | | | | |200 OK F32| | |<-----------------------------------| | | 200 OK F33 | | | | |------------->| | | | | ACK F34 | | | | |<-------------| | | | | | | ACK F35 | | |----------------------------------->| | | Both way RTP Established | | | |<===================>| | | BYE F36 | | | | |<-------------| | BYE F37 | | |----------------------------------->| | | | |200 OK F38| | |<-----------------------------------| | | 200 OK F39 | | | | |------------->| | | | | | | | User A call user B. User A then transfers User B to user C. User C then transfers User B to User D. User B hangs up the call. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Johnston, et al. Informational [Page 206] Internet Draft SIP Telephony Call Flow Examples February 2000 Contact: BigGuy Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom SIP", nonce="761ce7cde5ba8d64bc832edc8930a075", opaque="", uri="sip:ss1.wcom.com", response="61e1fc70ec739cc79fda2cfaf2791d96" Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 accepts the credentials and forwards the INVITE User B. Client for A prepares to receive data on port 49170 from the network. */ F2 INVITE Proxy 1 -> B INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 (100 Trying) Proxy 1 -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com Johnston, et al. Informational [Page 207] Internet Draft SIP Telephony Call Flow Examples February 2000 CSeq: 1 INVITE Content-Length: 0 F4 180 Ringing B -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content Length:0 F5 180 Ringing Proxy 1 -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content Length: 0 F6 200 OK B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 208] Internet Draft SIP Telephony Call Flow Examples February 2000 F7 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 ACK A -> Proxy 1 ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length:0 F9 ACK Proxy 1 -> B ACK sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length:0 /* User A transfers User B to User C */ F10 BYE A -> Proxy 1 Johnston, et al. Informational [Page 209] Internet Draft SIP Telephony Call Flow Examples February 2000 BYE sip: UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Also: OtherGuy Content-Length: 0 F11 BYE Proxy 1 -> B BYE sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Also: OtherGuy Content-Length: 0 F12 200 OK B -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F13 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F14 INVITE B -> Proxy 1 INVITE sip:UserC@ss1.wcom.com SIP/2.0 Johnston, et al. Informational [Page 210] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Requested-By: BigGuy Content-Length: ... v=0 o=UserB 2890844526 2890844526 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 50170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 accepts the credentials and forwards the INVITE User B. Client for A prepares to receive data on port 49170 from the network. */ F15 INVITE Proxy 1 -> C INVITE sip:UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy To: OtherGuy Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Requested-By: BigGuy Content-Length: ... v=0 o=UserB 2890844526 2890844526 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 50170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F16 (100 Trying) Proxy 1 -> B SIP/2.0 100 Trying Johnston, et al. Informational [Page 211] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy Call-ID: 9876543210@there.com CSeq: 1 INVITE Content-Length: 0 F17 180 Ringing C -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@here.com CSeq: 1 INVITE Content Length:0 F18 180 Ringing Proxy 1 -> B SIP/2.0 180 Ringing Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 INVITE Content Length: 0 F19 200 OK C -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com s=Session SDP c=IN IP4 120.121.122.123 t=3034423619 0 Johnston, et al. Informational [Page 212] Internet Draft SIP Telephony Call Flow Examples February 2000 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F20 200 OK Proxy 1 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 INVITE Contact: OtherGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserC 2890844527 2890844527 IN IP4 client.anywhere.com s=Session SDP c=IN IP4 120.121.122.123 t=3034423619 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F21 ACK B -> Proxy 1 ACK sip:UserC@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 ACK Content-Length:0 F22 ACK Proxy 1 -> C ACK sip: UserC@anywhere.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: OtherGuy ;tag=456654 Call-ID: 9876543210@there.com CSeq: 1 ACK Content-Length:0 Johnston, et al. Informational [Page 213] Internet Draft SIP Telephony Call Flow Examples February 2000 F23 BYE B -> Proxy 1 BYE sip: UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP anywhere.com:5060 Route: From: OtherGuy ;tag=456654 To: LittleGuy Also: TheNewGuy Call-ID: 9876543210@there.com CSeq: 200 BYE Content-Length: 0 F24 BYE Proxy 1 -> C BYE sip: UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP anywhere.com:5060 From: OtherGuy ;tag=456654 To: LittleGuy ;tag=1234567 Also: TheNewGuy Call-ID: 9876543210@there.com CSeq: 200 BYE Content-Length: 0 F25 200 OK C -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP anywhere.com:5060 From: OtherGuy ;tag=456654 To: LittleGuy ;tag=1234567 Call-ID: 9876543210@there.com CSeq: 200 BYE Content-Length: 0 F26 200 OK Proxy 1 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP anywhere.com:5060 From: OtherGuy ;tag=456654 To: LittleGuy ;tag=1234567 Call-ID: 9876543210@there.com CSeq: 200 BYE Content-Length: 0 F27 INVITE B -> Proxy 1 Johnston, et al. Informational [Page 214] Internet Draft SIP Telephony Call Flow Examples February 2000 INVITE sip:UserD@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: TheNewGuy Call-ID: 123123123@there.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Requested-By: OtherGuy Content-Length: ... v=0 o=UserB 2890844526 2890844526 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 50170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 accepts the credentials and forwards the INVITE to User D. Client for B prepares to receive data on port 49170 from the network. */ F28 INVITE Proxy 1 -> D INVITE sip:UserD@nowhere.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy To: TheNewGuy Call-ID: 123123123@there.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Requested-By: OtherGuy Content-Length: ... v=0 o=UserB 2890844526 2890844526 IN IP4 client.there.com s=Session SDP c=IN IP4 110.111.112.113 t=3034423619 0 m=audio 50170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F29 (100 Trying) Proxy 1 -> B Johnston, et al. Informational [Page 215] Internet Draft SIP Telephony Call Flow Examples February 2000 SIP/2.0 100 Trying Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: TheNewGuy Call-ID: 123123123@there.com CSeq: 1 INVITE Content-Length: 0 F30 180 Ringing D -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: TheNewGuy ;tag=789789 Call-ID: 123123123@there.com CSeq: 1 INVITE Content Length:0 F31 180 Ringing Proxy 1 -> B SIP/2.0 180 Ringing Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: TheNewGuy ;tag=789789 Call-ID: 123123123@there.com CSeq: 1 INVITE Content Length: 0 F32 200 OK D -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy To: TheNewGuy ;tag=789789 Call-ID: 123123123@there.com CSeq: 1 INVITE Contact: TheNewGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserD 2890844527 2890844527 IN IP4 client.nowhere.com s=Session SDP Johnston, et al. Informational [Page 216] Internet Draft SIP Telephony Call Flow Examples February 2000 c=IN IP4 150.151.152.153 t=3094598698 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F33 200 OK Proxy 1 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 Record-Route: From: LittleGuy To: TheNewGuy ;tag=789789 Call-ID: 123123123@there.com CSeq: 1 INVITE Contact: TheNewGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserD 2890844527 2890844527 IN IP4 client.nowhere.com s=Session SDP c=IN IP4 150.151.152.153 t=3094598698 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F34 ACK B -> Proxy 1 ACK sip:UserD@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy To: TheNewGuy ;tag=789789 Call-ID: 123123123@there.com CSeq: 1 ACK Content-Length:0 F35 ACK Proxy 1 -> D ACK sip: UserD@nowhere.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: TheNewGuy ;tag=789789 Call-ID: 123123123@there.com CSeq: 1 ACK Content-Length:0 Johnston, et al. Informational [Page 217] Internet Draft SIP Telephony Call Flow Examples February 2000 F36 BYE B -> Proxy 1 BYE sip: UserD@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy To: TheNewGuy ;tag=789789 Call-ID: 123123123@there.com CSeq: 2 BYE Content-Length: 0 F37 BYE Proxy 1 -> D BYE sip: UserD@nowhere.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: TheNewGuy ;tag=789789 Call-ID: 123123123@there.com CSeq: 2 BYE Content-Length: 0 F38 200 OK D -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: TheNewGuy ;tag=789789 Call-ID: 123123123@there.com CSeq: 2 BYE Content-Length: 0 F39 200 OK Proxy 1 -> B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy To: TheNewGuy ;tag=789789 Call-ID: 123123123@there.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 218] Internet Draft SIP Telephony Call Flow Examples February 2000 7.4 Attended Transfer User A calls user B. User A puts User B on hold, and Calls user C to announce transfer. User A terminates call with User C. User A transfers User B to User C. The call flow for this session would be a combination of Consultation Hold (7.1) and Unattended Transfer (7.3). Johnston, et al. Informational [Page 219] Internet Draft SIP Telephony Call Flow Examples February 2000 7.5 Call Forwarding Unconditional User A Proxy Gateway | | | | INVITE F1 | | |--------------->| INVITE F2 | |(100 Trying) F3 |------------->| |<---------------|180 Ringing F4| | 180 Ringing F5 |<-------------| |<---------------| 200 OK F6 | | 200 OK F7 |<-------------| |<---------------| | | ACK F8 | | |--------------->| ACK F9 | | |------------->| | Both way RTP Established | |<=============================>| | BYE F10 | | |--------------->| BYE F11 | | |------------->| | | 200 OK F12 | | 200 OK F13 |<-------------| |<---------------| | | | | User B wants all calls forwarded to a Private Dialing Plan number 777-3660. (This information is known by the proxy). User A calls User B. The Proxy server rewrites the request URI, and forwards the INVITE to a gateway. Message Details F1 INVITE A -> Proxy INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom SIP", nonce="4bc83v32edc893075761ce7cde5ba8d6", opaque="", uri="sip:ss1.wcom.com", response="0a0d6eadd7be1c8639137d175c2302ae" Content-Type: application/sdp Content-Length: ... Johnston, et al. Informational [Page 220] Internet Draft SIP Telephony Call Flow Examples February 2000 v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 accepts the credentials and forwards the INVITE the gateway for the extension that User B wants his calls forwarded to. Client for A prepares to receive data on port 49170 from the network. */ F2 INVITE Proxy -> B2 INVITE sip:7773660@gw1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 (100 Trying) Proxy -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F4 180 Ringing B2 -> Proxy Johnston, et al. Informational [Page 221] Internet Draft SIP Telephony Call Flow Examples February 2000 SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content Length:0 F5 180 Ringing Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Content Length: 0 F6 200 OK B2 -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: ... v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 200 OK Proxy -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy Johnston, et al. Informational [Page 222] Internet Draft SIP Telephony Call Flow Examples February 2000 To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.wcom.com s=Session SDP c=IN IP4 gatewayone.wcom.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F8 ACK A -> Proxy ACK sip:7773660@gw1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: < sip:7773660,phone-context=p1234@gw1.wcom.com;user=phone> From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length:0 F9 ACK Proxy -> B4 ACK sip:7773660@gw1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length:0 F10 BYE A -> Proxy 1 BYE sip:7773660@gw1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: < sip:7773660,phone-context=p1234@gw1.wcom.com;user=phone> From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Johnston, et al. Informational [Page 223] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: 0 F11 BYE Proxy 1 -> B2 BYE sip:7773660@gw1.wcom.com;phone-context=p1234 SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F12 200 OK B2 -> Proxy 1 SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F13 200 OK Proxy 1 -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314159 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 224] Internet Draft SIP Telephony Call Flow Examples February 2000 7.6 Call Forwarding - Busy User A Proxy User B1 User B2 | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | |------------->| | |(100 Trying) F3 | | | |<---------------| 486 Busy F4 | | | |<-------------| | | | ACK F5 | | | |------------->| | | | | INVITE F6 | | |--------------------------------->| | | | 180 Ringing F7 | | |<---------------------------------| | 180 Ringing F8 | | | |<---------------| | 200 OK F9 | | |<---------------------------------| | 200 OK F10 | | | |<---------------| | | | ACK F11 | | | |--------------->| | ACK F12 | | |--------------------------------->| | Both way RTP Established | |<=================================================>| | BYE F13 | | | |--------------->| | BYE F14 | | |--------------------------------->| | | | 200 OK F15 | | 200 OK F16 |<---------------------------------| |<---------------| | | | | | | User B wants calls to B1 forwarded to B2 if B1 is busy (this information is known to the proxy). User A calls B1, B1 is busy, the proxy server places call to B2. Message Details F1 INVITE A -> Proxy INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com Johnston, et al. Informational [Page 225] Internet Draft SIP Telephony Call Flow Examples February 2000 CSeq: 1 INVITE Contact: BigGuy Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom SIP", nonce="9137d175c20a0d6eadd7be1c863302ae", opaque="", uri="sip:ss1.wcom.com", response="cf25aad811c806bde46a369220158cec" Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 INVITE Proxy -> B1 INVITE sip:UserB1@ there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 (100 Trying) Proxy -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 Johnston, et al. Informational [Page 226] Internet Draft SIP Telephony Call Flow Examples February 2000 F4 486 Busy Here B1 -> Proxy SIP/2.0 486 Busy Here Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F5 ACK Proxy -> B1 ACK sip: UserB1@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F6 INVITE Proxy -> B2 INVITE sip:UserB2@ there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F7 180 Ringing B4 -> Proxy SIP/2.0 180 Ringing Johnston, et al. Informational [Page 227] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F8 180 Ringing Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F9 200 OK B2 -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client2.there.com s=Session SDP c=IN IP4 110.111.112.114 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 here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=7654321 Johnston, et al. Informational [Page 228] Internet Draft SIP Telephony Call Flow Examples February 2000 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client2.there.com s=Session SDP c=IN IP4 110.111.112.114 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 ACK A -> Proxy ACK sip:UserB2@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F12 ACK Proxy -> B2 ACK sip: UserB2@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between A and B2 */ /* User A eventually hangs up with User B2. */ F13 BYE A -> Proxy BYE sip: UserB2@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=7654321 Johnston, et al. Informational [Page 229] Internet Draft SIP Telephony Call Flow Examples February 2000 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F14 BYE Proxy -> B2 BYE sip: UserB2@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F15 200 OK B2 -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F16 200 OK Proxy -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 230] Internet Draft SIP Telephony Call Flow Examples February 2000 7.7 Call Forwarding _ No Answer User A Proxy User B1 User B2 | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | |(100 Trying) F3 |------------->| | |<---------------|180 Ringing F4| | | 180 Ringing F5 |<-------------| | |<---------------| | | | |Request Timeout | | | CANCEL F6 | | | |------------->| | | | 200 OK F7 | | | |<-------------| | | | | INVITE F8 | | |--------------------------------->| | | | 180 Ringing F9 | | |<---------------------------------| | | | 200 OK F10 | | |<---------------------------------| | 200 OK F11 | | | |<---------------| | | | ACK F12 | | | |--------------->| | ACK F13 | | |--------------------------------->| | Both way RTP Established | |<=================================================>| | BYE F14 | | | |--------------->| | BYE F15 | | |--------------------------------->| | | | 200 OK F16 | | 200 OK F17 |<---------------------------------| |<---------------| | | | | | | User B wants calls to B1 forwarded to B2 if B1 is not answered (information is known to the proxy server). User A calls B1 and no one answers. The proxy server then places the call to B2. Message Details F1 INVITE A -> Proxy INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Johnston, et al. Informational [Page 231] Internet Draft SIP Telephony Call Flow Examples February 2000 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom SIP", nonce="0d6eadd7be1c863302ae9137d175c20a", opaque="", uri="sip:ss1.wcom.com", response="6c0595216fad51f97f992a4479f4cc8e" Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 INVITE Proxy -> B1 INVITE sip:UserB1@ there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 (100 Trying) Proxy -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 Johnston, et al. Informational [Page 232] Internet Draft SIP Telephony Call Flow Examples February 2000 F4 180 Ringing B1 -> Proxy SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=3145678 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F5 180 Ringing Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=3145678 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 /* B1 rings until a configurable timer expires in the Proxy. The Proxy sends Cancel and proceeds down the list of routes. */ F6 CANCEL Proxy -> B1 CANCEL sip:UserB1@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F7 200 OK B1 -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 Johnston, et al. Informational [Page 233] Internet Draft SIP Telephony Call Flow Examples February 2000 F8 INVITE Proxy -> B2 INVITE sip:UserB4@ there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F9 180 Ringing B2 -> Proxy SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F10 200 OK B2 -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 Johnston, et al. Informational [Page 234] Internet Draft SIP Telephony Call Flow Examples February 2000 o=UserB 2890844527 2890844527 IN IP4 client2.there.com s=Session SDP c=IN IP4 110.111.112.114 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F11 200 OK Proxy -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client2.there.com s=Session SDP c=IN IP4 110.111.112.114 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F12 ACK A -> Proxy ACK sip:UserB2@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F13 ACK Proxy -> B2 ACK sip: UserB2@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com Johnston, et al. Informational [Page 235] Internet Draft SIP Telephony Call Flow Examples February 2000 CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between A and B2*/ /* User A Hangs Up with User B2. */ F14 BYE A -> Proxy BYE sip: UserB2@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F15 BYE Proxy -> B2 BYE sip: UserB2@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F16 200 OK B2 -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F17 200 OK Proxy -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Johnston, et al. Informational [Page 236] Internet Draft SIP Telephony Call Flow Examples February 2000 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 237] Internet Draft SIP Telephony Call Flow Examples February 2000 7.8 3-way Conference User A calls User B, User B then invites user C to a 3-way call. User B will mix the audio streams (act as the conference bridge). If user B drops out of the call then the entire call is dropped. This is not a fully meshed conference, and does not make use of the concepts in the call control draft. The signaling for this scenario is as follows: User A calls User B, this establishes the call between A and B. User B calls User C, this establishes the call between B and C. User B will mix the audio streams, sending media originating at A to C, and media originating at C to A. There is no SIP signaling relationship between User A and User C. 7.9 Single Line Extension Single Line Extension (Sequential, First Wins implementation), a call will ring several extensions in sequence. The extension to answer the call becomes the active set, no other sets may join the call. The signaling is described in Section 7.10 of this document. It is anticipated that Single Line Extension will be associated with help desk/call center applications rather then individual users. The signaling for this implementation of Single Line Extension and Find- Me is the same, the difference may be in the provisioning of the service. Note that the call flows for a Home Extension have not yet been designed. Johnston, et al. Informational [Page 238] Internet Draft SIP Telephony Call Flow Examples February 2000 7.10 Find-Me User A Proxy User User User User B1 B2 B3 B4 | | | | | | | INVITE F1 | | | | | |--------------->| INVITE F2 | | | | | |------------->| | | | |(100 Trying) F3 | | | | | |<---------------|180 Ringing F4| | | | | |<-------------| | | | | 180 Ringing F5 | | | | | |<---------------| | | | | | | Timeout | | | | | | | | | | | | CANCEL F6 | | | | | |------------->| | | | | | 200 OK F7 | | | | | |<-------------| | | | | | INVITE F8| | | | | |-------------------->| | | | | 480 Not Logged In F9| | | | |<--------------------| | | | | ACK F10| | | | |-------------------->| | | | | INVITE F11 | | | |--------------------------->| | | | 486 Busy Here F12 | | | |<---------------------------| | | | ACK F13 | | | |--------------------------->| | | | INVITE F14 | | |---------------------------------->| | | 180 Ringing F15 | | |<----------------------------------| | | 200 OK F16 | | 200 OK F17 |<----------------------------------| |<---------------| | | ACK F18 | | |--------------->| ACK F19 | | |---------------------------------->| | Both way RTP Established | |<==================================================>| | | BYE F20 | | BYE F21 |<----------------------------------| |<---------------| | | 200 OK F22 | | |--------------->| 200 OK F23 | | |---------------------------------->| | | | Johnston, et al. Informational [Page 239] Internet Draft SIP Telephony Call Flow Examples February 2000 A call to a user will attempt to locate that user by calling locations from a list of contacts. The location to answer the call becomes the active set, no other sets may join the call. It is anticipated that the Find-me feature will be associated with individual users. The signaling for the implementation of Single Line Extension and Find-Me is the same, the difference may be in the provisioning of the service. Message Details F1 INVITE A -> Proxy INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom SIP", nonce="dd7be1c863302a0d6eae9137d175c20a", opaque="", uri="sip:ss1.wcom.com", response="cc14961f4bd9d8103a69630097bdbd34" Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t= 0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F2 INVITE Proxy -> B1 INVITE sip:UserB1@ there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Johnston, et al. Informational [Page 240] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t= 0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F3 (100 Trying) Proxy -> A SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F4 180 Ringing B1 -> Proxy SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F5 180 Ringing Proxy -> A SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=123456 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 /* B1 rings for until a configurable timer in the Proxy expires. The Proxy then sends Cancel and proceeds down the list of routes. */ F6 CANCEL Proxy -> B1 Johnston, et al. Informational [Page 241] Internet Draft SIP Telephony Call Flow Examples February 2000 CANCEL sip:UserB1@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F7 200 OK B1 -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=1 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 F8 INVITE Proxy -> B2 INVITE sip:UserB2@ there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F9 480 Not Logged In B2 -> Proxy SIP/2.0 480 Not Logged In Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=314756 Johnston, et al. Informational [Page 242] Internet Draft SIP Telephony Call Flow Examples February 2000 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F10 ACK Proxy -> B2 ACK sip: UserB2@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2 From: BigGuy To: LittleGuy ;tag=314756 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F11 INVITE Proxy -> B3 INVITE sip:UserB3@ there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=3 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F12 486 Busy Here B3 -> Proxy SIP/2.0 486 Busy Here Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=3 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 Johnston, et al. Informational [Page 243] Internet Draft SIP Telephony Call Flow Examples February 2000 F13 ACK Proxy -> B3 ACK sip: UserB3@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=3 From: BigGuy To: LittleGuy ;tag=7654321 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 F14 INVITE Proxy -> B4 INVITE sip:UserB4@ there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=4 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F15 180 Ringing B4 -> Proxy SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=4 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Content-Length: 0 F16 200 OK B4 -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=4 Johnston, et al. Informational [Page 244] Internet Draft SIP Telephony Call Flow Examples February 2000 Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client4.there.com s=Session SDP c=IN IP4 110.111.112.116 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F17 200 OK Proxy -> A SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Record-Route: From: BigGuy To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: LittleGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserB 2890844527 2890844527 IN IP4 client4.there.com s=Session SDP c=IN IP4 110.111.112.116 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 F18 ACK A -> Proxy ACK sip:UserB4@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 ACK Johnston, et al. Informational [Page 245] Internet Draft SIP Telephony Call Flow Examples February 2000 Content-Length: 0 F19 ACK Proxy -> B4 ACK sip: UserB4@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy ;tag=7137136 Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length: 0 /* RTP streams are established between A and B4*/ /* User B4 Hangs Up with User A. */ F20 BYE B4 -> Proxy BYE sip: UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy ;tag=7137136 To: BigGuy Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F21 BYE Proxy -> A BYE sip: UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=7137136 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F22 200 OK A -> Proxy SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=7137136 To: BigGuy ;tag=1234567 Johnston, et al. Informational [Page 246] Internet Draft SIP Telephony Call Flow Examples February 2000 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 F23 200 OK Proxy -> B4 SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuy ;tag=7137136 To: BigGuy ;tag=1234567 Call-ID: 12345600@here.com CSeq: 2 BYE Content-Length: 0 Johnston, et al. Informational [Page 247] Internet Draft SIP Telephony Call Flow Examples February 2000 7.11 Call Management (Incoming Call Screening) User A Proxy User B | | | | INVITE F1 | | |--------------->| | | 407 Proxy Authorization F2 | |<---------------| | | ACK F3 | | |--------------->| | | INVITE F4 | | |--------------->| | | 403 Screening Failure (Terminating) F5 |<---------------| | | ACK F3 | | |--------------->| | | | | User B has an incoming call screening list, User A is included on the list of addresses User B will not accept calls from. User A attempts to call user B. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 challenges User A for authentication */ F2 407 Proxy Authorization Required Proxy 1 -> A Johnston, et al. Informational [Page 248] Internet Draft SIP Telephony Call Flow Examples February 2000 SIP/2.0 407 Proxy Authorization Required Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Proxy-Authenticate: Digest realm="MCI WorldCom SIP", domain="wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", stale="FALSE", algorithm="MD5" Content-Length:0 F3 ACK A -> Proxy 1 ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length:0 /* User A responds by sending an INVITE with authentication credentials in it. */ F4 INVITE A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom SIP", nonce="ae9137be1c87d175c2dd63302a0d6e0a", opaque="", uri="sip:ss1.wcom.com", response="bbaec39f943bdcb3620d90afc548a45c" Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 249] Internet Draft SIP Telephony Call Flow Examples February 2000 F5 403 Screening Failure (Terminating) Proxy 1 -> A SIP/2.0 403 Screening Failure (Terminating) Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Content-Length:0 F6 ACK A -> Proxy 1 ACK sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length:0 Johnston, et al. Informational [Page 250] Internet Draft SIP Telephony Call Flow Examples February 2000 7.12 Call Management (Outgoing Call Screening) User A Proxy User B | | | | INVITE F1 | | |--------------->| | | 407 Proxy Authorization F2 | |<---------------| | | ACK F3 | | |--------------->| | | INVITE F4 | | |--------------->| | | 403 Screening Failure (Originating) F5 |<---------------| | | ACK F3 | | |--------------->| | | | | User A has an outgoing call screening list, User B is included on the list of addresses User A will not be able to place a call to. User A attempts to call user B. Message Details F1 INVITE A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 /* Proxy 1 challenges User A for authentication */ F2 407 Proxy Authorization Required Proxy 1 -> A Johnston, et al. Informational [Page 251] Internet Draft SIP Telephony Call Flow Examples February 2000 SIP/2.0 407 Proxy Authorization Required Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Proxy-Authenticate: Digest realm="MCI WorldCom SIP", domain="wcom.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", stale="FALSE", algorithm="MD5" Content-Length:0 F3 ACK A -> Proxy 1 ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 ACK Content-Length:0 /* User A responds be sending an INVITE with authentication credentials in it. */ F4 INVITE A -> Proxy 1 INVITE sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Contact: BigGuy Proxy-Authorization: DIGEST username="UserA", realm="MCI WorldCom SIP", nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", uri="sip:ss1.wcom.com", response="b9d2e5bcdec9f69ab2a9b44f270285a6" Content-Type: application/sdp Content-Length: ... v=0 o=UserA 2890844526 2890844526 IN IP4 client.here.com s=Session SDP c=IN IP4 100.101.102.103 t=3034423619 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Johnston, et al. Informational [Page 252] Internet Draft SIP Telephony Call Flow Examples February 2000 F5 403 Screening Failure (Originating) Proxy 1 -> A SIP/2.0 403 Screening Failure (Originating) Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 INVITE Content-Length:0 F6 ACK A -> Proxy 1 ACK sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length:0 Johnston, et al. Informational [Page 253] Internet Draft SIP Telephony Call Flow Examples February 2000 8 SIP Test Messages The files in here are test messages for SIP servers to exercise various functions. They have been used in SIP "bakeoff" interoperablity events. All messages shown here are valid, unless otherwise noted. The correct behavior of servers and clients is also described. 8.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 nested comments 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 Call-ID : 0ha0isndaksdj@10.1.1.1 cseq: 8 INVITE Via : SIP / 2.0 /UDP 135.180.130.133 Subject : NewFangledHeader: newfangled value more newfangled value Content-Type: application/sdp v: SIP / 2.0 / TCP 12.3.4.5 ; branch = 9ikj8 , SIP / 2.0 / UDP 1.2.3.4 ; hidden m:"Quoted string \"\"" ; newparam = newvalue ; Johnston, et al. Informational [Page 254] Internet Draft SIP Telephony Call Flow Examples February 2000 secondparam = secondvalue ; q = 0.33 (((nested comments) and (more))) , tel:4443322 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 Johnston, et al. Informational [Page 255] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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 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 Johnston, et al. Informational [Page 256] Internet Draft SIP Telephony Call Flow Examples February 2000 8.3 INVITE with Unknown Schemes in URIs and URLs 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: http://www.cs.columbia.edu Call-ID: 0ha0isndaksdj@10.1.2.3 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133 Content-Type: application/sdp Contact: Joe Bob Briggs 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 Johnston, et al. Informational [Page 257] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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 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 Expires: Thu, 01 Dec 2040 16:00:00 GMT Johnston, et al. Informational [Page 258] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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 Call-ID: 0ha0isndaksdj@10.0.0.1 Accept: text/newformat CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133 Content-Type: application/sdp 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 Johnston, et al. Informational [Page 259] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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 Call-ID: 0ha0isndaksdj@10.0.0.1 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133 Content-Type: application/newformat Johnston, et al. Informational [Page 260] Internet Draft SIP Telephony Call Flow Examples February 2000 8.7 Unknown Method Message This request message contains a new unknown method, NEWMETHOD. A proxy should forward this using the same retransmission rules as INVITE. 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 Call-ID: 0ha0isndaksdj@10.0.0.1 CSeq: 8 NEWMETHOD Via: SIP/2.0/UDP 135.180.130.133 Content-Type: application/sdp 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 Johnston, et al. Informational [Page 261] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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 Call-ID: 0ha0isndaksdj@10.0.1.1 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133 Content-Type: application/sdp 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 Johnston, et al. Informational [Page 262] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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. Message Details REGISTER sip:company.com SIP/2.0 To: sip:j.user@company.com From: sip:j.user@company.com Call-ID: 0ha0isndaksdj@10.0.1.1 CSeq: 8 REGISTER Via: SIP/2.0/UDP 135.180.130.133 Authorization: Super-PGP ajsohdaosdh0asyhdaind08yasdknasd09asidhas0d8 Johnston, et al. Informational [Page 263] Internet Draft SIP Telephony Call Flow Examples February 2000 8.10 INVITE with Invalid SIP Version Number This message contains two requests, separated by a bunch of whitespace. The first request is a valid registration. The second request is an INVITE with a wrong SIP version number (3.0). The server should accept the first REGISTER request. The server should respond to the second request with a bad version error. Message Details REGISTER sip:company.com SIP/2.0 To: sip:j.user@company.com From: sip:j.user@company.com 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 Content-Length: 0 INVITE sip:joe@company.com SIP/3.0 To: sip:joe@company.com From: sip:caller@university.edu Call-ID: 0ha0isnda977644900765@10.0.0.1 CSeq: 8 INVITE Via: SIP/2.0/UDP 135.180.130.133 Content-Type: application/sdp 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 Johnston, et al. Informational [Page 264] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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 Content-Type: application/sdp 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 Johnston, et al. Informational [Page 265] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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 CSeq: 0 INVITE Call-ID: 98asdh@10.1.1.1 Call-ID: 98asdh@10.1.1.2 From: sip:caller@university.edu From: sip:caller@organization.org To: sip:user@company.com Content-Type: application/sdp 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 Johnston, et al. Informational [Page 266] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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 CSeq: 0 INVITE Call-ID: 98asdh@10.1.1.2 Expires: Thu, 44 Dec 19999 16:00:00 EDT From: sip:caller@university.edu To: sip:user@company.com Content-Type: application/sdp 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 Johnston, et al. Informational [Page 267] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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 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 Call-ID: 0384840201@10.1.1.1 CSeq: 0 INVITE From: sip:user@company.com To: sip:user@university.edu;tag=2229 Content-Type: application/sdp v=0 o=mhandley 29739 7272939 IN IP4 126.5.4.3 c=IN IP4 224.2.17.12/127 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC Johnston, et al. Informational [Page 268] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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 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 c=IN IP4 135.180.130.88 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC Johnston, et al. Informational [Page 269] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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 To: sip:j.user@company.com From: sip:caller@university.edu 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 c=IN IP4 135.180.130.88 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC Johnston, et al. Informational [Page 270] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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 To: sip:j.user@company.com From: sip:caller@university.edu 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: -999 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 Johnston, et al. Informational [Page 271] Internet Draft SIP Telephony Call Flow Examples February 2000 8.18 INVITE with Garbage after Message Body This is a request message with garbage after the end of the SDP included in the body. In fact, the server should treat this garbage as a second request. However, it is not even close to a valid message. The server should therefore ignore it, and forward the first message normally. Message Details INVITE sip:user@company.com SIP/2.0 To: sip:j.user@company.com From: sip:caller@university.edu 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 c=IN IP4 135.180.130.88 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC asdpasd08asdsdk:;;asd a0sdjhg8a0''...'';;;; Johnston, et al. Informational [Page 272] Internet Draft SIP Telephony Call Flow Examples February 2000 8.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 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 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 c=IN IP4 135.180.130.88 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC Johnston, et al. Informational [Page 273] Internet Draft SIP Telephony Call Flow Examples February 2000 9 Acknowledgements The authors wish to thank the following individuals for their assistance and review of this call flows document: Dean Willis, Henry Sinnreich, David Devantham, Joe Pizzimenti, Matt Cannon, John Hearty, the whole MCI WorldCom IPOP Design team, and from Nortel Networks: Scott Orton, Greg Osterhout, Pat Sollee, Doug Weisenberg, Danny Mistry, Steve McKinnon, and Denise Ingram. 10 References [1] S. Bradner, "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. [2] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP: Session Initiation Protocol", RFC 2543, March 1999. [4] S. Kent, R. Atkinson, "Security Architecture for the Internet Protocol", RFC 2401, November 1998. [5] S. Donovan, J. Hearty, M. Cannon, H. Schulzrinne, and J. Rosenberg, "SIP 183 Session Progress Message", Internet Draft, Internet Engineering Task Force, October 1999. Work in progress. [6] J. Rosenberg, and H. Schulzrinne, "Reliability of Provisional Responses in SIP", Internet Draft, Internet Engineering Task Force, January 2000, Work in progress. [7] A. Vaha-Sipila, "URLs for Telephone Calls", Internet Draft, Internet Engineering Task Force, September 1999, Work in progress [8] S. Donovan, M. Cannon, "The SIP INFO Method", Internet Draft, Internet Engineering Task Force, January 2000. Work in progress. [9] G. Camarillo, "Best Current Practice for ISUP to SIP Mapping", Internet Draft, Internet Engineering Task Force, October 1999, Work in progress. [10]H. Schulzrinne, and J. Rosenberg, "SIP Call Control Services", Internet Draft, Internet Engineering Task Force, June 1999, Work in progress. Johnston, et al. Informational [Page 274] Internet Draft SIP Telephony Call Flow Examples February 2000 Johnston, et al. Informational [Page 275] Internet Draft SIP Telephony Call Flow Examples February 2000 Author's Addresses Alan Johnston MCI WorldCom 100 S 4th Street Phone: +1-314-342-7360 St. Louis, MO 63104 Email: alan.johnston@wcom.com Steve Donovan MCI WorldCom 901 International Parkway Phone: +1-972-729-1621 Richardson, TX 65081 Email: steven.r.donovan@wcom.com Robert Sparks MCI WorldCom 2400 N Glenville Drive Phone: +1-972-729-5241 Richardson, TX 75082 Email: Robert.Sparks@wcom.com Chris Cunningham MCI WorldCom 400 International Parkway Phone: +1-972-729-3110 Richardson, TX 75081 Email: Chris.Cunningham@wcom.com Kevin Summers MCI WorldCom 2400 N Glenvile Drive Phone: +1-972-729-7976 Richardson, TX 75082 Email: Kevin.Summers@wcom.com Dean Willis MCI WorldCom 400 International Parkway Phone: +1-972-729-4162 Richardson, TX 75081 Email: Dean.Willis@wcom.com Copyright Notice "Copyright (C) The Internet Society 2000. 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 Johnston, et al. Informational [Page 276] Internet Draft SIP Telephony Call Flow Examples February 2000 followed, or as required to translate it into languages other than English. 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. Johnston, et al. Informational [Page 277]