Internet Engineering Task Force                           Ben Campbell
Internet Draft                                           Robert Sparks
<draft-campbell-sip-service-control-00.txt>               MCI WorldCom
January 19, 2000
Expires July 2000


            Control of Service Context using SIP Request-URI


STATUS OF THIS MEMO

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or made obsolete 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

   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 draft 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 draft continues with examples of
   how this mechanism could be used in a voice mail application.














Campbell, et al                                              [Page 1]


Internet Draft    draft-campbell-sip-service-control       January 2000



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......................................5
3.1.2   Direct Request to Deposit, mailbox to be determined ..........5
3.1.2.1   SIP source..................................................5
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.......................................................6
3.2.1   Request to Retrieve from a particular mailbox ................6
3.2.1.1   Trusted SIP source..........................................6
3.2.1.2   Authenticated SIP source....................................6
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.......................................7
3.2.2.3   Recognized PSTN source......................................7
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:......................................12
4.2.1   Call to known subscriber forwarded on no answer. ............12
4.2.2   Call to known subscriber forwarded on busy ..................18
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 ..34
5  Acknowledgments ..................................................39
6  Author's Address .................................................39
7  Bibliography .....................................................39













Campbell, et al                                              [Page 2]


Internet Draft    draft-campbell-sip-service-control       January 2000



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 service
   with a SIP interface through the use of the Request-URI.

          One motivation for this technique is it becomes
          possible for 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  Example Application

   In this draft, we use the example of voice mail to illustrate the
   technique. However, the technique could apply to any SIP-based
   service where the initial application state should be controlled by
   the call context.

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 two example schemes show that the URIs could, but
   don't necessarily have to, have mnemonic value or contain fields that
   could be parsed by the service.

          In practical applications, it is preferable that an
          application does not apply semantic rules to the
          various URIs. Instead, it should allow any arbitrary
          string to be provisioning, and map the string to the

Campbell, et al                                              [Page 3]


Internet Draft    draft-campbell-sip-service-control       January 2000


          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.

         URI Identity       Example Scheme 1      Example Scheme 2

       Deposit with         Sip:sub-rjs-         sip:677283@vm.wcom.c
       standard greeting    deposit@vm.wcom.co   om
                            m
       Deposit with on      Sip:sub-rjs-         sip:677372@vm.wcom.c
       phone greeting       deposit-             om
                            busy@vm.wcom.com

       Deposit with         Sip:sub-rjs-         sip:677384@vm.wcom.c
       special greeting     deposit-             om
                            sg@vm.wcom.com

       Retrieve - SIP       Sip:sub-rjs-         sip:677405@vm.wcom.c
       authentication       retrieve@vm.wcom.c   om
                            om

       Retrieve - prompt    Sip:sub-rjs-         sip:677415@vm.wcom.c
       for PIN in-band      retrieve-            om
                            inpin@vm.wcom.com


   When a service is first set up, identities such as the following
   could be created.

         URI Identity       Example Scheme 1      Example Scheme 2

       Deposit -            sip:deposit@vm.wco   sip:670001@vm.wcom.c
       identify target      m.com                om
       mailbox by To:

       Retrieve -           sip:retrieve@vm.co   sip:670002@vm.wcom.c
       identify target      m.com                om
       mailbox by SIP
       authentication

       Deposit - prompt     sip:deposit-         sip:670003@vm.wcom.c
       for target           in@vm.wcom.com       om
       mailbox in-band

       Retrieve - prompt    sip:retrieve-        sip:670004@vm.wcom.c
       for target           in@vm.wcom.com       om
       mailbox and PIN
       in-band

Campbell, et al                                              [Page 4]


Internet Draft    draft-campbell-sip-service-control       January 2000




   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).

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

Campbell, et al                                              [Page 5]


Internet Draft    draft-campbell-sip-service-control       January 2000


          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

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).



Campbell, et al                                              [Page 6]


Internet Draft    draft-campbell-sip-service-control       January 2000


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.

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)






Campbell, et al                                              [Page 7]


Internet Draft    draft-campbell-sip-service-control       January 2000


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.

         User A              User B               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




Campbell, et al                                              [Page 8]


Internet Draft    draft-campbell-sip-service-control       January 2000



  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>

               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->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, et al                                              [Page 9]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 (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

 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






Campbell, et al                                             [Page 10]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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

 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*/








Campbell, et al                                             [Page 11]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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
               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, et al                                             [Page 12]


Internet Draft    draft-campbell-sip-service-control       January 2000


         User A            Proxy 1            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         |<----------------------------------|
           |<----------------|                  |                |
           |                 |                  |                |













Campbell, et al                                             [Page 13]


Internet Draft    draft-campbell-sip-service-control       January 2000



  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
               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





Campbell, et al                                             [Page 14]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 (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

 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




Campbell, et al                                             [Page 15]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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
               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










Campbell, et al                                             [Page 16]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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
               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*/






Campbell, et al                                             [Page 17]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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

 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, et al                                             [Page 18]


Internet Draft    draft-campbell-sip-service-control       January 2000


         User A            Proxy 1            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















Campbell, et al                                             [Page 19]


Internet Draft    draft-campbell-sip-service-control       January 2000



  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
               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





Campbell, et al                                             [Page 20]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 (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
               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






Campbell, et al                                             [Page 21]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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
               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










Campbell, et al                                             [Page 22]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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 */

               /* 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:<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








Campbell, et al                                             [Page 23]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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, et al                                             [Page 24]


Internet Draft    draft-campbell-sip-service-control       January 2000


         User A              User B               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






















Campbell, et al                                             [Page 25]


Internet Draft    draft-campbell-sip-service-control       January 2000



  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
               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





Campbell, et al                                             [Page 26]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 (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
               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, et al                                             [Page 27]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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
               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*/



Campbell, et al                                             [Page 28]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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



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

Campbell, et al                                             [Page 29]


Internet Draft    draft-campbell-sip-service-control       January 2000


   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              User B               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, et al                                             [Page 30]


Internet Draft    draft-campbell-sip-service-control       January 2000



  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, et al                                             [Page 31]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 (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, et al                                             [Page 32]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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







Campbell, et al                                             [Page 33]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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



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, et al                                             [Page 34]


Internet Draft    draft-campbell-sip-service-control       January 2000


         User A              User B               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       |                       |
           |<------------------|                       |
           |                   |                       |


























Campbell, et al                                             [Page 35]


Internet Draft    draft-campbell-sip-service-control       January 2000



  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
               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





Campbell, et al                                             [Page 36]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 (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>

               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


Campbell, et al                                             [Page 37]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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

               /* 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






Campbell, et al                                             [Page 38]


Internet Draft    draft-campbell-sip-service-control       January 2000



  Flow Id                            Comments

 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


5  Acknowledgments

   The authors would like to thank the following for their discussion of
   and contribution to this work:

          Chris Cunningham
          Steve Donovan
          Alan Johnston
          Henry Sinnreich
          Kevin Summers
          John Truetken
          Dean Willis

6  Author's Address

         Ben Campbell
         MCI WorldCom
         2400 N Glenville Drive        Phone:  +1-972-729-6131
         Richardson, TX  75082         Email:  Ben.Campbell@wcom.com

         Robert Sparks
         MCI WorldCom
         2400 N Glenville Drive        Phone:  +1-972-729-5241
         Richardson, TX  75082         Email:  Robert.Sparks@wcom.com

7  Bibliography

   [1] S. Bradner, "The Internet Standards Process -- Revision 3", BCP
      9, RFC2026, October 1996.



Campbell, et al                                             [Page 39]


Internet Draft    draft-campbell-sip-service-control       January 2000


   [2] R. Sparks, et al. "SIP Telephony Service Examples With Call
      Flows", Internet Draft, Internet Engineering Task Force, October
      1999, Work in Progress.

   [3] A. Johnston, et al., "SIP Telephony Call Flow Examples", Internet
      Draft, Internet Engineering Task Force, October 1999, Work in
      Progress.

   [4] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP:
      Session Initiation Protocol", RFC 2543, March 1999.











































Campbell, et al                                             [Page 40]