Implementation of VOIP Communication on Embedded Systems

Share Embed Donate


Short Description

Implementation of VOIP Communication on Embedded Systems...

Description

International Journal of Research in Computer and Communication technology, IJRCCT, ISSN 2278-5841, Vol 2, Issue 1, January 2013.

Implementation of VOIP Communication on Embedded Systems G.Sai Prasanna, S.Karunakar Student ECE,Asst.Professor,Department of ECE Aurora’s Technological and Research Institute, Hyderabad [email protected], [email protected]

Abstract:

In the development of VOIP technology, applications of real-time voice communication has corner into widespread use over the Internet. However, their over reliance on PC environment restricts the applying fields of most VOIP software, and embedded VOIP is one of these blind spots. The VOIP application in this paper sets the hardware foundation on ARM9 embedded platform, adopts SIP and RTP as the transmission protocol and employs CELP compression algorithms to ensure the low-latency and high­ quality communication. In addition, Linux operating system and ALSA device driver are used to meet the needs of cost control and sound effects. Viewed from the experimental results, the VOIP system proves to be successful in both its real time voice communication. I. Introduction: VOIP is a family of transmission technologies for delivery of voice communications over packetswitched networks, such as the Internet and other IP networks. For the reason that VOIP makes good use of the Internet technologies and the extensive weblinked environment, it is able to offer much more versatile services with lower, or even no cost. Due to the inherent capacity limitation of the embedded hardware and the real-time requirement on voice communication, an embedded VOIP system has to take many factors into the design consideration and carefully weigh among the protocols and compression algorithms for the ones suit best. The VOIP system in this paper sets the hardware foundation on ARM11 embedded platform, adopts SIP and RTP as the basis of Internet protocol and employs CELP compression algorithms to ensure the low-latency and high-quality communication. In addition, UDA1341 sound codec and ALSA sound driver are used to guarantee the performance of the speech recording and processing. A. Basic Principles of VOIP VOIP is a voice communication technology based

www.ijrcct.org

on digital voice processing techniques and the Internet applications. The basic steps involved in originating a VOIP call are analog-to-digital conversion, signal compression/translation and IP package for transmission; the process is reversed at the receiving end .Normally, a VOIP user takes his prior concerns to the voice QoS and real-time response, so it is of vital importance that a VOIP system must put higher priority on choosing the adequate protocols and voice compression methods to meet the user's top needs, even if the cost may sometimes be a sacrifice of network reliability. SIP Protocol. 1. SIP Protocol Using different protocols or standards, the initialization of a VOIP session can be implemented in several of ways. SIP is an application layer signaling protocol widely used for creating, modifying and terminating multimedia communication sessions. Therefore VOIP systems using SIP as the session initialize usually have a superior real-time communication in most situation. Furthermore, SIP is a distributed control protocol. That means SIP is free of central servers for network management and is easy to deploy. All these positive qualities make the SIP very easy-to-use and perfectly appropriate for embedded terminal network. 2).RTP protocol RTP (Real-time Transport Protocol) is an application layer protocol designed to deliver audio and video over the Internet. As its reliability of realtime service, RTP often works with SIP as the basic network protocol in a VOIP . Internally, RTP is often used in cooperation with the RTCP (Real Time Control Protocol). While RTP transports the audio packets over the Internet, RTCP is responsible for monitoring transmission statistics and maintaining Qos. The VOIP in this paper focuses more on the timely transfer of the entire voice stream rather than the precision delivery of each data packet, because in a length of audio stream, occasional losses of some trivial fractions are usually unnoticeable, and also repairable.Thus, all the RTP applications in our VOIP

[email protected]

Page 1

International Journal of Research in Computer and Communication technology, IJRCCT, ISSN 2278-5841, Vol 2, Issue 1, January 2013. adopt UDP, instead of TCP, as the transport layer protocol. 3)Voice Compression Technology in VOIP Voice compression is a process whereby voice data is compacted into less bulk for better transportation. In a VOIP, voice compression technology can considerably reduce the volume of the audio data, and a less bulky data size is surely helpful to relieve the network load and ensure realtime response in VOIP calls. Among the existing voice processing methods, Code Excited Linear Prediction (CELP) is generally considered to be the most successful compression algorithm. CELP speech coding is based on source-filter model, which assumes that the vocal cord is the source of speech, and the vocal tract serves as a filter to shape various sound of voice. Normally, CELP is able to control the transmission rate between 2kbps 16kbps. B. Architecture of Embedded System The embedded platform contains all the hardware supports needed in the VOIP system, such as functions of voice sampling, playing, sending and receiving. In view of the cost and performance of the embedded platform, the system selects Samsung S3C6410 as the central processor. It is developed on ARM 11 core and supports the bus interfaces and peripherals ranging from IIC, lies, MMU (Memory Management Unit) to 4 channel DMA, 2 channel USB controller and LCD controller, fully qualified as the hardware infrastructure of the VOIP application. IIS (lnter-IC Sound) is defined as a serial bus interface for connecting digital audio devices. A. In addition to the audio chip, the system development board also comes with Ethernet card, wifi card, serial port, USB and other peripheral device interface, able to meet the basic communication requirements in the VOIP system.

