Transcript
Chapter 1
Introduction
1
Chapter 1
Introduction
1.1 Introduction
IP telephony which is known as Voice over Internet Protocol in short VoIP is
expanding rapidly in every where day by day and keeping crucial effect on modern
science. VoIP provides cheep call rate and only for this advantage though it has some
limitation people are welcoming and accepting it in rapid manner and migrating from
old Public Switch Telephone PSTN system. The quality of service (QOS) of VoIP
still not reached the standard and desired level if we compare it to the old PSTN and
mobile services. But keeping mind of those limitation people is showing huge interest
on it only for cheep call rate. It is true and definitely unacceptable that VoIP is illegal
in some countries though their government never can prove any logical unfairness of
VoIP business. The truth is if VoIP can over come some of its limitation and meet
desirable and standard quality of service then both old PSTN and Mobile companies
will lose their market. In Bangladesh some very few companies got VoIP license. In
science point of view it is expected that government of Bangladesh will give more
VoIP licenses. As VoIP is networking it is good opportunity for a student to enrich
both his networking and VoIP knowledge. Internship opportunity on VoIP research
can be considered a great opportunity for a student to learn some most important and
effective skills.
2
1.2 Origin of the Report
As a compulsory part of Internship program, this particular report is being
prepared by the author on the proposed topic “Voice over Internet Protocol (VoIP) and its
configuration in Session Border Controller Switch (SBC)”. The intention was to give an
opportunity to the students to gain some real world experience by working in a practical
environment. The internship supervisor was Mobassher Hossain Chowdhury, Networking
Engineer (NOC), Alternate Access BD. Pvt. Ltd. and the faculty advisor was Mohammad
Saiful Islam Mamun, Lecturer, Computer Science and Engineering department, Stamford
University Bangladesh.
1.3 Objective
The Primary Objective of this report is:
To explore all about Voice over IP.
To exhibit how VoIP use networking concepts.
To show the networking is expanding and keeps vital and crucial effect on
modern science.
To measure the gap between theoretical and practical of Networking and Voice
over IP.
3
1.4 Background of the company
Alternate Access Bd. Pvt. Ltd. is a Call Center. It is a branch office and
situated in New DOHS Mohakhali, Dhaka, Bangladesh. The main office is in New York,
USA and name of the main company is Rapid Target Services. The mother company
Rapid Target Service was founded in April, 2003. It offers telecom services to the
prepaid phone card industry as well as being a serious player in the wholesale field of
telecommunications. Headquarter of Rapid Target Services is in Manhattan, NY. RTS is
an established leader in the telecom field, specializing in direct termination. With its
proficient infrastructure, RTS has the ability to offer its clients fast and efficient service
regardless where the client is located.
Since Rapid Target Services entered the telecom market in 2003, it has
become known worldwide as one of the most aggressive and quality-driven Direct
Terminators in the market. RTS routes millions of minutes through its own switching and
network infrastructure and allows other carriers to take advantage of its competitive rates
and global buying power. What sets RTS aside from other carriers is the fact that they
build their own termination networks. Unlike the vast majority of companies in the VoIP
industry, RTS doesn't simply re-sell capacity from other carriers, it primarily sells its
own. Consequently, RTS can offer truly aggressive pricing and network flexibility.
RTS services a diverse customer base of over 50 carriers, including calling
card vendors,
Retail operators, major wholesalers and a number of PTTs. RTS focuses on providing
capacity to niche markets such as Asia, the Middle East and Africa, but also has
termination worldwide. RTS’s goal as a carrier’s carrier is to offer their customers the
most aggressive pricing in the market while maintaining the same quality and service that
the customer is accustom to receiving from their wholesale providers.
4
Chapter 2
VoIP
5
Chapter 2
VoIP
2.1 Voice over Internet Protocol (VoIP)
Voice over Internet Protocol (VoIP) is simply the transmission of voice traffic
over IP-based networks. The Internet Protocol (IP) was originally designed for data
networking. The success of IP in becoming a world standard for data networking has led
it to adapt in voice networking. VoIP is also known as Internet telephony and helps the
conversion of voice into a digital signal that can be sent over the Internet. It is the
integration of conventional telephone services with the growing number of other IP-based
applications. VoIP is the transmission of voice signals as packets of data using IP. In
VoIP the voice information is sent in digital form in discrete packets rather than by the
traditional circuit-committed architecture of PSTN. Before transmitting, voice signals are
digitized with an Analog to Digital Converter, and then transmitted over the networks as
digitized packets, finally at the destination they are transformed back to analog format
with a Digital to Analog Converter. [1]
6
2.2 Advantages of VoIP
The main secret behind this rapidly emerging VoIP is for its lower cost. With this
lower cost benefit it gives some other highly noticeable advantages as follows:
2.2.1 Lower Cost
No other telephone services that have invented can give such lower cost relief like
VoIP. VoIP has become popular largely because of the cost advantages to consumers
over traditional telephone networks. The general scenario for a traditional telephone
customer is that they pay a monthly fee for service, per call charge for local telephone
calls and a per-minute charge for long-distance calls. On the other hand the general
scenario for VoIP customer is that they don’t need to pay monthly service charge or
subscription charge and what they need to pay is per-second lower charge for both local
and long calls. [2]
For example, we know there is a good Bangladeshi man-power in Saudi Arab.
Say their relative who is in Bangladesh want to communicate with them. If that relative
want to give call using land telephone or mobile phone he have to pay say 15 taka or
more in case of mobile. But if he uses VoIP call he will be charge for only 3 taka per
minute with using per second pulse. Yes in some cases voice quality may be poor but if
people can talk only 3 taka rather than 15 taka then they will not consider that poor voice
quality.
7
2.2.2 More efficient use of bandwidth
VoIP compresses data packets during transmission, and this causes more data to
be handled over the carrier. As a result, more calls can be handled on one access line.
It is known that about 50 % of a voice conversation is silence. VoIP fills the
‘empty’ silence spaces with data so that bandwidth in data communication channels is not
wasted. In other words, a user is not given bandwidth when he is not talking, and this
bandwidth is used efficiently for other bandwidth consumers. Moreover, compression and
the ability to remove redundancy in some speech patterns add up to the efficiency.
Traditional phone calls work by allocating an entire phone line to each call. With
VoIP, voice data is compressed and transmitted over a computer network. This means
VoIP uses substantially less bandwidth than a traditional telephone call and is
consequently more cost effective.
2.2.3 Flexibility
VoIP telephony enables the user to integrate computer applications like email, fax
and web conferencing, with the telephone. It gives the flexibility of using the phone,
while accessing all the other programs, and surfing the Internet at the same time. This
way, you'll save more money and energy as it combines all of the services into one basic
application.
It is also possible for the users to take the VoIP adapters anywhere, and use their
number at any place which offers an Internet connection. This feature is particularly
helpful for those with active lifestyles and whose jobs require lot of travel. [3]
8
2.2.4 Cheap user hardware and software
If you are an Internet user wishing to use VoIP for voice communication, the only
additional hardware you require besides your computer and Internet connection are a
sound card, speakers and a microphone. These are quite cheap. There exist several
software packages downloadable from the Internet, which you can install and use for the
purpose. Examples of such applications are the well-known Skype and Net2Phone. You
do not actually need a telephone set, which can be quite expensive, along with the
underlying equipment, especially when you have a phone network.
The installation process for VoIP phones is very simple, and once done, high
mobility of the system is an added advantage. The hassles of separate cabling for
telephone systems can also be avoided by using this technology. The infrastructure of the
whole system is very scalable and new components can be added easily without much
difficulty. As the transfer of voice, which is converted into signal, is based on software,
rather than hardware, it is easier to alter and maintain the whole system. All these
attributes makes VoIP more popular, as one does not have to be very good at computers.
2.2.5 Cheap, Simple and Scalable Infrastructure
VoIP has 3 sites. All sites need router to route calls. There are many VoIP
supported router of different companies. Cost for set up VoIP services depend upon
router. Though approximately 6 to 10 lakhs taka in Bangladeshi currency is god enough
to set up VoIP route. Definitely it is huge cheaper than to set up all infrastructure of a
mobile or land telephone company.
9
Configuration of router and all VoIP is easy and user friendly. Without CISCO
other routers are configured by using graphical user interface (GUI). So it is very much
simple to configure. You just need to have basic computer, networking and VoIP
knowledge without being expert.
You need to connect your router to Digital Subscriber Line (DSL) or high speed
broad band and to Sim server and finally you have to configure it. Al these are VoIP set
up. So it is little, simple and Scalable infrastructure and easy to maintenance.
In case of user, they just need to set up VoIP dialer software in their PC like SIP
phone, Net phone, VoIP phone etc. All these can be downloaded free from internet. [4]
2.2.6 Efficient Use of Network Resources
Internet is a packet switched or connectionless network, the individual packets of
each voice signal travel over separate network paths for reassembly in proper sequence at
their destination. These make more efficient use of network resources and provide more
reliability than the circuit switched PSTN. [5]
2.27 High Fidelity Voice Transmission
Internet has no 64 kbps bandwidth limitation, so it can provide high fidelity voice
transmissions very easily.
10
2.3 Disadvantages of VoIP
If VOIP is starting to sound really good to you, make sure you understand the
following downsides as well.
2.3.1 No service during a power outage:
During a power failure a regular phone is kept in service (unless it is a cordless)
by the current supplied through the phone line from the central office. This is not possible
with IP phones, so when the power goes out, there is no VOIP phone service. In order to
use VoIP during a power outage, an uninterruptible power supply or a generator must be
installed on the premises.
2.3.2 VoIP Voice Quality:
As VoIP uses an Internet connection, its quality of services (QoS) depends upon your
broadband connection, your hardware, the service provided by your provider etc. The
measurement of quality of services (QoS) depends up on some factor. These factors are:
Latency
Jitter
Packet loss
More and more people are enjoying high quality of phone calls using VoIP, but still
many users complain of hearing noise, echo and having to wait a lot before hearing an
answer etc. These distortions, noises, echoes, lost of some conversations are accused of
11
transmission errors. This is more noticeable in highly congested networks and/or where
there are long distances and/or internetworking between end points.
Some kind of stability in Internet data transfer needs to be guaranteed before VoIP could
truly replace traditional phones. [6]
2.3.3 Reliability:
Another issue associated with VoIP is having a phone system dependant on
individual PCs of varying specifications and power. A call can be affected by processor
drain. Let's say you are talking away on your softphone, and you decide to open a
program that saps your processor. Quality loss will become immediately evident. In a
worst case scenario, your system could crash in the middle of an important call. In VoIP,
all phone calls are subject to the limitations of normal computer issues. [7]
2.3.4 Emergency calls:
Another major concern with VOIP involves emergency 911 calls. Traditional
phone equipment can trace your location. Emergency calls are diverted to the nearest call
center where the operator can see your location in case you can't talk. However, because
a voice-over-IP call is essentially a transfer of data between two IP addresses, not
physical addresses, with VOIP there is currently no way to determine where your VOIP
phone call is originating from. [8]
2.3.5 More dial:
12
In VoIP sometimes you may need to dial more than usual. Say you are calling Sri
Lanka from America. The router which acts as a gateway in Sri Lanka can’t access more
than 16 calls at a time. That means there is no available channel for Sri Lanka gateway to
take any call. In that real time if you try to call, your call will be rejected by the gateway.
This case will be continued before any channel is available. So user may have to dial
more than usual and this is another drawback.
2.3.6 .Security:
This one is the last in this list, but it is not the least! Security is a main concern
with VoIP, as it is with other Internet technologies. The most prominent security issues
over VoIP are identity and service theft, viruses and malware, denial of service,
spamming, call tampering and phishing attacks.
13
Chapter 3
Development Challenges of VoIP
14
Chapter 3
Development Challenges of VoIP
3.1 Development Challenges of VoIP
The goal of VoIP developers is to add telephone-calling capabilities to IP based
networks and interconnect these to the public telephone network and to private voice
networks, in such a way as to maintain current voice standards and preserve the features
everyone expects from the telephone. VoIP development needs to take place in five
specific areas. [9]
Voice quality should be comparable to PSTN, even over networks having variable
levels of QoS.
IP networks must meet strict performance requirements and criteria including
minimizing call refusals, network latency, packet loss and disconnects. This is
required even when there is heavy congestion in the network or when resources
have to be shared among multiple users.
Call control and signaling should be transparent; the users should be unaware of
what technology is actually implementing the service.
15
PSTN / VoIP service internetworking and equipment interoperability between the
voice and data network environments should not affect the QoS and reliability.
System management, security, addressing and accounting must be provided,
preferably consolidated with the PSTN operation support systems.
3.2 Quality of Service (QoS) issues in VoIP networks
The advantages of reduced cost and bandwidth savings of carrying voice over
data networks are associated with some QoS issues unique to packet networks.
Delivering quality voice signals from one point to another cannot be considered
successful unless the quality of the delivered signal satisfies the recipient. Providing a
level of quality that at least equals the PSTN is viewed as a basic requirement. Although
QoS usually refers to the fidelity of the transmitted voice and facsimile document it can
also be applied to network availability, telephone feature availability and scalability etc.
[10] Many factors have been identified those play big roles in determining the quality of
service of VoIP. They are as follows:
3.2.1 Delay
VoIP delay or latency is characterized as the amount of time it takes for speech to exit
the speaker’s mouth and reach the listener’s ear. The following are the source of delay in
an end-to-end VoIP call.
Accumulation delay, is also called algorithmic delay, is caused by the time need
to collect a frame of voice samples to be processed by the voice coder. This
16
depends on the type of voice coder used and varies from a single sample time,
which is .125 ms to many ms. [11]
Processing delay is caused by the actual process of encoding and collecting the
encoded samples into a packet for transmitting over the IP network. The encoding
delay is a function of both the processor execution time and the type of algorithm
used. To reduce this delay often multiple voice coder frames are collected in a
single packet. [12]
Network delay is caused by the physical medium and protocol used to transmit
the voice and data, and by the buffers used to remove packet jitter on the received
side. This delay is a function of the capacity of the links in the network as well as
the processing that happens as the packets pass through the network. [13]
Two problems that result from high end-to-end delay in a voice network is echo and
talk over. Echo is caused by signal reflections of the speaker’s voice from the far end
telephone equipment back into the speaker’s ear. Talkers’ overlap is the problem of one
caller stepping on the other talker’s speech. This becomes significant if the one-way
delay becomes greater than 150 ms.
3.2.2 Jitter
Jitter is the variation of packet inter-arrival time. In a packet voice environment
the sender is expected to reliably transmit voice packets at a regular interval. These voice
packets can be delayed through out the packets network and may not arrive at the same
regular interval at the receiving station. The jitter buffers used to remove the packet delay
variation that each packet experiences as it transmit the packet also adds delay. This
delay can be a significant part of the over all delay, as packet delay variations can be a
high as 70 ms to 100 ms in IP networks. [14] Removing jitter requires collecting packets
17
and holding them long enough to allow the slowest packets to arrive in the time to be
played in the correct sequence which in turn causes additional delay. The conflicting
goals of minimizing delay and removing jitter has led to the development of various
schemes to adapt the jitter buffer size to match the time varying requirements of network
jitter removal. Well-engineered dynamic jitter buffer is the best mechanism to use for
packet based voice network. Static jitter buffers forces the jitter buffers to be either too
large or too small, thereby causing the audio quality to suffer, due to either lost packets or
excessive delay. The problem is that the packet loss rate differs even given the same
delay jitter conditions according to the implementation of the jitter buffers of terminals.
3.2.3 Echo
One of the main problems of a very big end-to-end delay is the problem of
echoes. Echo is the reflected copy of the voice heard some time later and a delayed
version of the original. This happens whenever the round-trip delay exceeds 50 ms. [16]
Round-trip delay time is the time required for a signal pulse or packet to travel from a
specific source to a specific destination and back again.
18
Figure 3.1: Sources of Echo in PSTN
There are mainly two types of echoes, hybrid echo and acoustic echo.
3.2.3.1 Acoustic echo:
An acoustic echo is one of the simplest acoustic modeling problems. Echoes
occur when a sound arrives via more than one acoustic propagation path, as shown in Fig.
We may hear a discrete echo, for example, if we clap our hands standing in front of a
large flat wall outdoors, such as the side of a building. To be perceived as an echo,
however, the reflection must arrive well after the direct signal (or previous echo). [17]
Figure 3.2: Geometry of an acoustic echo caused by multi path
propagation. A direct signal and a floor bounce are received from
the source S at the listening point L.
Acoustic echo arises when sound from a loudspeaker for example; the earpiece of a
telephone handset is picked up by the microphone in the same room. The problem exists
in any communications scenario where there is a speaker and a microphone. Examples of
acoustic echo are found in everyday surroundings such as:
19
Hands-free car phone systems
A standard telephone or cell phone in speakerphone or hands-free mode
Dedicated standalone "conference phones"
3.2.3.2 Hybrid echo:
Hybrid echo is generated by the public switched telephone network (PSTN) through
the reflection of electrical energy by a device called a hybrid (hence the term hybrid
echoes). Most telephone local loops are two-wire circuits while transmission facilities are
four-wire circuits. Each hybrid produces echoes in both directions, though the far end
echo is usually a greater problem for voice band.
Echo in a telephone network is acceptable because the round-trip delays through the
network are smaller than 50 ms. Echoes are a problem in VoIP as the round-trip delays
are almost always greater than 50 ms. [18]
3.2.4 Packet Loss
Packet loss in data networks is both common and expected. Like data network
VoIP network cannot provide a guarantee that packets will be delivered at all. Packet will
be dropped under peak loads and during periods of network congestion. But due to the
time sensitivity of voice transmission, the normal TCP based transmission scheme are not
suitable. When putting voice on data networks it is important to build a network that can
successfully transport voice on a reliable and timely manner. When putting critical traffic
on data networks, it is important to control the amount of packet loss in that network.
VoIP network packet loss introduces audio distortions that cause VoIP quality to
decrease as the rate of packet loss increases. In a particular connection this general effect
20
can be modeled by the distribution of the lost packets and by the packet loss concealment
algorithm. [19]
In voice communications, packet loss shows up in the form of gaps or periods of
silence in the conversation, thus leading to a "clipped speech" effect that is unsatisfactory
for most users and unacceptable in business communications.
3.2.5 Bandwidth Availability
Bandwidth is the portion of the network that is available to an application to
transfer information on the network. In case of VoIP the level of reliability and sound
quality that is acceptable among users has not yet been reached and this is primarily
because of bandwidth limitations and this also leads to packet loss.
Numbers of VoIP subscribers are rapidly increasing if new calls are accepted
without limit in the VoIP network the total bandwidth requirement may exceed the
network capacity. In that case QoS (packet loss ate, delay etc) for calls in process may be
worse. Therefore a mechanism called call admission control is necessary to reject a new
call when enough network spare capacity is not available. The necessity of admission
control in the connectionless IP networks is similar to the circuit switched networks,
although the function and the implementation may be different.[20]
3.2.6 Voice Activity Detection (VAD)
In normal voice conversations, some one speaks and someone listen, at least 50
percent of total bandwidth is wasted. VoIP networks utilize the wasted bandwidth by
enabling VAD. VAD experiences some inherent problems in determining when speech
21
ends and begins, and in distinguishing speech from background noise. So it is expected to
develop VAD protocol more reliable way to proper use of bandwidth. [21]
3.2.7 Tandem Coding
Typically where networks join, the speech traffic is passed as 64 kbps PCM. If the
originating system has coded the speech in another format, a decodec is required. This
results in a transcoding or tandeming of speech codecs. Generally the quality of the
combination cannot be better than the poorest link, and may be noticeable worse if two or
more low bit rate codecs are included. The order is also important, because these systems
distort speech in a nonlinear way. G.729 followed by G.711 will not produce exactly the
same quality as G.711 followed by G.729. Delay also increases significantly with tandem
coding. These problems can be avoided by tandem free operation; where the systems
negotiate a common codec which is used end to end. [22]
3.3 Solutions for the Major Problems of VoIP
In VoIP the term QoS mainly depends upon the bandwidth capacity in network. The
more free bandwidth ensure more better quality of voice though its difficult to get such
expected bandwidth today because of huge internet user. So there should some way some
technique some protocol to ensure and improve quality of service of VoIP in this limited
bandwidth network. The techniques and solutions to the major problems of VoIP are as
follows.
22
A way to improve speech quality is to implement some kind of echo cancellation
mechanism. Echo cancellation is not required on short haul PSTN connections.
But if a VoIP system connects to a local PSTN, echo cancellation is probably
needed to cancel the local hybrid reflections. If the system does not connect to a
local PSTN, echo cancellation should still be included to remove any acoustic
echo.
The task of solving the problem of jitter in VoIP networks has two conflicting
goals. These are minimizing delay and removing jitter. This has led to the
development of various schemes to adapt the jitter buffer size to match the time
varying requirements of network jitter removal. These schemes have the explicit
goal of minimizing the size and delay of the jitter buffer while at the same time
preventing buffer underflow caused by jitter. One approach, which is used in IP
networks to adapt the jitter buffer, is to count the number of packets that arrive
late and create a ratio of these packets to the number of packets that are
successfully processed. This ratio is then in turn used to adjust the jitter buffer to
target a predetermined allowable late packet ratio. [23]
Schemes called lost packet compensation schemes used by VoIP to overcome the
problem of lost packets. Interpolate for lost speech packets by replaying the last
packet received during the interval when the last packet was supposed to be
played out. This works well when the incidence of lost frames is infrequent. It
does not work very well for continuously series loss of packets. Another way is to
send redundant information at the expense of bandwidth utilization. The basic
approach replicates and sends the nth packet of voice information along with the
(n+1) th packet. This method has the advantage of being able to exactly correct
for the lost packet. However, this approach uses more bandwidth and creates
greater delay. An alternative approach is to develop an algorithm in the digital
23
signal processor that detects missing packets, and then replays the last
successfully received packet at a decreased volume in order to fill the gaps. [24]
Allowing limited users in the networks minimizes problem of bandwidth
availability. Protocols are also being developed to overcome many QoS issues of
VoIP networks.
Chapter 4
Internal Architecture of VoIP
24
Chapter 4
Internal Architecture of VoIP
4.1 Internal Architecture of VoIP
The internal architecture of VoIP defines how analog voice will be converted into
digital signal, how voice will be tag into packet and what are the protocols used by VoIP
to make a call and terminate the call. To setup a VoIP communication we need:
1. First the ADC to convert analog voice to digital signals (bits)
2. Now the bits have to be compressed in a good format for transmission: there are a
number of protocols we'll see after.
3. Here we have to insert our voice packets in data packets using a real-time protocol
(typically RTP over UDP over IP)
4. We need a signaling protocol to call users: H323 and SIP both do that.
5. At RX we have to disassemble packets, extract data, then convert them to analog
voice signals and send them to sound card (or phone)
25
6. All that must be done in a real time fashion because we cannot waiting for too
long for a vocal answer.
Voice)) ADC à Compression Algorithm à Assembling RTP in UDP/IP à
----> |
<---- |
Voice((DAC ß Decompression Algorithm ß Disassembling RTP from UDP/IP ß
Figure 4.1: Basic internal architecture of VoIP
4.2 Analog to Digital Conversion
This is made by hardware, typically by card integrated ADC. Today every
sound card allows you convert with 16 bit a band of 22050 Hz (for sampling it you need a
freq of 44100 Hz for Nyquist Principle) obtaining a throughput of 2 bytes * 44100
(samples per second) = 88200 Bytes/s, 176.4 kBytes/s for stereo stream. [25]
For VoIP we needn't such a throughput (176kBytes/s) to send voice packet: next we'll see
other coding used for it.
4.3 Codecs used by VoIP
26
Voice over Internet Protocol (VoIP) is a group of communication technologies
used to transfer and deliver voice data through IP networks such as the internet. It
converts analog audio signals into digital form for transmission and back again into an
audio signal for repetition. Internet telephony is a service that utilizes VoIP. When
making a call using Internet telephony, the analog voice signal is altered to digital format,
which is then compressed into IP packets for transmission via the internet. The entire
process is inverted at the recipients end. Internet telephony covers audio, video, fax and
text.
The VoIP codec is the actual algorithm that is used to convert voice data into
digital data, compression of the digital data into IP packets to save bandwidth, and
decompression of data once it has reached its intended recipient or target location.
Codecs perform the conversion by replicating the audio data a few thousand times a
second. For example, a G.722 codec samples audio data 16000 times a second. This is
known as the sampling rate. Sampling rates differ from codec to codec. Bandwidth usage
increases with higher rates of sampling. The most commonly used codec in VoIP is the
G.729 which has a sampling rate of 8000 times per second. [26]
The table below lists the available VoIP Codecs.
Codec Bandwidth/kbps Comments
G.711 64 Delivers precise speech transmission. Very low processor
requirements. Needs at least 128 kbps for two-way.
G.722 48/56/64 Adapts to varying compressions and bandwidth is
conserved with network congestion.
G.723.1 5.3/6.3 High compression with high quality audio. Can use with
dial-up. Lot of processor power.
27
G.726 16/24/32/40 An improved version of G.721 and G.723 (different from
G.723.1)
G.729 8 Excellent bandwidth utilization. Error tolerant. License
required.
GSM 13 High compression ratio. Free and available in many
hardware and software platforms. Same encoding is used
in GSM cell phones (improved versions are often used
nowadays).
Table 4.1: VoIP Codecs
4.4 Compression Algorithms
Now we have the raw data and we want to encapsulate it into TCP/IP stack. We
follow the structure:
VoIP data packets
RTP
UDP
IP
VoIP data packets live in RTP (Real-Time Transport Protocol) packets which
are inside UDP-IP packets.
Firstly, VoIP doesn't use TCP because it is too heavy for real time applications,
so instead a UDP (datagram) is used.
28
Secondly, UDP has no control over the order in which packets arrive at the
destination or how long it takes them to get there (datagram concept). Both of these are
very important to overall voice quality and conversation quality. RTP solves the problem
enabling the receiver to put the packets back into the correct order and not wait too long
for packets that have either lost their way or are taking too long to arrive (we don't need
every single voice packet, but we need a continuous flow of many of them and ordered).
4.5 RTP Real Time Transport Protocol
RTP is designed for end-to-end, real-time, transfer of multimedia data. The
protocol provides facility for jitter compensation and detection of out of sequence arrival
in data that are common during transmissions on an IP network. RTP supports data
transfer to multiple destinations through multicast. RTP is regarded as the primary
standard for audio/video transport in IP networks and is used with an associated profile
and payload format.
Multimedia applications need timely delivery and can tolerate some loss in
packets. For example, loss of a packet in audio application may result in loss of a fraction
of a second of audio data, which can be made unnoticeable with suitable error
concealment algorithms. Multimedia applications require timeliness over reliability. The
Transmission Control Protocol (TCP), although standardized for RTP use (RFC 4571), is
not often used by RTP because of inherent latency introduced by connection
establishment and error correction, instead the majority of the RTP implementations are
built on the User Datagram Protocol (UDP). [27]
29
Protocol components
The RTP specification describes two sub-protocols:
The data transfer protocol, which deals with the transfer of real-time multimedia
data. Information provided by this protocol includes timestamps (for
synchronization), sequence numbers (for packet loss detection) and the payload
format which indicates the encoded format of the data.
The Real Time Control Protocol (RTCP) is used to specify Quality of Service
(QOS) feedback and synchronization between the media streams. The bandwidth
of RTCP traffic compared to RTP is small, typically around 5%. [28]
4.5.1 RTP Packet header
The RTP header has a minimum size of 12 bytes. After the header, optional header
extensions may be present. This is followed by the RTP payload, the format of which is
determined by the particular class of application. The fields in the header are as follows:
Figure4.2: RTP Packet Header
bit
offset
0-1 2 3 4-7 8 9-15 16-31
0 Ver. P X CC M PT Sequence Number
32 Timestamp
64 SSRC identifier
96 CSRC identifiers (optional)
30
Ver.: (2 bits) Indicates the version of the protocol. Current version is 2.
P (Padding): (1 bit) Used to indicate if there are extra padding bytes at the end of
the RTP packet. Padding might be used to fill up the block of certain size, for
example as required by an encryption algorithm.
X (Extension): (1 bit) Indicates presence of an Extension header between
standard header and payload data. This is application or profile specific.
CC (CSRC Count): (4 bits) Contains the number of CSRC identifiers (defined
below) that follow the fixed header.
M (Marker): (1 bit) Used at the application level and defined by a profile. If it is
set, it means that the current data has some special relevance for the application.
PT (Payload Type): (7 bits) Indicates the format of the payload and determines
its interpretation by the application. This is specified by an RTP profile.
Sequence Number (16 bits): The sequence number is incremented by one for
each RTP data packet sent and is to be used by the receiver to detect packet loss
and to restore packet sequence. The RTP does not take any action when it sees a
packet loss, but it is left to the application to take the desired action. For example,
video applications may play the last known frame in place of the missing frame.
Timestamp (32 bits): Used to enable the receiver to play back the received
samples at appropriate intervals. When several media streams are present, the
timestamps are independent in each stream, and may not be relied upon for media
synchronization. The granularity of the timing is application specific. For
example, an audio application that samples data once every 125 µs could use that
value as its clock resolution. The clock granularity is one of the details that are
specified in the RTP profile or payload format for an application. [29]
SSRC (32 bits): Synchronization source identifier uniquely identifies the source
of a stream. The synchronization sources within the same RTP session will be
unique.
CSRC: Contributing source IDs enumerate contributing sources to a stream
which has been generated from multiple sources.
31
Extension header: (optional) The first 32-bit word contains a profile-specific
identifier (16 bits) and a length specifier (16 bits) that indicates the length of the
extension (EHL=extension header length) in 32-bit units, excluding the 32 bits of
the extension header.
4.6 H323 Protocols
H.323 is a standard that specifies the components, protocols and procedures that
provide multimedia communication services (real-time audio, video, and data
communications) over packet networks, including Internet protocol (IP) based networks.
H.323 is part of a family of ITU-T recommendations called H.32x that provides
multimedia communication services over a variety of networks.
The H.323 standard is a cornerstone technology for the transmission of real-time audio,
video, and data communications over packet-based networks. It specifies the
components, protocols, and procedures providing multimedia communication over
packet-based networks. Packet-based networks include Internet Protocol (IP) based
(including the Internet) or Internet packet exchange (IPX) based local-area networks
(LANs), enterprise networks (ENs), metropolitan-area networks (MANs), and wide area
networks (WANs). H.323 can be applied in a variety of mechanisms: audio only (IP
telephony); audio and video (videotelephony); audio and data; and audio, video and data.
H.323 can also be applied to multipoint-multimedia communications. H.323 provides
myriad services and, therefore, can be applied in a wide variety of areas: consumer,
business, and entertainment applications. [30]
32
Figure4.3: H.323 Terminals on a Packet Network
4.7 Internetworking with Other Multimedia Networks
The H.323 standard specifies four kinds of components, which, when
networked together, provide the point-to-point and point-to-multipoint multimedia-
communication services:
terminals
gateways
gatekeepers
multipoint control units (MCUs)
4.7.1 Terminals
Used for real-time bidirectional multimedia communications, an H.323 terminal
can either be a personal computer (PC) or a stand-alone device, running an H.323 and the
multimedia applications. It supports audio communications and can optionally support
video or data communications. Because the basic service provided by an H.323 terminal
is audio communications, an H.323 terminal plays a key role in IP telephony services. An
H.323 terminal can either be a PC or a stand-alone device, running an H.323 stack and
multimedia applications. The primary goal of H.323 is to interwork with other
multimedia terminals. H.323 terminals are compatible with H.324 terminals on SCN and
wireless networks, H.310 terminals on B-ISDN, H.320 terminals on ISDN, H.321
terminals on B-ISDN, and H.322 terminals on guaranteed QoS LANs. H.323 terminals
may be used in multipoint conferences. [31]
33
4.7.2 Gateways
A gateway connects two dissimilar networks. An H.323 gateway provides
connectivity between an H.323 network and a non-H.323 network. For example, a
gateway can connect and provide communication between an H.323 terminal and SCN
networks (SCN networks include all switched telephony networks, e.g., public switched
telephone network [PSTN]). This connectivity of dissimilar networks is achieved by
translating protocols for call setup and release, converting media formats between
different networks, and transferring information between the networks connected by the
gateway. A gateway is not required, however, for communication between two terminals
on an H.323 network.
4.7.3 Gatekeepers
A gatekeeper can be considered the brain of the H.323 network. It is the focal point for
all calls within the H.323 network. Although they are not required, gatekeepers provide
important services such as addressing, authorization and authentication of terminals and
gateways; bandwidth management; accounting; billing; and charging. Gatekeepers may
also provide call-routing services.
4.7.4 Multipoint Control Units
MCUs provide support for conferences of three or more H.323 terminals. All
terminals participating in the conference establish a connection with the MCU. The MCU
manages conference resources, negotiates between terminals for the purpose of
determining the audio or video coder/decoder (CODEC) to use, and may handle the
media stream. The gatekeepers, gateways, and MCUs are logically separate components
of the H.323 standard but can be implemented as a single physical device.
34
Figure 4.4: H.323 Zone
4.8 Session Initiation Protocol (SIP)
The Session Initiation Protocol (SIP) is a signaling protocol, widely used for
controlling multimedia communication sessions such as voice and video calls over
Internet Protocol. The protocol can be used for creating, modifying and terminating two-
party or multiparty sessions consisting of one or several media streams. The modification
can involve changing addresses or ports, inviting more participants, adding or deleting
media streams, etc. Other feasible application examples include video conferencing,
streaming multimedia distribution, instant messaging, presence information and online
games.
The SIP protocol is a TCP/IP based Application Layer protocol. SIP is designed to be
independent of the underlying transport layer. It can run on Transmission Control
Protocol (TCP) and User Datagram Protocol (UDP) incorporating many elements of the
35
Hypertext Transfer Protocol (HTTP) and the Simple Mail Transfer Protocol (SMTP).
[32]
4.9 Design of SIP
Protocol:
The design of SIP elements is similar to HTTP like request and response
transaction model. Each transaction consists of a client request that follows a particular
method or function on the server and at least one response. SIP uses most of the header
fields, encoding rules and status codes of HTTP and provides a readable text based
format.
SIP works in concert with several other protocols and is only involved in the signaling
portion of a communication session. SIP clients typically use TCP or UDP on port
numbers 5060 and/or 5061 to connect to SIP servers and other SIP endpoints. Port 5060
is commonly used for non-encrypted signaling traffic whereas port 5061 is typically used
for traffic encrypted with Transport Layer Security (TLS). SIP is primarily used in setting
up and tearing down voice or video calls. The voice and video stream communications in
SIP applications are carried over another application protocol, the Real-time Transport
Protocol (RTP). Parameters (port numbers, protocols, codec) for these media streams are
defined and negotiated using the Session Description Protocol (SDP) which is transported
in the SIP packet body. [33]
A motivating goal for SIP was to provide a signaling and call setup protocol for IP-based
communications that can support the call processing functions and features present in the
public switched telephone network (PSTN). SIP by itself does not define these features;
rather, its focus is call-setup and signaling. However, it was designed to enable the
construction of functionalities of network elements designated proxy servers and user
agents. These are features that permit familiar telephone-like operations: dialing a
36
number, causing a phone to ring, hearing ringback tones or a busy signal. Implementation
and terminology are different in the SIP world but to the end-user, the behavior is similar.
4.10 SIP Entities:
A SIP network is composed of four types of logical SIP entities. Each entity has
specific functions and participates in SIP communication as a client (initiates requests),
as a server (responds to requests), or as both. One physical device can have the
functionality of more than one logical SIP entity. For example, a network server working
as a Proxy server can also function as a Registrar at the same time.
Following are the four types of logical SIP entities:
User Agent: In SIP a User Agent (UA) is the endpoint entity. User Agents initiate
and terminate sessions by exchanging requests and responses. RFC 2543 defines
the User Agent as an application, which contains both a User Agent client and
User Agent server, as follows:
User Agent Client (UAC): A client application that initiates SIP requests.
User Agent Server (UAS): A server application that contacts the user when a SIP
request is received and that returns a response on behalf of the user. Some of the
devices that can have a UA function in a SIP network are: workstations, IP-
phones, telephony gateways, call agents, automated answering services.
Proxy Server: A Proxy Server is an intermediary entity that acts as both a server
and a client for the purpose of making requests on behalf of other clients.
Requests are serviced either internally or by passing them on, possibly after
translation, to other servers. A Proxy interprets, and, if necessary, rewrites a
request message before forwarding it.
37
RFC 3261 defines Proxy Server as:
A proxy server "is an intermediary entity that acts as both a server and a client
for the purpose of making requests on behalf of other clients. A proxy server
primarily plays the role of routing, which means its job is to ensure that a
request is sent to another entity "closer" to the targeted user. Proxies are also
useful for enforcing policy (for example, making sure a user is allowed to make
a call). A proxy interprets, and, if necessary, rewrites specific parts of a request
message before forwarding it." [35]
Redirect Server: A Redirect Server is a server that accepts a SIP request, maps
the SIP address of the called party into zero (if there is no known address) or more
new addresses and returns them to the client. Unlike Proxy servers, Redirect
Servers do not pass the request on to other servers.
Registrar: A Registrar is a server that accepts REGISTER requests for the
purpose of updating a location database with the contact information of the user
specified in the request. A registrar is a server that accepts register requests and
places the information it receives in those requests into the location service for the
domain it handles.
4.11 SIP Messages
Message Types: There are two types of SIP messages:
Requests—sent from the client to the server.
Responses—sent from the server to the client.
Requests:
Method Description
INVITE Initiates a call, changes call parameters (re-INVITE).
38
ACK Confirms a final response for INVITE.
BYE Terminates a call.
CANCEL Cancels searches and “ringing”.
OPTIONS Queries the capabilities of the other side.
REGISTER Registers with the Location Service.
INFO Sends mid-session information that does not modify the
session state.
Table 4.2: Request Methods
Responses:
Response messages contain numeric response codes. The SIP response code set
is partly based on HTTP response codes. There are two types of responses and six
classes:
Response Type:
Provisional (1xx class): Provisional responses are used by the server to indicate
progress, but they do not terminate SIP transactions
Final (2xx, 3xx, 4xx, 5xx, 6xx classes): Final responses terminate SIP
transactions.
39
Classes
1xx = provisional, searching, ringing, queuing etc.
2xx = success
3xx = redirection, forwarding
4xx = request failure (client mistakes)
5xx = server failures
6xx = global failure (busy, refusal, not available anywhere)
Codes Description
100 Continue
180 Ringing
200 OK
300 Multiple choices
301 Moved permanently
302 Moved temporarily
400 Bad requests
401 Unauthorized
403 Forbidden
408 Request timeout
480 Unavailable
481 Call-leg/Transaction does not exist
482 Loop detected
5xx Server error
600 Busy
603 Declines
604 Does not exist
606 Not acceptable
Table 4.3: Response Code Examples
40
Figure 4.5: SIP call flow
41
Chapter 5
Physical Architecture of VoIP
Chapter 5
Physical Architecture of VoIP
5.1 Physical Architecture of VoIP
The architecture of VoIP can be devided by 3 parts. They are:
42
1. Session Border Controller.
2. Vendor Gateway
3. Customer Gateway
Generally if you consider according to the business logic then these 3 categories are
mainly 3 different business sites. In VoIP business some companies do businesses on
Session Border Controller, some other companies do business on Vendor Gateway and
rests are on Customer Gateway. The details of these three sites are here in below.
5.2 Session Border Controller
A session border controller (SBC) is a device used in Voice over Internet
Protocol (VoIP) networks to control over the signaling and usually also the media
streams involved in setting up, conducting and tearing down telephone calls.
SBCs usually sit between two service provider networks, they are customer
network that sends calls and vendor network which is the destination of that calls. SBCs
commonly maintain full session state and offer the following functions:
Security: Protect the network and other devices from attacks such as denial of
service.
Connectivity: Allow different parts of the network to communicate by for
example supporting NAT traversal.
Quality of service: The QoS policy of a network and prioritization of flows is
usually implemented by the SBC.
Regulatory: Many times the SBC is expected to provide support for regulatory
requirements such as emergency calls and lawful interception.
Statistics: Since all sessions that pass through the edge of the network pass
through the SBC, it is a natural point to gather statistics and information on these
sessions.
43
Within the context of VoIP, the term session refers to a call. Each call consists of one or
more call signaling message exchanges that control the call, and one or more call media
streams which carry the call's audio, video, or other data along with information of call
statistics and quality. Together, these streams make up a session. It is the job of a session
border controller to exert influence over the data flows of sessions.
The term border refers to a point of demarcation between one part of a network and
another. As a simple example, at the edge of a corporate network, a firewall demarcates
the local network (inside the corporation) from the rest of the Internet (outside the
corporation). A more complex example is that of a large corporation where different
departments have security needs for each location and perhaps for each kind of data. In
this case, filtering routers or other network elements are used to control the flow of data
streams. It is the job of a session border controller to provide administrative control in
managing the flow of session data across these borders.
Figure 5.1: Session Border Controller
The term controller refers to the influence that session border controllers have
on the data streams that comprise Sessions, as they traverse borders between one part of a
Session Border Controller SBC
Inbound Outbound
Calls Calls
44
network and another. Additionally, session border controllers often provide measurement,
access control, and data conversion facilities for the calls they control.
Customers send call to the customer gateway and that gateway sends calls to
SBC. Say one customer sends call to Sri Lanka from USA. He or she has dialed
9477245036 say. Session Border Controller (SBC) has its own database. It then compares
digits according to the country code. For that number it will get 94 is the destination of
Sri Lanka. Then it will compare the break out or carrier. Then it gets 77 is for carrier
Mtn. So the destination of this call is Sri Lanka mobile Mtn. And finally SBC will send
this call in that route which provides services to Sri Lanka mobile Mtn.
Figure 5.2: Call flow in SBC
Here in Figure call 9477245036 hits in SBC’s inbound port. SBC then compare from its
country database and got its Sri Lankan number. Then it will compare from Sri Lankan
carrier database and got this is Sri Lanka mobile Mtn’s number. Then it will send
appropriate gateway which provides service for Sri Lanka Mtn numbers.
45
5.3 Vendor Gateway
The role and activities of vendor gateway is to provide calls to the local
destination number. The gateway is a router which accepts calls from Session Border
Controller and then passes it to SIM server and finally from SIM server calls enter in
local network and reach to the destination number. The SIM server tags a local number
upon a call and spoofed the call as a local call. These procedures are used on those
countries where VoIPs are illegal. The gateway passes the call to the local network via E1
line in those countries where VoIPs are legal. The difference between E1 and SIM server
is that E1 provide much more better and reliable service than SIM server.
46
Figure 5.3: Vendor site
5.4 Customer Gateway
The customer gateway sends call to the Session border controller. In VoIP this
customer side is a big organization. These organizations provide VoIP services by selling
scratch card. Customers have to buy that scratch card to get balance or credit to give call
and to get prefix or access pin number. Customers then have to give call using prefix or
access pin number before the destination number. Some organization provides facilities
offering customer to buy balance or credit and access number by their credit card. User
can send call from PC or mobile. Some organizations provide both facilities to customer
and customer can send calls using PC or cell phone whatever they want.
Customer gateway has its own database. From database they compare calls are coming
from valid user or not. If its fake user then they discards that call else they pass that call
to the Session Border Controller. Usually they have contract with that organization which
provide services of Session Border Controller.
47
Figure 5.4: Call flow in Customer side
Here in figure a customer sends call using his or her prefix 07203 and then number
9477245036. The customer gateway then compare is it valid user or not if valid then the
user has enough balance or not. If all condition success then the gateway sends this call to
the Session Border Controller.
So finally if we look total VoIP call flow in a single view it will be like following figure:
48
Figure 5.5: VoIP Call Flow
Here in figure a customer from USA calls to a Sri Lankan number 9477245037 adding
prefix before the number. This call goes to the customer gateway. Customer gateway first
check the prefix to check the coming call is from valid user or fake user. If valid then it
checks the customer has enough credit to send this call. If all conditions meet then it
forward this call by replacing prefix 07203 to 292547 to the SBC. The reason for
replacing is this is the prefix that is used in SBC to identify it.
In SBC the call will first verified by SBC whether the calls come from authorized
customer or not. If it verified successfully then it look up country database table. Then it
get back 94 is for destination Sri Lanka. Then it looks to carrier database of Sri Lanka
and get 77 is a Sri Lanka mobile Mtn number. Then after calculating its routing database
finally it sends call to appropriate route by replacing its own prefix by null. Here it will
replace 292547 by null and send the call in format 9477245037.
In Vendor side the gateway will forward the call to SIM server. SIM server contains
some sim and it sends the call to local GSM network by the following format: Source:
9477241562 and destination 9477245037. And finally call reach to the destination
mobile.
5.5 Inbound and Outbound calls
Besides this some other information are noticeable in VoIP architecture. Those
are described in following:
49
Inbound Call: Calls those are coming in inbound ports are called inbound call.
Inbound ports just accept call. In gateway there are some inbound ports. Some
organization uses 10 ports some other 500 ports depending up on their business
policy.
Outbound Call: Calls those get out from outbound ports are called outbound
call. Outbound ports just pass call according to destination. In gateway there are
some outbound ports. Some organization uses 10 ports some other 500 ports
depending up on their business policy.
Figure 5.6: Inbound and Outbound calls
5.6 FXS (Foreign Exchange Subscriber)
FXS interface (the plug on the wall) delivers POTS service from the local
phone company’s Central Office (CO) and must be connected to subscriber equipment
(telephones, modems, and fax machines). In other words an FXS interface points to the
subscriber.
50
An FXS interface provides the following primary services to a subscriber device:
Dial Tone
Battery Current
Ring Voltage
5.7 FXO (Foreign Exchange Office)
FXO interface (the plug on the phone) receives POTS service, typically from a
Central Office of the Public Switched Telephone Network (PSTN). In other words an
FXO interface points to the Telco office.
An FXO interface provides the following primary service to the Telco network device:
on-hook/off-hook indication (loop closure)
Figure 5.7: FXO and FXS
51
Chapter 6
Business Policy
52
Chapter 6
Business Policy
6.1 Business Policy
It was said before that VoIP has 3 different sites. All they have different
business policy. Those policies and the way the make profits are describing here:
6.2 Customer Site
Customer pay bill to those company who provide Session Border Controller
services. They collect bill from customer. Customer site usually sell scratch card or
collect bill from user’s credit card.
53
Figure 6.1: Sample Customer Tariff in Session Border Controller
Here in figure we can see a customer Nobel Communication which is set up in
SBC as NBL and the name of its tariff is NBL Cust. We can see here in figure customer
NBL pay SBC 0.05 cent per minute for Pakistan mobile calls. Say they collect 0.15 cent
from user for per minute calls. So their profit is (0.15-0.05) 0.10 sec. per minute. So if a
user talks 10 minute to Pakistan customer Nobel Communication will get 100 cent or 1
dollar from this user.
6.3 Vendor Site
Vendor site collect bill from Session Border Controller site. SBC pay for how
many total minutes they use that vendor’s route. Vendors don’t need to pay anyone
except taxes to their government.
54
Figure 6.2: Sample Vendor Tariff in Session Border Controller
Here in figure we can see for Pakistan mobile Session Border Company like
Rapid Target Services have to pay 0.0385 for per minute.
6.4 Session Border Controller Site
Session border controller site like ours Rapid Targetr Services have to pay bill
to the vendor and collect money from customer. If we look back again to previous two
figures then we can see Rapid Target Services use route of Avia Phone Company for
destination to Pakistan. For using that route it has to pay 0.0385 cent per minute to Aviya
Phone Company. Rapid Target Services send customer Nobel Communication’s calls to
Aviya Phone Company’s route. For this Rapid Target Services collect 0.05 cent from
customer Nobel Communication. So the profit is (0.05 – 0.0385) 0.0115 for per minute.
55
Figure 6.3: Business policy used by SBC
To make theme clear say SBC pay 1 taka per minute to vendor for call charge and collect
2 Taka per minute from customer so the profit for SBC is 1 taka per minute.
56
Figure 6.4: Profit Report in SBC
Here in figure we can see all details of billing system in SBC switch. Client NBL uses
AVPC Pakistan mobile route and talked total 4307.27 minute. So at rate per minute 0.05
cent the cost comes (0.05 cent * 4307.27 minutes) = 215.3732 dollar. So that’s the
Revenue and customer NBL will give us 215.3732 dollar for the day 25th December 2009.
Now at 0.0385 per minute rate we will give Aviya Company (AVPC) (0.0385 cent*
4307.27 minutes) = 165.8382 dollar.
57
And finally our profit is (215.3732 – 165.8382) = 49.5350 dollar. And this profit is for
the day 25th December 2009.
58
Chapter 7
Session Border Controller & VoIP
Configuration
59
Chapter 7
Session Border Controller and VoIP Configuration
7.1 Session Border Controller and VoIP configuration
Session Border Controller is a layer 3 switch. There are many companies in the
market who provide SBC switch product. Some common products are Cisco 7600,1000
and MC 3800 series product, VoIP Switch SBC, Netgear SBC, Avira SBC, Avya SBC,
Quintum SBC, Mera SBC, NexTone SBC etc. We are using VoIP switch here in Rapid
Target Service. This switch is in Callpop, USA. We access this switch by remotely
accessing. There are many ways to use remote access service. Some remotely access
software is:
1. Windows default remotely access software.
2. Radmin Viewer
3. LogMeIn
4. Team Viewer
5. Real VNC
60
We usually use Radmin Viewer to access our switch.
Figure7.1: Radmin Viewer Software
In figure we can see 3 switches. Kelvin, RTS and Subash all these are our switches.
61
Figure 7.2: RTS SBC desktop
In figure we can see the SBC desktop. Here we can see 3 windows. Top one is
menu bar, then Call window and Statistics window.
Statistics window shows the status. Here we can see Total 24275 calls were
attempted and from them 3999 calls were successful. Right now 7 calls are pending and 4
calls are connected. We can see the value of ASR and ACD. These two are used to
measure call status. ASR and ACD are described later.
62
Call window exhibits the current active calls status. Here we can see from top 5
calls, customer NBL is sending call to Pakistan. For sample the tope call is
318809230066172139, NBL (SIP). Here 31880 is the prefix of customer NBL,
9230066172139 is the calling number, NBL refers to customer name and (SIP) refers the
protocol used by this customer.
There are 5 status of a call. They are:
1. Blue with triangle sign which refers call is pending or attempted
2. Blue with rectangle sign which refers call is failed
3. Green with triangle sing which refers call is running or active call
4. Green with rectangle which refers call is ended successfully
5. Red with cross sign which refers call is unauthorized or unable to
access this call. The issue is either the client has not enough credit to
make this call or the call comes from a customer who is expired in
contact or call comes from fake customer.
63
Figure 7.3: Call status
64
We can also access our switches by browser. We can use only internet explorer
to access our switches. This service is known as webconfig. The following figure shows
our switch configuration by internet explorer.
Figure7.4: SBC in Web Config
The figure represents configuration graphical user interface GUI in web
application. Here we can see active calls section. Three are 8 active calls at the time when
it was captured. Account name refers customer names. Duration how many minutes or
hour customers are talking. Route refers the route used by SBC to send call to its
destination. Dialed numbers refer number that are dialed and here before number prefix
are added.
65
7.2 Set up Gateway Client (GW Client)
Clients are known in SBC as gateway client in short GW client. Set up order are
given from USA through mail. They just say the client name and how much credit should
assigned. I have to gather all set up information from longjump. To make this clear I need
to say something about longjump. Longjump is an online data store or database
application. In longjump all clients and vendors information are stored. After getting
order or tasks to set up vendor or client in SBC we have to go longjump and gather
information of that client or vendor. The web address of longjump is
www.longjump.com. The following figure represents how we get tasks.
Figure7.5: Tasks to create GW client
66
After getting order to set up customer Callvox in SBC I have to go in longjump.
The following figure shows the information from longjump.
Figure7.6: Customer Callvox’s information from Longjump
The highlighted red part is the required information for set up. This part
contains parameters like customer’s IP, what protocol this customer using, codecs
supported by this customer router, its prefix and its tariff name.
At the very first we have to create tariff for this customer and its name will be
CLVX Cust. We have to use prefix before country code or break out. This prefix will be
71714.
67
Figure7.7: Customer CLVX’s tariff
In figure we can see customer Calvox’s tariff which is named as CLVX tariff
here. We can see Jamaica mobile Centennial break out code with prefix 71714 and with
rate 0.12 cent for per minute.
68
Now we will create account for customer Calvox including its credit in SBC.
Figure 7.8: Customer Calvox’x account in SBC
Here in figure we can see Calvox customer’s parameters. Calvox is using
G723.1 and G729. Its primary codec is G729. It has 500 Call limits which mean it can
send 500 calls at a time. Its IP addresses are given in IP addresses box. In top we can see
how much fund it has. Here it is 997474.9893 dollar.
69
7.3 Set up Gateway in SBC
Gateway set up option is for vendor site. This set up contains what patterns of
calls vendor want to accept i.e. prefix, their IP, which codec they support, which protocol
they want to use and their call limits. The following figure represents how we get order to
set up a new gateway.
Figure7.9: Tasks to create Gateway
70
The following figure exhibits the parameters collected from Longjump.
Figure 7.10: Vendor Easycom Exchange’s information from Longjump
First we have to create tariff for Easycom Exchange with
appropriate prefix. The following figure shows the tariff EASY Vend. One thing is highly
noticeable here that the customer tariffs are marked by cust at the end of customer short
name for example CLVX cust and for vendor, vend is used at the end of vendor’s short
name.
Figure7.11: Vendor Easycom Exchange’s tariff
71
The following figure represents gateway set up for a vendor in SBC.
Figure 7.12: Easycom Vendor set up in SBC
Here we can see IP, codecs, protocols and port limits used by vendor Eaycom .
72
7.4 Dial plan
Finally the dial plan is the last task to complete all setup to route
calls into a country. Every set ups are meaningless without dial plan. Dial plan binds the
client and vendor set up. Without dial plan client can’t send any calls. Dial plans say
which route should use for the incoming calls. Let us see the figure:
Figure7.13: Dial Plan
73
The figure defines the dial plan for customer Callvox. If we go
back in GW client set up then we can see Callvox’s prefix is 71714. So if Callvox send
traffic to Jamaica then call will come to the inbound as 717141876xxxxxx format
because 1876 is the international telephone code for Jamaica. You can see the incoming
call can be route through 3 routes. They are VIRT Jam mo Digi, TLPT Jam mo Digi and
TLPT jam mo CWJ. For route VIRT 71714 prefix will be replaced by null. For TLPT
71714 prefix will be replace by 105119 because the vendor TLPT want to accept call in
that format. So for TLPT if inbound call is 717141876xxxxxx then outbound call will be
1051191876xxxxxx format.
74
Chapter 8
Monitoring and Quality Control
75
Chapter 8
Monitoring and Quality Control
8.1 Monitoring
To monitor the status of call of routes the following two terms are used.
8.1.1 Average Seizure Ratio (ASR)
ASR stands for the percentage of calls that actually get terminated. For more
details it is the ratio of success calls. It is defined by the following formula:
ASR= (Total successful call/ Total call attempted) * 100
For example say for route A 160 calls were attempted among the 90 calls were succeed.
So ASR of route A = (90/160) * 100 = 56.25 %
8.1.2 Average call duration ACD
ACD stands for average call duration. Some telephone or VoIP companies use
ALOC instead of ACD though both refer same. It is defined by the following formula.
ACD = Total duration of calls/ Total number of calls
76
For example, in route A there are 5 successful calls. Say their duration is like:
Number of Calls Dialed Number Duration in minute
1. 9477xxxxxx 10
2. 9477xxxxxx 1
3. 9477xxxxxx 0.5
4. 9477xxxxxx 1.5
5. 9477xxxxxx 1
Total 5 calls 14 min.
Table 8.1: ACD Calculating
So the ACD will be 14/5 = 2.8 minute
Figure 8.1: Route Status
77
The figure exhibits the status of routes for the date 28th December 28, 2009. Here
Count is total Success calls, Count Fail is total failed calls, ASR is Average Seizure
Ratio, AvgDur is average duration or ACD and Sum Dur is total duration. In figure the
status of the bottom route AVPC Pak Mo Mobi is ASR 24% and ACD 3.22 minute. The
status for another route named AVPC Pak mo Tele, the ASR is 4 and ACD is 2.11
minutes. The status of this route is definitely bad. We can see only 19 success calls and
412 failed calls. So there must be some issue. For this issue we send Trouble Ticket (TT)
to the vendor. Now I will show here how we send TT to the vendor.
Figure8.2: Trouble Ticket
78
8.2 Testing
The purpose of testing is to verify the quality of a route. Sometimes It happened
that one route gave good quality before but its performance is going down from the last 2
hours then in that case testing are done to understand what is going on in that route. This
is the initial step of troubleshooting. After finding out the problem if the issue exists in
Session border controller then its responsibility goes to the network operation center
(NOC) of SBC service provider. If the issue is on vendor side NOC department of SBC
service provider sends TT to the vendor.
Another purpose of testing is route selling and buying. When SBC want to make a
contract with a vendor to use its route then before contract they test that route. Then
according to the test result they decide its quality and decide they should buy this route or
not.
8.3 Testing Parameters
The following parameters are used in testing a route:
Post Dial Delay (PDD): The time delay between dialing and call connection is
referring to PDD. Usually 40 seconds are standard PDD. If the PDD is high then
standard then there must be some issue.
79
False Answer Supervision (FAS): The one of the top most issues in VOIP
telephony is False Answer Supervision (FAS). Two types are FAS is experienced
in VOIP and they are:
When the switch starts to bill the call before the call s actually
connected or user start to talk.
When switch bills the call after 3 second or 5 second or in some cases
more time after the call actually connected.
In case of FAS the issue must be in setup of router.
Echo: When caller gets back his or her voice back this situation is called echo
problem.
Static: If caller gets noise tone then it refers to Static problem.
One way Audio: The caller can hear receive voice but receiver can’t or in reverse
receiver can hear caller voice but caller can’t hear receiver and all these are the
issue that refers to one way audio.
IE errors: IE errors refer to H323 protocol call signaling error.
80
Release Reason: Release reason refers to SIP protocol call signaling error.
Rapid Target Test Form
Support Member: Tareq
Test Date: 9th September 2009
Test Start Time: 11.45.09PM
Vendor Name: TLPT
Country: Haiti
Breakout: Mobile
Carrier/City Digicell
Number dialed IE Error Release Reason
50937448475 34 -1
50937533619 34 -1
50936066348
50938079199 34
50936073255 34
50936073255 34
50938690446
50938690446 34
50937590610
50937590610 34 -1
81
PDD Ring? Answer? Echo? Static? One way Audio?
7 Yes No Yes No No
6 Yes Yes No
6 Yes No Yes No No
Volume? Duration of call Other Quality Notes
no circuit channel available
no circuit channel available
Good 1.15
no circuit channel available
no circuit channel available
no circuit channel available
0.15 IVR
no circuit channel available
Good 0.51
no circuit channel available
Table 8.2: Test Report
82
References
[1] www.nascio.org/publications/documents/NASCIO-VOIP.pdf
[2] www.quickstartvoip.com/voip-advantages.html
[3] www.why-switch-to-voip.com/Advantages_Disadvantages_VoIP.html
[4] www.nascio.org/publications/documents/NASCIO-VOIP.pdf
[5] www.voipadvantage.co.uk
[6] www.ciscopress.com/articles/article.asp?p=606583&seqNum=8
[7] http://www.faqs.org/docs/Linux-HOWTO/VoIP-HOWTO.html#ss4.2
[8] www.national.com/appinfo/ adc /files/ABCs_of_ ADC s. pdf
[9] www.msforum.org/techinfo/reports/MSF-TR-QoS-001-FINAL.pdf
[10] www.voip-news.com/.../voip-qos-service-quality-012207/
[11] www. voip .about.com/od/glossary/g/ delay .htm
[12] www.trilliumwoodpartners.com/id29.html
[13] www.commsdesign.com/design_corner/showArticle.jhtml?articleID=207000171
[14] www.toncar.cz/Tutorials/VoIP/VoIP_Basics_Jitter.html
[15] www.voip.about.com/od/glossary/g/echo.htm
[16] http://www.microtronix.ca/echo_problems.htm
[17] www.polycom.com/.../vortex_choose_ acoustic _ echo _canceller.pdf
[18] www.ditechcom.com/solutions/appnotes/AN_HEC_Wireline_Bidi.pdf
[19] www.cisco.com/web/.../Dispelling_the_ Packet _ Loss _Myth.pdf
[20] www.is.co.za/.../ VoIP +its+all+about+quality+of+service.htm
[21] www.en.wikipedia.org/wiki/Voice_activity_detection
[22] www.cisco.com/en/US/docs/switches/wan/mgx/.../VSM15Ch4.pdf
[23] www.patton.com/whitepapers/ voip _and_ qos . pdf
[24] www.brocade.com/forms/getFile?p.../ voip _ solutions _ga_tb... pdf
83
[25] http://ww1.microchip.com/downloads/en/devicedoc/21841a.pdf
[26] http://www.voipcodec.org/
[27] http://www.javvin.com/protocolRTP.html
[28] http://icapeople.epfl.ch/thiran/CoursED/RTP.pdf
[29] www.siptutorial.net/ RTP / header .html
[30] www.iec.org/online/tutorials/acrobat/h323.pdf
[31] www.ja.net/documents/publications/factsheets/035-h.323.pdf
[32] www.ee.ucla.edu/~vandenbe/publications/sip.pdf
[33] www.sipcenter.com/sip.nsf/html/.../Ubiquity_SIP_Overview.pdf
[34] www.cs.columbia.edu/~hgs/teaching/ais/slides/2003/sip_long.pdf
[35] www.faqs.org/ rfc s/ rfc3261 .htm
84
top related