summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc3087.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc3087.txt')
-rw-r--r--doc/rfc/rfc3087.txt2187
1 files changed, 2187 insertions, 0 deletions
diff --git a/doc/rfc/rfc3087.txt b/doc/rfc/rfc3087.txt
new file mode 100644
index 0000000..69e79c3
--- /dev/null
+++ b/doc/rfc/rfc3087.txt
@@ -0,0 +1,2187 @@
+
+
+
+
+
+
+Network Working Group B. Campbell
+Request for Comments: 3087 R. Sparks
+Category: Informational dynamicsoft
+ April 2001
+
+
+ Control of Service Context using SIP Request-URI
+
+Status of this Memo
+
+ This memo provides information for the Internet community. It does
+ not specify an Internet standard of any kind. Distribution of this
+ memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2001). All Rights Reserved.
+
+Abstract
+
+ This memo provides information for the Internet community. It
+ describes a useful way to conceptualize the use of the standard SIP
+ (Session Initiation Protocol) Request-URI (Uniform Resource
+ Identifier) that the authors and many members of the SIP community
+ think is suitable as a convention. It does not define any new
+ protocol with respect to RFC 2543.
+
+ In a conventional telephony environment, extended service
+ applications often use call state information, such as calling party,
+ called party, reason for forward, etc, to infer application context.
+ In a SIP/2.0 call, much of this information may be either non-
+ existent or unreliable. This document proposes a mechanism to
+ communicate context information to an application. Under this
+ proposal, a client or proxy can communicate context through the use
+ of a distinctive Request-URI. This document continues with examples
+ of how this mechanism could be used in a voice mail application.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 1]
+
+RFC 3087 SIP Service Control April 2001
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. Example Application . . . . . . . . . . . . . . . . . . . 3
+ 2.1 Using URIs to Control Voice Mail Service Behavior . . . . 3
+ 3. Voice Mail Scenario Descriptions . . . . . . . . . . . . . 5
+ 3.1 Deposits . . . . . . . . . . . . . . . . . . . . . . . . . 5
+ 3.1.1 Direct Request to Deposit to a particular mailbox . . . . 5
+ 3.1.1.1 SIP source . . . . . . . . . . . . . . . . . . . . . . . . 5
+ 3.1.1.2 Arbitrary PSTN source . . . . . . . . . . . . . . . . . . 5
+ 3.1.1.3 Recognized PSTN source . . . . . . . . . . . . . . . . . . 6
+ 3.1.2 Direct Request to Deposit, mailbox to be determined . . . 6
+ 3.1.2.1 SIP source . . . . . . . . . . . . . . . . . . . . . . . . 6
+ 3.1.2.2 PSTN source . . . . . . . . . . . . . . . . . . . . . . . 6
+ 3.1.2.3 Indirect Request to Deposit, due to find-me proxy decision 6
+ 3.2 Retrievals . . . . . . . . . . . . . . . . . . . . . . . . 7
+ 3.2.1 Request to Retrieve from a particular mailbox . . . . . . 7
+ 3.2.1.1 Trusted SIP source . . . . . . . . . . . . . . . . . . . . 7
+ 3.2.1.2 Authenticated SIP source . . . . . . . . . . . . . . . . . 7
+ 3.2.1.3 Unauthenticated SIP source . . . . . . . . . . . . . . . . 7
+ 3.2.1.4 PSTN source . . . . . . . . . . . . . . . . . . . . . . . 7
+ 3.2.2 Request to Retrieve, mailbox to be determined . . . . . . 7
+ 3.2.2.1 SIP source . . . . . . . . . . . . . . . . . . . . . . . . 7
+ 3.2.2.2 Arbitrary PSTN source . . . . . . . . . . . . . . . . . . 8
+ 3.2.2.3 Recognized PSTN source . . . . . . . . . . . . . . . . . . 8
+ 4. Voice Mail Call Flow Examples . . . . . . . . . . . . . . 8
+ 4.1 Generic Scenario . . . . . . . . . . . . . . . . . . . . . 8
+ 4.1.1 Direct call to the voice mail system . . . . . . . . . . . 8
+ 4.2 Message Deposit Scenarios . . . . . . . . . . . . . . . . 13
+ 4.2.1 Call to known subscriber forwarded on no answer . . . . . 13
+ 4.2.2 Call to known subscriber forwarded on busy . . . . . . . . 19
+ 4.2.3 Direct call to a subscriber's mailbox . . . . . . . . . . 24
+ 4.3 Message Retrieval Scenarios . . . . . . . . . . . . . . . 29
+ 4.3.1 Call to retrieve messages believed to be from a known
+ subscriber . . . . . . . . . . . . . . . . . . . . . . . . 29
+ 4.3.2 Call to retrieve messages from an authenticated subscriber 33
+ 5. Security Considerations . . . . . . . . . . . . . . . . . 38
+ 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . 38
+ References . . . . . . . . . . . . . . . . . . . . . . . . 38
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . 38
+ Full Copyright Statement . . . . . . . . . . . . . . . . . 39
+
+
+
+
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 2]
+
+RFC 3087 SIP Service Control April 2001
+
+
+1. Introduction
+
+ A communication service should make use of the information it has at
+ hand when being accessed. For example, in most current voice mail
+ implementations, a subscriber retrieving messages from his own desk
+ does not have to reenter his voice mailbox number - the service
+ assumes that the store being accessed is the one associated with the
+ endpoint being used to access the service. Some services allow the
+ user to validate this assumption using IVR techniques before
+ prompting for a PIN.
+
+ This concept of context-awareness can be captured in a voice mail
+ service implementing SIP as defined in RFC 2543[1], without
+ modification, through the standard use of that protocol's Request-
+ URI. Furthermore, the concept is applicable to any SIP-based service
+ where initial application state should be determined from context.
+
+ This concept is a usage convention of standard SIP as defined in RFC
+ 2543[1] and does not modify or extend that protocol in any way.
+
+2. Example Application
+
+ In this document, we use the example of voice mail to illustrate the
+ technique. One motivation for applying this technique to this
+ problem is allowing a proxy or location server to control the initial
+ state of a voice service. For example, a voice client might register
+ a contact list ending with the URL that would accept voice messages
+ for the client.
+
+2.1 Using URIs to Control Voice Mail Service Behavior
+
+ Many conventional voice mail systems use call state information, such
+ as the calling party, called party, reason for forward, etc, to
+ decide the initial application state. For example, it might play one
+ outgoing message if the call reached voice mail because the called
+ party did not answer and another if the line was busy. It decides
+ whom the message is for based on the called party information. If
+ the call originated from a subscriber's phone number, it might
+ authenticate the caller and then go directly to the message retrieval
+ and account maintenance menu.
+
+ When a new subscriber is added to a system, a set of identities could
+ be generated, each given a unique sip URI. The following tables show
+ some of the identities that might be generated (it is not
+ exhaustive). The example schemes show that the URIs could, but don't
+ necessarily have to, have mnemonic value.
+
+
+
+
+
+Campbell & Sparks Informational [Page 3]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ In practical applications, it is important that an application does
+ not apply semantic rules to the various URIs. Instead, it should
+ allow any arbitrary string to be provisioned, and map the string to
+ the desired behavior. The owner of the system may choose to
+ provision mnemonic strings, but the application should not require
+ it. In any large installation, the system owner is likely to have
+ pre-existing rules for mnemonic URIs, and any attempt by an
+ application to define its own rules may create a conflict. For our
+ example, this means a voice mail system should allow an arbitrary mix
+ of URLs from these schemes, or any other scheme that renders valid
+ SIP URIs to be provisioned, rather than enforce one particular
+ scheme.
+
+ URI Identity Example Scheme 1
+ Example Scheme 2
+ Example Scheme 3
+
+ Deposit with sip:sub-rjs-deposit@vm.wcom.com
+ standard greeting sip:677283@vm.wcom.com
+ sip:rjs@vm.wcom.com;mode=deposit
+
+
+ Deposit with on sip:sub-rjs-deposit-busy.vm.wcom.com
+ phone greeting sip:677372@vm.wcom.com
+ sip:rjs@vm.wcom.com;mode=3991243
+
+ Deposit with sip:sub-rjs-deposit-sg@vm.wcom.com
+ special greeting sip:677384@vm.wcom.com
+ sip:rjs@vm.wcom.com;mode=sg
+
+ Retrieve - SIP sip:sub-rjs-retrieve@vm.wcom.com
+ authentication sip:677405@vm.wcom.com
+ sip:rjs@vm.wcom.com;mode=retrieve
+
+ Retrieve - prompt sip:sub-rjs-retrieve-inpin.vm.wcom.com
+ for PIN in-band sip:677415@vm.wcom.com
+ sip:rjs@vm.wcom.com;mode=inpin
+
+ When a service is first set up, identities such as the following
+ could be created.
+
+ URI Identity Example Scheme 1
+ Example Scheme 2
+ Example Scheme 3
+
+ Deposit - sip:deposit@vm.wcom.com
+ identify target sip:670001@vm.wcom.com
+ mailbox by To: sip:deposit@vm.wcom.com
+
+
+
+Campbell & Sparks Informational [Page 4]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ Retrieve - sip:retrieve@vm.wcom.com
+ identify target sip:670002@vm.wcom.com
+ mailbox by SIP sip:retrieve@vm.wcom.com
+ authentication
+
+ Deposit - prompt sip:deposit-in@vm.wcom.com
+ for target sip:670003@vm.wcom.com
+ mailbox in-band sip:deposit@vm.wcom.com;mode=inband
+
+ Retrieve - prompt sip:retrieve-in@vm.wcom.com
+ for target sip:670004@vm.wcom.com
+ mailbox and PIN sip:retrieve@vm.wcom.com;mode=inband
+ in-band
+
+ In addition to providing this set of URIs to the subscriber (to use
+ as he sees fit), an integrated service provider could add these to
+ the set of contacts in a find-me proxy. The proxy could then route
+ calls to the appropriate URI based on the origin of the request, the
+ subscriber's preferences and current state.
+
+3. Voice Mail Scenario Descriptions
+
+ In each of these scenarios, the PSTN gateway is configured to
+ communicate only with a particular proxy-registrar.
+
+3.1 Deposits
+
+3.1.1 Direct Request to Deposit to a particular mailbox
+
+3.1.1.1 SIP source
+
+ A SIP client that knew the URI for a particular deposit mailbox
+ (sip:sub-rjs-deposit@vm.wcom.com) could place a direct invitation to
+ the voicemail service, or through a protecting proxy. The proxy
+ could restrict access to deposit identities with special greetings by
+ authenticating the requester.
+
+3.1.1.2 Arbitrary PSTN source
+
+ The gateway's proxy would map a call from an unrecognized PSTN number
+ to a number associated with a subscriber's mailbox into an invite to
+ the deposit with standard greeting URI (sip:sub-rjs-
+ deposit@vm.wcom.com).
+
+
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 5]
+
+RFC 3087 SIP Service Control April 2001
+
+
+3.1.1.3 Recognized PSTN source
+
+ The gateway's proxy would map a call from a recognized (exact or
+ pattern match) PSTN number to a number associated with a subscriber's
+ mailbox into an invite to the appropriate special greeting URI
+ (sip:sub-rjs-deposit-sg@vm.wcom.com). The gateway's ability to
+ identify the calling party (using calling party number) is trusted,
+ so no further authentication of the requester is performed.
+
+3.1.2 Direct Request to Deposit, mailbox to be determined
+
+3.1.2.1 SIP source
+
+ A voice mail service or its protecting proxy could expose a generic
+ deposit URL for use when a caller wished to go directly to voice
+ mail. The service would likely play an IVR dialog to determine what
+ message store to deposit a message into.
+
+ An application designer may be tempted to attempt to match the To:
+ and From: headers on a call to infer information. However, this
+ approach could cause complications when multiple proxy forwards occur
+ in a call. For example, A calls B, who has all calls forwarded to C.
+ C forwards the call to her voice mail service. If the voice mail
+ service matches the To: header to determine the message store, it
+ will get the information for B instead of C. But there is no reason
+ to assume that C's voice mail service has any knowledge of B.
+
+3.1.2.2 PSTN source
+
+ The gateway's proxy would map a call from an unrecognized PSTN number
+ to the top level voice mail service access number to an invite to the
+ Deposit - prompt for target mailbox in-band URI (sip:deposit-
+ in@vm.wcom.com for example). Getting the call to the target mailbox
+ would proceed as in the SIP source case.
+
+3.1.2.3 Indirect Request to Deposit, due to find-me proxy decision
+
+ A find-me proxy could map an invitation to a subscriber
+ (sip:rjs@wcom.com) to the appropriate voice mail service URI
+ depending on the subscriber's current state. The normal deposit URI
+ could be chosen if the subscriber's contact list has been otherwise
+ exhausted with no answer. The busy-announcement URI would be chosen
+ when a busy everywhere response is received from one of the contacts.
+ A DND announcement URI could be selected if the subscriber had
+ activated DND. Calls to sip:receptionist@wcom.com could be configured
+ to roll to sip:deposit@wcom.com
+
+
+
+
+
+Campbell & Sparks Informational [Page 6]
+
+RFC 3087 SIP Service Control April 2001
+
+
+3.2 Retrievals
+
+3.2.1 Request to Retrieve from a particular mailbox
+
+3.2.1.1 Trusted SIP source
+
+ A request to retrieve the contents of a particular mailbox (sip:sub-
+ rjs-retrieve@vm.wcom.com) coming from a trusted source could be
+ honored without further authentication checks. A trusted source is
+ one with which the voice mail service has secure communications, and
+ to which it is willing to delegate authentication. This could be the
+ service's protecting proxy for example.
+
+3.2.1.2 Authenticated SIP source
+
+ A service, or its protecting proxy, could choose to honor a retrieve
+ request for a particular mailbox (sip:sub-rjs-retrieve@vm.wcom.com)
+ based on SIP authentication. If SIP level authentication failed, the
+ service or proxy could be configured to send the call to the in-band
+ pin prompting URI (sip:sub-rjs-retrieve-inpin@vm.wcom.com).
+
+3.2.1.3 Unauthenticated SIP source
+
+ A service, or its protecting proxy, receiving a retrieve request for
+ a particular mailbox (sip:sub-rjs-retrieve@vm.wcom.com) with no other
+ method of authenticating the requestor could send the request to the
+ in-band pin prompting URI (sip:sub-rjs-retrieve-inpin@vm.wcom.com).
+
+3.2.1.4 PSTN source
+
+ This scenario assumes that the service provider's network has been
+ configured such that a PSTN number could be dialed explicitly for
+ retrieving messages from a particular mailbox. Such services
+ currently exist, but are not common. In such a network, the
+ gateway's proxy would map the call to the in-band pin prompting URI
+ (sip:sub-rjs-retrieve-inpin@vm.wcom.com).
+
+3.2.2 Request to Retrieve, mailbox to be determined
+
+3.2.2.1 SIP source
+
+ As in the Request to Deposit scenario, when a service receives a
+ request for the top level retrieve URI it would most likely need to
+ use in-band IVR techniques to determine the target mailbox and
+ authenticate the caller.
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 7]
+
+RFC 3087 SIP Service Control April 2001
+
+
+3.2.2.2 Arbitrary PSTN source
+
+ This scenario assumes there is a single PSTN number that subscribers
+ dial to access the voice mail service to retrieve messages. This is
+ the most common access method provided by current voice mail
+ services.
+
+ The gateway's proxy would map a call to the top level PSTN number to
+ the top level retrieve in-band prompting URI (sip:retrieve-
+ in@vm.wcom.com). Once the system identifies the target mailbox, the
+ call would be transferred to the appropriate in-band pin prompting
+ URI (sip:sub-rjs-retrieve-inpin@vm.wcom.com).
+
+3.2.2.3 Recognized PSTN source
+
+ This scenario also assumes there is a single PSTN number that
+ subscribers dial to access the voice mail service to retrieve
+ messages.
+
+ The gateway's proxy would recognize the calling party number as a
+ subscriber, and map the call to the subscriber's in-band prompting
+ URI (sip:sub-rjs-retrieve-inpin@vm.wcom.com)
+
+4. Voice Mail Call Flow Examples
+
+ The following section describes some example call flows for a
+ hypothetical voice mail service, with the host name of vm.wcom.com.
+ All the call flows assume that a proxy protects the voice mail
+ service and that a trust relationship exists between the voice mail
+ service and the proxy.
+
+4.1 Generic Scenario
+
+4.1.1 Direct call to the voice mail system
+
+ User A calls the voice mail system directly. The voice mail system
+ invokes the top-level menu, which might prompt the caller for an
+ extension or the first few letters of a name.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 8]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ User A Proxy VM Service
+ | | |
+ | INVITE F1 | |
+ |------------------>| |
+ | | INVITE F2 |
+ | (100 Trying) F3 |---------------------->|
+ |<------------------| |
+ | | 180 Ringing F4 |
+ | 180 Ringing F5 |<----------------------|
+ |<------------------| |
+ | | 200 OK F6 |
+ | 200 OK F6 |<----------------------|
+ |<------------------| |
+ | | |
+ | ACK F8 | |
+ |------------------>| ACK F9 |
+ | |---------------------->|
+ | | |
+ | RTP Established- Play top level menu |
+ |<-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m->|
+ | | |
+ | BYE F10 | |
+ |------------------>| BYE F11 |
+ | |---------------------->|
+ | | |
+ | | 200 OK F12 |
+ | |<----------------------|
+ | 200 OK F13 | |
+ |<------------------| |
+ | | |
+
+
+ Flow Id Comments
+
+ INVITE F1 INVITE sip:VoiceMail@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Proxy-Authorization:Digest username="UserA",
+ realm="MCI WorldCom SIP",
+ nonce="ea9c8e88df84f1cc4e341ae6cbe5a359", opaque="",
+ uri="sip:VoiceMail@wcom.com", response=<appropriately
+ calculated hash goes here>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+
+
+Campbell & Sparks Informational [Page 9]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ 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
+
+ /*Client for A prepares to receive data on port 49170
+ from the network. */
+
+ INVITE F2 INVITE sip:top@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:VoiceMail@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ 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
+
+ (100 Trying SIP/2.0 100 Trying
+ F3 Via: SIP/2.0/UDP here.com:5060
+ Proxy->A) From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+ 180 Ringing SIP/2.0 180 Ringing
+ F4 Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ VM->Proxy Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+
+
+Campbell & Sparks Informational [Page 10]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ 180 Ringing SIP/2.0 180 Ringing
+ F5 Via: SIP/2.0/UDP here.com:5060
+ Proxy->A From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+ 200 OK F6 SIP/2.0 200 OK
+ VM->Proxy Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:VoiceMail@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: VoiceMailSystem <sip:top@vm.wcom.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ v=0
+ o=UserB 2890844527 2890844527 IN IP4 vm.wcom.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
+
+
+ 200 OK F7 SIP/2.0 200 OK
+ Proxy->A Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:VoiceMail@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact VoiceMailSystem <sip:top@vm.wcom.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ v=0
+ o=UserB 2890844527 2890844527 IN IP4 vm.wcom.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
+
+
+
+
+Campbell & Sparks Informational [Page 11]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ ACK F8 ACK sip:VoiceMail@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ Route:<sip:top@vm.wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ ACK F9 ACK sip:top@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>; tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ /* RTP streams are established between A and VM. VM
+ system starts IVR dialog for top level menu */
+
+ /* User A Hangs Up with VM system. Alternatively, the
+ VM system could initiate the BYE*/
+
+ BYE F10 BYE sip:VoiceMail@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ Route:<sip: top@vm.wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ BYE F11 BYE sip: top@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ 200 OK F12 SIP/2.0 200 OK
+ VM->Proxy Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+
+
+
+Campbell & Sparks Informational [Page 12]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ 200 OK F13 SIP/2.0 200 OK
+ Proxy->A Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+4.2 Message Deposit Scenarios
+
+4.2.1 Call to known subscriber forwarded on no answer
+
+ User A attempts to call UserB, who does not answer. The call is
+ forwarded to UserB's mailbox, and the voice mail system plays UserB's
+ outgoing message for a ring-no-answer. The flow assumes that the URL
+ of "sip:UserB-dep-fna@vm.wcom.com maps" to the desired behavior for
+ depositing a message on a forward-no-answer.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 13]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ User A Proxy User B VM System
+ | | | |
+ | INVITE F1 | | |
+ |---------------->| INVITE F2 | |
+ | |----------------->| |
+ | (100 Trying) F3 | | |
+ |<----------------| 180 Ringing F4 | |
+ | |<-----------------| |
+ | 180 Ringing F5 | | |
+ |<----------------| (Request Timeout)| |
+ | | | |
+ | | Cancel F6 | |
+ | |----------------->| |
+ | | | |
+ | | 200 OK F7 | |
+ | |<-----------------| |
+ | | | |
+ | | INVITE F8 |
+ | |---------------------------------->|
+ | | | |
+ | | 200 OK F9| |
+ | 200 OK F10 |<----------------------------------|
+ |<----------------| | |
+ | | | |
+ | ACK F11 | | |
+ |---------------->| ACK F12 | |
+ | |---------------------------------->|
+ | | | |
+ | RTP Established Both Ways-Deposit Msg for B |
+ |<-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m->|
+ | | | |
+ | BYE F13 | | |
+ |---------------->| BYE F14 | |
+ | |---------------------------------->|
+ | | | |
+ | | OK F15 | |
+ | OK F16 |<----------------------------------|
+ |<----------------| | |
+ | | | |
+
+
+ Flow Id Comments
+
+ INVITE F1 INVITE sip:UserB@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>
+ Call-Id: 12345600@here.com
+
+
+
+Campbell & Sparks Informational [Page 14]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ CSeq: 1 INVITE
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Proxy-Authorization:Digest username="UserA",
+ realm="MCI WorldCom SIP",
+ nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="",
+ uri="sip:UserB@wcom.com", response=<appropriately
+ calculated hash goes here>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ 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
+
+ /*Client for A prepares to receive data on port 49170
+ from the network. */
+
+ INVITE F2 INVITE sip:UserB1@somewhere.wcom.com SIP/2.0
+ Proxy->B1 Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:UserB@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ 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
+
+ (100 Trying SIP/2.0 100 Trying
+ F3 Via: SIP/2.0/UDP here.com:5060
+ Proxy->A) From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+
+Campbell & Sparks Informational [Page 15]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ 180 Ringing SIP/2.0 180 Ringing
+ F4 Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ B1->Proxy Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+ 180 Ringing SIP/2.0 180 Ringing
+ F5 Via: SIP/2.0/UDP here.com:5060
+ Proxy->A From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+ /* B1 rings for 9 seconds, this duration is a
+ configurable parameter in the Proxy Server. Proxy
+ sends Cancel and proceeds down the list of routes,
+ eventually hitting the voice mail URI for forward no
+ answer */
+
+ CANCEL F6 CANCEL sip:UserB1@wcom.com SIP/2.0
+ Proxy->B1 Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 CANCEL
+ Content-Length: 0
+
+ 200 OK F7 SIP/2.0 200 OK
+ B1->Proxy Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 CANCEL
+ Content-Length: 0
+
+
+ INVITE F8 INVITE sip:UserB-dep-fna@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060;branch=2
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:UserB@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+
+
+
+Campbell & Sparks Informational [Page 16]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ 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
+
+ 200 OK F9 SIP/2.0 200 OK
+ VM->Proxy Via: SIP/2.0/UDP wcom.com:5060; branch=2
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:UserB@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=123456
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheLittleGuyVoiceMail <sip:UserB-dep-
+ fna@vm.wcom.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ v=0
+ o=UserB 2890844527 2890844527 IN IP4 vm.wcom.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
+
+
+ 200 OK F10 SIP/2.0 200 OK
+ Proxy->A Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:UserB@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=123456
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheLittleGuyVoiceMail <sip:UserB-dep-
+ fna@vm.wcom.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ v=0
+ o=UserB 2890844527 2890844527 IN IP4 vm.wcom.com
+
+
+
+Campbell & Sparks Informational [Page 17]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ s=Session SDP
+ c=IN IP4 110.111.112.114
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ ACK F11 ACK sip:UserB@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ Route:<sip: UserB-dep-fna@vm.wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=123456
+ Call-Id: 12345600@here.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ ACK F12 ACK sip:UserB-dep-fna@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=123456
+ Call-Id: 12345600@here.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ /* RTP streams are established between A and B2. VM
+ system starts IVR dialog for message-deposit on no-
+ answer for UserB */
+
+ /* User A Hangs Up with VM system. Alternatively, the
+ VM system could initiate the BYE*/
+
+ BYE F13 BYE sip:UserB@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ Route:<sip: UserB-dep-fna@vm.wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=123456
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ BYE F14 BYE sip: UserB-dep-fna@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=123456
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+
+Campbell & Sparks Informational [Page 18]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ 200 OK F15 SIP/2.0 200 OK
+ VM->Proxy Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=123456
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ 200 OK F16 SIP/2.0 200 OK
+ Proxy->A Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=123456
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+4.2.2 Call to known subscriber forwarded on busy
+
+ User A attempts to call UserB, who is busy. The call is forwarded to
+ UserB's mailbox, and the voice mail system plays UserB's outgoing
+ message for a busy. This flow assumes that "sip:UserB-dep-
+ fb@vm.wcom.com" maps to UserB's mailbox and the behavior of "deposit
+ message on busy."
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 19]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ User A Proxy User B VM System
+ | | | |
+ | INVITE F1 | | |
+ |---------------->| INVITE F2 | |
+ | |----------------->| |
+ | (100 Trying) F3 | | |
+ |<----------------| 486 Busy Here F4 | |
+ | |<-----------------| |
+ | | | |
+ | | ACK F5 | |
+ | |----------------->| |
+ | | | |
+ | | INVITE F6 |
+ | |---------------------------------->|
+ | | | |
+ | | 200 OK F7| |
+ | 200 OK F8 |<----------------------------------|
+ |<----------------| | |
+ | | | |
+ | ACK F9 | | |
+ |---------------->| ACK F10 | |
+ | |---------------------------------->|
+ | | | |
+ | RTP Established Both Ways-Deposit Msg for B |
+ |<-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m->|
+ | | | |
+ | BYE F11 | | |
+ |---------------->| BYE F12 | |
+ | |---------------------------------->|
+ | | | |
+ | | OK F13 | |
+ | OK F14 |<----------------------------------|
+ |<----------------| | |
+ | | | |
+
+ Flow Id Comments
+
+ INVITE F1 INVITE sip:UserB@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Proxy-Authorization:Digest username="UserA",
+ realm="MCI WorldCom SIP",
+ nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="",
+ uri="sip:UserB@wcom.com", response=<appropriately
+
+
+
+Campbell & Sparks Informational [Page 20]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ calculated hash goes here>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ 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
+
+ /*Client for A prepares to receive data on port 49170
+ from the network. */
+
+ INVITE F2 INVITE sip:UserB1@somewhere.wcom.com SIP/2.0
+ Proxy->B1 Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:UserB@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ 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
+
+ (100 Trying SIP/2.0 100 Trying
+ F3 Via: SIP/2.0/UDP here.com:5060
+ Proxy->A) From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+ 486 Busy SIP/2.0 486 Busy Here
+ Here F4 Via: SIP/2.0/UDP wcom.com:5060;branch=1
+ B1->Proxy Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=123456
+
+
+
+Campbell & Sparks Informational [Page 21]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+ ACK F5 ACK sip: UserB1@wcom.com SIP/2.0
+ Proxy->B Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=123456
+ Call-Id: 12345600@here.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ INVITE F6 INVITE sip:UserB-dep-fb@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060;branch=2
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:UserB@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ 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
+
+ 200 OK F7 SIP/2.0 200 OK
+ VM->Proxy Via: SIP/2.0/UDP wcom.com:5060; branch=2
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:UserB@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheLittleGuyVoiceMail <sip:UserB-dep-
+ fb@vm.wcom.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ v=0
+ o=UserB 2890844527 2890844527 IN IP4 vm.wcom.com
+ s=Session SDP
+
+
+
+Campbell & Sparks Informational [Page 22]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ c=IN IP4 110.111.112.114
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ 200 OK F8 SIP/2.0 200 OK
+ Proxy->A Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:UserB@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact TheLittleGuyVoiceMail <sip:UserB-dep-
+ fb@vm.wcom.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ v=0
+ o=UserB 2890844527 2890844527 IN IP4 vm.wcom.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
+
+ ACK F9 ACK sip:UserB@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ Route:<sip:UserB-dep-fb@vm.wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ ACK F10 ACK sip:UserB-dep-fb@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ /* RTP streams are established between A and B2. VM
+ system starts IVR dialog for message-deposit on busy
+ for UserB */
+
+
+
+
+
+Campbell & Sparks Informational [Page 23]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ /* User A Hangs Up with VM system. Alternatively, the
+ VM system could initiate the BYE*/
+
+ BYE F11 BYE sip:UserB@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ Route: <sip:UserB-dep-fnb@vm.wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ BYE F12 BYE sip: UserB-dep-fnb@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ 200 OK F13 SIP/2.0 200 OK
+ VM->Proxy Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ 200 OK F14 SIP/2.0 200 OK
+ Proxy->A Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuy <sip:UserB@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+4.2.3 Direct call to a subscriber's mailbox
+
+ User A calls UserB's mailbox directly. This flow assumes that
+ "sip:UserB-dep@vm.wcom.com" maps to UserB's mailbox and the behavior
+ of "generic message deposit"
+
+
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 24]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ User A Proxy VM Service
+ | | |
+ | INVITE F1 | |
+ |------------------>| |
+ | | INVITE F2 |
+ | (100 Trying) F3 |---------------------->|
+ |<------------------| |
+ | | 200 OK F4 |
+ | 200 OK F5 |<----------------------|
+ |<------------------| |
+ | | |
+ | ACK F6 | |
+ |------------------>| ACK F7 |
+ | |---------------------->|
+ | | |
+ | RTP Both Ways - Deposit Msg for B |
+ |<-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m->|
+ | | |
+ | BYE F8 | |
+ |------------------>| BYE F9 |
+ | |---------------------->|
+ | | |
+ | | 200 OK F10 |
+ | |<----------------------|
+ | 200 OK F11 | |
+ |<------------------| |
+ | | |
+
+ Flow Id Comments
+
+ INVITE F1 INVITE sip:UserB-VM@vm.wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuyVoiceMail <sip:UserB-VM@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Proxy-Authorization:Digest username="UserA",
+ realm="MCI WorldCom SIP",
+ nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="",
+ uri="sip:UserB-VM@wcom.com", response=<appropriately
+ calculated hash goes here>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ v=0
+ o=UserA 2890844526 2890844526 IN IP4 client.here.com
+ s=Session SDP
+
+
+
+Campbell & Sparks Informational [Page 25]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ 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. */
+
+ INVITE F2 INVITE sip:UserB-dep@vm.wcom.com SIP/2.0
+ Proxy->B1 Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:UserB-VM@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuyVoiceMail <sip:UserB-VM@vm.wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ 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
+
+ (100 Trying SIP/2.0 100 Trying
+ F3 Via: SIP/2.0/UDP here.com:5060
+ Proxy->A) From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuyVoiceMail <sip:UserB-VM@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+ 200 OK F4 SIP/2.0 200 OK
+ VM->Proxy Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:UserB-VM@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuyVoiceMail <sip:UserB-
+ VM@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheLittleGuyVoiceMail <sip:UserB-
+ dep@vm.wcom.com>
+ Content-Type: application/sdp
+
+
+
+Campbell & Sparks Informational [Page 26]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ Content-Length: <appropriate value>
+ v=0
+ o=UserB 2890844527 2890844527 IN IP4 vm.wcom.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
+
+ 200 OK F5 SIP/2.0 200 OK
+ Proxy->A Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:UserB-VM@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuyVoiceMail <sip:UserB-
+ VM@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact TheLittleGuyVoiceMail <sip:UserB-
+ dep@vm.wcom.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ v=0
+ o=UserB 2890844527 2890844527 IN IP4 vm.wcom.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
+
+ ACK F6 ACK sip:UserB-VM@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ Route:<sip:UserB-dep@vm.wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuyVoiceMail <sip:UserB-
+ VM@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ ACK F7 ACK sip:UserB-dep@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuyVoiceMail <sip:UserB-
+ VM@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 ACK
+
+
+
+Campbell & Sparks Informational [Page 27]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ Content-Length: 0
+ /* RTP streams are established between A and VM. VM
+ system starts IVR dialog for generic message-deposit
+ for UserB */
+
+ /* User A Hangs Up with VM system. Alternatively, the
+ VM system could initiate the BYE*/
+
+ BYE F8 BYE sip:UserB-VM@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ Route:<sip:UserB-dep@vm.wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuyVoiceMail <sip:UserB-
+ VM@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ BYE F9 BYE sip: UserB-dep@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuyVoiceMail <sip:UserB-
+ VM@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ 200 OK F10 SIP/2.0 200 OK
+ VM->Proxy Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuyVoiceMail <sip:UserB-
+ VM@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ 200 OK F11 SIP/2.0 200 OK
+ Proxy->A Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: TheLittleGuyVoiceMail <sip:UserB-
+ VM@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+
+
+
+Campbell & Sparks Informational [Page 28]
+
+RFC 3087 SIP Service Control April 2001
+
+
+4.3 Message Retrieval Scenarios
+
+4.3.1 Call to retrieve messages believed to be from a known subscriber
+
+ Some user uses a SIP client on UserA's desk to call the voice mail
+ system to retrieve messages. The SIP client has authenticated itself
+ to the proxy using credentials assigned to the device. The proxy can
+ make a weak assumption that the caller is the device owner. The URI
+ of "sip:UserA-retrieve@vm.wcom.com" maps to UserA's mailbox and the
+ behavior of "retrieve messages after prompting for and verifying
+ PIN." The VM System trusts the proxy, and will not accept calls from
+ an untrusted source. The proxy will not allow direct calls to
+ UserA-retrieve@vm.wcom.com. The proxy will forward calls placed to
+ VoiceMail@wcom.com to UserA-retrieve@vm.wcom.com only for calls
+ placed from a client device assigned to UserA.
+
+ User A Proxy VM Service
+ | | |
+ | INVITE F1 | |
+ |------------------>| |
+ | | INVITE F2 |
+ | (100 Trying) F3 |---------------------->|
+ |<------------------| |
+ | | 200 OK F4 |
+ | 200 OK F5 |<----------------------|
+ |<------------------| |
+ | | |
+ | ACK F6 | |
+ |------------------>| ACK F7 |
+ | |---------------------->|
+ | | |
+ | RTP Both Ways - VM prompts for PIN
+ |<-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m->|
+ | | |
+ | BYE F8 | |
+ |------------------>| BYE F9 |
+ | |---------------------->|
+ | | |
+ | | 200 OK F10 |
+ | |<----------------------|
+ | 200 OK F11 | |
+ |<------------------| |
+ | | |
+
+
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 29]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ Flow Id Comments
+
+ INVITE F1 INVITE sip:VoiceMail@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Proxy-Authorization:Digest username="UserAPhone",
+ realm="MCI WorldCom SIP",
+ nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="",
+ uri="sip:VoiceMail@wcom.com", response=<appropriately
+ calculated hash goes here>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ 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
+
+ /*Client for A prepares to receive data on port 49170
+ from the network. */
+
+ INVITE F2 INVITE sip:UserA-retrieve@vm.wcom.com SIP/2.0
+ Proxy->B1 Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:VoiceMail@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ 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
+
+
+
+
+Campbell & Sparks Informational [Page 30]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ (100 Trying SIP/2.0 100 Trying
+ F3 Via: SIP/2.0/UDP here.com:5060
+ Proxy->A) From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+ 200 OK F4 SIP/2.0 200 OK
+ VM->Proxy Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:VoiceMail@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: VoiceMailSystem <sip:UserA-
+ retrieve@vm.wcom.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ v=0
+ o=UserB 2890844527 2890844527 IN IP4 vm.wcom.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
+
+ 200 OK F5 SIP/2.0 200 OK
+ Proxy->A Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:VoiceMail@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact VoiceMailSystem <sip: UserA-
+ retrieve@vm.wcom.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ v=0
+ o=UserB 2890844527 2890844527 IN IP4 vm.wcom.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
+
+
+
+Campbell & Sparks Informational [Page 31]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ ACK F6 ACK sip:VoiceMail@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ Route:<sip:UserA-retrieve@vm.wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ ACK F7 ACK sip:UserA-retrieve@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>; tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ /* RTP streams are established between A and VM. VM
+ determines that the call is likely from UserA, and
+ starts a message retrieval session, prompting for
+ PIN*/
+
+ /* User A Hangs Up with VM system. Alternatively, the
+ VM system could initiate the BYE*/
+
+ BYE F8 BYE sip: VoiceMail@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ Route:<sip:UserA-retrieve@vm.wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ BYE F9 BYE sip: UserA-retrieve@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ 200 OK F10 SIP/2.0 200 OK
+ VM->Proxy Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+
+
+
+Campbell & Sparks Informational [Page 32]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ 200 OK F11 SIP/2.0 200 OK
+ Proxy->A Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+4.3.2 Call to retrieve messages from an authenticated subscriber
+
+ UserA to call the voice mail system to retrieve messages.
+ Assumptions: The caller is authenticated using UserA's credentials.
+ "sip:UserA-retrieve-auth@vm.wcom.com" maps to UserA's mailbox and the
+ behavior of "retrieve messages." The voice mail service trusts the
+ proxy not to forward any calls to that URI unless the call is
+ authenticated to be from UserA.
+
+ Given these assumptions, The VM service may choose not require a PIN
+ for calls to this URI.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 33]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ User A Proxy VM Service
+ | | |
+ | INVITE F1 | |
+ |------------------>| |
+ | | INVITE F2 |
+ | (100 Trying) F3 |---------------------->|
+ |<------------------| |
+ | | 200 OK F4 |
+ | 200 OK F5 |<----------------------|
+ |<------------------| |
+ | | |
+ | ACK F6 | |
+ |------------------>| ACK F7 |
+ | |---------------------->|
+ | | |
+ | RTP Both Ways - Deposit Msg for B |
+ |<-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m-m->|
+ | | |
+ | BYE F8 | |
+ |------------------>| BYE F9 |
+ | |---------------------->|
+ | | |
+ | | 200 OK F10 |
+ | |<----------------------|
+ | 200 OK F11 | |
+ |<------------------| |
+ | | |
+
+ Flow Id Comments
+
+ INVITE F1 INVITE sip:VoiceMail@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Proxy-Authorization:Digest username="UserA",
+ realm="MCI WorldCom SIP",
+ nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="",
+ uri="sip:VoiceMail@wcom.com", response=<appropriately
+ calculated hash goes here>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ v=0
+ o=UserA 2890844526 2890844526 IN IP4 client.here.com
+ s=Session SDP
+
+
+
+Campbell & Sparks Informational [Page 34]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ 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. */
+
+ INVITE F2 INVITE sip:UserA-retrieve-auth@vm.wcom.com SIP/2.0
+ Proxy->B1 Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:VoiceMail@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: TheBigGuy <sip:UserA@here.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ 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
+
+ (100 Trying SIP/2.0 100 Trying
+ F3 Via: SIP/2.0/UDP here.com:5060
+ Proxy->A) From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+ 200 OK F4 SIP/2.0 200 OK
+ VM->Proxy Via: SIP/2.0/UDP wcom.com:5060; branch=1
+ Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:VoiceMail@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact: VoiceMailSystem <sip:UserA-retrieve-
+ auth@vm.wcom.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+
+
+Campbell & Sparks Informational [Page 35]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ v=0
+ o=UserB 2890844527 2890844527 IN IP4 vm.wcom.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
+
+ 200 OK F5 SIP/2.0 200 OK
+ Proxy->A Via: SIP/2.0/UDP here.com:5060
+ Record-Route: <sip:VoiceMail@wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 INVITE
+ Contact VoiceMailSystem <sip: UserA-retrieve-
+ auth@vm.wcom.com>
+ Content-Type: application/sdp
+ Content-Length: <appropriate value>
+
+ v=0
+ o=UserB 2890844527 2890844527 IN IP4 vm.wcom.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
+
+ ACK F6 ACK sip:VoiceMail@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ Route: <sip:UserA-retrieve-auth@vm.wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ ACK F7 ACK sip:UserA-retrieve-auth@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>; tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 36]
+
+RFC 3087 SIP Service Control April 2001
+
+
+ /* RTP streams are established between A and VM. VM
+ determines that the call is likely from UserA, and
+ starts a message retrieval session. Since the proxy
+ has already authenticated the identity of UserA, the
+ VM does not need to prompt for PIN. */
+
+ /* User A Hangs Up with VM system. Alternatively, the
+ VM system could initiate the BYE*/
+
+ BYE F8 BYE sip:VoiceMail@wcom.com SIP/2.0
+ A->Proxy Via: SIP/2.0/UDP here.com:5060
+ Route:<sip:UserA-retrieve-auth@vm.wcom.com>
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ BYE F9 BYE sip: UserA-retrieve-auth@vm.wcom.com SIP/2.0
+ Proxy->VM Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ 200 OK F10 SIP/2.0 200 OK
+ VM->Proxy Via: SIP/2.0/UDP wcom.com:5060
+ Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+ 200 OK F11 SIP/2.0 200 OK
+ Proxy->A Via: SIP/2.0/UDP here.com:5060
+ From: TheBigGuy <sip:UserA@here.com>
+ To: VoiceMail <sip:VoiceMail@wcom.com>;tag=3145678
+ Call-Id: 12345600@here.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 37]
+
+RFC 3087 SIP Service Control April 2001
+
+
+5. Security Considerations
+
+ This document discusses a usage of SIP/2.0 as defined by RFC 2543[1].
+ It introduces no additions, modifications, or restrictions to the
+ protocol defined therein. Any implementation of the concepts in this
+ document is subject to the issues discussed there.
+
+6. Acknowledgments
+
+ The authors would like to thank Chris Cunningham, Steve Donovan, Alan
+ Johnston, Henry Sinnreich, Kevin Summers, John Truetken, and Dean
+ Willis for their discussion of and contribution to this work.
+
+References
+
+ [1] Handley, M., Schulzrinne, H., Schooler, E. and J. Rosenberg,
+ "SIP: Session Initiation Protocol", RFC 2543, March 1999.
+
+Authors' Addresses
+
+ Ben Campbell
+ dynamicsoft
+ 5100 Tennyson Parkway
+ Suite 1200
+ Plano, TX 75024
+
+ EMail: bcampbell@dynamicsoft.com
+
+
+ Robert J. Sparks
+ dynamicsoft
+ 5100 Tennyson Parkway
+ Suite 1200
+ Plano, TX 75024
+
+ EMail: rsparks@dynamicsoft.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 38]
+
+RFC 3087 SIP Service Control April 2001
+
+
+Full Copyright Statement
+
+ Copyright (C) The Internet Society (2001). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Campbell & Sparks Informational [Page 39]
+