Subject: RE: [Sip] Escaping rules of SIP-URI userpart

From: Juha Heinanen <[email-masked]>
Date: Mon, 2 Oct 2006 13:34:48 +0300

Christer Holmberg (JO/LMF) writes:

 > So, you could have something like:
 > sip:*21*12345#;phone-context=[email-masked]

# at the end is useless, because we know when the dial string ends
anyway.

-- juha

_______________________________________________
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: "Christer Holmberg \(JO/LMF\)" <[email-masked]>
Date: Mon, 2 Oct 2006 11:58:56 +0200

Hi Francois,

RFC 3966 does define a local number, and I have never seen any rule
saying that you wouldn't be allowed to use it with SIP (either as a
TEL-URI, or a SIP-URI with user=phone). The phone-context parameter is
then used to indicate the "scope" of the number.

And, there are people/groups that do want to use local numbers (as
defined for RFC 3966) both for service codes, other local numbers etc.

Regards,

Christer

> -----Original Message-----
> From: Francois Audet [mailto:[email-masked]] 
> Sent: 30. syyskuuta 2006 3:10
> To: Jeroen van Bemmel; Juha Heinanen
> Cc: Jesske, R; [email-masked]; Christer Holmberg (JO/LMF)
> Subject: RE: [Sip] Escaping rules of SIP-URI userpart
> 
> It's a valid URI, yes, not necessarily a valid phone number.
> 
> Certainly not a valid global phone number.
> 
> The specific example mentioned (privacy=on) is very broken 
> since it really won't give you privacy at all. 
> 
> What bothers me with this thread is not that people want to 
> use strange characters in URIs.
> 
> What bothers me is that people want to use it to replicate 
> analog telephone keypad codes, the same way it was done back 
> then, in SIP. It was broken then, and it is even more broken 
> now that addresses are supposed to be global.
> 
> > -----Original Message-----
> > From: Jeroen van Bemmel [mailto:[email-masked]]
> > Sent: Friday, September 29, 2006 4:56 PM
> > To: Audet, Francois (SC100:3055); Juha Heinanen
> > Cc: Jesske, R; [email-masked]; Christer Holmberg (JO/LMF)
> > Subject: Re: [Sip] Escaping rules of SIP-URI userpart
> > 
> > Francois,
> > 
> > As long as one adheres to the escaping rules, it is 
> perfectly valid to 
> > use # in URIs. The UA should not attempt any interpretation, but 
> > simply escape-and-pass anything the user dials.
> > 
> > The UA user interface can be such that '#' means end-of-input (ie 
> > <enter>), but it is also valid on the wire (when escaped)
> > 
> > Regards,
> > 
> > jeroen
> > 
> > ----- Original Message -----
> > From: "Francois Audet" <[email-masked]>
> > To: "Juha Heinanen" <[email-masked]>
> > Cc: "Jesske, R" <[email-masked]>; <[email-masked]>; "Christer 
> > Holmberg (JO/LMF)" <[email-masked]>
> > Sent: Saturday, September 30, 2006 1:25 AM
> > Subject: RE: [Sip] Escaping rules of SIP-URI userpart
> > 
> > 
> > 
> > 
> > Francois Audet writes:
> > >
> > >  > There is no need for this in a URI. The service code
> > should be  >
> > > translatable by the phone to a real URI that actually means  > 
> > > something.
> > >
> > > i don't understand what you are trying to say.  #31# prefix
> > of phone
> > > number, for example, means something to PSTN and needs to
> > be carried
> > > there from the SIP phone, which cannot have a clue of 
> various PSTN 
> > > dial string conventions.  or can you explain what kind of magic 
> > > translation nortel SIP phones do when user dial #31# 
> followed by a 
> > > phone number?
> > 
> > I'm saying doing what you are proposing, i.e., using # in a phone 
> > number ON THE WIRE (I.e., in a URI), is an extremely bad 
> idea that we 
> > shouldn't attempt to do in SIP. And it won't work except in 
> isolated 
> > proprietary implementations.
> > 
> > In the example you gave (I'm hearing that some network operator is 
> > using this for privacy).
> > 
> > What you need to do is intercept the digit pattern in the 
> phone, make 
> > the call to the destination without the proprietary digits, 
> and then 
> > mark your From header as [email-masked].
> > 
> > To do it your way would MANDATE a B2BUA since my proxy 
> would have to 
> > remove the From and replace it (making it a B2BUA).
> > And it would magically have to understand all the dialling plans in 
> > the universe.
> > 
> > So publishing a URI with a # means most people won't be 
> able to reach 
> > it. #31# means absolutely nothing to me in North America. 
> If I try to 
> > call you with this, it just won't work.
> > 
> > As a side note, on many phones, "#" means end-of-dialling.
> > It stops digit collection. And it is NOT transmitted on the wire.
> > 
> > 
> > 
> > 
> > 
> > 
> > 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: Paul Kyzivat <[email-masked]>
Date: Thu, 05 Oct 2006 10:40:47 -0400

