Your task for this project will be to install asterisk on a server and create an AGI application that asks a few questions.
Asterisk will be installed using a SIP provider and I will provide the details for that as well as the US phone number to call to access it for testing. All installation steps must be documented as my client requires this for ISO certification.
The AGI Application will be like this:
"Welcome to Product. You have been asked to call this number of a reason. On your screen is are 5 sets of numbers. Please enter each group of numbers. When you have entered all 20 numbers, press the pound key.".
[User enters 5 sets of 4 numbers or 20 total digits]
--> I'm going to read the number back. If you spot an error, press 1 to re-enter the number. Press 2 if the number I repeate is correct.
[AGI reads 5 groups of 4 numbers]
--> In order to Do What this program does you need to make a payment. Your account is eligable for a 1 day grace period. Press 1 to enter payment details or 2 if you would like to access your grace period.
[AGI reads payment details or skips this step, Payment Details are sent via http post request to a PHP script, the result is read back. The result will either be 0 or another 20 digit number]
If the agi receives back 0 send another prompt. If the agi receives 20 digits, play a prompt and then repeate the number of digits at a time with a pause between each group. Ask the customer 1 to repeat the number or 2 to hangup.
Detailed logs of each connection and what step of the process they get to should be kept in a text file.
You should create 3 test usernames that allows SIP Softphone clients to connect. They can then dial a private extension (200) to test the system.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Linux Fedora Core 4