carrier hunt/trunk hunt

General and Support topics relating to ViciDialNow and GoAutoDial ISO installers

Moderators: enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, s0lid

carrier hunt/trunk hunt

Postby steve745 » Wed Dec 08, 2010 9:26 pm

goautodial install iso
asterisk 1.4
i have under Globals String: DIAL1 = SIP/trunk
dialplan entry exten => _9NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _9NXXNXXXXXX,2,Dial(${DIAL1}/${EXTEN:1},,tTor)
exten => _9NXXNXXXXXX,3,Hangup


i'm aiming to jump to next trunk DIAL2 = SIP/trunk2...etc if trunk is unavailable or in use
some form of rollover. I have trunks limited to 2 channels and have no clue how to code the dialplan to such. Someone PLZ help i know someone who knows what they are doing can do this in a minute or 2
steve745
 
Posts: 32
Joined: Wed Nov 24, 2010 11:51 am

Postby williamconley » Thu Dec 09, 2010 10:44 am

I'm not sure about goautodial (or version 2.2.1), but there were notes in the extensions.conf for rollover of trunks (sample dialplan commented out, but left there for posterity). I'm not positive it's still there, but if it is :)
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20019
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Postby gardo » Thu Dec 09, 2010 4:43 pm

Simplest way to do it is:

exten => _9NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _9NXXNXXXXXX,n,Dial(${DIAL1}/${EXTEN:1},,tTor)
exten => _9NXXNXXXXXX,n,Dial(${DIAL2}/${EXTEN:1},,tTor)
exten => _9NXXNXXXXXX,n,Dial(${DIAL3}/${EXTEN:1},,tTor)
exten => _9NXXNXXXXXX,n,Hangup


Where:

DIAL2 = SIP/trunk2
DIAL3 = SIP/trunk3


Of course there are more elegant ways to have it done. :)
http://goautodial.com
Empowering the next generation contact centers
gardo
 
Posts: 1926
Joined: Fri Sep 15, 2006 10:24 am
Location: Manila, 1004

Postby steve745 » Sun Dec 12, 2010 9:19 am

ok that looks much easier than i thought it would now let me ask this. will this cause the system to dial every trunk for priority 2,3,4 before hangup or with this function to hunt till open trunk is found then hangup.

i was thinking it would look like if trunkunavailable goto
or something like that i'll give a try to what you posted and see how that works

thanks for the assistance.
steve745
 
Posts: 32
Joined: Wed Nov 24, 2010 11:51 am

Postby williamconley » Sun Dec 12, 2010 11:15 am

Alternate from Vicibox 2.0 extensions.conf:
Code: Select all
; ViciDial Outbound FailOver Dialing
;exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => _91NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(sgw)}<80]?10)
;exten => _91NXXNXXXXXX,n,NoOp("Max Trunks Exceeded")
;exten => _91NXXNXXXXXX,n,Congestion
;exten => _91NXXNXXXXXX,10,Set(GROUP()=sgw)
;exten => _91NXXNXXXXXX,n,NoOp("TIU: ${GROUP_COUNT(sgw)}") ; For debug/testing
;exten => _91NXXNXXXXXX,n,Dial(${VICITRUNK1}/${EXTEN:1},,To)
;exten => _91NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?20)
;exten => _91NXXNXXXXXX,n,Hangup
;exten => _91NXXNXXXXXX,20,Dial(${VICITRUNK2}/${EXTEN:1},,To)
;exten => _91NXXNXXXXXX,n,Hangup
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20019
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

dialplan for trunk failover busy etc

Postby striker » Wed Dec 15, 2010 9:00 am

hi

use this dialplan it works great
this basedon n+101 concept as described in astersik
when there is a busy or trunk failure it will be go to n+101 dialplan

exten => _8X.,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _8X.,2,Dial(${TRUNK1}/0${EXTEN:1},,tTor)
exten => _8X.,3,Dial(${TRUNK2}/0${EXTEN:1},,tTor)
exten => _8X.,4,Hangup
exten => _8X.,103,Dial(${TRUNK2}/0${EXTEN:1},,tTor)
exten => _8X.,104,Hangup
exten => _8X.,204,Hangup
striker
 
Posts: 962
Joined: Sun Jun 06, 2010 10:25 am

Load Balance trunks/round robin

Postby chasejordan1 » Wed Dec 29, 2010 11:42 pm

I am currently using goautodial 2.0 final. Just downloaded it a day ago and set it up. It works great, a few minor adjustments and all is perfect. Thanks. I have set up 3 carriers (using web interface) and all of them work fine set up is below. Each trunk was set up 9 then 8 then 7 and each trunk would dial fine if I use the appropriate number (9,8, or 7) but then I wanted to set up the trunks to round robin/load balance etc. Below is the config and it works great "except" goautodial doesn't control the callid, the carrier does "ugh" I have tried some of the set up below and they wont dial out at all. Please advise.