Francois,

Philosophically I agree with you. But I have found in practice that it 
is pretty hard to avoid instances of this kind of usage. If everyone 
would agree that all services are to be built in the UA then it could 
work out, but that just isn't happening. Another solution would be some 
kind of framework for encoding requests for services in the network, 
that would work for all the things people want to do that way. 
(Something in the style of RFC4240 could be used I suppose, but would 
require some kind of agreement on encoding.)

These typically aren't "published" URIs. Instead they are "constructed" 
URIs, and depend on configuration to ensure that they are constructed in 
such a way that they will arrive at something that knows how to deal 
with it.

Its all pretty ugly, but I don't think we will be able to exclude this 
kind of usage.

BUT, if it is going to be done then I think we ought to expect the 
escaping rules to be followed.

	Paul

Francois Audet wrote:
> The specific example mentioned (privacy=on) is very broken since
> it really won't give you privacy at all. 
> 
> What bothers me with this thread is not that people want to use
> strange characters in URIs.
> 
> analog telephone keypad codes, the same way it was done back then,
> in SIP. It was broken then, and it is even more broken now that
> addresses
> are supposed to be global.
> 
>> As long as one adheres to the escaping rules, it is perfectly 
>> valid to use # in URIs. The UA should not attempt any 
>> interpretation, but simply escape-and-pass anything the user dials.
>>
>> The UA user interface can be such that '#' means end-of-input 
>> (ie <enter>), but it is also valid on the wire (when escaped)
>>
>> Regards,
>>
>> jeroen
>>
>> Cc: "Jesske, R" <[email-masked]>; <[email-masked]>; 
>> "Christer Holmberg (JO/LMF)" <[email-masked]>
>>> there from the SIP phone, which cannot have a clue of various PSTN 
>>> translation nortel SIP phones do when user dial #31# followed by a 
>>> phone number?
>> I'm saying doing what you are proposing, i.e., using # in a 
>> phone number ON THE WIRE (I.e., in a URI), is an extremely 
>> bad idea that we shouldn't attempt to do in SIP. And it won't 
>> work except in isolated proprietary implementations.
>>
>> In the example you gave (I'm hearing that some network 
>> operator is using this for privacy).
>>
>> phone, make the call to the destination without the 
>> proprietary digits, and then mark your From header as 
>> [email-masked].
>>
>> To do it your way would MANDATE a B2BUA since my proxy would 
>> have to remove the From and replace it (making it a B2BUA). 
>> And it would magically have to understand all the dialling 
>> plans in the universe.
>>
>> So publishing a URI with a # means most people won't be able 
>> to reach it. #31# means absolutely nothing to me in North 
>> America. If I try to call you with this, it just won't work.
>>
>> [email-masked] for questions on current sip

---

From: [email-masked]
Date: Thu, 5 Oct 2006 11:44:00 -0400

Francois Audet wrote:
   > addresses are supposed to be global.

It's not as broken as it appears, though the reason why is subtle.

Let me take as an example sipX:  *91234 retrieves a call from parking
orbit 1234.  Because the phones don't implement this operation, it's
handled by a special processor in the registrar/proxy.  But that is a
real URI: <sip:[email-masked]>, and can be generated by any SIP UA
in the universe.  (Authorization rules restrict which UAs will be
obeyed.)  Any INVITE to that URI will eventually be routed to the call
retrieval agent, which will effect the desired operation.

In a better world, we would use a more rational URI indicator than
having the first two characters of the user part be "*9", but we have
to live with phones with conventional dialpads.

At the other extreme, if the phone implements a feature, it is not
particularly broken to have the feature be activated on a per-cal
basis by pushing particular keys at the beginning of the call.

What *is* broken, and what is done in analog systems, and I fear is
done in some SIP systems, is to use "*-codes" to activate special
features, but only when the code appears in the dial string in the
signaling path between a phone and its PBX.  That introduces the
design error of having the meaning of a URI be dependent on its
context.

Dale