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 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 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

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.

viii

CHAPTER 1 INTRODUCTION

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 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 ______

Soft switch Call control Tandem /toll Packet core exchange network

Trunk gateway

LE LE

IN NMS App Server Policy Service Soft switch Soft switch Packet core network ISUP SG

STP TMG WMG switch AMG PSTN PLMN IAD PC SIP H.323 Phone Phone Phone

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.

______Next Generation Network 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 Network basic concepts

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

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.

Service Management

Network Control

Core Switch

Edge Access

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:

Packet Core Network

Edge Access

IAD AMG SG TMG UMG WMG BroadBand PSTN PLMN/3G 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

Call control path

IP Core Network Talking Path UMG

IAD AMG UMG 3G Access Broadband SG Access TMG PSTN PLMN

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:

Policy Service Management Application Location IOSS Server MRS SCP Server Server

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 ______

Service

Management iOSS Policy Application Location RADIUS MRS SCP Server Server Server Server

Network Control SoftSwitch SoftSwitch

Core Switching Packet Core Network

Edge Access

IAD AMG SG TMG UMG WMG Broadband PSTN PLMN/3G Access

Figure (3.6) NGN Architecture

______Next Generation Network Final Year Project - 2007 20

CHAPTER 4 VoIP Implementation in NGN

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 Binary (ASN.1, Q.931) Text (HTTP-ish) Encoding Server State-full State-less, Transaction oriented processing Addressing Aliases, email SIP URLs Call Setup V1: 6-7x RTT to V3: 1.5-2.5x 1.5x RTT delay 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 Description Examples 1xx Informational. 100 trying. 180 ringing. 181 call is being forwarded. 2xx Success. 200 OK 3xx Redirection. 300 multiple choices. 301 moved permanently. 302 moved temporarily. 4xx Client error. 400 bad request 401 unauthorized. 406 not acceptable. 408 request timeout. 415 unsupported media type. 5xx Server error. 502 bad gateway. 503 service unavailable. 505 version not supported. 6xx Global failure. 600 busy everywhere. 603 decline.

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 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

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

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); = new ColorUIResource(242, ColorUIResource color 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