"WORKS BUT CALLER ID ISSUE"

"FROM EXTENSIONS-VICIDIAL.CONF"

; WARNING- THIS FILE IS AUTO-GENERATED BY VICIDIAL, ANY EDITS YOU MAKE WILL BE LOST
TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569
TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569
SIPgoautodial = SIP/goautodial
cordiaip = SIP/cordiaip
VITEL-OUTBOUND = SIP/vitel-outbound


; logging of all outbound calls from agent phones
[defaultlog]
exten => s,1,AGI(agi-VDAD_inbound_calltime_check.agi,-----NO-----defaultlog--------------------)
exten => s,n,Background(sip-silence)
exten => s,n,WaitExten(20)


; hangup
exten => t,1,Playback(vm-goodbye)
exten => t,n,Hangup
exten => i,1,Goto(s,2)
; hangup
exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses ... EBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME})

; custom dialplan entries
exten => _X.,1,AGI(agi-NVA_recording.agi,BOTH------Y---Y---Y)
exten => _X.,n,Goto(default,${EXTEN},1)



[vicidial-auto]
exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses ... EBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME})

; Local Server: 10.1.10.90
exten => _010*001*010*090*.,1,Goto(default,${EXTEN:16},1)
; VICIDIAL Carrier: GoAutoDial - GoAutoDial SIP Gateway
; Visit http://goautodial.com/voip-store/ for instant $0.5 credits
exten => _9X.,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _9X.,2,NoOp(LB IS ${lb_trunk})
exten => _9X.,3,GotoIf($[${lb_trunk} != 0]?10)
exten => _9X.,4,Set(GLOBAL(lb_trunk)=1)
exten => _9X.,5,Dial(${SIPgoautodial}/${EXTEN:1},,tTor)

exten => _9X.,10,GotoIf($[${lb_trunk} != 1]?20)
exten => _9X.,11,Set(GLOBAL(lb_trunk)=2)
exten => _9X.,12,Dial(${cordiaip}/${EXTEN:1},,tTor)

exten => _9X.,20,GotoIf($[${lb_trunk} != 2]?30)
exten => _9X.,21,Set(GLOBAL(lb_trunk)=3)
exten => _9X.,22,Dial(${vitel-outbound}/${EXTEN:1},,tTor)

exten => _9X.,30,Set(GLOBAL(lb_trunk)=0)
exten => _9X.,31,Goto(1)
chasejordan1
 
Posts: 182
Joined: Fri Mar 07, 2008 11:57 am

callid

Postby striker » Wed Dec 29, 2010 11:53 pm

have you set correct callerid in campaign ie:outbound callid
www.striker24x7.com www.youtube.com/c/striker24x7 Telegram/skype id : striker24x7
striker
 
Posts: 962
Joined: Sun Jun 06, 2010 10:25 am

Postby chasejordan1 » Thu Dec 30, 2010 12:10 am

yes I have and only one of my carriers accepts it. When I set up the carriers individually, cordiaip as 9 vitel as 8 etc the caller ID passthru seems to be fine. Maybe I should retest??? But I am 99.99% sure it works fine.
chasejordan1
 
Posts: 182
Joined: Fri Mar 07, 2008 11:57 am

Postby chasejordan1 » Thu Dec 30, 2010 12:36 am

OK my bad it is the carrier not allowing caller id pass thru. But I hope the configuration helps. Thanks All
chasejordan1
 
Posts: 182
Joined: Fri Mar 07, 2008 11:57 am

Re: dialplan for trunk failover busy etc

Postby kashutu » Fri Jul 22, 2011 8:25 am

Hi,
Stiker -----> I tried your method of Round Robin, and i am getting the following CLI>

ibbs*CLI> console dial 818609464041@default
[Jul 22 18:19:55] == Console is full duplex
[Jul 22 18:19:55] -- Executing [818609464041@default:1] AGI("Console/dsp", "agi://127.0.0.1:4577/call_log") in new stack
[Jul 22 18:19:55] -- AGI Script agi://127.0.0.1:4577/call_log completed, returning 0
[Jul 22 18:19:55] -- Executing [818609464041@default:2] Dial("Console/dsp", "SIP/ibrain01/018609464041||tTor") in new stack
[Jul 22 18:19:55] WARNING[17497]: app_dial.c:1296 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
[Jul 22 18:19:55] == Everyone is busy/congested at this time (1:0/0/1)
[Jul 22 18:19:55] -- Executing [818609464041@default:3] Dial("Console/dsp", "SIP/ibrain02/018609464041||tTor") in new stack
[Jul 22 18:19:55] WARNING[17497]: app_dial.c:1296 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
[Jul 22 18:19:55] == Everyone is busy/congested at this time (1:0/0/1)
[Jul 22 18:19:55] -- Executing [818609464041@default:4] Hangup("Console/dsp", "") in new stack
[Jul 22 18:19:55] == Spawn extension (default, 818609464041, 4) exited non-zero on 'Console/dsp'
[Jul 22 18:19:55] -- Executing [h@default:1] DeadAGI("Console/dsp", "agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----20-----CHANUNAVAIL----------") in new stack
[Jul 22 18:19:55] -- AGI Script agi://127.0.0.1:4577/call_log--HVcauses ... ---------- completed, returning 0
[Jul 22 18:19:55] << Hangup on console >>


What am i doing wrong? Also the methoed you have given is for two trunks, i have 5 trunks that i need to put in Round Robin, can you also please edit the method that you have mentioned for 5 Trunks.

Thank You


striker wrote:hi

use this dialplan it works great
this basedon n+101 concept as described in astersik
when there is a busy or trunk failure it will be go to n+101 dialplan

exten => _8X.,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _8X.,2,Dial(${TRUNK1}/0${EXTEN:1},,tTor)
exten => _8X.,3,Dial(${TRUNK2}/0${EXTEN:1},,tTor)
exten => _8X.,4,Hangup
exten => _8X.,103,Dial(${TRUNK2}/0${EXTEN:1},,tTor)
exten => _8X.,104,Hangup
exten => _8X.,204,Hangup
kashutu
 
Posts: 63
Joined: Thu Apr 14, 2011 6:18 am

Postby kashutu » Fri Jul 22, 2011 9:18 am

Hey William,
Can you please edit this code for 5 Trunks with 2 channels each? In total 10 calls can be dialed at the same time.

Thanks
williamconley wrote:Alternate from Vicibox 2.0 extensions.conf:
Code: Select all
; ViciDial Outbound FailOver Dialing
;exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
;exten => _91NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(sgw)}<80]?10)
;exten => _91NXXNXXXXXX,n,NoOp("Max Trunks Exceeded")
;exten => _91NXXNXXXXXX,n,Congestion
;exten => _91NXXNXXXXXX,10,Set(GROUP()=sgw)
;exten => _91NXXNXXXXXX,n,NoOp("TIU: ${GROUP_COUNT(sgw)}") ; For debug/testing
;exten => _91NXXNXXXXXX,n,Dial(${VICITRUNK1}/${EXTEN:1},,To)
;exten => _91NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?20)
;exten => _91NXXNXXXXXX,n,Hangup
;exten => _91NXXNXXXXXX,20,Dial(${VICITRUNK2}/${EXTEN:1},,To)
;exten => _91NXXNXXXXXX,n,Hangup
kashutu
 
Posts: 63
Joined: Thu Apr 14, 2011 6:18 am

Postby williamconley » Mon Jul 25, 2011 9:29 pm

Sounds like fun, actually. Ask again on Friday. 8)
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20019
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Postby kashutu » Tue Jul 26, 2011 12:02 pm

williamconley wrote:Sounds like fun, actually. Ask again on Friday. 8)



I will for sure. Thnx
kashutu
 
Posts: 63
Joined: Thu Apr 14, 2011 6:18 am

Postby kashutu » Fri Jul 29, 2011 7:12 am

Hi WIlliam,

It is Friday, just a reminder. Need your help on the above situation.

Thanks
kashutu
 
Posts: 63
Joined: Thu Apr 14, 2011 6:18 am

Postby williamconley » Fri Jul 29, 2011 3:31 pm

LOL. Sorry, project came up. No time to test! ask again tomorrow. Or send Pizza. 8-)

But here's a rough without "thought" just expansion:

Code: Select all
; ViciDial Outbound FailOver Dialing
exten => _91NXXNXXXXXX,1,NoOp("CG1: ${GROUP_COUNT(cg1)}") ; For debug/testing
exten => _91NXXNXXXXXX,n,NoOp("CG2: ${GROUP_COUNT(cg2)}") ; For debug/testing
exten => _91NXXNXXXXXX,n,NoOp("CG3: ${GROUP_COUNT(cg3)}") ; For debug/testing
exten => _91NXXNXXXXXX,n,NoOp("CG4: ${GROUP_COUNT(cg4)}") ; For debug/testing
exten => _91NXXNXXXXXX,n,NoOp("CG5: ${GROUP_COUNT(cg5)}") ; For debug/testing
exten => _91NXXNXXXXXX,n,AGI(agi://127.0.0.1:4577/call_log)
exten => _91NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg1)}<3]?110)
exten => _91NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg2)}<3]?120)
exten => _91NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg2)}<3]?130)
exten => _91NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg2)}<3]?140)
exten => _91NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg2)}<3]?150)
exten => _91NXXNXXXXXX,n,NoOp("Max Trunks Exceeded")
exten => _91NXXNXXXXXX,n,Congestion

exten => _91NXXNXXXXXX,110,Set(GROUP()=cg1)
exten => _91NXXNXXXXXX,n,NoOp("CG1: ${GROUP_COUNT(CG1)}") ; For debug/testing
exten => _91NXXNXXXXXX,n,Dial(${VICITRUNK1}/${EXTEN:1},,To)
exten => _91NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?120)
exten => _91NXXNXXXXXX,n,Hangup

exten => _91NXXNXXXXXX,120,Set(GROUP()=cg2)
exten => _91NXXNXXXXXX,n,NoOp("CG1: ${GROUP_COUNT(CG2)}") ; For debug/testing
exten => _91NXXNXXXXXX,n,Dial(${VICITRUNK2}/${EXTEN:1},,To)
exten => _91NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?130)
exten => _91NXXNXXXXXX,n,Hangup

exten => _91NXXNXXXXXX,130,Set(GROUP()=cg3)
exten => _91NXXNXXXXXX,n,NoOp("CG1: ${GROUP_COUNT(CG3)}") ; For debug/testing
exten => _91NXXNXXXXXX,n,Dial(${VICITRUNK3}/${EXTEN:1},,To)
exten => _91NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?140)
exten => _91NXXNXXXXXX,n,Hangup

exten => _91NXXNXXXXXX,140,Set(GROUP()=cg4)
exten => _91NXXNXXXXXX,n,NoOp("CG1: ${GROUP_COUNT(CG4)}") ; For debug/testing
exten => _91NXXNXXXXXX,n,Dial(${VICITRUNK4}/${EXTEN:1},,To)
exten => _91NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?150)
exten => _91NXXNXXXXXX,n,Hangup

exten => _91NXXNXXXXXX,150,Set(GROUP()=cg5)
exten => _91NXXNXXXXXX,n,NoOp("CG1: ${GROUP_COUNT(CG5)}") ; For debug/testing
exten => _91NXXNXXXXXX,n,Dial(${VICITRUNK5}/${EXTEN:1},,To)
exten => _91NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?900)
exten => _91NXXNXXXXXX,n,Hangup

exten => _91NXXNXXXXXX,900,NoOp("Max Trunks Exceeded")
exten => _91NXXNXXXXXX,n,Congestion
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20019
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Postby kashutu » Sat Jul 30, 2011 5:19 am

Thanks William, I will test it and let you know along with Pizza....... :)
kashutu
 
Posts: 63
Joined: Thu Apr 14, 2011 6:18 am

Postby bryan.kewl » Fri Aug 05, 2011 9:29 am

guys can anyone confirm that its working as expected?

also where do I need to put this code?

3rd, if I disable any carrier, it will keep working or will throw an error?

also do I need to create these groups anywhere else or just defining them here will work?

in the carrier > dialplan entry we usually have something like

exten => _91XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _91XXXXXXXXXX,2,Dial(SIP/${EXTEN:1}@sip-trunk-name,,tTor)
exten => _91XXXXXXXXXX,3,Hangup
bryan.kewl
 
Posts: 52
Joined: Mon Jul 04, 2011 5:14 pm

Postby williamconley » Sat Aug 06, 2011 10:55 am

Dunno, I never got my pizza. 8-)
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20019
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Postby williamconley » Tue Sep 13, 2011 6:20 pm

11 Trunk version which will fill the trunks from the top down (spare variables which allow for zeroing a trunk without losing the original value).

Remember that ";" does not save in Vicidial fields, so these globals would have to be directly inserted to work properly. Also, the globals field in Vicidial is a single line entry anyway, so Manual entry is necessary. We put it in a sep file and included it just below the Globals to be sure it wasn't hammered during upgrade.

When we used it the version was forwarding the calls to 11 different call centers (with a quantity for each) with only two actual trunks in use, instead of using 11 different actual trunks, so this has been hand edited for 11 trunks (without testing for typos!) for posting here.

Before the editing of the Dial command, this code was tested on a NONVicidial dialplan.

But make no mistake: this was tested under heavy load and worked very well. Watch your CLI (the NoOp lines will show you how well it is working) and be sure it works for you! No Warranty 8-)

I wish we had had time to build a monitor for it to show trunk group usage in real time, but we only had a few hours to build servers, test, connect to 11 other call centers and "Go Live". No pretty stuff. LOL

extensions.conf entry
Code: Select all
exten => _1NXXNXXXXXX,1,NoOp("CG1: ${GROUP_COUNT(cg1)}"|${TOPDOWNTRUNK1SEATS})
exten => _1NXXNXXXXXX,n,NoOp("CG2: ${GROUP_COUNT(cg2)}"|${TOPDOWNTRUNK2SEATS}) 
exten => _1NXXNXXXXXX,n,NoOp("CG3: ${GROUP_COUNT(cg3)}"|${TOPDOWNTRUNK3SEATS})
exten => _1NXXNXXXXXX,n,NoOp("CG4: ${GROUP_COUNT(cg4)}"|${TOPDOWNTRUNK4SEATS})
exten => _1NXXNXXXXXX,n,NoOp("CG5: ${GROUP_COUNT(cg5)}"|${TOPDOWNTRUNK5SEATS})
exten => _1NXXNXXXXXX,n,NoOp("CG6: ${GROUP_COUNT(cg6)}"|${TOPDOWNTRUNK6SEATS})
exten => _1NXXNXXXXXX,n,NoOp("CG7: ${GROUP_COUNT(cg7)}"|${TOPDOWNTRUNK7SEATS})
exten => _1NXXNXXXXXX,n,NoOp("CG8: ${GROUP_COUNT(cg8)}"|${TOPDOWNTRUNK8SEATS})
exten => _1NXXNXXXXXX,n,NoOp("CG9: ${GROUP_COUNT(cg9)}"|${TOPDOWNTRUNK9SEATS})
exten => _1NXXNXXXXXX,n,NoOp("CG10: ${GROUP_COUNT(cg10)}"|${TOPDOWNTRUNK10SEATS})
exten => _1NXXNXXXXXX,n,NoOp("CG11: ${GROUP_COUNT(cg11)}"|${TOPDOWNTRUNK11SEATS})
;exten => _1NXXNXXXXXX,n,AGI(agi://127.0.0.1:4577/call_log) ; only if using Vicidial
exten => _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg1)}<${TOPDOWNTRUNK1SEATS}]?110)
exten => _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg2)}<${TOPDOWNTRUNK2SEATS}]?120)
exten => _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg3)}<${TOPDOWNTRUNK3SEATS}]?130)
exten => _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg4)}<${TOPDOWNTRUNK4SEATS}]?140)
exten => _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg5)}<${TOPDOWNTRUNK5SEATS}]?150)
exten => _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg6)}<${TOPDOWNTRUNK6SEATS}]?160)
exten => _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg7)}<${TOPDOWNTRUNK7SEATS}]?170)
exten => _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg8)}<${TOPDOWNTRUNK8SEATS}]?180)
exten => _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg9)}<${TOPDOWNTRUNK9SEATS}]?190)
exten => _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg10)}<${TOPDOWNTRUNK10SEATS}]?200)
exten => _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(cg11)}<${TOPDOWNTRUNK11SEATS}]?210)
exten => _1NXXNXXXXXX,n,NoOp("Max Trunks Exceeded")
exten => _1NXXNXXXXXX,n,Goto(900)

exten => _1NXXNXXXXXX,110,Set(GROUP()=cg1)
exten => _1NXXNXXXXXX,n,NoOp("CG1: ${GROUP_COUNT(CG1)}")
exten => _1NXXNXXXXXX,n,Dial(${TOPDOWNTRUNK1}/${EXTEN},25,To)
exten => _1NXXNXXXXXX,n,NoOp("DIALSTATUS: ${DIALSTATUS}")
exten => _1NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?120)
exten => _1NXXNXXXXXX,n,Hangup

exten => _1NXXNXXXXXX,120,Set(GROUP()=cg2)
exten => _1NXXNXXXXXX,n,NoOp("CG2: ${GROUP_COUNT(CG2)}")
exten => _1NXXNXXXXXX,n,Dial(${TOPDOWNTRUNK2}/${EXTEN},25,To)
exten => _1NXXNXXXXXX,n,NoOp("DIALSTATUS: ${DIALSTATUS}")
exten => _1NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?130)
exten => _1NXXNXXXXXX,n,Hangup

exten => _1NXXNXXXXXX,130,Set(GROUP()=cg3)
exten => _1NXXNXXXXXX,n,NoOp("CG3: ${GROUP_COUNT(CG3)}")
exten => _1NXXNXXXXXX,n,Dial(${TOPDOWNTRUNK3}/${EXTEN},25,To)
exten => _1NXXNXXXXXX,n,NoOp("DIALSTATUS: ${DIALSTATUS}")
exten => _1NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?140)
exten => _1NXXNXXXXXX,n,Hangup

exten => _1NXXNXXXXXX,140,Set(GROUP()=cg4)
exten => _1NXXNXXXXXX,n,NoOp("CG4: ${GROUP_COUNT(CG4)}")
exten => _1NXXNXXXXXX,n,Dial(${TOPDOWNTRUNK4}/${EXTEN},25,To)
exten => _1NXXNXXXXXX,n,NoOp("DIALSTATUS: ${DIALSTATUS}")
exten => _1NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?150)
exten => _1NXXNXXXXXX,n,Hangup

exten => _1NXXNXXXXXX,150,Set(GROUP()=cg5)
exten => _1NXXNXXXXXX,n,NoOp("CG5: ${GROUP_COUNT(CG5)}")
exten => _1NXXNXXXXXX,n,Dial(${TOPDOWNTRUNK5}/${EXTEN},25,To)
exten => _1NXXNXXXXXX,n,NoOp("DIALSTATUS: ${DIALSTATUS}")
exten => _1NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?160)
exten => _1NXXNXXXXXX,n,Hangup

