Hi, Accept header allows parameters in a confusing way:
-----------------------
Accept = "Accept" HCOLON
[ accept-range *(COMMA accept-range) ]
accept-range = media-range *(SEMI accept-param)
media-range = ( "*/*"
/ ( m-type SLASH "*" )
/ ( m-type SLASH m-subtype )
) *( SEMI m-parameter )
accept-param = ("q" EQUAL qvalue) / generic-param
qvalue = ( "0" [ "." 0*3DIGIT ] )
/ ( "1" [ "." 0*3("0") ] )
generic-param = token [ EQUAL gen-value ]
gen-value = token / host / quoted-string
m-parameter = m-attribute EQUAL m-value
m-attribute = token
m-value = token / quoted-string
--------------------------
Take the following example:
Accept: application/sdp;q=0.5;paramX=qwe
Accorsing to the BNF syntax it's not possible to know if "q=0.5"
and "paramX=qwe" are 'accept-param' or 'm-parameter' (they could be both with
no way to differentiate between them).
I've found exactly the same bug already reported in RFC 3261 ERRATA section:
http://www.rfc-editor.org/errata_search.php?rfc=3261
(the second bug).
How to handle it? This is clearly a bug in the SIP BNF syntax for which I
don't know a fix, is there a draft or something fixing it?
Thanks.
--
Iñaki Baz Castillo
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors