Network Working Group J. Lim
Request for Comments: 5346 W. Kim
Category: Informational C. Park
NIDA
L. Conroy
RMRL
October 2008
Operational Requirements for ENUM-Based Softswitch Use
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.
Abstract
This document describes experiences of operational requirements and
several considerations for ENUM-based softswitches concerning call
routing between two Korean Voice over IP (VoIP) carriers, gained
during the ENUM pre-commercial trial hosted by the National Internet
Development Agency of Korea (NIDA) in 2006.
These experiences show that an interim solution can maintain the
stability of ongoing commercial softswitch system operations during
the initial stage of ENUM service, where the DNS does not have
sufficient data for the majority of calls.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Call Routing on Softswitch . . . . . . . . . . . . . . . . . . 2
3. Infrastructure ENUM Trial in Korea . . . . . . . . . . . . . . 3
4. Operational Requirements for ENUM-Based Softswitches . . . . . 4
4.1. Call Routing Cases for DNS Response Codes . . . . . . . . 4
4.1.1. Trial Policies . . . . . . . . . . . . . . . . . . . . 4
4.1.2. Trial ENUM Lookup Rules . . . . . . . . . . . . . . . 6
4.2. Call Routing Cases for Domainparts . . . . . . . . . . . . 7
5. Trial Results . . . . . . . . . . . . . . . . . . . . . . . . 9
6. 'e164.arpa' Considerations . . . . . . . . . . . . . . . . . . 9
7. Security Considerations . . . . . . . . . . . . . . . . . . . 10
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
9.1. Normative References . . . . . . . . . . . . . . . . . . . 11
9.2. Informative References . . . . . . . . . . . . . . . . . . 11
Lim, et al. Informational [Page 1]
RFC 5346 Enum-Based Softswitch Use October 2008
1. Introduction
ENUM [RFC3761] is a mapping system based on DNS [RFC1034] [RFC1035]
that converts from an E.164 [E164] number to a domain name using the
Naming Authority Pointer (NAPTR) [RFC3403] resource record type.
ENUM is able to store different service types (such as fax, email,
homepage, SIP, H.323 and so on) for every E.164 number. It
originally focused on how end-users could gain access to other end-
users' communication contact information through the Internet.
Recently, discussion on the need to update RFC 3761 has begun to
ensure that the standard also works in the "Infrastructure ENUM"
scenario, where ENUM provides routing information between carriers.
This resulted in two documents, the updated ENUM specification
[RFC3761bis] and an Enumservice guide [ENUMSERVICE-GUIDE].
When providing VoIP service, a VoIP carrier that wants to integrate
various protocols typically uses a softswitch. However, such a
system is still inefficient for interconnection, number portability,
and sharing protocol support information among carriers, because each
softswitch does not have complete end-to-end routing information for
all carriers. This information can be stored in DNS, using ENUM.
Therefore, carriers can expect to gain many advantages if they use
ENUM within the call routing functions of their softswitches.
To confirm these benefits and to verify the performance of ENUM-
enabled softswitches, NIDA cooperated with two Korean VoIP service
providers for an Infrastructure ENUM trial in 2006. NIDA is a non-
profit organization with a mandate to manage 2.8.e164.arpa.
(representing the +82 country code of Korea). NIDA promotes and
facilitates technical cooperation on a national scale between
partners, and this includes ENUM. During the trial, NIDA provided a
centralized ENUM DNS to each VoIP service provider for call routing.
The data used in this Infrastructure trial was also accessible to the
public (i.e., it was an Internet-based system, rather than a closed
scheme).
2. Call Routing on Softswitch
In the PSTN (Public Switched Telephone Network), hardware-based
switches predominate. A softswitch provides similar functionality,
but is implemented on a computer system by software. It typically
has to support various signalling protocols (such as SIP [RFC3261],
H.323 [H323], Media Gateway Control Protocol (MGCP) [RFC3435], and
others) to make call connections for VoIP service, often on the
boundary point between the circuit and packet network.
Lim, et al. Informational [Page 2]
RFC 5346 Enum-Based Softswitch Use October 2008
To make a call, first of all a softswitch must discover routing
information. It has to process the E.164 number that comes from a
caller through its own routing table. The goal is to determine how
the call can be routed towards the callee, so that either the call
can be processed through the softswitch or the caller can connect to
the callee directly.
Today, call routing is often based on a prefix of the dialled number.
This is used very widely not only for legacy PSTN switches, but also
for softswitches. So, if a softswitch exclusively uses ENUM DNS for
call routing, then, in the beginning most of the calls queried to
ENUM DNS would fail if there are only a small group of carriers
provisioning data into ENUM. However, a softswitch will have a
higher success rate with ENUM DNS as the number of carriers grows,
and so the overall percentage of numbers provisioned in ENUM
increases. In short, ENUM as a long-term solution has obvious
benefits, but the problem lies in migrating from today's prefix-based
routing towards that long-term ENUM-based solution.
3. Infrastructure ENUM Trial in Korea
As described in Section 1, NIDA and two VoIP service providers built
ENUM-processing modules into their softswitches, interconnected these
via the IP network, and provisioned their trial users' numbers into a
centralized ENUM DNS system operated by NIDA. The carriers
provisioned their E.164 numbers using Extensible Provisioning
Protocol (EPP) [RFC4114] to a centralized Registration Server (also
operated by NIDA). Changes to the ENUM data were implemented and
updated to the ENUM DNS instantly, using DNS Dynamic Update
[RFC2136].
In the trial, the EPP-based provisioning sub-system was developed and
operated separately from the carriers' main customer provisioning
systems and protocols. It was not integrated, as the carriers
already operated their own customer provisioning systems that were
totally different from the EPP-based model, and (as mission-critical
components) those were not open to modification.
Lim, et al. Informational [Page 3]
RFC 5346 Enum-Based Softswitch Use October 2008
Call routing
+---------------------------------------------+
| |
| |
+-----+------+ +-----------------+ +------+-----+
|Softswitch A|------| ENUM DNS(+82) |------|Softswitch B|
+-----+------+ | (Tier1,2) | +------+-----+
| +--------+--------+ |
+-----+------+ | +------+-----+
| IP Phone A | |Dynamic Update | IP Phone B |
+------------+ |(RFC 2136) +------------+
|
+------------+ +--------+--------+ +------------+
| EPP Client | | Registration | | EPP Client |
| |------| Server |------| |
+------------+ +-----------------+ +------------+
Provisioning E.164 Numbers(RFC 4114)
Carrier A NIDA Carrier B
Figure 1: Infrastructure ENUM Trial System Topology
4. Operational Requirements for ENUM-Based Softswitches
4.1. Call Routing Cases for DNS Response Codes
To use ENUM DNS, each softswitch needs to have an ENUM module that
converts from an E.164 number to the ENUM domain name (as defined in
RFC 3761) and processes a query to ENUM DNS. This ENUM module uses
the algorithm specified in RFC 3761.
However, in the initial stage of ENUM DNS roll-out, ENUM shares call
routing information from a limited number of carriers. There is the
problem that a softswitch can't find all of the call routing
information it needs just using ENUM. To solve this problem, ENUM-
based softswitches have to follow a consistent set of rules.
4.1.1. Trial Policies
As a matter of policy in this trial, all telephone numbers in use
within an "ENUM only" number range (i.e., ones in which an endpoint
could only be reached via a URI found during an ENUM lookup of a
telephone number in this range, and for which there was no PSTN Point
of Interconnect) were arranged to return a NAPTR response. For
ranges in which there was a PSTN Point of Interconnect, this was not
required.
Lim, et al. Informational [Page 4]
RFC 5346 Enum-Based Softswitch Use October 2008
Thus, no data (at all) needed to be provisioned into an associated
ENUM domain for such a number if it were possible to "reach" that
number via the PSTN, unless there were also an IP-based Point of
Interconnect serving that number and the serving carrier chose to
make this option available.
In those domains in which NAPTRs for ENUM processing were
provisioned, these NAPTRs were always 'terminal' rules -- non-
terminal NAPTRs were not used. If non-terminal NAPTRs were to be
provisioned, then the standard operation of ENUM processing might
have required extra DNS lookups before the set of NAPTRs for a
telephone number could be evaluated. The delay and indeterminacy
this would introduce was not considered acceptable.
The case where a valid URI was present is covered in Section 4.1.2
(rule 2 A, second point). The case where an ENUM entry was not
provisioned for a number that had an active PSTN Point of
Interconnect is covered in Section 4.1.2 (rule 2 B).
For "ENUM only" ranges, where a given number in that range was in
service (i.e., there was an IP-based Point of Interconnect to a
carrier), a valid SIP or H.323 URI was always provisioned into the
associated ENUM domain. This is covered in Section 4.1.2 (rule 2 A,
second point).
In such an "ENUM only" range, if the number was not in service, a TXT
record was provisioned but no valid NAPTRs would be present. This
ensured that a query for NAPTRs in a given (out of service, "ENUM
only" range) domain would succeed (i.e., return a RCODE of 0), but
that the number of answers would also be zero. This is covered in
Section 4.1.2 (rule 2 A, first point). Note that this point also
covers the case where only NAPTRs that cannot be used to initiate a
call exist in such a zone.
Where a valid URI was provisioned, the ENUM lookup would complete by
returning that value for further processing. This further processing
is covered in Section 4.2.
For "ENUM only" ranges, there was a further policy requirement that
an IP-based Point of Interconnect specified inside a NAPTR (as the
domainpart of a valid URI) must be accessible for all potential
carriers. The server could reject a subsequent SIP Invitation, but
its machine address had to resolve. This was intended to avoid the
condition where the domain name did not resolve, the softswitch logic
would attempt to place the call via the PSTN, and this would fail
and/or loop.
Lim, et al. Informational [Page 5]
RFC 5346 Enum-Based Softswitch Use October 2008
This "must resolve" requirement was not needed for numbers that had
an active PSTN Point of Interconnect (i.e., the vast majority of
assigned numbers). If the domain name did not resolve, the call
would "drop back" to PSTN processing.
4.1.2. Trial ENUM Lookup Rules
In the Korean trial, the rules were:
1. The ENUM module of the softswitch converts an E.164 number coming
from the VoIP subscriber to an ENUM domain name (as defined in
RFC 3761).
2. The ENUM module, acting as a DNS stub resolver, sends a query to
a recursive name server.
3. If the ENUM module receives a DNS answer, the call routing
process may branch off in several ways, depending on the Rcode
value in the DNS response message, as shown below.
A. Rcode=0 (No error condition)
There is, potentially, an answer to the corresponding query.
The normal call routing process needs to differentiate
between the following conditions:
+ The response includes no URI (such as SIP or H.323) that
can be used to initiate a call --
The call fails immediately.
Note: In the trial, the condition in which a telephone
number:
- is valid,
- can only be reached via the Internet, but
- is not currently in service
is indicated by an ENUM domain that DOES exist but DOES
NOT include any supported (routable) NAPTRs. A softswitch
receiving this response interprets it as indicating that
the call can be dropped immediately -- it would fail if
passed to the PSTN.
+ There is at least one usable URI (such as SIP and/or H.323
URIs) --
The softswitch picks one based on the preference and order
field values in the NAPTR Resource Record Set, and routes
the call using the method described in Section 4.2.
Lim, et al. Informational [Page 6]
RFC 5346 Enum-Based Softswitch Use October 2008
B. Rcode=3 (Name error), 1 (Format Error), 2 (Server Failure), 4
(Not Implemented), or 5 (Refused)
There is no valid answer for the query.
The softswitch has no choice but to route the call using the
E.164 number with its vendor-specific method (such as a
prefix-based method). In this case, it means that the call
has to be delivered through the PSTN for onward call routing.
It is also important to stress that the ENUM DNS servers must
respond to all queries they receive from the softswitches.
If the ENUM module in a softswitch does not receive a
response, it will eventually time out, and the ENUM module
will treat this as a DNS error. However, the delay involved
is long in terms of the normal call setup time, and should be
avoided.
It would have been possible to modify the DNS code in each
softswitch to have shorter time-outs than normal to cover
misconfiguration of a DNS server, but this choice was not
considered in the trial. The softswitch DNS stack was used
for several purposes other than "pure" ENUM lookups.
Configuring it in a non-complaint manner was considered
unacceptable, due to the need to analyze the impact of that
choice on other DNS operations thoroughly before it could be
implemented safely.
4.2. Call Routing Cases for Domainparts
If the DNS response has a valid URI, such as SIP or H.323, the
softswitch can resolve the domain name part of that URI to route a
call by searching two different sources. One is a recursive
nameserver, and the other is a fixed routing table held in the
softswitch, mapping from the domain name to the corresponding
gateway's host name and IP address.
If there are many points of interconnection, using a recursive
nameserver is useful for resolving a domain name, but if there are
just a few known carriers and they do not change this interconnection
information frequently, a fixed (internal) routing table mapping from
domain name to the corresponding gateway hostname and IP address is
more efficient (rather than querying the recursive nameserver every
time). In addition, carriers would like to charge an interconnection
fee for all received calls, so they tend to make interconnection only
with trusted carriers based on some sort of bilateral agreement
between these carriers. They may agree on a specific gateway for
this purpose, so the interconnection information is often private to
the parties of this particular agreement.
Lim, et al. Informational [Page 7]
RFC 5346 Enum-Based Softswitch Use October 2008
In principle, these two approaches could be used in parallel, but in
practice, if the DNS-based approach could be used, there would be no
point in retaining the expensive and elaborate "offline"
infrastructure to exchange and install the tables for domain routing.
In this trial, uncertainty over the performance and reliability of
ENUM-based processing meant that the softswtitches were configured so
that they could be switched between the two approaches immediately.
This was a temporary expedient only, and would not be a reasonable
approach in the long term.
These two types of domain routing are also affected by the Rcode=0
case described in Section 4.1.
There are two choices for routing. These are described and compared
here:
1. Case when using a fixed routing table:
A. If the domain name part of the URI is found in the internal
fixed routing table, the softswitch can use it.
B. If the domain name part of the URI does not exist in the
fixed routing table, the call is forwarded to the PSTN.
2. Case when using a recursive nameserver:
A. If the domain name part of the URI can be resolved via the
recursive nameserver, the softswitch can use it.
B. If the domain name part of the URI cannot be resolved on the
recursive nameserver for any reason (such as a response with
no usable resource records according to [RFC3263] and
[RFC3261], or with Rcode=1, 2, 3, 4, or 5), the call must be
forwarded to the PSTN.
Case (1) seems inefficient because the administrator maintains two
management points for numbers: the ENUM DNS and the softswitch
itself. However, this configuration can minimize the call routing
failure ratio during the transition period of ENUM (when there are
relatively few provisioned ENUM entries and so few IP-based Points Of
Interconnection). Thus, case (1) could reasonably be implemented on
the softswitches during the trial phase, and thereafter, as ENUM
entries are populated, case (2) would be a reasonable choice.
With these choices, the two carriers could use ENUM DNS for call
routing without any impact on their ongoing commercial VoIP service.
Lim, et al. Informational [Page 8]
RFC 5346 Enum-Based Softswitch Use October 2008
5. Trial Results
To provide a stable commercial service, an ENUM-based softswitch must
have a defined performance, in the same way as must any non-ENUM-
based softswitch. The only difference between these two types of
softswitches is the searching mechanism for call routing information,
which can be stored in the softswitch itself or in the DNS.
Therefore, a similar delay time for call routing is important to
guarantee quality of service. During the trial, each carrier
measured this delay time when using the SIP protocol. This was based
on the "Answer Delay time", defined as the elapsed time between
requesting a call ('INVITE' message) and receiving a response ('200
OK' message) [RFC3261].
+------------------------+------+----------+
| Call Type | ENUM | Non-ENUM |
+------------------------+------+----------+
| Carrier A->A | 2.33 | 2.28 |
| Carrier A->B | 2.23 | 2.25 |
| Carrier A->other(PSTN) | 4.11 | 3.79 |
| Carrier B->B | 2.18 | 2.05 |
| Carrier B->A | 2.19 | 2.19 |
| Carrier B->other(PSTN) | 3.95 | 3.41 |
+------------------------+------+----------+
Table 1: Average Answer Delay Time (Sec)
As shown in Table 1, there is little difference in time (under a
second) between the ENUM and non-ENUM cases. Therefore, it is
difficult for a caller with either carrier to detect the choice (ENUM
or non-ENUM) as an aspect of quality when a call initiates. This
means that ENUM definitely works well with softswitches on a
commercial basis.
To make the trial more realistic, the resolver that was used by these
ENUM-based softswitches was a recursive nameserver that could be
accessed publicly. This was done as it was felt that a tough
condition would be better to verify the fact that an ENUM-based
softswitch works as well as a non-ENUM-based softswitch in providing
a commercial VoIP service.
6. 'e164.arpa' Considerations
During the trial, the Infrastructure ENUM deployed in the
2.8.e164.arpa zone could be accessed via the (public) Internet. In
this situation, each carrier questioned whether or not the
centralized number management under the ENUM DNS was realistic.
Lim, et al. Informational [Page 9]
RFC 5346 Enum-Based Softswitch Use October 2008
Another issue concerned responsibility for routing errors. All
carriers can use the shared ENUM data to route their calls. However,
if there are routing errors (due to the data being provisioned
incorrectly), it is not always clear who has responsibility for these
errors and who can correct the data. The errors occur in the
networks of the carriers placing the calls. Unless the identity of
the carrier responsible for delivering service to this telephone
number is known, it is not obvious (to the carrier handling the
error) who should be informed of these problems. This is a
particular issue when number portability is introduced.
In addition, the carriers also question whether or not Infrastructure
ENUM needs to be accessible publicly. To prevent disclosure of
telephone numbers, they would prefer to access the ENUM DNS
privately. Therefore, any ENUM module embedded in a softswitch needs
to be flexible to adopt these considerations during the interim
period of ENUM, before common policies and agreements have been
forged.
7. Security Considerations
This document inherits the security considerations described in RFC
3761 and [RFC5067], as the ENUM DNS used with softswitches in this
trial could be accessed publicly.
In addition, if the recursive resolvers handling ENUM queries coming
from a softswitch were to be compromised by an attacker, that
attacker would be able to force calls to fail or cause delay to
calls. Therefore, the DNS resolvers used should allow access from
the local network to which the softswitch is connected, whilst
restricting access from outside, using a proper access-list policy.
8. Acknowledgements
Thanks to Richard Shockey, Jason Livingood, Karsten Fleischhauer, Jim
Reid, and Otmar Lendl who helped guide the direction of this
document, and to Suresh Krishnan, whose GEN-ART review was very
helpful.
Lim, et al. Informational [Page 10]
RFC 5346 Enum-Based Softswitch Use October 2008
9. References
9.1. Normative References
[E164] ITU-T, "The International Public Telecommunication
Number Plan", Recommendation E.164, February 2005.
[RFC1034] Mockapetris, P., "Domain names - concepts and
facilities", STD 13, RFC 1034, November 1987.
[RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987.
[RFC3403] Mealling, M., "Dynamic Delegation Discovery System
(DDDS) Part Three: The Domain Name System (DNS)
Database", RFC 3403, October 2002.
[RFC3761] Faltstrom, P. and M. Mealling, "The E.164 to Uniform
Resource Identifiers (URI) Dynamic Delegation Discovery
System (DDDS) Application (ENUM)", RFC 3761,
April 2004.
9.2. Informative References
[ENUMSERVICE-GUIDE]
Hoeneisen, B., Mayrhofer, A., and J. Livingood, "IANA
Registration of Enumservices: Guide, Template, and IANA
Considerations", Work in Progress, September 2008.
[H323] ITU-T, "Packet-based multimedia communications
systems", Recommendation H.323, 2003.
[RFC2136] Vixie, P., Thomson, S., Rekhter, Y., and J. Bound,
"Dynamic Updates in the Domain Name System (DNS
UPDATE)", RFC 2136, April 1997.
[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.
[RFC3263] Rosenberg, J., "Session Initiation Protocol (SIP):
Locating SIP Servers", RFC 3263, June 2002.
[RFC3435] Andreasen, F. and B. Foster, "Media Gateway Control
Protocol (MGCP) Version 1.0", RFC 3435, January 2003.
Lim, et al. Informational [Page 11]
RFC 5346 Enum-Based Softswitch Use October 2008
[RFC3761bis] Bradner, S., Conroy, L., and K. Fujiwara, "The E.164 to
Uniform Resource Identifiers (URI) Dynamic Delegation
Discovery System (DDDS) Application (ENUM)", Work
in Progress, February 2008.
[RFC4114] Hollenbeck, S., "E.164 Number Mapping for the
Extensible Provisioning Protocol (EPP)", RFC 4114,
June 2005.
[RFC5067] Lind, S. and P. Pfautz, "Infrastructure ENUM
Requirements", RFC 5067, November 2007.
Lim, et al. Informational [Page 12]
RFC 5346 Enum-Based Softswitch Use October 2008
Authors' Addresses
JoonHyung Lim
National Internet Development Agency of Korea(NIDA)
3F. KTF B/D 1321-11, Seocho-dong, Seocho-gu
Seoul
Korea
Phone: +82-2-2186-4548
EMail: jhlim@nida.or.kr
URI: http://www.nida.or.kr
Weon Kim
National Internet Development Agency of Korea(NIDA)
3F. KTF B/D 1321-11, Seocho-dong, Seocho-gu
Seoul
Korea
Phone: +82-2-2186-4502
EMail: wkim@nida.or.kr
URI: http://www.nida.or.kr
ChanKi Park
National Internet Development Agency of Korea(NIDA)
3F. KTF B/D 1321-11, Seocho-dong, Seocho-gu
Seoul
Korea
Phone: +82-2-2186-4504
EMail: ckp@nida.or.kr
URI: http://www.nida.or.kr
Lawrence Conroy
Roke Manor Research
Roke Manor
Old Salisbury Lane
Romsey
United Kingdom
Phone: +44-1794-833666
EMail: lconroy@insensate.co.uk
URI: http://www.sienum.co.uk
Lim, et al. Informational [Page 13]
RFC 5346 Enum-Based Softswitch Use October 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
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, THE IETF TRUST 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.
Lim, et al. Informational [Page 14]