We need an iPhone application developed that will do the following:
1. When a user makes a call, it intercepts the call (if this is not possible, the application would have to mimic the call application, please let me know about this)
2. The application sends a request to our server passing it an XML packet (I will give you the template for this), it will include: cell number, number dialed, IMEI number and mobile provider name.
3. Based on the response from this, the application will either play an mp3 (that is stored on the device) or it will connect the call. If # is pressed during the mp3 being played, it will connect the call immediately, marking the play as cancelled.
[url removed, login to view] an mp3 was played and the returned XML packet specifies it, the application will start an IVR with the user. The mp3s for this IVR (Press 1 for...) will be provided to you.
[url removed, login to view] no key is pressed within 3 seconds of the last IVR MP# (Press 3 for...) or # is pressed, the call will be connected immediately. Otherwise the key pressed will be saved.
6. Once the call is completed, the application will send another request to the server passing it an xml packet (again, i will give you the template for this) including the following data: IVR data (key pressed, or "none" if there was no key pressed or the # key was pressed during the IVR. If the # key was pressed during the mp3 playback, this must equal "cancelled". The XML packet will also contain the duration of the call made as well as the 5 adverts (advert_id) it has stored on the device.
7. The server will then return the 5 adverts (advert_ids and urls of the mp3s) that the application should have stored on the device. If any of the advert_ids returned is not already stored on the device, the application will download the mp3 and update its list of 5 advert_ids (deleting the irrelevant mp3s)
Please let me know if you have any questions about this.
Please give me a costing and a time estimate.