________________________________________
From: [email protected]
[[email protected]] On Behalf Of Iñaki Baz
Castillo [[email protected]]
So, even if I'm right (my parser is ok) I want to be less restrictive
and allow such invalid bytes as value of generic header. The ABNF of
header_value is RFC 3261 is:
header-value = *(TEXT-UTF8char / UTF8-CONT / LWS)
TEXT-UTF8char = %x21-7E / UTF8-NONASCII
UTF8-NONASCII = %xC0-DF 1UTF8-CONT
/ %xE0-EF 2UTF8-CONT
/ %xF0-F7 3UTF8-CONT
/ %xF8-Fb 4UTF8-CONT
/ %xFC-FD 5UTF8-CONT
UTF8-CONT = %x80-BF
_______________________________________________
There is a corruption that allows situations like this to work fairly well:
Treat all "upper half" bytes (x80 to xFF) as "letters":
UTF8-NONASCII = %x80-FF
This causes UTF-8 encoded characters x80 and upward to appear as a sequence of
UTF8-NONASCII, but in most applications, that is acceptable. If the text is
encoded using ISO-8859-x, or any one-byte encoding that reserves x00-x7F to
match ASCII, then the characters x80-xFF are parsed as a single UTF8-NONASCII.
Of course the best solution is to replace any device that does not encode
characters correctly. But also verify that you are configuring the device
correctly -- if the configuration information is presented in an unexpected
encoding, the phone might be copying the bytes without examining them.
Dale
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors