Study of Next Generation Networks (NGN) Using simulation modeling
Report submitted in partial fulfillment of the requirement for the degree of
B.Sc In
Electrical and Electronic Engineering
Supervisor: Dr. Iman Abuel Maaly By
Rifga Mokhier Altaher
Department of Electrical and Electronic Engineering University of Khartoum
June 2007
Dedication
I dedicate my project
With my all love
Endless thanks
Best wishes to
My parents for the great trust they have
put upon me.
My sisters and brother, who supported
and encouraged me.
My partner, Enas, for doing it with me
hand by hand, step by step
My supervisor, Dr. Iman Abuel Maaly who
guided me the way to do such a project
i
Acknowledgement
I would like to thank my supervisor,
Doctor Iman Abuel Maaly for her patience,
understanding and support. I would also
like to thank the engineers at Canar Telecom
Company and everyone who have
encouraged me to finally finish my thesis.
Finally, I’m deeply grateful to all the staff
of electrical and electronic engineering
department.
ii
TABLE OF CONTENS Dedication………………………………………………………………..i
Acknowledgement…………………………………………………….…ii
Table of contents………………………………………………………...iii
List of figures……………………………………………………………vi
List of tables…………………………………………………………….vii
Abstract………………………………………………………………….viii
Chapter 1
1. Introduction…………………………………………………………….1
1.1 introduction ………………………………………………………...2
1.2 Definition…………………………………………………………...2
1.3 problem statement…………………………………………………..4
1.4 Objectives…………………………………………………………..4
1.5 Methodology………………………………………………………..4
1.6 Thesis outline……………………………………………………....5
Chapter 2
2. NGN basic concepts…………………………………………………...6
2.1 Introduction………………………………………………………...7
2.2 Migration to NGN………………………………………………….7
2.2.1 Wait & See…………………………………………………….7
2.2.2 Internet offload………………………………………………...7
2.2.3 Voice over broadband………………………………………….8
2.2.4 Replace transit switches………………………………………..8
2.3 The Softswitch……………………………………………………...8
2.3.1 Definition……………………………………………………....8
2.3.2 The Softswitch concept………………………………………...9
2.4 NGN characteristics……………………………………………….10
2.5 conclusion…………………………………………………………11
Chapter 3
3. NGN architecture……………………………………………………...12
3.1 NGN layers………………………………………………………...13
3.2 Edge Access Layer………………………………………………...13
3.2.1 Integrated Access Device …………………………………….14
3.2.2 Media Gateways (MGs)………………………………………14
iii
3.2.2.1 Media Gateways Characteristics……….……………………14
3.2.2.2 Types of Media Gateways…………..………..……………..15
1. Access Media Gateway (AMG)…………………………...15
2. Trunk Media Gateway (TMG)……………………………..15
3. Signaling Media Gateway (SG)…………………………....15
4. Universal media gateway (UMG)………………………….16
3.3 Core Switching Layer……………………………………………....16
3.4 Network Control Layer…………………………………………......17
3.5 Service Management Layer……………………………………........18
3.5.1 Integrated Operation Support System (IOSS)……………...…..18
3.5.2 Policy server………………………………………………...….18
3.5.3 Application Server……………………………………………...18
3.5.4 Location Server…………………………………………………19
3.5.5 Media Resource Server…………………………………………19
3.5.6 Service Control Point…………………………………………...19
3.6 Conclusion…………………………………………………………..20
Chapter 4
4. VoIP Implementation in NGN………………………………………….21
4.1 Introduction……………………………………………………...…..22
4.2 Problem definition and decomposition………………………………22
4.2.1 The Scenarios…………………………………………………….22
4.2.1.1 PC to PC phase………………………………………….…..23
4.2.1.2 PC to PHONE phase………………………………………...23
4.2.1.3 PHONE to PHONE phase…………………………………..24
4.2.2 Signaling Architecture…………………………………………...24
4.3 Session Initiation protocol (SIP)……………………………………..25
4.3.1 Definition………………………………………………………..25
4.3.2 Comparison between SIP & H.323……………………………...25
4.3.3 SIP architecture………………………………………………….26
4.3.3.1 SIP Entities………………………………………………….26
4.3.3.2 SIP messages…………………………………………….…..27
4.3.4 Session Description Protocol (SDP)………………………….…..31
4.3.5 SIP Addressing ……………………………………………….…..31
4.3.6 Inter-working between SIP network and NGN …………………..32
4.4 Real Time Protocol (RTP)………………………………………….….33
iv
Chapter 5
5. Switching Design& Evaluation…………………………………………..34
5.1 Introduction……………………………………………………...…...35
5.2 Java Interface to SIP …………………………………………...…….35
5.3 Application architecture………………………………………...…….35
5.3.1 User Agent …………………………………………………...….35
5.3.1.1 User Agent fundamentals……………………………………35
5.3.1.2 User Agent demonstration……………………………...…...37
5.3.2 Proxy and Registrar server…………………………………...…..38
5.3.2.1 Proxy capabilities…………………………………………....38
5.3.2.2 How to start Proxy? ………………………………………....39
5.3.2.3 System Administrator………………………………………..39
5.3.3 SIP/PSTN Gateway ………………………………………………40
5.3.3.1 Preface ……………………………………………………..…40
5.3.3.2 Basic structure of PSTN Gateway…………………………....40
5.3.3.3 PSTN connection part to the Gateway …………………….....40
5.3.3.4 How PSTN Gateway works? ………………………………...41
5.3.3.5 Detailed explanation of Gateway functionality……………….42
5.4 Testing and Analysis results…………………………………………....43
5.4.1 Testing example……………………………………………………43
5.4.2 Evaluation of results ………………………………………………44
Chapter 6
6. Conclusion and Comments…………………………..……………………46
6.1 Conclusion……………………………………………………………..47
6.2 Recommendations……………………………………………………...48
References……………………………………………………………………49
Appendix ……………………………………………………………………..50
v
List of Figures 1.1 Evolution from PSTN to NGN…………………………………………3
2.1 Softswitch……………………………………………………………....9
2.2 Next Generation Network in a variety of network deployments………11
3.1 NGN Layer Architecture………………………………………………13
3.2 Edge Access layer devices…………………………………………….13
3.3 Network Control layer…………………………………………………17
3.4 Separation of call control from bearer…………………………………17
3.5 Service Management Layer……………………………………………18
3.6 NGN architecture………………………………………………………20
4.1 Decomposition of the problem………………………………………...23
4.2 SIP Entities…………………………………………………………….27
4.3 SIP message syntax ……………………………………………………28
4.4 Setting up a SIP session………………………………………………..31
4.5 Interworking between SIP network & NGN…………………………..32
5.1 User Agent architecture………………………………………………..36
5.2 The stack properties User Interface window…………………………..37
5.3 Authentication of a User Agent ……………………………………….37
5.4 User Agent calling another User Agent………………………………..38
5.5 Proxy server configuration…………………………………………….39
5.6 Gateway architecture…………………………………………………..41
5.7 PSTN Gateway………………………………………………………...42
vi
List of Tables 4.1 Comparison between SIP & H.323 …………….………………..26
4.2 SIP response codes……………………………………………….30
vii
viii
Abstract
This thesis aims to study the Next Generation Network (NGN), which refer to
the idea of one network that cannot only cost effectively, deliver and manage all the
voice, video, and data communications option available today, but one that can also
adopt and grow to handle any new communication options that will inevitably
evolve. Moreover, the main goal of this thesis is to examine the Next Generation
Network’s capability in providing a reliable voice communication service while
keeping the cost at minimum.
Next Generation Network (NGN) uses the IP network as its core network, i.e.
voice is transferred over the IP network (VoIP). Thus, the VoIP implementation in
NGN is included in this thesis. This implementation is done in stages. Firstly the
desired scenario must be specified either PC to PC or PC to PHONE or PHONE to
PHONE which is our concern. Then, an appropriate signaling protocol is chosen for
setting up the IP telephony session between the scenario’s parties, the Session
Initiation Protocol (SIP) is our preferred option over the NGN protocols. After the
signaling takes place, the parties are now ready to transfer media using the Real Time
Protocol (RTP). Hence, in order to achieve the thesis’s goal, the Session Initiation
Protocol (SIP) has been simulated. SIP entities and the software application
components used for simulation purposes are built and interconnected using Java
based software packages.
The results obtained from this simulation of SIP VoIP application which
works on platforms that support NGN protocol functionalities did not deliver perfect
level of quality standards, but it had offered voice with acceptable limits in addition
to the unlimited bandwidth due to the packet-based IP network . These results
would definitely serve both service provider and customer side's benefit.
Chapter 1- Introduction _________________________________________________________________________________________________________________________________________
1.1 Introduction In recent years, the telecom network has been developing rapidly, and the
integrated communication ability has been enhanced greatly. However, the network
faces more and more pressure from the gradual integration of telephone network,
computer network, and cable television network. Because the network load is
increasing and service demands become diversified, the carriers have to provide
more new services to attract users, which are hardly provided by the PSTN (Public
Switched Telephony Network) or PLMN (Public Land Mobile Network).
Meanwhile, the rapid-developing data networks are taking over some services from
the PSTN and PLMN and play an important role in bearing voice service. Whereas,
the Voice over IP (VoIP) based on the H.323 protocol can only meet the basic
requirement for packet voice service, and cannot provide abundant service functions.
[1]
1.2 Definition In the conditions mentioned above, the Next Generation Network (NGN),
which is based on the softswitch technology, comes into being.
NGN is a milestone in the telecom field. It indicates the arrival of the new
generation telecom network. In terms of the development, NGN is a step from the
traditional circuit switched PSTN to the packet-based IP network. NGN bears all
the services of the PSTN, offloads large amount of data transmission to the IP
network to reduce the load over PSTN, and supports new services and enhances
traditional services by taking full advantage of IP technology. Figure (1.1) shows
the evolution from PSTN to NGN. [1]
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 2
Chapter 1- Introduction _________________________________________________________________________________________________________________________________________
Tandem /toll exchange
LE
Packet core network
Trunk gateway
LE
Soft switch Call control
___________________________________________________________________________________________________________________________________
Next Generation Network
ININ NMSNMS App ServerApp Server Policy ServicePolicy Service
ISUP SG
PSTNswitchswitchswitch
STPSTPTMG
PLMN
WMG
SIPPhone
SIPPhone
H.323PhoneH.323Phone
PCPhone
PCPhone
IADIADAMGAMG
Packet core network
Packet core network
Soft switchSoft switchSoft switchSoft switch
Figure (1.1) evolution from PSTN to NGN.
The Next Generation Network (NGN) seamlessly blends the Public Switched
Telephony Network (PSTN) and the Public Switched Data Network (PDSN),
creating a single multi-service network. Rather than large, centralized, proprietary
switch infrastructure, this next generation architecture pushes central office (CO)
functionality to the edge of the network. The result is a distributed network
infrastructure that leverages new, open technologies to reduce the cost of market
entry dramatically, increase flexibility, and accommodate both circuit switched voice
and packet switched data. [1]
The NGN has the following features:
• Openness: NGN can be divided into several functional modules according to
different networks interworked and different functions provided. These
modules can not only be developed independently, but also act as a whole.
Meanwhile, such openness also enables the carriers to choose the best
products in the market as per their own requirements, without worrying about
the inter-working among different devices.
Final Year Project - 2007 3
Chapter 1- Introduction _________________________________________________________________________________________________________________________________________
• High efficiency: since NGN can separate service from call control, it provides
good conditions for the real independence of service from the network and
effective minimization of the development period for a new service.
Accompanying with the inter-working of multiple networks, many new
services are emerging.
• Multimedia: real-time transmission of voice, video and other streams is
another outstanding advantage of NGN.
• Low cost: compared with current PSTN, the adoption of relative cheaper
networks such as IP network as the transmission bearer in NGN greatly
reduces the communication cost. This advantage is more obvious in toll calls
and international calls. [1]
1.3 Problem Statement Transmission of voice through IP network using simple in-hand equipment is
our considered problem definition. This embraces a research on several stages for the
suitable scenarios to express and maintain the desired results, the means of
implementation, in addition to the achievement and evaluation of results.
1.4 Objectives The main objective of this thesis is to demonstrate the robust features of
providing voice services over NGN architecture. Our study would use simple tools in
order to prove NGN's capabilities via the current available individual VoIP
Protocols. Another objective is to highlight the impact of the convergence between
circuit-switched networks and IP networks by means of modeling the gateway
adaptation layer, using the familiar existing devices discussed in brief, shortly in this
chapter, and in more details later in the thesis.
1.5 Methodology
In order to approach the desired aim of this project, Java based software
packages implemented by NIST were used to build and interconnect the software
application components used for simulation purposes. The Session Initiation Protocol
(SIP), which was our option for signaling between the application elements, also
called as SIP entities was also implemented using the same technique. This included ___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 4
Chapter 1- Introduction _________________________________________________________________________________________________________________________________________
the use of the JAIN (Java API's for Integrated Networks)-SIP to interface the SIP
protocol stack, implemented by NIST Corporation, to JAVA programming language.
The implementation of logical interfaces to the PSTN gateway used (typically a
voice modem) was accomplished through JTAPI phone dialer application (Java
Telephony application programmable interface) attached to our SIP environment in
such a way that replicates the real facility optimized by the NGN. Also it would
contain a simple demonstration example of inter-working between networks
elements of diverse nature. This would bring to mind the amount of impact the
integration process.
1.6 Thesis outline
This target is covered by a six chapter discussion gradually advancing stage
to stage in order to help understand all the related issues to the main concepts of the
thesis. These chapters followed the following structure: Chapter 1 is an introduction
to the main idea and the reasons that stood behind the choice of this topic in certain.
Also a highlight to the included simulation is found here. Chapter 2 and chapter 3
would introduce the backbone topic (the NGN) discussed and explained in more
details and in depth analysis. In Chapter 4 the simulation parameters are defined,
initialized and the pre-testing stage is established to obtain desired results. Chapter 5
contains the testing stage of the designed application and holds an evaluation to the
obtained results, this involves a comparison between the expected pre-testing results
and the obtained one, in order to analyze and discuss them. Chapter 6 represents a
typical conclusion to the work accomplished and our recommendations for future
work points.
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 5
Chapter 2- Next Generation Networks basic concepts _________________________________________________________________________________________________________________________________________
2.1 Introduction The NGN is mainly a concept that refers to packet-based networks enabling
convergence between voice and data on one hand, and between fixed and mobile
communications on the other hand. These networks provide multi-purpose services
through various access technologies. IP as the most wide-spread standard is regarded
to be a federative element in the new architecture. The NGN concept involves
decoupling of services and networks allowing them to be offered separately and to
evolve independently. The focus is on soft switch technology and packet voice and
the roles they play in the migration toward fully converged local networking. [1][2]
2.2 Migration to NGN Many options are available to service providers to pave their way to NGN and it
is very important to know how to evaluate them to determine whether it offers a
feasible NGN migration strategy. We review here the migration options, knowing that
each operator will find his way to the target NGN architecture by combining one or
several of the following strategies:
2.2.1 Wait & see The easiest path for an operator seems to continue with the existing technology,
waiting for NGN products to mature, keep investing in class 4 and 5 legacy switches.
This wait & see approach is reliable and well-understood but does not position the
service provider for a converged network strategy and keeps the service intelligence
in the legacy network, i.e. it does not represent a future-proof investment.[2]
2.2.2 Internet offload This strategy only consists in freeing resources for voice traffic in the switches.
Offload switches provide cost saving through more efficient use of legacy switches.
But this solution does not change fundamentally the PSTN architecture, as voice is
still carried over TDM, Separately from data backbone. [2]
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 7
Chapter 2- Next Generation Networks basic concepts _________________________________________________________________________________________________________________________________________
2.2.3 Voice over broadband This approach provides packet voice from the access network, by carrying voice and
data on the same connection going out from the customer premises. [2]
2.2.4 Replace transit switches Traditional local-exchange switches are all based on circuit switching
techniques. Within the switch fabric, voice traffic is represented as 64kbps streams.
At the input and output ports of the switch, the 64kbps streams are time division
multiplexed into higher-speed digital facilities. The intelligence of the switch that
performs call routing and feature processing is integrated tightly with the circuit-
switching fabric. The economic advantages of packet voice are driving both the
access and core voice networks away from circuit switching and towards packet
switching. As packet voice becomes widely adopted for both access and core
networking, the traditional local-exchange switch represents an island of circuit
switching that connects these two packet voice networks. The packet-to-circuit
conversion that must be carried out at both input and output of the local-exchange
switch, however this introduces undesirable additional cost and transmission delays
into the voice path . If a local-exchange switching solution was available that was
capable of delivering local voice services and custom calling features directly over a
packet-switching infrastructure, then unnecessary packet-to-circuit conversions could
be avoided. This has the dual effects of reducing cost and improving quality, and it
moves the voice network a major step closer to the ultimate goal—homogeneous end-
to-end packet voice. [1]
2.3 The Soft switch 2.3.1 Definition Soft switch, shown in figure (2.1), is the generic name for a new approach
to telephony switching that has the potential to address all the shortcomings of
traditional local-exchange switches identified above. This section explains the basic
concept and describes the functional components of local-exchange soft-switching.
[1]
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 8
Chapter 2- Next Generation Networks basic concepts _________________________________________________________________________________________________________________________________________
Figure (2.1) Soft Switch
2.3.2 The Soft switch Concept By far the most complex part of a local-exchange switch is the software that
controls call processing. This software has to make call-routing decisions and
implement the call processing logic for hundreds of custom calling features. Today’s
local-exchange switches run this software on proprietary processors that are integrated
tightly with the physical circuit-switching hardware itself. The inability of existing
local-exchange switches to deal directly with packet voice traffic, however, is a major
barrier to packet voice migration. In the future, delivery of local telephony will come
over a purely packet-based infrastructure. But for years to come, the migration path to
end-to-end packet voice will require working with a hybrid network handling both
packet and circuit voice. One possible solution to this is to create a hybrid device that
can switch voice in both packet and circuit formats, with all the necessary call
processing software integrated into this switch. While this approach may help address
the question of migration, it does not necessarily lower the cost of local-exchange
switching or improve the prospect for differentiated local voice services. The telecom
industry appears to have reached broad consensus that the best answer lies in
separating the call processing function from the physical switching function and
connecting the two via a standard protocol. In softswitch terminology, the physical
switching function is performed by a media gateway (MG), while the call processing
logic resides in a media gateway controller (MGC).
There are a number of reasons why this separation of functionality is believed to be
the best approach:
• It opens the way for smaller and more agile players who specialize in call
processing software and in packet-switching hardware respectively to make an ___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 9
Chapter 2- Next Generation Networks basic concepts _________________________________________________________________________________________________________________________________________
impact in an industry that has been dominated by large, vertically integrated
vendors.
• It enables a common software solution for call processing to be applied in a
number of different kinds of networks, including combinations of circuit-
based networks and packet voice networks using multiple different packet
voice formats and physical transports.
• It allows standardized commodity computing platforms, operating systems,
and development environments to be leveraged, thereby bringing considerable
economies to the development, implementation, and processing aspects of
telephony software.
• It allows a centralized intelligence in a service provider’s voice network to
remotely control switching devices located in customer premises.
• Being service driven it provides all the means needed to offer new services
and customize existing ones in order to generate future revenues. [1][2]
2.4 Next Generation Network Characteristics This next-generation switching architecture represents an entirely new
approach to delivering services that is specifically designed to accomplish the
following services:
• Deliver robust switching functionality at a cost that is an order of magnitude
lower than traditional, proprietary Class-5 switches.
• Distribute switching functionality to the edge of the network.
• Protect existing investments by supporting all current analog and digital
network standards, interfaces, media, and service elements.
• Reduce the number of network elements by combining a range of telephony,
application, and service-delivery functions.
• Enable new service creation through programmability and the flexibility of
an open application programming interface (API).
• Provide a high degree of scalability, enabling network operators to expand
their subscriber base rapidly and cost-effectively.
• Promote extensibility through open architecture design and, thus, take
advantage of future technological advances.
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 10
Chapter 2- Next Generation Networks basic concepts _________________________________________________________________________________________________________________________________________
• Redefine true, carrier-class design for maximum fault tolerance and zero
downtime.
• Reduce operating costs by employing advanced remote maintenance and
diagnostics capabilities.
• Increase revenues by shortening time to market, reducing upfront costs,
and providing remote management capabilities.
• NGN provides converged services based on open common services platform.
It uses a common IP core network which combines all types of access links
and user services. This is shown in figure (2.2).
Figure (2.2) Next-Generation in a variety of
Network deployments
2.5 Conclusion This chapter has described a migration path for broadband packet-voice
access: a migration moving from a transport-only solution that relies on a
conventional local-exchange switch toward a full-fledged local-exchange soft
switching and access solution that delivers packet voice dial tone.
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 11
Chapter 3- Next Generation Network Architecture _________________________________________________________________________________________________________________________________________
3.1 Next Generation Network Layers NGN is divided into four layers: edge access layer, core switching layer,
network control layer and service management layer. The NGN architecture is shown
in figure (3.3). Inter-working between different layers is realized via open standard
protocols, which provides NGN with considerable advantages and flexibilities.
Edge Access
Core Switch
Network Control
Service Management
Figure (3.1) The NGN Layer Architecture
3.2 The Edge Access Layer Edge access layer is used to connect subscribers and terminals by a variety of
means, and convert the original information format to the suitable one that can be
transferred over the network. Devices at this layer, as shown in the figure below, are:
IAD AMGBroadBand
Access
WMG
PLMN/3G
SG TMG
PSTN
UMG
Packet Core Network
Edge Access
Figure (3.2) Edge Access Layer Devices
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 13
Chapter 3- Next Generation Network Architecture _________________________________________________________________________________________________________________________________________
3.2.1 Integrated Access Device (IAD) It is a type of subscriber access device used in the NGN architecture. It
introduces data, audio, video and other services of the subscribers to the packet-based
network. IAD encapsulates the voice-band signals into IP packets with standard voice
codec and compression technologies, and sends the IP packets over the IP network to
the called MG, which will make a reverse conversion on the IP packets to recover the
original voice-band signals. [1]
3.2.2 Media Gateways (MGs) Controlled by the Soft switch, the function of the media gateway is to adapt
user data to the backbone network based on a packet switching technology (IP or
TDM e.g.). It terminates voice calls from the TDM side, compresses and pocketsize
voice data, and delivers the compressed voice packets to the packet network. On the
opposite way of a call, it receives the voice packet from the packet network,
unpacketizes and decompresses them, and delivers them to the TDM side. [1]
3.2.2.1 Media Gateway Characteristics MGs always have a master/slave relationship with the Media Gateway
Controller (MGC) that is achieved through a control protocol such as Media Gateway
Control Protocol (MGCP). MGs serve the following functions:
1- Perform of media processing functions such as:
• Media transcoding.
• Media Packetization.
• Echo cancellation.
• Jitter buffer management.
• Packet loss compensation.
2- Perform of media insertion functions such as:
• Call progress tone generation.
• DTMF generation.
• Comfort noise generation.
3- Perform of signaling and media event detection functions:
• DTMF detection.
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 14
Chapter 3- Next Generation Network Architecture _________________________________________________________________________________________________________________________________________
• On/off-hook detection.
• Voice activity detection.
4- May have the ability to perform digit analysis based on a map downloaded
from the MGC
5- Provides a mechanism for the MGC to inspect the state and capabilities of the
endpoints in call. [1]
3.2.2.2 Types of Media Gateways MGs are divided to four different types depending on their functions:
1- Access Media Gateway
It is another example of subscriber level gateways, but with much higher
capacity than the IADs. AMGs provide narrowband and broadband service access.
The AMG provides narrowband and broadband service access. The AG transfers
subscriber line data such as voice, modem and fax across the NGN through media
stream conversion. The AMG interacts with the Soft switch device by MGCP,
accepting control from the latter, reporting subscriber line status and processing
subscriber calls. [1]
2- Trunk Media Gateway (TMG)
Here is the first network to network interfacing technique comes to scene.
TMGs are resident between the circuit switched network and the IP packet switched
network, achieving the conversion function between the public switched telephone
network (PSTN) and the IP network. The TMG interacts with the Soft switch device
through MGCP, accepting control from the latter and carrying out establishment and
disconnection of calls and other services. [1]
3- Signaling Media Gateway (SG)
Located at the interface layer of the Signaling System No. 7 and the Internet
Protocol (IP) this device realizes the signaling conversion function between the public
switched telephone network (PSTN) and the IP network. Signaling gateway function
provides a gateway for signaling between a VoIP network and the PSTN (SS7/TDM)
based. For wireless mobile networks it also provides a gateway for signaling between
IP based mobile core network and PLMN that is based on either SS7/TDM or
BICC/TDM. The primary role is to encapsulate and transport PSTN (ISUP or INAP)
or PLMN (MAP or CAP) signaling protocols over IP. [1]
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 15
Chapter 3- Next Generation Network Architecture _________________________________________________________________________________________________________________________________________
4- Universal Media Gateway (UMG)
This device is a combined version of a TMG and an SG, but has lower signaling
conversion capabilities. It converts the media stream and signaling between different
formats. It can act as a built-in SG or AMG. It can connect a variety of devices
including PSTN exchange (PBX), access network, network access server (NAS) and
base station controller (BSC) for wireless networks applications. [1]
The Media Gateway functionality would be discussed in more depth later on in
the next sections of this chapter.
3.3 The Core Switching Layer Core switching layer adopts the packet technology, and is composed of the
devices distributed over the backbone network and the Metropolitan Area Network
(MAN), such as routers and layer-3 switches. It is used to provide subscribers with a
uniform and integrated transmission platform with high reliability, Quality of service
(QoS) assurance and a large capacity. [1]
However, as the Internet has emerged as the network of choice for providing
the converged services approved by NGN, the demands placed on the IP core
network, in terms of speed and bandwidth, have strained the resources of the existing
Internet infrastructure. This transformation of the network towards a packet- and cell-
based infrastructure has introduced uncertainty into what has traditionally been a
fairly deterministic network. In addition to the issue of resource constraints, another
challenge relates to the transport of bits and bytes over the backbone to provide
differentiated classes of service to users. The exponential growth in the number of
users and the volume of traffic adds another dimension to this problem. Class of
service (CoS) and QoS issues must be addressed to in order to support the diverse
requirements of the wide range of network users. [1]
In sum, despite some initial challenges, the Core Layer still plays an important role in
the routing, switching, and forwarding of packets through the next-generation network
in order to meet the service demands of the network users.
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 16
Chapter 3- Next Generation Network Architecture _________________________________________________________________________________________________________________________________________
3.4 Network Control Layer Network control layer, shown in figure (3.3), is responsible for implementing
call control. Its core technology is soft switching, which is used to achieve basic real-
time call control and connection control functions. [1]
Control Layer SoftSwitch
Figure (3.3) Network Control Layer
The control layer handles the call setup and controls the media gateways. Major
components at this layer are the Soft switches. The SoftSwitch is a central device in
the Telecommunication network which connects calls from one phone line to another
entirely by means of software running on a computer system. This work was formerly
done by hardware. The SoftSwitch architecture, show in figure3.4, involves the
separation of media path (voice packets over IP e.g.) and media conversion functions
from the call control and signaling functions. It is mainly split up into two basic
components:
• Media Gateway Controller (MGC) which handles the call control
functionalities. Also known as Call Agents.
• Media Gateways which are responsible of media conversion.
SoftSwitch SoftSwitch
3G AccessAMG IAD Broadband
Access PSTN TMG SG
PLMN
IP Core Network
UMG
Call control path
Talking Path UMG
Figure (3.4) Separation of Call control from bearer
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 17
Chapter 3- Next Generation Network Architecture _________________________________________________________________________________________________________________________________________
The advantage of the SoftSwitch is its distributed architecture. For a network
operator, it is possible to use different network components from different vendors,
such that the best in each class may be chosen in each area. For equipment vendors, it
is possible to focus efforts on one area and not to have to develop acquire expertise in
all area. [1]
3.5 The Service Management Layer The service management layer is mainly used to provide supplementary
value added services and operation support based on established calls. It comprises of
Application and feature servers, as shown in figure (3.5), like:
Service Management IOSS
PolicyServer Application
Server SCPLocationServer MRS
Figure (3.5) The Service Management Layer
3.5.1 Integrated Operation Support System (IOSS) The acronym of integrated Operation Support System, which includes two
parts: Network Management System (NMS) for managing the NGN network elements
in a centralized way, and integrated charging system. [1]
3.5.2 Policy Server This server is used to manage the policies of the subscribers, such as Access
Control List (ACL), bandwidth, traffic, and Quality of Service (QoS). [1]
3.5.3 Application Server It is responsible for generating and managing logics of various value added
services and intelligent network services, and providing innovation platform for
developing third-party services by means of open APIs. As a physically separated
component, Application Server is independent of the SoftSwitch equipment. This
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 18
Chapter 3- Next Generation Network Architecture _________________________________________________________________________________________________________________________________________
contributes to the separation of service from call control and is beneficial to the
introduction of new services. [1]
3.5.4 Location Server This is used to dynamically manage the routes between the Softswitch
equipment in the NGN, indicate reach ability of the destinations of calls, ensure the
best efficiency of call routing table, prevent the routing table from being oversized
and impractical, and abates the complexity of routes. [1]
3.5.5 Media Resources Server It is used to enable the media processing functions in the basic and enhanced
services. The functions include service tone provision, conference service, Interactive
Voice Response (IVR), recorded announcements and advanced tone service. [1]
3.5.6 Service Control Point It is the core component of the traditional Intelligent Network (IN), and is used
to store subscriber data and service logics. According to the call events reported by
the Service switching point (SSP), SCP starts an appropriate service logic, retrieves
the service database and the subscriber database based on the started service logic,
and then sends proper call control instructions to the corresponding SSP to instruct the
SSP how to perform next, thus realizing various intelligent calls. That is the main
function of the SCP. [1]
3.6 Conclusion After this comprehensive realization of the NGN architecture, the complete
NGN’s four-layer architecture model is shown in figure (3.6).
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 19
Chapter 3- Next Generation Network Architecture _________________________________________________________________________________________________________________________________________
IAD AMGBroadband
Access
WMG
PLMN/3G
SG TMG
PSTN
UMG
Service Management
Packet Core Network
Network Control
Core Switching
Edge Access
SoftSwitch SoftSwitch
iOSS PolicyServer
ApplicationServer
SCPLocationServer
RADIUSServer
MRS
Figure (3.6) NGN Architecture
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 20
Chapter 4- VoIP Implementation In NGN _________________________________________________________________________________________________________________________________________
4.1 Introduction
Voice over Internet Protocol (VoIP) is one benefit of the convergence
between data and telecommunications introduced by NGN platforms. Companies
today are seeing the value of transporting voice over IP networks to reduce telephone
and facsimile costs and to set the stage for advanced multimedia applications and
services such as unified messaging, in which voice, fax, and e-mail are all combined.
NGN systems were very successful in the matter of standardization and
interoperability of VoIP service. The adoption of several VoIP protocols not only
enables the NGN infrastructure to represent a reliable VoIP service provider, but also
introduces improved functionalities to the users, indeed with irresistible cost
proposals. [3]
4.2 Problem Definition and Decomposition The main problem is transferring voice throughout IP networks instead of
using circuit switched PSTNs, as these are the transport routes for media in the NGN
platform. Now to simulate the mechanisms deployed by the NGN infrastructure used
to provide VoIP service, four stages of implementation have been followed:
• Identification of desired scenarios in the simulation.
• Specification of the Signaling Protocol most suitable to accomplish the call
processes in the required scenarios successfully.
• Determination of the appropriate Media Control Technique.
• Design & Implementation.
4.2.1 The Scenarios
In order to make VoIP simple to implement, figure 4.1 decomposes the main
problem into sub problems, each of which represents a simple scenario that is an
undividable sub problem.
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 22
Chapter 4- VoIP Implementation In NGN _________________________________________________________________________________________________________________________________________
Figure (4.1) decomposition of the problem.
4.2.1.1 PC to PC phase Beginning with the pc to pc phase, which is considered the smallest unit of
all scenarios in our simple hierarchy, the main objective of this part is to define
the pure IP based signaling and call setup. The SIP (Session Initiation Protocol) as
would be later on discussed was chosen as the desired method to initiate a voice
session in an IP environment. Now in order to transmit voice between two PC's
includes the following concerns:
• Voice capture:
As a hardware device the user needs a sound card. Plug the microphone into
its appropriate place. User will use the microphone to capture the voice that he/she
wants to send to destination.
• Voice play
Any typical presentation device can be used, such as, sound players (speakers).
4.2.1.2 PC to PHONE phase The second phase's objective is to demonstrate the interoperability between
two different networks (IP-TDM) whereas a hardware adjustment is recommended in
order to secure the desired compatibility and convergence between these networks.
Now when talking about gradual migration to pure IP solutions, current TDM
structured networks must be considered in our scenarios. There are a lot of feasible
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 23
Chapter 4- VoIP Implementation In NGN _________________________________________________________________________________________________________________________________________
hardware devices from different vendors that undertake the process of converting
digital representation of voice into analog and vice versa so the choice should depend
on the project requirement. The project requirement is to provide a reliable VoIP
telephony application with acceptable quality of service but the main requirement is to
reduce the cost as much as possible. There are two recommended solutions in this
field:
1- Dialogic cards: dialogic cards provide high quality telephony applications (QoS)
simple to implement because it comes with libraries helps programmers but are
expensive.
2- Dial up modem provides a medium quality of service more complex to implement
but less cost.
The optimal solution that achieves the goal of the project is to use dialup
modem since the concern is the cost plus using a regular modem can be easily
developed to any better hardware such as dialogic cards.
4.2.1.3 PHONE to PHONE phase This is the most efficient scenario that is similar most to the actual NGN
concept of pushing access to the edge of the network and transporting media in RTP
(Real Time Protocol)/UDP/IP streams in the IP core network. This demonstration
explains why exactly are NGNs cost effective at network management techniques, in
addition to extreme utilization of the open bandwidth offered in Packet based
Networks. Analog voice is transferred from PSTN (TDM) networks at the originating
point, packetized in Media Gateways and sent through the IP core. At the destination,
after accomplishing a successful signaling session, a gateway once again reconstructs
the transformed data into the original TDM form, therefore ready for the end device.
4.2.2 The Signaling Architecture The previously mentioned scenarios need to be implemented in such a manner
that provides a kind of entity interconnection that is analogous to the one actually
applied in the NGN infrastructure. This means that each participant of a certain
scenario must be defined carefully to a centralized controller and must be totally
distinguishable from other entities. To provide Interoperability between different
entities in our scenarios, VoIP applications need a standard signaling protocol. There ___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 24
Chapter 4- VoIP Implementation In NGN _________________________________________________________________________________________________________________________________________
are many available signaling protocols in the NGN environment such as H323, SIP
and MGCP. Our choice has landed on the SIP (Session Initiation Protocol) for several
reasons discussed in detail in the next section of this chapter.
4.3 Session Initiation Protocol (SIP) 4.3.1 Definition Session Initiation Protocol or SIP is the IETF standard for voice or
multimedia session establishment over the Internet. SIP is an application level
protocol used for call setup management and teardown. The SIP architecture is similar
to HTTP (client-server protocol) architecture. Its message structure was based on
SMTP (email), with the simple, text-based, extensible form that had helped to make
email so successful. It comprises requests that are sent from the SIP user client to the
SIP Server which processes the request and responds to the client. SIP makes minimal
assumptions about the underlying transport protocol and it provides reliability and
does not depend on the underlying protocol’s characteristics .The SIP protocol due to
simplicity and easier implementation was our preferred option over other NGN
protocols. [3][4]
4.3.2 Comparison between H.323 and SIP H.323 and SIP both support VoIP and multimedia communications, but SIP is a
relatively new protocol as compared to H.323 and hence, has been able to avoid all
the problems associated with H.323. Table (4.1) shows some of the comparison
features between H.323 and SIP from which it is clear that SIP protocol is more
scalable, extensible, with less complexity and easy on implementation, without need
for special parser, customization and call forking with Third-party call control.[1][4]
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 25
Chapter 4- VoIP Implementation In NGN _________________________________________________________________________________________________________________________________________
Table (4.1) Comparison between SIP & H.323
Feature
H.323
SIP
Architecture Stack Implementation Element Implementation
Complexity Complex Simple
Standards body ITU IETF
Protocol Mostly TCP Mostly UDP
Protocol
Encoding
Binary (ASN.1, Q.931) Text (HTTP-ish)
Server
processing
State-full State-less, Transaction oriented
Addressing Aliases, email SIP URLs
Call Setup
delay
V1: 6-7x RTT to V3: 1.5-2.5x
RTT
1.5x RTT
Mid-call failure Fail Live
Loop Detection V1:No, v3: Path Value Yes – “via” field, time, hops
Manageability Yes No
Call control Yes Yes
Emphasis Telephony Multimedia, multicast
Third party call In al versions No Yes
Fault tolerance v1 No,v1 No, v3 backup Yes
4.3.3 SIP Architecture SIP communication is made up of messages that are sent between the devices
using UDP, TCP, or another transport protocol. These messages are either requests or
responses and contain a set of headers, which are the parameters of the message, and
one or more message bodies, as required by the application. A single SIP request and
all its responses form a SIP transaction. Different types of transaction are used for
different protocol functions. SIP transactions can exist within or outside a SIP dialog,
and transactions are used to establish and terminate dialogs. [1] 4.3.3.1 SIP Entities The main components of a system employing SIP which are shown in figure
(4.2) are mentioned below:
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 26
Chapter 4- VoIP Implementation In NGN _________________________________________________________________________________________________________________________________________
Figure (4.2) SIP Entities
1- User Agents (UA) are endpoint devices that terminate the SIP signaling. They
can be clients (UAC) that initiate requests, servers (UAS) that respond to
requests, or more normally a combination of the two.
2- Proxies are devices in the signaling path between User Agents that route
requests on towards their destination. They may add parameters to the requests
and may reject requests, but they may not initiate requests or respond
positively to any request that they receive.
3- Registrars are specialized User Agent Servers that handle REGISTER
requests. SIP devices use REGISTER requests to dynamically register their
current location, and this enables them to be contacted when mobile.
4- Location servers maintain a database holding the location of all known User
Agents within a domain.
5- Redirect Servers are specialized User Agent Servers that respond to requests
by redirecting them to another device. [1][4]
4.3.3.2 SIP Messages
SIP uses messages for call connection and control. There are two types of SIP
messages: requests from client to server and responses (status messages) from server
to client. For all messages, the general format is:
• A start line.
• One or more header fields.
• An empty line.
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 27
Chapter 4- VoIP Implementation In NGN _________________________________________________________________________________________________________________________________________
• A message body (optional).
• Each line must end with a carriage return-line feed (CRLF).
SIP message syntax is shown in figure (4.3). Message header provides additional
information regarding the request or response. The message body normally describes
the type of session to be established, including a description of the media to be
exchanged. [1]
Figure (4.3) SIP message syntax
Request: SIP request starts with a request-Line which begins with a method token,
followed by the Request-URI and the protocol version, and ending with CRLF. The
request-line specifies the type of request being issued. SIP uses six types (methods) of
requests:
1- INVITE
The INVITE method indicates that the user or service is being invited to
participate in a session. The message body contains a description of the session to
which the callee is being invited. For two-party calls, the caller indicates the type of
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 28
Chapter 4- VoIP Implementation In NGN _________________________________________________________________________________________________________________________________________
media it is able to receive and possibly the media it is willing to send as well as their
parameters such as network destination. A success response MUST indicate in its
message body which media the callee wishes to receive and MAY indicate the media
the callee is going to send.
2- ACK
The ACK request confirms that the client has received a final response to an
INVITE request.
3- BYE
The user agent client uses BYE to indicate to the server that it wishes to
release the call. A BYE request is forwarded like an INVITE request and MAY be
issued by either caller or callee.
4- CANCEL
The CANCEL request cancels a pending request with the same Call-ID, To,
From and CSeq (sequence number only) header field values, but does not affect a
completed request. (A request is considered completed if the server has returned a
final status response).
5- OPTIONS
This method queries the capabilities of servers.
6- REGISTER
A client uses the REGISTER method to register the address listed in the To
header field with a SIP server. [1][4]
Response: The start of a SIP response is a status line. This contains a status code, which
is a three digit number indicating the outcome of the request. The status line will also
contain a reason phrase which provides a textual description of the outcome. The
status codes defined in SIP have values between 100 and 699, with the first digit of
the reason code indicating the class of response as shown in table (4.2). [1]
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 29
Chapter 4- VoIP Implementation In NGN _________________________________________________________________________________________________________________________________________
Table (4.2) SIP response codes
ExamplesDescription 100 trying.
180 ringing.
181 call is being forwarded.
Informational.1xx
200 OKSuccess.2xx
300 multiple choices.
301 moved permanently.
302 moved temporarily.
Redirection.3xx
400 bad request
401 unauthorized.
406 not acceptable.
408 request timeout.
415 unsupported media type.
Client error.4xx
502 bad gateway.
503 service unavailable.
505 version not supported.
Server error.5xx
600 busy everywhere.
603 decline.
Global failure.6xx
As an example, if client A wants to set up an IP telephony session with client B,
A sends an INVITE request to B. The INVITE message contains a payload with a
description of the session he/she wants to set up with B. When B accepts the call, his
user agent sends a message with a response code of 200. Finally, A sends an
acknowledgement to B confirming that he/she received the response from the callee.
This three-way handshake procedure is shown in figure (4.4). [5]
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 30
Chapter 4- VoIP Implementation In NGN _________________________________________________________________________________________________________________________________________
Figure (4.4) setting up a SIP session
4.3.4 Session Description Protocol (SDP)
Although a SIP message body can carry many different types of information,
the most common message body is the session information describing the media to be
exchanged between the parties. The session description includes media information
such as RTP payload type, address and ports. The format of the description will
normally be according to SDP. SIP uses SDP in an answer/offer mode. A caller sends
an invite with a SDP description that describes the set of media formats that
comprises an offer by the caller. The called party responds with a SDP description
that aligns with the offered SDP description. This exchange results in an agreement
between the two parties as to the type of the media used. The SDP text message
includes: • Session name and purpose.
• Time the session is active.
• Media comprising the session.
• Information to receive the media (address…etc). [1][5]
4.3.5 SIP addressing
SIP uses email-style addresses to identify users. SIP addresses are known as
Uniform Resource Indicators (URIs) and take the form User@ Host, where the User
can be a name or telephone number and the Host can be a domain or IP address. [1]
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 31
Chapter 4- VoIP Implementation In NGN _________________________________________________________________________________________________________________________________________
4.3.6 Inter-Working between SIP network & NGN The SIP entities, as shown in figure (4.5), are distributed in the NGN layering
scheme forming an ideal IP voice service model.
R
Figure (4.5) inter-working between SIP network and NGN.
The NGN control layer, represented in the Softswitch, uses the SIP protocol
to perform call control functionalities on an IP based platform. The most interesting
issue that both SIP & NGN share is the entire separation between the signaling and
media paths in addition to the simplicity of the text based SIP messages used for call
control. Therefore SIP is considered one of the favored options when optimizing a
VoIP service in the NGN. As shown in the diagram above a SIP application server
(Proxy, redirect & location server) is connected to the softswitch where it maintains
centralization as a call control layer element. For SIP users in the edge access layer no
need of any interfacing to the transport layer (IP core) as the SIP is already supplied
with IP intelligence in addition to accommodating several media transport protocols
over IP networks (RTP, TCP, UDP). When interoperability is required when
connecting to other network users, such as PSTN, the proxy servers are easily directed
via the Softswitch to negotiate with Media Gateways which are responsible of
successful interfacing between different integrated networks in the NGN environment.
[2] ___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 32
Chapter 4- VoIP Implementation In NGN _________________________________________________________________________________________________________________________________________
4.4 Real Time Protocol (RTP) After setting up a call connection between two parties using SIP, the packetized
segments of compressed speech are carried over the IP network using the Real-Time
Transfer Protocol (RTP). RTP provides end-to-end delivery services for data with
real-time characteristics, such as interactive audio and video or simulation data, over
multicast or unicast network services. Applications typically run RTP on top of UDP
to make use of its multiplexing and checksum services; both protocols contribute parts
of the transport protocol functionality. However, RTP may be used with other suitable
underlying network or transport protocols. RTP supports data transfer to multiple
destinations using multicast distribution if provided by the underlying network. [3][5]
RTP itself doesn’t provide any mechanism to ensure timely delivery or to
provide other QoS guarantees, but relies on lower-layer services to do so. It doesn’t
guarantee delivery or prevent out-of-order delivery, nor does it assume that the
underlying network is reliable and delivers packets in sequence. The sequence
numbers included in RTP allow the receiver to reconstruct the sender’s packet
sequence. [3]
RTP consists of two closely-linked parts:
1. Real Time Transfer Protocol (RTP), to carry data that has real-time properties.
2. Real Time Control Protocol (RTCP), to monitor the quality of service (QoS) and
to convey information about the participants in an on-going session. [3]
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 33
Chapter 5- Simulation Design & Evaluation _________________________________________________________________________________________________________________________________________
5.1 Introduction This is the most interesting part in the project. It shows exactly the
accomplished work. It also explains the design and implementation of all components
and how they interact together to achieve the project’s goal. All the software packages
that have been used to construct this simulation are products of NIST. These are
illustrated below.
5.2 Java Interface to SIP (JAIN-SIP)
JAIN-SIP is the standardized Java interface to the Session Initiation Protocol for
desktop and server applications. It enables interoperability between stacks and
different applications over the SIP protocol stack. When a complete application is
constructed of a number of units, such as the one used in the design (next section),
there must be an obvious interface between the different functionalities to provide a
standard, uniform, SIP messaging scheme applied all over the application operation
time. Here the JAIN-SIP is responsible for providing methods to format SIP
messages, in addition to enabling applications to send and receive SIP messages. [6]
5.3 The Application Architecture The implemented application consists of four components:
• User agent
• Proxy server
• Registrar server
• PSTN gateway
5.3.1 The User Agent (UA) 5.3.1.1 Fundamentals Used by the end user to communicate with other user agents. This application
consists of four major classes as shown in figure 5.1.
1- Sip Communicator is the main class which centralizes the control of other classes.
2- Sip Manager:
It is responsible for managing all sip operations, with the assistance of
subprograms, operations are:
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 35
Chapter 5- Simulation Design & Evaluation _________________________________________________________________________________________________________________________________________
• Registering: When Sip Communicator starts up it sends REGISTER request to
location server or registrar server.
• Unregistering: Sends unregistered request when user exits.
• Call initiation: When user wants to call another user he/she initiates a call, Sip
Manager sends INVITE request to specific user.
• Handling incoming messages: Sip-Manager handles all messages which are
delivered by Sip-Provider whether they are requests or responses
Figure (5.1) User agent architecture
3- Media Manager
Responsible for playing, capturing and streaming voice data, with the assistance
of subprograms, includes:
• Audio transmission: Sending encoded captured audio using RTP.
• Audio reception: Receiving, decoding and playing audio streams.
4- GUI (Graphical User Interface) Manager
Responsible for displaying and updating graphical user interface, operations
include:
• Respond to user actions and initiates the corresponding events (e.g. when dial
button is pressed the GuiManger informs the SipManger to invite the callee).
• Update the interface (e.g. when SipManager reports an incoming call,
GuiManger displays an Alerting call). [6]
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 36
Chapter 5- Simulation Design & Evaluation _________________________________________________________________________________________________________________________________________
5.3.1.2 User Agent demonstration
• At start up user can configure the stack properties as shown in figure (5.2):
Figure (5.2) The Stack Properties User Interface Window
• In order to register, a user is asked to enter user name and password, this is
shown in figure (5.3). The Registrar compares user name and password with a
predefined user name and password stored in an xml file.
Figure (5.3) Authentication of a User Agent
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 37
Chapter 5- Simulation Design & Evaluation _________________________________________________________________________________________________________________________________________
• The registration status is displayed on the window after registration process is
accomplished successfully, the user agent is then capable of establishing a call
as being a registered user at the SIP proxy.
• When a user agent is to make a call, simply the login name of a registered
callee is needed, and a dial option is provided on the window to enable call
initiation. The invitation process is then passed to the proxy, which on behalf
of the call party sends an invitation to the desired called party.
• Figure (5.4) demonstrates a call request and shows the invitation process:
Figure (5.4) A user agent calling another user agent
5.3.2 Proxy and Registrar server This package contains the source code of a java based SIP proxy built on top
of the JAIN-SIP-1.1 API. The proxy also functions as a SIP registrar and a SIP
presence server. [6]
5.3.2.1 Proxy capabilities
• Registration upload:
You can specify a set of registrations that will be uploaded into the proxy at
start-up time. The file to modify is "registrations.xml" located in the "configuration/"
directory.
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 38
Chapter 5- Simulation Design & Evaluation _________________________________________________________________________________________________________________________________________
• Forking capability:
The proxy can fork the INVITE requests it receives to different location (e.g.
work and home) for a single user. [6]
5.3.2.2 How to start the proxy • Change to the proxy directory (gov/nist/sip/proxy).
• Edit the configuration file (configuration/configuration.xml).
Use the build.xml file provided in the directory to start the proxy, this configuration is
shown in figure (5.5). [6]
Figure (5.5) Proxy server configuration
5.3.2.3 System Administrator System administrator job is to add, delete and modify users' information. Users’
information includes users names, passwords and a 4 digits number to receive calls
from PSTN, these information stored in an xml file loaded by the proxy at start up.
The 4 digits number associated with each user name used at gateways as the PSTN
caller can only enter digits to refer to callee, these digits must be then mapped by the
gateway. When a gateway registers, proxy attaches each users name with the
corresponding number in the register response message as a string named Contact, so
the gateway can do the mapping. [1]
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 39
Chapter 5- Simulation Design & Evaluation _________________________________________________________________________________________________________________________________________
5.3.3 SIP/PSTN Gateway 5.3.3.1 Preface This is the part of most importance to our contribution in this project. This
gateway is a simplified simulation of the Signaling Gateways (SGs) which represent
the interface of any kind of network access in the edge layer of the NGN model to
maintain suitable interoperability with the NGN intelligence layer. The actual
Signaling gateway performs transformations of different signaling formats in the
(Time Division Multiplexing) TDM circuit switched infrastructures such as ISUP
(ISDN User Part in SS7) to an IP call control form, such as SIP, which is understood
by the Softswitch. Media gateways (MGs) cooperate together with SGs in order to
accomplish complete call initiation and progress in media flow between the integrated
networks.
Our design would not follow the same mechanisms performed by the SG, but it would
obtain very close results in the achievement of establishing a SIP call (NGN/IP
format) to a PSTN user (TDM format).
5.3.3.2 Basic Structure of PSTN gateway It is an application connects the IP network with the PSTN. The problem is
well known and can be divided it into two sub problems: 1- An application that deals with SIP user agents. This was already maintained by
designing the SIP User Agent.
2- An application that dials, receives and answers PSTN phone calls.
So, the solution is an application with two interfaces one with the network that is a
regular SIP user agent, the other with the PSTN that is a regular telephony application
which have the capability of dialing and answering regular phone calls. [1]
5.3.3.3 PSTN Connection part of the gateway As mentioned earlier in this thesis, voice modems are the hardware required
to connect to PSTN. So it is necessary to have a method that makes voice modems
dial, answer, transmit and receive audio streams. Many solutions are available, but the
chosen one which suits this application requirement is Java Telephony API (JTAPI)
that incorporates telephony functionality into java applications.
5.3.3.4 How PSTN Gateway works
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 40
Chapter 5- Simulation Design & Evaluation _________________________________________________________________________________________________________________________________________
As illustrated in figure (5.6), the gateway component is a user agent with a
JTAPI manager.
Figure (5.6) Gateway architecture
Basically the JTAPI manager is a simple JTAPI phone which has the capability to dial
and receive incoming phone calls. It exchanges events with SipCommunicator to
accomplish Gateway job. In a pc to phone scenario, the Gateway is supposed to dial
the callee number and then instruct the SipCommunicator to answer the ALERTING
call. This is achieved through a sequence of events mechanism:
1- A pc invites the Gateway.
2-Gateway takes the number to dial from a header called MyHeader in the
INVITE request (to be explained soon in details)
3- JTAPI manager dials callee number.
4- JTAPI manager fires a XHandleAnswerRequesEvent to Sip Manager:
5- Sip Manager catches the XHandleAnswerRequesEvent, then answers the
ALERTING CALL (sends OK to the INVITE).
6- In a phone to pc scenario, Gateway is supposed to detect DTMF tones which
represent the callee address then:
7- JTAPI manager fires the XUserCallInitiationEvent to SipManeger.
8- Sip Manager catches the XUserCallInitiationEvent, and then sends an INVITE
to callee (after mapping the detected digits to callee address).
9- In both scenarios when a terminal is dropped (whether the Gateway is the call
initiator or not), JTAPI manager fires XhandleHangupRequest event to
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 41
Chapter 5- Simulation Design & Evaluation _________________________________________________________________________________________________________________________________________
SipManeger. When SipManeger catches the event it ends the current call
(termination of media streams, remove call from GUI, etc…). [1][6]
The PSTN gateway configuration is shown in figure (5.7).
Figure (5.7) PSTN Gateway
5.3.3.5 Detailed explanation of Gateway functionality There are three scenarios:
• PC to PHONE scenario
Suppose a user agent wants to call a phone. Phone numbers are
categorized according to area codes e.g. a phone number in Khartoum state begins
with (01). So the user agent will call 01xxxxxxxx. Each area has a Gateway which is
responsible for routing calls to it. Initially each Gateway registers to proxy with its
area code. When the user agent sends INVITE to 01xxxxxxxx, user agent will check
the callee address (01xxxxxxxx) if its digits are all numbers it sends an INVITE
containing the first two digits in addition to the dialed number, to invite the desired
gateway. The Gateway is now ALERTING, it will extract the dialed number in the
received request and dials the number it contains through the modem using XTAPI.
After placing the call, the Gateway answers the alerting call (sends OK to caller) and
opens the media streams. Now caller (pc) and callee (phone number) are connected.
[1][6]
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 42
Chapter 5- Simulation Design & Evaluation _________________________________________________________________________________________________________________________________________
• PHONE to PC and PHONE to PHONE scenario
PHONE to PC and PHONE to PHONE are a very similar to the gateway, the
different is whether the gateway should calls a local sip user agent or forward the call
to the appropriate gateway.
The steps in both scenarios are:
Step1: PSTN user calls the gateway.
Step2: Gateway answers the call automatically and asks the caller to enter 4 digits.
Step3: Gateway maps the retrieved 4 digits using the Contact string received at
registering and comes up with the callee address.
Step4: The gateway must check whether the resulting callee name is a sip user agent
or a PSTN phone number.
Step5: If the resulted callee name is just a local sip user agent the gateway construct a
simple INVITE request, but if it turned to be a PSTN number the gateway calls the
appropriate gateway the same way as the PC to PHONE scenario.
(The gateway may ask the caller to start the number with ‘*’ if he wishes to call a
PSTN number).
Step6: The rest is like a normal PC to PC scenario. [1][6]
5.4 Testing and Analysis of Results By accomplishing the design and implementation stage of the application
components, the testing stage may be immediately executed. This would take us to the
scenarios previously suggested in the last chapter in order to carefully observe and
evaluate the obtained results after testing the performance of the application.
5.4.1 Testing Example • As an example consider a company with two branches one in Khartoum the
other in Madani. Each branch has a single telephone line. Branches are
connected with an IP network (WAN). An Employee uses his name to register
to the server and then can be called or can call other employees by dialing
their names. This is typically a Pc to Pc scenario.
• Any outside caller calling an internal employee from Khartoum or Madani
dials the company phone number (Khartoum number if calling from
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 43
Chapter 5- Simulation Design & Evaluation _________________________________________________________________________________________________________________________________________
Khartoum). If gateway phone line is not busy, it will answer and plays a
welcome message to him. It asks caller for callee number. Company policies
determine employees who can be reached from outside (from PSTN). Each
one of those employees will have a number correspondents to him because
employees are registered with there names and a PSTN caller can not specify
names using a telephone or a cell phone. When gateway answers it starts
detecting any digits pressed by the caller to determine callee using the JTAPI
DTMF tone digits detection which detects any tone digits in the phone line (*,
#, any numbers from 0 to 9).
• After detecting callee number gateway maps the digits to a name and then
send an INVITE to that user. Now the caller is connected to the callee pc
through the gateway, if BUSY, TEMPORARY UNAVAILABLE is returned,
the caller listens to busy tone and gateway hangs up to release the modem. If
callee answers an RTP stream is opened between callee and the gateway. Now
the gateway is connected to a PSTN user so gateway instead of playing the
received stream in its speakers it plays it in the modem so caller can hear
callee. And instead of playing received audio from modem in its speakers it
plays it in the microphone (sound card) so callee can receive caller voice.
• When an employee wants to call a PSTN user it dials its number preceded by
gateway number (INVITE gateway). Gateway dials the callee number and
then answered the ALERTING call. Caller is now connected to callee as in the
same previous scenario (Phone to Pc).
5.4.2 Evaluation of Results Consider this scenario to show how national calls cost between Khartoum
and Madani is reduced. An employee in Khartoum can call a PSTN user in Port Sudan
and still charged as calling locally. He/She will dial callee number preceded by
Madani gateway address. So connection from Khartoum to Madani will be through
the IP network, in Madani the gateway will dial callee phone number which will be
charged locally. Same concept can be applied using the internet which is a
conventional IP network but connects users located in large geographic areas. So a
user can call from Sudan to USA and only charged as he/she is calling locally in
USA. The last case introduced here is rather a more critical one, as VoIP protocols
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 44
Chapter 5- Simulation Design & Evaluation _________________________________________________________________________________________________________________________________________
have taken various schemes and protocols all over IP environment, in addition to
facing a lot of challenges in their way to mature and standardize such as bandwidth
requirements, delays, jitter, echo, reliability and quality of service.
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 45
Chapter 6- Conclusion and comments _________________________________________________________________________________________________________________________________________
6.1 Conclusion The project achieves its final goal that is implementing and demonstrating the
Next Generation Network VoIP technology through building a reliable phone to
phone communication service. Although the quality of voice can be much better by
using a more advanced hardware, the achieved quality is satisfactory.
Moreover, one of the most important aims of this project is to reveal the
compelling feature of deploying Next Generation Network architecture. The
methodology followed was a proper choice of the scenarios desired. Also, a typical
model of VoIP service over the SIP protocol architecture has been properly
constructed and successfully verified using Java software packages and an appropriate
SIP protocol stack. Simulation of the implemented application in its different
anticipated scenarios has been executed accurately; this was done in the testing stage
where the quality of the voice service delivered was considered to be acceptable as
much as necessary. In other words, the system replied for all scenarios of the tests.
Also, the packages used are simple to set up and install and has attractive user
interfaces which are very easily familiarized to users without any previous knowledge
about the specific details of the model. It enables users to start up voice connection
from any location and at any time.
Also, we can conclude that, the traditionally PSTN is considered to be the best
provider for voice services, it presents a very high Quality of Services (QoSs) with
high costs and poor utilization of the bandwidth. In contract, the pure Voice over IP
(VoIP) networks which provide a patchy voice services by using packet voice. Their
quality of services (QoSs) is very low comparing with the PSTNs, also, they have a
very high utilization of the bandwidth with extremely low costs (almost for free). As
mentioned before, the NGN (Next Generation Network) is the architecture that
seamlessly blends the PSTN and the data network (IP network) creating a single
multi-service network. Assume that, we are going to provide voice services managed
by a voice service provider using an NGN platform. NGN with IP as its core bears all
the services offered by other networks (such as PSTNs), offloads large amount of data
transmission to the IP network to reduce the load over the network elements. NGN's
structural design allows flexible dimensioning of bandwidth, eliminating the need for
fixed size trunks groups for voice, thus making it easier to manage network structures.
The result of approval of NGN architecture is a limitless bandwidth (distance not a
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 47
Chapter 6- Conclusion and comments _________________________________________________________________________________________________________________________________________
factor), cheap processing with everywhere simple always-on user interfaces,
guaranteed service quality and regulation in addition to reliability and security. With
NGN, not only the computer network, even the cable television network will be
converged into the IP network.
6.2 Recommendations In this report, there are some aspects that have not in any way proposed or studied
which remains to be solved. These are:
• Implementing SIP security aspects to assure security of the application
users. Another branch that is left open for any future candidates is a careful
consideration of the security aspects that could be adjusted to the
application, in order to add authentication and confidentiality attributes to
the package.
• Current proxy server has the ability of serving a limited number of
concurrent users (approximately 16). For commercial use it is better to use
a proxy with more capabilities (number of concurrent users, billing
system...etc.).
This project opens the door for new generation of applications which have
unlimited services and benefits…
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 48
References _________________________________________________________________________________________________________________________________________
References 1. Ahmad S. Malik, Next Generation Network, ETISALAT
ACADEMY,
2. Next Generation Network, TEKOnsult (Telecom Engineering and
Consulting).
3. Akef J. Esmeirat, IP Networks, ETISALAT ACADEMY, October
2005.
4. M. Hardley, H. schulzrinne, E. Eschooler, J. Rosenberg, Session
Initiation Protocol, March 1999.
5. Fredrik Thernelius, SIP, NAT and Firewalls, may 2000.
6. www. Java .com, last visited March 2007.
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 49
Appendix _________________________________________________________________________________________________________________________________________
Appendix
Program Code For The User Agent
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.plaf.ColorUIResource;
public class main extends JFrame { Button Start; Button Config; Button Exit; Toolkit tk = Toolkit.getDefaultToolkit(); Image image = tk.getImage("picture.jpg");
public main() { ColorUIResource textColor = new ColorUIResource(48, 63, 112);
ColorUIResource color = new ColorUIResource(242, 242, 242);
setResizable(false); setSize(400, 400); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true);
mainLayout customLayout = new mainLayout();
getContentPane().setFont(new Font("Helvetica", Font.PLAIN, 18)); getContentPane().setLayout(customLayout); getContentPane().setBackground(color);
Start = new Button("Start"); Start.setBackground(color); Start.setForeground(textColor);
getContentPane().add(Start);
Config = new Button("Configration"); Config.setBackground(color); Config.setForeground(textColor); getContentPane().add(Config);
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 50
Appendix _________________________________________________________________________________________________________________________________________
Exit = new Button("Exit"); Exit.setBackground(color); Exit.setForeground(textColor); getContentPane().add(Exit);
setSize(getPreferredSize());
addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } });
//===========================================================
Start.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ee) {
hide(); dispose(); SipCommunicator sipCommunicator = new SipCommunicator(); sipCommunicator.launch();
}//end actionPerformed }//end ActionListener );//end addActionListener() Config.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ee) { PropertiesConfig window = new PropertiesConfig();
window.setTitle("Properties Configration"); window.pack(); window.show(); hide();
}//end actionPerformed }//end ActionListener );//end addActionListener()
Exit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ee) { System.exit(0); }//end actionPerformed ___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 51
Appendix _________________________________________________________________________________________________________________________________________
}//end ActionListener );//end addActionListener()
//===========================================================
} public void paint(Graphics g) { g.drawImage(image, 0, 10, this); }
public static void main(String args[]) {
main window = new main();
window.setTitle("main"); window.pack(); window.show(); } }
class mainLayout implements LayoutManager {
public mainLayout() { }
public void addLayoutComponent(String name, Component comp) { }
public void removeLayoutComponent(Component comp) { }
public Dimension preferredLayoutSize(Container parent) { Dimension dim = new Dimension(0, 0);
Insets insets = parent.getInsets(); dim.width = 575 + insets.left + insets.right; dim.height = 279 + insets.top + insets.bottom;
return dim; }
public Dimension minimumLayoutSize(Container parent) { ___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 52
Appendix _________________________________________________________________________________________________________________________________________
Dimension dim = new Dimension(0, 0); return dim; }
public void layoutContainer(Container parent) { Insets insets = parent.getInsets();
Component c; c = parent.getComponent(0); if (c.isVisible()) {c.setBounds(insets.left+32,insets.top+120,168,40);} c = parent.getComponent(1); if (c.isVisible()) {c.setBounds(insets.left+368,insets.top+120,168,40);} c = parent.getComponent(2); if (c.isVisible()) {c.setBounds(insets.left+200,insets.top+120,168,40);} } }
___________________________________________________________________________________________________________________________________
Next Generation Network Final Year Project - 2007 53