Section 7.3.1 RFC3261 is about the language of SIP and
section 1.2.2 RFC2822 is about the language of ABNF.
You are confusing values used in instances of SIP headers
with grammar definitions of SIP headers.
I think confusion occurs because
there is
1. the "quoted-string" as defined by the ABNF:
quoted-string = SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE
and
2. there are quoted strings that we see in the ABNF
for example:
Call-ID = ( "Call-ID" / "i" ) HCOLON callid
First let use consider section 7.3.1 as you quoted it:
Unless specified otherwise, values expressed as quoted strings are
case-sensitive.
The above quoted string refers to anything defined
by the "quoted-string" grammar.
quoted-string = SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE
So the values in between the DQUOTES are case-sensitive.
This is shown with the "Warning" examples that you quoted before.
Secondly, the ABNF is the grammar - the way the grammar is represented
has its own rules. Let's look at the Call-ID again:
Call-ID = ( "Call-ID" / "i" ) HCOLON callid
Now although we think of "Call-ID" as being a quoted-string,
it is not a quoted string as defined by the ABNF.
Instead, it is a "case-insensitive literal value".
The "case-insensitive literal value" is defined in section
"1.2.2. Syntactic notation" of RFC 2822.
Characters will be specified either by a decimal value
(e.g., the value %d65 for uppercase A and %d97 for lowercase A) or by
a case-insensitive literal value enclosed in quotation marks (e.g.,
"A" for either uppercase or lowercase A).
So "Call-ID" is not a quoted string, it is just a set
of characters. And these characters are case-insensitive
according to 1.2.2 of RFC2822.
Regards,
Attila
Attila Sipos
http://www.vegastream.com
-----Original Message-----
From: Nataraju A B [mailto:[EMAIL PROTECTED]
Sent: 09 December 2005 13:13
To: Attila Sipos; 'Ajit Kumar'; 'Madhuri Sakhare';
[email protected]
Subject: RE: [Sip-implementors] Case insensitive parameters
I agree that ABNF for warning header says it's a quoted string. But why is this
confusing example mentioning quoted strings are case sensitive and supporting
text also in section 7.3.1 for header fiend definition tells about the case
sensitiveness about quoted strings.......
Excerpt from RFC-3261
<3261
When comparing header fields, field names are always case-
insensitive. Unless otherwise stated in the definition of a
particular header field, field values, parameter names, and parameter
values are case-insensitive. Tokens are always case-insensitive.
Unless specified otherwise, values expressed as quoted strings are
case-sensitive.
Warning: 370 devnull "Choose a bigger pipe"
Warning: 370 devnull "CHOOSE A BIGGER PIPE"
/3261>
Thanks & Regards,
Nataraju A.B.
-----Original Message-----
From: Attila Sipos [mailto:[EMAIL PROTECTED]
Sent: Friday, December 09, 2005 6:27 PM
To: Nataraju A B; Ajit Kumar; Madhuri Sakhare; [email protected]
Subject: RE: [Sip-implementors] Case insensitive parameters
This is not a bug.
The Warnings you showed are just examples, they are
not grammar definitions. The gammar definition is:
Warning = "Warning" HCOLON warning-value *(COMMA warning-value)
warning-value = warn-code SP warn-agent SP warn-text
warn-code = 3DIGIT
warn-agent = hostport / pseudonym
; the name or pseudonym of the server adding
; the Warning header, for use in debugging
warn-text = quoted-string
pseudonym = token
The above ABNF grammar definition of a Warning shows that
the warn-text is a quoted-string. The quoted-string as defined by
the ABNF grammar is case-sensitive.
The rules you qoute from RFC2234 are for the grammar
notation. In a grammar defintion the items in quoted strings
(not to be confused with "quoted-string" in the ABNF) are case-insensitive.
Regards,
Attila
Attila Sipos
http://www.vegastream.com <http://www.vegastream.com/>
-----Original Message-----
From: Nataraju A B [mailto:[EMAIL PROTECTED]
Sent: 09 December 2005 11:58
To: Attila Sipos; 'Ajit Kumar'; 'Madhuri Sakhare';
[email protected]
Subject: RE: [Sip-implementors] Case insensitive parameters
This looks to be a bug in either RFC-3261(SIP). Both of these RFCs (3261 &
2234) specify the same in contradicting ways. It's also said that SIP is in
conformance with ABNF syntax defined by RFC-2234.
RFC-3261 says
<< RFC-3261
The following two header fields are not equivalent:
Warning: 370 devnull "Choose a bigger pipe"
Warning: 370 devnull "CHOOSE A BIGGER PIPE"
/ RFC-3261 >>
RFC-2234 says
<<<< RFC-2234
NOTE: ABNF strings are case-insensitive and
the character set for these strings is us-ascii.
Hence:
rulename = "abc"
and:
rulename = "aBc"
will match "abc", "Abc", "aBc", "abC", "ABc", "aBC", "AbC" and "ABC".
To specify a rule which IS case SENSITIVE,
specify the characters individually.
For example:
rulename = %d97 %d98 %d99
or
rulename = %d97.98.99
/RFC-2234 >>>>
Should we assume whatever mentioned in 3261 is an updation over 2234 OR raise a
bug against SIP-RFC ???
Thanks & Regards,
Nataraju A.B.
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors