Symbian Application To Record Phone Calls made from and received in the phone, and upload the recorded file in MP3 or AMR format to a website, along with the call-log.
Developer must also write a ROR or PHP web server application to receive the call-log and save it in a database. Receive the file and save it in a folder in a file location using a specific naming convention, and also have the same file name and path stored in the database.
## Deliverables
In Symbian, for every phone call
1. Automatically record this call into AMR format - if the user has selected "Automatic Recording" in the settings menu. If "Automatic Recording" is not selected (meaning - Optional Recording) then assign a hot key toggle that can initiate and also stop the call recording while in call.
2. Upload the new file, via gprs, to the webserver to a specified location using a naming convention (date-time-direction-device-phone number-callerid of other party) and upload the newly created call log, via GPRS, to the mysql database in the webserver webserver. In case of optional recording, upload the call log and if there are no recordings - pass the message "no file recorded" to the server. If there are more than one recordings for the same call - join the files and upload.
3. The address of the webserver will be read from a *.ini file in the Symbian phone, which can be updated from time to time.
4. The webserver uses a mySQL database
5. The webserver code to update the database should be in ruby on rails or php.
6. The database structure format is as follows,
mysql> CREATE TABLE Calllog (
-> device mobile number,
-> callstarttime datetime,
-> callendtime datetime,
-> calltype varchar(20),
-> callerid varchar(1000),
-> filelocation varchar(1000),
-> recording status
-> );
device mobile number - the caller id onumber of the mobile phone that
callstart/endtime ??" the call date and start time obtained from the call log.
calltype varchar(20) ??" Incoming/outgoing/missed. Direction of Call.
callerid varchar(1000) ??" Semicolon separate list of participants in the call, obtained from the calllog.
The file location - the path of the file saved in the server
recording status - recording available or no recording available based on whether the file was uploaded or not.