exten => _1NXXNXXXXXX,160,Set(GROUP()=cg6)
exten => _1NXXNXXXXXX,n,NoOp("CG6: ${GROUP_COUNT(CG6)}")
exten => _1NXXNXXXXXX,n,Dial(${TOPDOWNTRUNK6}/${EXTEN},25,To)
exten => _1NXXNXXXXXX,n,NoOp("DIALSTATUS: ${DIALSTATUS}")
exten => _1NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?170)
exten => _1NXXNXXXXXX,n,Hangup

exten => _1NXXNXXXXXX,170,Set(GROUP()=cg7)
exten => _1NXXNXXXXXX,n,NoOp("CG7: ${GROUP_COUNT(CG7)}")
exten => _1NXXNXXXXXX,n,Dial(${TOPDOWNTRUNK7}/${EXTEN},25,To)
exten => _1NXXNXXXXXX,n,NoOp("DIALSTATUS: ${DIALSTATUS}")
exten => _1NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?180)
exten => _1NXXNXXXXXX,n,Hangup

exten => _1NXXNXXXXXX,180,Set(GROUP()=cg8)
exten => _1NXXNXXXXXX,n,NoOp("CG8: ${GROUP_COUNT(CG8)}")
exten => _1NXXNXXXXXX,n,Dial(${TOPDOWNTRUNK8}/${EXTEN},25,To)
exten => _1NXXNXXXXXX,n,NoOp("DIALSTATUS: ${DIALSTATUS}")
exten => _1NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?190)
exten => _1NXXNXXXXXX,n,Hangup

exten => _1NXXNXXXXXX,190,Set(GROUP()=cg9)
exten => _1NXXNXXXXXX,n,NoOp("CG9: ${GROUP_COUNT(CG9)}")
exten => _1NXXNXXXXXX,n,Dial(${TOPDOWNTRUNK9}/${EXTEN},25,To)
exten => _1NXXNXXXXXX,n,NoOp("DIALSTATUS: ${DIALSTATUS}")
exten => _1NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?200)
exten => _1NXXNXXXXXX,n,Hangup

exten => _1NXXNXXXXXX,200,Set(GROUP()=cg10)
exten => _1NXXNXXXXXX,n,NoOp("CG10: ${GROUP_COUNT(CG10)}")
exten => _1NXXNXXXXXX,n,Dial(${TOPDOWNTRUNK10}/${EXTEN},25,To)
exten => _1NXXNXXXXXX,n,NoOp("DIALSTATUS: ${DIALSTATUS}")
exten => _1NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?210)
exten => _1NXXNXXXXXX,n,Hangup

exten => _1NXXNXXXXXX,210,Set(GROUP()=cg11)
exten => _1NXXNXXXXXX,n,NoOp("CG11: ${GROUP_COUNT(CG11)}")
exten => _1NXXNXXXXXX,n,Dial(${TOPDOWNTRUNK11}/${EXTEN},25,To)
exten => _1NXXNXXXXXX,n,NoOp("DIALSTATUS: ${DIALSTATUS}")
exten => _1NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?900)
exten => _1NXXNXXXXXX,n,Hangup

exten => _1NXXNXXXXXX,900,NoOp("Max Trunks Exceeded")
exten => _1NXXNXXXXXX,n,Answer
exten => _1NXXNXXXXXX,n,Playback(everyoneisbusypleasecallbacklater)
exten => _1NXXNXXXXXX,n,Hangup


globals

Code: Select all
TOPDOWNTRUNK1=SIP/trunk1
;TOPDOWNTRUNK1SEATS=0
TOPDOWNTRUNK1SEATS=109
TOPDOWNTRUNK2=SIP/trunk2
TOPDOWNTRUNK2SEATS=0
;TOPDOWNTRUNK2SEATS=240
TOPDOWNTRUNK3=SIP/trunk3
;TOPDOWNTRUNK3SEATS=0
TOPDOWNTRUNK3SEATS=70
TOPDOWNTRUNK4=SIP/trunk4
;TOPDOWNTRUNK4SEATS=0
TOPDOWNTRUNK4SEATS=75
TOPDOWNTRUNK5=SIP/trunk5
;TOPDOWNTRUNK5SEATS=0
TOPDOWNTRUNK5SEATS=80
TOPDOWNTRUNK6=SIP/trunk6
TOPDOWNTRUNK6SEATS=0
;TOPDOWNTRUNK6SEATS=120
TOPDOWNTRUNK7=SIP/trunk7
TOPDOWNTRUNK7SEATS=0
;TOPDOWNTRUNK7SEATS=65
TOPDOWNTRUNK8=SIP/trunk8
TOPDOWNTRUNK8SEATS=0
;TOPDOWNTRUNK8SEATS=50
TOPDOWNTRUNK9=SIP/trunk9
;TOPDOWNTRUNK9SEATS=0
TOPDOWNTRUNK9SEATS=40
TOPDOWNTRUNK10=SIP/trunk10
;TOPDOWNTRUNK10SEATS=0
TOPDOWNTRUNK10SEATS=40
TOPDOWNTRUNK11=SIP/trunk11
TOPDOWNTRUNK11SEATS=0
;TOPDOWNTRUNK11SEATS=3
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20019
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Re: carrier hunt/trunk hunt

