[Devel] [ openser-Bugs-1597607 ] ENUM related functions should accept ENUM number without '+'

SourceForge.net noreply at sourceforge.net
Mon Nov 27 19:31:09 CET 2006

Bugs item #1597607, was opened at 2006-11-16 12:18
Message generated for change (Comment added) made by bogdan_iancu
You can respond by visiting: 

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver devel
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: axlh (axlh)
Assigned to: Bogdan (bogdan_iancu)
Summary: ENUM related functions should accept ENUM number without '+'

Initial Comment:
The ENUM functions in OpenSER fail with an e.164 number without '+', while I think it should accept them. (I can't find any mention of a required '+' in any e.164 document I could find)

I know it is possible to prefix '+' manually to the r-uri for enum_query(), but for enum_fquery() this is impossible as the From is immutable in OpenSER.
(uac_replace_from() doesn't do the trick)


>Comment By: Bogdan (bogdan_iancu)
Date: 2006-11-27 20:31

Logged In: YES 
Originator: NO

after more discussion with Klaus and Juha, the idea was to keep the "+"
sign as required by the enum functions (e.164 cheking) and to increas the
flexibility with a new function called enum_avp() - this will take the URI
from an AVP, so whatever source and previous manipulation will be



Comment By: Bogdan (bogdan_iancu)
Date: 2006-11-27 12:01

Logged In: YES 
Originator: NO

Hi there,

yes, it looks like there is an issue with the "+" sign. I asked Juha and
Klaus (the Enum guys) if "+" is mandatory for E.164 numbers and here is
Klaus response:

Some cites:

4.2 numbering plan
A numbering plan does not include prefixes, suffixes, and additional
information required to complete a call.

4.6 international prefix
A digit or combination of digits used to indicate that the number
following is an International Public Telecommunication

Some observations:
The "international public telecommunication number" does not include a
prefix (section 6.2)

11 International prefix
It is recommended by the ITU-T that the Administrations of countries that
have not yet introduced automatic inter-
national operation, or Administrations and international network operators
that are, for various reasons, defining or
revising their numbering plans, adopt an international prefix (a code for
access to the international automatic network) composed of the two digits
00 .
In accordance with Recommendation E.123, the symbol "+" is recommended to
indicate that an international prefix is required.

To my understand this means that the E.164 phone number does not include
the plus sign, but the plus sign indicates that the following number is an
E.164 phone number.

RFC 3761:
2.1.  Application Unique String

   The Application Unique String is a fully qualified E.164 number minus
   any non-digit characters except for the '+' character which appears
   at the beginning of the number.  The "+" is kept to provide a well
   understood anchor for the AUS in order to distinguish it from other
   telephone numbers that are not part of the E.164 namespace.

   For example, the E.164 number could start out as "+44-116-496-1234".
   To ensure that no syntactic sugar is allowed into the AUS, all non-
   digits except for "+" are removed, yielding "+441164961234".

RFC 3761 uses the + sign. AFAIK this is used to distinguish from non E.164
ENUM applications, which does not use the + sign in the Application Unique
String and in the matching pattern of the regular expression. 

so, in my oppinion, there are 2 thinks to be done:
 1) to make sure all enum functions works with or without "+"
 2) togive some possibility to apply changes on the FROM URI before being
used by the enum_fquery() functions.



You can respond by visiting: 

More information about the Devel mailing list