Network Working Group                                         H. Kaplan
Internet Draft                                              Acme Packet
Intended status: Informational                                  C. Pons
Expires: April 24, 2012                                             KPN
                                                              P. Gorman
                                                          Sprint Nextel
                                                       October 24, 2011


                      Routing SIP Requests with ENUM
                     draft-kaplan-enum-sip-routing-04


Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with
   the provisions of BCP 78 and BCP 79.

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

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time.  It is inappropriate to use Internet-Drafts as
   reference material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on April 24, 2012.

Copyright and License Notice

   Copyright (c) 2010 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with
   respect to this document.  Code Components extracted from this
   document must include Simplified BSD License text as described in




Kaplan, et al           Expires April 24, 2011                [Page 1]


Internet-Draft           ENUM for SIP Routing             October 2011


   Section 4.e of the Trust Legal Provisions and are provided without
   warranty as described in the BSD License.

Abstract

   A common ENUM use-case is for hop-by-hop or domain-by-domain
   "routing" of SIP requests, using private DNS trees and servers.
   This document describes this use-case, and a mechanism for a source-
   based query/answer mechanism for such.


Table of Contents

   1.    Terminology.................................................2
   2.    Introduction................................................3
      2.1.   Background.............................................3
   3.    The Problem.................................................5
   4.    The Proposed Solution.......................................6
      4.1.   Generating the ENUM-based DNS Query with Source URI....6
   5.    Source URI Details..........................................6
      5.1.   Providing Trunk Group Information in Source URI........7
   6.    Examples....................................................8
      6.1.   Basic SIP Scenario.....................................8
      6.2.   Peering SIP Scenario...................................9
      6.3.   Transit SIP Scenario..................................10
      6.4.   Basic PSTN Scenario...................................11
   7.    Security Considerations....................................11
   8.    IANA Considerations........................................12
   9.    Acknowledgments............................................12
   10.   References.................................................12
      10.1.  Normative References..................................12
      10.2.  Informative References................................12
   Authors' Addresses...............................................13
   Appendix A. Why ENUM-DNS vs. Other Protocols....................13
   Appendix B. Alternative Solutions...............................13


1. Terminology

   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 RFC 2119.  The
   terminology in this document conforms to RFC 2828, "Internet
   Security Glossary".

   For the purposes of this document and sake of simplicity, only the
   ENUM/DNS NAPTR URI result for a SIP URI is discussed, but it applies
   to Tel-URI, and potentially other URIs as well.



Kaplan, et al            Expires - April 2011                 [Page 2]


Internet-Draft           ENUM for SIP Routing             October 2011


   Source URI: the URI encoded in the EDNS0 Option data field, as
   described in [draft-edns0-source-info].

   ENUM Client: a SIP device or PSTN Gateway which generates a DNS
   query for E.164 number resolution, per [RFC3761]

   ENUM Server: a DNS server which processes DNS queries for E.164
   number resolution, per [RFC3761], and is deployed specifically for
   that purpose

   Prefix: in this document, the term "prefix" is just some arbitrary
   number of the leading digits of an E.164 number, such as the country
   code, or country plus region, or even including the local exchange
   portion.  It does not mean additional pre-pended digits used only
   for internal routing but which are not part of the called/calling
   number, for which the term "prefix" is also commonly used.

   SSP: SIP Service Provider, as per [RFC5486].

2. Introduction

   The E.164 number to URI DDDS (ENUM) application provides a mapping
   from E.164-based "names" to various URIs, including SIP, H.323, and
   others, as defined in [RFC3761].  The reader is assumed to be
   familiar with ENUM and its normative documents.

   The goal of this document is to describe one of the common uses of
   ENUM today: SIP Request Routing.  SIP Routing using ENUM generally
   works very well, but it is still missing one important capability:
   source-based queries and results, whereby the resultant routes are
   based on the source of the SIP requests or PSTN calls.  This source-
   based routing problem is described in this document, as well as the
   solution, which has been implemented by multiple vendors and is in
   use.

