Change fontsize: 60% 70% 80% 90%

BlueVoice

Recently, VoIP telephone market and all the new services related to this technology went through a large and quick development, made possible by the growing diffusion of broadband Internet connections and by a big amount of customers who everyday perform and receive calls in the same manner they used to do with the plain old telephone service.

Nowadays a great number of solutions are offered to promote a more simple and prompt use of the telephony over the Internet. These products range from software applications like Skype (http://www.skype.com), to solutions aimed to use the VoIP technology decoupled from the PC, like VoIP-Bluetooth kits or VoIP phones. Moreover it is quite common to find VoIP client applications for mobile phones, that need a UMTS Internet connection to provide the VoIP service. However this kind of connections are typically expensive because of the fact that mobile network operators only offer charges plans based on consume and not on the payment of a fixed initial bill.

In this context it is necessary a further step towards the fully integration between VoIP technology and mobile telephony, so that it is possible to let the user enjoy voice services over the Internet with their own mobile phone, through a wireless connection like Bluetooth (http://en.wikipedia.org/wiki/Bluetooth) rather than using mobile operator’s expensive connections.

The aim of this project is to verify the feasibility of a specific use of the mobile phone within a scenario in which it is the end-point of a VoIP call forwarded from a multimedia station (e.g. a PC) thanks to a Bluetooth connection. In this way we can exploit all the potentials and advantages offered from voice over IP services and, at the same time, use a well-known and common object like a mobile phone. Actually, in a rich and large background full of solutions, one of the main target of this application is “transparency”, that is provide, with very few differences, the same features offered by typical telephony to which users are accustomed.

The developed prototype, named BlueVoice, is composed of a distributed system able to simulate a phone call and, thanks to Bluetooth, conveys voice data and the necessary signalling information to a multimedia station like a PC. On this station a VoIP software acts as a Bluetooth server to accept mobile phones request to the BlueVoice service and, on the other side, it is the end-point of a VoIP call. shows the whole system that connect two final users A and B.

blue voice architecture

Fig. 1- End-to-end system representation

The software is composed by an application for the platform Series 60 2nd Edition FP2 (i.e. the Symbian (http://www.symbian.com/) operative system version 8.0a), and a server-side PC program that is in charge of accepting connections coming from the mobile VoIP client, and perform the convenient methods to start, handle and finish the call towards another end-point.

The mobile phone can act in a client or server mode. In the first case the device is the connection performer, that is cover the active role of BlueVoice-enabled devices discoverer, and it is able to set up an end-to-end phone call like the one shown in the Figura 1. In the latter case the mobile phone is available for a new connection, since it can be detected by other mobile devices. In this manner it is conceivable to implement a phone-to-phone communication (like a Walkie-Talkie) that allows the interaction between two mobile terminals by simply using the Bluetooth channel and not the Internet.

The BlueVoice server is the modification of the open source SimpleOPAL project (http://www.voxgratia.org/docs/faq.html), a command-line program without graphical interface that let the user receive and forward VoIP calls. The aim of these modifications is to integrate the software with a client component that can dialogue with the mobile phone, in order to be a link between the two communication subjects, one interacting with SimpleOPAL by means of a Bluetooth connection, the other with the Internet. For this purpose it is necessary to introduce a thread for each of the unidirectional wireless channels to handle the two communication directions, to and from the mobile phone. This pattern is better described by Figura 2

blue voice

Fig. 2 - Connected system

The whole implemented system aims to simulate, in the most reliable way, a phone call as if it was forwarded or received by PSTN (http://en.wikipedia.org/wiki/PSTN) network. In order to reach this goal, it is needed to guarantee to the user some features like the full-duplex functionality of the conversation to give the users the possibility to speak and hear at the same time. This is feasible by playing received data from the Bluetooth interface, and send to the other end-point the sampled voice contemporaneously.

Considering the streaming nature of this application, it is fundamental to keep down delays that can affect voice packets throughout the entire path to ensure the speech understandability and an acceptable users interaction. In particular it is necessary to contrast the negative effects of the jitter by handling a receiver-side buffer into which load voice packets coming from the wireless interface, and by the which these are drawn, after a certain delay, to be played.

In order to perform a phone call some overhead information is required, beyond the voice data, to control the phone call lifecycle and to inform the user about specific events. These events are comprehensive of incoming call, accepted call, rejected call and all the information provided by the network during a typical phone call. For this purpose, a simple protocol was implemented in order to identify these events by signaling messages both for the management of the telephone call and to handle errors due to problems on the Internet connection.

Finally there are other aspects that were taken care of, like the missed calls log update, in order to record recent missed calls coming from the Internet because it is a versatile feature that users are used to.

The audio quality provided by the final prototype is good within the Bluetooth coverage area, but it is affected by a weak echo effect of one’s voice due to the retroaction between speaker and microphone on the device. Regarding the Bluetooth link, tests prove that the bandwidth upstream usage is definitely low and adjustable to the maximum bit-rate allowed by the Bluetooth Standard. In fact the latter establishes, for asymmetric data traffic, a maximum bit-rate equal to 723,2 kbps, whereas BlueVoice uses 128 kbps (a quarter of standard telephony bandwidth) for downstream link, and an identical bit-rate for the uplink.

BlueVoice is limited to the platform for which it’s been developed (Nokia 6630 operative system), but with a portability process can be fit to other mobile devices whereas, thanks to the use of public API, it can be integrated with other VoIP softwares, in particular with Skype, considering the widespread diffusion of this product.