summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc4458.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc4458.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc4458.txt')
-rw-r--r--doc/rfc/rfc4458.txt1179
1 files changed, 1179 insertions, 0 deletions
diff --git a/doc/rfc/rfc4458.txt b/doc/rfc/rfc4458.txt
new file mode 100644
index 0000000..b111a31
--- /dev/null
+++ b/doc/rfc/rfc4458.txt
@@ -0,0 +1,1179 @@
+
+
+
+
+
+
+Network Working Group C. Jennings
+Request for Comments: 4458 Cisco Systems
+Category: Informational F. Audet
+ Nortel Networks
+ J. Elwell
+ Siemens plc
+ April 2006
+
+
+ Session Initiation Protocol (SIP) URIs for Applications
+ such as Voicemail and Interactive Voice Response (IVR)
+
+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 (2006).
+
+Abstract
+
+ The Session Initiation Protocol (SIP) is often used to initiate
+ connections to applications such as voicemail or interactive voice
+ recognition systems. This specification describes a convention for
+ forming SIP service URIs that request particular services based on
+ redirecting targets from such applications.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jennings, et al. Informational [Page 1]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+Table of Contents
+
+ 1. Introduction ....................................................3
+ 2. Mechanism (User Agent Server and Proxy) .........................4
+ 2.1. Target .....................................................4
+ 2.2. Cause ......................................................4
+ 2.3. Retrieving Messages ........................................5
+ 3. Interaction with Request History Information ....................5
+ 4. Limitations of Voicemail URI ....................................6
+ 5. Syntax ..........................................................6
+ 6. Examples ........................................................7
+ 6.1. Proxy Forwards Busy to Voicemail ...........................7
+ 6.2. Endpoint Forwards Busy to Voicemail ........................9
+ 6.3. Endpoint Forwards Busy to TDM via a Gateway ...............11
+ 6.4. Endpoint Forwards Busy to Voicemail with History Info .....13
+ 6.5. Zero Configuration UM System ..............................14
+ 6.6. Call Coverage .............................................15
+ 7. IANA Considerations ............................................15
+ 8. Security Considerations ........................................16
+ 8.1. Integrity Protection of Forwarding in SIP .................16
+ 8.2. Privacy Related Issues on the Second Call Leg .............17
+ 9. Acknowledgements ...............................................18
+ 10. References ....................................................18
+ 10.1. Normative References .....................................18
+ 10.2. Informative References ...................................18
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jennings, et al. Informational [Page 2]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+1. Introduction
+
+ Many applications such as Unified Messaging (UM) systems and
+ Interactive Voice Recognition (IVR) systems have been developed out
+ of traditional telephony. They can be used for storing and
+ interacting with voice, video, faxes, email, and instant messaging
+ services. Users often use SIP to initiate communications with these
+ applications. When a SIP call is routed to an application, it is
+ necessary that the application be able to obtain several bits of
+ information from the session initiation message so that it can
+ deliver the desired services.
+
+ For the purpose of this document, we will use UM as the main example,
+ but other applications may use the mechanism defined in this
+ document. The UM needs to know what mailbox should be used and
+ possible reasons for the type of service desired from the UM. Many
+ voicemail systems provide different greetings depending whether the
+ call went to voicemail because the user was busy or because the user
+ did not answer. All of this information can be delivered in existing
+ SIP signaling from the call control that retargets the call to the
+ UM, but there are no conventions for describing how the desired
+ mailbox and the service requested are expressed. It would be
+ possible for every vendor to make this configurable so that any site
+ could get it to work; however, this approach is unrealistic for
+ achieving interoperability among call control, gateway, and unified
+ messaging systems from different vendors. This specification
+ describes a convention for describing this mailbox and service
+ information in the SIP URI so that vendors and operators can build
+ interoperable systems.
+
+ If there were no need to interoperate with Time Division Multiplexing
+ (TDM)-based voicemail systems or to allow TDM systems to use VoIP
+ unified messaging systems, this problem would be a little easier to
+ solve. The problem that is introduced in the Voice over IP (VoIP) to
+ TDM case is as follows. The SIP system needs to tell a Public
+ Switched Telephone Network (PSTN) gateway both the subscriber's
+ mailbox identifier (which typically looks like a phone number) and
+ the address of the voicemail system in the TDM network (again a phone
+ number).
+
+ The question has been asked why the To header cannot be used to
+ specify which mailbox to use. One problem is that the call control
+ proxies cannot modify the To header, and the User Agent Clients
+ (UACs) often set it incorrectly because they do not have information
+ about the subscribers in the domain they are trying to call. This
+ happens because the routing of the call often translates the URI
+ multiple times before it results in an identifier for the desired
+ user that is valid in the namespace that the UM system understands.
+
+
+
+Jennings, et al. Informational [Page 3]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+2. Mechanism (User Agent Server and Proxy)
+
+ The mechanism works by encoding the information for the desired
+ service in the SIP Request-URI that is sent to the UM system. Two
+ chunks of information are encoded, the first being the target mailbox
+ to use and the second being the SIP status code that caused this
+ retargeting and that indicates the desired service. The userinfo and
+ hostport parts of the Request-URI will identify the voicemail
+ service, the target mailbox can be put in the target parameter, and
+ the reason can be put in the cause parameter. For example, if the
+ proxy wished to use Bob's mailbox because his phone was busy, the URI
+ sent to the UM system could be something like:
+
+ sip:voicemail@example.com;target=bob%40example.com;cause=486
+
+2.1. Target
+
+ Target is a URI parameter that indicates the address of the
+ retargeting entity: in the context of UM, this can be the mailbox
+ number. For example, in the case of a voicemail system on the PSTN,
+ the user portion will contain the phone number of the voicemail
+ system, while the target will contain the phone number of the
+ subscriber's mailbox.
+
+2.2. Cause
+
+ Cause is a URI parameter that is used to indicate the service that
+ the User Agent Server (UAS) receiving the message should perform.
+ The following values for this URI parameter are defined:
+
+
+ +---------------------------------+-------+
+ | Redirecting Reason | Value |
+ +---------------------------------+-------+
+ | Unknown/Not available | 404 |
+ | User busy | 486 |
+ | No reply | 408 |
+ | Unconditional | 302 |
+ | Deflection during alerting | 487 |
+ | Deflection immediate response | 480 |
+ | Mobile subscriber not reachable | 503 |
+ +---------------------------------+-------+
+
+ The mapping to PSTN protocols is important both for gateways that
+ connect the IP network to existing TDM customer's equipment, such as
+ Private Branch Exchanges (PBXs) and voicemail systems, and for
+ gateways that connect the IP network to the PSTN network. Integrated
+ Services Digital Network User Part (ISUP) has signaling encodings for
+
+
+
+Jennings, et al. Informational [Page 4]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+ this information that can be treated as roughly equivalent for the
+ purposes here. For this reason, this specification uses the names of
+ Redirecting Reason values defined in ITU-T Q.732.2-5 [8]. In this
+ specification, the Redirecting Reason Values are referred to as
+ "Causes". It should be understood that the term "Cause" has nothing
+ to do with PSTN "Cause values" (as per ITU-T Q.850 [9] and RFC 3398
+ [5]) but are instead mapped to ITU-T Q.732.2-5 Redirecting Reasons.
+ Since ISUP interoperates with other PSTN networks, such as Q.931 [10]
+ and QSIG [11], using well-known rules, it makes sense to use the ISUP
+ names as the most appropriate superset. If no appropriate mapping to
+ a cause value defined in this specification exists in a network, it
+ would be mapped to 302 "Unconditional". Similarly, if the mapping
+ occurs from one of the causes defined in this specification to a PSTN
+ system that does not have an equivalent reason value, it would be
+ mapped to that network's equivalent of "Unconditional". If a new
+ cause parameter needs to be defined, this specification will have to
+ be updated.
+
+ The user portion of the URI SHOULD be used as the address of the
+ voicemail system on the PSTN, while the target SHOULD be mapped to
+ the original redirecting number on the PSTN side.
+
+ The redirection counters SHOULD be set to one unless additional
+ information is available.
+
+2.3. Retrieving Messages
+
+ The UM system MAY use the fact that the From header is the same as
+ the URI target as a hint that the user wishes to retrieve messages.
+
+3. Interaction with Request History Information
+
+ The Request History mechanism [6] provides more information relating
+ to multiple retargetings. It is reasonable to have systems in which
+ both the information in this specification and the History
+ information are included and one or both are used.
+
+ History-Info specifies a means of providing the UAS and UAC with
+ information about the retargeting of a request. This information
+ includes the initial Request-URI and any retarget-to URIs. This
+ information is placed in the History-Info header field, which, except
+ where prevented by privacy considerations, is built up as the request
+ progresses and, upon reaching the UAS, is returned in certain
+ responses.
+
+ History-Info, when deployed at relevant SIP entities, is intended to
+ provide a comprehensive trace of retargeting for a SIP request, along
+ with the SIP response codes that led to retargeting.
+
+
+
+Jennings, et al. Informational [Page 5]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+ History-Info can complement this specification. In particular, when
+ a proxy inserts a URI containing the parameters defined in this
+ specification into the Request-URI of a forwarded request, the proxy
+ can also insert a History-Info header field entry into the forwarded
+ request, and the URI in that entry will incorporate these parameters.
+ Therefore, even if the Request-URI is replaced as a result of
+ rerouting by a downstream proxy, the History-Info header field will
+ still contain these parameters, which may be of use to the UAS.
+ Consequently, UASes that make use of this information may find the
+ information in the History-Info header and/or in the Request-URI,
+ depending on the capability of the proxy to support generation of
+ History-Info or on the behavior of downstream proxies; therefore,
+ applications need to take this into account.
+
+4. Limitations of Voicemail URI
+
+ This specification requires the proxy that is requesting the service
+ to understand whether the UM system it is targeting supports the
+ syntax defined in this specification. Today, this information is
+ provided to the proxy by configuration. For practical purposes, this
+ means that the approach is unlikely to work in cases in which the
+ proxy is not configured with information about the UM system or in
+ which the UM is not in the same administrative domain.
+
+ This approach only works when the service that the call control wants
+ applied is fairly simple. For example, it does not allow the proxy
+ to express information like "Do not offer to connect to the target's
+ colleague because that address has already been tried".
+
+ The limitations discussed in this section are addressed by History-
+ Info [6].
+
+5. Syntax
+
+ The ABNF[4] grammar for these parameters is shown below. The
+ definitions of pvalue and Status-Code are defined in the ABNF in RFC
+ 3261[1].
+
+ target-param = "target" EQUAL pvalue
+
+ cause-param = "cause" EQUAL Status-Code
+
+ Note that the ABNF requires some characters to be escaped if they
+ occur in the value of the target parameters. For example, the "@"
+ character needs to be escaped.
+
+
+
+
+
+
+Jennings, et al. Informational [Page 6]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+6. Examples
+
+ This section provides some example use cases for the solution
+ proposed in this document. For the purpose of this document, UM is
+ used as the main example, but other applications may use this
+ mechanism. The examples are intended to highlight the potential
+ applicability of this solution and are not intended to limit its
+ applicability.
+
+ Also, the examples show just service retargeting on busy, but can
+ easily be adapted to show other forms of retargeting.
+
+ In several of the examples, the URIs are broken across more than one
+ line. This was only done for formatting and is not a valid SIP
+ message. Some of the characters in the URIs are not correctly
+ escaped to improve readability. The examples are all shown using
+ sip: with UDP transport, for readability. It should be understood
+ that using sips: with TLS transport is preferable.
+
+6.1. Proxy Forwards Busy to Voicemail
+
+ In this example, Alice calls Bob. Bob's proxy determines that Bob is
+ busy, and the proxy forwards the call to Bob's voicemail. Alice's
+ phone is at 192.0.2.1, while Bob's phone is at 192.0.2.2. The
+ important thing to note is the URI in message F7.
+
+ Alice Proxy Bob voicemail
+ | | | |
+ | INVITE F1 | | |
+ |--------------->| INVITE F2 | |
+ | |------------->| |
+ |(100 Trying) F3 | | |
+ |<---------------| 486 Busy F4 | |
+ | |<-------------| |
+ | | ACK F5 | |
+ | |------------->| |
+ |(181 Call is Being Forwarded) F6 |
+ |<---------------| | INVITE F7 |
+ | |--------------------------------->|
+ * Rest of flow not shown *
+
+
+
+
+
+
+
+
+
+
+
+Jennings, et al. Informational [Page 7]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+ F1: INVITE 192.0.2.1 -> proxy.example.com
+
+ INVITE sip:+15555551002@example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Max-Forwards: 70
+ Contact: <sip:alice@192.0.2.1>
+ Content-Type: application/sdp
+ Content-Length: *Body length goes here*
+
+ * SDP goes here*
+
+
+ F2: INVITE proxy.example.com -> 192.0.2.2
+
+ INVITE sip:+15555551002@192.0.2.2 SIP/2.0
+ Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-1
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Max-Forwards: 70
+ Contact: <sip:alice@192.0.2.1>
+ Content-Type: application/sdp
+ Content-Length: *Body length goes here*
+
+ * SDP goes here*
+
+
+ F4: 486 192.0.2.2 -> proxy.example.com
+
+ SIP/2.0 486 Busy Here
+ Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-1
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone;tag=09xde23d80
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+
+
+
+
+
+
+Jennings, et al. Informational [Page 8]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+ F7: INVITE proxy.example.com -> um.example.com
+
+ INVITE sip:voicemail@example.com;\
+ target=sip:+15555551002%40example.com;user=phone;\
+ cause=486 SIP/2.0
+ Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-2
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Max-Forwards: 70
+ Contact: <sip:alice@192.0.2.1>
+ Content-Type: application/sdp
+ Content-Length: *Body length goes here*
+
+ * SDP goes here*
+
+6.2. Endpoint Forwards Busy to Voicemail
+
+ In this example, Alice calls Bob. Bob is busy, but forwards the
+ session directly to his voicemail. Alice's phone is at 192.0.2.1,
+ while Bob's phone is at 192.0.2.2. The important thing to note is
+ the URI in the Contact in message F3.
+
+ Alice Proxy Bob voicemail
+ | | | |
+ | INVITE F1 | | |
+ |--------------->| INVITE F2 | |
+ | |------------->| |
+ | | 302 Moved F3 | |
+ | 302 Moved F4 |<-------------| |
+ |<---------------| | |
+ | ACK F5 | | |
+ |--------------->| ACK F6 | |
+ | |------------->| |
+ | INVITE F7 |
+ |-------------------------------------------------->|
+ * Rest of flow not shown *
+
+
+
+
+
+
+
+
+
+
+
+
+Jennings, et al. Informational [Page 9]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+ F1: INVITE 192.0.2.1 -> proxy.example.com
+
+ INVITE sip:+15555551002@example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Max-Forwards: 70
+ Contact: <sip:alice@192.0.2.1>
+ Content-Type: application/sdp
+ Content-Length: *Body length goes here*
+
+ * SDP goes here*
+
+
+ F2: INVITE proxy.example.com -> 192.0.2.2
+
+ INVITE sip:line1@192.0.2.2 SIP/2.0
+ Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-1
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Max-Forwards: 70
+ Contact: <sip:alice@192.0.2.1>
+ Content-Type: application/sdp
+ Content-Length: *Body length goes here*
+
+ * SDP goes here*
+
+
+ F3: 302 192.0.2.2 -> proxy.example.com
+
+ SIP/2.0 302 Moved Temporarily
+ Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-1
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone;tag=09xde23d80
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Contact: <sip: voicemail@example.com;\
+ target=sip:+15555551002%40example.com;user=phone;\
+ cause=486;>
+ Content-Length: 0
+
+
+
+
+
+Jennings, et al. Informational [Page 10]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+ F7: INVITE proxy.example.com -> um.example.com
+
+ INVITE sip: voicemail@example.com;\
+ target=sip:+15555551002%40example.com;user=phone;\
+ cause=486 SIP/2.0
+ Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-2
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Max-Forwards: 70
+ Contact: <sip:alice@192.0.2.1>
+ Content-Type: application/sdp
+ Content-Length: *Body length goes here*
+
+ * SDP goes here*
+
+6.3. Endpoint Forwards Busy to TDM via a Gateway
+
+ In this example, the voicemail is reached via a gateway to a TDM
+ network. Bob's number is +1 555 555-1002, while voicemail's number
+ on the TDM network is +1-555-555-2000.
+
+ The call flow is the same as in Section 6.2 except for the Contact
+ URI in F4 and the Request URI in F7.
+
+ Alice Proxy Bob voicemail
+ | | | |
+ | INVITE F1 | | |
+ |--------------->| INVITE F2 | |
+ | |------------->| |
+ |(100 Trying) F3 | | |
+ |<---------------| 302 Moved F4 | |
+ | |<-------------| |
+ | | ACK F5 | |
+ | |------------->| |
+ |(181 Call is Being Forwarded) F6 |
+ |<---------------| | INVITE F7 |
+ | |--------------------------------->|
+ * Rest of flow not shown *
+
+
+
+
+
+
+
+
+
+
+Jennings, et al. Informational [Page 11]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+ F4: 486 192.0.2.2 -> proxy.example.com
+
+ SIP/2.0 302 Moved temporarily
+ Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-1
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone;tag=09xde23d80
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Contact: <sip:+15555552000@example.com;user=phone;\
+ target=tel:+15555551002;cause=486>
+ Content-Length: 0
+
+
+ F7: INVITE proxy.example.com -> gw.example.com
+
+ INVITE sip:+15555552000@example.com;user=phone;\
+ target=tel:+15555551002;cause=486\
+ SIP/2.0
+ Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-2
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Max-Forwards: 70
+ Contact: <sip:alice@192.0.2.1;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: *Body length goes here*
+
+ * SDP goes here*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jennings, et al. Informational [Page 12]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+6.4. Endpoint Forwards Busy to Voicemail with History Info
+
+ This example illustrates how History Info works in conjunction with
+ service retargeting. The scenario is the same as Section 6.1.
+
+ F1: INVITE 192.0.2.1 -> proxy.example.com
+
+ INVITE sip:+15555551002@example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Max-Forwards: 70
+ Contact: <sip:alice@192.0.2.1>
+ History-Info: <sip:+15555551002@example.com;user=phone >;index=1
+ Content-Type: application/sdp
+ Content-Length: *Body length goes here*
+
+ * SDP goes here*
+
+
+ F2: INVITE proxy.example.com -> 192.0.2.2
+
+ INVITE sip:line1@192.0.2.2 SIP/2.0
+ Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-1
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Max-Forwards: 70
+ Contact: <sip:alice@192.0.2.1>
+ History-Info: <sip:+15555551002@example.com;user=phone >;index=1,
+ <sip:line1@192.0.2.4>;index=1.1
+
+ Content-Type: application/sdp
+ Content-Length: *Body length goes here*
+
+ * SDP goes here*
+
+
+
+
+
+
+
+
+
+
+
+Jennings, et al. Informational [Page 13]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+ F7: INVITE proxy.example.com -> um.example.com
+
+ INVITE sip: voicemail@example.com;\
+ target=sip:+15555551002%40example.com;user=phone;\
+ cause=486 SIP/2.0
+ Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-2
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Max-Forwards: 70
+ Contact: <sip:alice@192.0.2.1>
+ History-Info: <sip:+15555551002@example.com;user=phone >;index=1,
+ <sip:line1@192.0.2.4?Reason=SIP%3Bcause%3D302;\
+ text="Moved Temporarily">;index=1.1
+ <sip: voicemail@example.com;\
+ target=sip:+15555551002%40example.com;user=phone;\
+ cause=486>;index=2
+ Contact: <sip:alice@192.0.2.1>
+ Content-Type: application/sdp
+ Content-Length: *Body length goes here*
+
+ * SDP goes here*
+
+6.5. Zero Configuration UM System
+
+ In this example, the UM system has no configuration information
+ specific to any user. The proxy is configured to pass a URI that
+ provides the prompt to play and an email address in the user portion
+ of the URI to which the recorded message is to be sent.
+
+ The call flow is the same as in Section 6.1, except that the URI in
+ F7 changes to specify the user part as Bob's email address, and the
+ Netann [7] URI play parameter specifies where the greeting to play
+ can be fetched from.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jennings, et al. Informational [Page 14]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+ F7: INVITE proxy.example.com -> voicemail.example.com
+
+ INVITE sip:voicemail@example.com;target=mailto:bob%40example.com;\
+ cause=486;play=http://www.example.com/bob/busy.wav SIP/2.0
+ Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80k7g-2
+ Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK-74bf9
+ From: Alice <sip:+15555551001@example.com;user=phone>;tag=9fxced76sl
+ To: sip:+15555551002@example.com;user=phone
+ Call-ID: c3x842276298220188511
+ CSeq: 1 INVITE
+ Max-Forwards: 70
+ Contact: <sip:alice@192.0.2.1>
+ Content-Type: application/sdp
+ Content-Length: *Body length goes here*
+
+ * SDP goes here*
+
+ In addition, if the proxy wished to indicate a Voice XML (VXML)
+ script that the UM should execute, it could add a parameter to the
+ URI in the above message that looked like:
+
+ voicexml=http://www.example.com/bob/busy.vxml
+
+6.6. Call Coverage
+
+ In a Call Coverage example, a user on the PSTN calls an 800 number.
+ The gateway sends this to the proxy, which recognizes that the
+ helpdesk is the target. Alice and Bob are staffing the help desk and
+ are tried sequentially, but neither answers, so the call is forwarded
+ to the helpdesk's voicemail.
+
+ The details of this flow are trivial and not shown. The key item in
+ this example is that the INVITE to Alice and Bob looks as follows:
+
+ INVITE sip:voicemail@example.com;target=helpdesk%40example.com;\
+ cause=302 SIP/2.0
+
+7. IANA Considerations
+
+ This specification adds two new values to the IANA registration in
+ the "SIP/SIPS URI Parameters" registry as defined in [3].
+
+ Parameter Name Predefined Values Reference
+ ____________________________________________
+ target No [RFC4458]
+ cause Yes [RFC4458]
+
+
+
+
+
+Jennings, et al. Informational [Page 15]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+8. Security Considerations
+
+ This document discusses transactions involving at least three
+ parties, which increases the complexity of the privacy issues.
+
+ The new URI parameters defined in this document are generally sent
+ from a Proxy or call control system to a Unified Messaging (UM)
+ system or to a gateway to the PSTN and then to a voicemail system.
+ These new parameters tell the UM what service the proxy wishes to
+ have performed. Just as any message sent from the proxy to the UM
+ needs to be integrity protected, these messages need to be integrity
+ protected to stop attackers from, for example, causing a voicemail
+ meant for a company's CEO to go to an attacker's mailbox. RFC 3261
+ provides a TLS mechanism suitable for performing this integrity
+ protection.
+
+ The signaling from the Proxy to the UM or gateway will reveal who is
+ calling whom and possibly some information about a user's presence
+ based on whether the call was answered or sent to voicemail. This
+ information can be protected by encrypting the SIP traffic between
+ the Proxy and UM or gateway. Again, RFC 3261 contains mechanisms for
+ accomplishing this using TLS.
+
+ Implementations should implement and use TLS.
+
+8.1. Integrity Protection of Forwarding in SIP
+
+ The forwarding of a call in SIP brings up a very strange trust issue.
+ Consider the normal case -- A calls B and the call gets forwarded to
+ C by a network element in B's domain, and then C answers the call. A
+ has called B but ended up talking to C. This scenario may be hard to
+ separate from a man-in-the-middle attack.
+
+ There are two possible solutions. One is that B sends back
+ information to A saying don't call me, call C, and signs it as B.
+ The problem is that this solution involves revealing that B has
+ forwarded to C, which B often may not want to do. For example, B may
+ be a work phone that has been forwarded to a mobile or home phone.
+ The user does not want to reveal their mobile or home phone number
+ but, even more importantly, does not want to reveal that they are not
+ in the office.
+
+ The other possible solution is that A needs to trust B only to
+ forward to a trusted identity. This requires a hop-by-hop transitive
+ trust such that each hop will only send to a trusted next hop and
+ each hop will only do things that the user at that hop desired. This
+
+
+
+
+
+Jennings, et al. Informational [Page 16]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+ solution is enforced in SIP using the SIPS URI and TLS-based
+ hop-by-hop security. It protects from an off-axis attack, but if one
+ of the hops is not trustworthy, the call may be diverted to an
+ attacker.
+
+ Any redirection of a call to an attacker's mailbox is serious. It is
+ trivial for an attacker to make its mailbox seem very much like the
+ real mailbox and forward the messages to the real mailbox so that the
+ fact that the messages have been intercepted or even tampered with
+ escapes detection. Approaches such as the SIPS URL and the
+ History-Info[6] can help protect against these attacks.
+
+8.2. Privacy Related Issues on the Second Call Leg
+
+ In the case where A calls B and gets redirected to C, occasionally
+ people suggest that there is a requirement for the call leg from B to
+ C to be anonymous. The SIP case is not the PSTN, and there is no
+ call leg from B to C; instead, there is a VoIP session between A and
+ C. If A has put a To header field value containing B in the initial
+ invite message, unless something special is done about it, C would
+ see that To header field value. If the person who answers phone C
+ says "I think you dialed the wrong number; who were you trying to
+ reach?", A will probably specify B.
+
+ If A does not want C to see that the call was to B, A needs a special
+ relationship with the forwarding Proxy to induce it not to reveal
+ that information. The call should go through an anonymization
+ service that provides session or user level privacy (as described in
+ RFC 3323 [2]) service before going to C. It is not hard to figure
+ out how to meet this requirement, but it is unclear why anyone would
+ want this service.
+
+ The scenario in which B wants to make sure that C does not see that
+ the call was to B is easier to deal with but a bit weird. The usual
+ argument is that Bill wants to forward his phone to Monica but does
+ not want Monica to find out his phone number. It is hard to imagine
+ that Monica would want to accept all Bill's calls without knowing how
+ to call Bill to complain. The only person Monica will be able to
+ complain to is Hillary, when she tries to call Bill. Several popular
+ web portals will send SMS alert messages about things like stock
+ prices and weather to mobile phone users today. Some of these
+ contain no information about the account on the web portal that
+ initiated them, making it nearly impossible for the mobile phone
+ owner to stop them. This anonymous message forwarding has turned out
+ to be a really bad idea even where no malice is present. Clearly
+ some people are fairly dubious about the need for this, but never
+ mind: let's look at how it is solved.
+
+
+
+
+Jennings, et al. Informational [Page 17]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+ In the general case, the proxy needs to route the call through an
+ anonymization service and everything will be cleaned up. Any
+ anonymization service that performs the "Privacy: Header" Service in
+ RFC 3323 [2] must remove the cause and target URI parameters from the
+ URI. Privacy of the parameters, when they form part of a URI within
+ the History-Info header, is covered in History-Info [6].
+
+ This specification does not discuss the security considerations of
+ mapping to a PSTN Gateway. Security implications of mapping to ISUP,
+ for example, are discussed in RFC 3398 [5].
+
+9. Acknowledgements
+
+ Many thanks to Mary Barnes, Steve Levy, Dean Willis, Allison Mankin,
+ Martin Dolly, Paul Kyzivat, Erick Sasaki, Lyndsay Campbell, Keith
+ Drage, Miguel Garcia, Sebastien Garcin, Roland Jesske, Takumi Ohba,
+ and Rohan Mahy.
+
+10. References
+
+10.1. Normative References
+
+ [1] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
+ Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP:
+ Session Initiation Protocol", RFC 3261, June 2002.
+
+ [2] Peterson, J., "A Privacy Mechanism for the Session Initiation
+ Protocol (SIP)", RFC 3323, November 2002.
+
+ [3] Camarillo, G., "The Internet Assigned Number Authority (IANA)
+ Uniform Resource Identifier (URI) Parameter Registry for the
+ Session Initiation Protocol (SIP)", BCP 99, RFC 3969,
+ December 2004.
+
+ [4] Crocker, D. and P. Overell, "Augmented BNF for Syntax
+ Specifications: ABNF", RFC 4234, October 2005.
+
+10.2. Informative References
+
+ [5] Camarillo, G., Roach, A., Peterson, J., and L. Ong, "Integrated
+ Services Digital Network (ISDN) User Part (ISUP) to Session
+ Initiation Protocol (SIP) Mapping", RFC 3398, December 2002.
+
+ [6] Barnes, M., "An Extension to the Session Initiation Protocol
+ (SIP) for Request History Information", RFC 4244,
+ November 2005.
+
+
+
+
+
+Jennings, et al. Informational [Page 18]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+ [7] Burger, E., Van Dyke, J., and A. Spitzer, "Basic Network Media
+ Services with SIP", RFC 4240, December 2005.
+
+ [8] "Stage 3 description for call offering supplementary services
+ using signalling system No. 7: Call diversion services", ITU-T
+ Recommendation Q.732.2-5, December 1999.
+
+ [9] "Usage of cause and location in the Digital Subscriber
+ Signalling System No. 1 and the Signalling System No. 7 ISDN
+ User Part", ITU-T Recommendation Q.850, May 1998.
+
+ [10] "ISDN user-network interface layer 3 specification for basic
+ call control", ITU-T Recommendation Q.931, May 1998.
+
+ [11] "Information technology - Telecommunications and information
+ exchange between systems - Private Integrated Services Network
+ - Circuit mode bearer services - Inter-exchange signalling
+ procedures and protocol", ISO/IEC 11572, March 2000.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jennings, et al. Informational [Page 19]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+Authors' Addresses
+
+ Cullen Jennings
+ Cisco Systems
+ 170 West Tasman Drive
+ Mailstop SJC-21/2
+ San Jose, CA 95134
+ USA
+
+ Phone: +1 408 421-9990
+ EMail: fluffy@cisco.com
+
+
+ Francois Audet
+ Nortel Networks
+ 4655 Great America Parkway
+ Santa Clara, CA 95054
+ US
+
+ Phone: +1 408 495 3756
+ EMail: audet@nortel.com
+
+
+ John Elwell
+ Siemens plc
+ Technology Drive
+ Beeston, Nottingham NG9 1LA
+ UK
+
+ EMail: john.elwell@siemens.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jennings, et al. Informational [Page 20]
+
+RFC 4458 SIP Voicemail URI April 2006
+
+
+Full Copyright Statement
+
+ Copyright (C) The Internet Society (2006).
+
+ This document is subject to the rights, licenses and restrictions
+ contained in BCP 78, and except as set forth therein, the authors
+ retain all their rights.
+
+ This document and the information contained herein are provided on an
+ "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+ OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+ ENGINEERING TASK FORCE DISCLAIM 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.
+
+Intellectual Property
+
+ The IETF takes no position regarding the validity or scope of any
+ Intellectual Property Rights or other rights that might be claimed to
+ pertain to the implementation or use of the technology described in
+ this document or the extent to which any license under such rights
+ might or might not be available; nor does it represent that it has
+ made any independent effort to identify any such rights. Information
+ on the procedures with respect to rights in RFC documents can be
+ found in BCP 78 and BCP 79.
+
+ Copies of IPR disclosures made to the IETF Secretariat and any
+ assurances of licenses to be made available, or the result of an
+ attempt made to obtain a general license or permission for the use of
+ such proprietary rights by implementers or users of this
+ specification can be obtained from the IETF on-line IPR repository at
+ http://www.ietf.org/ipr.
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights that may cover technology that may be required to implement
+ this standard. Please address the information to the IETF at
+ ietf-ipr@ietf.org.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is provided by the IETF
+ Administrative Support Activity (IASA).
+
+
+
+
+
+
+
+Jennings, et al. Informational [Page 21]
+