Authenticate Inbound Calls by Pin Code

Hello collective… hoping someone can please point me in the correct direction.

We are a marketing company that sends out direct mail. On each piece there is a toll free number and unique pin that identifies that user in our campaign database. What we need is to be able to upload those pins into the PBX so when a person calls in they are prompted for their pin, it authenticates.

Is there a way to accomplish this?

Volume of unique pins per month is 800,000. 11 pin code lengths.

Yes, that could be done easily with a bit of custom code.

Make a mysql table that stores your pins and othre appropriate data, use the inbuilt mysql commands to query it in a dialplan you will write. Ref:-

http://www.voip-info.org/wiki/view/Asterisk+cmd+MYSQL

Also FreePBX projects that do conditional inbound routing:
Smartroutes:
http://www.qualityansweringservice.com/anatomy-oscc/freepbx/smartroutes
DynamicRouting:
http://www.voipsupport.it/pmwiki/pmwiki.php?n=Freepbx.DynamicRouting

Thanks! I’m wondering if I should just hire someone to knock these out for me and then learn in the process. I’m on a tight deadline.

What’s the learning curve on this? (I’m a C# developer tackling this project)

Depends on how fancy you need things. The dynroutes module I linked above will give you the ability to:

  • play an announcement to the caller
  • wait for dtmf input
  • perform a MySQL query of whatever you want based on the incoming CID and/or the caller dtmf input
  • direct the call based on the output of the mysql query

What it won’t do out of the box is prompt the caller to verify dtmf input or anything else as far as caller interaction, all of which requires some custom work as noted above.

where does their dtmf get stored? After they enter their pin, there are a couple of questions that follow such where they have to push 1 for yes 2 for no, etc.

lgaetz (or anyone)

Do you know if DynamicRouting will work with SQL db? All the instructions seem to indicate MySQL only???