One document matched: draft-rosen-iptel-dialstring-04.html


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en"><head><title>Dialstring parameter for the Session
    Initiation Protocol Uniform Resource Identifier</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="Dialstring parameter for the Session
    Initiation Protocol Uniform Resource Identifier">
<meta name="generator" content="xml2rfc v1.30 (http://xml.resource.org/)">
<style type='text/css'>
<!--
    body {
        font-family: verdana, charcoal, helvetica, arial, sans-serif;
        margin: 2em;
        font-size: small ; color: #000000 ; background-color: #ffffff ; }
    .title { color: #990000; font-size: x-large ;
        font-weight: bold; text-align: right;
        font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;
        background-color: transparent; }
    .filename { color: #666666; font-size: 18px; line-height: 28px;
        font-weight: bold; text-align: right;
        font-family: helvetica, arial, sans-serif;
        background-color: transparent; }
    td.rfcbug { background-color: #000000 ; width: 30px ; height: 30px ;
        text-align: justify; vertical-align: middle ; padding-top: 2px ; }
    td.rfcbug span.RFC { color: #666666; font-weight: bold; text-decoration: none;
        background-color: #000000 ;
        font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
        font-size: x-small ; }
    td.rfcbug span.hotText { color: #ffffff; font-weight: normal; text-decoration: none;
        text-align: center ;
        font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
        font-size: x-small ; background-color: #000000; }
    /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
    div#counter{margin-top: 100px}

    a.info{
        position:relative; /*this is the key*/
        z-index:24;
        text-decoration:none}

    a.info:hover{z-index:25; background-color:#990000 ; color: #ffffff ;}

    a.info span{display: none}

    a.info:hover span.info{ /*the span will display just on :hover state*/
        display:block;
        position:absolute;
        font-size: smaller ;
        top:2em; left:2em; width:15em;
        padding: 2px ;
        border:1px solid #333333;
        background-color:#eeeeee; color:#990000;
        text-align: left ;}

     A { font-weight: bold; }
     A:link { color: #990000; background-color: transparent ; }
     A:visited { color: #333333; background-color: transparent ; }
     A:active { color: #333333; background-color: transparent ; }

    p { margin-left: 2em; margin-right: 2em; }
    p.copyright { font-size: x-small ; }
    p.toc { font-size: small ; font-weight: bold ; margin-left: 3em ;}
    table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }
    td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }

    span.emph { font-style: italic; }
    span.strong { font-weight: bold; }
    span.verb, span.vbare { font-family: "Courier New", Courier, monospace ; }

    span.vemph { font-style: italic; font-family: "Courier New", Courier, monospace ; }
    span.vstrong { font-weight: bold; font-family: "Courier New", Courier, monospace ; }
    span.vdeluxe { font-weight: bold; font-style: italic; font-family: "Courier New", Courier, monospace ; }

    ol.text { margin-left: 2em; margin-right: 2em; }
    ul.text { margin-left: 2em; margin-right: 2em; }
    li { margin-left: 3em;  }

    pre { margin-left: 3em; color: #333333;  background-color: transparent;
        font-family: "Courier New", Courier, monospace ; font-size: small ;
        text-align: left;
        }

    h3 { color: #333333; font-size: medium ;
        font-family: helvetica, arial, sans-serif ;
        background-color: transparent; }
    h4 { font-size: small; font-family: helvetica, arial, sans-serif ; }

    table.bug { width: 30px ; height: 15px ; }
    td.bug { color: #ffffff ; background-color: #990000 ;
        text-align: center ; width: 30px ; height: 15px ;
         }
    td.bug A.link2 { color: #ffffff ; font-weight: bold;
        text-decoration: none;
        font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
        font-size: x-small ; background-color: transparent }

    td.header { color: #ffffff; font-size: x-small ;
        font-family: arial, helvetica, sans-serif; vertical-align: top;
        background-color: #666666 ; width: 33% ; }
    td.author { font-weight: bold; margin-left: 4em; font-size: x-small ; }
    td.author-text { font-size: x-small; }
    table.full { vertical-align: top ; border-collapse: collapse ;
        border-style: solid solid solid solid ;
        border-color: black black black black ;
        font-size: small ; text-align: center ; }
    table.headers, table.none { vertical-align: top ; border-collapse: collapse ;
        border-style: none;
        font-size: small ; text-align: center ; }
    table.full th { font-weight: bold ;
        border-style: solid ;
        border-color: black black black black ; }
    table.headers th { font-weight: bold ;
        border-style: none none solid none;
        border-color: black black black black ; }
    table.none th { font-weight: bold ;
        border-style: none; }
    table.full td {
        border-style: solid solid solid solid ;
        border-color: #333333 #333333 #333333 #333333 ; }
    table.headers td, table.none td { border-style: none; }

    hr { height: 1px }
-->
</style>
</head>
<body>
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table>
<table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">
<tr><td class="header">iptel</td><td class="header">B. Rosen</td></tr>
<tr><td class="header">Internet-Draft</td><td class="header">NeuStar</td></tr>
<tr><td class="header">Expires: December 27, 2006</td><td class="header">June 25, 2006</td></tr>
</table></td></tr></table>
<div align="right"><span class="title"><br />Dialstring parameter for the Session
    Initiation Protocol Uniform Resource Identifier</span></div>
<div align="right"><span class="title"><br />draft-rosen-iptel-dialstring-04.txt</span></div>

<h3>Status of this Memo</h3>
<p>
By submitting this Internet-Draft,
each author represents that any applicable patent or other IPR claims of which
he or she is aware have been or will be disclosed,
and any of which he or she becomes aware will be disclosed,
in accordance with Section 6 of BCP 79.</p>
<p>
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.</p>
<p>
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any time.
It is inappropriate to use Internet-Drafts as reference material or to cite
them other than as “work in progress.”</p>
<p>
The list of current Internet-Drafts can be accessed at
<a href='http://www.ietf.org/ietf/1id-abstracts.txt'>http://www.ietf.org/ietf/1id-abstracts.txt</a>.</p>
<p>
The list of Internet-Draft Shadow Directories can be accessed at
<a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>
<p>
This Internet-Draft will expire on December 27, 2006.</p>

<h3>Copyright Notice</h3>
<p>
Copyright © The Internet Society (2006).</p>

<h3>Abstract</h3>

<p>RFC3966 explicitly states that 'tel' URIs may not represent a dial
      string. That leaves no way specify a dial string in a standardized way.
      Great confusion exists with the SIP URI parameter "user=phone", and
      specifically, if it can represent a dial string. This memo creates a new
      value for the user parameter "dialstring", so that one may specify
      "user=dialstring" to encode a dial string as a 'sip:' or 'sips:' URI.
</p><a name="toc"></a><br /><hr />
<h3>Table of Contents</h3>
<p class="toc">
<a href="#anchor1">1.</a> 
Introduction<br />
<a href="#anchor2">2.</a> 
Terminology<br />
<a href="#anchor3">3.</a> 
Requirements<br />
<a href="#anchor4">4.</a> 
Solution<br />
<a href="#anchor5">5.</a> 
IANA Considerations<br />
<a href="#security">6.</a> 
Security Considerations<br />
<a href="#rfc.references1">7.</a> 
Normative References<br />
<a href="#rfc.authors">§</a> 
Author's Address<br />
<a href="#rfc.copyright">§</a> 
Intellectual Property and Copyright Statements<br />
</p>
<br clear="all" />

<a name="anchor1"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table>
<a name="rfc.section.1"></a><h3>1. Introduction</h3>

<p>A user at a phone often has a limited User Interface, and in some
      cases, is limited to a 10 key pad (and sometimes a "flash" function with
      the switchhook). The user enters a series of digits that invoke some kind of
      function. The entered sequence, called a "dial string", may be
      translated to a telephone number, or it may invoke a special service. In
      many newer designs, the mapping between a dial string and a phone number
      or service URI is contained within the phone (digitmap). However, there
      are many phones and terminal adapters that do not have internal
      translation mechanisms. Without a translation mechanism in the phone,
      the phone must send the dial string in a 'sip:' or 'sips:' URI <a class="info" href="#RFC3261">[RFC3261]<span> (</span><span class="info">Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, “SIP: Session Initiation Protocol,” June 2002.</span><span>)</span></a> to an intermediary that can transform the
      dial string to a phone number or a service invocation.  The intermediary 
      is able to perform this transform provided that it knows the context 
      (i.e., dialing plan) within which the number was dialed.
</p>
<p>There is a problem here. The intermediary can apply its transformation 
      only if it recognizes that the user part of the SIP URI is a dial string. 
      However, there is currently no way to distinguish an user part consisting 
      of a dial string from an user part that happens to be composed of characters 
      that would appear in a dial string.
</p>
<p>Use of DTMF detectors after the initial number has been dialed is not uncommon. A common function
      some systems have is to express a string that incorporates fixed time
      delays, or in some cases, actual "wait for call completion" after which
      additional DTMF signals are emitted. For example, many voicemail systems
      use a common phone number, after which the system expects the desired
      mailbox number as a series of DTMF digits to deposit a message for. Many gateways have the
      ability to interpret such strings, but there is no standardized way to
      express them, leading to interoperability problems between
      endpoints.  This is another case where the ability to indicate that a dialstring is 
      being presented would be useful.
</p>
<a name="anchor2"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table>
<a name="rfc.section.2"></a><h3>2. Terminology</h3>

<p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <a class="info" href="#RFC2119">[RFC2119]<span> (</span><span class="info">Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.</span><span>)</span></a>.
</p>
<p>It is assumed that the reader is familiar with the terminology and acronyms defined in <a class="info" href="#RFC3261">[RFC3261]<span> (</span><span class="info">Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, “SIP: Session Initiation Protocol,” June 2002.</span><span>)</span></a>
</p>
<a name="anchor3"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table>
<a name="rfc.section.3"></a><h3>3. Requirements</h3>

<p>A mechanism to express a dial string in a 'sip:' or 'sips:' URI is required.
      A dial string consists of a sequence of </p>
<blockquote class="text"><dl>
<dt></dt>
<dd>* The digits 0-9
</dd>
<dt></dt>
<dd>* The special characters # and *
</dd>
<dt></dt>
<dd>* The DTMF digits A-D
</dd>
<dt></dt>
<dd>* characters representing a short Pause, and a "Wait for call
             completion" in a dial string
</dd>
<dt></dt>
<dd>  Note: DTMF = Dual Tone MultiFrequency. Each "tone:" is actually two
      frequencies superimposed. DTMF is a 4 x 4 matrix with four row
      frequencies (697, 770, 852, 941 Hz) and four column frequencies (1209,
      1336, 1477, 1633). Most telephones only implement 3 of the 4 columns,
      which are used just like the telephone dial pad implies they are. Thus,
      the digit 2 is the first row, second column, and consists of 770Hz and
      1209Hz frequencies mixed together. The fourth column is not used in the
      PSTN. The "digits" for the fourth column are usually expressed using the
      letters A through D. Thus, "C" is 852/1633Hz. Some equipment does use
      these digits, so we include them in the definition of the
      dial string.
</dd>
</dl></blockquote>

<p>A dial string always exists within a context. The context MUST be
      specified when expressing a dial string.
</p>
<p>It MUST be possible to distinguish between a dial string and an user 
      part that happens to consist of the same characters.
</p>
<a name="anchor4"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table>
<a name="rfc.section.4"></a><h3>4. Solution</h3>

<p>A new value for the "user" parameter of the 'sip:' or 'sips:' URI schemes is
      defined, "dialstring". This value may be used in a 'sip:' or 'sips:' URI when
      the user part is a dial string. The user part is a sequence of the
      characters 0-9, A-F, P and X. E represents *, F represents #, P is a
      pause (short wait, like a comma in a modem string) and X represents "wait for call completion".
</p>
<p>When the "user=dialstring" is used, a context parameter as defined in
      <a class="info" href="#RFC3966">[RFC3966]<span> (</span><span class="info">Schulzrinne, H., “The tel URI for Telephone Numbers,” December 2004.</span><span>)</span></a> MUST be specified.  The context parameter would normally be a domain name.
      The domain name does not have to resolve to any actual host but MUST
      be under the administrative control of the entity managing the local
      phone context.  The context parameter value is normally configured in the user agent.
</p>
<p>A proxy server or Back to Back User Agent (B2BUA) <a class="info" href="#RFC3261">[RFC3261]<span> (</span><span class="info">Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, “SIP: Session Initiation Protocol,” June 2002.</span><span>)</span></a> which is authoritative for the context may
      translate the dial string to a telephone number or service invocation
      URI. If such a translation is performed, the proxy server MUST change
      the URI parameter value from "user=dialstring" to "user=phone". This translation MUST occur 
      prior to the call leaving the domain of the context.
</p>
<p>Examples of dial string use include:
</p><pre>; what a SIP Phone might emit when a user dials extension 123
sip:123@sippbx.example.com;user=dialstring;
   phone-context=atlanta.example.com

;existing voicemail systems have a local access extension,
;then expect to see the extension number as DTMF for the mailbox
sips:4500X4123@sip.example.com;user=dialstring;
   phone-context='biloxi.example.com'</pre>
<p>
</p>
<a name="anchor5"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table>
<a name="rfc.section.5"></a><h3>5. IANA Considerations</h3>

<p><a class="info" href="#RFC3969">[RFC3969]<span> (</span><span class="info">Camarillo, G., “The Internet Assigned Number Authority (IANA) Uniform Resource Identifier (URI) Parameter Registry for the Session Initiation Protocol (SIP),” December 2004.</span><span>)</span></a> defines a 'sip:' or 'sips:' URI Parameter sub
      registry. The "user" parameter is specified as having predefined
      values.
</p>
<p>This RFC defines a new value for the "user" parameter, "dialstring".
      This RFC must be added to the references listed for the "user"
      parameter.
</p>
<p>This RFC defines a new parameter in the sub-registry,
      "phone-context", whose meaning and syntax are derived from the same
      parameter in <a class="info" href="#RFC3966">[RFC3966]<span> (</span><span class="info">Schulzrinne, H., “The tel URI for Telephone Numbers,” December 2004.</span><span>)</span></a>.  This parameter does not have
	a set of predefined values.
</p>
<a name="security"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table>
<a name="rfc.section.6"></a><h3>6. Security Considerations</h3>

<p>dial strings exposed to the Internet may reveal information about
      internal network details or service invocations that could allow
      attackers to use the PSTN or the Internet to attack such internal
      systems. Dialstrings normally SHOULD NOT be sent beyond the domain of the UAC.  
      If they are sent across the Internet, they SHOULD be protected against eavesdropping 
      with TLS per the procedures in <a class="info" href="#RFC3261">[RFC3261]<span> (</span><span class="info">Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, “SIP: Session Initiation Protocol,” June 2002.</span><span>)</span></a>.
</p>
<a name="rfc.references1"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table>
<h3>7. Normative References</h3>
<table width="99%" border="0">
<tr><td class="author-text" valign="top"><a name="RFC2119">[RFC2119]</a></td>
<td class="author-text"><a href="mailto:sob@harvard.edu">Bradner, S.</a>, “<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>,” BCP 14, RFC 2119, March 1997 (<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">TXT</a>, <a href="http://xml.resource.org/public/rfc/html/rfc2119.html">HTML</a>, <a href="http://xml.resource.org/public/rfc/xml/rfc2119.xml">XML</a>).</td></tr>
<tr><td class="author-text" valign="top"><a name="RFC3261">[RFC3261]</a></td>
<td class="author-text">Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, “<a href="ftp://ftp.isi.edu/in-notes/rfc3261.txt">SIP: Session Initiation Protocol</a>,” RFC 3261, June 2002.</td></tr>
<tr><td class="author-text" valign="top"><a name="RFC3966">[RFC3966]</a></td>
<td class="author-text">Schulzrinne, H., “<a href="ftp://ftp.isi.edu/in-notes/rfc3966.txt">The tel URI for Telephone Numbers</a>,” RFC 3966, December 2004.</td></tr>
<tr><td class="author-text" valign="top"><a name="RFC3969">[RFC3969]</a></td>
<td class="author-text">Camarillo, G., “<a href="ftp://ftp.isi.edu/in-notes/rfc3969.txt">The Internet Assigned Number Authority (IANA) Uniform Resource Identifier (URI) Parameter Registry for the Session Initiation Protocol (SIP)</a>,” BCP 99, RFC 3969, December 2004.</td></tr>
</table>

<a name="rfc.authors"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table>
<h3>Author's Address</h3>
<table width="99%" border="0" cellpadding="0" cellspacing="0">
<tr><td class="author-text"> </td>
<td class="author-text">Brian Rosen</td></tr>
<tr><td class="author-text"> </td>
<td class="author-text">NeuStar</td></tr>
<tr><td class="author-text"> </td>
<td class="author-text">470 Conrad Dr</td></tr>
<tr><td class="author-text"> </td>
<td class="author-text">Mars, PA  16046</td></tr>
<tr><td class="author-text"> </td>
<td class="author-text">US</td></tr>
<tr><td class="author" align="right">Phone: </td>
<td class="author-text">+1 724 382 1051</td></tr>
<tr><td class="author" align="right">Email: </td>
<td class="author-text"><a href="mailto:br@brianrosen.net">br@brianrosen.net</a></td></tr>
</table>
<a name="rfc.copyright"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table>
<h3>Intellectual Property Statement</h3>
<p class='copyright'>
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.</p>
<p class='copyright'>
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 <a href='http://www.ietf.org/ipr'>http://www.ietf.org/ipr</a>.</p>
<p class='copyright'>
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 <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
<h3>Disclaimer of Validity</h3>
<p class='copyright'>
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.</p>
<h3>Copyright Statement</h3>
<p class='copyright'>
Copyright © 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.</p>
<h3>Acknowledgment</h3>
<p class='copyright'>
Funding for the RFC Editor function is currently provided by the
Internet Society.</p>
</body></html>


PAFTECH AB 2003-20262026-04-20 23:59:53