< Previous by Date Date Index Next by Date >
  Thread Index  

[reSIProcate] Uri changes, encoding of #




I've just committed changes to Uri:

- typo correction
- use of lookup tables (std::bitset) for checking which characters to encode, for better performance
- runtime configuration of the lookup tables, for compatibility

Typically, the runtime configuration means forcing Uri to behave in non-standard ways, for compatibility with non-standard user agents.

E.g. if you are sending calls to a carrier who expects you to insert 1234# at the beginning of each number, and the carrier is rejecting the calls with the encoded (%23) version of #, then calling this static method before constructing any Uris will let you send him the type of Uri he may be expecting:

Uri::setUriUserEncoding('#', false);

I realise resip::Uri is pretty fundamental to the whole stack, I'd appreciate it if someone could have a look at what I've committed and make sure nothing is broken.