I loaded Distro 1.812.210.58 today. Everything went fine until I added an outbound route to service a group of FXO trunks. Everything worked fine and calls could be made but when I tried a second call with the first trunk busy on either an incoming or outgoing call a busy tone was returned rather than stepping on to the next trunk. The log showed everything busy on the second call.
The trunks were set up as Dahdi trunks and I also tried setting them up as Zap (Dahdi compatibility mode) trunks but the same thing happened.
I have a GSM Gateway which has four individual SIP trunks that connect to asterisk. I set up an outbound route for this and it performs normally, ie when the first trunk is unavailable it steps to the next trunk and so on.
It seems the problem is only occurring with Dahdi trunks so I think I may have stumbled upon a bug but I am unsure if it is FreePBX or Asterisk related.
Before chasing this further I wonder if anyone else has tried this setup and with what results?
How did you setup the trunks? Did you use a group number or make an individual trunk per channel?
Zap has been gone since version 1.4 so that is not relevant.
Scott Holtzman, CTO
Micro Advantage, Inc.
http://www.microadv.com
One channel per trunk, I find it easier to control selection order that way.
Ok, so what is the output of 'dahdi show channels' from Asterisk CLI?
Can we please have a log trace showing that channel one is occupied and try and place a call?
Scott Holtzman, CTO
Micro Advantage, Inc.
http://www.microadv.com
I will collect some data tomorrow and post it. In the meantime I have tried a group and that worked as I would expect so I have got over my immediate problem.
I have made the tests you suggest. As far as I can see from the logs it seems that the first call goes out on DAHDI/3 which is the first trunk programmed in the Outbound Route and the second call also tries to use DAHDI/3 although DAHDI/1 is programmed as the second trunk in the outbound Route.
DAHDI SHOW CHANNELS:
Chan Extension Context Language MOH Interpret Blocked State pseudo default default In Service 1 from-analog en default In Service 2 from-analog en default In Service 3 from-analog en default In Service 4 from-analog en default In Service 5 from-analog en default In Service 6 from-analog en default In Service 7 from-analog en default In Service 8 from-analog en default In Service 9 from-analog en default In Service 10 from-analog en default In Service 11 from-analog en default In Service 12 from-analog en default In Service 13 from-analog en default In Service 14 from-analog en default In Service 15 from-analog en default In Service 16 from-analog en default In Service 17 from-analog en default In Service 18 from-analog en default In Service 19 from-analog en default In Service 20 from-analog en default In Service 21 from-analog en default In Service 22 from-analog en default In Service 23 from-analog en default In Service 24 from-analog en default In ServiceLOGS:
FIRST CALL:
Connected to Asterisk 1.8.12.0 currently running on hostedpbx (pid = 5421) Verbosity is at least 3 == Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 -- Executing [4651000@from-thecable:1] Macro("SIP/174-000000ad", "user-callerid,LIMIT,") in new stack -- Executing [s@macro-user-callerid:1] Set("SIP/174-000000ad", "AMPUSER=174") in new stack -- Executing [s@macro-user-callerid:2] GotoIf("SIP/174-000000ad", "0?report") in new stack -- Executing [s@macro-user-callerid:3] ExecIf("SIP/174-000000ad", "1?Set(REALCALLERIDNUM=174)") in new stack -- Executing [s@macro-user-callerid:4] Set("SIP/174-000000ad", "AMPUSER=174") in new stack -- Executing [s@macro-user-callerid:5] Set("SIP/174-000000ad", "AMPUSERCIDNAME=Stone Home Test 1") in new stack -- Executing [s@macro-user-callerid:6] GotoIf("SIP/174-000000ad", "0?report") in new stack -- Executing [s@macro-user-callerid:7] Set("SIP/174-000000ad", "AMPUSERCID=174") in new stack -- Executing [s@macro-user-callerid:8] Set("SIP/174-000000ad", "CALLERID(all)="Stone Home Test 1" <174>") in new stack -- Executing [s@macro-user-callerid:9] GotoIf("SIP/174-000000ad", "0?limit") in new stack -- Executing [s@macro-user-callerid:10] ExecIf("SIP/174-000000ad", "1?Set(GROUP(concurrency_limit)=174)") in new stack -- Executing [s@macro-user-callerid:11] GosubIf("SIP/174-000000ad", "7?sub-ccss,s,1(from-thecable,4651000)") in new stack -- Executing [s@sub-ccss:1] ExecIf("SIP/174-000000ad", "0?Return()") in new stack -- Executing [s@sub-ccss:2] Set("SIP/174-000000ad", "CCSS_SETUP=TRUE") in new stack -- Executing [s@sub-ccss:3] GosubIf("SIP/174-000000ad", "0?monitor_config,1(from-thecable,4651000):monitor_default,1(from-thecable,4651000)") in new stack -- Executing [monitor_default@sub-ccss:1] GotoIf("SIP/174-000000ad", "0?is_exten") in new stack -- Executing [monitor_default@sub-ccss:2] StackPop("SIP/174-000000ad", "") in new stack -- Executing [monitor_default@sub-ccss:3] Return("SIP/174-000000ad", "FALSE") in new stack -- Executing [s@macro-user-callerid:12] ExecIf("SIP/174-000000ad", "0?Set(CHANNEL(language)=)") in new stack -- Executing [s@macro-user-callerid:13] GotoIf("SIP/174-000000ad", "1?continue") in new stack -- Goto (macro-user-callerid,s,26) -- Executing [s@macro-user-callerid:26] Set("SIP/174-000000ad", "CALLERID(number)=174") in new stack -- Executing [s@macro-user-callerid:27] Set("SIP/174-000000ad", "CALLERID(name)=Stone Home Test 1") in new stack -- Executing [s@macro-user-callerid:28] Set("SIP/174-000000ad", "CHANNEL(language)=en") in new stack -- Executing [4651000@from-thecable:2] Set("SIP/174-000000ad", "MOHCLASS=default") in new stack -- Executing [4651000@from-thecable:3] Set("SIP/174-000000ad", "_NODEST=") in new stack -- Executing [4651000@from-thecable:4] Gosub("SIP/174-000000ad", "sub-record-check,s,1(out,4651000,)") in new stack -- Executing [s@sub-record-check:1] GotoIf("SIP/174-000000ad", "1?check") in new stack -- Goto (sub-record-check,s,6) -- Executing [s@sub-record-check:6] Set("SIP/174-000000ad", "__MON_FMT=wav") in new stack -- Executing [s@sub-record-check:7] GotoIf("SIP/174-000000ad", "1?next") in new stack -- Goto (sub-record-check,s,10) -- Executing [s@sub-record-check:10] ExecIf("SIP/174-000000ad", "0?Return()") in new stack -- Executing [s@sub-record-check:11] GotoIf("SIP/174-000000ad", "0?out,1") in new stack -- Executing [s@sub-record-check:12] Set("SIP/174-000000ad", "__REC_STATUS=INITIALIZED") in new stack -- Executing [s@sub-record-check:13] ExecIf("SIP/174-000000ad", "0?Set(__REC_POLICY_MODE=)") in new stack -- Executing [s@sub-record-check:14] Set("SIP/174-000000ad", "NOW=1338216216") in new stack -- Executing [s@sub-record-check:15] Set("SIP/174-000000ad", "__DAY=28") in new stack -- Executing [s@sub-record-check:16] Set("SIP/174-000000ad", "__MONTH=05") in new stack -- Executing [s@sub-record-check:17] Set("SIP/174-000000ad", "__YEAR=2012") in new stack -- Executing [s@sub-record-check:18] Set("SIP/174-000000ad", "__TIMESTR=20120528-104336") in new stack -- Executing [s@sub-record-check:19] Set("SIP/174-000000ad", "__FROMEXTEN=174") in new stack -- Executing [s@sub-record-check:20] Set("SIP/174-000000ad", "__CALLFILENAME=out-4651000-174-20120528-104336-1338216216.319") in new stack -- Executing [s@sub-record-check:21] Goto("SIP/174-000000ad", "out,1") in new stack -- Goto (sub-record-check,out,1) -- Executing [out@sub-record-check:1] ExecIf("SIP/174-000000ad", "1?Set(__REC_POLICY_MODE=dontcare)") in new stack -- Executing [out@sub-record-check:2] GosubIf("SIP/174-000000ad", "0?record,1(exten,4651000,174)") in new stack -- Executing [out@sub-record-check:3] Return("SIP/174-000000ad", "") in new stack -- Executing [4651000@from-thecable:5] Macro("SIP/174-000000ad", "dialout-trunk,13,4651000,") in new stack -- Executing [s@macro-dialout-trunk:1] Set("SIP/174-000000ad", "DIAL_TRUNK=13") in new stack -- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/174-000000ad", "0?sub-pincheck,s,1()") in new stack -- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/174-000000ad", "0?disabletrunk,1") in new stack -- Executing [s@macro-dialout-trunk:4] Set("SIP/174-000000ad", "DIAL_NUMBER=4651000") in new stack -- Executing [s@macro-dialout-trunk:5] Set("SIP/174-000000ad", "DIAL_TRUNK_OPTIONS=tr") in new stack -- Executing [s@macro-dialout-trunk:6] Set("SIP/174-000000ad", "OUTBOUND_GROUP=OUT_13") in new stack -- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/174-000000ad", "1?nomax") in new stack -- Goto (macro-dialout-trunk,s,9) -- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/174-000000ad", "0?skipoutcid") in new stack -- Executing [s@macro-dialout-trunk:10] Set("SIP/174-000000ad", "DIAL_TRUNK_OPTIONS=") in new stack -- Executing [s@macro-dialout-trunk:11] Macro("SIP/174-000000ad", "outbound-callerid,13") in new stack -- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/174-000000ad", "0?Set(CALLERPRES()=)") in new stack -- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/174-000000ad", "0?Set(REALCALLERIDNUM=174)") in new stack -- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/174-000000ad", "1?normcid") in new stack -- Goto (macro-outbound-callerid,s,6) -- Executing [s@macro-outbound-callerid:6] Set("SIP/174-000000ad", "USEROUTCID=Stone Home Test 1<9727462758>") in new stack -- Executing [s@macro-outbound-callerid:7] Set("SIP/174-000000ad", "EMERGENCYCID=Stone Home Test 1<8695670174>") in new stack -- Executing [s@macro-outbound-callerid:8] Set("SIP/174-000000ad", "TRUNKOUTCID=") in new stack -- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/174-000000ad", "1?trunkcid") in new stack -- Goto (macro-outbound-callerid,s,12) -- Executing [s@macro-outbound-callerid:12] ExecIf("SIP/174-000000ad", "0?Set(CALLERID(all)=)") in new stack -- Executing [s@macro-outbound-callerid:13] ExecIf("SIP/174-000000ad", "1?Set(CALLERID(all)=Stone Home Test 1<9727462758>)") in new stack -- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/174-000000ad", "0?Set(CALLERID(all)=)") in new stack -- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/174-000000ad", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack -- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/174-000000ad", "0?sub-flp-13,s,1()") in new stack -- Executing [s@macro-dialout-trunk:13] Set("SIP/174-000000ad", "OUTNUM=4651000") in new stack -- Executing [s@macro-dialout-trunk:14] Set("SIP/174-000000ad", "custom=DAHDI/3") in new stack -- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/174-000000ad", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default))") in new stack -- Executing [s@macro-dialout-trunk:16] ExecIf("SIP/174-000000ad", "0?Set(DIAL_TRUNK_OPTIONS=M(confirm))") in new stack -- Executing [s@macro-dialout-trunk:17] Macro("SIP/174-000000ad", "dialout-trunk-predial-hook,") in new stack -- Executing [s@macro-dialout-trunk-predial-hook:1] Set("SIP/174-000000ad", "TRUNK_GROUP_2=DAHDI/3") in new stack -- Executing [s@macro-dialout-trunk-predial-hook:2] GotoIf("SIP/174-000000ad", "0?rotaryhunting_2") in new stack -- Executing [s@macro-dialout-trunk-predial-hook:3] GotoIf("SIP/174-000000ad", "0?rotaryhunting_2") in new stack -- Executing [s@macro-dialout-trunk-predial-hook:4] MacroExit("SIP/174-000000ad", "") in new stack -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/174-000000ad", "0?bypass,1") in new stack -- Executing [s@macro-dialout-trunk:19] ExecIf("SIP/174-000000ad", "1?Set(CONNECTEDLINE(num,i)=4651000)") in new stack -- Executing [s@macro-dialout-trunk:20] ExecIf("SIP/174-000000ad", "1?Set(CONNECTEDLINE(name,i)=CID:9727462758)") in new stack -- Executing [s@macro-dialout-trunk:21] GotoIf("SIP/174-000000ad", "0?customtrunk") in new stack -- Executing [s@macro-dialout-trunk:22] Dial("SIP/174-000000ad", "DAHDI/3/4651000,300,") in new stack -- Called DAHDI/3/4651000 -- DAHDI/3-1 answered SIP/174-000000adSECOND CALL, FIRST CALL ONGOING:
== Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 -- Executing [4651000@from-thecable:1] Macro("SIP/175-000000ae", "user-callerid,LIMIT,") in new stack -- Executing [s@macro-user-callerid:1] Set("SIP/175-000000ae", "AMPUSER=175") in new stack -- Executing [s@macro-user-callerid:2] GotoIf("SIP/175-000000ae", "0?report") in new stack -- Executing [s@macro-user-callerid:3] ExecIf("SIP/175-000000ae", "1?Set(REALCALLERIDNUM=175)") in new stack -- Executing [s@macro-user-callerid:4] Set("SIP/175-000000ae", "AMPUSER=175") in new stack -- Executing [s@macro-user-callerid:5] Set("SIP/175-000000ae", "AMPUSERCIDNAME=Stone Home Test 2") in new stack -- Executing [s@macro-user-callerid:6] GotoIf("SIP/175-000000ae", "0?report") in new stack -- Executing [s@macro-user-callerid:7] Set("SIP/175-000000ae", "AMPUSERCID=175") in new stack -- Executing [s@macro-user-callerid:8] Set("SIP/175-000000ae", "CALLERID(all)="Stone Home Test 2" <175>") in new stack -- Executing [s@macro-user-callerid:9] GotoIf("SIP/175-000000ae", "0?limit") in new stack -- Executing [s@macro-user-callerid:10] ExecIf("SIP/175-000000ae", "1?Set(GROUP(concurrency_limit)=175)") in new stack -- Executing [s@macro-user-callerid:11] GosubIf("SIP/175-000000ae", "7?sub-ccss,s,1(from-thecable,4651000)") in new stack -- Executing [s@sub-ccss:1] ExecIf("SIP/175-000000ae", "0?Return()") in new stack -- Executing [s@sub-ccss:2] Set("SIP/175-000000ae", "CCSS_SETUP=TRUE") in new stack -- Executing [s@sub-ccss:3] GosubIf("SIP/175-000000ae", "0?monitor_config,1(from-thecable,4651000):monitor_default,1(from-thecable,4651000)") in new stack -- Executing [monitor_default@sub-ccss:1] GotoIf("SIP/175-000000ae", "0?is_exten") in new stack -- Executing [monitor_default@sub-ccss:2] StackPop("SIP/175-000000ae", "") in new stack -- Executing [monitor_default@sub-ccss:3] Return("SIP/175-000000ae", "FALSE") in new stack -- Executing [s@macro-user-callerid:12] ExecIf("SIP/175-000000ae", "0?Set(CHANNEL(language)=)") in new stack -- Executing [s@macro-user-callerid:13] GotoIf("SIP/175-000000ae", "1?continue") in new stack -- Goto (macro-user-callerid,s,26) -- Executing [s@macro-user-callerid:26] Set("SIP/175-000000ae", "CALLERID(number)=175") in new stack -- Executing [s@macro-user-callerid:27] Set("SIP/175-000000ae", "CALLERID(name)=Stone Home Test 2") in new stack -- Executing [s@macro-user-callerid:28] Set("SIP/175-000000ae", "CHANNEL(language)=en") in new stack -- Executing [4651000@from-thecable:2] Set("SIP/175-000000ae", "MOHCLASS=default") in new stack -- Executing [4651000@from-thecable:3] Set("SIP/175-000000ae", "_NODEST=") in new stack -- Executing [4651000@from-thecable:4] Gosub("SIP/175-000000ae", "sub-record-check,s,1(out,4651000,)") in new stack -- Executing [s@sub-record-check:1] GotoIf("SIP/175-000000ae", "1?check") in new stack -- Goto (sub-record-check,s,6) -- Executing [s@sub-record-check:6] Set("SIP/175-000000ae", "__MON_FMT=wav") in new stack -- Executing [s@sub-record-check:7] GotoIf("SIP/175-000000ae", "1?next") in new stack -- Goto (sub-record-check,s,10) -- Executing [s@sub-record-check:10] ExecIf("SIP/175-000000ae", "0?Return()") in new stack -- Executing [s@sub-record-check:11] GotoIf("SIP/175-000000ae", "0?out,1") in new stack -- Executing [s@sub-record-check:12] Set("SIP/175-000000ae", "__REC_STATUS=INITIALIZED") in new stack -- Executing [s@sub-record-check:13] ExecIf("SIP/175-000000ae", "0?Set(__REC_POLICY_MODE=)") in new stack -- Executing [s@sub-record-check:14] Set("SIP/175-000000ae", "NOW=1338216229") in new stack -- Executing [s@sub-record-check:15] Set("SIP/175-000000ae", "__DAY=28") in new stack -- Executing [s@sub-record-check:16] Set("SIP/175-000000ae", "__MONTH=05") in new stack -- Executing [s@sub-record-check:17] Set("SIP/175-000000ae", "__YEAR=2012") in new stack -- Executing [s@sub-record-check:18] Set("SIP/175-000000ae", "__TIMESTR=20120528-104349") in new stack -- Executing [s@sub-record-check:19] Set("SIP/175-000000ae", "__FROMEXTEN=175") in new stack -- Executing [s@sub-record-check:20] Set("SIP/175-000000ae", "__CALLFILENAME=out-4651000-175-20120528-104349-1338216229.321") in new stack -- Executing [s@sub-record-check:21] Goto("SIP/175-000000ae", "out,1") in new stack -- Goto (sub-record-check,out,1) -- Executing [out@sub-record-check:1] ExecIf("SIP/175-000000ae", "1?Set(__REC_POLICY_MODE=dontcare)") in new stack -- Executing [out@sub-record-check:2] GosubIf("SIP/175-000000ae", "0?record,1(exten,4651000,175)") in new stack -- Executing [out@sub-record-check:3] Return("SIP/175-000000ae", "") in new stack -- Executing [4651000@from-thecable:5] Macro("SIP/175-000000ae", "dialout-trunk,13,4651000,") in new stack -- Executing [s@macro-dialout-trunk:1] Set("SIP/175-000000ae", "DIAL_TRUNK=13") in new stack -- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/175-000000ae", "0?sub-pincheck,s,1()") in new stack -- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/175-000000ae", "0?disabletrunk,1") in new stack -- Executing [s@macro-dialout-trunk:4] Set("SIP/175-000000ae", "DIAL_NUMBER=4651000") in new stack -- Executing [s@macro-dialout-trunk:5] Set("SIP/175-000000ae", "DIAL_TRUNK_OPTIONS=tr") in new stack -- Executing [s@macro-dialout-trunk:6] Set("SIP/175-000000ae", "OUTBOUND_GROUP=OUT_13") in new stack -- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/175-000000ae", "1?nomax") in new stack -- Goto (macro-dialout-trunk,s,9) -- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/175-000000ae", "0?skipoutcid") in new stack -- Executing [s@macro-dialout-trunk:10] Set("SIP/175-000000ae", "DIAL_TRUNK_OPTIONS=") in new stack -- Executing [s@macro-dialout-trunk:11] Macro("SIP/175-000000ae", "outbound-callerid,13") in new stack -- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/175-000000ae", "0?Set(CALLERPRES()=)") in new stack -- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/175-000000ae", "0?Set(REALCALLERIDNUM=175)") in new stack -- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/175-000000ae", "1?normcid") in new stack -- Goto (macro-outbound-callerid,s,6) -- Executing [s@macro-outbound-callerid:6] Set("SIP/175-000000ae", "USEROUTCID=Stone Home Test 2<9727462758>") in new stack -- Executing [s@macro-outbound-callerid:7] Set("SIP/175-000000ae", "EMERGENCYCID=Stone Home Test 2<8695670175>") in new stack -- Executing [s@macro-outbound-callerid:8] Set("SIP/175-000000ae", "TRUNKOUTCID=") in new stack -- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/175-000000ae", "1?trunkcid") in new stack -- Goto (macro-outbound-callerid,s,12) -- Executing [s@macro-outbound-callerid:12] ExecIf("SIP/175-000000ae", "0?Set(CALLERID(all)=)") in new stack -- Executing [s@macro-outbound-callerid:13] ExecIf("SIP/175-000000ae", "1?Set(CALLERID(all)=Stone Home Test 2<9727462758>)") in new stack -- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/175-000000ae", "0?Set(CALLERID(all)=)") in new stack -- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/175-000000ae", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack -- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/175-000000ae", "0?sub-flp-13,s,1()") in new stack -- Executing [s@macro-dialout-trunk:13] Set("SIP/175-000000ae", "OUTNUM=4651000") in new stack -- Executing [s@macro-dialout-trunk:14] Set("SIP/175-000000ae", "custom=DAHDI/3") in new stack -- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/175-000000ae", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default))") in new stack -- Executing [s@macro-dialout-trunk:16] ExecIf("SIP/175-000000ae", "0?Set(DIAL_TRUNK_OPTIONS=M(confirm))") in new stack -- Executing [s@macro-dialout-trunk:17] Macro("SIP/175-000000ae", "dialout-trunk-predial-hook,") in new stack -- Executing [s@macro-dialout-trunk-predial-hook:1] Set("SIP/175-000000ae", "TRUNK_GROUP_2=DAHDI/3") in new stack -- Executing [s@macro-dialout-trunk-predial-hook:2] GotoIf("SIP/175-000000ae", "0?rotaryhunting_2") in new stack -- Executing [s@macro-dialout-trunk-predial-hook:3] GotoIf("SIP/175-000000ae", "0?rotaryhunting_2") in new stack -- Executing [s@macro-dialout-trunk-predial-hook:4] MacroExit("SIP/175-000000ae", "") in new stack -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/175-000000ae", "0?bypass,1") in new stack -- Executing [s@macro-dialout-trunk:19] ExecIf("SIP/175-000000ae", "1?Set(CONNECTEDLINE(num,i)=4651000)") in new stack -- Executing [s@macro-dialout-trunk:20] ExecIf("SIP/175-000000ae", "1?Set(CONNECTEDLINE(name,i)=CID:9727462758)") in new stack -- Executing [s@macro-dialout-trunk:21] GotoIf("SIP/175-000000ae", "0?customtrunk") in new stack -- Executing [s@macro-dialout-trunk:22] Dial("SIP/175-000000ae", "DAHDI/3/4651000,300,") in new stack [2012-05-28 10:43:49] WARNING[6927]: app_dial.c:2277 dial_exec_full: Unable to create channel of type 'DAHDI' (cause 17 - User busy) == Everyone is busy/congested at this time (1:1/0/0) -- Executing [s@macro-dialout-trunk:23] NoOp("SIP/175-000000ae", "Dial failed for some reason with DIALSTATUS = BUSY and HANGUPCAUSE = 17") in new stack -- Executing [s@macro-dialout-trunk:24] Goto("SIP/175-000000ae", "s-BUSY,1") in new stack -- Goto (macro-dialout-trunk,s-BUSY,1) -- Executing [s-BUSY@macro-dialout-trunk:1] NoOp("SIP/175-000000ae", "Dial failed due to trunk reporting BUSY - giving up") in new stack -- Executing [s-BUSY@macro-dialout-trunk:2] PlayTones("SIP/175-000000ae", "busy") in new stack -- Executing [s-BUSY@macro-dialout-trunk:3] Busy("SIP/175-000000ae", "20") in new stack == Spawn extension (macro-dialout-trunk, s-BUSY, 3) exited non-zero on 'SIP/175-000000ae' in macro 'dialout-trunk' == Spawn extension (from-thecable, 4651000, 5) exited non-zero on 'SIP/175-000000ae' -- Executing [h@from-thecable:1] Macro("SIP/175-000000ae", "hangupcall,") in new stack -- Executing [s@macro-hangupcall:1] GotoIf("SIP/175-000000ae", "1?theend") in new stack -- Goto (macro-hangupcall,s,3) -- Executing [s@macro-hangupcall:3] Hangup("SIP/175-000000ae", "") in new stack == Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'SIP/175-000000ae' in macro 'hangupcall' == Spawn extension (from-thecable, h, 1) exited non-zero on 'SIP/175-000000ae'A couple of things, when you post formatted output use the
[code]tags[/code] tags so we can read it.I went back and fixed your message to show you the difference.
Anyway, from-analog is not a valid context, where did you get that from? Did you create that context?
Second, according to the log here you don't have an entry in your outbound route for the next trunk.
- Executing [s@macro-dialout-trunk:22] Dial("SIP/175-000000ae", "DAHDI/3/4651000,300,") in new stack [2012-05-28 10:43:49] WARNING[6927]: app_dial.c:2277 dial_exec_full: Unable to create channel of type 'DAHDI' (cause 17 - User busy) == Everyone is busy/congested at this time (1:1/0/0) -- Executing [s@macro-dialout-trunk:23] NoOp("SIP/175-000000ae", "Dial failed for some reason with DIALSTATUS = BUSY and HANGUPCAUSE = 17") in new stack -- Executing [s@macro-dialout-trunk:24] Goto("SIP/175-000000ae", "s-BUSY,1") in new stack -- Goto (macro-dialout-trunk,s-BUSY,1) -- Executing [s-BUSY@macro-dialout-trunk:1] NoOp("SIP/175-000000ae", "Dial failed due to trunk reporting BUSY - giving up") in new stack -- Executing [s-BUSY@macro-dialout-trunk:2] PlayTones("SIP/175-000000ae", "busy") in new stack -- Executing [s-BUSY@macro-dialout-trunk:3] Busy("SIP/175-000000ae", "20") in new stack == Spawn extension (macro-dialout-trunk, s-BUSY, 3) exited non-zero on 'SIP/175-000000ae' in macro 'dialout-trunk' == Spawn extension (from-thecable, 4651000, 5) exited non-zero on 'SIP/175-000000ae' -- Executing [h@from-thecable:1] Macro("SIP/175-000000ae", "hangupcall,") in new stackScott Holtzman, CTO
Micro Advantage, Inc.
http://www.microadv.com
Scott
Actaully for analog lines from-analog is correct starting with 2.9 and newer. its the same as from-zaptel.
Tony Lewis
Schmooze Com, Inc.
FreePBX Developer
Learn something new every day.
Scott Holtzman, CTO
Micro Advantage, Inc.
http://www.microadv.com
Anyways this has always been my issue with Digium analog cards. If you setup each channels as a seperate trunk instead of using the whole group 0 it does not realize a channel is in use. I have seen this over and over again.
Tony Lewis
Schmooze Com, Inc.
FreePBX Developer
Actually, it's returning cause 17 busy. It's like he does not have another trunk programmed as the next destination in the outbound route.
Scott Holtzman, CTO
Micro Advantage, Inc.
http://www.microadv.com
I have checked, there is a second trunk there in the outbound route. I think the busy is coming from the first trunk that is busy from the first call because for some reason the second trunk is not being seen.
Where should I look to check that the trunk list has got out of FreePBX into the configuration files?
It's all DB driven and doesn't write a dial plan in the conventional sense.
Maybe someone else will chime in, or Tony is correct and this is a digium card/channel type issue.
Scott Holtzman, CTO
Micro Advantage, Inc.
http://www.microadv.com
The card was working normally before in an asterisk 1.4 trixbox installation so I don't think it will be a hardware issue, in which case it is more likely a software issue. I would like to eliminate fpbx before speaking to digium about it. Has anyone any suggestions on how to go about this?
This has nothing to do withe FreePBX. Its all handled as part of the Asterisk/DAHDI dealings. I would contact Digium as we have always used groups with DAHDI for this reason.
Tony Lewis
Schmooze Com, Inc.
FreePBX Developer
OK will discuss with Digium.
As an aside this has caused me to dig a little deeper into groups and I have found them to be more versatile than I had previously thought. g plus group number hunts from top to bottom G plus group number hunts from bottom to top r plus group number does a round robin and R plus group number does a round robin in I think [but not entirely sure] in the oposite direction.
Thanks for your help Scott and Tony.
Out of interest I tried allocating each channel to a group of its own and then put the individual groups in Outbound Routes. I found that everything behaved as one would expect so there is an easy workaround for the problem I was experiencing if there is a need to use an individual trunk for each Dahdi channel.