[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.