Call Multiple Carriers at the Same Time

All installation and configuration problems and questions

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

Call Multiple Carriers at the Same Time

Postby tim33 » Sat Jul 16, 2016 6:36 am

I have three single line VOIP accounts that call simultaneously under one campaign for one user, me. I couldn't find a solution to this in the forums so I wrote my own dialplan. I am posting it here in case anyone else needs to do this. Please note I am very new to Asterisk so it may not be as elegant as it could be but it works.

Replace CarrierName with the name of the carrier.

exten => _90[2-9]xxxxxxxx,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _90[2-9]xxxxxxxx,n,GotoIf($[${EXISTS(${CarrierNumber})}=1]?NewCarrierNumber)
exten => _90[2-9]xxxxxxxx,n,Set(GLOBAL(CarrierNumber)=1)
exten => _90[2-9]xxxxxxxx,n(NewCarrierNumber),Set(GLOBAL(CarrierNumber)=$[${CarrierNumber} + 1])
exten => _90[2-9]xxxxxxxx,n,Set(GLOBAL(CarrierNumber)=$[${CarrierNumber} % 3])
exten => _90[2-9]xxxxxxxx,n,GotoIf($[${CarrierNumber}=0]?Spintel)
exten => _90[2-9]xxxxxxxx,n,GotoIf($[${CarrierNumber}=1]?Spintel2)
exten => _90[2-9]xxxxxxxx,n,GotoIf($[${CarrierNumber}=2]?Spintel3)
exten => _90[2-9]xxxxxxxx,n(Spintel),Dial(${TRUNKSPINTEL}/${EXTEN:1},,tTor)
exten => _90[2-9]xxxxxxxx,n,Hangup
exten => _90[2-9]xxxxxxxx,n(Spintel2),Dial(${TRUNKSPINTEL2}/${EXTEN:1},,tTor)
exten => _90[2-9]xxxxxxxx,n,Hangup
exten => _90[2-9]xxxxxxxx,n(Spintel3),Dial(${TRUNKSPINTEL3}/${EXTEN:1},,tTor)
exten => _90[2-9]xxxxxxxx,n,Hangup
Last edited by tim33 on Sat Jul 23, 2016 7:10 pm, edited 1 time in total.
tim33
 
Posts: 60
Joined: Thu Jul 07, 2016 1:15 am

Re: Call Multiple Carriers at the Same Time

Postby williamconley » Sun Jul 17, 2016 10:03 pm

There have actually been a lot of load-balanced, failover, and top-down carrier switching posts over the years. Probably some LCR, although I don't remember one specifically. Another one never hurts, though. 8-)

Failover: If the call never connects, dial the next carrier in succession (in case the first carrier simply could not connect the call).
Load-balanced: Spread the calls evenly among several carriers to avoid too much traffic on any individual carrier.
Top-down: After each carrier has filled its "allowed channel limit", begin sending calls through the next carrier.
LCR: Lowest cost routing. This one generally is a bit more complex. I've seen a few variations with agi scripting, though.

I've even seen a couple posts regarding "I have one channel from each of a dozen carriers ..." with technicians who need to spread the outbound calls among all the carriers to keep their agents busy. Load-balanced or top-down usually work for that scenario.
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: 20258
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)


Return to Support

Who is online

Users browsing this forum: basha04 and 106 guests