+ All Categories
Home > Documents > Desire Final Year Project Report

Desire Final Year Project Report

Date post: 16-Apr-2015
Category:
Upload: aheza-desire
View: 120 times
Download: 0 times
Share this document with a friend
71
PROJECT REPORT on DESIGN and TEST an ASTERISK VoIP SYSTEM for NUR NETWORK By Desire AHEZA (Reg No UG10102389) Under the guidance of Dr Felix K. AKORLI Submitted to the Department of Electrical and Electronics in the FACULTY OF APPLIED SCIENCES In partial fulfillment of the requirements for the award of the degree of BACHELOR OF ENGINEERING IN ELECTRONICS AND COMMUNICATION SYSTEMS ENGINEERING National University of Rwanda Faculty of Applied Sciences Department of Electrical and Electronics October 2011
Transcript

PROJECT REPORT

on

DESIGN and TEST an ASTERISK VoIP SYSTEM for NUR NETWORK

By

Desire AHEZA

(Reg No UG10102389)

Under the guidance of

Dr Felix K. AKORLI

Submitted to the Department of Electrical and Electronics

in the FACULTY OF APPLIED SCIENCES

In partial fulfillment of the requirements

for the award of the degree

of

BACHELOR OF ENGINEERING

IN

ELECTRONICS AND COMMUNICATION SYSTEMS ENGINEERING

National University of Rwanda

Faculty of Applied Sciences

Department of Electrical and Electronics

October 2011

i

BONAFIDE CERTIFICATE

Certified that this project report titled “DESIGN and TEST an ASTERISK VoIP SYSTEM

for NUR NETWORK” is the bonafide work of Mr. AHEZA Desire who carried out the

research under my supervision. Certified further, that to the best of my knowledge the work

reported herein does not form part of any other project report or dissertation on the basis of

which a degree or award was conferred on an earlier occasion on this or any other candidate.

Signature of the Guide Signature of the H.O.D

Name of the Guide (Certificate to be countersigned by the HOD.)

Where external guide is also there, the following format may be followed.

Signature of Internal Guide:

Name:

Signature of External Guide:

Name:

ii

DECLARATION

I declare that, the project entitled, “DESIGN and TEST an ASTERISK VoIP SYSTEM for

NUR NETWORK” is original work and has never been submitted to any University or other

Institutions of Higher Learning. It is my own research whereby other scholar’s writings were

cited and references provided. I thus declare this work is mine and was complete successfully

under the supervisor Dr Felix K. AKORLI.

Student’s signature

Name:

iii

Dedication

To my Almighty God

To my parents

To my relatives, colleagues and friends

This project is dedicated

Desire AHEZA

iv

Acknowledgement

I am thankful to the Almighty God for the given gift of life and guidance, especially during the

development of this project.

My sincere thanks go foremost to Dr Felix K. AKORLI for accepting to supervise this project;

without his guidance, support and advice, I would not have succeeded to complete this work.

I wish to acknowledge all lectures in the Faculty of Applied Sciences, especially those of the

Electrical and Electronics department, the National University of Rwanda and the Rwandan

Government for the opportunities they have given us to obtain these skills.

My thanks are also expressed to the NUR Masters program in ICT for providing us the

necessary equipments like computers, switches that helped me to complete this project.

Appreciation is also extended to the NUR ICT center team especially MUNEZERO Moussa for

his support, and to DPD System Administrator Mr. Ben RUHINDA for his support, advice and

help to get needed information to the achievement of the goals of this project.

Special gratitude is concentrated on my beloved parents for their parental love and daily support

in my education.

The last but of course not least, I am grateful to my classmates especially ABIJURU Delphine

for IVR voice prompts she made for me.

GOD Bless you all

Desire AHEZA

v

Table of content

BONAFIDE CERTIFICATE ...................................................................................................... i

DECLARATION ....................................................................................................................... ii

Dedication ................................................................................................................................. iii

Acknowledgement .................................................................................................................... iv

List of abbreviations and acronyms ......................................................................................... viii

List of Figures .......................................................................................................................... xii

List of Tables .......................................................................................................................... xiii

Abstract ...................................................................................................................................xiv

Chapter1. Introduction ................................................................................................................1

1.1 Background .......................................................................................................................1

1.2 Problem Statement .............................................................................................................2

1.3 Research hypothesis ...........................................................................................................2

1.4 Objectives ..........................................................................................................................3

1.5 Scope of the project ...........................................................................................................3

1.6 Interest of the project .........................................................................................................3

1.7 Organization of the project .................................................................................................4

Chapter 2.VoIP Technology and Protocols ..................................................................................5

2.1 Telephony ..........................................................................................................................5

2.2 VoIP Standards and Protocols ............................................................................................7

2.2.1 Standards and Protocols...............................................................................................8

2.2.2 Codecs ...................................................................................................................... 13

2.2.3 Asterisk Private Branch eXchange ............................................................................. 14

2.3 VoIP Servers and End Users ............................................................................................ 16

2.3.1 3CX Phone System for Windows .............................................................................. 16

2.3.2 Pure Asterisk ............................................................................................................. 16

2.3.3 Customized Linux Distributions ................................................................................ 17

2.3.4 Client Sides ............................................................................................................... 17

vi

Chapter3. Method for data collection, Tools and QoS metrics ................................................... 18

3.1 Data collection ................................................................................................................. 18

3.1.1 Gathered Documents ................................................................................................. 18

3.1.2 Investigation Techniques ........................................................................................... 18

3.1.3 Interviews approach .................................................................................................. 18

3.2 Information of the TrixBox CE open source IP PBX system ............................................ 19

3.3 Tools ............................................................................................................................... 19

3.3.1 Hardware................................................................................................................... 19

3.3.2 Software .................................................................................................................... 20

3.4 Quality of Services (QoS) ................................................................................................ 20

3.4.1 QoS requirements for Voice application .................................................................... 21

3.4.2 QoS Requirements of Video application .................................................................... 21

3.5 Estimation of QoS of VoIP .............................................................................................. 22

3.5.1 E-model and Gap model description .......................................................................... 22

3.5.2 Gap model ................................................................................................................. 24

Chapter4. Design and Test of NUR VoIP System ...................................................................... 25

4.1 Planning NUR dialplan prototype .................................................................................... 25

4.1.1 Units of NUR ............................................................................................................ 25

4.1.2 Dial plan.................................................................................................................... 26

4.1.3 VoIP features to offer ................................................................................................ 27

4.2 Setup of TrixBox Server .................................................................................................. 30

4.2.1 Hardware requirements.............................................................................................. 30

4.2.2 Installation of TrixBox System .................................................................................. 30

4.3 Configuring the VoIP Server ............................................................................................ 31

4.3.1 Configuring Extensions and Voicemails .................................................................... 31

4.3.2 Configure ring group application ............................................................................... 33

4.3.3 Configure Follow me application............................................................................... 34

4.3.4 Configure queuing ..................................................................................................... 35

4.4 Testing of NUR VoIP System .......................................................................................... 35

vii

4.5 Verification of VoIP metrics ............................................................................................ 37

4.6 Maintenance .................................................................................................................... 39

4.6.1 Create a SIP Trunk ........................................................................................................ 40

4.6.2 Security Issues........................................................................................................... 41

Chapter5. Conclusion and Recommendations ............................................................................ 42

5.1 Conclusion ....................................................................................................................... 42

5.2 Recommendation ............................................................................................................. 42

References ................................................................................................................................ 43

Appendix .................................................................................................................................. 45

viii

List of abbreviations and acronyms

ACK: Acknowledgement

AGI: Asterisk Gateway Interface

API: Application Programming Interface

ARPANET: Advanced Research Projects Agency Network

ATA: Analog Telephone Adapter

BRI: Basic Rate Interface

CCITT: Consultative Committee for International Telephony and Telegraphy

CD: Compact Disk

CDR: Customer Details Records

CD-ROM: Compact Disc, Read-Only-Memory

Codec: coder/decoder

CPU: Central Processing Unit

CRM: Customer Relationship Manager

CSV: Comma Separated Values

DHCP: Dynamic Host Configuration Protocol

DTMF: Dual Phone Multi Frequency

EPABX: Electronic Private Automatic Branch Exchange

FAMSS: Faculty of Art Media and Social Sciences

FAS: Faculty of Applied Science

FEM: Faculty of Economics and Management

GB: Giga Byte

GHz: Giga Hertz

ix

GPL: General Public License

GSM: Global System for Mobile

GUI: Graphical User Interface

HE: His Excellence

HOD: Head of Department

HTTP: Hyper Text Transfer Protocol

I/O: Input/Output

IAX: Inter Asterisk Exchange

ICT: Information and communication Technology

ID: Identification

IETF: Internet Engineering Task Force

iLBC: internet Low Bitrate Codec

IM: Instant Message

IOS LLQ: Low Latency Queuing

IP: Internet Protocols

ISDN: Integrated Services Digital Network

ISO: International Organization for Standardization

ITU: International Telecommunication Union

ITU−T: International Telecommunication Union and Telecommunication

IVR: Interactive Voice Response

KHz: Kilo Hertz

LAN: Local Area Networks

MD5: Message Digest Algorithm

MGCP: Media Gateway Control Protocol

MOS: Mean Opinion Score

x

NAT: Network Address Translator

NUR: National University of Rwanda

PABX: Private Automatic Branch Exchange

PAMS: Perceptual Analysis Measurement System

PBX: Private Branch Exchange

PC: Personal Computer

PCM: Pulse-Code Modulation

PESQ: Perceptual Evaluation of Speech Quality

POTS: Plain Old Telephone Service

PRI: Primary Rate Interface

PSNR: Peak-Signal-to-Noise Ratio

PSQM: Perceptual Speech Quality Measurement

PSTN: Public Switched Telephone Network

QoE: Quality of Experience

QoS: Quality of Service

RAM: Random Access Memory

RFC: Request for Comment

RMSE: Root Mean Square Error

RSA: Rivest Shamir and Adleman

RTCP: Real Time Control Protocol

RTP: Real time Transfer Protocol

SIP: Session Initiation Protocol

SMTP: Simple Mail Transfer Protocol

T1/E1: T-carrier/E-carrier

TCP: Transmission Control Protocol

xi

TDM: Time Division Multiplexing

UA: User Agent

UAC: User Agent Client

UAS: User Agent Server

UDP: User Datagram Protocol

URI: Uniform Resource Identifier

URLs: Uniform Resource Locators

VAD: Voice Activity Detection

VoIP: Voice over Internet Protocols

VRAC: Vice Rector for Academic Affairs

VRAF: Rector for Administration and Finance

xii

List of Figures

Figure 2. 1 Processing of audio signals in a VoIP system ............................................................7

Figure 2. 2 SIP Distributed Architecture ......................................................................................9

Figure 2. 3 Major Asterisk Subsystems .................................................................................... 15

Figure 3.1 The factors of the computation of the E-model and the R-factor .............................. 23

Figure 4.1TrixBox initial Admin web ........................................................................................ 30

Figure 4.2 TrixBox initial settings ............................................................................................. 31

Figure 4.3 Network configuration interface ............................................................................... 31

Figure 4.4 Adding extensions to PBX........................................................................................ 32

Figure 4.5 Created extensions saved in .CSV file ...................................................................... 32

Figure4. 6 Uploading the CSV file ............................................................................................ 33

Figure 4.7 NUR IVR system architecture .................................................................................. 34

Figure 4.8 Conference room settings ......................................................................................... 35

Figure 4.9 Sample of NUR network architecture ....................................................................... 36

Figure 4.10 Client <Aheza>1100 calling1005 ........................................................................... 36

Figure 4.11 Abdul is answered .................................................................................................. 37

Figure 4.12 Wireshark screenshot when RTP packets are filtered .............................................. 38

Figure 4.13Delay and jitter Vs packet sequence when only voice is transmitted ........................ 38

Figure 4.14 Delay and jitter Vs packet sequence when voice&video are transmitted.................. 39

Figure 4.15 Flash Operator Panel .............................................................................................. 40

Figure 4.16 Call statistics .......................................................................................................... 40

xiii

List of Tables

Table 4.1 Follow me planning ................................................................................................... 27

Table 4.2 Ring group planning .................................................................................................. 28

Table 4.3 Call center settings..................................................................................................... 28

Table 4.4 Conference room settings .......................................................................................... 29

Table 4.5 Summary of QoS tests ............................................................................................... 39

xiv

Abstract

Voice over Internet Protocol (VoIP) has become a key technology of communication. This

research aims to the development of a VoIP system based on Asterisk, to work on NUR

(National University of Rwanda) network. After studying and analyzing the features, the

maximum number of clients, and the monthly bills of the existing telephony system i.e. NUR

PBX (Private Branch eXchange), the research has been focused on necessity to deploy a NUR

VoIP system.

After those studies we find that this analog PBX is expensive and lacks some flexibility. These

results have permitted us to develop a VoIP system based on TrixBox (Asterisk, CentOS,

FreePBX,…. ). A prototyping method has been used to develop a NUR VoIP system. This

system provide different telephony features such as Voice and Video calls, Voicemail, ring

group, IVR (Interactive Voice Response), queuing, call parking & transfer, finally the system has

been configured to provide conferencing application. QoS metrics calculations and verifications

have been conducted in order to verify that NUR IP (Internet Protocol) network can support

VoIP communication.

The said system provides a Graphical User Interface, usable when the administrator wants to

configure or manage the VoIP system. The research ends with a conclusion and

recommendation, through this stage we suggest that private and public institutions in Rwanda

can use this VoIP system in order to reduce monthly bills paid on telecommunications services

1

Chapter1. Introduction

1.1 Background

In today’s networking and telecom industry, the buzzword is IP telephony. Many see it as a major

evolutionary step in telecommunications. This technology uses the IP to transport voice signals

over a data network. Instead of using the conventional analog voice signal (sine wave signal),

human speech is converted into a digital signal (1s and 0s) just like the data packets that travel

through the data network.

IP telephony referred to VoIP (Voice over Internet Protocols) is more revolutionary than

evolutionary because it merges two very different yet critical worlds; voice telephony (highly

cost sensitive; needs rock-solid reliability); and data networks (accept occasional failures; subject

to rapid change; need a lot of bandwidth).

A solution that merges these two worlds must simultaneously offer reliability, cost effectiveness,

a high data rate and the ability to evolve quickly. Because of the stated features that VoIP is

offering many institutions are adding to or converting their existing telephone systems to voice

over data network capabilities and gain in turn a much lower costs for the same service, better

control of communications services and new revenue producing services[1].

NUR (National University of Rwanda) has already a data communications system or high-speed

Internet connections, it does not cost much more to make calls through this data networks to

reach telephones. This is helpful because transferring voice calls over data networks can save

70% or more compared to traditional telephone service [1], it is possible to use NUR existing

telephone systems and methods of calling, even if the host to call is not directly connected to

your network, it is possible to use gateways to connect your voice over data call to the public

telephone network and it is also possible to directly communicate with remote offices or hosts.

Through this project we develop and implement a technology to establish VoIP communication

for NUR. A VoIP server based on Asterisk (Asterisk was created in 1999 by Mark Spencer of

Digium. Like any PBX, it allows attached telephones (hard phones & softphones) has been used

2

in order to permit making calls to one another, and to connect to other telephone services

including the public switched telephone network [2] and VoIP services. Students and stuffs will

have access to this new technology and use different services such that they can make calls, and

use different features like Voicemail, video calls, call group, queuing, IVR (Interactive Voice

Response) and conferencing call, features that a configured Asterisk server can offer.

1.2 Problem Statement

Academic institutions like NUR are often challenged by the high cost and lack of flexibility of

ordinary telephone systems. Often, there are many communication costs related to the

management and implementations of programs for academic institutions. Due to the global

financial crises, these costs become an additional burden on already heavy load of academic

institution’s budget.

NUR call plan is just using public line and analog server which belongs to telephone service

providers, to interconnect its branches. In fact the issue of making call through those public lines

imposes a high monthly cost. Servers are not customizable and it is offering less features than the

Asterisk VoIP severs we want to deploy. Probably most NUR student and stuffs have a high

speed internet connection (gift from H.E President Paul KAGAME) and some of them have

laptops and PC (Personal Computer).

Therefore the aim of this project is to develop a communication technology to interconnect those

hosts which are in different NUR departments. This new technology will permit NUR

networking and communication department to deliver low cost telephone calls, voicemail, ring

groups, call transfer, conferencing, IVR and other telephony services to its clients i.e. students

and stuffs.

1.3 Research hypothesis

The availability of high speed internet connection and real-time protocols used; to initialize,

transport and terminate communication sessions, can permit to NUR to implement a VoIP

system that can be used to transmit voice and video calls on IP networks. Based on this

technology, NUR telephony system can gain more telephony features like IVR, conferencing

calls, video calls etc…. as those one that PBX can offer.

3

Telephony services based on VoIP technology can offers to NUR more advantages such as a

flexible VoIP server, reduction of monthly bills paid on telephony calls.

1.4 Objectives

The main objective of this project is to develop an operational Internet telephony system for

NUR staffs and students, based on a software implementation of a telephone PBX running a

Linux distribution server and Asterisk.

Our target is to demonstrate that VoIP technology can be implemented by public and private

institutions so that they cannot waste their money using legacy PBX.

Through this project, professional capacity in what we learned in Electronics and

Telecommunication Engineering undergraduate will be improved. It will also help to improve

my networking and telephony technologies and new skills that will help me throughout my

engineering career.

1.5 Scope of the project

Design an operational server based on Asterisk.

Design a VoIP network based on the above server in which hosts in different NUR

departments can call each other with softphones, IP phones and with traditional phones.

Design a system offering conferencing and voicemail, call center (queuing) applications.

1.6 Interest of the project

The following paragraphs describe my personal and global interests;

Through the development of this project we will gain new and more skills related to

telecommunication and networking services.

To improve knowledge in courses I learned in class.

If this project is considered favorably, NUR institution will gain a new and cheaper

powerful communication system, so that they can use it to reduce the monthly bill cost

for telephone calls.

4

Public and private institutions in Rwanda can develop the same system to make smarter

their phone systems.

1.7 Organization of the project

The project is divided into five chapters:

The first chapter provides for the General Introduction to the project; it includes the background

of VoIP technology, problem statement, hypothesis, main objective, scope and interest of the

project.

The second chapter gives details of VoIP technology and protocols, VoIP servers, end user

devices and it also present related project to this work.

The third chapter provides the research methods used to collect data, info about the used VoIP

server, Hardware and software tools used to deploy the VoIP services and finally the estimation

of QoS of VoIP.

The fourth chapter describes the design, the deployment and the testing of the project.

The fifth chapter presents the conclusion and recommendation.

5

Chapter 2.VoIP Technology and Protocols

This chapter deals with theoretical concepts and fundamentals which have been taken into

consideration to support the achievement of this project. It starts with an introduction to

telephony and the conversion from analog to digital telephony. It also gives details on VoIP

standards and protocols and codecs that will be used. Finally it provide a description of

technology that can be used to deploy VoIP telephony system, and gives details on device that

ends users can use to enjoy features that the VoIP server provides. In order to a better

understanding this chapter provides terminology, definitions and characteristics of used

technologies.

The aim of this project is to design and test a VoIP system for NUR, related works have been

done and has been focused on configuration of some features like conferencing and Video calls

and other its task was to prove if VoIP network can be implemented on NUR LAN. At the end of

these works there is a recommendation of delivering a VoIP system based on Asterisk and which

has a Graphical User Interface (GUI) usable when configuring the VoIP server [3] [4].

The target of this project is to design and test a complete VoIP system with all features that a

legacy PBX can offers; the deployed system also provides features like Voice calls, Voicemail,

IVR , conferencing, video calls, ring group, call parking and finally the system will works as a

call center switch for NUR computing center. Next sections present details on basic telephony,

VoIP standards and protocols, types of VoIP servers and end users devices.

2.1 Telephony

The first voice transmission, sent by Alexander Graham Bell, was accomplished on 10th March,

1876, gradually evolved from a one-way voice transmission to a bi-directional voice

transmission. Moving the voices across the wire requires a carbon microphone, a battery, an

electromagnet, and an iron diaphragm and a physical cable between each location that the user

wanted to call. Since the invention of Gram the structure of wireline telephone network doesn’t

change significantly. In the following paragraphs we focus on telephony network and the PBX

that traditional telephone systems run on.

The acronym PSTN stands for Public Switched Telephone Network. PSTN is the network that

traditional phone systems used and was generally controlled by the telecommunication

6

companies. This is the network our calls are travelling over when we pick up our handset and

dial a number. This network spans the world and there are many different interfaces to it;

POTS stand for Plain Old Telephone Service. It is commonly used for residential use.

POTS is an analogue system and is controlled by electrical loops.

ISDN(Integrated Services Digital Network): This is a faster and more feature-filled

connection (also more expensive) This gained some popularity within small to medium-

sized business as a cost-effective way of connecting to the PSTN and getting some

advanced services, like many lines to one office or voice and data lines on one service.

ISDN is a digital service and offers a few more features over POTS [5].

T1/E1 is a digital service used for high-volume data and voice networks and offers yet

more features than ISDN, the most important feature being increased bandwidth that

translates, in telephony, to more telephone lines [5].

A PBX is a telephone exchange that serves a particular business or office. PBXs are also referred

to as PABX (Private Automatic Branch eXchange) or EPABX (Electronic Private Automatic

Branch eXchange), PBXs make connections among the internal telephones of a private

organization and also connect them to the PSTN via trunk lines. Because they incorporate

telephones, fax machines, modems, and more, the general term "extension" is used to refer to any

end point on the branch [6].

Analog transmission of human voice signal is challenged by the fact that all sorts of thing can

interfere with those signals, which result in low volume and other undesired effects. Instead of

sending analog signal over long distance (because it can’t reach the receiver without being

disturbed) it is possible to measure the characteristic of the original sound and send that

information to the destination [7].

This is the principle of all digital audio (including telephony): sample the characteristics of the

source waveform, store the measured information, and send that data to the far end. Then the far

end uses the transmitted information to generate a completely new audio signal that has the same

characteristics as the original. The reproduction is so good that the human ear can’t tell the

difference.

7

The principle advantage of digital audio is that the sampled data can be mathematically checked

for errors all along the route to its destination, ensuring that a perfect duplicate of the original

arrives at the far end. Distance no longer affects quality, and interference can be detected and

eliminated [7].

2.2 VoIP Standards and Protocols

The technology of VoIP uses the Internet Protocol to transmit voice as packets over an IP

network. This implies that VoIP can be implemented on any data network that uses IP, like

Internet, Intranets and Local Area Networks (LAN). In this technology voice signal is digitized,

compressed and converted to IP packets and then transmitted over the IP network. Signaling

protocols are used to set up and tear down calls and carry information required to locate users.

To make VoIP popular; products from different vendors need to operate with each other to grant

the interoperability, to achieve this task different standards are now being invented. The most

common standards for VoIP are the Session Initiation Protocol (SIP) and H323 [8]. The

following paragraphs present a description of those standards which support VoIP.

Figure 2.1 displays the setup of a VoIP system and how audio signals are processed by it.

Figure 2.1 Processing of audio signals in a VoIP system [8]

At the sender the digitized voice of the speaker is encoded by a speech encoder, and then packets

are sent through the protocol stack. If the speaker is silent, the Voice Activity Detection (VAD)

recognizes this and a packet without payload or no packet is generated. Afterwards the packets

8

are sent over the network, for instance an IP-based LAN. At the receiver side the protocol stack

processes the packets. Then lost packets are detected and substituted. Since the packets might not

arrive in a constant flow, they are collected in a jitter buffer that adjusts time differences and the

arrival order. Finally the decoder decodes the packets and outputs them via the sound system [8].

There are a number of standards used for signaling, speech coding and the transport of the voice

packets over IP. This modularization makes VoIP flexible and the standards interchangeable

when new requirements and applications emerge. The following sections will give an

introduction to the most important standards (protocols) and issues related to VoIP.

2.2.1 Standards and Protocols

IP telephony requires some protocols for establishing and controlling the connection, which is

signaling the connection. Among them, the most popular protocols are SIP and H.323. Both

technologies use Real time Transfer Protocol (RTP) protocol to the multimedia data transport.

2.2.1.1 RTP protocol

The RTP protocol is a real time protocol which is oriented to the transmission of information in

real time such as voice or video. This protocol is a user session protocol which relies on User

Datagram Protocol (UDP), making use of the checksum and multiplexing services to allow

programs which make transmission of this kind of data handling the real time unicast or

multicast transmissions. RTP does not in itself guarantee real-time delivering of multimedia data.

The tool that RTP uses to achieve real time transmissions is the Real Time Control Protocol

(RTCP), which provides a feedback about some control information. With this, it is possible to

monitor the quality of the transmission and also possible to diagnose possible network problems.

RTP consists of four main fields; the detail of these fields is described below [9]:

RTP Payload type indicates the specific media encoding, which codec to use. The codec

conveys the type of the data (such as voice, audio or video) and how it is encoded. It can be

changed if it has to adapt the variation in bandwidth, frame indication, which marks the

beginning and end of each frame.

Sequence number helps the receiving end to reassemble the data and detect lost, out-of-order

and duplicate packets.

9

Time Stamp, It is used to reconstruct the timing of the original audio and video. It also helps the

receiving side determine variations in packet arrival times, known as jitter. It is the time stamp

that brings real value to RTP. At receiving side each packet is compares with time stamp to make

RTP transmission possible.

Source ID, It is used to distinguish among multiple, incoming streams by the software at the

receiving side.

In this project work, RTP is used as voice streaming protocol to send real-time traffic.

To place a call on the data network, VoIP involves two types of protocol; call setup protocols

and voice streaming protocols. Call setup protocols are available to serve as the VoIP signaling

protocol, SIP, H.323 and IAX (Inter Asterisk eXchange) are most common choices. In the next

paragraphs the focus is on those signaling protocols.

2.2.1.2 Session Initiation Protocol (SIP)

SIP is an Internet Engineering Task Force (IETF) defined 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 of multimedia

communication sessions between end users. Session is considered to be communication states

kept between senders and receivers during the communication [10].

Figure 2.2 SIP Distributed Architecture [9]

Examples of communication sessions are Internet telephone calls, distribution of multimedia etc.

The modification can involve changing addresses or ports, inviting more participants, and adding

10

or deleting media streams. SIP clients typically use TCP (Transmission Control Protocol) 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 encrypted traffic. In the next paragraphs, the structural, functional and characteristics features

of SIP are explained in detail [10].

2.2.1.2.1 SIP Distributed Architecture

As shown in Figure 2-2 the SIP protocol defines a collection of entities that take part on a SIP

communication, which are, User Agents, Proxy Server, Location Server, Registrar and Redirect

Server. These all elements work together on one computer to perform specific task. Installation

of these elements on the same machine increases the speed and processing between the network

elements.

The roles of these components are detailed below;

User Agent Client (UAC): It's who call in general it is an entity that makes a call or request to

callee.

User Agent Server (UAS): It's a server at application level which contacts the user when a SIP

request is received and responses on the user's name. The response to the request is accepted,

rejected or redirected [10].

User Agent (UA): It's an application which contains both the UAC and UAS. When a user want

to talk with other, executes a program that contains a UA. They can reside on the user computer

in the form of an application, but they can be cellular phones, PSTN gateways, PDA’S and IVR

(Interactive Voice Response) systems and so on. All the interactions between users and the SIP

protocol are done through UA. When UAC sends request to UAS, UAS response that request

and the session is established between them.

2.2.1.2.2 Proxy server

The proxy servers accept session requests generated by UA and request the address information

about the destination user to the registrar server. Then, it redirects the invitation directly to the

destination user if it's located on the same domain, or redirects it to another proxy of the

corresponding domain [10].

11

2.2.1.2.3 Registrar Server

Registrar server is a logical SIP entity that accepts the registration requests from senders extract

registration information about current location (IP address, port and username) and store that

information into location database. At the completion of registration process, Registrar Server

sends the ACK 200 message to the requestor. Registrar is very important entity that helps in

storing current information in location database, which further use for forking by proxy or

redirect server [11].

2.2.1.2.4 Location Server

A location server is a SIP entity used by a proxy and redirect server to obtain the information

about the called party possible location. Location server stores the current location of the users

by registration process.

2.2.1.2.5 Redirect Server

A Redirect server is a user agent server that accepts and receive SIP request. Redirect server

checks the request from the location database and creates the list of current location of the user

and send back the request to the originator within a 3xx response (detail in next section). The

user receives the list of current destinations and send request directly to required destination.

A general SIP transaction model consists of sequence of SIP messages (request and responses)

between SIP network elements; which describe the SIP calls setup and teardown process.

Sequence of requests and their responses are used in number of steps to complete the call

process[11].

2.2.1.2.6 SIP messages

SIP is a text-based protocol with syntax similar to that of Hyper Text Transfer Protocol (HTTP).

There are two different types of SIP messages: requests and responses. The first line of a request

has a method, defining the nature of the request, and a Request-URI (Uniform Resource

Indictor), indicating where the request should be sent. The first line of a response has a response

code [10]. Method is an important entity in the request line and used to decide the function of

request, six types of methods are defined: REGISTER, INVITE, ACK, CANCEL, BYE,

OPTIONS. Appendix B-5 presents details on these methods;

12

2.2.1.2.7 SIP Responses

Every request needs a response, when a user agent receives a request it replies the response.

Response methods are similar to request, except to the first line. First line of the response

contains protocol version (SIP/2.0), reply code, and reason phrase. The reply code is integer

number from 100 to 699 and indicates type of response. These 6 classes of responses are

explained in B-6.

2.2.1.3 H.323 protocol

H.323 is a recommendation from the ITU Telecommunication Standardization Sector (ITU-T)

that defines the protocols to provide audio-visual communication sessions on any packet

network. The H.323 standard addresses call signaling and control, multimedia transport and

control, and bandwidth control for point-to-point and multi-point conferences.

It is widely implemented by voice and videoconferencing equipment manufacturers, is used

within various Internet real-time applications and is widely deployed worldwide by service

providers and enterprises for both voice and video services over IP networks.

Within the context of H.323, an IP-based PBX might be a gatekeeper or other call control

element which provides service to telephones or videophones. Such a device may provide or

facilitate both basic services and supplementary services, such as call transfer, park, pick-up, and

hold [12].

N.B: SIP has pretty much dethroned the once-mighty H.323 as the VoIP protocol of choice

certainly at the endpoints of the network. The premise of SIP is that each end of a connection is a

peer; the protocol negotiates capabilities between them. What makes SIP compelling is that it is a

relatively simple protocol, with syntax similar to that of other familiar protocols such as HTTP

and SMTP (Simple Mail Transfer Protocol) [12].

2.2.1.4 IAX (The “Inter-Asterisk eXchange” Protocol)

The IAX protocol was developed by Digium for the purpose of communicating with other

Asterisk servers (hence the Inter-Asterisk eXchange protocol. The standard is open for anyone to

use, and it is supported by many other open source telecom projects, as well as by several

hardware vendors.

13

IAX is a transport protocol (much like SIP) that uses a single UDP port (4569) for both the

channel signaling and media streams, this makes it easier to manage it when behind NATed

(Network Address Translator) firewalls.

IAX also has the unique ability to trunk multiple sessions into one dataflow, which can be a

tremendous bandwidth advantage when sending a lot of simultaneous channels to a remote box.

(Trunking allows multiple media streams to be represented with a single datagram header that

will lower the overhead associated with individual channels. This helps to lower latency and

reduce the processing power and bandwidth required, allowing the protocol to scale much more

easily with a large number of active channels between endpoints.) If you have a large quantity of

IP calls to pass between two endpoints, you should take a close look at IAX trunking.

As security consideration IAX includes the ability to authenticate in three ways: plain text, MD5

(Message Digest Algorithm) hashing, and RSA (Rivest Shamir and Adleman) key exchange.IAX

is the best protocol [12].

2.2.2 Codecs

Codecs are generally understood to be various mathematical models used to digitally encode

(and compress) analog audio information. Many of these models take into account the human

brain’s ability to form an impression from incomplete information. Originally, the term codec

referred to a COder/DECoder: a device that converts between analog and digital. Now, the term

seems to relate more to COmpression/DECompression.

2.2.2.1 Voice Companding

Companding refers to the process of first compressing an analog signal at the source, and then

expanding this signal back to its original size when it reaches its destination. At the time of the

companding process, input analog signal samples are compressed into logarithmic segments.

Each segment is then quantized and coded using uniform quantization. The compression process

is logarithmic. The ITU−T standards for companding are called A−law and u−law [9].

A−law and u−law are audio compression schemes (codecs) defined by Consultative Committee

for International Telephony and Telegraphy (CCITT) G.711. A−law and u−law are referred to

codec G.711.

The signaling functionality of this codec is described below,

It uses the frequency range of 4 kHz to capture the human voice conversation.

14

To capture the proper degree of resolution, the voice information is sampled at double the

frequency range, or 8000 times per second. Thus PCM grabs the chunk of data every

0.125 ms i.e. (1 second / 8000*0.000125 seconds)

Each sample occupies 8 bits of data, so the overall bandwidth required is (8000 * 8), or

64000 kbps [9].

2.2.2.1.1 A−law

The A−law compression is defined by the following equation, where A is the compression

parameter (A=87.7 in Europe), and x is the normalized integer to be compressed.

[9] (2.1)

2.2.2.1.2 µ −law

The µ −law is defined by the following equation, where m is the compression parameter (µ =255

in the U.S. and Japan) and x is the normalized integer to be compressed. A−law standard is

primarily used by Europe and the rest of the world. µ −law is used by North America and Japan.

[9] (2.2)

2.2.3 Asterisk Private Branch eXchange

Asterisk is an open source, converged telephony platform, which is designed primarily to run on

Linux. Asterisk was created in 1999 by Mark Spencer of Digium. Like any PBX, it allows

attached telephones (hard phones & softphones) to make calls to one another, and to connect to

other telephone services including the public switched telephone network and VoIP services. Its

name comes from the asterisk symbol. Asterisk was designed to replace traditional PBX, which

means it performs all the features and functionality related to normal PBX does [12]. For

interconnection between digital and analog telephony equipment, Asterisk does Voice over IP in

many protocols, call setup and voice streaming protocols are example. It provides transport

15

bridging between Voice over IP protocols including SIP, H.323, IAX, Media Gateway Control

Protocol (MGCP), and also support traditional circuits like TDM, T1/E1, POTS, BRI and PRI

[13]. The Asterisk software includes many features available in proprietary PBX systems: voice

mail, video call conference calling, interactive voice response (IVR), and automatic call

distribution. Users can create new functionality by writing dial plan scripts in several of

Asterisk's own extensions languages, by adding custom loadable modules written in C, or by

implementing Asterisk Gateway Interface (AGI) programs [14].

2.2.3.1 Asterisk Architecture

Asterisk is designed for maximum flexibility and interconnection. As shown in Figure 2.6 the

Asterisk core contains several engines that each plays a critical role in the software’s operation.

Figure 2.3 Major Asterisk Subsystems [12]

Firstly, when Asterisk is started, the Dynamic Module Loader loads and initializes each of the

drivers, which provide channel drivers, file formats, call detail-record back ends, codecs,

applications and more, linking them with the appropriate internal Application Programming

Interface (API). Then, Asterisk’s PBX switching core begins accepting calls from interfaces and

handling them according to the diaplan, using Application Launcher for ringing phones,

connecting to voicemail, etc. Scheduler and I/O Manager is a core component engine that

provides environment to applications and drivers to take advantage of Asterisks. Finally

Asterisk’s Codec Translator permits channels which are compressed with different codecs to

seamlessly talk to one another [14]. Channel API Channels are the logical entities use to connect

16

signaling and transmission path between end points. All calls arrive at or leave an Asterisk server

through an interface, for example SIP, Zaptel or IAX. Any incoming or outgoing call is made

through an interface.

Every call is placed or received over an interface on its own distinct channel. A channel can be

connected to a physical channel like a POTS line, or to a logical channel like an IAX or SIP

channel. If a call arrives at Asterisk over a channel, a dial plan determines what is done with the

call. For example, a call might arrive through a SIP channel. The call could be coming from a

SIP telephone, or from a SIP soft phone running on a computer. The dial plan determines if the

call should be answered, connected to another telephone, forwarded or directed to voice mail.

Asterisk provides various applications, for example voice mail. These applications are available

to the dial plan when processing the incoming call. The dial plan and the applications selected

for use within the dial plan determine what Asterisk does [14].

2.3 VoIP Servers and End Users

To establish calls clients will first be registered to the VoIP server. They are many type of VoIP

servers, this section give details on type of VoIP servers and type of devices that end users will

used in other to be registered.

2.3.1 3CX Phone System for Windows

3CX Phone System works with popular VOIP Gateways, SIP trunking providers and SIP phones

to allow you to setup a complete IP PBX in a matter of half an hour. 3CX’ SIP server is quickly

downloaded and installed and runs on all popular versions of Windows, including XP, Vista, 7,

2003 server and 2008 server. Configuration is performed via an easy to use Web interface. 3CX

Phone System has withstood rigorous quality testing and was award the “Certified for Windows

2003” Logo [15].

2.3.2 Pure Asterisk

Asterisk is “Open Source PBX software” that once installed in Personal Computer (PC)

hardware along with the correct interfaces, can be used as a full featured PBX for home users,

enterprises, VoIP service providers and telecoms. For more details see section 2.2.3.

17

2.3.3 Customized Linux Distributions

There are various distributions such as AsteriskNow, Elastix, TrixBox, FreeSwitch, SER,

OpenSIPS, etc. But the most popular are the first three. In the following paragraphs I present a

short description of each.

AsteriskNow is an open source software appliance, a customized Linux distribution that

includes Asterisk, the Asterisk GUI, and all other software needed for an Asterisk system. The

Asterisk GUI gives you the ability to easily configure your Asterisk system without being a

technical expert.

Elastix is an open source Unified Communications Server software that brings together IP PBX,

email, IM, faxing and collaboration functionality. It has a Web interface and includes capabilities

such as Call Center software with predictive dialing [16].

TrixBox: TrixBox, a Fonality product is composed of Asterisk and some of its most popular

features combined on a ready-to-install ISO (International Organization for Standardization).

TrixBox platform is the open source software. TRIXBOX evolved from the core Asterisk. It is

made up of several major components; more details are presented in the next chapter. These were

developed under GPL supported relatively by users themselves. It consists of applications, a

provisioning system, an installer, and an operating system that, together, make a complete

package ready for use as an out of the box PBX[17]. The above paragraphs show that TrixBox is

the best to use because it offers a system full of many features. By using this I will gain more

skills in Linux and telephony concept.

2.3.4 Client Sides

In the development of this project; end users uses softphones, IP phones and traditional

telephones in order to make calls to each others. Using traditional telephones on VoIP network

requires some ATAs (Analog Telephone Adapters) that will permits the conversion from analog

(voice signal) to digital packet of data and sends it over the internet. IP phones will be connected

to the network via an Ethernet cable.

And finally softphones (SIP or IAX software) installed on client computer; it acts as telephone. It

requires a fast Ethernet connection, a soft phone, a speaker, microphone and sound card, to make

and receive the calls.

18

Chapter3. Method for data collection, Tools and QoS metrics

Methodology is a system of broad principles or rules from which specific methods or procedures

may be derived to interpret or solve different problems within the scope of a particular kind of

work. Research methods refer to a number of ways of arriving at the knowledge regarding that

research. This chapter discusses method and technique used in data collection, data analyzing,

result interpretation and the description of the area and the environment of interest i.e. the

National University of Rwanda, it also provides method used to build the system and finally it

present method for enhancing VoIP QoS (Quality of Service) of calls.

3.1 Data collection

In the following paragraphs I describe different process used in gathering information of interest.

3.1.1 Gathered Documents

Library method consists of any reading or printed material they may expand one’s knowledge in

connection, which study being held. Gathering of data provides the researcher with vital

information in the development of the study, books and previously written project provided the

researcher with ideas that were helpful in the development of the propose system. (The

researcher have visited different libraries a have thorough research and also read different

materials that are relevant to the study being conducted.)

This method has been used in order to choose the best-printed materials from those gathered that

would best serve in helping out me in developing the desired system.

3.1.2 Investigation Techniques

To get a better understanding of the requirements and the problem domain, different approach

has been adopted in order to accomplish the target of this project.

3.1.3 Interviews approach

We adopt this technique in order to know the background of NUR campus; this approach

enabled us to know the existing and present problems of NUR telephony system. It has also

helped me as a data collection method; it is a face to face conversation between the interviewer

and the respondent conducted for obtaining information, this method assumes that the respondent

interviewed has the required information . It was done with the NUR PBX manager.

19

We was privileged enough to speak with him. He said that NUR institution is now using Alcatel

PBX in order to establish call between NUR employees. Besides of the non-customization and

high cost of the said system compared to a VoIP system, results are unsatisfying because the said

system cannot offer telephony features like call queuing, call recording, video call, IVR etc. It is

important to say that this system serves only employees whereas students cannot use it.

A collecting data technique used is structured interview (Appendix B-1). To this end, a number

of interviews were conducted at NUR Huye branch in order to get input from some staffs.

3.2 Information of the TrixBox CE open source IP PBX system

TrixBox is a collection of telecommunication utilities and tools compiled together to become an

integrated IP PBX. The major components that make up TrixBox are;

• Asterisk, the core PBX

• Sugar, a CRM system

• A2Billing – Calling Card platform

• Flash Operator Panel, a screen-based operator’s console

• Web Meet Me Control, a meet me conferencing control application

• FreePBX a web-based User Interface tool for TrixBox.

• A report system – the part of freePBX that provides CDR reporting.

• CentOS, a version of Linux (but without the branding and support).

In order to set up a VoIP network based on asterisk 3 main components are required, such as:

TrixBox, the Asterisk powered IP PBX, The phones (or softphones) and have access to a

broadband Internet connection [18].

3.3 Tools

Through the development of this project, the following hardware and software tools have been

used;

3.3.1 Hardware

DELL OPTIPLEX 360 DESKTOP( 1GB RAM)

HP 620 Laptop

Headsets

Switches and Webcams

20

3.3.2 Software

TrixBox 2.6.2.3 based on CentOS Version 5.3 with Kernel 2.6.18-128.1.10.e15

Asterisk 1.4

Various IAX2,SIP Soft phones

E-Drawer Max 4.6

Wireshark

Wireshark is a network analyzing tool; it captures the packets and displays its details, Wireshark

helps to understand what is going on in the network in real time voice call. Some of the features

of Wireshark are captures live packets, displays a detailed protocol information for the packet

captured, can save the data packets captured, can apply packet filters, performs stream analysis,

and finally it captures information like delay, jitter, bandwidth, codec etc for packets [19].

3.4 Quality of Services (QoS)

QoS is the differentiation between types of traffic and types of services so that the different types

of service and traffic can be treated differently. This way, one type can be favored over another.

The primary goal of QoS is to provide priority including dedicated bandwidth, controlled jitter,

and latency, and improve loss characteristics [20]. Real time packets such as voice and video

packets must be prioritized such that they arrive at their destination on time. Before showing how

to improve the performance of the network to insure QoS, it is important to describe the five

fundamentals network problem for VoIP.

Bandwidth is the fundamental requirement that there be enough space in a network path

for all of the packets to get through unimpeded (Not slowed or prevented).

This bandwidth need is symmetric-each end will transmit and receive this amount of

traffic [21].

Packet loss is the amount of packets that does not arrive correctly to their destination.

This is due to insufficient bandwidth or transmission errors [21].

Latency is the time delay between an event occurring on one site and the remote end

seeing it. Latency is introduced both by the encoding/decoding process, and hence

depends on the equipment used, and also by the time it takes packets to traverse the

network. A disruption in the image can cause a bad playing in the destination, but a

21

disruption in the voice is more important since it makes the transmission not

understandable [21].

Jitter Packets from the source will reach the destination with different delays. A packet's

delay varies with its position in the queues of the routers along the path between source

and destination and this position can vary unpredictably. This variation in delay is known

as jitter and can seriously affect the quality of streaming audio and/or video [21].

N.B: Thought this project work we consider that NUR site has enough bandwidth to

accommodate voice and video traffic. While developing, my attention will be focused on

how to minimize packet loss, delay and jitter in VoIP traffic.

3.4.1 QoS requirements for Voice application

VoIP deployments require the provisioning of explicit priority servicing for VoIP (bearer stream)

traffic and a guaranteed bandwidth service for Call-Signaling traffic. Recommendations for voice

Loss should be no more than 1 percent, one-way latency (mouth to ear) should be no more than

150 ms., average one-way jitter should be targeted at less than 30 ms and a range of 21 to 320

kbps of guaranteed priority bandwidth is required per call (depending on the sampling rate, the

VoIP codec, and Layer 2 media overhead). Voice quality directly is affected by all three QoS

quality factors: loss, latency, and jitter [22].

3.4.2 QoS Requirements of Video application

Two main types of video traffic exist: Interactive-Video (videoconferencing) and Streaming-

Video (both unicast and multicast). We focused on interactive video.

When provisioning for Interactive-Video (video conferencing) traffic, the following guidelines

are recommended, Loss should be no more than 1 percent, One-way latency should be no more

than 150 ms, Jitter should be no more than 30 ms and Assign Interactive-Video to either a

preferential queue or a second priority queue (when supported); when using Cisco IOS LLQ,

overprovision the minimum-priority bandwidth guarantee to the size of the videoconferencing

session plus 20 percent. For example, a 384-kbps videoconferencing session requires 460 kbps of

guaranteed priority bandwidth [23].

22

3.5 Estimation of QoS of VoIP

Appendix B-6 presents details about calculations of Bandwidth for G.711, the average latency ,

jitter and packet loss [24-26] using formulas. Wireshark have been used to determine those

metrics.

According to [27] many methods have been proposed by standardization forum in order to

evaluate the perceived voice quality. The most important ones are the following; Mean Opinion

Score (MOS), Perceptual Evaluation of Speech Quality (PESQ), Perceptual Speech Quality

Measurement (PSQM) and perceptual Analysis Measurement System (PAMS). MOS use

different listeners to evaluate the Distortions of the perceived voice samples. The score are

averaged to MOS value. PSQM assesses the Voice quality by comparing the perceived voice

samples against the encoding voice samples. PAMS conducts quality evaluation by employing

an auditory model. PESQ combine PAMS and PSQM techniques to generate a voice quality

score on a scare between 0.5 and 4.5. There are major drawbacks associated to the

aforementioned quality evaluation methods such as;

They are not suitable for planning and engineering, from a VoIP provider perspective.

They require a large number of heterogeneous listeners (end users) to evaluate the

perceived voice distortions.

They are receiver oriented, the quality evaluation is mainly determined at the receiver’s

end only.

To fight for the above drawbacks two models have been developed; E model for voice quality

evaluation and Gap model for video quality evaluation.

3.5.1 E-model and Gap model description

The E-model has been defined in the ITU-T G.107 [28]. It is a method for estimating the

perceived voice quality. It combines several impairment factors, caused by transmission

parameters, into a rating R and can be expressed, as the sum of four terms:

R=100 – Is - Id - Ief + A (3.1)

Is: refers to the signal to noise impairments associated with the transmission path.

Id : is the mouth to ear delay of the transmission path.

23

Ief :is an equipment impairment factor associated with losses and the voice codecs,

A ; refers to the expectation factor.

Figure 3.1 illustrates how different VoIP parameters (codec type, packet loss, delay jitter) affect

the calculation of the R-factor.

Figure 3.1 The factors of the computation of the E-model and the R-factor [27]

The advantages of the E-model are the following:

There is no need to use the original encoded samples that are transported over the

network.

It is not necessary to use a large number of end-users with diverse characteristics.

To calculate Ief for G.711 the following formula has been proposed [28]

Ief (G.711) =30*ln (1+15*e)*H (0.04-e) +19*ln (1+70*e)*H (e-0.04) [28] (3.2)

e is the total loss probability in the path between the sender and the receiver.

According to [29] the R-factor is calculated as follows:

R=93.2 – 0.024*d + 0.11* (d-117.3) * H (d-177.3) - Ief (3.3)

Where:

d: is the one-way transmission delay between the transmitter and the receiver.

H(x): is the step function, with H(x) =

(3.4)

To calculate e and d in order to find the value of R-factor Wireshark software will be used.

24

Finally the value for R-factor found should be mapped to MOS values.

Formula 3.5 will be used to perform the stated conversion;

MOS=1+0.035R+7*10-6

*R*(R-60)*(100-R) [29] (3.5)

Appendix B-3 is a table describing the mapping of R factor values to MOS values as stated by

ITU-T.

3.5.2 Gap model

To estimate video calls Quality of Experience(QoE) affected by network conditions, the most

widely adopted technique is the PSNR-mapped-to-MOS technique which is offline in nature, it is

developed to-date estimate VVoIP QoE by performing frame-to-frame Peak-Signal-to-Noise

Ratio (PSNR) comparisons of the original video sequence and the reconstructed video sequence

obtained from the sender-side and receiver-side, respectively. In fact PSNR is the measure of

fidelity (how close a received signal is similar to an original one), but its measures consider only

the luminance components [30].

PSNR for a set of video signal frames is given by Equation:

[30] (3.6)

Where, signal Vpeak = 2k - 1; k = number of bits per pixel (luminance component).

RMSE is the mean square error of the Nth column and N

th row of sent and received video signal

frame n.

RMSE= (MSE) 1/2

Express MSE mathematically from the description in Step 1. We therefore have MSE = 1/mn

[ΣΣ (I(i,j) - K(i,j))^2] where I and K are matrices that represent the images being compared. The

two summations are performed for the dimensions "i" and "j." Therefore I(i,j) represents the

value of pixel (i,j) of image I [31].

25

Chapter4. Design and Test of NUR VoIP System

This chapter provides a description of how a VoIP system based on Asterisk will be established

in NUR campus. Asterisk is a kind of open source software to implement IP-PBX system and

supports various necessary protocols to realize the VoIP system such as SIP and H.323. First it

deals with the planning of NUR dialplan, this is followed by the deploying of TrixBox server,

third the TrixBox configurations, and then the determination of QoS metrics and verification of

VoIP requirement if are well established in NUR network and finally the testing of the system.

4.1 Planning NUR dialplan prototype

A poorly designed system will cause numerous changes after the system has be delivered and

running. This is why during the development of this system; the planning stage has been given

much time and serious attention. The developed system comprises some telephony features.

Others features will be developed in later work, these are instant messaging, voicemail-email

notification and A 2Billing card.

4.1.1 Units of NUR

Currently, NUR is a large university offering 39 undergraduate programs and 24 postgraduate

programs with more than 12,000 students. For more detail see [31].

4.1.1.1 NUR Offices and Faculties

The Office of the Rector comprises the following:

The University organs secretariat (University Council, Academic Senate and the

Coordination Committee)

The Directorate of Development and Planning

The Public relations

Internal auditor

Office of the Vice Rector for Academic Affairs: This office controls the following units:

Academic Affairs and Registration

Faculties and schools

26

Note that NUR has 2 schools and 7 faculties which are: School for Foundation Language Skills

School of Public Health, Faculty of Economics and Management, Faculty of Science, Faculty of

Law, Faculty of Applied Sciences, The Faculty of Arts, Media and Social Sciences, Faculty of

Agriculture, and the Faculty of Medicine.

Centers and Other units

Office of the Vice Rector for Administration and Finance: It has the following units:

Production Unit and Finance Unit

Administration and Human Resources Unit and Student Services Unit

The VoIP server will be situated (located) at NUR ICT server room. End users use IP phones,

analogue phones with ATAs and finally installation of softphones on different computers

(desktop and laptops) will be performed in order to make call by using computers. Linux and

Windows users will enjoy telephony features offered by this system.

4.1.2 Dial plan

Dial plan is Asterisk’s heart. It defines how Asterisk handles each and every call to the PBX. It

consists of extensions that make an instruction list for Asterisk to follow. This means that in

order to deliver VoIP calls to all clients at minimum each client requires one extension. The

length of those extensions will be selected according to number of stuffs in different departments

and to the number of students in different faculties. To predict about the glow of NUR institution

I have make an assumption “what I believe to use and double it” this means that where I found

that the 20 employees in departments I have to predict that in future the system will support

approximately 40 users in the concerned department.

4.1.2.1 Number of users per department and their extension groups

While planning for extensions, avoid using extensions that begin with any of the numbers I may

use in my IVR menus to reduce the unwelcome delays while the system is trying to figure out if

it needs to go to a menu or an extension. The table in Appendix C presents a sample of users per

department and their extension groups. Pattern matching notation has been used to simplify the

work of writing extensions for large institution. Different extension group has been assigned to

different faculties according their users.

27

4.1.3 VoIP features to offer

This section describes VoIP features to be configured in order to deliver a system with advanced

telephony features. I will give details on voice and video calls, Voicemail, Follow me, Ring

group, call parking and transfer, IVR, conferencing and call queues.

4.1.3.1 Voice, Video calls and Voicemail

The basic feature that a telephony system should provide is to permit clients (users) to make calls

between them. Through this project we configured video calls to be associated to voice calls. All

students and stuffs are allowed to make voice and video calls using this system. Coming sections

present how extensions will be assigned to clients.

Each extension will be associated to a mailbox, such that if the extension is dialed and it is busy

or unavailable, the caller will have a possibility to leave his message to mailbox of the callee.

4.1.3.2 Follow me

Follow me is an application that permit this system to forward a call to another extension if the

callee doesn’t pick up her/his phone. Suppose that the callee has two phones one in his office and

another in his mobile phone, application like follow me can be configured to forward call to the

mobile of the callee if his phone in the office didn’t be answered.

Follow me has been configured to allow direct calling of other extensions; planning in table 4.1.

Extensions in offices of Deans, Vice Deans, Head of Department (HOD) and offices of Directors

will be assigned to a follow me applications in other to forward calls to secretary’s offices if the

callee didn’t pick up the phone. Adopted strategy is “hunt”.

Table 4.1 Follow me planning

Chef’s office Rector VRAC Register VRAF Masters Program FAS

Secretary’s office 1002 1012 1032 1022 1042 1032

4.1.3.3 Ring group

A ring group is a group of extensions that can all be made to ring at the same time when a single

extension is called. This can be a useful feature within an organization as it allows the nearest

available user to answer the phone. Ring groups can be configured as 'ring all’, or 'hunt' when

28

configured as ring all the incoming call will ring at each extension simultaneously, whereas a

hunt group will try ringing each extension individually.

Table 4.2 presents record of important information relating to the settings of ring groups.

Table 4.2 Ring group planning

Group Name Group

#

Ring

Strategy

Announcement CID

Prefix

N/A

Destination

Members

Financial 789 Ring-all Fntal_group FNCL 1055 1052,1053,1054

Maintenance 345 Ring-all Mtnce_group MTNCE 2000 2001,2002,2003

Helpdesk 234 Ring-all ICT_helpdesk ICT 1095 1011,1012,1013,1014

4.1.3.4 Call queuing

Call Queuing is a sophisticated queuing system that allows to a unit to accept more calls into its

telephone system than its extensions or employees capable of answering them. It permits to deal

efficiently with calling peaks without losing valued customer’s calls. With Call Queuing, instead

of getting an engaged tone your customers are answered automatically and held in a queue.

While they are waiting for an agent they receive personal messages about how many calls are in

front of them followed by music while they are waiting. Planning is in table 4.3.

In this project call queuing feature has been configured to support calls of NUR ICT center, if

extension 200 is dialed call will be directed to NUR ICT center. Helpdesk agents will be able to

answer calls which will be directed to them. Table 4.3 presents important details in order to setup

this technology.

Table 4.3 Call center settings

Queue

Name

Queue

#

Password Announcement On-Hold

Music

Category

Ring

Strategy

Static Agents

ICT 200 Xxxxxx Welcome to

NURICT center

Inherit Ring all 1011,1012,1013

1014,1015

This technology will be useful while it will reduce time spent while moving to the ICT to ask

solutions for students and stuffs problems. For a cooperative ICT queue greet with this

29

message;“Welcome to NUR ICT center, we will deal with your inquiry later we experiencing a

high volume of calls, thanks for using this service”

4.1.3.5 Call parking and Transfer

This feature allows a call to be parked at a specific parking number for retrieval from any

extension. Allows a person to put a call on hold at one telephone and continue the conversation

from any other telephone.

4.1.3.6 Interactive Voice Response (IVR)

Interactive voice response (IVR) is a technology that allows a computer to interact with humans

through the use of voice and DTMF keypad inputs. In telecommunications, IVR allows

customers to interact with a company’s database via a telephone keypad or by speech

recognition, after which they can service their own inquiries by following the IVR dialogue. IVR

systems can respond with prerecorded or dynamically generated audio to further direct users on

how to proceed. The IVR system in this project was configured to support calls that are directed

to extensions 765, details on Figure 4.7; which is an extension that will be dialed when a client

want joint different NUR offices, units and centers.

4.1.3.7 Conferencing

Conferencing is an application that allows the conversation of many extensions at the same by

using the same conferencing room. A conference call is a telephone call in which the calling

party wishes to have more than one called party list in to the audio portion of the call. The

conference calls may be designed to allow the called party to participate during the call, or the

call may be set up so that the called party merely listens into the call and cannot speak. Through

this project a NUR VoIP conferencing room has been configured and tested. Table 4.4 presents

important details to configure a conferencing room.

Table 4.4 Conference room settings

Name Conferencing

room #

Announcement Password

The senate 500 Senate conferencing room Xxx

The Executive councils 256 Executive conferencing room Xxx

30

4.2 Setup of TrixBox Server

4.2.1 Hardware requirements

For a prototype system of a small organization a computer of 512 MB of RAM, 20 GB of Hard

drive is suffices. The system will need to be able to boot from a DVD-ROM drive. A keyboard

and a monitor are only required during the initial setup. To design a system of a large institution,

minimum requirements will not suffice. A large institution server should consist of at least a 2.0

GHz Duo processor with 2 GB RAM and more than 100 GB hard drive. Details about used

hardware have been presented in section 3.3.1.

4.2.2 Installation of TrixBox System

First step is to download the TrixBox image, and burn it to disc. TrixBox is essentially the

Asterisk software PBX packaged with Linux in an easy-to-installation CD-ROM. Once having

computer configured to boot form the CD, I pop the burnt CD into the machine that will acts as

my PBX and then turned it on. After a few seconds, the screen presented in Appendix D-1 is

displayed. Then press [Enter] to start the installation.

After initial system detection, the system will asked to select the type of keyboard that

I will use, and then it asked to select my Time Zone, next the system asked me to enter my

password. After entering and confirming my password, installation has been commenced by first

formatting the Hard Disk/s. From this point it will take about 30-45 minutes for the installation

to be complete and ready for the configuration stage. When Linux has been loaded the CD the

system reject the CD, I reboot it and the system has been completely installed.

Figure 4.1TrixBox initial Admin web

31

4.3 Configuring the VoIP Server

TrixBox is configured via a Graphical User Interface (GUI), to access it just I opened my web

browser and browse the following URL:http://192.168.4.254 this one is the IP of the NUR VoIP

server prototype. TrixBox initial Admin web login screen is then presented, Figure 4.1 displays

how it looks like; my username and my password are required in order to access the

configuration mode of the VoIP server. Then the system will present its initial settings including

server status, network usage, memory usage, system uptime and the trixbox status, Figure 4.2

illustrates these settings;

Figure 4.2 TrixBox initial settings

By default the server is enabled to DHCP settings or a server requires a static IP address, this is

why I set the network card (eth0) to static mode as shown below;

Figure 4.3 Network configuration interface

4.3.1 Configuring Extensions and Voicemails

Through this project we proposed that each extension be associated to its voicemail, such that if

it is dialed when busy, it will be transferred to the corresponding voicemail. Configuring

32

extensions of a large institution with more clients is big deal if you are just writing details of

each extension at the extension GUI. To solve this problem Bulk Extensions module has been

installed to permit me to download a file in CSV (Comma Separated Values) the one we use to

expand all extensions that will be used in dialplan. From the PBX menu I select the PBX settings

and the following interface is opened. Then choose the SIP technology and then submit it. The

configuration format of an extension and voicemail are presented in Appendix A-1. The Figure

4.4 is a snippet of a SIP device entry.

Figure 4.4 Adding extensions to PBX

From the Bulk Extensions menu, I downloaded the format of extension and voicemail

configuration. This is a CSV file, it can be opened and task like add, edit and delete (del) can be

performed on it to add/edit extensions or delete them. Then the CSV file can open/import/export

the new file to the server.

The figure 4.5 displays a list of created extensions.

Figure 4.5 Created extensions saved in .CSV file

From this guide it is possible to setup the rest of extensions by using tools that are included in the

spreadsheet. Figure 4.6 shows how the uploading of a CSV file to the server is performed.

For fields which are common for all users, it is possible to select and drop, by the way in case of

Excel, as you drag and drop it will increment the number (extensions in our case).

33

Figure 4.6 Uploading the CSV file

After edit the file, use the Bulk Extensions menu to choose it from other files and load the file to

the server.

To configure video call we need to edit Asterisk configuration file especially

sip_additional.conf, I add in, the following lines of code;

[general]

Videosupport= yes

And then for each extensions configured in this file I add these lines of codes to be used as video

codecs;

allow=h263; H.263 is our video codec

allow=h263p; H.263p is the enhanced video codec.

4.3.2 Configure ring group application

Used to ring multiple extensions at the same time, it was configured to support calls that are

directed to specific units and each member of the unit can pick up the phone. Details see

Appendix A-2.

34

4.3.3 Configure Follow me application

As stated above follow me application is used to allow multiple extensions associated to many

phones be associated to a single extensions or person. This module actually creates a personal

ring group for the selected extension as well as allows us to play an announcement to the callers

letting them know that the system is trying to locate the person called. Configurations are

presented in entries table see Appendix A-3. Follow me applications has been configured to

support calls that will be directed to Deans, directors of schools/units and HOD, if these call are

not answered it will then be forwarded to their secretary.

Figure 4.7 NUR IVR system architecture

35

4.3.4 Configure queuing

Queues give us a logical place to put callers until we are ready to answer the calls. Queues are a

very flexible and powerful tool to improve customer service, and better utilize our personnel. In

this project I configured NUR ICT center to work as a call center for NUR. Helpdesks in ICT

will work as agents ready to answers calls from different NUR staffs and students. The system

should provide announcement to callers and their positions in the queue. See configuration in

Appendix A-4. Figure 4.7 present a flow chart that describes how ICT call center will be

reached.

4.3.5 Conference Rooms

Figure 4.8 Conference room settings

Department conferencing rooms have been created; Figure 4.8 describes how the system is

configured to provide different services.

4.4 Testing of NUR VoIP System

In this section we present ways in which testing of the deployed VoIP server has been conducted.

The architecture presented on Figure 4.7 is the NUR IVR system. Customers should dial 765 in

order to get through different NUR offices. It present a path to reach to NUR conferencing

rooms, NUR ICT call center, registrar office and how to get through the applied science faculty.

This is a prototype system means that it will be completed as customers will appreciate it. IVRs

have been used to direct users to the departments they need to visit.

36

When the call is directed to the FAS faculty it will be directed to the secretary of the faculty, this

one will perform a call parking and transfer according to the choice of the caller. The same

system will be implemented to support call that will be directed to other faculty. The IVR also

should provide options in which customer will choose in order to join conferencing room.

When calls are directed to NUR ICT call center, agents will take care of these callers. And when

all agents are all occupied, callers will be held in queue.

The system should provide music on hold and announce the position to customers which are held

in queue. Figure 4.9 is a sample showing how customers (users) will be disposed in order to

make calls to each others. Softphones on PCs and laptops will send registration request to the

VoIP server, such that they can be registered and used while making calls.

Figure 4.9 Sample of NUR network architecture

Figure 4.10 Client <Aheza>1100 calling1005

37

The system has been configured to provide video calls; Figure 4.11 shows client’s softphone

called by <Abdul>1105. The caller video is not good displayed because of the resolution of his

webcam.

Figure 4.11 Abdul is answered

4.5 Verification of VoIP metrics

The verification of VoIP metrics consist of determining if VoIP requirement has been

established. Wireshark tool has been used in order to find the values associated to the jitter, delay

and packet loss. The values of these parameters have been used to determine the values of MOS

for Voice and Video calls. Remember that MOS is evaluated between 0(not recommended) and 5

(excellent) signal qualities.

We use Wireshark to capture RTP packet that are crossing the network in order to be analyzed.

The filtering option on Wireshark permits me to isolate SIP and RTP packets so that they can be

represented graphically. Figure 4.13 displays filtered packets (RTP).

38

Figure 4.12 Wireshark screenshot when RTP packets are filtered

The filtered packet will be analyzed by using a utility that Wireshark provide. Open Wireshark

1.6.1, filter interface which you are using to transmit communications then filter the RTP

protocol. To analyze RTP stream click to Telephony menuRTPstream analysis. The opened

table has been provide to me number of sequence of packets, jitter, delay (Delta), packet loss, IP

bandwidth per packet. And finally it provides the maximum delay, packet loss percentage and

the maximum and mean jitter; their values are presented in Appendix B-4. The following figures

display jitter Vs packet sequence and delay Vs packet sequence.

Figure 4.13Delay and jitter Vs packet sequence when only voice is transmitted

During voice call the maximum latency is 21.5 ms and maximum jitter is 0.72ms while in video

calls maximum delay 31ms and maximum jitter is 1.83 ms.

39

Figure 4.14 Delay and jitter Vs packet sequence when voice&video are transmitted

Table 4.5 presents result of analysis of RTP packet, MOS values shows that NUR network can

support VoIP communication. Jitter, latency and packet loss meet the ITU-T recommendations.

Table 4.5 Summary of QoS tests

Call

attempts

Jitter(ms) Latency(ms) Packets

loss (%)

R-factor PSRN MOS

4 audio

calls

0.122 19.9 0 92.7 -------- 4.399

3conference

audio calls

0.358 24.34 0 91.4 -------- 4.29

6 video

calls

0.144 20.938 0 92.2 34 4.309

The results in table 4.5 have been obtained using QoS formulas presented in section 3.6.

4.6 Maintenance

Figure 4.15 displays FOP which is an admin GUI used to monitor the VoIP server; in this

screenshot it shows that they are 7 online customers and 11 offline. It shows that there are 2

queues; one belongs to ICT center and the other to CIT. In it there is also a way to control

conferencing rooms. The FOP also gives details of how many parking lots are available.

40

Figure 4.15 Flash Operator Panel

Figure 4.16 Call statistics

Figure 4.16 displays call statistics, date of calls, durations of calls, and number of calls and

finally the total number of calls and total duration of all calls.

4.6.1 Create a SIP Trunk

Making and receiving calls between internal extensions is one thing, but a telephony installation

isn’t really an installation if you can’t receive and make calls to the outside worlds. To be able to

do these, you will need at least one trunk to the outside world.

A trunk is the telephony service line that you will be using to make an external call on, If you

have paid for VOIP service to enabled you to make calls out through PSTN, you can use this as a

41

trunk for that purpose otherwise, you can only use it for making calls using VOIP between

subscribers of the VSP only. It is possible to have several trunks. To make external, PSTN or

VoIP calls; you must have at least one trunk.

A properly planned route will direct the phone calls you make to the appropriate trunk that will

provide you with maximum effectiveness and savings. To create a new trunk using TrixBox,

open TrixBox admin mode then select Setup tab and then select the Trunks option from the

vertical menu on the left.

For this example, let’s create 1 SIP trunks; MTN. More details see Appendix A-6.

4.6.2 Security Issues

Security issues must be taken into consideration, while you are planning to deploy a system for a

large institution.

4.6.2.1 Change user maint password and root default password

In order to grant confidentiality and authentication to the server configuration files trixbox

default maint (admin) password and root passwords must be changed from default to the ones the

admin prefers.

4.6.2.2 Avoiding SIP authentication requests from all IP addresses

This is done by using the “permit=” and “deny=” lines in sip.conf to only allow a reasonable

subset of IP addresses to reach each listed extension/user in the sip.conf file. Even if accepting

inbound calls from “anywhere” (via [default]) don’t let those users reach authenticated elements!

4.6.2.3 Physical security

All terminating equipment (such as switches, routers, and the PBX itself) should be secured in an

environment that can only be accessed by authorized persons.

42

Chapter5. Conclusion and Recommendations

5.1 Conclusion

The objective of this project was to provide a VoIP system that the NUR campus can use to

interconnect its users (student and stuffs). The provided system is based on Asterisk; Asterisk

was created in 1999 by Mark Spencer of Digium. Like any PBX, it allows attached telephones

(hard phones & softphones) to make calls to one another, and to connect to other telephone

services including the public switched telephone network [2] and permit to deliver other VoIP

services like voicemail, video calls, queuing, call parking& transfer and conferencing call.

To verify that the service that the system is offering are appreciated by customers and that the

meet ITU-T requirements, QoS metrics calculation and verification test has been conducted.

From these tests I fund, NUR VoIP system can be established without network problems.

Different telephony features has been configured while developing the projects. The system is

capable of delivering Voice and Video calls, Voicemail, follow me, ring groups, call parking&

transfer, queuing, IVR and finally conferencing rooms has been created and configured.

The tested system provides to the administrator a way of configuring the system at any end point

(PC) on NUR network using TrixBox GUI.

5.2 Recommendation

After research that has been conducted on NUR IP network, the following recommendations

have been suggested;

Implement a VoIP server which will work on NUR IP network, to support the call

establishment and provide different telephony features like voicemail, conferencing and

queuing system.

Rwandan institutions and enterprises in general, should implement the VoIP system since

it is cost effective and can interoperate with their existing PBX systems.

43

References

[1] Lawrence Harte,’’ Introduction to IP Telephony’’, ALTHOS Publishing, 2003

[2] http://en.wikipedia.org/wiki/Asterisk_%28PBX%29 PSTN / consulted on 15th .7.2011

[3] GIRANEZATheogene and KABERA James “Design, Implementation and Evaluation of a

SIP based V2oIP over NUR IP network”, approved in 2008

[4] UWASE Charlotte & Uwase Marie Paule “Study of Voice over Internet Protocol conducted

on the Internet network of the National University of Rwanda”, approved 2005

[5] Barrie Dempster and Kerry Garrison, “TrixBox Made Easy”, September 2006

[6] http://en.wikipedia.org/wiki/Private_branch_exchange#Private_branch_exchange / consulted

on 17.7.2011

[7] http://examples.oreilly.com/9780596009625/openbook/ch07.pdf / consulted on

20th .7.2011

[8] Peter Dely, “Adaptive Aggregation of Voice over IP in Wireless Mesh Networks”, Karlstad

University. Approved, 2007-06-07

[9] Butt Muhammad Faisal Nazir” Performance Analysis of Asterisk VoIP Server with Static

and Real-Time Database Call Processing” page 28, 2006

[10] http://en.wikipedia.org/wiki/Session_Initiation_Protocol / consulted on 10th .8.2011

[11] Jan Janak “SIP Introduction”, FhG FOKUS, 2003

[12] Jim Van Meggelen, Leif Madsen, and Jared Smith,” Asterisk: The Future of Telephony”,

Second Edition, August 2007

[13] Paul Mahler, “VoIP Telephony with Asterisk”, ISBN- 09759992-0-6, The Asterisk

handbook version2

[14] http://en.wikipedia.org/wiki/FreePBX consulted on 10th

.8.2011

[15] http://www.3cx.com / consulted on 15th August, 2011

[16] http://en.wikipedia.org/wiki/Elastix consulted on 15th .8.2011

[17] Ben Sharif,” TRIXBOX without Tears”, June 1, 2006

[18] Ben Sharif,”Trixbix2-Without Tears”, Version 2, 1, January, 2007

[19] http://www.ethereal.com / consulted on 2th .9.2011

44

[20] http://voip.about.com/od/voipbasics/a/qos.htm / consulted on 2th .9.2011

[21] http://en.wikipedia.org/wiki/Quality_of_service / consulted on 2th .9.2011

[22] http://www.ciscopress.com/articles/article.asp?p=357102 consulted on 3th .9.2011

[23] http://www.ciscopress.com/articles/article.asp?p=357102&seqNum=2 4th .9.2011

[24] Flavio E. Goncalves “Asterisk PBX configuration guide”, V.Office Networks Ltda.,

November 2006

[25] https://bto.bluecoat.com/packetguide/8.2/nav/tasks/measurement/voip-metrics.htm]

4th .9.2011

[26] http://toncar.cz/Tutorials/VoIP/VoIP_Basics_Jitter.html 6th

.9.2011

[27] Fotios K. Liotopoulos, Tasos Dagiuklas and Voula Karypidou”VoRTTeX: Evaluation of the

perceived VoIP QoS by a third-party, using the E-model”

[28] ITU-T Rec. G.107. The E-Model,” A Computational Model for Use in Transmission

Planning.” 1998.

[29] ITU-T Recommendation G.108,’’Application of the E model: A planning guide”,

September 1998.

[30] Prasad Calyam, Eylem Ekici, Chang-Gun Lee, Mark Haffner and Nathan HowesA “GAP-

Model” based Framework for Online VVoIP QoE Measurement, 1229-2370/03/$10.00, 2007

[31] http://www.nur.ac.rw/spip.php?article4 /consulted on 2th .9.2011

45

Appendix

A-1 Add SIP Extensions

46

A-2 Ring Group configuration

47

A-3 Set up Follow Me

48

A-4 Adding Queue

49

A-5 Parking Lot Configuration

50

A-6 Add SIP Trunk

Then submit change

51

Appendix B

B-1 Questionnaire

Section A: telephony and networking

1. Which type of PBX is used in order to establish telephone calls in NUR?

2. Which type of features this analog PBX is offering to client?

3. Who is your telephony call provider?

4. How much do you pay per mouth on telephone calls?

5. NUR has internet connection, how is your ISP?

6. What is the bandwidth of NUR internet connection?

7. How many computers are in NUR (main branch)?

8. How many of NUR students have got their own computers registered?

9. What is your dial plan?

10. Do think that internet telephony can help you?

Section B: NUR internal organization

1. How many clients this analog PBX is serving?

2. How many offices and departments are in NUR institution?

3. How many students are in NUR (Huye branch)?

4. How many staffs do you have here?

B-2 VoIP codecs comparison

Codec g.711 g.729A(20 ms) iLBC

(30 ms)

GSM 06.10

RTE/LTP

Bandwidth(Kbps) 64 8 13.33 13

Costs Free US$10.0per channel) Free Free

Resistance to Frame

Erasure

No mechanism 3% 5% 3%

Complexity MIPS ~0.35 ~13 ~18 l~5

52

Note that Resistance to packet loss refers to the rate when MOS is next to 0.5 worst from peak

quality for the specific codec and Complexity refers to quantities in millions of instructions per

second spent to code and decode the codec.

B-3 Mapping R-factor values to MOS values

User Satisfaction Level MOS R-Factor

Maximum using G.711 4.4 93

Very satisfied 4.3-5.0 90-100

Satisfied 4.0-4.3 80-90

Some users dissatisfied 3.6-4.0 70-80

Many users dissatisfied 3.1-3.6 60-70

Nearly all users dissatisfied 2.6-3.1 50-60

Not recommended 1.0-2.6 Less than 50

B-4 RTP stream Analysis

53

B-5 SIP Method

SIP Method Description

INVITE Invites a user to a call

ACK Used to facilitate reliable message exchange for INVITEs

BYE Terminates a connection between users or declines a call

CANCEL Terminates a request, or search, for a user

OPTION Solicits information about a server's capabilities

REGISTER Registers a user's current location

INFO Used for mid-session signaling

SUBSCRIBE Subscribe to notifications

NOTIFY To get notification within a dialog

B-6 SIP Responses

Class Description Action

1xx Informational Indicates status of call prior to completion. If first informational

or provisional response.

2xx Success Request has succeeded. If for an INVITE, ACK should be sent;

otherwise, stop retransmissions of request.

3xx Redirection Server has returned possible locations. The client should retry

request at another server.

4xx Client Error The request has failed due to an error by the client. The client

may retry the request if reformulated according to response.

5xx Server Error The request has failed due to an error by the server. The request

may be retried at another server.

6xx Global Failure The request has failed. The request should not be tried again at

this or other servers.

54

B-6 Call quality metrics calculation

1. Bandwidth calculation (G.711)[24]: The amount of bandwidth required to carry voice

over an IP network is dependent upon a number of factors. Among the most important

are; codec (coder/decoder) and sample period (20 ms), IP header (40 octets per

packet), transmission medium (Ethernet) and the silence suppression.

Bandwidth required for G.711 codec is (160 + 40 + 38) x 50 x 8 = 95,200 kbps.

Thus the total bandwidth required to carry X calls is = X calls * bandwidth/per call

Where 95.2 Kbps is the bandwidth required to carry one call.

2. Average Latency (milliseconds)[25]: The header of the synthetic RTP packet contains a

timestamp, sequence number, and unit ID information which are used to measure the

round-trip time between the two PacketShapers.

Formula: rtp-latency-sum / rtp-latency-count.

3. Jitter calculation: According to the ITU-recommendation in RFC 3550 the formula for

estimating jitter is as follows [26]

J(i) = J(i-1) + ( |D(i-1,i)| - J(i-1) )/16

The estimator computes jitter iteratively. To estimate the jitter J(i) after we receive an i-th

packet, we calculate the change of inter-arrival time, divide it by 16 to reduce noise, and add it to

the previous jitter value. The division by 16 helps to reduce the influence of large random

changes. A change of the inter-arrival time needs to repeat several times to influence the jitter

estimate significantly . In the jitter estimator formula, the value D(i-1, i) is the difference of

relative transit times for the two packets. The difference is computed as

D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si)

