how to break a Forwarding Loop

Status
Not open for further replies.

Gerhard Urschler

Forum User
Joined
Jun 3, 2018
Messages
3
Reaction score
0
I have to 3CX prof installations on 2 sites, each has 1 oder even 2 external sip-providers, and there is a trunk between both installations.
If an invalid number gets called, the number gets routed on site A to provider A, there the call gets rejected, so the 3cx hunts the next trunk, where the call gets rejected, then the bridge comes ino the game, the call goes to site B where the sip-provider rejects the call (the number is still invalid).

the 3cx on site b now reroutes the call over the bridge to site a, where the game sbegins. I can watch as the callchain gets longer and longer, until all 16 seats are used up.
The prefix gets loinger and longer, every hop the dialcode for the bridge is attached.
How can I stop this?
I tried an outgoing rule that blocks the call if the doubled prefixes are matched - but it'S not working.
 
If an invalid number gets called, the number gets routed on site A to provider A

You should be correcting things at this point. If an invalid number is dialled, the outbound rules should stop the call right there.

I tried an outgoing rule that blocks the call if the doubled prefixes are matched - but it'S not working.

Then you have not set up the outbound rules corrrectly. Keep in mind that rules are read from top to bottom, with the the fitrst match being taken. In some cases, you may need to make your rules more specific, rather than relying in the number of digits alone.
 
ok, I think I didn't provide enough information for you:

The outbound rule has a fallback: if the SIP provider is not available it takes the route over the bridge to the site B, where there is a different sip provider. The idea behind this: if SIP provider on site A is down they still can make outgoing calls via sip provider on site B.

With invalid number I mean an external number, that doesn't exist. There is no way to make an outbound rule filtering for that, which is actually the problem to my mind.

So the scenario is like this: an external number is called, the outbound rule takes the SIP provider on Site A, this fails (because the number doesnt exist in the external world) so it switches to the fallbackrule, which is the bridge -> on site B the same happens, the call goes over the oubound rule to the provider on site B, it fails also (the number is not reachable, because it doesnt exist) and it goes to the fallback rule, which is again the bridge.

I understand why it happens, I just don't know if this can be solved with 3cx. If a rule could detect maximum amount of hops it would be easy to solve.

I can choose between deleting the fallback rule oder accepting that a wrong number will kill for a short period of time all may available slots.

Is there another way of coping with this kind of scenario?
 
Define "the number does not exist". If a number is "not in service" the caller will usually reach a recording letting them know. The call should not fail, then use a second route, as the call terminated correctly.
 
"the number does not exist" I mean a number which is eg a typo: the sip provider returns a Code 404 "not found". There is NO recording ("this number does not exist), the call is NOT connected, but rejected by the sip provider.

Because of the error 404 the 3cx goes to the 1st backuproute, then to the 2nd backuproute, (but no recordings, that'S the 3cx mechanismen for fallback, isn'T it?)
 
You might want to ask your provider about this. Perhaps it is calls to non-working mobile numbers, or other non-PSTN numbers? With my provider, if I call a PSTN number that is not working, I reach the PSTN company recording saying that the number is not in service, and no answer supervision, which is to be expected.

What you might try, is...in the other PBX, the destination that the call outbound call is sent to, when the local route fails... create an outbound rule to be used only for calls coming in over the bridge trunk. So, as an example, the "normal" outbound rule, calls beginning with 9, that are 11 digits long...send out on trunk group A (with a backup route of the bridge trunk back to the other PBX). You create a second outbound rule, that handles calls beginning with 99 (or whatever else you want to use), 12 digits long, but the second (fail) route is to end the call, or, route to a local IVR stating the number does not exist.

In the originating PBX change the prefix, on the number sent over the bridge, so that it matches the new outbound rule in the other PBX. Calls should then try a trunk from each PBX, then end, as there would be no route back to the originating PBX.
 
Status
Not open for further replies.

Forum statistics

Threads
111,953
Messages
589,914
Members
164,849
Latest member
BillyAkansel