Mobile Call Manager

Business Challenge

The project was made for a company specializing in creating software for various mobile platforms such as PocketPCs, Communicators, Smartphones. The goal of the project was to create application which helps to automatically manage incoming and outgoing calls on Communicators and Smartphones with Windows Mobile 5.0 operating system. The application supports standard call manager functions and provides additional functionality to users. It is tightly integrated with Windows Mobile built in applications such as contact list, calendar, journal, etc. It also provides means to synchronize data stored in the mobile device with desktop applications.

Solution

The proposed solution is an application running on Windows Mobile 5.0. It provides means to intercept incoming calls and display information about the caller such as phone number, name from the contact list (if the contact already exists), picture and address associated with the caller.

Upon incoming call user has options to answer the call, cancel call, ignore call and send SMS notification to the caller or ignore all further calls from this phone number. During the call information about the caller is displayed and a set of functions are provided to user such as hold call, turn on/off speakerphone, add comments to the contact, schedule meetings and tasks. It also provides means to set auto action for phone numbers from contact list. For each call it’s possible to send callers/groups to voicemail, pickup/hang-up, log the call as a as meeting, log the call in the contact’s notes, log the call to the daily journal, or simply bypass the post call dialog screen.

All incoming and outgoing calls are logged to a single storage and can be viewed altogether or separately (incoming, outgoing, missed calls, etc.) The application can be automatically enabled and disabled at certain time daily/weekly according to scheduling rules specified by the user.

Architecture

The application consists of several logical modules:

System databases and registry are used to store information about contacts, calendar and journal, list of auto actions, enabling/disabling schedule, etc.

Business layer is a middle tier between data stored in databases and user interface. Business layer is responsible for performing certain actions like handling calls, performing auto actions, storing and loading data, etc.

User interface is responsible for interactions with user.

Tools and Technologies

  • MFC for Windows Mobile 5.0
  • Microsoft Visual Studio 2005
  • C++ programming language
  • Telephony API for Windows Mobile 5.0

Benefits

The implemented solution significantly simplifies handling calls, contacts and meetings for mobile device users.

Outsourcing implementation of the project reduces expenses for project development and reduced its time to market.