Research Article Design and Implementation of a VoIP...
Transcript of Research Article Design and Implementation of a VoIP...
Research ArticleDesign and Implementation of a VoIP Broadcasting Service overEmbedded Systems in a Heterogeneous Network Environment
Jenq-Shiou Leu, Wei-Hsiang Lin, Wen-Bin Hsieh, and Chien-Chih Lo
Department of Electronic and Computer Engineering, National Taiwan University of Science and Technology, Taipei 106, Taiwan
Correspondence should be addressed to Jenq-Shiou Leu; [email protected]
Received 8 June 2014; Revised 18 August 2014; Accepted 21 August 2014; Published 15 September 2014
Academic Editor: Leopoldo Angrisani
Copyright © 2014 Jenq-Shiou Leu et al.This is an open access article distributed under the Creative Commons Attribution License,which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
As the digitization is integrated into daily life, media including video and audio are heavily transferred over the Internet nowadays.Voice-over-Internet Protocol (VoIP), the most popular and mature technology, becomes the focus attracting many researches andinvestments. However, most of the existing studies focused on a one-to-one communication model in a homogeneous network,instead of one-to-many broadcastingmodel among diverse embedded devices in a heterogeneous network. In this paper, we presentthe implementation of a VoIP broadcasting service on the open source—Linphone—in a heterogeneous network environment,including WiFi, 3G, and LAN networks. The proposed system featuring VoIP broadcasting over heterogeneous networks can beintegrated with heterogeneous agile devices, such as embedded devices or mobile phones. VoIP broadcasting over heterogeneousnetworks can be integrated into modern smartphones or other embedded devices; thus when users run in a traditional AM/FMsignal unreachable area, they still can receive the broadcast voice through the IP network. Also, comprehensive evaluations areconducted to verify the effectiveness of the proposed implementation.
1. Introduction
In the recent decade, the function of data network transitsfrom transmitting texts and images to transmitting real-timemultimedia, like voice or video. The IP Multimedia Subsys-tem (IMS), introduced by the 3rd Generation PartnershipProject (3GPP), was proposed to deliver the multimediacontent over a fixed-mobile convergence (FMC) network [1]as a carrier-grade solution. Although nowadays multimediaservices are pervasive [2], more and more people expect alow-cost, maybe even free technology to enable the real-timecommunication. VoIP is the most important applicationamong many low-cost and real-time communication ones.However, the VoIP technique still encounters many challen-ges such as packet collision and loss due to common circuits,material delay [3]. The challenges may result in a poorvoice quality. Furthermore, different software and hardwareconditions at different end-points may also influence voicequality. In general, equipping the VoIP devices with abroadband network access can make a better voice qualityachievable. Perceptual Evaluation of Speech Quality (PESQ)is a common index to show the voice quality [4], whichcompares the original input signal with the degraded output
that is the result of passing through a communication system.The output of PESQ is to quantify the difference between theideal input and the degraded output. It also represents theresult in a subjective listening test.
Besides, some researches focus on the capacity of voicedata over some specific wireless network, such as IEEE 802.11[5, 6]. However, they paid less attention to the fact that usersmay access the Internet through heterogeneous networksnowadays. In [7] the embedded system architecture (ESA)supporting cellular and WLAN connections was used todeliver a high-performance mobile VoIP service. However, ifwe want to make more people who are far away from eachother and accessing different networks hear the same voice inreal time, a broadcasting function is required for convertinganalog voice signals into digital signals and then conveyingdigital signals to all listeners.
To the best of our knowledge, little effort was made topractically build a VoIP broadcasting service without thesupport of a carrier-grade solution. Besides, the broadcast-ing service is still an interesting application for the groupcommunication. The traditional amateur radio application isrestricted by the hardware and the spectrum. However, VoIPis run over the IP network and the IP network is ubiquitous in
Hindawi Publishing Corporatione Scientific World JournalVolume 2014, Article ID 917060, 10 pageshttp://dx.doi.org/10.1155/2014/917060
2 The Scientific World Journal
the fixed ormobile network nowadays.Our proposed conceptcan even be spread as an APP on smart phones which arewidely penetrated in themodern communication world.Thisservice can be regarded as one of APPs on the smartphones,instead of the conventional amateur radio application on adedicated ham radio. Currently there exist many VoIP opensource projects. In this paper, we show how to implement theVoIP broadcasting service over Linphone [8], one of VoIPopen source projects, on the embedded systems and find anefficient way to deliver the voice packets to multiple users inheterogeneous networks.
The remainder of the paper is organized as follows. InSection 2, some related works are discussed and our maincontribution is described. We introduce a VoIP opensource—Linphone—used in our implementation and exper-iments in Section 3. In Section 4, the system architecture ofour implementation is presented. The performance evalua-tion based on our implementation is illustrated in Section 5and a brief conclusion is drawn in Section 6.
2. Related Works
In recent years, most of traditional communication mediaincluding telephone, music, film, and television are digitizedto be transmitted over the Internet. Voice-over-InternetProtocol (VoIP) [9] is a family of technologies, communi-cation protocols, and transmission techniques for deliveringvoice and multimedia over Internet protocol networks. AsSkype has been released, many people are aware of theconvenience of voice and data over the network. Since themid-1990s, telephone equipment manufacturers have addedIP capabilities to their existing PBX telephony switches. TheVoIP phone provides an alternative solution to the traditionaltelephone. As the VoIP technology gets mature, how to geta better quality of services (QoS) of VoIP was studied. VoIPover wired networks hasmany breakthroughs.Walravens andGaidioz [10] presented a technique called receive descriptorrecycling (RDR) that can reduce small-packet loss by 40%.Also the most popular applications such as Skype thereforebecome the research focus [11, 12].
In 2001, in order to determine the influence of delayjitter and packet loss on the perceived quality, Duysburgh etal. [13] used an objective speech quality assessment system,DSLA, to predict the mean opinion score (MOS) for voiceconnections. On a connection without dejitter buffer, a dev-astating influence of jitter is shown whereas the influence ona connection with dejitter buffer is found to be similar to theeffect of packet loss in the network. To observe the influenceof packet loss, delay, and delay jitter as well as the effect ofsampling, digitization, coding/decoding, and packetization,many experiments were carried out, such as [14–17]. Next,Oklander and Sidi [18] modeled a jitter buffer operationby M/G/1/K-ex queue and carried out the analysis of itsperformance. To increase the perceived quality of the voice,they used voice quality evaluationmethodologies—MOS andE-model with the established relations between delay jitterand packet loss—to choose the controlling parameters forthe jitter buffer setting optimally. Later, Paulsen et al. [19]
investigated how the jitter buffer affects theQoS. Paulsen et al.carried out two implementations that consider a passive FIFObuffer and an active PJSIP buffer. They presented the resultsthat demonstrated considerable improvements in VoIP QoSby doubling the size of jitter buffer. The study shows thedependency between QoS values, end-to-end delay, and thejitter buffer size.
Jang et al. improved the voice quality in aWLAN/cellulardual-mode mobile phone by proposing new embedded sys-tem architecture (ESA) [7]. Based on a dual-core scheme,main functional blocks of the proposed architecture arecomposed of VoIP remote procedure call (VRPC), an audiobridging scheme, and a server-assisted call management(SACM) algorithm. Jung and Ibanez [20] proposed an adap-tive piggyback packet coding that can provide the VoIP userwith an acceptable quality over the wide range of packet lossconditions.
Most of the above studies were done in a homogeneousnetwork and focused on one-to-one communication. There-fore, we plan to present a broadcasting service over hetero-geneous networks and evaluate the influence of broadcastingorder and process scheduling on the QoS.Moreover, we placethe emphasis on voice call since voice call is still the mostcommon communication mode without invading privacy.Besides, the signal quality for the AM/FM broadcastingsystem is vulnerable, so that the voice broadcasting servicequality in the traditional analog system is not stable. The IP-based digital voice can keep a good quality as long as the IPconnectivity is fine. Even in the tunnel, network operatorsmay use the radio-over-fiber, mesh network, and cellular net-work repeater technologies to extend the IP service coveragefor keeping the communications service out of interruption.VoIP broadcasting over heterogeneous networks can be inte-grated intomodern smartphones or other embedded devices.Therefore, users can receive the broadcast voice through theIP network almost anywhere.
In [21], multimedia push-to-talk service deployed in-doors can monitor the inner environment and make com-munication among users in the area; however, the service islimited to a local area. Next, the authors in [22] explained thata push-to-talk issuer can use lower cost to extend the PTTservice over the Internet by deploying VoIP broadcastingservers but did not evaluate the QoS based on a real voicequality. In [6], authors also discussedwhen usingG.729 codecin VoIP, how many calls can be held at the same time overthe IEEE 802.11b networks. However, they only consideredthe receivers are in the same distance. In this paper, weimplement a VoIP broadcasting service by an open sourceproject VoIP software—Linphone—on embedded systemsand carry out and evaluate a VoIP broadcasting servicein not only homogenous but also heterogeneous networks.Furthermore, we discussed the real received voice quality,delay, and how to optimize the system efficiency in the systemevaluation experiment.
3. Introduction to Linphone
Linphone [8] is an open source project; its software imple-mentation can be used to communicate freely with people
The Scientific World Journal 3
Table 1: The comparison of current VoIP software.
2012/06 for VoIP voice support Skype Yahoo and MSNMessenger Google Talk Line LinphoneOpen source No No No No YesSelect and change audio codec No No No No YesFree to use Yes Yes Yes Yes YesOS Support
Android Yes Yes Yes Yes YesBlackBerry Yes No Yes No YesLinux Yes No Yes No YesWindows Yes Yes Yes Yes YesMacOSX Yes Yes Yes Yes YesiPhone Yes Yes Yes Yes Yes
over the Internet, with voice, video, and text instant mes-saging. Linphone uses the SIP protocol, an open standardfor Internet telephony, for communication and is licensedunder the GNUGeneral Public License. And it is available fordesktop computers running Linux, Windows, and MacOSXor smartphones running Android and iOS. Table 1 illustratesthe comparison of different VoIP software. Since Linphonecan adopt different codec mechanisms and support variousoperating systems, we utilize Linphone over embedded sys-tems to implement our VoIP broadcasting service.
There are two major parts in Linphone: one is the userinterface and the other is the core engine. GTK+/glade isused for GUI and a console-mode application can also beexecuted on Linux. The core engine is Liblinphone which isthe library implementing all the functionalities of Linphone.Liblinphone is a powerful SIP VoIP video SDK that can beused to add audio or video call capabilities to an applicationand provides a high level API to initiate, receive, or terminatecalls. Multimedia communication is usually made of richmedia (such as voice or video) and signaling (such as routingcalls and accepting a call). Linphone aims at joining thesetwo things up to implement voice/video calls in applicationseasily. Liblinphone depends on three software components—(1) Mediastreamer2, (2) oRTP, and (3) eXosip2.
(1) Mediastreamer2: a library which is responsible forreceiving and sending multimedia streams in Lin-phone, including voice/video capturing, encodingand decoding, and rendering. In brief, it is a powerfuland light-weighted streaming engine specialized invoice/video telephony applications.
(2) oRTP: a real-time transport protocol library whichincludes APIs to parse incoming RTCP packets. Itsupports multiple profiles and the AV (audio/video)profile is the default one. It also can support the SRTP(secure RTP) feature.
(3) eXosip: a library which hides the complexity of usingthe SIP protocol for building multimedia sessions.
The architecture of Linphone is shown in Figure 1. Lin-phone separates user interfaces from the core engine, allow-ing creating various kinds of user interfaces on top of the lowtier functionalities.
Liblinphone: high level API
Operating system: libc, kernel, and sound drivers
Mediastreamer2 toolkit
oRTP: RTP library and OS abstraction layer
eXosip2SIP
stack
Linphoneconsoleinterface
Linphonedesktop
(GTK + GUI)
LinphoneiPhone OS
GUI
Liblinphonejava bindings
Linphoneandroid GUI
- Easy to use API to place and receive calls- Manage proxies- Presence- Configure codecs
Audio and video processing engine:codecs, sound access, video capture and
display, echo cancellation
Plugins to extend ms2 features: hw acceleratedcodecs, custom display, and so on
Figure 1: Software architecture of Liblinphone and all its dependen-cies [8].
4. Architecture of the ProposedVoIP Broadcasting Service overHeterogeneous Networks
The main contribution of this paper is to implement a VoIPbroadcasting system and use the VoIP technology to broad-cast voice to diverse clients over heterogeneous networks.Theconceptual architecture is shown in Figure 2.
The analog audio is inputted into the broadcasting hostand is broadcasted to embedded device clients over hetero-geneous networks, such asWiFi, LAN, and 3G networks.The
4 The Scientific World Journal
Broadcastinghost
Heterogeneous networks
Embedded device
Embedded device
ou
Client 1 Client 2 Client 3
Embedded device · · ·
Figure 2: Conceptual architecture.
detailed system architectures of the broadcasting host and theembedded device are illustrated in Figures 3 and 4.
In the implementation environment, the specification ofthe broadcasting host we use is a X86 PC with an Intel CPUT2060 1.60GHz, 1 GB DDR RAM running Ubuntu 11.04 andthe one of the embedded client is a S3C6410A board witha CPU, ARM1176JZF-S 533MHz, and a 1GB DDR RAMrunning Android 2.3.2 (based on Linux kernel 2.6.38). Thesespecifications are subject to change based on the executiveplan.
In the architecture of the broadcasting host, there existmany Linphone threads, in accordance with the numbers ofreceivers, running in the user space. Each thread shares thesame memory, libraries, and OS resources. In the OS kernelspace, ALSA (Advanced Linux Sound Architecture) providesLinux audio andMIDI (musical instrument digital interface)functions. Network stack buffers are used to store and sendUDP/TCP packets. If the buffer is large, the operating systemaccumulates more packets and then passes the packets to thechip at a lower layer. In this way, the CPU is less busy, but thepacket arrival may not be real-time. In contrast, the smallerthe buffer is, the more real-time the packet arrival is. At thehardware layer, an audio chip is used to convert analog audiosignal that sends to/receives from users and a net chip isused to send/receive digital audio packets. That is, the voiceis extracted by an audio chip and stored in the buffer of theaudio chip. Then the audio data is compressed by Linphoneand divided into small packets.These packets then aremovedto the buffer of the net chip and sent to clients through thenetwork. On the client side, the architecture is similar to thatof the host side.The difference is that only one thread runs onthe client side, which corresponds to one of many threads onthe broadcasting host. The audio data is extracted from thebuffer of the net chip and is decompressed by Linphone firstand then ALSA sends the data to the audio buffer to play thevoice.
Our proposed system architecture is run over heteroge-neous networks. When delivering the audio content from thebroadcasting host to the clients, each Linphone thread has itsown audio buffer.The analog audio input would be convertedinto digital audio packets by using some codec like G.711,
which is a common codec at the host side. When an audiobuffer is full, it will send packets to the corresponding thread’ssending queue which is in Linux OS user space. Each threadcorresponds to a different embedded device. Then packetsare sent to the UDP buffer in Linux OS kernel space. Next,each packet at the host side is sent to the jitter buffer on eachembedded device at the client side. After receiving the audiopacket, each embedded device sends an ACK response to thehost and then the host would continue to send the followingaudio packets to the embedded devices when receivingthe ACK. The process flow is sequentially illustrated inFigures 5(a), 5(b), 5(c), and 5(d).
Since many clients may currently receive the broadcastvoice, the host side sends the voice packet to thread in around-robinmanner. If the host wants to transmit audio datato different network nodes that have a variety of transmissionrates in a heterogeneous network environment, it is better totransmit voice packets to the better network node first andthen to the inferior.The proposed shortest transmission timenode first can be presented as in Algorithm 1.
5. Performance Evaluation
Linphone implements part of RTCP (real-time control pro-tocol) so that the receiver would send an ACK back tothe sender when it receives the voice packets. Hence, theLinphone-based broadcasting host can know (1) how manypackets have been sent, (2) how long the transmission delayof voice packet is, and (3) which delayed packet shouldbe discarded. Figure 6 show the simple procedure in ourexperiment that converts analog audio input into digitalaudio signal, encoding the signal at the X86 PC-based sender,decoding the signal, and finally turns to the original audiooutput at the embedded device-based receiver.
Measuring the delay of packet transmission through thetimestamps of packets sent or received over the Internet maynot be precise due to the influence of clock skew (clock offsetof devices) [23].Therefore, we use the Adobe Audition playerwhich can record and play audio simultaneously (shown inFigure 7). Through playing the audio on the broadcast hostand recording the audio at the receiver side, the transmissiondelay can be measured by the Adobe Audition player itself.
Next, we use PESQ measure program to calculate thedifference between the received audio and the original audioto obtain the PESQ value (shown in Figure 8).
5.1. Received Voice Quality on Different Kinds of EmbeddedDevices. Thefirst experiment illustrates the evaluated perfor-mances of sending VoIP packets from a broadcasting host(an x86 PC running on Linux) to two different kinds ofembedded devices—to be a host—and two embedded devices(one running on the Linux kernel and the other runningon the Android platform) in the WiFi environment. In theexperiment, the audio buffer size is set to 20ms that is equalto the frame size in G.711. We use the transmission delay andPESQ as themeasurement indices to assess the received qual-ities on these two receivers. In 1,000 experiments, we got theevaluation results shown in the Tables 2 and 3 by taking the
The Scientific World Journal 5
Linux OS user space
Mediastreamer2 librarySpeex library eXosip library
Linphone thread 1 Linphone thread 2 Linphone thread (N + 1)
Hardware
Read period bufferWrite period buffer
Advanced Linux sound architecture
Linux OS kernel space
Net chip
Receive FIFOSend FIFO
Analog audio input PHY
Audio chip
PCM output FIFO PCM input FIFO
Network stack buffers
UDP buffer TCP buffer
X86 PC broadcast host
Figure 3: X86 PC broadcasting host.
Hardware
Read period bufferWrite period buffer
Advanced Linux sound architecture
Linux OS kernel space
Net chip
Receive FIFOSend FIFO
Linux OS user space
Linphone software
Mediastreamer2 librarySpeex library eXosip library
Embedded device client
Analog audio input PHY
Audio chip
PCM output FIFO PCM input FIFO
Network stack buffers
UDP buffer TCP buffer
Figure 4: ARM-based embedded client.
6 The Scientific World Journal
Read periodWrite periodAdvanced Linux sound architecture
Linux OS user spaceX86 PC broadcast host
Linux OS kernel space
Linphone thread 2Linphone thread 1
Send queue
Mediastreamer2 Audio buffer
Linphone thread(N + 1)
buffer buffer
library
(a)
Linux OS user spaceX86 PC broadcast host
Linux OS kernel space
Network stack buffers
UDP TCP
Send queue
Linphone thread 2Linphone thread 1 Linphone thread(N + 1)
bufferbuffer
(b)
Linux OS kernel space
Embedded device client
Network stack buffers
Jitter buffer
Linux OS user space
Linphone thread 1
UDPbuffer
TCPbuffer
(c)
Linux OS kernel space
Network stack buffers
Send queue
ACK
ACK
Linux OS user spaceX86 PC broadcast host
Linphone thread 2Linphone thread 1 Linphone thread(N + 1)
UDPbuffer TCP
buffer
(d)
Figure 5: Audio broadcasting procedure.
Antialiasing filterand
amplified to max signal
Compress audio data(encode)
Send FIFO
Systems architecture
Jitter buffer
Decompress audio data(decode)
Amplified signal
Analog signal input
Analog signal output
X86 PC
Embedded device
Network
Sampling andquantization
(ADC)
Audio buffer
UDP buffer
Reconstructsignal(DAC)
Audio buffer
Receive FIFO
UDP buffer
Figure 6: The physical architecture of signal conversion.
The Scientific World Journal 7
Figure 7: Adobe Audition player.
[t!]
Originalinput
Degradedoutput
Perceptualmodel
Timealignment
Perceptualmodel
Delay
Internal representationof original
Difference in internalrepresentation determines the
audible difference
Internal representationof degraded output
Cognitivemodel Quality
Figure 8: PESQ measure process.
(1) procedure STTNF(2) input:(3) // 𝑛: the number of receiver nodes(4) // tt[𝑛]: the probed transmission time array for receiver nodes(5) // sq[𝑛]: the sending sequence array for receiver nodes(6)(7) for 𝑖 = 0 to 𝑛 − 1(8) 𝑡[𝑖] = tt[𝑖];(9) sq[𝑖] = 𝑖;(10) end for(11)(12) for 𝑖 = 0 to 𝑛 − 1(13) for 𝑗 = 0 to 𝑛 − 1(14) if 𝑡[𝑗] > 𝑡[𝑗 + 1](15) swap(𝑡[𝑗], 𝑡[𝑗 + 1]);(16) swap(sq[𝑗], sq[𝑗 + 1]);(17) end if(18) end for(19) end for(20)(21) for 𝑖 = 0 to 𝑛 − 1(22) transmit the voice packet to the sq[𝑖] th receiver node;(23) end for(24) end procedure
Algorithm 1: Shortest transmission time node first (STTNF) pseudocode.
average delay time and PESQ of all experiments. The resultin Table 2 shows a Linux-based embedded device whichreceives a better service quality than an Android-based one.
We can see that the performance of the pure Linuxkernel device is better than that of Android-based one since
the Android-based embedded devices have one additionalapplication layer that is used to transfer the audio to thekernel. According to the rating of PESQ, the satisfied voicequality should have PESQ above 3.5.Therefore, both still havean acceptable quality of voice.
8 The Scientific World Journal
Table 2: The delay and PESQ between the host and the receivers.
Linux-basedembedded device
Android-basedembedded device
Delay (ms) 340 440PESQ 4.04 3.87
Table 3: The status description of each device.
Access network LAN WiFi 3GAverage delay 0.303ms 1.947ms 113.429msDelay meandeviation 0.024ms 0.612ms 16.801ms
OS EmbeddedLinux
EmbeddedLinux Win7
CPU ARM11 ARM11 Atom
5.2. VoIP Broadcasting over Heterogeneous Networks. In oursecond experiment, we conduct VoIP broadcasting overheterogeneous networks, including LAN, WiFi, and 3G. Itsdeployment is shown in Figure 9.
The embedded devices are deployed in different net-works; the x86 based broadcasting host can communicatewith these devices through LAN, WiFi, or 3G network. Forperception of human, the real-time voice must be deliveredin less than 50ms to make the communication smooth.Therefore, the broadcast packets must reach each device inthe restricted time.
In Table 3, we present the access network and status foreach device. Different circumstances would affect the servicequality. For example, the network quality in 3G is worstso that the device in the 3G environment may take morethan 100ms average delay to receive the broadcast packets.Therefore, we try to schedule threads’ priorities to broadcastvoice packets in different sequences on the x86-based host forfinding a better service quality for all devices.
Recalling that our broadcasting architecture needs to waitfor finishing sending the same packet to each embeddeddevice, the following packet may be sent then. As the resultin Figure 10 shows, we can find when the devices in a bettertransmission condition are sent with a higher priority, allreceived voices can reach an acceptable quality with just littlevariances among all devices due to a lower PESQ standarddeviation.
As the result in Figure 11 shows, B (best) means LAN, F(fair) means WiFi, and W (worst) means 3G. We can findthat if the worst transmission condition is sent with a higherpriority, we can get a better result in average delay among alldevices.
5.3. Simulation Evaluation of Real-Time Multiple ReceiverNodes. To verify the service under a larger volume of receivernode, we use VMware virtual machines running on Linux tosimulate multiple receiver nodes attached to virtual networkinterface cards with virtual IP addresses. In order to simulatedifferent network environments, we purposely delay thetransmission rates on each network interface. Then we use
X86 Linux
Internet
LAN
3G
Embedded Linux
WiFi
Embedded Linux
Figure 9: The deployment over heterogeneous networks.
0.000.501.001.502.002.503.003.504.004.50
3.48
9
3.05
4 3.65
9
3.58
6
3.64
6
3.46
7
0.48
1
1.31
5
0.53
9
0.77
1
0.42
4
0.55
2 LANWiFi3G
Average PESQStandard deviation
LAN
→W
iFi→
3G
LAN
→3G
→W
iFi
WiF
i→3G
→LA
N
3G→
WiF
i→LA
N
WiF
i→LA
N→
3G
3G→
LAN
→W
iFi
Figure 10: The result of different broadcasting sequences.
the “ping” command to produce 160-byte packets which arethe same as audio packets following the G.711 codec ruleand send these packets to test the transmission rates of thesereceiver nodes. In our experiment, we conduct 10 to 30different network environments with different transmissionrates. By setting round-robin scheduling on Linux, we changethe priority of sending packets to these testing nodes. Asthe result shown in Figure 12, we can find that the averagedelay with the assistance of the proposed STTNF scheme(Best First) is lowest compared to the one with an oppositesequence (Worst First).
The Scientific World Journal 9
01234567
RR RR RR RR RR RR
0.38
6
2.49
6
0.43
7
0.39
5
0.42
0
0.30
4
0.02
4
2.97
4
0.02
1
0.01
3
0.04
4
0.06
0
Average delayLANWiFi3G
Standard deviation
B→
F→
W
B→
W→
F
F→
W→
B
W→
F→
B
F→
B→
W
W→
B→
FFigure 11: The result of different packet broadcasting sequences.
0.000
0.005
0.010
0.015
0.020
0.025
BestFirst
WorstFirst
10 BestFirst
WorstFirst
20 BestFirst
WorstFirst
30
0.02
08
0.02
16
0.02
08
0.02
25
0.02
02
0.02
19
0.00
132
0.00
116
0.00
136
0.00
135
0.00
141
0.00
195
Average delay (ms)Standard deviation (ms)
Figure 12: The result of multinode broadcasting.
6. Conclusion
VoIP has become a popular technology in modern com-munication. Many free softphones such as Skype, Yahoo!Messenger, and Google Talk are available now. These soft-phones provide high-quality voice services. However, mostof the existing applications do not consider what the net-work environment is. Not much effort is paid to deepresearch in VoIP over heterogeneous networks, not to men-tion broadcasting over them. Broadcasting VoIP to multiplereceivers, whichmay be built on the diverse embedded systemand smartphones, can be a complementary service for theamateur radio application, especially when people enter aradio unreadable area. In this paper, we use free software—Linphone—to practically establish the broadcasting architec-ture and evaluate the influence of audio buffer, jitter bufferin such a service. Then we propose a STTNF scheme tobroadcast voice packets to multiple embedded system-basedreceivers in heterogeneous networks’ environments. Mean-while, we conduct comprehensive experiments to verify the
broadcasting service quality over heterogeneous networks,including LAN, 3G, and WiFi networks.
Conflict of Interests
The authors declare that there is no conflict of interestsregarding the publication of this paper.
Acknowledgment
The authors gratefully acknowledge the support by the Min-istry of Science and Technology, Taiwan, under The Grant102-2221-E-011-068.
References
[1] V. Koukoulidis and M. Shah, “The IP multimedia domain:service architecture for the delivery of voice, data, and next gen-eration multimedia applications,” Multimedia Tools and Appli-cations, vol. 28, no. 2, pp. 203–220, 2006.
[2] F. Belqasmi, C. Fu, M. Alrubaye, and R. Glitho, “Design andimplementation of advanced multimedia conferencing applica-tions in the 3GPP IP multimedia subsystem,” IEEE Communi-cations Magazine, vol. 47, no. 11, pp. 156–163, 2009.
[3] C. Walravens and B. Gaidioz, “Breaking up gigabit ethernet’sVoIP bottlenecks,” IEEE Potentials, vol. 27, no. 1, pp. 12–17, 2008.
[4] A. W. Rix, J. G. Beerends, M. P. Hollier, and A. P. Hekstra, “Per-ceptual evaluation of speech quality (PESQ)—a newmethod forspeech quality assessment of telephone networks and codecs,”in Proceedings of the IEEE Interntional Conference on Acoustics,Speech, and Signal Processing, pp. 749–752, May 2001.
[5] A. Chan and S. C. Liew, “VoIP capacity over multiple IEEE802.11 WLANs,” in Proceedings of the IEEE International Con-ference on Communications (ICC ’07), pp. 3251–3258, Glasgow,Scotland, June 2007.
[6] S. Shin and H. Schulzrinne, “Measurement and analysis of theVoIP capacity in IEEE 802.11 WLAN,” IEEE Transactions onMobile Computing, vol. 8, no. 9, pp. 1265–1279, 2009.
[7] S.-B. Jang, Y.-G. Kim, H.-S. Na, and D.-K. Baik, “Embeddedsystem architecture for an WLAN-based dual mode mobilephone,” IEEE Transactions on Consumer Electronics, vol. 55, no.3, pp. 1623–1630, 2009.
[8] “Linphone, open-source voip software,” http://www.linphone.org/.
[9] B. Goode, “Voice over Internet Protocol (VoIP),” Proceedings ofthe IEEE, vol. 90, no. 9, pp. 1495–1517, 2002.
[10] C. Walravens and B. Gaidioz, “Breaking up gigabit Ethernet’sVoIP bottlenecks,” IEEE Potentials, vol. 27, no. 1, pp. 12–17, 2008.
[11] D. Bonfiglio,M.Mellia,M.Meo, andD.Rossi, “Detailed analysisof skype traffic,” IEEE Transactions on Multimedia, vol. 11, no. 1,pp. 117–127, 2009.
[12] W. Kho, S. A. Baset, and H. Schulzrinne, “Skype relay calls:measurements and experiments,” in Proceedings of the IEEEINFOCOMWorkshops, Phoenix, Ariz, USA, April 2008.
[13] B. Duysburgh, S. Vanhastel, B. de Vreese, C. Petrisor, and P.Demeester, “On the influence of best-effort network conditionson the perceived speech quality of VoIP connections,” inProceedings of the 10th International Conference on ComputerCommunications and Networks, vol. , o, pp. 334–339, 2001.
10 The Scientific World Journal
[14] GTE Laboratories, “VoIP speech quality as a function of codec,manufacturer, jitter and packet loss,” May 1999.
[15] GTE Laboratories, “VoIP speech quality as a function of delay,jitter and packet loss,” 2000.
[16] H. W. Gierlich and F. Kettler, “Conversational speech quality—the dominating parameters in VoIP systems,” in Proceedings ofthe Internet Telephony Workshop, April 2001.
[17] L. Sun, G. Wade, B. Lines, and E. Ifeachor, “Impact of packetloss location on perceived speech quality,” in Proceedings of theInternet Telephony Workshop, April 2001.
[18] B. Oklander andM. Sidi, “Jitter buffer analysis,” in Proceeding ofthe 17th International Conference on Computer Communicationsand Networks (ICCCN '08, pp. 1–6, St. Thomas, US VirginIslands, August 2008.
[19] S. Paulsen, T. Uhl, and K. Nowicki, “Influence of the jitterbuffer on the quality of service VoIP,” in Proceedings of the3rd International Congress onUltraModernTelecommunicationsand Control Systems and Workshops (ICUMT ’11), pp. 1–5,October 2011.
[20] Y. Jung and A. A. Ibanez, “Improving wireless VoIP quality byusing adaptive packet coding,” Electronics Letters, vol. 46, no. 6,pp. 459–460, 2010.
[21] Y. Kim, Y. Kim, and N. Kang, “Multimedia push-to-talk servicein home networks,” IEEE Transactions on Consumer Electronics,vol. 56, no. 3, pp. 1480–1486, 2010.
[22] S. Coulombe, “Real-time multi-user transcoding for Push totalk over Cellular,” in Proceedings of the 2nd InternationalConference on Next Generation Mobile Applications, Services,and Technologies, pp. 351–356, September 2008.
[23] S. B. Moon, P. Skelly, and D. Towsley, “Estimation and removalof clock skew from network delay measurements,” in Proceed-ings of the 18th Annual Joint Conference of the IEEE Computerand Communications Societie (INFOCOM ’99), pp. 227–234,March 1999.
International Journal of
AerospaceEngineeringHindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
RoboticsJournal of
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Active and Passive Electronic Components
Control Scienceand Engineering
Journal of
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
International Journal of
RotatingMachinery
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Hindawi Publishing Corporation http://www.hindawi.com
Journal ofEngineeringVolume 2014
Submit your manuscripts athttp://www.hindawi.com
VLSI Design
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Shock and Vibration
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Civil EngineeringAdvances in
Acoustics and VibrationAdvances in
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Electrical and Computer Engineering
Journal of
Advances inOptoElectronics
Hindawi Publishing Corporation http://www.hindawi.com
Volume 2014
The Scientific World JournalHindawi Publishing Corporation http://www.hindawi.com Volume 2014
SensorsJournal of
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Modelling & Simulation in EngineeringHindawi Publishing Corporation http://www.hindawi.com Volume 2014
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Chemical EngineeringInternational Journal of Antennas and
Propagation
International Journal of
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
Navigation and Observation
International Journal of
Hindawi Publishing Corporationhttp://www.hindawi.com Volume 2014
DistributedSensor Networks
International Journal of