2.1. Background

   When it was originally created, ENUM DNS entries were intended to be
   under the authority of the entity or person identified by the E.164
   number, and be something the end user could populate.  For example,
   for SIP the resultant URI would be the user's global SIP Address-of-
   Record URI, or even a specific SIP Contact URI of the user's SIP
   User-Agent host.  This model is sometimes called "End User ENUM" or
   "Public ENUM".  In practice, this model has seen fairly limited
   deployment or use, for numerous reasons which will not be enumerated
   in this document.

   Another model called "Infrastructure ENUM" or "Carrier ENUM",
   described in [RFC5526], changes the authority model of the ENUM DNS


Kaplan, et al            Expires - April 2011                 [Page 3]


Internet-Draft           ENUM for SIP Routing             October 2011


   entries to make the registrant be the carrier-of-record, as opposed
   to the end user.  In the Infrastructure ENUM model, the returned URI
   was intended to represent a "point of interconnection" into the
   carrier-of-record's SIP domain, such as an SBE.

   While there are deployments of Infrastructure ENUM, in practice it
   is not often deployed as originally defined.  The public DNS
   database cannot reasonably be usable for URIs which represent
   specific points of interconnection or ingress, because such URIs are
   rarely usable in a global context; only carriers with direct access
   to the interconnection points can use such URIs to reach the
   carrier-of-record, and even then the interconnection points would be
   different per originating carrier.

   One could use specific DNS "views" for Infrastructure ENUM, to
   return different answers per querying carrier IP Address range, but
   that is difficult to accomplish in the public DNS, in a manageable,
   scalable manner.  A more reasonable URI to return from the public
   DNS database would be a globally reachable SIP Address-of-Record,
   but one for which the carrier-of-record is the registrant.
   Unfortunately, even that type of URI is difficult to use; both
   because many carriers do not wish to publish such data in a public
   database, and because in practice few Address-of-Records are
   actually globally, directly, and publicly reachable over the
   Internet.

   An alternative model, often called "Private ENUM", is widely
   deployed.  Private ENUM uses the DNS Protocol, but not the public
   DNS Database.  Instead, the database either uses a private domain
   suffix/apex reserved for this purpose and known to all participants,
   or is provided by local DNS servers which do not tie into the public
   IANA-based tree, or more commonly both privacy tactics are used.
   The Private ENUM DNS servers typically reside in a private or
   restricted IP network, and are only accessible to specific clients.
   Such Private ENUM clients are typically constrained to be ones owned
   and managed by the carrier, such as SIP Proxies, Application
   Servers, PSTN Gateways, Soft-switches, and Session Border
   Controllers.

   Unlike Infrastructure ENUM, Private ENUM DNS database entries are
   not registered and populated by the carrier-of-record for a given
   E.164 number.  Instead, the private database's administrator (the
   local carrier) directly provisions the entries for all E.164 numbers
   it cares about, based on various indirect information data sources,
   and sets the entry URI values relative to their specific "view".

   In some cases the resolved URI still does not represent a point of
   interconnection, such as when it is just used for Number Portability
   or Calling Name resolution; in other cases it represents a specific


Kaplan, et al            Expires - April 2011                 [Page 4]


Internet-Draft           ENUM for SIP Routing             October 2011


   interconnection point: either for the peering SBE(s) or tandem PSTN
   Gateway(s).  The interconnection URI identifies either a host, or
   possibly also a Trunk Group.  When Private ENUM is used for local
   interconnection point resolution for SIP requests, it is typically
   described as providing an "ENUM Routing" service, or as "SIP Routing
   using ENUM", because the private DNS database represents a call
   routing database.