Figure1. Wiring Diagram ofS3C6410 and UDA1341

www.ijrcct.org

II.MASTER DESIGN OF VOIP SYSTEM B. General Layout The VOIP system in this paper is architecturally divided into two main parts, the SIP server and the client software. The server section is responsible for locating the calling and called parties and establishing the communication environment before sessions actually start. For.The client­ side's main function is to send and receive compressed speech streams. To improve the real-time capacity and make better use of the UDP's advantages, the voice streams are designed to make its path directly between client terminals, namely getting no SIP servers involved on the transmission route. B. Pattern Layout of SIP Server 1) Setup of SIP servers The SIP server section is consisted of three parts. User Agent: Though structurally speaking, UA belongs to the client software section; its actual function is to act as an extension of the SIP server to cope with all SIP requests and responses. Register/Location server: When serving as a register server, Register/Location server dynamically establishes the mapping relationship between users' logical and physical addresses. The mapping relationship can be further used to support call routing devices and subscriber mobility. When receiving a location request from a user, the server can also find and return the needed user IP according to the mapping list it contains. Proxy/Redirect Server: In most circumstances the proxy server awaits the incoming requests from client-sides and relays those messages to the specified resource server according to the visiting strategy. After the resource server responds, the required contents will then be sent back to the source clients. If a user registers in the server moves to a new position or changes its IP address, the redirection function of SIP will be activated. The server will redirect and return the user's new IP address by tracing and consulting the relevant servers. 2) Messaging System of SIP Servers Figure 2 shows the messaging system in the SIP servers, the full lines and the dash lines represent the SIP requests and acknowledgements respectively.

[email protected]

Page 2

International Journal of Research in Computer and Communication technology, IJRCCT, ISSN 2278-5841, Vol 2, Issue 1, January 2013.

Figure2. Message Flow in SIP protocol The initial session request triggered by a VOIP client is firstly delivered from the SIP proxy to the location server to obtain the IP address of the called party. The location server then sends an invite message to the target IP (or the proxy of this IP) and returns the calling party a wait-to-confirm message. If the IP address is valid and the PC client accepts the invite, then the called party will return an acknowledgement message, after the confirmation of which, two parties in the session finally finish swapping their IP addresses and the communication environment is ready for the upcoming voice transmission. C. Pattern Layout of Client Software 1) Overall Structure of Client-side On the user-level, the client software offers the communication control interface, while procedures in background handle all the sound processing and data transmission. The soft structure of the client side comprises three parts, as shown in Figure 3. a)

GUI interface: OUI interface is the graphical channel between users and the primary control thread. A VOIP user can, whenever necessary, manipulate and be aware of the status of background threads through this channel.

b) Voice processing: Threads in voice processing module are in charge of all the VOIP sound operations, including capturing, playing, compressing and decompressing. The thread can be further divided into two sub procedures based on their operational order; one is sampling, compressing and sending; while receiving, decompressing and playing.

www.ijrcct.org

Figure 3. Integral Architecture of Client c) Data channel: The client software provides two communication highways (each has a thread) to transport all the data generated from the user's voice and operation. The SIP communication thread (or the client-to-server thread), which is implemented by the SIP open source library, interacts with the SIP proxy to help the client build the initial session connection [6]. Viewed from the functional aspect, the c-to-s thread also corresponds to the user agent in the SIP server section. The RTP communication thread (client-to-client thread) utilizes the ORTP library as the protocol base and enables a user to have a direct RTP access to his counterpart. Unlike other ordinary VOIP solutions, the VOIP system in this paper assigns the RTP communication an independent thread. 2) Implementation of Voice Processing Among the most commonly used Linux sound device drivers are ALSA (Advanced Linux Sound Architecture) and ass (Open Sound System), and our system adopts the former as the translator between UDA 1341 and client-side applications. It is partially because that ass has be largely replaced by ALSA as the preferred Linux sound driver due to its poor open source policy; and partially because that ALSA has a bigger and more powerful interfaces designed for audio editing and sound mixing. In this paper, ALSA is actually used more like a combination of UDA1341 hardware driver and general sound API. By virtue of its lower latency and higher quality, both the sound effects and sample speed in the client are satisfying.

[email protected]

Page 3

International Journal of Research in Computer and Communication technology, IJRCCT, ISSN 2278-5841, Vol 2, Issue 1, January 2013.

Figure4. Procedure of Speech Capture/Compression. Fig.4 shows the procedure of voice capture and compression by using ALSA sound driver and Speex library. After the voice processing thread, the compressed voice data will be subsequently sent to the RTP thread and encapsulated into IP packets for delivery. It is obviously that the relationship between these two threads matches the production-consumption model, and an effective way to improve the throughput between them is to set up a shared critical area. In the critical area, two threads are permitted to coincide simultaneously and the system idle time can be shortened by a large extent. 3) Implementation of RTP Transmission Applications in the RTP module is implemented on the base of ORTP software package, as shown in Figure 5.

Figure5. Integral Design of the RTP Module.

www.ijrcct.org

The primary control module is in the central position of the RTP thread, and it monitors other sub modules and keep them work in good order. As for the RTP module, its major function is to send/receive the processed voice to/from the opposite side of the session. It is also responsible for generating RTP statistics and QoS information for the latter RTCP quality test. By periodically exchanging and verifying those statistics, RTCP module can detect the occurrence of any abnormal situation and report them to the primary control module. If necessary, the control module will adjust RTP rate and packet load to maintain the transmission QoS In the voice processing thread, RSN is used in association with the Speex to promote the robustness in the conversation. In this procedure, the RTP receiving thread first scrutinizes all the RSN for packet loss. If packet loss does occur, the R TP thread will then inform the Speex to fix the lost fractions and obscure the incomplete voice stream. By introducing this quality assurance mechanism, the system can have a strong tolerance of data deficiency despite the fact that RTP and UDP never retry lost packets. Besides, when data loss is too severe for the Speex thread to restore (usually a loss of more than three consecutive packets), the RTCP module will readjust the packet size and sending rate for a transmission in poor network environment. III. SYSTEM TEST AND EXPERIMENTAL RESULTS: Generally speaking, session quality and bandwidth occupancy are two of the most important indicators to evaluate a VOIP system. The former is a subjective indicator so it entails listeners to make estimations. In this paper, the session quality is measured by mean opinion score (MOS), an ITU-T P.800 specified numerical indication of the perceived voice quality after compression and transmission. The MOS is expressed as a single number in the range I to 5, where I am lowest perceived audio quality, and 5 is the highest. MOS also demands that no less than 15 listeners should be involved in a test and the final result is given by the arithmetic mean of all the individual scores. It is generally believed that a VOIP is able to provide high quality voice communication if its MOS score is better than 4. In the process of our MOS test, a PC and embedded terminals are set up as the session participants. Given a 96Kbps PCM as the voice input, the PC terminal alters the compression sampling rate from 8 KHz to 32 KHz and snapshots the network flow as the reference of bandwidth occupancy. The test result is shown in the below table.

[email protected]

Page 4

International Journal of Research in Computer and Communication technology, IJRCCT, ISSN 2278-5841, Vol 2, Issue 1, January 2013. Band Mode

Sample Rate

RAW PCM

Bit Rate

MOS

Compre -ssion Ratio

Narrowband Wide band Ultra band

8kHz 16kHz 32kHz

96kbps 96kbps 96kbps

2.5kbps 3.9kbps 11kbps

3.7 4.0 4.2

38.4 24.6 8.6

Contributed much by the CELP and RTP, the VOIP system performs excellently in voice compression (38 as the best), bandwidth conservation and system average utilization. It can provide a high quality voice communication (MOS 4.0) under the minimum bit rate of mere 3.9Kbps. The test also shows that different compression sampling rates have little influence on speech clarity. Except the perceptible but not annoying noise in 8 KHz, voices under all these three sampling rates are fluent and perceivable. From the aspects of the overall capacity, the system has prominence on both bit rate and voice quality, fulfilling the expected goals to design a real-time voice system on the embedded platform.

[5] Wei Zheng, "The Research and Design of an Embedded VoIP System Based on SIP Protocol," Dahan: Dahan University of Technology,2008. [6] Javier BustosJ, Alejandro Bassi A, "Voice compression systems for wireless telephony," 21st International Conference of the Chilean Computer Science Society (SCCC 200 I), Punta Arenas, Chile [7] Rui Wang, Shiyuan Yang, 'The design of a rapid prototype platform for ARM based embedded system," Consumer Electronics IEEE.

IV.CONCLUSION: In this paper, introduction and implementation of an embedded VOIP system are elaborated in detail. The VOIP system takes S3C6410+UDA1341 as the hardware base, supports the Internet protocols of SIP and RTP and employs ALSA sound driver and CELP compression algorithms to ensure the sound effects. To strengthen the real-time and QoS performance in communication, improvements on server setup and voice processing are attempted and investigated.

Finally, as shown by the test result, this VOIP proves to be capable of offering the compression rate of 38 as its best, and providing high-quality voice communication with the bandwidth of only 3.8Kbps. V.REFERENCES: [I] Samrat Ganguly, Sudeept Bhatnagar, "VOIP: wireless, P2P and New Enterprise Voice Over IP," England; Wiley, 2008. [2] OODE B. "Voice over Internet protocol," Proceedings of the IEE8.2002. [3] M.Handley, H.Schulzrinne, E.Schooler,etc, "SIP: Session Initiation Protocol," IETF(RFC3261 )June,2002. [4] H.Schulzrinne, S.Casner, R.Frederick,etc., "RTP: A Transport Protocol for Real-Time Application," IETFJanuary, 1996.

www.ijrcct.org

[email protected]

Page 5

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF