Subject: AW: [Sip] SIPIT Interop problem with ;user=phone

From: "Christian Stredicke" <[email-masked]>
Date: Sat, 20 Sep 2003 18:50:02 +0200

It's no rocket science. I don’t understand why millions of messages are written about this.

Our phones follow only a simple algorithm. When someone dials 9721234567, the phone does the following:

1) It translates it into sip:[email-masked];phone=yes (according to a simple local dial plan, in this case for North America). The dial plan is set up like the time zone or language. It is more or less a lookup of some predefined plans for the different regions.

2) The transport layer realizes that the URL contains the magic parameter ("phone=yes") and therefore first tries to find tel:+19721234567 using ENUM. 

3) If it works, it internally generates a redirect response to the resulting number. It is important to show it on the display to avoid surprises on the telephone bill.

4) If it fails, it sends the packet according to the normal rules. The proxy will see the phone=yes parameter as well and could also try to do ENUM. Normally, it will use a proxy dial plan to route the call.

CS

> -----Ursprüngliche Nachricht-----
> Von: [email-masked] [mailto:[email-masked]] Im Auftrag von Stastny
> Richard
> Gesendet: Freitag, 19. September 2003 22:55
> An: Francois Audet; Rosen, Brian; Rohan Mahy
> Cc: Paul Kyzivat; Bob Penfield; [email-masked]
> Betreff: AW: [Sip] SIPIT Interop problem with ;user=phone
> 
> Thats what I meant in my original example:
> If you have a dumb phone, its sends everything to
> sip:[email-masked] - which is a dialing string
> 
> If you have a smart UA, it translates the dialstring to
> either a tel:nnn;phone-context=company.com
> or a tel:+nnnn - which is a E164 number
> BTW: this is preferred anyway.
> 
> If you have a very clever UA, e.g. a SNOM,
> it translates the dialstring into an E.164 number,
> queries ENUM, returns a sip:user@host and
> we do not have any problem at all ;-)
> 
> Richard
> PS: note that ;user=phone is not needed anywhere
> 
> 	-----Ursprüngliche Nachricht-----
> 	Von: Francois Audet [mailto:[email-masked]]
> 	Gesendet: Fr 19.09.2003 22:11
> 	An: 'Rosen, Brian'; Stastny Richard; 'Rohan Mahy'
> 	Cc: 'Paul Kyzivat'; 'Bob Penfield'; [email-masked]'
> 	Betreff: RE: [Sip] SIPIT Interop problem with ;user=phone
> 
> 
> 
> 	If the proxy knows that "phone-context=dial-digit-us.marconi.com"
> for example
> 	means a dial plan, then it would know it is a dial digit string
> (like
> 	from a dumb phone). If instead it says "phone-
> context=global.marconi.com" (for example), then it would know it is a
> Marconi private NUMBER (like from
> 
> 	a PBX gateway).
> 
> 	> -----Original Message-----
> 	> From: Rosen, Brian [mailto:[email-masked]]
> 	> Sent: Friday, September 19, 2003 13:02
> 	> To: 'Stastny Richard'; Rohan Mahy
> 	> Cc: Audet, Francois [SC100:4K02:EXCH]; Paul Kyzivat; Bob
> 	> Penfield; [email-masked]
> 	> Subject: RE: [Sip] SIPIT Interop problem with ;user=phone
> 	>
> 	>
> 	> Richard
> 	>
> 	> A user at a dumb phone always enters a dial string.
> 	> No argument.
> 	>
> 	> However, at some point, either a UA translates a dial string
> 	> to a phone number, or a downstream proxy does it.  At that
> 	> point it isn't a dial string, it's a phone number, and it
> 	> might be in a context (it could be global).  What I've
> 	> mentioned is a case, which I think is pretty common, where
> 	> the number is not represented the same way as a dial string
> 	> and a phone number, and yet is in the same domain.
> 	>
> 	> Let's take a practical example.  Suppose I have a domain with
> 	> a reasonably smart proxy server and a mix of phones.  Some
> 	> phones have dialstring translation, some don't.  The proxy
> 	> server can translate dial strings to phone numbers, and it
> 	> also can route phone numbers.  Obviously it can do both (ie
> 	> translate then route).
> 	>
> 	> Now, how does the proxy know if it needs to translate?  That
> 	> is, how does it know that a uri passed to it is a dial string
> 	> vs a phone number?  If I pass it a phone number and it
> 	> decides to apply it's dialstring processing, that will fail.
> 	> If I pass a
> 	> dial string and it just routes, that will fail.  It has to
> 	> know what it is given.  In my example it was
> 	> [email-masked] That's a phone number, and a dial
> 	> string, but it's two different destinations.  In my numbering
> 	> plan, it's my phone.  In my dialing plan it's an extension in
> 	> another office.
> 	>
> 	> Brian
> 	>
> 	> Brian
> 	>
> 	> > -----Original Message-----
> 	> > From: Stastny Richard [mailto:[email-masked]]
> 	> > Sent: Friday, September 19, 2003 3:33 PM
> 	> > To: Rosen, Brian; Rohan Mahy
> 	> > Cc: Francois Audet; Paul Kyzivat; Bob Penfield; [email-masked]
> 	> > Subject: AW: [Sip] SIPIT Interop problem with ;user=phone
> 	> >
> 	> >
> 	> > Brian,
> 	> >
> 	> > If you pick up a phone and enter digits, it ALWAYS a dialing
> string
> 	> > and you are ALWAYS in ONE and ONLY ONE dialing plan..
> 	> >
> 	> > You never enter a phone number directly, you always
> 	> > dial (if you dial a local number, the mapping may be 1:1)
> 	> >
> 	> > So if you enter a dial string in a SIP phone and iu sends
> 	> > it with [email-masked] to your defaulr sip server, this
> 	> server then
> 	> > evaluates the dialing plan and translates it to a numbering
> plan.
> 	> >
> 	> > Btw, thats exactly how fwd, iptel sipphone, ... are implemeted.
> 	> >
> 	> > Richard
> 	> >
> 	> >     -----Ursprüngliche Nachricht-----
> 	> >     Von: Rosen, Brian [mailto:[email-masked]]
> 	> >     Gesendet: Fr 19.09.2003 19:37
> 	> >     An: Stastny Richard; Rohan Mahy
> 	> >     Cc: Francois Audet; Paul Kyzivat; Bob Penfield; [email-masked]
> 	> >     Betreff: RE: [Sip] SIPIT Interop problem with ;user=phone
> 	> >
> 	> >
> 	> >
> 	> >     Richard
> 	> >
> 	> >     My phone number within my local domain is 742-6826.
> 	> >     I could change the convention and make it 724-742-6826 or
> 	> >     1-724-742-6826 if you want.
> 	> >
> 	> >     My dial plan would send a call to a different phone if you
> 	> >     dialed any of those strings.
> 	> >
> 	> >     If you send an INVITE [email-masked] it will
> ring
> 	> >     my sipphone.
> 	> >
> 	> >     If I dial 7426826, it won't ring my sip phone.  I have to
> dial
> 	> >     6826 or 9-742-6826  or even 300-6826.
> 	> >
> 	> >     Using your algorithm, I would assume 7426826 was a dial
> string,
> 	> >     and that would be wrong.
> 	> >
> 	> >     Brian
> 	> >
> 	> >     > -----Original Message-----
> 	> >     > From: Stastny Richard [mailto:[email-masked]]
> 	> >     > Sent: Friday, September 19, 2003 1:24 PM
> 	> >     > To: Rosen, Brian; Rohan Mahy
> 	> >     > Cc: Francois Audet; Paul Kyzivat; Bob Penfield;
> [email-masked]
> 	> >     > Subject: AW: [Sip] SIPIT Interop problem with ;user=phone
> 	> >     >
> 	> >     >
> 	> >     > See below
> 	> >     >
> 	> >     >       -----Ursprüngliche Nachricht-----
> 	> >     >       Von: Rosen, Brian [mailto:[email-masked]]
> 	> >     >       Gesendet: Fr 19.09.2003 15:17
> 	> >     >       An: 'Rohan Mahy'
> 	> >     >       Cc: 'Francois Audet'; 'Paul Kyzivat'; 'Bob
> Penfield';
> 	> >     > [email-masked]'
> 	> >     >       Betreff: RE: [Sip] SIPIT Interop problem with
> 	> > ;user=phone
> 	> >     >
> 	> >     >
> 	> >     >
> 	> >     >       I've never seen E/F substitution for */#, and I've
> 	> >     > never seen any
> 	> >     >       sip device that did it, but it's a possible way
> forward.
> 	> >     >
> 	> >     >       I do think that some RFC would have to change
> 	> > the wording of
> 	> >     >       2806bis to allow dial strings.  The authors
> 	> > seemed to explicitly
> 	> >     >       declare them out of scope of the document.
> 	> > Generally, we don't
> 	> >     >       usually claim "that which is not specifically
> 	> >     > disallowed is legal"
> 	> >     >       as a way around "out of scope" wording in our
> documents.
> 	> >     >
> 	> >     >       I remain unhappy that dial strings,
> 	> > untranslated phone numbers
> 	> >     >       and translated phone numbers are indistinguishable.
> 	> >     > They are different,
> 	> >     >       they are handled differently, and they should be
> 	> >     > distinguishable.
> 	> >     >       I don't understand why some people are so adamant
> that
> 	> >     > they should all
> 	> >     >       be represented in EXACTLY the same way (tel uri
> 	> > or sip uri with
> 	> >     >       or without user=phone).  They are not the same
> 	> > things, and they
> 	> >     >       should have distinctive representations.
> 	> >     >
> 	> >     > Richard: A string of digits is a string of digits.
> 	> >     >
> 	> >     > The simplest way to distinguish is:
> 	> >     >
> 	> >     > 1. If you just see a string of digits, you have to assume
> its
> 	> >     > a dial string
> 	> >     >
> 	> >     > until you know better.
> 	> >     >
> 	> >     > 2. If you analysed the digits and found out its an E.164
> 	> >     > number, normalise it
> 	> >     >
> 	> >     > to tel:+xxxx, or sip:[email-masked]
> 	> >     >
> 	> >     > 3. If you analysed it and found out it is a local
> 	> > number, then either
> 	> >     >
> 	> >     > use tel:xxxx; phone-context=foo.bar or
> 	> > sip:[email-masked];user=phone
> 	> >     >
> 	> >     > I do not understand the problem
> 	> >     >
> 	> >     > Richard
> 	> >     >
> 	> >     >
> 	> >     >
> 	> >     >       Brian
> 	> >     >
> 	> >     >       > -----Original Message-----
> 	> >     >       > From: Rohan Mahy [mailto:[email-masked]]
> 	> >     >       > Sent: Thursday, September 18, 2003 9:17 PM
> 	> >     >       > To: Rosen, Brian
> 	> >     >       > Cc: 'Francois Audet'; 'Paul Kyzivat'; 'Bob
> Penfield';
> 	> >     > [email-masked]'
> 	> >     >       > Subject: Re: [Sip] SIPIT Interop problem with
> 	> > ;user=phone
> 	> >     >       >
> 	> >     >       >
> 	> >     >       > On Monday, September 15, 2003, at 10:23 AM, Rosen,
> 	> >     > Brian wrote:
> 	> >     >       > > Well this goes to the issue Paul and I have
> 	> > disagreed on.
> 	> >     >       > >
> 	> >     >       > > I think the wording of the tel uri RFC is quite
> 	> >     > clear that you
> 	> >     >       > > can't pass a dial string in one.  You certainly
> 	> >     > can't pass one with
> 	> >     >       > > star and pound.   Therefore, I claim, there is
> no
> 	> >     > way to pass
> 	> >     >       > > a dial string
> 	> >     >       >
> 	> >     >       > Brian,  What part of a dial string doesn't fit
> into:
> 	> >     > 1*phonedigit   ?
> 	> >     >       >
> 	> >     >       > phonedigit = "0" / "1" / "2" / "3" / "4" /
> 	> > "5" / "6" / "7" /
> 	> >     >       > "8" / "9" /
> 	> >     >       >               "A" / "B" / "C" / "D" / "E" / "F"
> 	> >     >       >
> 	> >     >       > E corresponds to *  and F corresponds to #
> 	> >     >       >
> 	> >     >       > thanks,
> 	> >     >       > -rohan
> 	> >     >       >
> 	> >     >       >
> 	> >     >       > > , unless you put it in a username on a SIP uri,
> 	> >     >       > > and denote that it is a dial string, for which a
> 	> >     > phone number is
> 	> >     >       > > a proper subset for most dial plans, by
> specifying
> 	> >     > user=phone.
> 	> >     >       > >
> 	> >     >       > > Paul disagrees.  He thinks he can send a dial
> 	> >     > string in a tel uri.
> 	> >     >       > > Without some kind of resolution of that issue,
> we
> 	> >     > have a problem.
> 	> >     >       > >
> 	> >     >       > > Brian
> 	> >     >       > > -----Original Message-----
> 	> >     >       > > From: Francois Audet
> 	> > [mailto:[email-masked]]
> 	> >     >       > > Sent: Monday, September 15, 2003 12:10 PM
> 	> >     >       > > To: 'Paul Kyzivat'
> 	> >     >       > > Cc: 'Rosen, Brian'; 'Bob Penfield';
> [email-masked]'
> 	> >     >       > > Subject: RE: [Sip] SIPIT Interop problem
> 	> > with ;user=phone
> 	> >     >       > >
> 	> >     >       > >
> 	> >     >       > >> -----Original Message-----
> 	> >     >       > >> From: Paul Kyzivat [mailto:[email-masked]]
> 	> >     >       > >> Sent: Monday, September 15, 2003 06:58
> 	> >     >       > >> To: Audet, Francois [SC100:4K02:EXCH]
> 	> >     >       > >> Cc: 'Rosen, Brian'; 'Bob Penfield';
> [email-masked]'
> 	> >     >       > >> Subject: Re: [Sip] SIPIT Interop problem
> 	> > with ;user=phone
> 	> >     >       > > [ stuff deleted as it looks like we are in
> 	> > agreement ]
> 	> >     >       > >> I'm not sure about the "most" part. Some do,
> some
> 	> >     > don't. As spec is
> 	> >     >       > >> currently written, the equivalence between tel
> and
> 	> >     >       > sip/user=phone is
> 	> >     >       > >> only one way. (IF the userpart comes from
> 	> > a tel, then there
> 	> >     >       > >> SHOULD be a
> 	> >     >       > >> user=phone, but the presence of user=phone does
> 	> >     > not imply the
> 	> >     >       > >> userpart
> 	> >     >       > >> conforms to tel.)
> 	> >     >       > >>
> 	> >     >       > >> I personally am happy with the more strict
> 	> >     > interpretation. But I am
> 	> >     >       > >> trying to hold out an olive branch in order to
> 	> >     > reach a level
> 	> >     >       > >> of agreement.
> 	> >     >       > > OK. It seems that we are in agreement.
> 	> >     >       > > My suggestion is to ask the question to the
> group
> 	> >     > of is anybody
> 	> >     >       > > objects to make it explicit that
> 	> > user=phones means that the
> 	> >     >       > sip URI is
> 	> >     >       > > derived
> 	> >     >       > > from a tel URI?
> 	> >     >       > > If the answer is no, then I think we can
> probably
> 	> >     > finally put this
> 	> >     >       > > issue
> 	> >     >       > > to rest. Otherwise, we need to rework the
> 	> > whole thing...
> 	> >     >       > > So... Does anybody strongly object to
> 	> > explicitly making the
> 	> >     >       > user=phone
> 	> >     >       > > atttribute mean that the SIP URI was
> 	> > derived from a tel URI?
> 	> >     >       > >>> Applying the rules of RFC3261/19.1.6
> 	> > instead, we'd get:
> 	> >     >       > >>>
> 	> >     >       > >>>
> 	> >     >       > >>>
> 	> >     >
> 	> > sip:1234;phone-context=[email-masked];user=phone
> 	> >     >       > >>>
> 	> >     >       > >>> Which (like the tel URI) specifically
> 	> > identifies the
> 	> >     >       > >> dialing plan and
> 	> >     >       > >>> does not require one DNS entry per dialling
> plan.
> 	> >     >       > >>
> 	> >     >       > >>
> 	> >     >       > >> I agree that this is also a fine usage.
> 	> >     >       > >>
> 	> >     >       > >> But what is benefit of this over using the
> 	> > tel format and
> 	> >     >       > >> then passing
> 	> >     >       > >> the request to sip:foo.bar?
> 	> >     >       > > The tel URI format assumes that the proxy
> 	> > knows which proxy
> 	> >     >       > is aware
> 	> >     >       > > of the
> 	> >     >       > > phone context
> 	> >     >       > > and tel URIs (it could be itself, or it
> 	> > could know which
> 	> >     >       > proxy to route
> 	> >     >       > > sessions to).
> 	> >     >       > > The sip URI format lets you route it to a
> 	> > specific proxy
> 	> >     >       > that is aware
> 	> >     >       > > of
> 	> >     >       > > the phone
> 	> >     >       > > context, potentially with "generic" SIP
> 	> > proxies in between
> 	> >     >       > that have
> 	> >     >       > > no idea
> 	> >     >       > > how to route
> 	> >     >       > > based on phone contextes (or even tel URIs). T
> 	> >     >       > >
> 	> >     >       > >
> 	> >     >       > > They both have merits.
> 	> >     >       > >
> 	> >     >       > > _______________________________________________
> 	> >     >       > > Sip mailing list
> 	> > https://www1.ietf.org/mailman/listinfo/sip
> 	> >     >       > > This list is for NEW development of the
> 	> > core SIP Protocol
> 	> >     >       > > Use [email-masked] for
> questions
> 	> >     > on current sip
> 	> >     >       > > Use [email-masked] for new developments on the
> 	> >     > application of sip
> 	> >     >       >
> 	> >     >
> 	> >     >       _______________________________________________
> 	> >     >       Sip mailing list
> 	> > https://www1.ietf.org/mailman/listinfo/sip
> 	> >     >       This list is for NEW development of the core
> 	> > SIP Protocol
> 	> >     >       Use [email-masked] for questions
> on
> 	> >     > current sip
> 	> >     >       Use [email-masked] for new developments on the
> 	> >     > application of sip
> 	> >     >
> 	> >     >
> 	> >     >
> 	> >
> 	> >
> 	> >
> 	>
> 
>                   XXm
> 
> 0   j)fj b?*S+% b+4Ez ڶ  ퟀ���U,zȩ) +ڳ, %ퟀ���fk + *'ܺޞ"ۥK*ix _ ~{
^
> hg'ʶbqbz

