You are on page 1of 4

Design and Implementation of an Embedded VoIP System using Bluetooth Technique

YU Jijiang
Computer and Information Engineering Department HeZe University Heze, Shandong, China

College of Information Science and Technology Henan University of Technology Zhengzhou, China

AbstractWith development of the wireless technology, the mobility of VoIP devices have been improved in recent years. The Bluetooth, a kind of short distance wireless communication technology, plays an important role behind all this. In this paper, we proposed an embedded VoIP system using Bluetooth wireless technology, which can bring convenient for people who talk to each other by using this VoIP system. KeywordsVoIP;Bluetooth;IP-PBX Codec; BlueZ Gateway; Vinetic





In recent years, the VoIP technology and system are becoming increasingly popular due to the improvement of bandwidth of internet and voice coding technology[1]. VoIP represents that voice is delivered over Internet by using Internet protocol. It can reduces the cost of telephone communication due to the packet switching on Internet and higher channel utilization rate. According to the defination gived by SIG group[2], Bluetooth technology is a sort distance and low cost wireless communication standard. By using this standarad, some movable communication device, such as notebook computer, PDA, mobile phone, digital camera, even keyboard and mouse , can be connected together. The Bluetooth wireless communication uses an unused 2.4GHz frequency band which can be used throughout the whole world. Thus, it ensures the unimpeded access throughout the world. The Bluetooth technology makes the complicated connection between the periphery and the messy wiring pass into history. By using Mac OS X [3]as the integration of Bluetooth technology, we can easily connect our computer, PDA equipment, mobile phone and other peripheral with each other within 9 feet range in the form of wireless. In this paper, we outline a framework for an VoIP system using the Bluetooth technology and organize the gives the system content as follows: Section discusses the implementation of architecture, Section the system in detail, Section gives some testing program and in the end, section is a conclusion and summary of the future work.

A. System overview Our purpose in this paper is to setup an embedded VoIP gateway which allows user telephone by using a cordless phone. In order to achieve the desired result, the following task must be performed in this system: 1)The cordless phone should be connected to an IP-PBX(Private Branch Exchange) over Bluetooth; 2)The cordless phone can communicate with a remote SIP client by using SIP(Session Initiation Protocol) and RTP(Real-time transfer protocol); 3)The user can telephone by using headset user interface which provide some basic functions, such as call, phone book, Offhook, Onhook, etc. The system architecture is shown in Figure 1.

Figure 1.

System architecture

B.Hardware overview The systems hardware consist of five parts, as shown in Figure 2. The user can dial number and telephone by clicking the headset keypad. The headset is connected to Bluetooth module via wirless link. The control signaling is delivered between Headset and BT module along Bluetooth link. Infineon 5120P platform[4] provides Telephony API (TAPI) for developer to control hardware Codec. MC14583[5] is a 13 bit linear PCM Codec. The voice is delivered along voice path which connected to PSTN phone.

978-1-4244-5824-0/$26.00 c 2010 IEEE


Figure 2

Hardware system overview Figure 4 Software architecture on IP-PBX gateway

C. System components In order to realize the above-mentioned objective, we divided the whole system into several system Components, as shown in Figure 2. The BlueZ[6] is an implementation of the Bluetooth protocol stack for Linux. Microwin provides basic mapping function on the upper layer of the application. As an interface between the Bluetooth module and the IP-PBX, the UART driver is responsible for the processing of information over a serial port. SIP[7] is a session initiation protocol which is defined by IETF, and has a text-based format for the transmission agreement. When the communication of the multimedia format is completed, convenient communication will be based on the result of the use of RTP[8] which can transmit voice and video. The system components are shown in Figure 3.



A. Software and components In this system, we used Infineon ADM5120 target board to develop program code. First, we should compile the Cross Compile Library for MIPS platform with application into the target board. Before we compile it, we need to calculate some parameters for target board. We need a voice Codec to convert analog signal into various compressed form(such as G711, G723, G729). Infineon 5120P platform provides Telephony API(TAPI) for developer to control hardware Codec. TAPI provides eleven services for digit signaling processing, as shown in Figure 5. The Vinetic Codec consist of ALM, SIG, PCM and COD module. Each module provides different function according to what kind of data they process. The SIG module is responsible for signaling processing. The COD module provides encode and decode voice stream. The ALM module converts a digit signaling into an analog signaling. The PCM module controls the direction of voice stream.

Figure 3

System component

The software architecture on IP-PBX Gateway is shown in Figure 4. oSIP is an implementation of SIP. SIP stands for the Session Initiation Protocol and is described by the rfc3261 (wich deprecates rfc2543). The SIP library aims to provide multimedia and telecom software developers an easy and powerful interface to initiate and control SIP based sessions in their applications. SIP is an open standard replacement from IETF for H323. The Vinetic driver[9] is responsible for integration of Codec and voice processing function and encapsulation of all key function related to real-timing and capability. Finally, the headset controls interface application which integrates various sub-components to provide users basic telephone functions of the user interface.

Figure 5

TAPI service

As has been stated before, SIP stands for the Session Initiation Protocol. In this system, we used GUN oSIP Library which is an implementation of SIP. The Ex oSIP is an extended library for oSIP and hides the complexity for multimedia session establishment. This library aims to provide multimedia and telecom software developers an easy development interface. SIP call procedure is shown in Figure 6. At first, the initial status is idle. When received the INVITE message, it will enter the ringing status. After sending INVITE message, it will enter the waiting status. If the user wants to hang up, it only sends BYE message and then enters idle status.

