TUTORIAL How to send outbound calls through specific trunk if dialed number exists in Asteridex?

ViktorNova

New Member
Joined
Dec 13, 2013
Messages
5
Reaction score
3
What I'm trying to accomplish is using Asteridex as a user-friendly outbound number blacklist, to prevent my client's sales people from calling their current customers or people who have asked to be taken off their list.

Seeing as Asteridex can do more complex things like matching keycodes on outbound calls, this has got to be a piece of cake, right?

I've found lots of tutorials on hacking together your own outbound blacklist, but they don't look user friendly enough to manage to hand off to a non tech-savvy person. Client is currently accomplishing this by adding numbers to an Outbound Route that goes to a recording and a bogus trunk, but the list is getting too big for that to be an option anymore (they have hit the 1000 mark and FreePBX does not want to add any more numbers, and the page unusably slow) Also with both these methods, the outbound blacklist only exist as a jumbled list of phone numbers with no other data associated with them, so it makes it difficult for someone to periodically go through the list to take entries out of it if necessary

I have a new working installation of Asteridex 4 following Ward's tutorial, but have not done this part yet:
Code:
exten => _00.,1,SayDigits(${EXTEN:2},) ; extensions dialed with 00 prefix get looked up in AsteriDex
exten => _00.,2,EAGI(asteridex.agi|${EXTEN})
exten => _00.,3,GotoIf($["${DIAL:0:2}" = "00"]?97)
exten => _00.,4,NoOp(Number to Dial: ${DIAL})
exten => _00.,5,NoOp(Person to Dial: ${DUDE})
exten => _00.,6,Flite("Connecting to: ${DUDE}. One moment please.")
exten => _00.,7,Goto(outbound-allroutes,${DIAL},1)
exten => _00.,8,Hangup()
exten => _00.,97,Playback(num-not-in-db)
exten => _00.,98,Playback(goodbye)
exten => _00.,99,Hangup()
this is the dial plan from the tutorial that allows someone to dial 00, then the contact's keycode as entered in Asteridex, to dial the number via outbound-allroutes

What I'd like to do is have it check EVERY number that is dialed, and if the number exists in Asteridex, with or without a 1, then a recording gets played and the call is sent to a bogus trunk or is hung up.

Can anyone suggest some modifications to this dial plan that would accomplish what I'm after? =D
 

ViktorNova

New Member
Joined
Dec 13, 2013
Messages
5
Reaction score
3
Wow! Thanks Igaetz for giving such a detailed response. Brilliant, I will try this and report back!
 

ViktorNova

New Member
Joined
Dec 13, 2013
Messages
5
Reaction score
3
You rock my friend, your code worked perfectly! I didn't have to change a thing (other than database credentials).

This is great, it's a super essential thing for an outbound call center and I'm surprised something like this hasn't come baked into FreePBX yet. I have made some changes to Asteridex to make it work better as a Do-Not-Call list (as opposed to a phone book) as well as a sci-fi facelift, and will be pushing my fork to GitHub soon, will post a link here when it's up!

Thanks again!Asteridex-After.png
 

Members online

Forum statistics

Threads
25,825
Messages
167,856
Members
19,250
Latest member
mark-curtis
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Top