_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email-masked] for questions on current sip
Use [email-masked] for new developments on the application of sip

---

From: "Stastny Richard" <[email-masked]>
Date: Fri, 19 Sep 2003 22:55:26 +0200

Richard

	-----Ursprüngliche Nachricht----- 
	Von: Francois Audet [mailto:[email-masked]] 
	Gesendet: Fr 19.09.2003 22:11 
	An: 'Rosen, Brian'; Stastny Richard; 'Rohan Mahy' 
	Cc: 'Paul Kyzivat'; 'Bob Penfield'; [email-masked]' 
	Betreff: RE: [Sip] SIPIT Interop problem with ;user=phone

	If the proxy knows that "phone-context=dial-digit-us.marconi.com" for example 
	means a dial plan, then it would know it is a dial digit string (like 
	from a dumb phone). If instead it says "phone-context=global.marconi.com" (for example), then it would know it is a Marconi private NUMBER (like from

	a PBX gateway). 

	> > If you pick up a phone and enter digits, it ALWAYS a dialing string 
	> > evaluates the dialing plan and translates it to a numbering plan. 
	> >  
	> >     If you send an INVITE [email-masked] it will ring 
	> >     my sipphone. 
	> >     
	> >     If I dial 7426826, it won't ring my sip phone.  I have to dial 
	> >     Using your algorithm, I would assume 7426826 was a dial string, 
	> >     and that would be wrong. 
	> >     
	> >     Brian 
	> >     
	> >     >       Cc: 'Francois Audet'; 'Paul Kyzivat'; 'Bob Penfield'; 
	> >     > [email-masked]' 
	> >     >       sip device that did it, but it's a possible way forward. 
	> >     >      
	> >     >       as a way around "out of scope" wording in our documents. 
	> >     >      
	> >     >       I don't understand why some people are so adamant that 
	> >     > they should all 
	> >     > 1. If you just see a string of digits, you have to assume its 
	> >     > a dial string 
	> >     > 
	> >     > until you know better. 
	> >     > 
	> >     >       > Cc: 'Francois Audet'; 'Paul Kyzivat'; 'Bob Penfield'; 
	> >     > [email-masked]' 
	> >     >       > > star and pound.   Therefore, I claim, there is no 
	> >     > way to pass 
	> >     >       > > a dial string 
	> >     >       > 
	> >     >       > Brian,  What part of a dial string doesn't fit into: 
	> >     > 1*phonedigit   ? 
	> >     >       > 
	> >     >       > > a proper subset for most dial plans, by specifying 
	> >     > user=phone. 
	> >     >       > > 
	> >     >       > > Without some kind of resolution of that issue, we 
	> >     > have a problem. 
	> >     >       > > 
	> >     >       > > Brian 
	> >     >       > > Cc: 'Rosen, Brian'; 'Bob Penfield'; [email-masked]' 
	> >     >       > >> Cc: 'Rosen, Brian'; 'Bob Penfield'; [email-masked]' 
	> >     >       > >> I'm not sure about the "most" part. Some do, some 
	> >     > don't. As spec is 
	> >     >       > >> currently written, the equivalence between tel and 
	> >     >       > sip/user=phone is 
	> >     >       > > My suggestion is to ask the question to the group 
	> >     > of is anybody 
	> >     >       > > If the answer is no, then I think we can probably 
	> >     > finally put this 
	> >     >       > > issue 
	> >     >       > >>> does not require one DNS entry per dialling plan. 
	> >     >       > >> 
	> >     >       > >> 

J*fj)b�	b��m��?�0�'�~���f��f��X��)ߣ�"�8b�X��+��DYׯzZ)�����ay�+y">�-��%RǬ����W�z{h��,r�n���y۟���z�b�{(�˫����*T��"����'�~��~��{^��h�g���'����bq�b�z�*