[Volume 3]

2010 2nd International Conference on Future Computer and Communication


gateway. Infineon ADM5120 VoIP platform has an embedded MIPS CPU, two Ethernet ports, two FXS, and two UART interrfaces. Its most important part is voice hardware Codec for voice processing for our system. C. The path in the system In face, there are four flows in this system. Every flow has respective data type. For example, the SIP/RTP packets are delivered along SIP.RTP path. The voice is delivered along voice path which connected to PSTN, the headset is connected to Bluetooth module via wireless link. The SIP/RTP flow chart is shown in Figure 7.

Figure 6

SIP call procedure

The Micro-Window component, which is compliant with the Microsoft API and comply with X Window Systems Xlib API, can provide many functions for displaying graphics in this system. It also supports client and server application programming interface. The Client API conveys graphic event to graphic engine by using UNIX socket interface. However, the sever API calls the core engine routines directly. The device driver layer contains screen, keyboard and mouse driver. This system allows various hardware devices to be installed nito the Micro-Window system. It provides a device-independent interface to graphics engine core and performs the hardware-related operation. In test we found It is also important to note that the version of BlueZ Library must match well with the version of Linux which runs on target platform. We download the BlueZ Library for Linux 2.4.20 and its latest patch from official website and integrate them into the kernel source, thus we build the BlueZ Library for embedded Linux. Due to the limited computing power of headset itself, the user interface for headset will be produced by gateway. The gateway draws each picture and convert it into bitmap, then sends these bitmap data to cordless headset via Bluetooth link. The ISSC LCD[10] screen, which can be described by a 128 64 dot matrix, was used in this system. Its each line is vertical and each 8 pixels can be represented by a byte, so we read 8 pixels from graphic vertically each time and convert it into one byte, then we deliver these byte streams to ISSC LCD. Thus, pictures was displayed on the LCD screen. As has been noted, due to the limited computing power of headset itself, all the the SIP user agent, graphic system and Bluetooth protocol stack must run on the gateway. Therefore, headset only need to handle keypad message and LCD screen display. This solution greatly reduces the complexity of Headset Control Application design. B. System hardware description We adopted ROK 101008 from ericsson company as Bluetooth module. It has UART, PCM and USB interface with Blue tooth 1.2 Version, and has cost-effective performance price ratio. As to PCM Codec , we adopted MC145483 13 bit linear PCM Codec. In order to provide the electrical interface between Bluetooth module and the serial port connector, we used SN75C3223. Finally, we choosed infineon ADM5120 VoIP platform as the VoIP

Figure 7 The SIP/RTP flow chart



A. BlueZ library testing As one of testing project, BlueZ Library Testing is important and contains rctest, sdptest, scotest, L2test and hcimu program corresponding to respective components. BlueZ Testing Component is shown in Figure 8.

Figure 8

BlueZ testing component

In the Figure 8, the L2test program performs many testing functions(such as listen, receive, send and connect) for L2CAP(Logical Link Control and Adaptation Protocol) component. The RFCOMM protocol use the L2CAP layer to provide emulation for a serial port. The rctest program performs testing for it. Sdptest implements testing for SDP( The service discovery protocol) which provides management for service control procedure, such as service


2010 2nd International Conference on Future Computer and Communication

[Volume 3]

search request and service search response. The scotest program is responsible for the testing for the synchronous connection oriented(SCO)link which used primarily to transport voice data. B. UART driver verification UART Driver Verification contains four aspects: I/O control interface testing, Basic I/O interface testing, UART configuration testing and initialization and termination testing.The received text in testing indicated that the server program can echo any data received from client and the client verify data echoed from server correctly. V. THE USER INTERFACE

[6] Chen Fang, Song Tiecheng, Shen LianFeng, Hu Jing, Xia Weiwei. Realization and performance analysis of Bluetooth audio access system based on BlueZ protocol stack. Journal of Southeast University(Natuural Science Edition), Vol.38,No.4,2008,pp.558-564. [7] LIU Jie, LIU Heng-yang. Application of SIP and Principle of VoIP. Journal of Chongqing institute of Technology(Natural Science), Vol.23,No.3,2009,pp.171-174. [8] ZHOU Qi-jing, LIU Ye-ying, DENG Sha.Implementation of Real-time Transport Protocol in Design of VoIP Equipment. Radio Communications Technology,Vol.35,No.3,2009,pp.1-3. [9] [10] bmit=processing

Finally, the user interface we designed is shown in Figure 9. This interface contains a phone book, which records contact person who are you friends or family and a logbook, which records former call. The headset has basic user interface and function for telephone.

Figure 9

User interface



In this paper, we setup a VoIP system. Using Bluetooth techonlogy. People can communicate with each other by using this embedded VoIP system. However, it has only basic function for telephone, and more advanced function need to be added. For example, it lacks the function of talking for more people, and holding on when people is busying or leaving a message for somebody. In the future work, we will gradually resolve these problems.; ACKNOWLEDGEMENT We would like to thank the researchers of Institute of Automation, Heze University. We also wish to thank the help of Associate Professors Fu who work for

Information Science and Engineering College, Henan University of Technology.

[1] JIANG Qing, LU Yan, HE Zheng-juan.Research on Development Policy of VoIP in Heterogeneous Netwrk. Communications Technology, Vol.41, No.01, 2008, pp.134-136. [2] [3] sic&G=Brand+Mac [4] .html [5]

[Volume 3]

2010 2nd International Conference on Future Computer and Communication