Outbound rules, correct order question and observation

Status
Not open for further replies.

timPool

Customer
Basic Certified
Joined
May 29, 2021
Messages
4
Reaction score
0
Hello!

Is it a fair assumption and practice when making outbound rules to order them in a top-down fashion from most complicated to least complicated?
 
Correct - most specific at top, least specific at bottom.
 
That is correct. The PBX will evaluate them in that order and will route the call through the first match it finds. Once it finds a match it will skip the rest. So the more specific the outbound rule the higher it should be.
 
When does the evaluation start? Does it run continuosly as we punch in the digits, or does it evaluate after a timeout from the last dialed digit?

If for example I have these two rules:

rule 1 prefix 0021 with lenght 15
rule 2 prefix 0021 with lenght 14

Will it select rule 2 when I reach 14th digit in my dialing?

Thanks!
 
When does the evaluation start? Does it run continuosly as we punch in the digits, or does it evaluate after a timeout from the last dialed digit?

If for example I have these two rules:

rule 1 prefix 0021 with lenght 15
rule 2 prefix 0021 with lenght 14

Will it select rule 2 when I reach 14th digit in my dialing?

Thanks!
When it's sent to the PBX.

From an IP phone, it's a timeout from the last digit usually.
From a 3CX app, when you push send.
 
When dialing in VoIP the number is always passed on, and evaluated, as an whole entity. It's the same as when dialing from your mobile.
 
Last edited:
Yes, it is the same when using the 3CX mobile client.
 
Thank you for the replies. That's what I thought, it would make sense, but look what happened this morning.

Amongst my rules there is one for what in Brazil we call service numbers that have 3 to 5 digits and always start with 1. People here are used to dial 0 to get an external line so they will dial for example 0145. In this case prefix will be 01, the rule will drop one number and dial 145. I have another rule for long distance calls which start with 014 and has lenght of 13 or 14 digits. For this rule I drop 3 digits and prepend 021 which is the service provider code we use. I'm 96,2334% sure that this long distance rule was positioned before the service numbers rule in the list. I tried do dial 01454abcdefgh but when I reached the 3rd or 4th digit the system apparently matched the service numbers rule and started the call preventing me from dialing the rest of the number.

I was testing from a Fanvil desk phone and I opened the line before dialing (pressed L1 to get a tone before dialing). If I dial all the numbers and then press Dial or #, it will work as expected. The phone is provisioned from a regular provisioning server (DHCP option 66) and not from the native 3CX provisioning method.

I had little sleep last night o_O so I'm not in my usual level of awareness and I may have messed things up with the rules order, but clearly the system started the call before I ended dialing. There was absolutely no timeout before matching to a rule.

Is this expected behavior?
 
Last edited:
Thank you for the replies. That's what I thought, it would make sense, but look what happened this morning.

Amongst my rules there is one for what in Brazil we call service numbers that have 3 to 5 digits and always start with 1. People here are used to dial 0 to get an external line so they will dial for example 0145. In this case prefix will be 01, the rule will drop one number and dial 145. I have another rule for long distance calls which start with 014 and has lenght of 13 or 14 digits. For this rule I drop 3 digits and prepend 021 which is the service provider code we use. I'm 96,2334% sure that this long distance rule was positioned before the service numbers rule in the list. I tried do dial 01454abcdefgh but when I reached the 3rd or 4th digit the system apparently matched the service numbers rule and started the call preventing me from dialing the rest of the number.

I was testing from a Fanvil desk phone and I opened the line before dialing (pressed L1 to get a tone before dialing). If I dial all the numbers and then press Dial or #, it will work as expected. The phone is provisioned from a regular provisioning server (DHCP option 66) and not from the native 3CX provisioning method.

I had little sleep last night o_O so I'm not in my usual level of awareness and I may have messed things up with the rules order, but clearly the system started the call before I ended dialing. There was absolutely no timeout before matching to a rule.

Is this expected behavior?
That's going to be dependent on the phone itself then. You "opened the line" and what happens there on Fanvil may be different then what happens on Yealink, or Grandstream, etc.
 
Some (most) phones do have internal dialplans available that will "react" to the digits dialed before they are sent to 3CX. It is up to you to edit those so they apply to all numbers that may be dialed, or, have none, if people use an end of dialing key
In the example you gave above...you should have a rule for calls starting with 0145, to intercept those calls, and place that rule above any rule with only 01, or 014
 
  • Like
Reactions: talesmaschio
@leejor your nailed it. I have dial plans in those phones built for our legacy PBX and one of them is exactly "01xx". I completely forgot about them :rolleyes:. Sorry.

Thank you very much.
 
Status
Not open for further replies.

Forum statistics

Threads
111,973
Messages
590,079
Members
164,899
Latest member
mazet