Non-ascii Unicode characters in messages cause SIP client problems
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Medium
|
Unassigned | ||
SIPServer |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Most SIP vendors expect ASCII output in SIP messages. The SIP standard basically says messages should be in ASCII unless the client and server agree otherwise. Since we generally have no way of know if the server and client do agree otherwise, SIPServer should generally just return valid ASCII characters in response messages.
This specifically came up with one vendor using SIP to look up the transit destinations of copies in delivery. One of our copies had a call number with an accented a in it. The field containing that call number caused the vendor to not be able to parse the response message.
We checked and we have a few hundred call numbers with accented or otherwise special characters in them. Not to mention authors and titles that may contain odd characters.
The branch below makes a modification to Sip.pm's add_field to replace non-ASCII characters in the field with a numeric entity representation, similar to what is done with the | or field delimiter character. These representations may not be correct Unicode, but they seem to work in the absence of a better solution.
Changed in sipserver: | |
assignee: | nobody → Jeff Godin (jgodin) |
Changed in evergreen: | |
milestone: | none → 2.next |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
Changed in sipserver: | |
status: | Fix Committed → Fix Released |
Branch is user/dyrcona/ lp1463943_ ensure_ ascii_output in the working repository:
http:// git.evergreen- ils.org/ ?p=working/ SIPServer. git;a=shortlog; h=refs/ heads/user/ dyrcona/ lp1463943_ ensure_ ascii_output