ability to strip the + used by mobile phone contact lists

Status
Not open for further replies.

Robert Deuchar

Free User
Joined
Sep 25, 2020
Messages
4
Reaction score
0
I cannot find a way of stripping the plus sign used in most mobile phone contact lists. i.e +31 20 123456789 It would appear that the server doesn't see the plus as a digit, and will not strip the plus and give you a number 31 20 123456789 to which you can add 00 or 011 as international dialing prefixes. This means that the contact list in the phone cannot be used the same as a mobile. I have tried several solutions such as number length etc. but as soon as the server sees the + sign it gives the message not found.
Does anyone have any suggestions, other than changing all the users mobiles to 00 31 20 123456789, which would in some cases need to be changed to 011 20 123456789.
 
You'll need to make use of the E164 settings in 3CX. That will allow you to specify what digit(s) the + will be replaced with, in the case of local, national, and international numbers, before the digits are processed by the outbound rules. Of course, you will have to have outbound rules that can then deal with those numbers with the "new" prefixes.
 
You could also create an outbound rule :
1601037757679.png
 
Unfortunately, it is not always that simple unless all of your stored numbers, using a +, are of one type , local, national, or international. And it will depend on what digits your provider will accept, for certian call types. The E164 settings will do all of this for you, based on your country code.
 
Neither solutions work, E164 is stripping out the +31 20 1234567 number and putting on the local code 0 in front of the 2 giving the number 020 1234567, and it works. But I have two trunks the other one +1 123 567 1234 and stripping out the + cannot be done on 2 trunks you can only have one trunk using e164. I have also looked into replacing the + with 00 and this was possible on the older 3cx app, but not on the latest version. Stripping out using the trunk definitions results in the + being sent anyway to the provider.
 
So you have one trunk where the provider does not want a leading +, and two that do, is that correct?
In the outbound rules of those that do, have you tried creating rules that strip the 0, or 00 and replacing with a + ?
 
both providers don't want the +. I have a trunk to country code +31 and +1 , the +31 uses the e164 manipulation which strips off the +31 and adds a 0 to the local code. This works perfectly to the Netherlands but under the e164 section there is no possibility of a trunk line using the e164 format so I tried using the Digit manipulation in the trunk Caller id section, but this appears not to work with the + sign being stripped only added, In other words when a call comes in I can add a +1 which can then be stored in the address book. I have tried 20 different types of methods of stripping out the + and replacing it with 00 or 011 with no luck, I also tried stripping out the +(XX)(*) then make \1\2 with the result 004412345678 (example) but get no action. it ignores it and send +4412345678 to the provider.
 
I also tried stripping out the +(XX)(*) then make \1\2 with the result 004412345678 (example) but get no action.
Well, this would appear to be the settings dealing with incoming caller ID manipulation.

So you have trunks to the Netherlands, and trunks to North America (I'm assuming). E184 should format your country numbers correctly by stripping the + and adding 0, which, it seems to doing. When you dial a number staring with +1, or +44, it should recognise that as being an international number, and prefix with your (locally used) international prefix, 00 as you have set in the E164 rules. If you are sending these numbers to trunks originating from those countries, in that they do not want a leading 00, that , and any other prefix can be manipulated in the outbound rules.

So, you dial +18085551212, E164 converts to 008085551212, you send to an outbound rule that is looking for numbers starting with 001, that are 13 digits long, strip 3 and send out on the North American provider , assuming they want only 10 digits.
For UK numbers, you dial +4412345678, E164 converts to 004412345678. you create an outbound rule for numbers starting with 0044, and whatever digit length, if required. Strip, the 0044, if required and prefix with 0, sending 012345678.

I don't know what number format your providers actually want, so you will have to change the stripped, and added digits as required. It is a matter of getting your E164 settings to change the + to a consistent format, that you can then manipulate in the outbound rules.
 
Last edited:
I have it working fully stripping and adding country code in E164 mode, Documentation could be better and a lot of the internet advice is based on country only experiences. It took some figuring out but got is working
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
111,963
Messages
589,998
Members
164,868
Latest member
swegner