Si is the timestamp from the packet i and Ri is the time of arrival for packet i.

4. Packet Loss (%) calculation: Calculation of packet loss (that is, expected packets that

are not received) is performed per RFC 3550 using RTP header sequence numbers.

Formula: 100 x (1- packets seen / packets expected), where packets expected = highest RTP

sequence number - lowest RTP sequence number +1.

55

Appendix C

NUR staff / student extensions allocation (X varies from 0 to 9)

Offices Number of Users Assigned Extension Group

Rector’s offices 6 100X

VRAC 5 101X

VRAF 6 102X

Registrar office 7 103X

Dean of students 6 104X

Finance 3 105X

Management 3 106X

Personnel 4 107X

Production 5 108X

ICT 6 109X

Library 6 110X

Public Relation 1 111X

FEM(Staff) 5 112X

FAS(Staff) 5 113X

ICT Masters program(Staff) 2 114X

FAMSS (Staff) 5 115X

School of Public Health 300 2XXX

Faculty of Economics and

Management

1000 3XXX

Faculty of Science 600 4XXX

Faculty of Law 800 5XXX

Faculty of Applied Sciences 850 6XXX

The Faculty of Arts, Media

and Social Sciences

950 7XXX -7777

Faculty of Agriculture 900 8XXX

Faculty of Medicine 650 9XXX

56

D-1 Installation


Recommended