3. The Problem

   SIP routing based on private-ENUM resolution has been gaining ground
   in some large SIP operator networks.  However, a need has arisen to
   respond with different ENUM responses based on the source
   originating number or domain of the SIP request.  There are various
   reasons for this need, a non-exhaustive list of which are itemized
   as follows:

     . It is often cheaper to route calls from local source prefix
        numbers to other local prefixes numbers in a given region
        directly, whereas out-of-region sources going to the same
        destination numbers of the same carrier may be cheaper or even
        legally required to be sent through an interexchange or transit
        provider, or even the PSTN.

     . For interconnection traffic between carriers, where calls
        coming from a specific region or originating peer need to be
        routed through specific routes or border elements to the
        terminating or next-peer, usually due to billing and
        commercially-related reasons.

     . For specific destination numbers, such as premium rate numbers,
        where calls towards these specific destination numbers need to
        be routed based on the originating region or ingress border
        element, to a specific destination node or a specific border
        element towards a next-peer, usually due to operational and
        capacity management issues.

     . For Emergency Services destination numbers, where the
        originating information may affect the chosen emergency center
        for a call.

     . To provide "near-end" or "hot-potato" routing, whereby the
        nearest transit inter-exchange point is selected, instead of
        the farthest point (which is "far-end" or "cold-potato"
        routing).






Kaplan, et al            Expires - April 2011                 [Page 5]


Internet-Draft           ENUM for SIP Routing             October 2011


4. The Proposed Solution

   The proposed solution uses a new EDNS0 Option code, defined in
   [draft-edns0-source-info], to add the source SIP/PSTN URI
   information into the ENUM DNS query.  For example, the Source URI
   could be based on the P-Asserted-Identity URI of the SIP request to
   be routed, possibly including [RFC4904] Trunk-group parameters from
   the received trunk group, if applicable.  This Source URI info would
   be used by the responding DNS server to "filter" its response based
   on the source information as appropriate.

4.1. Generating the ENUM-based DNS Query with Source URI

   When an ENUM client such as a SIP Proxy or PSTN Gateway generates an
   ENUM-based DNS query following this document's mechanism, it follows
   [RFC3761] and transforms the target E.164 number into a reverse-
   number dotted-format domain name for the DNS query key.  The domain-
   name suffix is defined by local policy, but SHOULD NOT be
   "e164.arpa" because this mechanism is for purely private use.

   The ENUM client then appends an EDNS0 OPT pseudo-RR to the query,
   with the sender's maximum UDP length it can handle, as defined in
   [RFC2761], as well as the EDNS0 Option-Code reserved by [draft-
   ends0-source-info].  Within the Option-Data field it encodes a SIP
   or TEL URI, based on the source information of the received SIP
   request or PSTN call, as defined in the next section.

   If the ENUM client needs to recursively resolve the name, by issuing
   the DNS query multiple times to different servers, it MUST add the
   same Source URI to each repeated query.

5. Source URI Details

   In general, the Source URI can contain whatever the administrator
   wishes it to, since this mechanism is defined for private use only.
   However, to aid in multi-vendor interoperability, this section
   provides guidance for reasonable default behavior.  Local policy MAY
   override behavior defined in this section.

   The Source URI for the EDNS0 Option data field conveys source
   originator and transit information to the ENUM Server(s), and from a
   logical perspective the Source URI is a brand new URI constructed by
   the ENUM client.  In order to construct the Source URI, the client
   SHOULD use relevant information from the received SIP or PSTN
   message fields, as described next.

   If the ENUM client received a SIP request which triggered the ENUM
   query, and the SIP request contained a P-Asserted-Identity header
   value that it trusts to be accurate, the Source URI SHOULD be based


Kaplan, et al            Expires - April 2011                 [Page 6]


