Sie sind auf Seite 1von 5

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
Auroras Technological and Research Institute, Hyderabad
Saiprasanna1211@gmail.com, Karunakarreddy_s@radiffmail.com

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

chiefeditor@ijrcct.org

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.

chiefeditor@ijrcct.org

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.

chiefeditor@ijrcct.org

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.

chiefeditor@ijrcct.org

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

chiefeditor@ijrcct.org

Page 5

Das könnte Ihnen auch gefallen