[SIPForum-discussion] E.164

Joel Gerber Joel.Gerber at corp.eastlink.ca
Wed Aug 19 19:45:03 UTC 2015

Hello Paul &etc,

I will say this much, some of your invalid SIP URI formats are commonly being used in industry today. Particularly sip:NPANXXDEFG at proxy;user=phone.

Also, the specification between domestic and international calls is not determined by the dialed or signalled digits. It's the responsibility of the telephony switch receiving these dialed digits to determine this for itself based upon its dial peer/translations configuration. When you consider the context of E.164 formatted digits, you can have +countrycodephonenumber digits even if the call is to your next door neighbour.

Joel Gerber
Network Operations Specialist - Telephone
Joel.Gerber at corp.eastlink.ca    T: 519.786.1241

-----Original Message-----
From: discussion-bounces at sipforum.org [mailto:discussion-bounces at sipforum.org] On Behalf Of Paul Kyzivat
Sent: August-17-15 11:39 AM
To: discussion at sipforum.org
Subject: Re: [SIPForum-discussion] E.164

This is considerable mis-information in this thread.
Brian is correct.

In sip there are a few ways to identify a target by "phone number", and there are a couple of dimensions to it.

First, you can identify the target using either a "tel:" URI or a "sip:" 
or "sips:" URI. For sip or sips URIs there are a few options:

* the "phone number" will be in the user part of the URI.
   The way that part is formatted and understood depends on
   the value of the "user=" uri-parameter.

* for "user=phone", the user part is interpreted the same as
   the body of a tel URI. (See below for more on this.)

* for "user=ip", the user part is interpreted in some domain
   specific way. (This is often considered to be like an "email-style"
   URI format.) It *could* be treated as a phone number, but whether
   it is or not is a policy decision for the domain of the URI.
   This is the default if there is no user= parameter.

* for "user=dialstring", the user part contains a "dial string".
   Namely the string of "digits" dialed, along with some context
   to help disambiguate the dial string. This format is defined
   by RFC4967. (Authored by Brian.)

For a tel: URI (defined by RFC3966):

* The number can be a "global-number" or a "local-number".

* global-numbers is in E.164 format. *All* global-numbers
   start with "+".

* local-numbers do not start with "+".

* both global and local numbers may have parameters following
   the number. Local numbers *must* have a "phone-context"
   parameter. This provides a globally unique context in which
   the "number" can be understood unambiguously.

The following are some implications/examples of the above:

1) sip:+12125551234 at example.com;user=phone

    This is a well formed E.164 phone number URI.

2) tel:+12125551234

    This identifies the same phone number as (1), but doesn't say
    what domain should be used to reach it.

3) sip:2125551234;phone-context=+1 at example.com;user=phone

    This is a local-number in the context "+1".

4) sip:2125551234;phone-context=example.org at example.com;user=phone

    This is an alternative way to represent phone context.

5) sip:711;phone-context=+1 at example.com;user=phone

    This is one potential way to represent non-E.164 numbers.

6) sip:1234;phone-context=foo.com at example.com;user=phone

    This is a potential way for a company to represent a local
    extension on their pbx that has no E.164 number. In this form
    it *can*, in principle, be used outside the foo.com network
    and still remain unambiguous.

7) sip:912125551234;phone-context=foo.com at example.com;user=dialstring

    This is a way to transform a dialed string of digits into a URI
    without having to interpret it in any way. Note that, as with
    local numbers, the phone-context is *required*. It provides the
    context within which to understand the dial plan.

8) sip:8888 at example.com;user=ip

    This might be meaningful in a domain that uses numeric user ids.
    (I don't know if there are any of those left, but there might be.)
    There is no a priori assumption that the 1234 is a "phone number".

9) sip:8888 at example.com

    This has *exactly* the same meaning as (8).

10) sip:2125551234 at user.com

    This should be understood the same way as (9). You can't assume
    that this is a phone number unless you have some implicit contextual
    information that user.com treats it that way.

11) sip:+12125551234 at user.com

    Same as (10).

12) sip:2125551234 at example.com;user=phone

    This is an invalid URI!
    Because of the "user=phone", the user part is to be parsed according
    to the tel uri format. Since it doesn't begin with "+", it is
    required to have a phone-context parameter.

13) sip:912125551234 at example.com;user=dialstring

    This is also an invalid URI!
    Again, a phone-context is required here. A dial string can only
    be understood in a context that defines the dial plan.

None of this says anything about "domestic" vs. "international" calling.

I guess domestic calling is when both the caller and the callee are identified by phone numbers in the same country code. But note that the URI formats require all the URIs to be globally unambiguous. That can be by having the country code as the prefix of the global number, or idenfified in some way by the phone-context of a local number.

The place where this becomes a meaningful concern is if you are using URIs like (10). That URI can't be understood unambiguously as a phone number unless you *know* that example.com intends it to be understood that way and also understand what country code is to be used.

Such usage is *allowed* by the specs, but the meaning is not defined by the specs. IMO this is an unwise usage. If you intend to use it, then you must carefully define your conventions and ensure that everyone that sees such a URI follows those conventions.


On 8/16/15 9:50 AM, Shah Hussain Khattak wrote:
> Adding a few comments in below answers. The +1 is usually added to 
> originated calling numbers in case the call is going to some 
> destination outside of US, it's a well know feature ( in Sonus SBCs 
> its called Number globalisation feature at trunk groups level), and 
> this could be replicated for different countries. It's only for 
> international call termination, the calling number is appended with 
> originating country code....
> Sent from my iPhone
> On 16-Aug-2015, at 12:29 am, Stoller, Jeff 
> <Jeff_Stoller at cable.comcast.com 
> <mailto:Jeff_Stoller at cable.comcast.com>>
> wrote:
>> +1 is domestic E.164 format. + and then the number is for
>> international.  To convert a US phone number like 415 555 2671 to
>> E.164 format, you need to add the '+' prefix and the country code 
>> (which is 1) in front of the number so it will look like +14155552671.
>> *From:*discussion-bounces at sipforum.org
>> <mailto:discussion-bounces at sipforum.org>
>> [mailto:discussion-bounces at sipforum.org] *On Behalf Of *Anthony 
>> Orlando
>> *Sent:* Wednesday, July 29, 2015 12:37 PM
>> *To:* SIP Forum
>> *Subject:* [SIPForum-discussion] E.164
>> Looking for some clarification.  I have a vendor that claims +1 
>> indicates an internationally originated call.  I disagree and feel 
>> that it is merely an indication that it is in E.164 format.  Anyone 
>> want to chime in?
>> _______________________________________________
>> This is the SIP Forum discussion mailing list TO UNSUBSCRIBE, or edit 
>> your delivery options, please visit 
>> http://sipforum.org/mailman/listinfo/discussion
>> Post to the list at discussion at sipforum.org 
>> <mailto:discussion at sipforum.org>
> _______________________________________________
> This is the SIP Forum discussion mailing list TO UNSUBSCRIBE, or edit 
> your delivery options, please visit 
> http://sipforum.org/mailman/listinfo/discussion
> Post to the list at discussion at sipforum.org

This is the SIP Forum discussion mailing list TO UNSUBSCRIBE, or edit your delivery options, please visit http://sipforum.org/mailman/listinfo/discussion
Post to the list at discussion at sipforum.org

More information about the discussion mailing list