April 17, 2017 Deshpande Suraj 0Comment

For the users of personal computers, voice communication over the Internet has become familiar since a long time, but for mobile devices of until recently, there is simply no high-quality solutions. However, the development of modern mobile technologies, namely the emergence of mobile devices with fast Internet access and operating under the Android operating system, opens up new opportunities.

In July 2005, Google acquired a small company, Android, Inc., engaged in the development of their own projects. At that time, there was only a little information on Android Inc. company – only that the company was engaged in the development of software for mobile phones. Just then, there were rumors that Google was going to enter the mobile devices market.

Under the Google leadership, the team developed an operating system based on the Linux core, flexible and offering a wide range of configuration options. In November 2007, the Open Handset Alliance (OHA) – a consortium of many companies, including Google, set itself the task of developing open standards for mobile devices. At the same time, OHA also released its first product, the Android operating system, based on the Linux kernel version 2.6.

The main features of this system were openness and multitasking. The official release of the first smartphone HTC Dream (G1), running Android, the US market took place on October 22, 2008.

After the appearance of the first device run by Android OS, it became possible to give the user the opportunity to use Internet telephony in the same way as GSM telephony. Broadband Internet access, multitasking of the operating system allowed the user to forget about the problems associated with Internet communications. Before Android, the most convenient Internet telephony applications were offered by the iPhone OS, but with its limited multitasking, it is impossible to use other applications with Internet telephony, which means, for example, the inability to read documents and simultaneously receive calls.

At the moment, there are a number of solutions to provide Internet telephony for Android, but all of them have significant restrictions on use.

Implementation and application of the solution

The application created using Java language for the Android platform using the Android SDK 1.6.

When analyzing the market, several open-source libraries were discovered that implement the functionality of SIP telephony. Applications for Android are written in the Java language, so they were interested in libraries written in Java.

  • MjSip
  • JSIP
  • Jain SIP

Libraries are based on the Session Initiation Protocol (SIP), described in RFC 326, so the algorithm is the same in all the libraries. The MjSip library was selected since it most fully implements the required capabilities.

The sound is transferred through the RTP protocol. The audio codec is G.711 is used, since this codec is most easily implemented and provides good sound quality.

A distinctive feature of the application is the work of the application on all versions of the Android OS. For these purposes, a low-level scheme for continuous data obtaining from a microphone and sending data to the dynamics of a mobile device is implemented. Low-level implementation of access to sound is collected in the form of a library using the compiler “arm gcc” in the “.so”, format, which is understandable for Android, separately for Android versions 1.1 and 1.5. The libraries are successfully connected to the “MC Client” project and are used in the project.

In addition, the feature of the application is the “Handover” functionality, which makes it virtually impossible for the user to switch the call type from SIP to GSM or vice versa, depending on the width of the available Internet channel or the sound quality.

The application provides the user with flexible client capabilities, but competitive solutions offer more options for customizing the client. In particular, in competitive solutions, it is possible to specify the method of audio encoding, while “MC Client” uses only G.711.

Currently, this mobile VoIP solution is used by Comdasys, Inc.