Internet-Draft           ENUM for SIP Routing             October 2011


   on the SIP or TEL URI information in the received P-Asserted-
   Identity header value.  If there was no P-Asserted-Identity header
   value in the request, or it does not trust the URI to be accurate,
   then the Source URI MAY be based on local policy; for example, it
   may be a statically defined or default URI representing the peer, or
   the policy may be to not use the Source URI mechanism in such a
   case.

   If the ENUM client received a PSTN message which triggered the ENUM
   query, such as an IAM, the Source URI SHOULD be a TEL URI of the
   calling party number.

   The Source URI MAY contain additional information providing routing
   number (RN) in an 'rn' parameter, and/or carrier identification code
   (CIC) in a 'cic' parameter, as defined in [RFC4694]. Note that for a
   SIP URI these would be user parameters, not URI parameters.  Such
   fields would be used to identify the porting information of the
   originating number, or the originating carrier.

   Although the most common case will be that the Source URI user name
   is a phone-number, it need not be the only case and ENUM servers
   supporting this mechanism MUST support non-phone-number cases as
   valid ENUM queries.  In other words, it is not a DNS protocol
   failure to receive such a query, even though the ENUM server may not
   have an appropriate answer for the query given such source
   information, and thus return a DNS Not Found response (as it could
   for phone number Source URI cases that it does not have any entries
   for).

   If the Source URI's SIP URI user name is a phone number, or it is a
   TEL URI, the ENUM client MUST NOT encode any visual-separators (the
   tokens named visual-separator in [RFC3966]) in it.  A Source URI as
   a SIP URI of a phone number SHOULD contain a 'user' URI parameter of
   the value 'phone' (i.e., a ";user=phone"); however an ENUM server
   MAY treat any Source URI user portion as a phone number if it
   follows the syntax of a TEL URI for such.

   ENUM servers supporting this mechanism MUST ignore unknown fields in
   the Source URI, such as unknown parameters or embedded headers.

5.1. Providing Trunk Group Information in Source URI

   The Source URI MAY contain trunk group and context information,
   encoded as the "tgrp" and "trunk-context" parameters within the URI
   per [RFC4904].  Note that for a SIP URI these would be URI user
   parameters, not URI parameters.

   By definition, trunk group names are scoped to their trunk-context,
   and are not global in nature.  In particular, a trunk group name


Kaplan, et al            Expires - April 2011                 [Page 7]


Internet-Draft           ENUM for SIP Routing             October 2011


   used by one SSP typically has no meaning to another SSP, and since
   it defines a specific trunk of the SSP it is not usable by another
   SSP.  In order for such information in a Source URI to be usable, it
   needs to be what the local SSP's ENUM server can understand and have
   policies for.  Therefore, the trunk group information SHOULD
   identify the PSTN trunk or direct SIP peer trunk from which the
   SIP/PSTN request was received, and not any trunk group information
   in the received SIP request.  In other words, the trunk group
   information conveys the local SSP's defined trunk, not what the
   previous carrier's trunk name was.

   Note that the previous carrier may be a transit carrier rather than
   the originating carrier, and thus the trunk group information
   conveys the transit provider not originating provider.

6. Examples

   The following examples are designed to show various Source URI usage
   possibilities.  These are not the only possibilities, however.

6.1. Basic SIP Scenario

   In the following example, a SIP UA in the local SSP generates an
   INVITE to Proxy-1, which performs a private ENUM query using this
   document's mechanism.

               Local
               Domain
          ssp.example.com
                        +--------+
                        |  ENUM  |
     +---+   +-------+ /| Server |
     |SIP|-->|  SIP  |/ +--------+
     |UA |   |Proxy-1|
     +---+   +-------+

   SIP Proxy-1 receives:
   INVITE sip:+17815551212@ssp.example.com SIP/2.0
   Via: SIP/2.0/UDP 192.0.10.10:5060;branch=z9hG4bK74b43
   Max-Forwards: 69
   To: <sip:+17815551212@ssp.example.com>
   From: Jenny <sip:7818675309@ssp.example.com>;tag=9fxced76sl
   Call-ID: 3848276298220188511
   CSeq: 1 INVITE
   Contact: <sip:jenny@192.0.1.1>
   Content-Type: application/sdp
   Content-Length: ... [SDP omitted from example]




