Java Chat for Megafon
Megafon Mobile Operator
The application is intended for a big Russia-based mobile services provider (over 10.000.000 subscribers). The customer makes great effort to keep pace with modern technology and promptly identify the services that may be of interest to its clients. The main difference between this application and similar products is that this chat uses GPRS instead of SMS for exchange of messages. Creating new types of services helps the provider to attract new subscribers and expand its client base, while offering a new GPRS service provides for revenue increase due to payable traffic.
The system allows its users to exchange text messages in on-line mode, i.e. to have an on-line chat. The system provides two types of chat:
- Private chat. Only users who have received an invitation may take part in such chat. During a chat session each user can see other users' messages;
- Open chat. Any user may take part in such chat. During a chat session each user can see other users' messages.
- User can take part in several chats simultaneously by switching between them.
Solution supports the following mobile phones:
- Nokia 6100/3650/6600;
- Siemens C55/C60/M55;
- SonyEricsson T610/630.
This list will be expanded in the future.
Telephone numbers are used for user identification, which means that any subscriber can be invited to a chat.
1.1. User functionality
Main menu of the application is shown in the figure below.
Figure 1.0. Main menu
- Add, delete or edit entries on contacts list;
- Initiate a private or open chat, invite other users to the chat. While chatting, message length is limited to 150 characters;
- Receive an invitation to a chat and process it (accept, decline or postpone). Mobile phones that support MIDP 2.0 and WMA allow user to launch the application automatically, on receiving invitation;
- Invite new participants to an existing chat;
- Switch between active chats;
- View other users´ statuses (on-line, off-line);
- Read application help;
- Change settings (enable or disable the sound signal that notifies user when an invitation arrives; change interval of server request by client application; save calls list; change server connection parameters).
An example of a chat:
1. Views users' statuses,
2. Starts the chat
3. Joins the chat
4. Receives the invitation
5. Accepts the invitation and enters his/her message
6. Chat is in progress
Figure 1.1. An example of a chat
1.2. Administrator functionality
Using command line utilities administrator can:
1. View statistics:
- View total traffic (to an hour);
- View the number of active users over a period (in hours);
- View the number of user entries (the number of application launches and server connections) over a period (in hours);
- View users list and filer it by telephone number;
- Obtain other information using SQL queries.
2. Change subscriber's telephone number in the system database in order to save his contacts list if his telephone number has been changed. Batch processing is supported in case several telephone numbers have been changed.
3. Define system settings. System configuration file allows administrator:
- Change SMS-text used for inviting users to chat;
- Adjust protocol parameters (server request frequency, the amount of auxiliary traffic);
- Set IP address range. Only requests from these addresses are accepted by the server, other requests are ignored;
- Set auxiliary parameters.
The system also provides means of automatic database cleanup and user activity logging.
1.3 System architecture
The architecture of the solution is shown in the figure below.
Figure 1.2. System architecture
- To provide user communication, Application Server is used;
- Client part of the application is installed and run on mobile phones that support MIDP 1.0/2.0;
- To communicate with Application Server, HTTP/GPRS is used;
- Application Server communicates with SMSC ( SMS Center ) of the provider to send / receive SMS messages;
- Application Server interacts with Virtual RADIUS Server to identify telephone number using IP address.
1.4. System components
1. Client part of the application is a Java application that runs on a mobile phone on Java2 Platform, Micro Edition (J2ME), MIDP 1.0. This part of the application provides client functionality (displaying messages, entering massages etc.).
2. Application Server runs on Linux and includes:
- Java Application Server. It provides server functionality (user log-in, message transmission etc.). JBoss 3.2.3 is used as Java Application Server (http://www.jboss.org);
- Database. It is powered by MySQL 4.0 (http://www.mysql.com) and used for storing messages, user lists, contacts, statistics and auxiliary information;
- Command Line Utilities. They are used for administrative purposes (viewing statistics, setting application parameters);
- Auxiliary processes. They provide the procedures performed on regular basis (e.g. database cleanup). Crond is used to start the processes.
3. SMSC ( SMS Center ) is used for sending / receiving SMS messages to invite a user who is off-line to a chat.
4. Virtual RADIUS helps the system identify users' telephone numbers using their IP addresses.
5. Client and server parts of the application communicate using HTTP. SMPP is used to communicate with SMSC.
Tools and Technologies
Java, GPRS (for message exchange), SMS (for inviting to chat only).
“The service, allowing the communication in a new format, has already evolved large interest among our subscribers”, - says Denis Nochevnov, Technology Director of North - West Megafon Subsidiary. “Solution provider has recommended himself as reliable partner in innovative products development. With increase in service capabilities the number of users will definitely experience further growth”.