We are having issues with our local FreePBX installation (it’s actually has little to do with FreePBX, and most likely related to how asterisk process incoming call requests). Some of our users use softphones installed on their iPhone 5S devices, mostly Zoiper. The problem is that iPhones tend to meddle with phone numbers being added to their contact lists, adding dashes ("-") and braces ("()") here and there. It seems to be unavoidable “feature” of this piece of equipment, and when users try to call somebody from their system contact list from Zoiper (i.e. they have contacts created by some means before Zoiper was even here, now they try to select them as a callee to get a cut on international calls as we have SIP trunks to several SIP-providers at the office), the number which is being transferred to the PBX, looks like +11122333-44-55, and it’s being rejected by it. Note the dashes, they aren’t there if, say, for example, I call the same party from my android smartphone, it’s just +111223334455 and call is relayed successfully.
Well, first of all, I understand, that we could force our users to edit all numbers in their contact lists and remove excessive characters. But that’s not even close to what could be called an effective solution. Now, we probably could just create additional routes in PBX, which will be able to handle numbers with dashes (at the moment our routes only process numbers with digits and “+” sign in them) - I assume that raw asterisk have much more flexibility in how routes can be defined, than web GUI of FreePBX, may be it even support regexps or something like that - but that’s not a very good and scalable solution either, and would have required to delve into the deep intestines of asterisk - and the actual reason we have a FreePBX distro installed is that it saves us from the need to do so.
So, my question is regarding whether or not there are some other ways to get rid of these metacharacters in numbers used by iPhones? Like, some option of Zoiper to can sanitize numbers before sending them to PBX, or some plugin for asterisk, usable from FreePBX web GUI, doing the same? Or may be there is some other softphone which can do sanitation out-of-the-box? Would be very grateful if somebody could point out the solution.