The main purpose of my assignment was to create a software for Symbian S60-based mobile phones that enable full remote control of the functions an ordinary user could do, including making, holding and retrieving calls and sending and receiving text messages.
The software installed onto the mobile phone is remote-controlled using a proprietary protocol over TCP/IP. The request-response architecture interprets every request, implements the commands, checks the success of the command execution, and then sends a positive or negative acknowledgement based on the test result. For instance, on a MAKE_CALL(+3612345678) request it makes a call to the given number, checks if the call was successfully established, then sends a positive (MAKE_CALL_ACK()) or negative (MAKE_CALL_NACK()) response accordingly.
Besides the control feature, the software also provides information on the status of the phone (for example battery level), the contract details (IMSI of the given SIM card) and on the parametres of the serving mobile network operator (cell-ID information).
Furthermore, the software is able to send broadcast messages to the computers connected over TCP/IP regarding any changes in the status of the phone or the service level. This can be the receipt of a text message (NOTIFICATION_SMS_ARRIVED(+362012345678, Test SMS)), or change in the serving mobile network operator (NOTIFICATION_MCC_MNC_CHANGED(21601)).
Finally, my application may be integrated into the Nokia Siemens Networks’ test automation framework for mobile network elements as a newly developed software package.