Outsourcing Consulting News
Voice IP solution development similar to skype
SoloSoft developed a mobile application to allow users to apply VoIP and different IM protocols and limit use of the GSM connection on the device with Windows Mobile. By default, Windows Mobile platform does not include support of these abilities. The application should allow users to call via SIP servers directly by pressing the "Call" button or launching the standard phone feature on the Windows Mobile based phones.
Voice IP Solution
SIP Voice IP application uses Session Initiation Protocol (SIP) for establishing real time communication sessions with one or more participants and SIP Servers for setting up the calls between SIP-supported devices. Each device has special SIM cards with credentials to access to the SIP server.
SIP Voice IP solution allows users to apply VoIP on the devices with Windows Mobile. and use different IM protocols (Google Talk, MSN, Yahoo, AIM, ICQ). This solution allows reducing of communication expenses. Wireless access points WiFi or high-speed 3G/GPRS (EDGE) connection can be used instead of the wire infrastructure. The developed solution also blocks use of the GSM connection, allowing users to make solely VoIP calls. However, emergency calls via GSM are available. Using just VoIP allows elimination of GSM telephony services expenses.
User inserts SIM card which will be registered in the GSM server. GSM server allows creation of SIP account on the SIP server. Then Web Server generates installation CAB file with SIP credentials and notify GSM server that the file was build properly. On the next step GSM server sends SMS with special URL to download software. User should download installation package and install the software.
The application allows users to call via SIP servers directly by pressing the "Call" button or launching the standard phone feature on the Windows Mobile 6 based devices (Smartphone and Pocket PC). The SIP-VoIP mobile application works in following way:
- blocks attempts to call from the standard GSM method and tries to use WiFi connection to transmit data directly to SIP servers.
- uses the hard coded access URI to connect to the special SIP server and perform call via the SIP server
- allows users to chat via common protocols (Google chat, MSN, Yahoo, AIM, ICQ, OBOPAY)
The SIP-VoIP mobile application consists of several logical modules:
Call Catcher Module
This module is used for determine standard "phone" application launch process. If standard phone process launching, this module should close standard process and open its own form that will allow user to make calls directly via SIP servers. Call Catcher Module is responsible for the following functionality:
- Blocking standard "Call" function.
- Launching its own UI to replace standard windows mobile phone UI.
- Catching all hardware keys used to make calls (Call key, Answer key and etc.)
Media Engine wrapper module
Media Engine wrapper module provides phone capabilities, which allow making calls using SIP server and creating application which will have the same phone features as native phone application on Windows Mobile device.
TCP/IP Connection Control Module
WiFi or GPRS (EDGE) is used as a data link for VoIP connection. The application periodically checks whether WiFi or 3G connection is established, if necessary, it turns from WiFi to 3G. WiFi connection is prioritized. When the application gets access to the TCP/IP protocol, SIP registration is automatically done. If connection has been interrupted, the application will try to register again. Thus, a user-agent is always registered on the SIP server.
GSM Calls Module
GSM Calls Module is used for enabling the GSM calls to some numbers (for example, 911). A user can make GSM calls using only SIP-VoIP application interface.
Chat Module allows users to chat with other people using most popular protocols. The module has the basic functionality: displaying and managing a contact list, sending and receiving messages, getting a contact status. This module has intuitive user interface:
- Chat window with messages from other people and ability to send a new message.
- Window with the list of all contacts of the user.
- Settings window (It allows configuring connection settings and other user settings).
- "About" dialog (It displays current chat module version).
Chat Module is implemented as a separate application. Jabber protocol support is implemented in the chat by using the open-source library agsXMPP. All Protocols specific operations are implemented via menu. Below is the list of protocols which should be supported by Chat module:
- ICQ Protocol
- Google Chat Protocol
- MSN Protocol
- Yahoo Protocol
- AIM Protocol
- OBOPAY Protocol
Products and Services
The following tools and programming languages have been used to develop the application:
- Windows Mobile
- Microsoft Visual Studio
- VoiceEngine 2.6
- Specification rfc3261
- agsXMPP SDK 0.9
- C++ programming language