We have an existing webservice that inserts a record to a database table periodically. Upon this record being inserted into the table, a query should be run that pulls a list of contacts that have been selected to be notified by phone. Each number that is selected by the query is then automatically called by my asterisk system. 1 attempt is made every hour until the call is accepted. However, no more than 3 calls should be attempted.
The script that will be read to the callee should use the cepstral voice and is as follows:
This is an automatic notification on the status of your inspection that took place at <location address>.
Please press 1 to accept this notification and hear the status of the report, or press 2 to decline and cancel any further automated calls.
The inspector has reported the status of the inspection as <result>
Please press 3 to hear the details of the inspection report.
If 1, <read inspection report from notes field>
If no response in 15 seconds, hang up.
** If 1 is pressed, cancel all future calls.
***Each time a call is made, it should log the time of the call and capture if they accepted or declined the call. It should also capture what number was called. You will need to create a separate sql table for this.
DETAILS:
The SQL 2005 server is hosted with a dedicated host provider. The asterisk box is on my local network. I have setup an IPSEC tunnel between the two boxes which allows communication between the two. So from the SQL server box I can ping the local ip address of the asterisk box.
The existing tables that hold the data is very straightforward and only consists of 2 tables. 1 table for the contact information of the client, and a inspection reports table that holds the data that needs to be read to the client over the phone.
## 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).
*** It will be the coders responsibility to install the application on my servers and make sure that they run correctly. I will provide RDP access to the sql server and SSH/web access to asterisk.
## Platform
Trixbox 2.2.4
Asterisk 1.4
Windows Server 2003 r2 Enterprise
SQL 2005