Hi, I've realized that some phones (did I say Cisco Linksys SPA?)
incorrectly encode non ASCII symbols. For example, my name "Iñaki".
The phone sets "Iñaki" as display-name in Contact/From header:

  From: "Iñaki" <sip:[email protected]>

However my SIP parser detects an error. After inspecting it I've
realized that "Iñaki" is written in ISO-8859 rather than UTF-8. So:


Correct encoding (bytes decimal representation) for "Iñaki" using UTF-8:

  I =   73
  ñ =  195 177
  a =   97
  k =  107
  i =   105

Incorrect encoding (bytes decimal representation) for "Iñaki" using ISO-8859:

  I =   73
  ñ =  241
  a =   97
  k =  107
  i =   105


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


So, any secure modification I could perform on "header-value" grammar
to allow the above case?
Thanks a lot.


-- 
Iñaki Baz Castillo
<[email protected]>

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to