Postby steve745 » Mon Oct 15, 2012 1:04 pm

Glad to see this was updated. I have just implemneted this into vicidial /goautodial install iso a few edits seems to works so far under 2 test calls going to load it down and try it out. will update later with results.---"LATER---> IT WORKED LIKE A CHARM " Thanks for the hard work William :D
Last edited by steve745 on Wed Oct 31, 2012 2:13 pm, edited 1 time in total.
steve745
 
Posts: 32
Joined: Wed Nov 24, 2010 11:51 am

Re: carrier hunt/trunk hunt

Postby williamconley » Mon Oct 15, 2012 3:52 pm

We actually tested this under quite a heavy load for a "one-time" job in a serious panic (our client became the central call center for a load heaver than their local network could support, so we turned a previous vicidial cluster into a routing system for a 2000 channel inbound "hunt group" ...). It worked like a charm.

But it was a one-shot run and the client had no interest in ANY bells or whistles. They just wanted to know that XXX calls were going to each room before overflow would go to the next room. They were quite happy with the fact that it worked on such short notice and all the calls were handled with no "drama", and at any moment in time I could tell them how many calls were in which room, and they could then verify that with the room in question accurately. Very cool.
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20019
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Re: carrier hunt/trunk hunt

Postby sofcall » Thu Oct 18, 2012 5:00 pm

Hi williamconley

i did some modificatiton to the dialplan you sent to my trunks but i got an error in the cli.
Code: Select all
exten => _90XXXXXXXX.,1,NoOp("CG1: ${GROUP_COUNT(cg1)}") ; For debug/testing
exten => _90XXXXXXXX.,n,NoOp("CG2: ${GROUP_COUNT(cg2)}") ; For debug/testing
exten => _90XXXXXXXX.,n,NoOp("CG3: ${GROUP_COUNT(cg3)}") ; For debug/testing
exten => _90XXXXXXXX.,n,NoOp("CG4: ${GROUP_COUNT(cg4)}") ; For debug/testing
exten => _90XXXXXXXX.,n,NoOp("CG5: ${GROUP_COUNT(cg5)}") ; For debug/testing
exten => _90XXXXXXXX.,n,AGI(agi://127.0.0.1:4577/call_log)
exten => _90XXXXXXXX.,n,GotoIf($[${GROUP_COUNT(cg1)}<3]?110)
exten => _90XXXXXXXX.,n,GotoIf($[${GROUP_COUNT(cg2)}<3]?120)
exten => _90XXXXXXXX.,n,GotoIf($[${GROUP_COUNT(cg2)}<3]?130)
exten => _90XXXXXXXX.,n,GotoIf($[${GROUP_COUNT(cg2)}<3]?140)
exten => _90XXXXXXXX.,n,GotoIf($[${GROUP_COUNT(cg2)}<3]?150)
exten => _90XXXXXXXX.,n,NoOp("Max Trunks Exceeded")
exten => _90XXXXXXXX.,n,Congestion

exten => _90XXXXXXXX.,110,Set(GROUP()=cg1)
exten => _90XXXXXXXX.,n,NoOp("CG1: ${GROUP_COUNT(CG1)}") ; For debug/testing
exten => _90XXXXXXXX.,n,Dial(${gsm }/0033${EXTEN:2},,tToR)
exten => _90XXXXXXXX.,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?120)
exten => _90XXXXXXXX.,n,Hangup

exten => _90XXXXXXXX.,120,Set(GROUP()=cg2)
exten => _90XXXXXXXX.,n,NoOp("CG1: ${GROUP_COUNT(CG2)}") ; For debug/testing
exten => _90XXXXXXXX.,n,Dial(${compte01 }/0033${EXTEN:2},,tToR)
exten => _90XXXXXXXX.,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?130)
exten => _90XXXXXXXX.,n,Hangup

exten => _90XXXXXXXX.,130,Set(GROUP()=cg3)
exten => _90XXXXXXXX.,n,NoOp("CG1: ${GROUP_COUNT(CG3)}") ; For debug/testing
exten => _90XXXXXXXX.,n,Dial(${ppservice }/0033${EXTEN:2},,tToR)
exten => _90XXXXXXXX.,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?140)
exten => _90XXXXXXXX.,n,Hangup

exten => _90XXXXXXXX.,140,Set(GROUP()=cg4)
exten => _90XXXXXXXX.,n,NoOp("CG1: ${GROUP_COUNT(CG4)}") ; For debug/testing
exten => _90XXXXXXXX.,n,Dial(${amal }/0033${EXTEN:2},,tToR)
exten => _90XXXXXXXX.,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?150)
exten => _90XXXXXXXX.,n,Hangup

