[Resolved] TDM04B does not make outgoing calls on chan 2-4

Hi there,
I have Asterisk@Home 1.5 and TDM04B. I created 4 trunks (g0, g1, g2, g3) in AMP. I also have 4 outbound routes, one for each channel with the same dialplans. I can make outbound calls with trunk1 no problem, but if I want to make another call while trunk1 is busy, it just says “all circuits are busy now…”. I moved the outbound route for trunk2 and trunk3 to the top and left the trunk1 on the bottom, so that the first line to be used woul be trunk2, and no other trunks were being used, and I got the same message, “all circuits…”.
The trunks all get incomming calls though, but outgoing calls only work on trunk1.
What could it be? Could it be that the TDM400 is no working propperly?
Please help.

Here is a log of a call on trunk2 that didn’t go through:

Connected to Asterisk 1.0.9 currently running on asterisk1 (pid = 1175)
Verbosity is at least 3
– Executing Macro(“SIP/222-6ef9”, “dialout-trunk|2|1204xxxxxxx|”) in new stack
– Executing GotoIf(“SIP/222-6ef9”, “1?3:2)”) in new stack
– Goto (macro-dialout-trunk,s,3)
– Executing Macro(“SIP/222-6ef9”, “record-enable|222|OUT”) in new stack
– Executing GotoIf(“SIP/222-6ef9”, “0 > 0?2:4”) in new stack
– Goto (macro-record-enable,s,4)
– Executing GotoIf(“SIP/222-6ef9”, “1?5:8”) in new stack
– Goto (macro-record-enable,s,5)
– Executing DBget(“SIP/222-6ef9”, “RecEnable=RECORD-OUT/222”) in new stack
– DBget: varname=RecEnable, family=RECORD-OUT, key=222
– DBget: set variable RecEnable to DISABLED
– Executing SetVar(“SIP/222-6ef9”, “CALLFILENAME=OUT222-20051013-180822-1129244902.15”) in new stack
– Executing Goto(“SIP/222-6ef9”, “s|14”) in new stack
– Goto (macro-record-enable,s,14)
– Executing GotoIf(“SIP/222-6ef9”, “0?15:99”) in new stack
– Goto (macro-record-enable,s,99)
– Executing NoOp(“SIP/222-6ef9”, “NO RECORDING NEEDED”) in new stack
– Executing GotoIf(“SIP/222-6ef9”, “1?7”) in new stack
– Goto (macro-dialout-trunk,s,7)
– Executing GotoIf(“SIP/222-6ef9”, “0?9”) in new stack
– Executing SetCallerID(“SIP/222-6ef9”, “204yyyyyyy”) in new stack
– Executing SetGroup(“SIP/222-6ef9”, “OUT_2”) in new stack
– Executing CheckGroup(“SIP/222-6ef9”, “1”) in new stack
– Executing SetVar(“SIP/222-6ef9”, “DIAL_NUMBER=1204xxxxxxx”) in new stack
– Executing SetVar(“SIP/222-6ef9”, “DIAL_TRUNK=2”) in new stack
– Executing AGI(“SIP/222-6ef9”, “fixlocalprefix”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
fixlocalprefix: Could not parse /etc/asterisk/localprefixes.conf
– AGI Script fixlocalprefix completed, returning 0
– Executing SetVar(“SIP/222-6ef9”, “OUTNUM=1204xxxxxxx”) in new stack
– Executing Cut(“SIP/222-6ef9”, “custom=OUT_2|:|1”) in new stack
– Executing GotoIf(“SIP/222-6ef9”, “0?19”) in new stack
– Executing Dial(“SIP/222-6ef9”, “ZAP/g1/1204xxxxxxx”) in new stack
== Everyone is busy/congested at this time
– Executing Goto(“SIP/222-6ef9”, “s-CHANUNAVAIL|1”) in new stack
– Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
– Executing NoOp(“SIP/222-6ef9”, “Dial failed due to CHANUNAVAIL”) in new stack
– Executing Macro(“SIP/222-6ef9”, “outisbusy”) in new stack
– Executing Playback(“SIP/222-6ef9”, “allison7/all-circuits-busy-now”) in new stack
– Playing ‘allison7/all-circuits-busy-now’ (language ‘en’)
– Executing Playback(“SIP/222-6ef9”, “allison7/pls-try-call-later”) in new stack
– Playing ‘allison7/pls-try-call-later’ (language ‘en’)
– Executing Macro(“SIP/222-6ef9”, “hangupcall”) in new stack
– Executing ResetCDR(“SIP/222-6ef9”, “w”) in new stack
– Executing NoCDR(“SIP/222-6ef9”, “”) in new stack
– Executing Wait(“SIP/222-6ef9”, “5”) in new stack
== Spawn extension (macro-hangupcall, s, 3) exited non-zero on ‘SIP/222-6ef9’ in macro ‘hangupcall’
== Spawn extension (macro-outisbusy, s, 3) exited non-zero on ‘SIP/222-6ef9’ in macro ‘outisbusy’
== Spawn extension (from-internal, 1204xxxxxxx, 2) exited non-zero on ‘SIP/222-6ef9’
– Executing Macro(“SIP/222-6ef9”, “hangupcall”) in new stack
– Executing ResetCDR(“SIP/222-6ef9”, “w”) in new stack
– Executing NoCDR(“SIP/222-6ef9”, “”) in new stack
– Executing Wait(“SIP/222-6ef9”, “5”) in new stack
== Spawn extension (macro-hangupcall, s, 3) exited non-zero on ‘SIP/222-6ef9’ in macro ‘hangupcall’
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/222-6ef9’
asterisk1*CLI>

why 4 groups ? why not 1 group ? then let asterisk decide which trunk to use when you use Dial(ZAP/g0/xxxxxx) ?

I had only one Outbound Route (group) before to let Asterisk decide which trunk to take, but I had the same problem. It only lets me make outbound calls on trunk1.
Has anyone have an idea where the problem is?

I resolved this by adding all 4 channels to the g0 trunk.

I have the same problem, how did you solve it exactly?

Soren,
In AMP I created only 1 trunk (g0) instead of 4 trunks (g0, g1, g2, g3). I gave this one trunk 4 channels (in AMP as well) and then made one route for the g0 trunk. This works.

Thanks, sounds like the right way to go. I need to ask this though: How do you create several channels for one trunk?

Asterisk creates the channels when you install the card, you don’t need to create them. If you have Asterisk@Home, check zapata-auto.conf and you should see the channel there. If you have the “standalone” Asterisk, the channels should be in zapata.conf.