Subject: [SIP] Another grammar query - Call-ID

From: Gethin Liddell <[email-masked]>
Date: Thu, 11 May 2000 13:26:38 +0100

Hi all,

I have another grammar query, this time regarding the call-id.  

Call-ID is defined as (bis 6.12):

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

and uric is defined as (bis Section 2 Figure 3):

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

The problem here is with @.

a valid local-id is 

a@b

but that is also a valid 

local-id @ host

so which is it?
A parser is likely to claim that this is a local-id with no "@ host" value and declare 
it an invalid call-id.

I think this is the same problem that occured with the definition of the Sip-URL and 
escaped characters in Section 2. Am i right in thinking that what was actually meant 
was:

uric = unreserved | escaped

where escaped allows the characters in the reserved set to be included?  

Thus any processing (equality checking etc...) of local-id is done on the un-escaped 
version but when transmitted in the message the escaped form must be used.  If this is 
the case, I don't see any reason why any of the other characters in the reserved set 
need to be escaped.

Quoting section 2:

"Note that reserved characters have to be escaped and that the `set of characters 
reserved within any given URI component is defined by that component. In general, a 
character is reserved if the semantics of the URI changes if the character is replaced 
with its escaped US-ASCII encoding' [12]."

Applying this to the call-id, only the @ changes the semantics of the Call-ID and so
only the @ needs to be escaped. (Of course it is the case that any character in the 
local-id MAY be escaped and this MUST be handled by the parser).

Am i correct about this?  If so I think the whole `escaped' issue needs to be clarified
somewhere (or have i just missed where it is clairified).

regards 

gethin

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

---

From: Shail Bhatnagar <[email-masked]>
Date: Thu, 11 May 2000 14:01:16 -0400

I don't see any issue with this syntax. Do a reverse search on '@' sign
in
the Call-ID header value - anything preceeding it is the local-id and 
anything after it is the host. I don't think host names can have '@'
sign.