I have *exactly* the same question asked originally here: Please Explain How Number Re-writing is Meant to Work. This topic is closed with the response given in a ticket which we can't see, so asking the question again here for a public reply :-)
Using Zoiper Pro v2.5.40 on Android
How is Number Rewriting functionality is meant to work. The help page doesn't explain and appears to be very out of date - https://www.zoiper.com/en/support/answer/for/android/124/Number_rewriting)
I am in North American based (country code 1).
I have all my contacts set as +<country code> <number>.
So in "Number Rewriting" I select "Canada (1 CA)" and in "Rewrite International Numbers" I enter 011 (the three characters needed in my location to dial any country code which is not "1")
Now when I have a contact +1 416 555 1234, I want Zoiper to dial 14165762542, or failing that 4165762542, but it is re-written as 0114165551234 - which fails - because I'm not trying to dial country code 4, 41 or 416
But when I have a contact +44 121 555 1234 it is correctly dialed as 011441215551234
How do I stop it re-writing +1 numbers, and ideally just strip the + leaving the 1?
I assume that what selecting "Canada (1 CA)" is meant to do this - tell Zoiper where I am (from the perspective of telephone country code), so it doesn't apply the number re-writing rule to those numbers?
(Note I have removed + from the string of characters that will be stripped - if I leave + in the list of characters to be stripped it won't even re-write international numbers)
Look forward to understanding this and getting it working - right now I have to edit every local or every overseas number before dialing!