I have a fix just about ready for your review. As noted, there can be some weird things
in the telephone world!
There are a couple of not well defined issues. They more or less state that the objective
of the sip: uri, is that two equivalent uris will always be the equivalent string, thus
the need to sort the parameters and converting to lower case. That much is very clear.
But, applying this same reasoning to the "phone-context" parameter, if it is a
domain, then, it should be moved after the '@' symbol and not repeated as a
"phone-context" parameter, as to have an equivalent string to one without the
phone-context parameter.
For example, the following two are obviously equivalent, but, are not the same string:
sip:491234567891;phone-context=ims.tel.org@ims.tel.org;user=phone
sip:491234567891@ims.tel.org;user=phone
Also, they do not specifically state that visual separators should be removed from the
"phone-context" parameter when it is a global phone number prefix, but, without
removing them, we would again have the problem of equivalent sip uris not being equivalent
strings.
For example, the following two are obviously equivalent, but, not the same string:
sip:1234567;phone-context=+52-33@ims.tel.org;user=phone
sip:1234567;phone-context=+5233@ims.tel.org;user=phone
If that all sounds good to you, I will submit a fix after more testing.
I have not messed with checking for clearly bad use of visual separators, I just silently
remove all visual separators wherever they appear, as was done with the existing code.
Please let me know if you want any changes to the reasoning. You could also give me
example tel: uris you would like me to test before submitting the fix.
Thanks for everything!
Don.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/1173#issuecomment-313780749