Outbound Trunk Sequence Stops After Two Trunks

(Drnate) #1

Hello! FreePBX newbie here, so please forgive me if I don’t use the correct terminology. I’m learning, but I’m having trouble with this problem:

I have 3 POTS lines (for the sake of argument, I’m labeling them Line 1, Line 2, and Line 3) coming into my Sangoma A20002DE FXO card. I can call in on all three lines (Inbound Routes are OK).
My Outbound Route is set up in the Trunk Sequence for Matched Routes to use line 1, then line 2, then line 3.
I have a custom congestion message recorded.

Problem: If line 1 is busy, then it will use line 2 (normal, desired behavior). If both 1 and 2 are busy, I get a busy signal for 5 seconds, then nothing (no congestion message, just the busy signal). It does not use Line 3.

After I noticed this behavior, I set up another Outbound Route, so I could dial 345*plus the number, to see if I could dial out on the number. That works OK (I can dial out on Line 3, I just have to “declare my intention to use Line 3 before I dial the number”).

I also switched the POTS lines in the back of the card (exchanged port 1 and port 3). I could now use Line 3 (which was plugged into port 1), but not line 1 (which was plugged into port 3).

My conclusion so far is that I have misconfigured something in either one of the DAHDI Modules or my outbound routes. The phone wires work OK, but having trouble getting the call to “rollover” to the third trunk.

Please comment on potential solutions or additional information (logs, config files, etc) that may help me solve this problem.

Thank you for your time!


You probably didn’t create the interface group correctly on dahdi. If you group all interfaces together in a single group, then you create a single trunk for that group. If you create several interface groups, then you need to create one trunk per group and you set the outbound trunk to use those groups sequentially.

(Drnate) #3

OK. Thank you. I set the ports up as g0, then set them up again in the Trunks with the dahdi identifier as g0. I set up each trunk as g0 ascending in the DAHDI trunks section.

It works as I expect it to now. Did I over-configure? When all three lines are busy, I don’t get my congestion message. Instead, the programed message tells us that we have reached the maximum number of simultaneous calls.


g and G both describe a ‘group’, g is hunt up , G is hunt down, If the ‘trunks’ are set to ‘hunt’ to the next if busy by the provider, then they will come in following your g<n> to the dadhi channel hardware you plug them into , so Use G0 for outbound calls, that way the highest device in the group will be used first, that reduces ‘glare’ when an inbound call collides with an outbound call.

If the DID’s dont hunt , connect them from most used to least used and use G0 or least used to most used and use g0

(Drnate) #5

Ok. Thank you. One of my team members mentioned today that they were dialling out and were connected to an incoming call without warning. So you may have saved me another post.

Lines 1 and 2 are phone company lines, line 3 is a cable company line that they threw in for me to try when I signed up for internet (great sound quality, but goes offline often).

The first two lines hunt, the third does not. So when calling out, we should use 3, then 2, then 1? Assign the outbound dahdi identifier to g0 so they hunt up? Do I have that right?

Do I have to have a separate trunk set up for each of the ports I’m using, or can I combine them into one trunk and label it g0 and move on? Currently, each DID is set up as a separate trunk.


Almost, if you plug them in backwards -)

Technically, the g(G)n are ‘trunks’ which generally refer to a collection of channels that can carry a phone call. So your individual FXO’s are channels assigned to a trunk.

To assign a DID to a channel you need to define a ‘pseudo’ number , you can assign an endpoint to s trunk though, read the wiki for the howtos

(Drnate) #7

Thank you so much for your help!