exten => _90XXXXXXXX.,150,Set(GROUP()=cg5)
exten => _90XXXXXXXX.,n,NoOp("CG1: ${GROUP_COUNT(CG5)}") ; For debug/testing
exten => _90XXXXXXXX.,n,Dial(${phoneprospect }/0033${EXTEN:2},,tToR)
exten => _90XXXXXXXX.,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?900)
exten => _90XXXXXXXX.,n,Hangup

exten => _90XXXXXXXX.,900,NoOp("Max Trunks Exceeded")
exten => _90XXXXXXXX.,n,Congestion

My trunks are named:gsm;compte01;ppservice;amal;phoneprospect

Cli:
Code: Select all
[Oct 18 23:47:31]     -- Executing [90321201474@default:7] GotoIf("Local/8600051@default-12d9,1", "1?110") in new stack
[Oct 18 23:47:31]     -- Goto (default,90321201474,110)
[Oct 18 23:47:31]     -- Executing [90321201474@default:110] Set("Local/8600051@default-12d9,1", "GROUP()=cg1") in new stack
[Oct 18 23:47:31]     -- Executing [90321201474@default:111] NoOp("Local/8600051@default-12d9,1", ""CG1: 1"") in new stack
[Oct 18 23:47:31]     -- Executing [90321201474@default:112] Dial("Local/8600051@default-12d9,1", "/0033321201474||tToR") in new stack
[Oct 18 23:47:31] WARNING[7916]: channel.c:3765 ast_request: No channel type registered for ''
[Oct 18 23:47:31] WARNING[7916]: app_dial.c:1310 dial_exec_full: Unable to create channel of type '' (cause 66 - Channel not implemented)
[Oct 18 23:47:31]   == Everyone is busy/congested at this time (1:0/0/1)
[Oct 18 23:47:31]     -- Executing [90321201474@default:113] GotoIf("Local/8600051@default-12d9,1", "1?120") in new stack
[Oct 18 23:47:31]     -- Goto (default,90321201474,120)
[Oct 18 23:47:31]     -- Executing [90321201474@default:120] Set("Local/8600051@default-12d9,1", "GROUP()=cg2") in new stack
[Oct 18 23:47:31]     -- Executing [90321201474@default:121] NoOp("Local/8600051@default-12d9,1", ""CG1: 1"") in new stack
[Oct 18 23:47:31]     -- Executing [90321201474@default:122] Dial("Local/8600051@default-12d9,1", "/0033321201474||tToR") in new stack
[Oct 18 23:47:31] WARNING[7916]: channel.c:3765 ast_request: No channel type registered for ''
[Oct 18 23:47:31] WARNING[7916]: app_dial.c:1310 dial_exec_full: Unable to create channel of type '' (cause 66 - Channel not implemented)
[Oct 18 23:47:31]   == Everyone is busy/congested at this time (1:0/0/1)
[Oct 18 23:47:31]     -- Executing [90321201474@default:123] GotoIf("Local/8600051@default-12d9,1", "1?130") in new stack


any help?

Thank you.
Goautodial CE 2.1/Vicidial version 2.4-309a
build:110430-1642/asterisk 1.4.39.1
Single server (IBM E-SERVER - 2 Cpu /Intel Xeon 2.6 GHz quad core(Processors:4)
Ram 4 Go DDR SDRAM - ECC
3 Mega upload and download
no extra hardware.
Webmin as an addons.
sofcall
 
Posts: 110
Joined: Wed Feb 02, 2011 4:49 am
Location: Morocco

Re: carrier hunt/trunk hunt

Postby williamconley » Thu Oct 18, 2012 9:16 pm

Code: Select all
exten => _90XXXXXXXX.,n,Dial(${gsm }/0033${EXTEN:2},,tToR)
you never defined gsm

also in several of them, you have a " " (space) inside the variable. not cool. even if you did define it, the space will break it.
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20019
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Re: carrier hunt/trunk hunt

Postby sofcall » Sat Oct 20, 2012 4:38 pm

Hi William,

Thanks. Problem sorted.
Goautodial CE 2.1/Vicidial version 2.4-309a
build:110430-1642/asterisk 1.4.39.1
Single server (IBM E-SERVER - 2 Cpu /Intel Xeon 2.6 GHz quad core(Processors:4)
Ram 4 Go DDR SDRAM - ECC
3 Mega upload and download
no extra hardware.
Webmin as an addons.
sofcall
 
Posts: 110
Joined: Wed Feb 02, 2011 4:49 am
Location: Morocco

Re: carrier hunt/trunk hunt

Postby williamconley » Fri Nov 16, 2012 10:15 pm

Computers are so picky. LOL
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20019
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)


Return to ViciDialNow - GoAutoDial

Who is online

Users browsing this forum: No registered users and 24 guests