Subject: Decoding Call-ID

From: "John Poplett" <[email-masked]>
Date: Fri, 13 Aug 1999 15:10:08 -0500

Since the local-id portion of a Call-ID can have "@" characters in it, does a
scanner have to search for the
rightmost "@" to properly identify the end of the local-id or how is this
ambiguity resolved? (A similar case of ambiguity exists
for SIP URL headers.)

Call-ID   =  ( "Call-ID" | "i" ) ":" local-id "@" host
local-id  =  1*uric

uric            = reserved | unreserved | escaped
reserved        = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","

Thanks,

John Poplett
[email-masked]
3Com Corp.

---

From: Igor Slepchin <[email-masked]>
Date: Fri, 13 Aug 1999 19:04:26 -0400

The BNF for Call-ID is intended as a suggestion for choosing globally
unique values and should be parsed but treated as an unstructured string
instead. This is mentioned in Henning's SIP bug compendium at
http://www.cs.columbia.edu/~hgs/sip/notes.html.

This ambiguity does not exist in SIP URLs as the BNF prohibits the use
of reserved characters ("@", "?", ";" in particular) in userinfo and
hostport productions.

---
Igor Slepchin

---

From: Henning Schulzrinne <[email-masked]>
Date: Sat, 14 Aug 1999 02:16:56 -0400

By definition, reserved characters have to be escaped via %, so there is
no ambiguity.