Kaplan, et al            Expires - April 2011                 [Page 8]


Internet-Draft           ENUM for SIP Routing             October 2011


   Although no P-Asserted-Identity header is received in the request,
   Proxy-1 authenticates the UA to be authorized for the identity
   "sip:+17818675309@ssp.example.com", and thus generates a DNS query
   for the domain:
       2.1.2.1.5.5.5.1.8.7.1.priv-enum.ssp.example.com
   with an EDNS0 OPT RR with the appropriate Option-Code for Source
   URI, and the Option-Data Source URI of:
       sip:+17818675309@ssp.example.com;user=phone

   The ENUM server looks up the query key for the domain, filters the
   response based on the Source URI information, and returns the
   appropriate NAPTR entries.

6.2. Peering SIP Scenario

   In the following example, a SIP INVITE request originates in
   orig.example.com from a SIP UA for the destination phone number
   +17815551212, with a P-Asserted-Identity of
   "sip:+17818675309@orig.example.com", and reaches the local SSP's
   Proxy-2.  Proxy-2 receives the request over trunk group "tg1-orig-
   ssp" in context "ssp.example.com".

                        |
        Originating     |         Local
          Domain        |         Domain
     orig.example.com   |    ssp.example.com
                        |              +--------+
                        |              |  ENUM  |
     +---+  +-------+   |   +-------+ /| Server |
     |SIP|->|  SIP  +------>|  SIP  |/ +--------+
     |UA |  |Proxy-1|   |   |Proxy-2|
     +---+  +-------+   |   +-------+

   SIP Proxy-2 receives:
   INVITE sip:+17815551212@ssp.example.com SIP/2.0
   Via: SIP/2.0/UDP 192.0.10.10:5060;branch=z9hG4bK74b43
   Max-Forwards: 69
   To: <sip:+17815551213@ssp.example.com>
   From: Jenny <sip:7818675309@orig.example.com>;tag=9fxced76sl
   P-Asserted-Identity: "T. Tutone" <sip:+17818675309@orig.example.com>
   Call-ID: 3848276298220188511
   CSeq: 1 INVITE
   Contact: sip:jenny;tgrp=s1;trunk-context=orig.example.net@192.0.1.1
   Content-Type: application/sdp
   Content-Length: ... [SDP omitted from example]

   Proxy-2 generates a DNS query for the domain:
       2.1.2.1.5.5.5.1.8.7.1.priv-enum.ssp.example.com



Kaplan, et al            Expires - April 2011                 [Page 9]


Internet-Draft           ENUM for SIP Routing             October 2011


   with an EDNS0 OPT RR with the appropriate Option-Code for Source
   URI, and the Option-Data Source URI of:
       sip:+17818675309;tgrp=tg1-orig-ssp;
           trunk-context=ssp.example.com@orig.example.com;user=phone

   Note that although the received Contact URI contains trunk group
   information, this is not what Proxy-2 inserts in the Source URI,
   since it identifies Proxy-1's trunk info instead of Proxy-2's.

6.3. Transit SIP Scenario

   In the following example, a SIP INVITE request originates in
   orig.example.com from a SIP UA for the destination phone number
   +17815551212, with a P-Asserted-Identity of
   "sip:+17818675309@orig.example.com", goes through a transit carrier
   trans.example.net, and reaches the local SSP's Proxy-3.  Proxy-3
   receives the request over trunk "tg1-strans-ssp" in context
   "ssp.example"com".

                        |                 |
        Originating     |     Transit     |         Local
          Domain        |     Domain      |         Domain
     orig.example.com   |trans.example.net|    ssp.example.com
                        |                 |              +--------+
                        |                 |              |  ENUM  |
     +---+  +-------+   |    +-------+    |   +-------+ /| Server |
     |SIP|->|  SIP  +------->|  SIP  +------->|  SIP  |/ +--------+
     |UA |  |Proxy-1|   |    |Proxy-2|    |   |Proxy-3|
     +---+  +-------+   |    +-------+    |   +-------+

   SIP Proxy-3 receives:
   INVITE sip:+17815551212@ssp.example.com SIP/2.0
   Via: SIP/2.0/UDP 192.0.10.10:5060;branch=z9hG4bK74b43
   Max-Forwards: 69
   To: <sip:+17815551213@ssp.example.com>
   From: Jenny <sip:7818675309@orig.example.com>;tag=9fxced76sl
   P-Asserted-Identity: "T. Tutone" <sip:+17818675309@orig.example.com>
   Call-ID: 3848276298220188511
   CSeq: 1 INVITE
   Contact: sip:jenny;tgrp=s1;trunk-context=trans.example.net@192.0.1.1
   Content-Type: application/sdp
   Content-Length: ... [SDP omitted from example]

   Proxy-3 generates a DNS query for the domain:
       2.1.2.1.5.5.5.1.8.7.1.priv-enum.ssp.example.com
   with an EDNS0 OPT RR with the appropriate Option-Code for Source
   URI, and the Option-Data Source URI of:




Kaplan, et al            Expires - April 2011                [Page 10]


Internet-Draft           ENUM for SIP Routing             October 2011


       sip:+17818675309;tgrp=tg1-trans-ssp;
           trunk-context=ssp.example.com@orig.example.com;user=phone

   Note that although the received Contact URI contains trunk group
   information, this is not what Proxy-3 inserts in the Source URI,
   since it identifies Proxy-2's trunk info instead of Proxy-3's.

6.4. Basic PSTN Scenario

   In the following example, a PSTN Gateway in the local SSP receives
   an IAM message, and performs a private ENUM query using this
   document's mechanism.

            Local
            Domain
       ssp.example.com
                +--------+
                |  ENUM  |
     +-------+ /| Server |
     | PSTN  |/ +--------+
     |Gateway|
     +-------+

   PSTN Gateway receives an IAM with a Called Party Number parameter
   indicating the international number 17815551212, and a Calling Party
   Number parameter indicating the international number of 17818675309,
   over PSTN trunk "tg1-pri" in context "ssp.example.com".

   The Gateway generates a DNS query for the domain:
       2.1.2.1.5.5.5.1.8.7.1.priv-enum.ssp.example.com
   with an EDNS0 OPT RR with the appropriate Option-Code for Source
   URI, and the Option-Data Source URI of:
       tel:+17818675309;tgrp=tg1-pri;trunk-context=ssp.example.com

   The ENUM server looks up the query key for the domain, filters the
   response based on the Source URI information, and returns the
   appropriate NAPTR entries.

7. Security Considerations

   Conveying source information in DNS queries exposes the source
   information to eavesdropping and modification by intermediaries.
   Furthermore, DNS has no default authorization nor authentication
   mechanism for client queries, and thus any device can issue such
   queries, using any source information it wishes to generate.
   Therefore, the mechanism described in this document MUST only be
   used in controlled, restricted environments.  It is not appropriate
   for the general Internet, and will not function correctly with
   public Internet DNS servers.


Kaplan, et al            Expires - April 2011                [Page 11]


Internet-Draft           ENUM for SIP Routing             October 2011



8.   IANA Considerations

   This document makes no request of IANA.

9.   Acknowledgments

   Thanks to Tom Creighton (Comcast), James Yu (Neustar), Nick Russell
   (Vodafone), and Timothy Dwight (Verizon) for their feedback and
   support.  Funding for the RFC Editor function is provided by the
   IETF Administrative Support Activity (IASA).

10.  References

