I am planning on dabbling with some VOIP providers. I was thinking of Teliax first. My thinking is that the first LD call would go to teliax and the second (etc.) calls would go out to the PSTN. I could then verify bandwidth and quality to decide when to add more trunks and to Internet connections. I have been doing some concept testing with FWD for toll free calls, but I am using 393 as a trunk access code. Question: Will Asterisk know that the one Teliax circuit is in use and use a different trunk? How would I make the dialplan to use a different trunk if the Teliax one is busy? Currently I have: [outrt-003-dial9] include => outrt-003-dial9-custom exten => _9.,1,Macro(hoodahek,${ARG1}) exten => _9.,2,Macro(dialout-trunk,1,${EXTEN:1},) ;or could be Dial(Zap/g1/${EXTEN}) ;exten => _9.,3,Macro(outisbusy) ; No available circuits ;Since this is a PRI group, I am not sure how it's internals work. I do not see it say channel 1 is busy, channel 2 is busy using channel 3 in the logs. would I just change it to: [outrt-003-dial9] include => outrt-003-dial9-custom exten => _9.,1,Macro(hoodahek,${ARG1}) exten => _9.,2,Macro(dialout-trunk,4,${EXTEN:1},) ;or could be Dial(IAX2/Teliax1${EXTEN}) ; Will it skip this if it is in use or down? exten => _9.,3,Macro(dialout-trunk,1,${EXTEN:1},) ;or could be Dial(Zap/g1/${EXTEN}) exten => _9.,4,Macro(outisbusy) ; No available circuits ? -- -- Steven May you have the peace and freedom that come from abandoning all hope of having a better past. --- - --- - - - - - - - -- - - - --- - ------ - - --- - - -- - - - -- - - -
Kevin Bockman
2005-Sep-21 08:26 UTC
[Asterisk-Users] Does Asterisk know if the trunks are busy?
Steven wrote:> How would I make the dialplan to use a different trunk if the Teliax one is > busy?This is something I'm testing right now. This is what I use to keep track of how many channels are in use on each T1 and failover to something else if there is a problem(?). I'll be using this for T1 and for VOIP. Here's a sample: exten => _*1XXXXXXXXXX,1,GotoIf($[ ${GROUP_COUNT(g1)} > 22 ]?g2) exten => _*1XXXXXXXXXX,n,Set(GROUP()=g1) exten => _*1XXXXXXXXXX,n,NoOp(${GROUP_COUNT(g1)}) exten => _*1XXXXXXXXXX,n,Dial(Zap/g1/${EXTEN:1}|20) exten => _*1XXXXXXXXXX,n,NoOp(${DIALSTATUS}) exten => _*1XXXXXXXXXX,n,GotoIf($[ "${DIALSTATUS}" : "CONGESTION" ]?g2) exten => _*1XXXXXXXXXX,n,Hangup exten => _*1XXXXXXXXXX,n(g2),GotoIf($[ ${GROUP_COUNT(g2)} > 22 ]?g3) exten => _*1XXXXXXXXXX,n,NoOp(${GROUP_COUNT(g1)}) exten => _*1XXXXXXXXXX,n,Set(GROUP()=g2) exten => _*1XXXXXXXXXX,n,NoOp(${GROUP_COUNT(g2)}) exten => _*1XXXXXXXXXX,n,Dial(Zap/g2/${EXTEN:1}|20) exten => _*1XXXXXXXXXX,n,GotoIf($[ "${DIALSTATUS}" : "CONGESTION" ]?g3) exten => _*1XXXXXXXXXX,n,Hangup ... etc. The NoOps can be taken out. It is just a visual for debugging. Kevin