Call rules with a prefix of 7

Status
Not open for further replies.

seantp

Customer
Joined
Sep 9, 2017
Messages
102
Reaction score
6
I'm running into a problem where I've set a prefix to use for outbound caller id. I picked 7, and the phone system seems to think I'm trying to use that prefix as a country code. The obvious solution is to choose another number. But does this seem right? If the outbound rule strips the prefix how is it still considered a country code. I have the problem with 10 & 11 digit numbers. With 11 I just strip 2 digits instead of one and that words, but I've got nothing for 10.

Is this a glitch or am I missing something?
 

Attachments

  • 3cx10.png
    3cx10.png
    35.7 KB · Views: 39
  • 3cx11.png
    3cx11.png
    35.7 KB · Views: 37
You are stripping two digits, do you want this - with a prefix of 7 do you need to strip 1 digit
 
That's the problem, 7 is the country code for Kazakhstan and with a normal outbound rule it is blocked because I don't have international calls enabled. The only way I got it to work was to strip 2 digits instead of just the 1. I wound up making the prefix *7, but it seems like a glitch.
 

Attachments

  • ruleblock.png
    ruleblock.png
    14.6 KB · Views: 12
Check your E164 settings
 
I think that there is still a problem with your outbound rules, not that you have chosen 7 as a prefix. Check the 3CX Activity Log to be certain that the calls are using the rule that you think they should be. Rules read top to bottom with the first match followed. Can you explain the numbers (format) you are trying to route? I see that you are prepending +1. Does your provider require the + as it is usually dialled by a caller, then converted to a "standard" numeric prefix using E164, before being sent out. Is there some reason to use a 7 prefix rather than the more common 9?
 
I'm trying to find documentation on the e164 settings page, but am not having any luck. Posting what I have here and hopefully it will help. Not sure how this should be setup and I'm not exactly sure what it's doing. I vaguely remember following some guide when I first setup my sip trunk. Remove if same Country was checked, I unchecked that and got the same error. I also turned processing off and * symbols started popping up.

I'm using 7, 8 & 9 for different outbound caller ID's. Not that I like this workaround, but my requests for supporting multiple extensions via line keys doesn't garner much support in this community.

My SIP provider is Bandwidth and it's very possible that I implemented an old guide that may not make sense anymore.
 

Attachments

  • e164.png
    e164.png
    33.8 KB · Views: 19
In the log I found this, it does seem to be tacking on the + for me
 

Attachments

  • 3cxactivitylog1.png
    3cxactivitylog1.png
    14.1 KB · Views: 13
I've made progress, called Bandwidth and read up on E164. I think my problem was that I started with Twilio and then moved to Bandwidth and there were left over configurations.

The rules are working normally after disabling E164 settings (still don't understand the logic and can't find documentation) and rearranging the order so prefix are matched first before my local outbound rules.

Now the only thing that is stumping me is after disabling E164 in settings my caller ID has a * instead of a +.
 
Just so I'm clear...how are users dialling? Do they dial 71 NXX Nxx-xxxx? You are stripping 2 then prefixing with +1, why not just strip 1 and prefix with1?
 
The E164 settings are there to deal with users dialling a + as a prefix. Depending on your location (country) and the type of number dialled (international, national or local), that + has to be changed into the correct prefix, or simply eliminated. What is left, is then handled by the outbound rules.
 
  • Like
Reactions: seantp
That's what I did. The +1 was a requirement for Twilio, not for bandwidth. So it was working but not necessary. Then with the E164 settings turned on, it was recognizing 7 as a country code and adding the + so my stripping was basically removing the + added by the E164 logic and screwing me up.

According to bandwidth I only need to use E164 on international calls, which the E164 settings might come in handy. But still don't understand what the logic behind it is.
 
Ah, I see, so dialing 011 with E164 processing settings enabled would replace the 011 with a + and the following number with country code would be formatted correctly.

Then "Remove if same Country" will remove the + if you dialed a 1 because its domestic.
The same for the area code for local numbers, I guess if it recognizes that it would not prefix with a +

I guess I don't get what "National Code" and "Add Prefix" are for.
 
Ah, I see, so dialing 011 with E164 processing settings enabled would replace the 011 with a + and the following number with country code would be formatted correctly.

actually, the other way around, the plus is replaced with the required prefix

If you use a mobile and do a lot of international travelling, calling numbers in various countries, you probably store your numbers as + (country code) areacode and number. The + means that you can store the numbers once, and dial them from/to any country, using any mobile provider and don't have to know what the local country uses as a long distance access code. A North American number would be stored as +1NXXNXXXXXX, where 1 is the country code, not the long distance access, and all mobile provider understand that.

It works the same way in 3CX when you enable E164, but because 3CX is deployed in many countries, you have to specify what the + will represent (convert the + to). 3CX will convert that into the required prefix, then send use that to the outbound rules, which do a match, manipulate digits as required, and send the call to the desired provider.
Normally, 3CX callers won't dial a + as the leading digit, but it may be stored in a directory with the leading +.
Most providers don't require a leading + to be sent , and are quite content with all digts. Of course there are always exceptions, and it is best to confirm what format your provider wants for all types of calls.
 
Where is the documentation for this functionality of 3CX?
 
I haven't really seen a manual on implementing E164 in 3CX as it is pretty straight forward. As it is, E164 is simply a standard format for PSTN numbers. https://en.wikipedia.org/wiki/E.164

And in the case of 3CX, it is being able to prefix (or delete) digits, as the case may, (usually national or international) to comply with what your provider wants. As I said earlier, in many cases it is the ability of 3CX to "deal" with users sending a + prefix, and what that should be changed into, so that not only the outbound rules can process the call, but so that it is passed correctly to the provider.
If users always dialled their calls with the correct long distance access prefix, then the E164 setting would not be needed, but they don't, and many have numbers stored with a leading + in place of the long distance access code, so that needs to be handled correctly.
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
111,937
Messages
589,831
Members
164,819
Latest member
mechelle