10.1.     Normative References

   [RFC2761]  Vixie, P., "Extension Mechanisms for DNS (EDNS0)", RFC
   2671, August 1999.

   [RFC3261]  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.

   [RFC3761]  Faltstrom, P., Mealling, M., "The E.164 to Uniform
   Resource Identifiers (URI) Dynamic Delegation Discovery System
   (DDDS) Application (ENUM)", RFC 3761, April 2004.

   [RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", RFC
   3966, December 2004.

10.2.     Informative References

   [RFC4904] Gurbani, V., Jennings, C., "Representing Trunk Groups in
   tel/sip Uniform Resource Identifiers (URIs)", RFC 4904, June 2007.

   [RFC4694] Yu, J., "Number Portability Parameters for the 'tel' URI",
   RFC 4694, October 2006.

   [RFC5486] Malas, D., Meyer, D., "Session Peering for Multimedia
   Interconnect (SPEERMINT) Terminology", RFC 5486, March 2009.

   [draft-edns0-source-info] Kaplan, H., Walter, R., Gorman, P.,
   Maharishi, M., "EDNS Option Code for SIP and PSTN Source Reference
   Info", draft-kaplan-dnsext-enum-sip-source-ref-opt-code-02, March
   2011.






Kaplan, et al            Expires - April 2011                [Page 12]


Internet-Draft           ENUM for SIP Routing             October 2011



Authors' Addresses

   Hadriel Kaplan
   Acme Packet
   Email: hkaplan@acmepacket.com

   Colin Pons
   KPN
   Email: colin.pons@kpn.com

   Pierce Gorman
   Sprint Nextel Corporation
   Email: sprint.gorman@sprint.com

Appendix A.    Why ENUM-DNS vs. Other Protocols

   A common question raised in the IETF regarding using DNS for SIP
   routing is why use DNS to begin with, instead of another database
   query protocol or even SIP itself (through SIP redirect servers).
   In the authors' opinions, the following are the major advantages of
   DNS which are driving the market for Private-ENUM:
     1. Performance - DNS queries and responses are single-transaction,
        compact size, efficiently parsed, and can be used over a
        connectionless transport (UDP).  Compared to SIP Redirect and
        other protocols, the performance gains can be drastic.
     2. Scalability - DNS has an underlying database scalability model
        built into the protocol itself, and taken advantage of by
        ENUM's naming scheme, which does not natively exist in other
        database protocols nor for SIP Redirect
     3. Resiliency - since DNS uses a single request-response
        transaction model and runs over UDP, it can be deployed using
        an anycast addressing model
     4. Interoperability - DNS is a simple, well-understood protocol
        with significant maturity and developer experience
     5. Time-to-market - most SIP devices and PSTN gateways already
        have DNS libraries, and can leverage them for ENUM use fairly
        quickly

Appendix B.    Alternative Solutions

   Today such source-based routing with ENUM is performed through
   various means, which are usually cumbersome and error-prone.  These
   mechanisms typically require the Private ENUM clients and servers to
   agree on a common scheme, and thus require every SIP Proxy to know
   and use the same proprietary scheme, which leads to interoperability
   problems when multiple vendors are used.




Kaplan, et al            Expires - April 2011                [Page 13]


Internet-Draft           ENUM for SIP Routing             October 2011


   A common example is where the SIP Proxies performing the lookup
   change the ENUM base domain name suffix based on the source E.164
   number leading digits, and thus the ENUM-DNS servers have a separate
   zone per source prefix.  Such a scheme needs to be fixed and common;
   for example that a 7-digit prefix length always be used for the name
   suffix, instead of for only specific source or destination numbers;
   the relevant source prefix cannot be a different length for
   different numbers, prefixes, or call flows.

   Another example is where the ENUM server returns all possible NAPTR
   entries in the DNS response, with proprietary indicators in the
   NAPTR URIs for the client SIP Proxy to choose from, using the SIP
   source information it has.  The problem with this approach is that
   the same selection algorithm needs to be supported by all clients,
   and the DNS response size can grow very, very large.  For example,
   some routing tables in North America need to have entries for
   hundreds of source North American Numbering Plan (NANP) area codes
   and local-exchange prefixes, for the same destination number.

































Kaplan, et al            Expires - April 2011                [Page 14]