Is Asterisk flexible enough for This Unusual Application?

I’ve read some of Asterisk’s documentation, but before getting too far into this, I’d like to check to ensure that what I’m attempting isn’t beyond the scope of Asterisk’s design. I figured that 3 minutes of an experts time could potentially save 200 hours, if Asterisk isn’t designed to handle my app.

What I’d like to do is have:

  • One incoming 800 number
  • Once Asterisk answers, it will prompt the user for an access code
  • The access code will be verified in a database
  • The database will return an outbound number associated with the code (say 432-555-1206)
  • Asterisk will then initiate a new call on a new channel to 432-555-1206, and – once that call has been picked up – it would bridge (or conference) the original inbound caller with this new outbound call.
  • I’d like Asterisk to record the call duration in the database, and the WAV file to disk.

Does this sound too tough? Is this a piece of cake? Somewhere in between?

Any help will be greatly appreciated.

-Zach

hi,

asterisk should be able to accomplish your requirements:

  • One incoming 800 number --> you need to have a t1 card or fxo gateway where the incoming 800 number enters your asterisk system
  • Once Asterisk answers, it will prompt the user for an access code --> there are many commands to present the ivr, the simplest one is playback(voicefile)
  • The access code will be verified in a database --> use asterisk gateway interface (agi) to invoke your programs (eg php) for database verification
  • The database will return an outbound number associated with the code (say 432-555-1206) --> it is returned from agi
  • Asterisk will then initiate a new call on a new channel to 432-555-1206, and – once that call has been picked up – it would bridge (or conference) the original inbound caller with this new outbound call. --> simply use dial() to bridge the incoming call with the new channel
  • I’d like Asterisk to record the call duration in the database, and the WAV file to disk. --> use monitor() to save the conversation to wav; asterisk writes call details as csv and you can upload them to mysql.

regards,

This is staight forward

  • One incoming 800 number
    Any SIP or IAX VOIP DID supplier will be able to supply this to you

  • Once Asterisk answers, it will prompt the user for an access code
    The “Authenticate” and Read" commands will do this, once they have entered the user the pin is looked from either mysql or the internal DB

  • The access code will be verified in a database
    As above very simple

  • The database will return an outbound number associated with the code (say 432-555-1206)
    No issues onece authenticated the DB is looked up for the number with relation to the user/Pin

  • Asterisk will then initiate a new call on a new channel to 432-555-1206, and – once that call has been picked up – it would bridge (or conference) the original inbound caller with this new outbound call.
    Just step onto a Dial command

  • I’d like Asterisk to record the call duration in the database, and the WAV file to disk.
    Mixonitor will record it to disk , you can script iy to convert to mp3 if you wish. The CDR will be written to the mysql database if you install asterisk-addons

This is a simple and straight forward think no need for any agi and no more than 10 or 12 lines of code.

Ian