Subject: RE: [SIP] SIP URL telephone-subscriber syntax.

From: "Fairlie-Cuninghame, Robert" <[email-masked]>
Date: Tue, 18 Jul 2000 04:22:25 -0700

Ok, let's restart this whole decussion again now that we have something to
work from.

Please explain why

sip:ABCD;telparam=telvalue@gateway;user=phone

shouldn't be parsed as host ABCD with a SIP parameter "telparam" which has a
value of "telvalue@gateway". [Assuming that the parser _is_ normally capable
of parsing semicolons in the user part.]

Looking at the latest RFC2543bis draft (just posted) the '@ is a legal
parameter character:

  paramchar       = param-reserved | unreserved | escaped
  param-reserved  = "[" | "]" | "/" | "?" | ":" | "@" | "&" | "+" | "$"

If the parser doesn't understand that user=phone parameter then is should
look like user@host, right ? (Where the user part may contain semicolons).

So how do you parse something like this ?

Robert 

-- My opinions are my own. Nobody else listens to them anyway. -- 

> -----Original Message-----
> From: Henning Schulzrinne [mailto:[email-masked]]
> Sent: Friday, July 07, 2000 10:44 PM
> To: Fairlie-Cuninghame, Robert
> Cc: 'Gethin Liddell'; [email-masked]; 'Jonathan Rosenberg'
> Subject: Re: [SIP] SIP URL telephone-subscriber syntax.
> 
> 
> Frankly, I thought we solved this problem already several 
> days ago? Why
> invent a kludge that no other URL scheme is using to solve a 
> non-issue?
> -- 
> Henning Schulzrinne   http://www.cs.columbia.edu/~hgs
> 

_______________________________________________
SIP mailing list
[email-masked]
http://lists.bell-labs.com/mailman/listinfo/sip

---

From: Henning Schulzrinne <[email-masked]>
Date: Tue, 18 Jul 2000 08:23:24 -0400

Since the top-level structure is "sip: userinfo @ hostport". Thus, split
the URL into the "pre-@" and "post-@" parts. Parse each independently.

However, I agree that given that the 'userinfo @' is optional,
suggesting escaping of @ is probably wise. In general, escaping is only
needed if there's an ambiguity, so that in practice, something like 

user@host?Contact=sip:foo@bar 

will/should work, even though the escaped version

user@host?Contact=sip%3afoo%40bar

is safer. I'll be adding this to the torture test set.

"Fairlie-Cuninghame, Robert" wrote

---

From: Gethin Liddell <[email-masked]>
Date: Tue, 18 Jul 2000 15:15:15 +0100

So can i just confirm with a couple of possible torture test examples
and what they should resolve to:

(1) sip:ABCD;a=b@host

user = "ABCD;a=b"
host = "host"

(2) sip:ABCD;a=b@host1;c=d@host2

user = "ABCD;a=b" 
host = "host1"
sip parameter = "c=d@host2"

(3) sip:ABCD;a=b%40host

user = ""
host = "ABCD"
sip parameter = "a=b@host"

(4) sip:ABCD;a=b%40host1;c=d@host2

user = "ABCD;a=b@host1;c=d"
host = "host2"

Is there any element of this that these examples do not cover?

-- 
Gethin Liddell
Ubiquity Software Corporation

http://www.ubiquity.net
mailto:[email-masked]

---

From: Jonathan Rosenberg <[email-masked]>
Date: Tue, 18 Jul 2000 10:41:51 -0400

Henning Schulzrinne wrote:
> suggesting escaping of @ is probably wise.

Well, I would make a stronger statement than "suggest". Sounds like we
should
mandate that @ be escaped anywhere within the URL.

-Jonathan R.

-- 
Jonathan D. Rosenberg                       72 Eagle Rock Ave.
Chief Scientist                             First Floor
dynamicsoft                                 East Hanover, NJ 07936
[email-masked]                     FAX:   (973) 952-5050
http://www.cs.columbia.edu/~jdrosen         PHONE: (732) 741-7244
http://www.dynamicsoft.com

---

From: Rohan Mahy <[email-masked]>
Date: Tue, 18 Jul 2000 08:35:52 -0700

Hi,

Why should folks be using (;) as a parameter delimeter in userpart when (,) 
is a perfectly fine alternative?  I'd say we should escape (;) and (@) in 
the userpart and in the parameters.

thanks,
-rohan

---

From: Gethin Liddell <[email-masked]>
Date: Tue, 18 Jul 2000 16:32:14 +0100

> the userpart and in the parameters.

because we are considering the case where the tel url (RFC 2806) is
used in the user part.  This uses ; as a parameter delimiter.

http://www.ubiquity.net

---

From: Jonathan Rosenberg <[email-masked]>
Date: Tue, 18 Jul 2000 13:30:32 -0400

> and what they should resolve to:

yes.

> sip parameter = "c=d@host2"

In my previous note, I recommended that @ within parameters be escaped,
so that you wouldn't even see the second @.

> sip parameter = "a=b@host"

yes.

> user = "ABCD;a=b@host1;c=d"

yes.

-Jonathan R.

---

From: Rohan Mahy <[email-masked]>
Date: Tue, 18 Jul 2000 12:44:48 -0700

>used in the user part.  This uses ; as a parameter delimiter.

Why not just translate the (;)s to (,)s or escape the (;)s?

thanks,
-rohan

---

From: Henning Schulzrinne <[email-masked]>
Date: Tue, 18 Jul 2000 21:33:18 -0400

> Why not just translate the (;)s to (,)s or escape the (;)s?

We had this discussion a few weeks ago . Escaping ; doesn't work since
then you can't distinguish semicolons that were escaped to begin with
and the syntactically significant semicolons. Translation to some other
character doesn't work well because you now have cascading translations.
It's also extremely ugly and done by no other URL scheme. I still don't
see the problem these kludges are supposed to solve.

---

From: Gethin Liddell <[email-masked]>
Date: Wed, 19 Jul 2000 08:54:05 +0100

> Why not just translate the (;)s to (,)s or escape the (;)s?

Because rfc 2806 defines ';' as being the parameter separator and we
have to abide by its rules.  Also, ',' is a valid character in its own
right within rfc 2806 and has its own semantics.  If we changed ';' to
',' what would we change ',' to?  If we were to start trying to change
another rfc, then we should have implemented our own in the first
place. which, i suppose, is not the point of rfc's and would provide
extra un-required work for our WG.

As for escaping ';' , this was discussed eairlier in this thread.

Basically, if we were to escape `;' in our sip url, then what would we
do with the already escaped ';' in the tel url?

eg. tel:+1234;a=%3B

convert this to sip, we have

sip:+1234;a=%3B@host;user=phone

however, if we escape the % then we have

sip:+1234%3ba=%3Bhost;user=phone

how do we un-parse this?

for further dicussion and conclusion on this problem, please consult
the earlier part of this thread in the Sip Mailing List Archive

http://www.ubiquity.net