20.01.2013 Views

4. GSM - Global System for Mobile Communications - TECA ELIS

4. GSM - Global System for Mobile Communications - TECA ELIS

4. GSM - Global System for Mobile Communications - TECA ELIS

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

STUDY OF NETWORK NODES RELIABILITY<br />

DEVELOPMENT OF TREND ANALYSIS APPLICATIONS FOR THE<br />

NETWORK SUPPORT<br />

By<br />

Sebastiano Ingallo<br />

Course tutor<br />

Cristian D'Aloisi<br />

Thesis advisor<br />

Stefano Gollinucci<br />

TELECOMMUNICATION MANAGER 7<br />

2005 - 2007<br />

19 February - 20 June 2007<br />

Telecommunication Manager 7<br />

1


Table of contents<br />

Telecommunication Manager 7<br />

Preface 7<br />

1. Introduction 10<br />

2. About Vodafone 11<br />

2.1 History 11<br />

3. Signaling protocols 12<br />

3.1 Protocols 12<br />

3.2 SS7 History 12<br />

3.3 SS7 Functionality 13<br />

3.4 SS7 Protocol Stack 15<br />

3.5 INAP 16<br />

3.6 MAP 17<br />

3.6.1 Facilities provided 17<br />

3.6.2 Published specifications 18<br />

3.6.3 Implementation 18<br />

3.7 ISUP 18<br />

3.7.1 ISUP variants 19<br />

3.7.2 Message types 19<br />

2


Telecommunication Manager 7<br />

3.8 SCCP 20<br />

3.8.1 Published specifications 21<br />

3.8.2 Routing facilities beyond MTP-3 21<br />

3.8.3 Classes of service 22<br />

<strong>4.</strong> <strong>GSM</strong> - <strong>Global</strong> <strong>System</strong> <strong>for</strong> <strong>Mobile</strong> <strong>Communications</strong> 25<br />

<strong>4.</strong>1 Overview 25<br />

<strong>4.</strong>2 Network Structure 26<br />

<strong>4.</strong>3 Signaling Backbone 29<br />

<strong>4.</strong>3.1 Voice Signaling Backbone 30<br />

<strong>4.</strong>3.2 Signaling Backbone (third layer) 34<br />

<strong>4.</strong>4 <strong>GSM</strong> Mobility 39<br />

<strong>4.</strong>5 Identifiers in the <strong>GSM</strong> Network 41<br />

<strong>4.</strong>5.1 International <strong>Mobile</strong> Subscriber Identity 41<br />

<strong>4.</strong>5.2 MSISDN Number 42<br />

<strong>4.</strong>5.3 International <strong>Mobile</strong> Equipment Identifier 43<br />

<strong>4.</strong>5.4 <strong>Mobile</strong> Station Roaming Number 44<br />

<strong>4.</strong>6 Basic services 45<br />

<strong>4.</strong>6.1 Tele services 45<br />

<strong>4.</strong>6.2 Bearer services 46<br />

<strong>4.</strong>7 Supplementary services 47<br />

3


Telecommunication Manager 7<br />

5. GPRS - General Packet Radio Service 48<br />

5.1 Overview 48<br />

5.2 GPRS technical overview 49<br />

5.2.1 SGSN 50<br />

5.2.2 GGSN 51<br />

5.2.3 Connectivity between the SGSN & GGSN 51<br />

5.3 IP Addressing 53<br />

5.3.1 Allocating addresses 53<br />

5.3.2 How does the SGSN know which GGSN to direct you to? 54<br />

5.3.3 IP Version 6 55<br />

5.4 GPRS handset classes 56<br />

5.<strong>4.</strong>1 Class A 56<br />

5.<strong>4.</strong>2 Class B 56<br />

5.<strong>4.</strong>3 Class C 56<br />

5.5 GPRS QoS 57<br />

5.5.1 Network architecture 57<br />

5.5.2 Radio interface 57<br />

5.5.3 Classes of GPRS services 57<br />

5.6 Problems with GPRS 59<br />

4


Telecommunication Manager 7<br />

6. UMTS - Universal <strong>Mobile</strong> Telecommunication <strong>System</strong>s 60<br />

6.1 Definition 60<br />

6.2 Overview 60<br />

6.3 2G to 3G: <strong>GSM</strong> Evolution 61<br />

6.4 UMTS Network architecture 62<br />

6.<strong>4.</strong>1 Network elements from <strong>GSM</strong> Phase 1/2 63<br />

6.<strong>4.</strong>2 Network elements from <strong>GSM</strong> Phase 2 + 64<br />

6.<strong>4.</strong>3 Network elements from UMTS Phase 1 65<br />

6.5 UMTS Interfaces 70<br />

7. TRENDY Suite 81<br />

7.1 Overview 81<br />

7.1.1 Trendy Batch service 82<br />

7.1.2 Trendy Client 84<br />

7.2 Trendy Server 89<br />

7.2.1 Overview 89<br />

7.2.2 "Gestione Elenco Client" 91<br />

7.2.3 "Gestione Apparati" 96<br />

7.2.4 "Gestione Elenco KEY DNCP" 100<br />

7.2.5 "Gestione Elenco KEY" 101<br />

7.2.6 "Elenco SM" 102<br />

5


Telecommunication Manager 7<br />

7.2.7 "Impostazione Parametri" 103<br />

8. SIGTRAN & EAGLE 5 109<br />

8.1 SIGTRAN 109<br />

8.1.1 SIGTRAN Definition and overview 109<br />

8.1.2 Why develop a new transport protocol? 111<br />

8.1.3 SIGTRAN Protocol architecture 112<br />

8.1.4 SCTP 113<br />

8.1.5 M2PA 116<br />

8.1.6 M2UA 117<br />

8.1.7 M3UA 117<br />

8.1.8 SUA 118<br />

8.2 Lucent/Tekelec EAGLE 5 119<br />

8.2.1 Eagle 5 Network Architecture 120<br />

8.2.2 Logical connections 120<br />

8.2.3 Physical connections 122<br />

Conclusions 128<br />

Acknowledgments 125<br />

Attachment - Trendy Server Demo Code 129<br />

6


Preface<br />

Telecommunication Manager 7<br />

My experience with Elis starts on 3 october 2005, since first days I met cosy people who<br />

let me feel at ease.<br />

During the course I studied various subjects, starting from computer science basics, going<br />

toward some main programming languages and finishing with computer networks.<br />

Furthermore I took part in the development of two projects.<br />

The subjects I liked better are those concerning networking, in particular Cisco CCNA<br />

and Cisco network security curricula, in fact the first one let me successfully pass the<br />

Cisco CCNA certification exam, a certification I strongly desired. Besides, <strong>for</strong> my part,<br />

the courses on UNIX operating systems and theirs security have been very interesting,<br />

since all along I'm keen about UNIX. Moreover I think that the course concerning safe<br />

programming with Visual Basic 6 has been very helpful, cause in the stage i programmed<br />

with VB6.<br />

End on first year I contributed to develop a web plat<strong>for</strong>m used <strong>for</strong> the management of the<br />

rooms in the Elis offices. Such a plat<strong>for</strong>m gives to a teacher the opportunity to reserve a<br />

room via web and it shows, in a display located in the lounge, a list with the room and<br />

the reservations. Furthermore, with the list, it is also shown a sponsor movie. My own<br />

task has been to develop the part concerning the visualization of the list and the movie.<br />

After that project I worked with some guys that were attending a stage at Elis. The project<br />

consisted in the development of a web plat<strong>for</strong>m used to create, on demand, a virtual<br />

networking lab. In this case my own task has been to study in which way the XML<br />

markup language could be used to retrieve data about the lab, as an example the number<br />

of PCs or routers to use.<br />

I started the second year by staying in Dublin <strong>for</strong> five weeks. The goal of that permanence<br />

has been to improve my english by working and living with mother tongue people.<br />

I worked as an assistant at the UCD's Computing Center (University College of Dublin).<br />

By now I think about that experience as an amazing opportunity to improve my english<br />

7


Telecommunication Manager 7<br />

and to meet wonderful people, which let me feel at home and people with which I'm still<br />

keeping in touch.<br />

Once I come back from Dublin I started to study again <strong>for</strong> the Cisco curricula, in view of<br />

the fact that I was going to take the Cisco certification exam. As I mentioned be<strong>for</strong>e, I'm<br />

very happy because I got certified and to this day, when I think about the certification day,<br />

19 december, I still feel a kind of excited.<br />

But in those days other important things were also happening, I'm talking about the interviews<br />

I had with Elis' partner companies, actually the first out and out interviews I ever<br />

had with external companies. I interviewed both with RAI and Ericsson. In particular the<br />

first one has been a technical interview, while the second one has been I kind of personal<br />

interview. After the interviews the Ericsson's representative called me and offered<br />

me to work in Ericsson <strong>for</strong> a stage.<br />

In the first days of January the all classroom has been involved in an amazing experience,<br />

in fact Emilio Tonelli, our teacher, suggested us to use our knowledge in a<br />

scenario like the real world. The lab experience has been called "Digital War", it consisted<br />

in the simulation of an environment like the internet, in which we had to set up<br />

services and make them work in a safely way to hold up on attacks. We have been divided<br />

in five groups of three people, each group had to set up and manage their own<br />

service, further mandatory services as ftp and ssh. After set up the services, each group<br />

would attack each other trying to find and to exploit weaknesses. My group had the task<br />

to set up a blog server. After only one day of war, my group suddenly got the password<br />

of the router which connected together all servers, then I let you realize how easily we<br />

got the control of the whole network.<br />

The days next the "Digital War" I received a proposal from Elis, they would give me the<br />

opportunity to work <strong>for</strong> a stage in the Vodafone centre of Ivrea. Then I thought that such<br />

a stage could be very helpful to improve my knowledge about mobile communications,<br />

hence, on 31 January I had an interview with my leader Stefano Gollinucci and on 19<br />

February I started my experience in Vodafone.<br />

I joined in a team involved in the support and management of the network and the international<br />

roaming. Such a team is widespread in three facilities: Roma, Milano and Ivrea.<br />

8


Telecommunication Manager 7<br />

There my own task has been to contribute in the developing of a software suite used <strong>for</strong><br />

the network monitoring.<br />

9


1. Introduction<br />

The project's purpose is to study the reliability of the network and its nodes by developing<br />

a group of trend analysis applications <strong>for</strong> the network support.<br />

The main task is there<strong>for</strong>e to provide a support in the implementation of a software suite.<br />

This suite offers two services: the daily interrogation of the NFM system, <strong>for</strong> the recovery<br />

of the HTSs reports (using predetermined keys) and the direct recovery of the DNCPs<br />

reports. Such a suite includes three different applications:<br />

Trendy Batch Service<br />

Trendy Server<br />

Trendy Client<br />

These three applications will be discussed in depth in the next pages.<br />

Telecommunication Manager 7<br />

Anyway, when I arrived in Vodafone, the Trendy Batch Service and the Trendy Server<br />

applications were already developed and they were working properly, by then only the<br />

Trendy Server needed to be completed. Thus, to give support to a colleague in the<br />

Trendy Server development has been my own task.<br />

In the next pages I will give you a brief history on how the <strong>for</strong>mer Omnitel group has become<br />

the actual Vodafone Italia. Successively, I will talk about different types of protocols<br />

involved in mobile networks and three of the most widely used mobile phones technologies,<br />

or rather the three technologies currently used by Vodafone Italia. Next I will<br />

point out how the Trendy suite works and what I have done to contribute to the Trendy<br />

Server implementation.<br />

Finally, I will give you a brief overview of the SIGTRAN technology (such a technology is<br />

going to be introduced in the Vodafone's network) and I will talk about the new EAGLE 5<br />

devices.<br />

10


2. About Vodafone<br />

Vodafone Italia (<strong>for</strong>mer Omnitel Pronto- Italia) is an Italian mobile telephony operator.<br />

The company has 26,188,000 customers, as of 30 September 2006, placing it just behind<br />

TIM. Vodafone Italia is an owned subsidiary of Vodafone Group plc (76.86%) & Verizon<br />

(23.14%), and like other European operators, uses <strong>GSM</strong> and UMTS technologies.<br />

2.1 History<br />

Omnitel Pronto-Italia launched its services in Italy.<br />

Telecommunication Manager 7<br />

Omnitel was a mobile operator and Infostrada (today owned by Wind) was a fixed-line<br />

operator. They belonged to Olivetti and represented the first telephone alternative to<br />

monopolists TIM and Telecom Italia.<br />

Original majority owner Olivetti sold its interest in Omnitel and Infostrada to the German<br />

consortium Mannesmann (which had been a minority shareholder since 1997) after Olivetti<br />

took control of Telecom Italia, and thus TIM, in 1999, Mannesmann took control of<br />

Omnitel with a 53.7% equity stake.<br />

The following year Vodafone purchased Mannesmann, thus taking control of Omnitel.<br />

The Vodafone brand was introduced as Omnitel-Vodafone in 2001, made the primary<br />

brand as Vodafone-Omnitel in 2002; finally the current name Vodafone Italia was introduced<br />

in 2003, dropping "Omnitel" altogether. Vodafone Italia still uses the old Vodafone<br />

Speechmark logo.<br />

11


3. Signaling Protocols<br />

3.1 Protocols<br />

The Vodafone Signaling Network is based on the Signaling <strong>System</strong> #7, that is a set of<br />

telephony signaling protocols which are used to set up the vast majority of the world's<br />

public switched telephone network telephone calls.<br />

It is usually abbreviated to SS7 though in North America it is often referred to as CCSS7,<br />

an acronym <strong>for</strong> "Common Channel Signaling <strong>System</strong> 7". In some European countries,<br />

specifically the United Kingdom, it is sometimes called C7 (CCITT number 7) and is also<br />

known as number 7 and CCISTT (ITU-T was <strong>for</strong>merly known as CCITT).<br />

3.2 SS7 History<br />

Telecommunication Manager 7<br />

The SS7 protocols have been developed by AT&T since 1975 and defined as standard<br />

by ITU-T during 1981 in ITU-T's Q.7XX-series recommendations. SS7 was designed to<br />

replace Signaling <strong>System</strong> #5 (SS5) and Signaling <strong>System</strong> #6 (SS6) and R2, all of which<br />

are ITU standards defined by ITU-T prior to SS7 and were once in widespread international<br />

use. SS7 has substantially replaced SS6, SS5, and R2, with the exception that R2<br />

variants are still used in numerous nations. SS5 and earlier used in-band signaling ,<br />

where the call-setup in<strong>for</strong>mation was sent by playing special tones into the telephone<br />

lines (known as bearer channels in the parlance of the telecom industry). This led to a<br />

number of security problems when users discovered on certain telephone switching<br />

equipment that they could play these tones into the telephone handset and control the<br />

network even without the "special keys" on an operators handset. So-called phreaks<br />

experimented with fooling the telephone exchanges by sending their own usergenerated<br />

signaling tones from small electronic boxes known as blue boxes. Modern<br />

12


designs of telephone equipment that implement in-band signaling protocols explicitly<br />

keep the end-user's audio path—the so-called speech path—separate from the signaling<br />

phase to eliminate the possibility that the MF tones used <strong>for</strong> signaling are introduced by<br />

the end-user, which defeats the blue-box phreaking technique.<br />

SS7 moved to a system in which the signaling in<strong>for</strong>mation was out-of-band, carried in a<br />

separate signaling channel. This avoided the security problems earlier systems had, as<br />

the end user had no connection to these channels. SS6 and SS7 are referred to as socalled<br />

Common Channel Interoffice Signaling <strong>System</strong>s (CCIS) or Common Channel<br />

Signaling (CCS) due to their hard separation of signaling and bearer channels. However<br />

it also required a separate channel dedicated solely to signaling, but due to the rapid rise<br />

in the number of available channels at the same time this was a moot point.<br />

3.3 SS7 Functionality<br />

Telecommunication Manager 7<br />

Signaling refers to the exchange of in<strong>for</strong>mation between call components required to<br />

provide and maintain service.<br />

As users of the PSTN, we exchange signaling with network elements all the time. Examples<br />

of signaling between a telephone user and the telephone network include: dialing<br />

digits, providing dial tone, accessing a voice mailbox, sending a call-waiting tone, etc.<br />

SS7 is a means by which elements of the telephone network exchange in<strong>for</strong>mation. In<strong>for</strong>mation<br />

is conveyed in the <strong>for</strong>m of messages.<br />

SS7 provides a universal structure <strong>for</strong> telephony network signaling, messaging, interfacing,<br />

and network maintenance. It deals with establishment of a call, exchanging user in<strong>for</strong>mation,<br />

call routing, different billing structures, and supports Intelligent network (IN)<br />

services.<br />

The most fundamental use of SS7 is to deliver a telephone call across the large public<br />

switched telephone network. To do this the call must make several hops (from my phone<br />

13


company, to a long distance company, to your local company, and so <strong>for</strong>th). At each hop<br />

along the way the telephone switches need to know from where the call is coming in<br />

(which phone line or which channel of a trunk) and to where it needs to go. This takes a<br />

lot of coordination. ISUP (or ISDN user part signaling) is a type of SS7 communication<br />

which deals with getting all these various links of the end to end call lined up. The ISUP<br />

messages get passed along from hop to hop, and at each point the the call's circuit gets<br />

extended a little further until it is built end to end.<br />

In order to move some non-time critical functionality out of the main signaling path, and<br />

<strong>for</strong> future flexibility, the concept of a separate "service plane" was introduced by the IN<br />

technology. The initial, and still the most important use of IN technology has been <strong>for</strong><br />

number translation services, e.g. when translating toll free numbers to regular PSTN<br />

numbers. But much more complex services have since been built on IN, such as CLASS<br />

and prepaid telephone calls.<br />

SS7 is used in the mobile cellular telephony networks like <strong>GSM</strong> and UMTS <strong>for</strong> voice<br />

(Circuit Switched [CS Below]) and data (Packet Switched [PS Below]) applications.<br />

Here are some of the <strong>GSM</strong>/UMTS CS interfaces in the MSC transported over SS7:<br />

B -> VLR (uses MAP/B). Most MSCs are associated with a VLR, making the B<br />

interface "internal".<br />

D -> HLR (uses MAP/D) <strong>for</strong> attaching to the CS network and location update<br />

E -> MSC (uses MAP/E) <strong>for</strong> inter-MSC handover<br />

F -> EIR (uses MAP/F) <strong>for</strong> equipment identity check<br />

H -> SMS-G (uses MAP/H) <strong>for</strong> SMS over CS<br />

There are also several <strong>GSM</strong>/UMTS PS interfaces in the SGSN transported over SS7:<br />

Gr -> HLR <strong>for</strong> attaching to the PS network and location update<br />

Gd -> SMS-C <strong>for</strong> SMS over PS<br />

Telecommunication Manager 7<br />

14


Gs -> MSC <strong>for</strong> combined CS+PS signaling over PS<br />

Ge -> Charging <strong>for</strong> CAMEL prepaid charging<br />

Gf -> EIR <strong>for</strong> equipment identity check<br />

3.4 SS7 Protocol Stack<br />

The SS7 protocol stack borrows partially from the OSI Model of a packetized digital protocol<br />

stack. OSI layers 1 to 3 are provided by the Message Transfer Part (MTP) of the<br />

SS7 protocol; <strong>for</strong> circuit related signaling, such as the Telephone User Part (TUP) or the<br />

ISDN User Part (ISUP), the User Part provides layers 4 to 7, whereas <strong>for</strong> non-circuit related<br />

signaling the Signaling Connection and Control Part (SCCP) provides layer 4 capabilities<br />

to the SCCP user. The Transaction Capabilities Application Part (TCAP) is the<br />

primary SCCP User in the Core Network, using SCCP in connectionless mode. SCCP in<br />

connection oriented mode provides the transport layer <strong>for</strong> air interface protocols such as<br />

BSSAP and RANAP. TCAP provides transaction capabilities to its Users (TC-Users),<br />

such as the <strong>Mobile</strong> Application Part, the Intelligent Network Application Part and the<br />

CAMEL Application Part.<br />

The MTP covers the transport protocols including network interface, in<strong>for</strong>mation transfer,<br />

message handling and routing to the higher levels. SCCP is a sub-part of other L4 protocols,<br />

together with MTP 3 it can be called the Network Service Part (NSP), it provides<br />

end-to-end addressing and routing, connectionless messages (UDTs), and management<br />

services <strong>for</strong> the other L4 user parts. TUP is a link-by-link signaling system used to connect<br />

calls. ISUP is the key user part, providing a circuit-based protocol to establish,<br />

maintain, and end the connections <strong>for</strong> calls. TCAP is used to create database queries<br />

and invoke advanced network functionality, or links to intelligent networks (INAP), mobile<br />

services (MAP), etc.<br />

The following table summarizes the SS7 protocol suite.<br />

Telecommunication Manager 7<br />

15


SS7 protocol suite<br />

Layer Protocols<br />

INAP, MAP, IS-41, ...<br />

Application<br />

TCAP, CAP, ISUP, ...<br />

Transport SCCP<br />

Network MTP Level 3<br />

Data link MTP Level 2<br />

Physical MTP Level 1<br />

Below are described some protocols that are widely used in the mobile cellular telephony<br />

networks.<br />

3.5 INAP<br />

Telecommunication Manager 7<br />

The Intelligent Network Application Part (INAP) is a signalling protocol used in the intelligent<br />

network architecture. It is part of the SS7 protocol suite, typically layered on top of<br />

TCAP.<br />

The ITU defines several "capability levels" <strong>for</strong> this protocol, starting with Capability Set 1<br />

(CS-1). A typical application <strong>for</strong> the IN is a Number Translation service. For example, in<br />

the United Kingdom, 0800 numbers are freephone numbers and are translated to a geographic<br />

number using an IN plat<strong>for</strong>m. The Telephone exchanges decode the 0800 numbers<br />

to an IN trigger and the exchange connects to the IN.<br />

The Telephone exchange uses TCAP, SCCP and INAP and in IN terms is a Service<br />

Switching Point. It sends an INAP Initial Detection Point (IDP) message to the Service<br />

Control Point. The SCP returns an INAP Connect message, which contains a geographic<br />

number to <strong>for</strong>ward the call to.<br />

16


INAP messages are defined using ASN.1 encoding. SCCP is used <strong>for</strong> the routing. Extended<br />

<strong>for</strong>m of INAP is Customized Applications <strong>for</strong> <strong>Mobile</strong> Enhanced Logic. TCAP is<br />

used to separate the transactions into discrete units.<br />

3.6 MAP<br />

The <strong>Mobile</strong> Application Part (MAP) is an SS7 protocol which provides an application<br />

layer <strong>for</strong> the various nodes in <strong>GSM</strong> and UMTS mobile core networks and GPRS core<br />

networks to communicate with each other in order to provide services to mobile phone<br />

users. The <strong>Mobile</strong> Application Part is the application-layer protocol used to access the<br />

Home Location Register, Visitor Location Register, <strong>Mobile</strong> Switching Center, Equipment<br />

Identity Register, Authentication Centre, Short message service center and Serving<br />

GPRS Support Node.<br />

3.6.1 Facilities provided<br />

The primary facilities provided by MAP are:<br />

Mobility Services: location management (when subscribers move within or between<br />

networks), authentication, managing service subscription in<strong>for</strong>mation, fault<br />

recovery,<br />

Operation and Maintenance: subscriber tracing, retrieving a subscriber's IMSI<br />

Call Handling: routing, managing calls whilst roaming, checking that a subscriber<br />

is available to receive calls<br />

Supplementary Services<br />

Short Message Service<br />

Telecommunication Manager 7<br />

17


Packet Data Protocol (PDP) services <strong>for</strong> GPRS: providing routing in<strong>for</strong>mation<br />

<strong>for</strong> GPRS connections<br />

Location Service Management Services: obtaining the location of subscribers<br />

3.6.2 Published specification<br />

The <strong>Mobile</strong> Application Part specifications were originally defined by the <strong>GSM</strong> Association,<br />

but are now controlled by ETSI/3GPP. MAP is defined by two different standards,<br />

depending upon the mobile network type:<br />

MAP <strong>for</strong> <strong>GSM</strong> (prior to Release 4) is specified by 3GPP TS 09.02;<br />

MAP <strong>for</strong> UMTS ("3G") and <strong>GSM</strong> (Release 99 and later) is specified by 3GPP<br />

TS 29.002.<br />

3.6.3 Implementation<br />

MAP is a Transaction Capabilities Application Part (TCAP) user, and as such can be<br />

transported using 'traditional' SS7 protocols or over IP using SIGTRAN via an appropriate<br />

adaptation layer such as the SCCP User Adaptation (SUA) layer or MTP3 User Adaptation<br />

(M3UA) layer.<br />

3.7 ISUP<br />

Telecommunication Manager 7<br />

The ISDN User Part or ISUP is part of the Signaling <strong>System</strong> #7 which is used to set up<br />

telephone calls in Public Switched Telephone Networks. It is specified by the ITU-T as<br />

part of the Q.76x series.<br />

18


When a telephone call is set up from one subscriber to another, many telephone exchanges<br />

will be involved, possibly across international boundaries. To allow the call to be<br />

set up correctly, the switches signal call-related in<strong>for</strong>mation like called or calling party<br />

number to the next switch in the network using ISUP messages.<br />

The telephone exchanges are connected via E1 or T1 trunks which transport the speech<br />

from the calls. These trunks are divided into 64 kbit/s timeslots, and one timeslot can<br />

carry exactly one call. Each timeslot between two switches is uniquely identified by a<br />

Circuit Identification Code (CIC) which is included in the ISUP messages. The exchange<br />

uses this in<strong>for</strong>mation along with the received signaling in<strong>for</strong>mation (especially the Called<br />

Party Number) to determine which inbound CICs and outbound CICs should be connected<br />

together to provide an end to end speech path.<br />

In addition to call related in<strong>for</strong>mation, ISUP is also used to exchange status in<strong>for</strong>mation<br />

of the available timeslots. In the case of no outbound CIC being available on a particular<br />

exchange, a blocking messages is sent back to the previous switch in the chain so a<br />

new route can be tried.<br />

3.7.1 ISUP variants<br />

Different ISUP variants exist. The main specification task is per<strong>for</strong>med by the ITU-T. In<br />

Europe ETSI releases its own ISUP specification which is very close to the ITU-T ISUP.<br />

The ITU-T and ETSI ISUP are used <strong>for</strong> international connections and they are the base<br />

<strong>for</strong> national ISUP variants. Most of the countries have their own ISUP variant to cover<br />

national specific requirements. In the USA ANSI specifies the North American ISUP variant<br />

which is quite different from the ITU-T ISUP.<br />

3.7.2 Message types<br />

Telecommunication Manager 7<br />

After the mandatory fixed-length Signaling In<strong>for</strong>mation Field, an ISUP message contains<br />

a variable-length part that is dependent on the type of message being sent. These mes-<br />

19


sages are transmitted in various stages of call setup and teardown. The most common<br />

messages are:<br />

Initial Address Message (IAM): First message sent to in<strong>for</strong>m the partner<br />

switch, that a call has to be established on the CIC contained in the message. Contains<br />

the called and calling number, type of service (speech or data) and many<br />

more optional parameters.<br />

Subsequent Address Message (SAM): In case the IAM did not contain the full<br />

called number, one or more SAMs may follow containing additional digits.<br />

Address Complete Message (ACM): Message returned from the terminating<br />

switch when the subscriber is reached and the phone starts ringing.<br />

Answer Message (ANM): Sent when the subscriber picks up the phone. Normally<br />

charging starts at this moment.<br />

Release (REL): Sent to clear the call when a subscriber goes on hook.<br />

Release complete (RLC); Acknowledgement of the release - the timeslot is<br />

idle afterwards and can be used again. This is also sent (without a preceding Release<br />

message) if the terminating switch determines that the call cannot be completed.<br />

The terminating switch also sends a Cause Value to explain the reason <strong>for</strong><br />

the failure, e.g., "User busy".<br />

3.8 SCCP<br />

Telecommunication Manager 7<br />

Signaling Connection and Control Part (SCCP) is a transport layer protocol which provides<br />

extended routing, flow control, segmentation, connection-orientation, and error correction<br />

facilities in Signaling <strong>System</strong> 7 telecommunications networks. SCCP relies on the<br />

services of MTP <strong>for</strong> basic routing and error detection.<br />

20


3.8.1 Published specification<br />

The base SCCP specification is defined by the ITU-T, in recommendations Q.711 to<br />

Q.71<strong>4.</strong> There are, however, regional variations defined by local standards bodies. In the<br />

United States, ANSI publishes its modifications to Q.713 as ANSI T1.112 or JT-Q.711 to<br />

JT-Q.714, whilst in Europe ETSI publishes ETSI EN 300 009, which documents its modifications<br />

to the ITU-T specification.<br />

3.8.2 Routing facilities beyond MTP-3<br />

Although MTP-3 provides routing capabilities based upon the Point Code, SCCP allows<br />

routing using a Point Code and Subsystem number or a <strong>Global</strong> Title.<br />

A Point Code is used to address a particular node on the network, whilst a Subsystem<br />

number addresses a specific application available on that node. SCCP employs a process<br />

called <strong>Global</strong> Title Translation (which is similar to DNS resolution in IP networks) in<br />

order to determine Point Codes from <strong>Global</strong> Titles so as to instruct MTP-3 on where to<br />

route messages.<br />

SCCP messages contain parameters which describe the type of addressing used, and<br />

how the message should be routed:<br />

Address Indicator:<br />

Subsystem indicator: The address includes a Subsystem Number;<br />

Point Code indicator: The address includes a Point Code.<br />

<strong>Global</strong> title indicator:<br />

No <strong>Global</strong> Title;<br />

Telecommunication Manager 7<br />

<strong>Global</strong> Title includes Translation Type (TT), Numbering Plan Indicator<br />

(NPI) and Type of Number (TON);<br />

21


<strong>Global</strong> Title includes Translation Type only.<br />

Routing indicator:<br />

Route using <strong>Global</strong> Title only;<br />

Route using Point Code/Subsystem number.<br />

Address Indicator Coding:<br />

Address Indicator coded as national (the Address Indicator is treated as<br />

international if not specified).<br />

3.8.3 Classes of service<br />

SCCP provides 5 classes of service to its applications:<br />

Class 0: Basic connectionless;<br />

Class 1: Sequenced connectionless;<br />

Class 2: Basic connection-oriented;<br />

Class 3: Flow control connection oriented;<br />

Class 4: Error recovery and flow control connection oriented.<br />

Telecommunication Manager 7<br />

The connectionless protocol classes provide the capabilities needed to transfer one<br />

Network Service Data Unit (NSDU) in the "data" field of an XUDT, LUDT or UDT message.<br />

When one connectionless message is not sufficient to convey the user data contained<br />

in one NSDU, a segmenting/reassembly function <strong>for</strong> protocol classes 0 and 1 is<br />

provided. In this case, the SCCP at the originating node or in a relay node provides<br />

segmentation of the in<strong>for</strong>mation into multiple segments prior to transfer in the "data" field<br />

22


of XUDT (or as a network option LUDT) messages. At the destination node, the NSDU is<br />

reassembled.<br />

The connection-oriented protocol classes (protocol classes 2 and 3) provide the means<br />

to set up signaling connections in order to exchange a number of related NSDUs. The<br />

connection-oriented protocol classes also provide a segmenting and reassembling capability.<br />

If an NSDU is longer than 255 octets, it is split into multiple segments at the<br />

originating node, prior to transfer in the "data" field of DT messages. Each segment is<br />

less than or equal to 255 octets. At the destination node, the NSDU is reassembled.[1]<br />

Class 0: Basic connectionless<br />

The SCCP Class 0 service is the most basic of SCCP transports. Network Service Data<br />

Units passed by higher layers to the SCCP in the originating node are delivered by the<br />

SCCP to higher layers in the destination node. They are transferred independently of<br />

each other. There<strong>for</strong>e, they may be delivered to the SCCP user out-of-sequence. Thus,<br />

this protocol class corresponds to a pure connectionless network service. As a connectionless<br />

protocol, no transport-level dialog is established between the sender and the receiver.<br />

Class 1: Sequenced connectionless<br />

SCCP Class 1 builds on the capabilities of Class 0, with the addition of a sequence control<br />

parameter in the NSDU which allows the SCCP User to instruct the SCCP that a<br />

given stream of messages should be delivered in sequence. There<strong>for</strong>e, Protocol Class 1<br />

corresponds to an enhanced connectionless service with in-sequence delivery.<br />

Class 2: Basic connection-oriented<br />

Telecommunication Manager 7<br />

SCCP Class 2 provides the facilities of Class 1, but also allows <strong>for</strong> an entity to establish<br />

a two-way dialog with another entity using SCCP.<br />

23


Class 3: Flow control connection oriented<br />

Class 3 service builds upon Class 2, but also allows <strong>for</strong> expedited (urgent) messages to<br />

be sent and received, and <strong>for</strong> errors in sequencing (segment re-assembly) to be detected<br />

and <strong>for</strong> SCCP to restart a connection should this occur.<br />

Class 4: Error recovery and flow control connection oriented<br />

Telecommunication Manager 7<br />

Whilst SCCP Class 3 allows <strong>for</strong> error detection, Class 4 supports re-transmitting messages<br />

when errors occur.<br />

24


<strong>4.</strong> <strong>GSM</strong> - <strong>Global</strong> <strong>System</strong> <strong>for</strong> <strong>Mobile</strong><br />

<strong>Communications</strong><br />

<strong>4.</strong>1 Overview<br />

Telecommunication Manager 7<br />

The <strong>Global</strong> <strong>System</strong> <strong>for</strong> <strong>Mobile</strong> communications (<strong>GSM</strong>: originally from Groupe Spécial<br />

<strong>Mobile</strong>) is the most popular standard <strong>for</strong> mobile phones in the world. <strong>GSM</strong> service is<br />

used by over 2 billion people across more than 212 countries and territories.<br />

The ubiquity of the <strong>GSM</strong> standard makes international roaming very common between<br />

mobile phone operators, enabling subscribers to use their phones in many parts of the<br />

world.<br />

<strong>GSM</strong> differs significantly from its predecessors in that both signaling and speech channels<br />

are Digital Call quality, which means that it is considered a second generation (2G)<br />

mobile phone system. This fact has also meant that data communication was built into<br />

the system from the 3 rd Generation Partnership Project (3GPP).<br />

From the point of view of the consumers, the key advantage of <strong>GSM</strong> systems has been<br />

higher digital voice quality and low cost alternatives to making calls such as text messaging.<br />

The advantage <strong>for</strong> network operators has been the ability to deploy equipment from different<br />

vendors because the open standard allows easy inter-operability. Like other cellular<br />

standards <strong>GSM</strong> allows network operators to offer roaming services which mean subscribers<br />

can use their phones all over the world.<br />

As the <strong>GSM</strong> standard continued to develop, it retained backward compatibility with the<br />

original <strong>GSM</strong> phones; <strong>for</strong> example, packet data capabilities were added in the Release<br />

25


‘97 version of the standard, by means of GPRS. Higher speed data transmission has<br />

also been introduced with EDGE in the Release '99 version of the standard.<br />

<strong>4.</strong>2 Network structure<br />

The following picture is a schematic overview of the main components in a <strong>GSM</strong> network.<br />

The various interface labels are the <strong>for</strong>mal names given to these interfaces.<br />

The <strong>GSM</strong> network consists mainly of the following functional parts:<br />

Telecommunication Manager 7<br />

MSC – the mobile service switching centre (MSC) is the core switching entity<br />

in the network. The MSC is connected to the radio access network (RAN); the RAN<br />

is <strong>for</strong>med by the BSCs and BTSs within the Public Land <strong>Mobile</strong> Network (PLMN).<br />

Users of the <strong>GSM</strong> network are registered with an MSC; all calls to and from the<br />

26


user are controlled by the MSC. A <strong>GSM</strong> network has one or more MSCs, geographically<br />

distributed.<br />

The Vodafone's network has roughly 80 MSCs.<br />

Telecommunication Manager 7<br />

VLR – the visitor location register (VLR) contains subscriber data <strong>for</strong> subscribers<br />

registered in an MSC. Every MSC contains a VLR. Although MSC and VLR are<br />

individually addressable, they are always contained in one integrated node.<br />

GMSC – the gateway MSC (GMSC) is the switching entity that controls mobile<br />

terminating calls. When a call is established towards a <strong>GSM</strong> subscriber, a GMSC<br />

contacts the HLR of that subscriber, to obtain the address of the MSC where that<br />

subscriber is currently registered. That MSC address is used to route the call to<br />

that subscriber.<br />

HLR – the home location register (HLR) is the database that contains a sub-<br />

scription record <strong>for</strong> each subscriber of the network. A <strong>GSM</strong> subscriber is normally<br />

associated with one particular HLR. The HLR is responsible <strong>for</strong> the sending of subscription<br />

data to the VLR (during registration) or GMSC (during mobile terminating<br />

call handling).<br />

CN – the core network (CN) consists of, amongst other things, MSC(s),<br />

GMSC(s) and HLR(s). These entities are the main components <strong>for</strong> call handling<br />

and subscriber management. Other main entities in the CN are the equipment identification<br />

register (EIR) and authentication centre (AUC).<br />

The Vodafone's Backbone (core network) is composed of 12 HTSs (Hub Transit Switching),<br />

each HTS has the task to carry traffic related to voice and SMS. The core network<br />

is separated in four different zones: Milano, Bologna, Roma and Napoli; each zone includes<br />

three HTS and every MSC is connected to the HTS of its own zone. All the HTSs<br />

are connected in a three layer topology, each layer includes four HTSs and it is connected<br />

one each other. The first two layers are used <strong>for</strong> voice transport, whereas the<br />

third and last layer is used <strong>for</strong> SMS signaling transport.<br />

27


BSS – the base station system (BSS) is composed of one or more base station<br />

controllers (BSC) and one or more base transceiver stations (BTS). The BTS contains<br />

one or more transceivers (TRX). The TRX is responsible <strong>for</strong> radio signal<br />

transmission and reception. BTS and BSC are connected through the Abis interface.<br />

The BSS is connected to the MSC through the A interface.<br />

MS – the mobile station (MS) is the <strong>GSM</strong> handset.<br />

Telecommunication Manager 7<br />

A <strong>GSM</strong> network is a public land mobile network (PLMN). Other types of PLMN are the time<br />

division multiple access (TDMA) network or code division multiple access (CDMA) network.<br />

<strong>GSM</strong> uses the following sub-division of the PLMN:<br />

Home PLMN (HPLMN) – the HPLMN is the <strong>GSM</strong> network that a <strong>GSM</strong> user is<br />

a subscriber of. That implies that <strong>GSM</strong> user’s subscription data resides in the HLR<br />

in that PLMN. The HLR may transfer the subscription data to a VLR (during registration<br />

in a PLMN) or a GMSC (during mobile terminating call handling). The<br />

HPLMN may also contain various service nodes, such as a short message service<br />

centre (SMSC), service control point (SCP), etc.<br />

Visited PLMN (VPLMN) – the VPLMN is the <strong>GSM</strong> network where a subscriber<br />

is currently registered. The subscriber may be registered in her HPLMN or in another<br />

PLMN. In the latter case, the subscriber is outbound roaming (from HPLMN’s<br />

perspective) and inbound roaming (from VPLMN’s perspective). When the subscriber<br />

is currently registered in her HPLMN, then the HPLMN is at the same time<br />

VPLMN.<br />

Interrogating PLMN (IPLMN) – the IPLMN is the PLMN containing the GMSC<br />

that handles mobile terminating (MT) calls. MT calls are always handled by a<br />

GMSC in the PLMN, regardless of the origin of the call. For most operators, MT call<br />

handling is done by a GMSC in the HPLMN; in that case, the HPLMN is at the<br />

same time IPLMN. This implies that calls destined <strong>for</strong> a <strong>GSM</strong> subscriber are always<br />

routed to the HPLMN of that <strong>GSM</strong> subscriber. Once the call has arrived in the<br />

HPLMN, the HPLMN acts as IPLMN. MT call handling will be described in more de-<br />

28


tail in subsequent sections. When basic optimal routing (BOR) is applied, the<br />

IPLMN is not the same PLMN as the HPLMN.<br />

The user of a <strong>GSM</strong> network is referred to as the served subscriber; the MSC that is serving<br />

that subscriber is known as the serving MSC. Examples are:<br />

mobile originated call – the MSC that is handling the call is the serving MSC<br />

<strong>for</strong> this call; the calling subscriber is the served subscriber;<br />

mobile terminated call – the GMSC that is handling the call is the serving<br />

GMSC <strong>for</strong> this call; the called subscriber is the served subscriber.<br />

<strong>4.</strong>3 Signaling Network Architecture<br />

Each Zone is provided with:<br />

Telecommunication Manager 7<br />

3 Lucent 5ESS switches (HTS), each one with 3 Signaling Points addressable<br />

with different Signaling Point Codes;<br />

1 Cisco IPTransfer Point (SGW), acting as Signaling Gateway between legacy<br />

SS7 network and SIGTRAN enabled nodes.<br />

The first two HTS of each Zone (MIHTS01, MIHTS02, BOHTS01, BOHTS02 RMHTS01,<br />

RMHTS02, NAHTS01 and NAHTS02) are used to manage Mobility related SCCP, SMS<br />

related SCCP and ISUP signaling, while the third HTS of each Zone (MIHTS03,<br />

BOHTS03, RMHTS03 and NAHTS03) is used only to manage ISUP and SMS related<br />

SCCP signaling. The SGW of each Zone is used only to manage SCCP signaling traffic<br />

related to “Chiamami” and “Richiamami” services.<br />

29


<strong>4.</strong>3.1 Voice Signaling Backbone<br />

The Voice Signaling Backbone is made of the first two Signaling Point Codes of the<br />

HTS01 and HTS02 of each Zone. These 16 Signaling Point Codes are fully meshed in<br />

order to:<br />

provide the necessary capacity required to transfer Signaling messages between<br />

Zones;<br />

provide a high reliability in case of SDH failures on the Backbone;<br />

Telecommunication Manager 7<br />

In the following picture it is shown the connection of a “model” HTS (in this case<br />

MIHTS01) towards a remote Zone’s HTS (in this case Zone 2).<br />

The Link Sets defined between MIHTS11 and the 4 Signaling Points of HTSs in Bologna<br />

are shown. A Link Set of 1 High Speed Signaling Link (HSSL) is built between two<br />

Signaling Points. MIHTS12 has similar Link Sets. MIHTS02 is not shown in Figure 1,<br />

anyway MIHTS21 and MIHTS22 have identical Link Sets.<br />

The described connections are identical to those with HTSs in Roma and in Napoli.<br />

30


In the following picture it is shown an example of the connection that have to be configured<br />

between an HTS (in this case MIHTS01) and its twin HTS (in this case MIHTS02).<br />

The same configuration applies to every HTS.<br />

Logical connectivity between MIHTS01 and MIHTS02 is realized by means of 2 Link<br />

Sets made of 2 HSSL each.<br />

High Speed Signaling Link<br />

High Speed Signalling Link (HSSL) functionality allows to use the whole E1 physical link<br />

(not channelized) as a single signalling link, with a bandwidth of 1984 kbit/s.<br />

On Lucent HTS this feature will be hosted in the new Packet Handler 33 (PH33). A PH33<br />

can handle up to two HSSL. In order to avoid that a failure of a PH33 involves the simultaneous<br />

unavailability of two Link Sets towards the same remote Zone as well as the<br />

unavailability of two routes within a route set towards a remote Zone’s DPC, it is mandatory<br />

that a PH33 handles HSSL towards two HTS Signaling Point Codes belonging to<br />

two different remote Zones (e.g. on MIHTS11 HSSL towards BOHTS11 and RMHTS12).<br />

Physical Connectivity<br />

Telecommunication Manager 7<br />

In the following the basic principles regarding Backbone connections are described.<br />

31


Telecommunication Manager 7<br />

Link Sets connecting Signaling Points of HTSs belonging to two different Zones<br />

Each of these Link Sets will be made of a single HSSL. An E1 (VC12) link will be used<br />

<strong>for</strong> a single HSSL.<br />

In order to avoid that a failure on transmission network involves the simultaneous unavailability<br />

of two Link Sets towards the same remote Zone as well as the unavailability<br />

of two routes within a route set towards a remote Zone’s DPC on each HTS, HSSL towards<br />

remote Zone HTS will be mapped either on SDH interfaces (VC12 links - PLTU) or<br />

on PDH interfaces (E1 - DLTU).<br />

In particular, on each HTS HSSL towards all remote HTS01 Signaling Points (HTS11,<br />

HTS12) will be mapped on SDH interfaces (PLTU), connected to the main local SDH<br />

cross-connect (local MSH80 DXC), while HSSL towards all remote HTS02 Signaling<br />

Points (HTS21, HTS22) will be mapped on PDH interfaces (DLTU) which will be connected<br />

to a different local cross-connect (local MSH41c DXC). HSSL mapped on PDH<br />

interfaces will be transported on a different transmission layer with respect to HSSL<br />

mapped on SDH interfaces.<br />

The only exception to this rule is on NAHTS01 which is not equipped with E1 interfaces.<br />

On this NE all HSSL will be mapped on SDH interfaces (PLTU).<br />

Link Sets connecting Signaling Points of HTSs on belonging to the same Zone<br />

Each of these Link Sets will be made of two HSSL. HSSL belonging to the same Link<br />

Set will have complete transmission path diversity. It follows that, inside a Link Set, a<br />

HSSL will be mapped on a SDH interface (PLTU) while the other HSSL will be mapped<br />

on a PDH interface (DLTU).<br />

Principles regarding local connections from a Site (MSCs, TSCs, HLRs, SCPs) to the<br />

couple of HTSs of the same Zone<br />

Since between each remote site and the relevant Backbone sites there are generally<br />

only two physical SDH connections on which all PCM Links are mapped, if one SDH<br />

connection fails one half of the Signaling capacity towards the backbone will be lost. By<br />

32


Telecommunication Manager 7<br />

concentrating the Signaling Links on a limited number of PCMs with higher recovery priority,<br />

the probability of recovering almost the complete Signaling capacity in a short time<br />

is increased. Anyway it has to be considered the case of temporary unavailability of E1<br />

ports/units (<strong>for</strong> maintenance …) as well: thus more than one PCM must be used to carry<br />

Signaling Links of each relation.<br />

Then the number of PCMs used to carry Signaling between an MSC/TSC and a single<br />

HTS will be 2 (let’s call them PCM-A and PCM-B).<br />

the Signaling Links <strong>for</strong> the relation between an MSC/TSC and an HTS<br />

Signaling Point will be equally shared on PCM-A and PCM-B<br />

one half of the Signaling Links (e.g. 2 out of 4) <strong>for</strong> the relation between an<br />

HLR/NOKIA SCP and an HTS Signaling Point will be equally shared on the same<br />

PCM-A (e.g. 1 time slot) and PCM-B (e.g. 1 time slot) connecting that MSC/TSC to<br />

the HTS; the other half will be similarly mapped on two PCMs connecting another<br />

co-located MSC/TSC to the same HTS.<br />

The spare capacity of the abovementioned PCM Links will be filled with voice channels.<br />

Signaling links between HLRs, SCPs, SRNs and HTSs are mapped on the TDM<br />

signaling network (SXC transport network).<br />

By October 2004 HSSL based linksets will be introduced between some MSC/HLR and<br />

the Voice Signaling Backbone. In particular, a MSC/HLR will be connected to the Voice<br />

Signaling Backbone by means of 4 linksets (between the NE and HTS11, HTS12,<br />

HTS21, HTS22 of the same Zone) made up of a single HSSL. Each HSSL will be<br />

mapped on a E1 physical link (not channelized).<br />

33


<strong>4.</strong>3.2 Signaling Backbone (Third layer)<br />

SMS related signaling traffic is managed by a separate backbone layer (Third layer).<br />

Nowadays the third layer is made up of two Signaling Points <strong>for</strong> each Zone (HTS13 and<br />

HTS23) used as STP/SCCP Relay nodes.<br />

By November 2003 a third Signaling Point <strong>for</strong> each Zone will be added (MIHTS33,<br />

BOHTS33, RMHTS33 and NAHTS33), in order to cope with the big amount of SMS related<br />

signaling traffic that is expected by the end of the year. The Network Elements that<br />

will be connected to Point Code 3 of the HTS3 of each Zone are listed below:<br />

Nokia MSC/TSC<br />

Nokia HLR<br />

Lucent SRF <strong>for</strong> <strong>Mobile</strong> Number Portability belonging to SMS layer (SRF03/<br />

SRF04)<br />

Lucent SCP dedicated to IN PrePaid service<br />

Lucent SCP dedicated to Twin Sim service (BOSCP1L and NASCP1L)<br />

Nokia MMSC (MIMMS03)<br />

Nokia SMSC dedicated to:<br />

SM - <strong>Mobile</strong> Originated service<br />

Push services<br />

SICAP/Recharging services<br />

MMS service<br />

Telecommunication Manager 7<br />

34


Physical Connectivity<br />

Telecommunication Manager 7<br />

Both HTS13 and HTS23 (respectively <strong>GSM</strong> # 3 of HTS1 and of HTS2, which have their<br />

own Signaling Point Codes and are completely independent of the other HTS Signaling<br />

Points) are connected to HTSx3 of the other Zones, thus <strong>for</strong>ming a meshed cube. A suspenders<br />

of 2 Link Sets of 8 links each connects HTS13 and HTS23 in the same city.<br />

The introduction of HTS33 (<strong>GSM</strong> # 3 of HTS3, which has its own Signaling Point Code<br />

and is completely independent of the other HTS Signaling Points) will lead to a fully<br />

meshed framework, where each Signaling Point is connected to all HTSx3 of the other<br />

Zones. A suspender of 2 Link Sets of 8 links each will connect the three HTSx3 in the<br />

same Zone.<br />

E.g. MIHTS13 has 2 Link Sets of 8 links each towards BOHTS13, 2 Link Sets of 8 links<br />

towards BOHTS23 and 2 Link Sets of 8 links each towards BOHTS33, thus between to 2<br />

Zones the total number of Signaling Links belonging to the third layer is 144 (e.g. the 2<br />

Link Sets between MIHTS13 and BOHTS13 are identified in the Plan, seen from<br />

MIHTS13, as BOHTS13A and BOHTS13B, while the Combined Link Set <strong>for</strong>med by them<br />

is BO1C3A3B). 2 2Mbit/s are needed between MIHTS01 and BOHTS01 in order to carry<br />

the 2 Link Sets between MIHTS13 and BOHTS13 (4 links out of 8 belonging to each Link<br />

Set are mapped on each 2Mbit/s). 2 2Mbit/s are needed between MIHTS01 and<br />

BOHTS02 in order to carry the 2 Link Sets between MIHTS13 and BOHTS23 (4 links<br />

out of 8 belonging to each Link Set will be mapped on each 2Mbit/s). 2 2Mbit/s are<br />

needed between MIHTS01 and BOHTS03 in order to carry the 2 Link Sets between<br />

MIHTS13 and BOHTS33 (4 links out of 8 belonging to each Link Set will be mapped on<br />

each 2Mbit/s). If Link Set from MIHTS13 towards BOHTS13 and BOHTS23 are mapped<br />

on the same SDH facility without diversity (e.g. a single SDH facility between sites 1 in<br />

Milan and Bologna), the suspender between the two sites in Milan needs diversity of<br />

path with the abovementioned SDH facility. The suspender between MIHTS13 and<br />

MIHTS23, between MIHTS13 and MIHTS33, between MIHTS23 and MIHTS33 are made<br />

of 2 2Mbit/s, each carrying 4 links out of 8 <strong>for</strong> each Link Set that connects the 2<br />

Signaling Points.<br />

35


The following picture shows the SMS signaling backbone.<br />

By now the LSL connections between the inter-zone HTS Signaling Point of the SMS<br />

Layer has been replaced with HSSL. This architectural upgrade has the purpose of improving<br />

the signaling transmission capability of the SMS backbone and is part of a wider<br />

SMS Signaling Network evolution (which involves also peripherical Network Elements<br />

and connections) aimed to hold up to signaling traffic peaks due to the increasing SMS<br />

traffic.<br />

In the following there are the details of the new architectural configuration.<br />

Telecommunication Manager 7<br />

Link Sets connecting Signaling Points of HTS_SMS belonging to different Zones<br />

In the following picture it is shown the connection of HTS_SMS in a certain zone (in this<br />

case Zone 1) towards a remote Zone’s HTS (in this case Zone 3).<br />

36


MIHTS01<br />

MIHTS13<br />

MIHTS02<br />

MIHTS23<br />

MIHTS03<br />

MIHTS33<br />

In particular it is shown that the Link Sets inter-zone will make up of:<br />

2 HSSL between “pairs” (i.e. link sets 13-13, 23-23, 33-33);<br />

else 1 HSSL.<br />

2 HSSL RMHTS13<br />

1 HSSL<br />

1 HSSL<br />

1 HSSL<br />

1 HSSL<br />

2 HSSL<br />

1 HSSL<br />

1 HSSL<br />

2 HSSL<br />

Telecommunication Manager 7<br />

RMHTS01<br />

RMHTS02<br />

RMHTS23<br />

RMHTS03<br />

RMHTS33<br />

The same configuration applies to connections from and towards the HTSs in the other<br />

Zones, so the total number of operative HSSL between the HTS_SMS Signaling Point is<br />

72.<br />

The new configuration <strong>for</strong> the SMS Backbone requires the introduction of new PH33 on<br />

Lucent HTS to replace the PH22. A PH33 can handle up to two HSSL.<br />

As it happens <strong>for</strong> the Voice Layer Backbone interconnections, in order to avoid that a<br />

failure of a PH33 involves the simultaneous unavailability of two link set towards the<br />

same remote Zone as well as the unavailability of two routes within a route set towards a<br />

remote Zone’s DPC, it is mandatory that a PH33 handles HSSL towards two HTS<br />

Signaling Point Codes belonging to two different remote Zones (e.g. on MIHTS13 HSSL<br />

towards BOHTS13 and RMHTS13).<br />

37


Moreover, to improve resilience to transmission network faults, also <strong>for</strong> HSSLs <strong>for</strong> SMS<br />

Backbone is implemented a transmission path diversity: HSSL towards remote Zone<br />

HTS will be mapped either on SDH interfaces (VC12 links - PLTU) or on PDH interfaces<br />

(E1 - DLTU), and HSSL mapped on PDH interfaces will be transported on a different<br />

transmission layer with respect to HSSL mapped on SDH interfaces.<br />

For each site, the PLTU interface will be connected to the main local SDH cross-connect<br />

(local MSH80 DXC), while the DLTU interface will be connected to a different local<br />

cross-connect (local MSH41c DXC).<br />

For detail related to the transmission configuration, make reference to the following picture,<br />

considering that the relations represented are oriented and valid also <strong>for</strong> the following<br />

couples:<br />

MI RM, MI BO, RM BO, NA MI, NA BO, NA RM.<br />

In particular:<br />

MIHTS01<br />

MIHTS13<br />

MIHTS02<br />

MIHTS23<br />

MIHTS03<br />

MIHTS33<br />

RMHTS01<br />

RMHTS13<br />

RMHTS02<br />

RMHTS23<br />

RMHTS03<br />

RMHTS33<br />

Telecommunication Manager 7<br />

Different transmission<br />

paths<br />

The blue path will be mapped on PLTU interfaces at HTS01 and HTS03 and<br />

on DLTU interface at HTS02;<br />

The red path will be mapped on DLTU interface at HTS01 and HTS03 and on<br />

PLTU interface at HTS02.<br />

38


These rules are applicable with the exceptions that:<br />

At NA1b site (NAHTS01) only PLTU interface is available, and connected to<br />

DXC-MSH80;<br />

At RM4 site (RMHTS03) the Blue path will be mapped on DLTU interface and<br />

the Red path on PLTU interface.<br />

Link Sets connecting Signaling Points of HTS_SMS belonging to the same Zone<br />

Intra-zone links are used as backup routes from/to periphery. About SMS Signaling layer,<br />

no HSSL towards periphery are currently in place. So, HSSL are not required <strong>for</strong> intrazone<br />

backbone connections which remain unchanged at the configuration below represented:<br />

<strong>4.</strong>4 <strong>GSM</strong> Mobility<br />

MIHTS13 MIHTS23 MIHTS33<br />

16 s.l. 16 s.l.<br />

16 s.l.<br />

Telecommunication Manager 7<br />

Roaming with <strong>GSM</strong> is made possible through the separation of switching capability and<br />

subscription data. A <strong>GSM</strong> subscriber has her subscription data, including CAMEL data,<br />

permanently registered in the HLR in her HPLMN. The <strong>GSM</strong> operator is responsible <strong>for</strong><br />

provisioning this data in the HLR.<br />

The MSC and GMSC in a PLMN, on the other hand, are not specific <strong>for</strong> one subscriber<br />

group. The switching capability of the MSC in a PLMN may be used by that PLMN’s own<br />

subscribers, but also by inbound roaming subscribers; see the next picture.<br />

39


Telecommunication Manager 7<br />

The <strong>GSM</strong> user who is a subscriber of PLMN-A roams to PLMN-B. The HLR in PLMN-A<br />

transfers the user’s subscription data to the MSC in PLMN-B. The subscriber’s subscription<br />

data remains in the MSC/VLR as long as she is served by a BSS that is connected<br />

to that MSC. Even when the user switches her MS off and then on again, the subscription<br />

data remains in the MSC. After an extended period of the MS being switched off, the<br />

subscription data will be purged from the MSC. When the subscriber switches her MS on<br />

again, the subscriber has to re-register with the MSC, which entails the MSC asking the<br />

HLR in the HPLMN to re-send the subscription data <strong>for</strong> that subscriber.<br />

When the subscriber moves from one MSC service area (MSC-1) to another MSC service<br />

area (MSC-2), the HLR will instruct MSC-1 to purge the subscription data of this subscriber<br />

and will send the subscription data to MSC-2.<br />

40


<strong>4.</strong>5 Identifiers in the <strong>GSM</strong> Network<br />

<strong>GSM</strong> uses several identifiers <strong>for</strong> the routing of calls, identifying subscribers (e.g. <strong>for</strong><br />

charging), locating the HLR, identifying equipment, etc.<br />

<strong>4.</strong>5.1 International <strong>Mobile</strong> Subscriber Identity (IMSI)<br />

Telecommunication Manager 7<br />

The international mobile subscriber identity (IMSI) is embedded on the SIM card and is<br />

used to identify a subscriber. The IMSI is also contained in the subscription data in the<br />

HLR. The following picture shows its structure:<br />

The IMSI is used <strong>for</strong> identifying a subscriber <strong>for</strong> various processes in the <strong>GSM</strong> network.<br />

Some of these are:<br />

location update – when attaching to a network, the MS reports the IMSI to the<br />

MSC, which uses the IMSI to derive the global title (GT) of the HLR associated with<br />

the subscriber;<br />

terminating call – when the <strong>GSM</strong> network handles a call to a <strong>GSM</strong> subscriber,<br />

the HLR uses the IMSI to identify the subscriber in the MSC/VLR, to start a process<br />

<strong>for</strong> delivering the call to that subscriber in that MSC/VLR.<br />

41


Telecommunication Manager 7<br />

roaming charging – a VPLMN uses the IMSI to send billing records to the<br />

HPLMN of a subscriber.<br />

mobile country code (MCC) – the MCC identifies the country <strong>for</strong> mobile networks.<br />

The MCC is not used <strong>for</strong> call establishment. The usage of MCC is defined in<br />

ITU-T E.212 [129]. The MCC values are allocated and published by the ITU-T.<br />

mobile network code (MNC) – the MNC identifies the mobile network within a<br />

mobile country (as identified by MCC). MCC and MNC together identify a PLMN.<br />

Refer to ITU-T E.212 [129] <strong>for</strong> MNC usage. The MNC may be two or three digits in<br />

length. Common practice is that, within a country (as identified by MCC), all MNCs<br />

are either two or three digits.<br />

mobile subscriber identification number (MSIN) – the MSIN is the subscriber<br />

identifier within a PLMN.<br />

<strong>4.</strong>5.2 <strong>Mobile</strong> Station Integrated Services Digital Network Number (MSISDN Number)<br />

The MSISDN is used to identify the subscriber when, among other things, establishing a<br />

call to that subscriber or sending an SMS to that subscriber. Hence, the MSISDN is used<br />

<strong>for</strong> routing purposes. The following picture shows its structure:<br />

42


The MSISDN structure consist of:<br />

country code (CC) – the CC identifies the country or group of countries of the<br />

subscriber;<br />

national destination code (NDC) – each PLMN in a country has one or more<br />

NDCs allocated to it; the NDC may be used to route a call to the appropriate network;<br />

subscriber number (SN) – the SN identifies the subscriber within the number<br />

plan of a PLMN.<br />

The MSISDN is not stored on the subscriber’s SIM card and is normally not available in<br />

the MS. The MSISDN is provisioned in the HLR, as part of the subscriber’s profile, and is<br />

sent to MSC during registration. The MSISDN is also reported to SCP when a CAMEL<br />

service is invoked.<br />

One subscriber may have multiple MSISDNs. These MSISDNs are provisioned in the<br />

HLR. At any one moment, only a single MSISDN is available in the MSC/VLR <strong>for</strong> the<br />

subscriber.<br />

<strong>4.</strong>5.3 International <strong>Mobile</strong> Equipment Identifier (IMEI)<br />

The international mobile equipment identifier (IMEI) is used to identify the ME [or user<br />

equipment (UE) in UMTS network]. Each ME has a unique IMEI. The IMEI is hard-coded<br />

in the ME and cannot be modified.<br />

The IMEI is not used <strong>for</strong> routing or subscriber identification.<br />

Telecommunication Manager 7<br />

43


<strong>4.</strong>5.4 <strong>Mobile</strong> Station Roaming Number (MSRN)<br />

Telecommunication Manager 7<br />

The mobile station roaming number (MSRN) is used in the <strong>GSM</strong> network <strong>for</strong> routing a<br />

call to a MS. The need <strong>for</strong> the MSRN stems from the fact that the MSISDN identifies a<br />

subscriber, but not the current location of that subscriber in a telecommunications network.<br />

The MSRN is allocated to a subscriber during MT call handling and is released<br />

when the call to that subscriber is established.<br />

Each MSC in a PLMN has a (limited) range of MSRNs allocated to it. An MSRN may be<br />

allocated to any subscriber registered in that MSC. The MSRN has the <strong>for</strong>m of an E.164<br />

number and can be used by the GMSC <strong>for</strong> establishing a call to a <strong>GSM</strong> subscriber. An<br />

MSRN is part of a <strong>GSM</strong> operator’s number plan. The MSRN indicates the <strong>GSM</strong> network<br />

a subscriber is registered in, but not the <strong>GSM</strong> network the subscriber belongs to. The<br />

following picture shows how the MSRN is used <strong>for</strong> call routing:<br />

The MSRN is not meant <strong>for</strong> call initiation. <strong>GSM</strong> operators may configure their MSC such<br />

that subscribers cannot dial numbers that fall within the MSRN range of that operator.<br />

44


<strong>4.</strong>6 Basic services<br />

All activities that may be done in the <strong>GSM</strong> network, such as establishing a voice call, establishing<br />

a data call, sending a short message, etc., are classified as basic services. In<br />

order <strong>for</strong> a subscriber to use a <strong>GSM</strong> basic service, she must have a subscription to that<br />

service.<br />

The handling of a basic service is fully standardized. Hence, a subscriber may use a basic<br />

service in any <strong>GSM</strong> network she roams to, provided that that basic service is supported<br />

in that network. The HLR will send a list of subscribed basic services to the MSC/<br />

VLR, during registration. When a <strong>GSM</strong> subscriber initiates a call, the MS supplies the<br />

serving MSC with a set of parameters describing the circuit-switched connection that is<br />

requested.<br />

These parameters are the bearer capability (BC), low-layer compatibility (LLC) and highlayer<br />

compatibility (HLC), as will be described below. The MSC uses the BC, LLC and<br />

HLC to derive the basic service <strong>for</strong> this call. The rules <strong>for</strong> deriving the basic service from<br />

LLC, HLC and BC are specified in <strong>GSM</strong> TS 09.07 [55]. The MSC then checks whether<br />

the subscriber has a subscription to the requested basic service, i.e. whether the subscription<br />

data in the VLR contains that basic service.<br />

If the service is not subscribed to, then the MSC disallows the call. The basic service is<br />

not transported over ISUP.<br />

Basic services are divided into two groups: tele services and bearer services.<br />

<strong>4.</strong>6.1 Tele services<br />

The following table provides an overview of the available tele services (TS).<br />

Telecommunication Manager 7<br />

45


Tele service Description Comment<br />

<strong>4.</strong>6.2 Bearer services<br />

11 Telephony This TS represents the normal<br />

speech call<br />

12 Emergency calls The emergency call uses the characteristics<br />

of telephony (TS11), but<br />

may be established without subscription<br />

and bypasses various checks in<br />

the MS and in the MSC<br />

21 Short Message MT This TS relates to receiving an SMS.<br />

This TS is not sent to the MSC/VLR.<br />

When an SMS is sent to the subscriber,<br />

the HLR checks whether the<br />

destination subscriber has a subscription<br />

to TS 21<br />

22 Short Message MO This TS relates to the sending of an<br />

SMS<br />

23 Cell broadcast This TS relates to the capability of<br />

an SMS that is sent as a broadcast<br />

SMS<br />

61 Alternate speech and fax<br />

group 3<br />

Telecommunication Manager 7<br />

This TS relates to the capability to<br />

establish a speech and fax (group 3)<br />

call<br />

62 Automatic fax group 3 This TS relates to the capability to<br />

establish a fax (group 3) call<br />

91 Voice group call This TS relates to the capability to<br />

participate in a group call as specified<br />

in <strong>GSM</strong> TS 03.68 [35]<br />

92 Voice broadcast This TS relates to the capability to<br />

receive a voice broadcast as specified<br />

in <strong>GSM</strong> TS 03.68 [35]<br />

The following table provides an overview of the available bearer services (BS).<br />

46


The two bearer service groups are sub-divided into a variety of bearer services with different<br />

characteristics.<br />

Bearer service Description Comment<br />

20 Asynchronous data bearer<br />

services<br />

30 Synchronous data bearer<br />

services<br />

<strong>4.</strong>7 Supplementary services<br />

Telecommunication Manager 7<br />

May be used <strong>for</strong> asynchronous services<br />

from 300 bit/s to 64 kbit/s.<br />

May be used <strong>for</strong> synchronous services<br />

from 1.2 to 64 kbit/s. This BS<br />

may be used, amongst other things,<br />

<strong>for</strong> multimedia services such as<br />

video telephony.<br />

Supplementary services (SS) in <strong>GSM</strong> are a means of enriching the user experience. An<br />

SS may, <strong>for</strong> example, <strong>for</strong>ward a call in the case of no reply from the called party, bar certain<br />

outgoing or incoming calls, show the number of the calling party to the called party,<br />

etc. In order to use an SS, a <strong>GSM</strong> user needs a subscription to that SS. The subscription<br />

to supplementary services is contained in the HLR and is sent to the MSC/VLR during<br />

registration. The supplementary services are fully standardized. A <strong>GSM</strong> subscriber can<br />

there<strong>for</strong>e use her supplementary services in any <strong>GSM</strong> network, provided that the network<br />

supports these supplementary services, and have the same user experience.<br />

Supplementary services may be provisioned <strong>for</strong> an individual basic service or <strong>for</strong> a group<br />

of basic services, e.g. a subscriber may have barring of all outgoing calls <strong>for</strong> all tele<br />

services and all bearer services, except SMS (tele service group 20). Such a subscriber<br />

is barred from establishing outgoing calls (except emergency calls), but may still send<br />

short messages. Some supplementary services may be activated or deactivated by the<br />

user. Examples include call <strong>for</strong>warding and call barring. An operator may decide to bar<br />

certain subscribers or subscriber groups from modifying their supplementary services.<br />

47


5. GPRS - General Packet Radio<br />

Service<br />

5.1 Overview<br />

GPRS (General Packet Radio Service) is a packet based communication service <strong>for</strong><br />

mobile devices that allows data to be sent and received across a mobile telephone network.<br />

GPRS is a step towards 3G and is often referred to as 2.5G. Here are some key<br />

benefits of GPRS:<br />

Speed<br />

GPRS is packet switched. Higher connection speeds are attainable at around 56–118<br />

kbps, a vast improvement on circuit switched networks of 9.6 kbps. By combining standard<br />

<strong>GSM</strong> time slots theoretical speeds of 171.2 kbps are attainable. However in the<br />

very short term, speeds of 20-50 kbps are more realistic.<br />

Always on connectivity<br />

GPRS is an always-on service. There is no need to dial up like you have to on a home<br />

PC <strong>for</strong> instance. This feature is not unique to GPRS but is an important standard that will<br />

no doubt be a key feature <strong>for</strong> migration to 3G. It makes services instantaneously available<br />

to a device.<br />

New and Better applications<br />

Telecommunication Manager 7<br />

Due to its high-speed connection and always-on connectivity GPRS enables full Internet<br />

applications and services such as video conferencing straight to your desktop or mobile<br />

device. Users are able to explore the Internet or their own corporate networks more efficiently<br />

than they could when using <strong>GSM</strong>. There is often no need to redevelop existing<br />

applications.<br />

48


<strong>GSM</strong> operator Costs<br />

<strong>GSM</strong> network providers do not have to start from scratch to deploy GPRS. GPRS is an<br />

upgrade to the existing network that sits along side the <strong>GSM</strong> network. This makes it easier<br />

to deploy, there is little or no downtime of the existing <strong>GSM</strong> network whilst implementation<br />

takes place, most updates are software so they can be administered remotely and<br />

it allows <strong>GSM</strong> providers to add value to their business at relatively small costs.<br />

The <strong>GSM</strong> network still provides voice and the GPRS network handles data, because of<br />

this voice and data can be sent and received at the same time.<br />

5.2 GPRS technical overview<br />

Telecommunication Manager 7<br />

As mentioned earlier GPRS is not a completely separate network to <strong>GSM</strong>. Many of the<br />

devices such as the base transceiver stations and base transceiver station controllers<br />

are still used. Often devices need to be upgraded be it software, hardware or both.<br />

When deploying GPRS many of the software changes can be made remotely.<br />

49


There are however two new functional elements which play a major role in how GPRS<br />

works. The Serving GPRS Support Node (SGSN) and the Gateway GPRS support node<br />

(GGSN). These 2 nodes are new to the network with the other changes being small if<br />

any.<br />

Be<strong>for</strong>e explaining what these 2 new members of our network do it is important to ask<br />

how does the network differentiate between <strong>GSM</strong> (circuit) and GPRS (packet)?<br />

In simple terms there are in practice two different networks working in parallel, <strong>GSM</strong> and<br />

GPRS. In any <strong>GSM</strong> network there will be several BSC’s (Base Station Controllers).<br />

When implementing GPRS a software and hardware upgrade of this unit is required. The<br />

hardware upgrade consists of adding a Packet Control Unit (PCU). This extra piece of<br />

hardware differentiates data destined <strong>for</strong> the standard <strong>GSM</strong> network or Circuit Switched<br />

Data and data destined <strong>for</strong> the GPRS network or Packet Switched Data. In some cases<br />

a PCU can be a separate entity.<br />

From the upgraded BSC there is a fast frame relay connection that connects directly to<br />

the newly introduced SGSN.<br />

5.2.1 SGSN<br />

Telecommunication Manager 7<br />

The Serving GPRS Support Node, or SGSN <strong>for</strong> short, takes care of some important<br />

tasks, including routing, handover and IP address assignment.<br />

The SGSN has a logical connection to the GPRS device. As an example, if you where in<br />

a car travelling up the M1 on a long journey and were browsing the Internet on a GPRS<br />

device, you will pass through many different cells. One job of the SGSN is to make sure<br />

the connection is not interrupted as you make your journey passing from cell to cell. The<br />

SGSN works out which BSC to “route” your connection through.<br />

If the user moves into a segment of the network that is managed by a different SGSN it<br />

will per<strong>for</strong>m a handoff of to the new SGSN, this is done extremely quickly and generally<br />

the user will not notice this has happened. Any packets that are lost during this process<br />

50


are retransmitted. The SGSN converts mobile data into IP and is connected to the<br />

GGSN via a Tunneling protocol.<br />

5.2.2 GGSN<br />

The Gateway GPRS Support Node is the “last port of call” in the GPRS network be<strong>for</strong>e a<br />

connection between an ISP or corporate network’s router occurs. The GGSN is basically<br />

a gateway, router and firewall rolled into one. It also confirms user details with RADIUS<br />

servers <strong>for</strong> security, which are usually situated in the IP network and outside of the<br />

GPRS network.<br />

5.2.3 Connectivity between SGSN & GGSN<br />

Telecommunication Manager 7<br />

The connection between the two GPRS Support Nodes is made with a protocol called<br />

GPRS Tunneling Protocol (GTP).<br />

GPRS Tunneling Protocol is the defining IP protocol of the GPRS core network. Primarily<br />

it is the protocol which allows end users of a <strong>GSM</strong> or WCDMA network to move from<br />

place to place whilst continuing to connect to the internet as if from one location at the<br />

Gateway GPRS Support Node (GGSN). It does this by carrying the subscriber's data<br />

from the subscriber's current Serving GPRS Support Node (SGSN) to the GGSN which<br />

is handling the subscriber's session. Three <strong>for</strong>ms of GTP are used by the GPRS core<br />

network.<br />

GTP-U: <strong>for</strong> transfer of user data in separated tunnels <strong>for</strong> each PDP context,<br />

the PDP (Packet Data Protocol, e.g. IP, X.25, FrameRelay) context is a data structure<br />

present on both the SGSN and the GGSN which contains the subscriber's session<br />

in<strong>for</strong>mation when the subscriber has an active session;<br />

51


GTP-C: <strong>for</strong> control reasons including:<br />

Setup and deletion of PDP contexts;<br />

Verification of GSN reach-ability;<br />

Telecommunication Manager 7<br />

Updates, e.g. as subscribers move from one SGSN to another.<br />

GTP' : <strong>for</strong> transfer of charging data from GSNs to the charging function.<br />

GGSNs and SGSNs (collectively known as GSNs) listen <strong>for</strong> GTP-C messages on UDP<br />

port 2123 and <strong>for</strong> GTP-U messages on port 2152. This communication happens within a<br />

single network or may, in the case of international roaming, happen internationally,<br />

probably across a GPRS Roaming Exchange (GRX).<br />

The "Charging Gateway Function" (CGF) listens to GTP' messages sent from the GSNs<br />

on UDP port 3386. The core network sends charging in<strong>for</strong>mation to the CGF, typically<br />

including PDP context activation times and the quantity of data which the end user has<br />

transferred. However, this communication which occurs within one network is less standardized<br />

and may, depending on the vendor and configuration options, use proprietary<br />

encoding or even an entirely proprietary system.<br />

GPRS is billed on per megabyte basis unlike <strong>GSM</strong>. In practice the two GSN devices may<br />

be a single unit.<br />

52


5.3 IP Addressing<br />

5.3.1 Allocating addresses<br />

There are 3 different ways in which a device can be assigned an IP address.<br />

Fixed IP addressing<br />

Fixed IP addresses <strong>for</strong> mobile devices are not widely used due to shortages of Ipv4 addresses.<br />

This in<strong>for</strong>mation is stored in the HLR.<br />

Dynamic IP addressing<br />

Telecommunication Manager 7<br />

The second means of addressing is dynamic addressing. This is where a mobile device<br />

does not have its own IP address stored in the HLR. Instead the IP address is assigned<br />

to the GGSN domain.<br />

53


The third method is also a type of dynamic IP addressing in which the IP address is assigned<br />

by RADIUS servers normally situated inside an IP network outside the mobile<br />

network, an example of this being when you dial up to an ISP from your home PC.<br />

5.3.2 How does the SGSN know which GGSN to direct to you?<br />

Telecommunication Manager 7<br />

A mobile device is programmed with one or more Access Point Names which are commonly<br />

referred to as the APN’s. An APN consists of a fully qualified DNS name e.g.<br />

web.omnitel.it.<br />

When a GPRS device wants to talk to web.omnitel.it’s network, the SGSN does a DNS<br />

lookup and resolves the name to the correct GGSN. You could have multiple APN’s programmed<br />

into your phone so you are not limited to a single service or GGSN.<br />

54


5.3.3 IP Version 6<br />

This new version of IP corrects unanticipated Ipv4 design issues that have come about<br />

because of the popularity of the Internet. In short we are running out of addresses.<br />

IP version 4 is a 32-bit address that allows a maximum of around 4 billion IP addresses.<br />

It is estimated that by 2005 all the addresses in IP 4 will run out. Some say this will happen<br />

sooner - introduce millions of handheld devices all requiring IP addresses and suddenly<br />

there are none left.<br />

To truly enable the Internet to such devices there has to be more addresses. This is<br />

where IP version 6 comes in. Instead of a 32-bit address, IP6 is 128 bit with a maximum<br />

number of:<br />

340,232,366,920,938,463,463,374,607,431,768,211,456<br />

Telecommunication Manager 7<br />

possible IP addresses. This amount of address space is ample <strong>for</strong> future <strong>for</strong>eseeable<br />

growth.<br />

At the moment there are around 1 billion addresses left <strong>for</strong> IP v 4 but many manufacturers<br />

of mobile devices especially in Asia are involving themselves heavily in IP v 6. This is<br />

mainly due to places like Japan having a fraction of the addresses allocated in comparison<br />

with other places like America.<br />

55


5.4 GPRS handset classes<br />

GPRS devices are not as straight<strong>for</strong>ward as you may think. There are in fact 3 different<br />

classes of device.<br />

5.<strong>4.</strong>1 Class A<br />

Class A terminals have 2 transceivers which allow them to send / receive data and voice<br />

at the same time. This class of device takes full advantage of GPRS and <strong>GSM</strong>. You can<br />

be taking a call and receiving data all at the same time.<br />

5.<strong>4.</strong>2 Class B<br />

Class B devices can send / receive data or voice but not both at the same time. Generally<br />

if you are using GPRS and you receive a voice call you will get an option to answer<br />

the call or carry on.<br />

5.<strong>4.</strong>3 Class C<br />

Telecommunication Manager 7<br />

This device only allows one means of connectivity. An example would be a GPRS<br />

PCMCIA card in a laptop.<br />

56


5.5 GPRS QoS<br />

Just because GPRS uses many of the components of a standard <strong>GSM</strong> network it would be<br />

foolhardy to assume that the same standards should apply. Things to be taken into account<br />

include provider general network architecture, radio interface and throughput. Here<br />

are some of the key elements briefly explained.<br />

5.5.1 Network architecture<br />

Provider networks have to be upgraded. As mentioned earlier the GSN’s are new to the<br />

standard <strong>GSM</strong> network. If GPRS is to stand-up to customer expectations network per<strong>for</strong>mance<br />

will be vital.<br />

5.5.2 Radio interface<br />

The ETSI (European Telecommunications Standard Institute) has defined 3 new coding<br />

schemes <strong>for</strong> Radio Interface. When the GPRS device talks to the base station they can<br />

use 1 of the 4 schemes. The schemes are CS – 1 through CS – 3 where CS – 1 is the<br />

same as standard <strong>GSM</strong>. In simple terms CS – 1 is highly redundant but because of this<br />

is slow, 2 and 3 have less redundancy, whilst 4 has the least - removing all <strong>for</strong>ward error<br />

control - but is capable of maximum throughput. If radio quality is bad then coding<br />

scheme 1 is used, as the quality improves less error control is needed.<br />

5.5.3 Classes of GPRS services<br />

Telecommunication Manager 7<br />

<strong>Mobile</strong> devices can request different types of traffic to be prioritized in an attempt to give<br />

the user their desired level of connectivity.<br />

57


There are 4 types of class:<br />

Precedence Class<br />

An application can be assigned a Precedence Class 1, 2 or 3. If an application has a<br />

higher precedence (1) than another (3) then its traffic will be given a higher priority.<br />

Delay Class<br />

Applications can request predictive delay classes which guarantee an average and 95percentile<br />

delay. There are 4 classes, 1 being the fastest.<br />

Reliability class<br />

Applications can request differing levels of reliability <strong>for</strong> its data depending on its tolerance<br />

to data loss.<br />

Throughput Class<br />

Telecommunication Manager 7<br />

Applications can choose different profiles <strong>for</strong> throughput. There are 2 distinctions in<br />

class, peak and mean. Peak throughput class is used mainly <strong>for</strong> bursty transmissions<br />

with a variable in octets per second describing the throughput required <strong>for</strong> burst of specified<br />

size. Mean is the average data transfer rate over a period of time measured in octets<br />

per hour.<br />

Other factors can affect QoS. Things like Radio quality, basic LAN / WAN and Internet<br />

congestion, faults on <strong>GSM</strong> and GPRS network’ etc.<br />

58


5.6 Problems with GPRS<br />

Telecommunication Manager 7<br />

Although GPRS has many benefits there have been a few problems. Connection speeds<br />

until the end of last year per<strong>for</strong>med badly on some networks running at around 12Kbps,<br />

a far cry from the expected. This year however there do not seem to be as many problems,<br />

probably due to the fact that operators are improving due to trial and error. GPRS<br />

is after all a pretty new technology.<br />

Another problem sometimes encountered is customer expectation. Many companies<br />

have applications running on a 10 megabyte LAN and expect the same per<strong>for</strong>mance<br />

from their GPRS devices. Although the connection speeds these days are pretty good it<br />

still is not as fast as ISDN or Local Area Networks. To a certain extent operators have<br />

themselves to blame <strong>for</strong> this, since in the past their marketing has tended to promote the<br />

speed aspects of 2.5 and 3G. Today, they are working hard to reduce expectation in this<br />

respect.<br />

Earlier problems with things like mail servers not sending mail because of latency problems<br />

to GPRS devices have all been pretty much eradicated through optimization programs.<br />

People running Citrix Thin Client have also encountered problems with latency<br />

although a few Thin Client <strong>for</strong>ums suggest that Citrix are addressing the issue.<br />

Deployment on some networks has been slow. There still is a major UK network provider<br />

who does not offer the service.<br />

GPRS roaming has not been implemented in many countries on a lot of networks as yet.<br />

This is where a user can use the GPRS service from any network operator. At the moment<br />

although your <strong>GSM</strong> mobile will work, GPRS may not work at all. Accesses by third<br />

party application providers are having a lot of difficulty obtaining an APN from providers<br />

to offer their own GPRS services. This somewhat limits services to that provided by the<br />

GPRS operator.<br />

59


6. UMTS - Universal <strong>Mobile</strong><br />

Telecommunications <strong>System</strong><br />

6.1 Definition<br />

Universal <strong>Mobile</strong> Telecommunications <strong>System</strong> (UMTS) is envisioned as the successor to<br />

<strong>Global</strong> <strong>System</strong> <strong>for</strong> <strong>Mobile</strong> <strong>Communications</strong> (<strong>GSM</strong>). UMTS signals the move into the third<br />

generation (3G) of mobile networks. UMTS also addresses the growing demand of mobile<br />

and Internet applications <strong>for</strong> new capacity in the overcrowded mobile communications<br />

sky. The new network increases transmission speed to 2 Mbps per mobile user and<br />

establishes a global roaming standard.<br />

6.2 Overview<br />

Telecommunication Manager 7<br />

UMTS, also referred as wideband code division multiple access (W-CDMA), is one of the<br />

most significant advances in the evolution of telecommunications into 3G networks.<br />

UMTS allows many more applications to be introduced to a worldwide and provides a<br />

vital link between today's multiple <strong>GSM</strong> systems and the ultimate single worldwide standard<br />

<strong>for</strong> all mobile telecommunications, International <strong>Mobile</strong> Telecommunications-2000<br />

(IMT-2000).<br />

In the next pages it is explained the <strong>GSM</strong> evolution from 2G to 3G, then, the architecture<br />

of UMTS and the protocols, interfaces, and technologies that go along with it.<br />

60


6.3 2G to 3G: <strong>GSM</strong> Evolution<br />

Telecommunication Manager 7<br />

Phase 1 of the standardization of <strong>GSM</strong>900 was completed by the European Telecommunications<br />

Standards Institute (ETSI) in 1990 and included all necessary definitions <strong>for</strong><br />

the <strong>GSM</strong> network operations. Several tele-services and bearer services have been defined<br />

(including data transmission up to 9.6 kbps), but only some very basic supplementary<br />

services were offered. As a result, <strong>GSM</strong> standards were enhanced in Phase 2<br />

(1995) to incorporate a large variety of supplementary services that were comparable to<br />

digital fixed network integrated services digital network (ISDN) standards. In 1996, ETSI<br />

decided to further enhance <strong>GSM</strong> in annual Phase 2+ releases that incorporate 3G capabilities.<br />

<strong>GSM</strong> Phase 2+ releases have introduced important 3G features such as intelligent network<br />

(IN) services with customized application <strong>for</strong> mobile enhanced logic (CAMEL), enhanced<br />

speech compression/decompression (CODEC), enhanced full rate (EFR), and<br />

adaptive multirate (AMR), high-data rate services and new transmission principles with<br />

high-speed circuit-switched data (HSCSD), general packet radio service (GPRS), and<br />

enhanced data rates <strong>for</strong> <strong>GSM</strong> evolution (EDGE). UMTS is a 3G <strong>GSM</strong> successor standard<br />

that is downward-compatible with <strong>GSM</strong>, using the <strong>GSM</strong> Phase 2+ enhanced core<br />

network.<br />

61


6.4 UMTS Network architecture<br />

Telecommunication Manager 7<br />

UMTS (Rel. '99) incorporates enhanced <strong>GSM</strong> Phase 2+ Core Networks with GPRS and<br />

CAMEL. This enables network operators to enjoy the improved cost-efficiency of UMTS<br />

while protecting their 2G investments and reducing the risks of implementation.<br />

In UMTS release 1 (Rel. '99), a new radio access network UMTS terrestrial radio access<br />

network (UTRAN) is introduced. UTRAN, the UMTS radio access network (RAN), is<br />

connected via the Iu to the <strong>GSM</strong> Phase 2+ core network (CN). The Iu is the UTRAN interface<br />

between the radio network controller (RNC) and CN; the UTRAN interface between<br />

RNC and the packet-switched domain of the CN (Iu-PS) is used <strong>for</strong> PS data and<br />

the UTRAN interface between RNC and the circuit-switched domain of the CN (Iu-CS) is<br />

used <strong>for</strong> CS data. "<strong>GSM</strong>-only" mobile stations (MSs) will be connected to the network via<br />

the <strong>GSM</strong> air (radio) interface (Um). UMTS/<strong>GSM</strong> dual-mode user equipment (UE) will be<br />

connected to the network via UMTS air (radio) interface (Uu) at very high data rates (up<br />

to almost 2 Mbps). Outside the UMTS service area, UMTS/<strong>GSM</strong> UE will be connected to<br />

the network at reduced data rates via the Um.<br />

Maximum data rates are 115 kbps <strong>for</strong> CS data by HSCSD, 171 kbps <strong>for</strong> PS data by<br />

GPRS, and 553 kbps by EDGE. Handover between UMTS and <strong>GSM</strong> is supported, and<br />

handover between UMTS and other 3G systems (e.g., multicarrier CDMA [MC-CDMA])<br />

will be supported to achieve true worldwide access. The public land mobile network<br />

(PLMN) described in UMTS Rel. '99 incorporates three major categories of network elements:<br />

<strong>GSM</strong> Phase 1/2 core network elements: mobile services switching center<br />

(MSC), visitor location register (VLR), home location register (HLR), authentication<br />

center (AC), and equipment identity register (EIR);<br />

<strong>GSM</strong> Phase 2+ enhancements: GPRS (serving GPRS support node [SGSN]<br />

and gateway GPRS support node [GGSN]) and CAMEL (CAMEL service environment<br />

[CSE]);<br />

UMTS specific modifications and enhancements, particularly UTRAN.<br />

62


6.<strong>4.</strong>1 Network elements from <strong>GSM</strong> Phase 1/2<br />

The <strong>GSM</strong> Phase 1/2 PLMN consists of three subsystems: the base station subsystem<br />

(BSS), the network and switching subsystem (NSS), and the operations support system<br />

(OSS). The BSS consists of the functional units: base station controller (BSC), base<br />

transceiver station (BTS) and transcoder and rate adapter unit (TRAU). The NSS consists<br />

of the functional units: MSC, VLR, HLR, EIR, and the AC. The MSC provides functions<br />

such as switching, signaling, paging, and inter-MSC handover. The OSS consists<br />

of operation and maintenance centers (OMCs), which are used <strong>for</strong> remote and centralized<br />

operation, administration, and maintenance (OAM) tasks.<br />

The following picture shows the UMTS Phase 1 Network.<br />

Telecommunication Manager 7<br />

63


6.<strong>4.</strong>2 Network elements from <strong>GSM</strong> Phase 2 +<br />

GPRS<br />

The most important evolutionary step of <strong>GSM</strong> toward UMTS is GPRS. GPRS introduces<br />

PS into the <strong>GSM</strong> CN and allows direct access to packet data networks (PDNs). This enables<br />

high-data rate PS transmission well beyond the 64 kbps limit of ISDN through the<br />

<strong>GSM</strong> CN, a necessity <strong>for</strong> UMTS data transmission rates of up to 2 Mbps. GPRS prepares<br />

and optimizes the CN <strong>for</strong> high-data rate PS transmission, as does UMTS with UT-<br />

RAN over the RAN. Thus, GPRS is a prerequisite <strong>for</strong> the UMTS introduction.<br />

Two functional units extend the <strong>GSM</strong> NSS architecture <strong>for</strong> GPRS PS services: the<br />

GGSN and the SGSN. The GGSN has functions comparable to a gateway MSC<br />

(GMSC). The SGSN resides at the same hierarchical level as a visited MSC (VMSC)/<br />

VLR and there<strong>for</strong>e per<strong>for</strong>ms comparable functions such as routing and mobility management.<br />

CAMEL<br />

Telecommunication Manager 7<br />

CAMEL enables worldwide access to operator-specific IN applications such as prepaid,<br />

call screening, and supervision. CAMEL is the primary <strong>GSM</strong> Phase 2+ enhancement <strong>for</strong><br />

the introduction of the UMTS virtual home environment (VHE) concept. VHE is a plat<strong>for</strong>m<br />

<strong>for</strong> flexible service definition (collection of service creation tools) that enables the<br />

operator to modify or enhance existing services and/or define new services. Furthermore,<br />

VHE enables worldwide access to these operator-specific services in every <strong>GSM</strong><br />

and UMTS PLMN and introduces location-based services (by interaction with <strong>GSM</strong>/<br />

UMTS mobility management). A CSE and a new common control signaling system 7<br />

(SS7) (CCS7) protocol, the CAMEL application part (CAP), are required on the CN to<br />

introduce CAMEL.<br />

64


6.<strong>4.</strong>3 Network elements from UMTS Phase 1<br />

As mentioned above, UMTS differs from <strong>GSM</strong> Phase 2+ mostly in the new principles <strong>for</strong><br />

air interface transmission (W-CDMA instead of time division multiple access [TDMA]/<br />

frequency division multiple access [FDMA]). There<strong>for</strong>e, a new RAN called UTRAN must<br />

be introduced with UMTS. Only minor modifications, such as allocation of the transcoder<br />

(TC) function <strong>for</strong> speech compression to the CN, are needed in the CN to accommodate<br />

the change. The TC function is used together with an interworking function (IWF) <strong>for</strong> protocol<br />

conversion between the A and the Iu-CS interfaces.<br />

UTRAN<br />

The UMTS standard can be seen as an extension of existing networks. Two new network<br />

elements are introduced in UTRAN, RNC, and Node B. UTRAN is subdivided into<br />

individual radio network systems (RNSs), where each RNS is controlled by an RNC. The<br />

RNC is connected to a set of Node B elements, each of which can serve one or several<br />

cells.<br />

Existing network elements, such as MSC, SGSN, and HLR, can be extended to adopt<br />

the UMTS requirements, but RNC, Node B, and the handsets must be completely new<br />

designs. RNC will become the replacement <strong>for</strong> BSC, and Node B fulfills nearly the same<br />

functionality as BTS. <strong>GSM</strong> and GPRS networks will be extended, and new services will<br />

be integrated into an overall network that contains both existing interfaces such as A,<br />

Gb, and Abis, and new interfaces that include Iu, UTRAN interface between Node B and<br />

RNC (Iub), and UTRAN interface between two RNCs (Iur).<br />

UMTS defines four new open interfaces:<br />

Uu: UE to Node B (UTRA, the UMTS W-CDMA air interface;<br />

Iu: RNC to <strong>GSM</strong> Phase 2+ CN interface (MSC/VLR or SGSN);<br />

Iu-CS <strong>for</strong> circuit-switched data;<br />

Iu-PS <strong>for</strong> packet-switched data.<br />

Telecommunication Manager 7<br />

65


Iub: RNC to Node B interface;<br />

Iur: RNC to RNC interface, not comparable to any interface in <strong>GSM</strong>.<br />

The Iu, Iub, and Iur interfaces are based on ATM transmission principles.<br />

The following picture shows the UTRAN architecture.<br />

Telecommunication Manager 7<br />

The RNC enables autonomous radio resource management (RRM) by UTRAN. It per<strong>for</strong>ms<br />

the same functions as the <strong>GSM</strong> BSC, providing central control <strong>for</strong> the RNS elements<br />

(RNC and Node Bs).<br />

66


Telecommunication Manager 7<br />

The RNC handles protocol exchanges between Iu, Iur, and Iub interfaces and is responsible<br />

<strong>for</strong> centralized operation and maintenance (O&M) of the entire RNS with access to<br />

the OSS. Because the interfaces are ATM-based, the RNC switches ATM cells between<br />

them. The user's circuit-switched and packet-switched data coming from Iu-CS and Iu-<br />

PS interfaces are multiplexed together <strong>for</strong> multimedia transmission via Iur, Iub, and Uu<br />

interfaces to and from the UE.<br />

The RNC uses the Iur interface, which has no equivalent in <strong>GSM</strong> BSS, to autonomously<br />

handle 100 percent of the RRM, eliminating that burden from the CN. Serving control<br />

functions such as admission, RRC connection to the UE, congestion and handover/<br />

macro diversity are managed entirely by a single serving RNC (SRNC).<br />

If another RNC is involved in the active connection through an inter-RNC soft handover,<br />

it is declared a drift RNC (DRNC). The DRNC is only responsible <strong>for</strong> the allocation of<br />

code resources. A reallocation of the SRNC functionality to the <strong>for</strong>mer DRNC is possible<br />

(serving radio network subsystem [SRNS] relocation). The term controlling RNC (CRNC)<br />

is used to define the RNC that controls the logical resources of its UTRAN access<br />

points.<br />

67


Node B<br />

Telecommunication Manager 7<br />

Node B is the physical unit <strong>for</strong> radio transmission/reception with cells. Depending on<br />

sectoring (omni/sector cells), one or more cells may be served by a Node B. A single<br />

Node B can support both FDD and TDD modes, and it can be co-located with a <strong>GSM</strong><br />

BTS to reduce implementation costs. Node B connects with the UE via the W-CDMA Uu<br />

radio interface and with the RNC via the Iub asynchronous transfer mode (ATM)-based<br />

interface. Node B is the ATM termination point.<br />

The main task of Node B is the conversion of data to and from the Uu radio interface,<br />

including <strong>for</strong>ward error correction (FEC), rate adaptation, W-CDMA spreading/<br />

despreading, and quadrature phase shift keying (QPSK) modulation on the air interface.<br />

It measures quality and strength of the connection and determines the frame error rate<br />

(FER), transmitting these data to the RNC as a measurement report <strong>for</strong> handover and<br />

macro diversity combining. The Node B is also responsible <strong>for</strong> the FDD softer handover.<br />

This micro diversity combining is carried out independently, eliminating the need <strong>for</strong> additional<br />

transmission capacity in the Iub.<br />

68


The Node B also participates in power control, as it enables the UE to adjust its power<br />

using downlink (DL) transmission power control (TPC) commands via the inner-loop<br />

power control on the basis of uplink (UL) TPC in<strong>for</strong>mation. The predefined values <strong>for</strong><br />

inner-loop power control are derived from the RNC via outer-loop power control.<br />

UMTS UE<br />

Telecommunication Manager 7<br />

The UMTS UE is based on the same principles as the <strong>GSM</strong> MS - the separation between<br />

mobile equipment (ME) and the UMTS subscriber identity module (SIM) card<br />

(USIM). The following picture shows the user equipment functions. The UE is the counterpart<br />

to the various network elements in many functions and procedures.<br />

69


6.5 UMTS Interfaces<br />

Many new protocols have been developed <strong>for</strong> the four new interfaces specified in UMTS:<br />

Uu, Iub, Iur, and Iu. Be<strong>for</strong>e we review the individual interface protocols, we introduce the<br />

UMTS general protocol model.<br />

General Protocol Model [3G TS 25.401]<br />

Telecommunication Manager 7<br />

UTRAN interface consists of a set of horizontal and vertical layers (see next picture).<br />

The UTRAN requirements are addressed in the horizontal radio network layer across different<br />

types of control and user planes. Control planes are used to control a link or a<br />

connection; user planes are used to transparently transmit user data from the higher<br />

layers. Standard transmission issues, which are independent of UTRAN requirements,<br />

are applied in the horizontal transport network layer.<br />

70


Five major protocol blocks are shown in the previous picture:<br />

Signaling bearers are used to transmit higher layers' signaling and control in<strong>for</strong>mation.<br />

They are set up by O&M activities.<br />

Data bearers are the frame protocols used to transport user data (data<br />

streams). The transport network-control plane (TN-CP) sets them up.<br />

Application protocols are used to provide UMTS-specific signaling and control<br />

within UTRAN, such as to set up bearers in the radio network layer.<br />

Data streams contain the user data that is transparently transmitted between<br />

the network elements. User data is comprised of the subscriber's personal data and<br />

mobility management in<strong>for</strong>mation that are exchanged between the peer entities<br />

MSC and UE.<br />

Access link control application part (ALCAP) protocol layers are provided in<br />

the TN-CP. They react to the radio network layer's demands to set up, maintain,<br />

and release data bearers. The primary objective of introducing the TN-CP was to<br />

totally separate the selection of the data bearer technology from the control plane<br />

(where the UTRAN-specific application protocols are located). The TN-CP is present<br />

in the Iu-CS, Iur, and Iub interfaces. In the remaining interfaces where there is<br />

no ALCAP signaling, preconfigured data bearers are activated.<br />

Application Protocols<br />

Telecommunication Manager 7<br />

Application protocols are Layer-3 protocols that are defined to per<strong>for</strong>m UTRAN-specific<br />

signaling and control. A complete UTRAN and UE control plane protocol architecture is<br />

illustrated in the next picture. UTRAN-specific control protocols exist in each of the four<br />

interfaces.<br />

71


Iu: Radio Access Network Application Part (RANAP) [3G TS 25.413]<br />

This protocol layer provides UTRAN-specific signaling and control over the Iu. The following<br />

is a subset of the RANAP functions:<br />

Overall radio access bearer (RAB) management, which includes the RABís<br />

setup, maintenance, and release;<br />

Management of Iu connections;<br />

Transport of nonaccess stratum (NAS) in<strong>for</strong>mation between the UE and the<br />

CN; <strong>for</strong> example, NAS contains the mobility management signaling and broadcast<br />

in<strong>for</strong>mation;<br />

Exchanging UE location in<strong>for</strong>mation between the RNC and CN;<br />

Paging requests from the CN to the UE;<br />

Overload and general error situation handling.<br />

Telecommunication Manager 7<br />

72


Iur: Radio Network Sublayer Application Part (RNSAP) [3G TS 25.423]<br />

UTRAN-specific signaling and control over this interface contains the following:<br />

Management of radio links, physical links, and common transport channel resources;<br />

Paging;<br />

SRNC relocation;<br />

Measurements of dedicated resources.<br />

Iub: Node B Application Part (NBAP) [3G TS 25.433]<br />

UTRAN specific signaling and control in the Iub includes the following:<br />

Management of common channels, common resources, and radio links;<br />

Configuration management, such as cell configuration management;<br />

Measurement handling and control;<br />

Synchronization (TDD);<br />

Reporting of error situations.<br />

Uu: Radio Resource Control (RRC) [3G TS 25.331]<br />

This layer handles the control plane signaling over the Uu between the UE and the UT-<br />

RAN. Some of the functions offered by the RRC include the following:<br />

Broadcasting in<strong>for</strong>mation;<br />

Telecommunication Manager 7<br />

Management of connections between the UE and the UTRAN, which include<br />

their establishment, maintenance, and release;<br />

73


Management of the radio bearers, which include their establishment, maintenance,<br />

release, and the corresponding connection mobility;<br />

Ciphering control;<br />

Outer loop power control;<br />

Message integrity protection;<br />

Timing advance in the TDD mode;<br />

UE measurement report evaluation;<br />

Paging and notifying.<br />

Two modes of operation are defined <strong>for</strong> the UE, the idle mode and the dedicated mode.<br />

In the idle mode the peer entity of the UE's RRC is at the Node B, while in the dedicated<br />

mode it is at the SRNC. The dedicated mode is shown in Figure 10.<br />

Higher-layer protocols to per<strong>for</strong>m signaling and control tasks are found on top of the<br />

RRC. The mobility management (MM) and call control (CC) are defined in the existing<br />

<strong>GSM</strong> specifications. Even though MM and CC occur between the UE and the CN and<br />

are there<strong>for</strong>e not part of UTRAN specific signaling, they demand basic support from the<br />

transfer service, which is offered by duplication avoidance (see 3G TS 23.110). This<br />

layer is responsible <strong>for</strong> in-sequence transfer and priority handling of messages. It belongs<br />

to UTRAN, even though its peer entities are located in the UE and CN.<br />

Transport Network Layer: Specific Layer-3 Signaling and Control Protocols<br />

Telecommunication Manager 7<br />

Two types of layer-3 signaling protocols are found in the transport network layer:<br />

Iu, Iur: Signaling Connection Control Part (SCCP) [ITU-T Q.711-Q. 716] This<br />

provides connectionless and connection-oriented services. On a connectionoriented<br />

link, it separates each mobile unit and is responsible <strong>for</strong> the establishment<br />

of a connection-oriented link <strong>for</strong> each and every one of them;<br />

74


lu-CS, Iur, Iub: ALCAP [ITU-T Q.2630.1, Q.2150.1, and Q.2150.2]. Layer-3<br />

signaling is needed to set up the bearers to transmit data via the user plane. This<br />

function is the responsibility of the ALCAP, which is applied to dynamically establish,<br />

maintain, release, and control ATM adaptation layer (AAL)-2 connections. AL-<br />

CAP also has the ability to link the connection control to another higher layer control<br />

protocol. This and additional capabilities were specified in ITU-T Q.2630.1. Because<br />

of the protocol layer specified in Q.2630.1, a converter is needed to correspond<br />

with underlying sublayers of the protocol stack. These converters are called<br />

(generically) signaling transport converter (STC). Two converters are defined and<br />

applied in UTRAN:<br />

Iu-CS, Iur: AAL-2 STC on message transfer part (MTP) level 3 (broadband)<br />

<strong>for</strong> Q.2140 (MTP3b) [Q.2150.1];<br />

Iub: AAL-2 STC on service-specific connection-oriented protocol<br />

(SSCOP) [Q.2150.2].<br />

Transport Network Layer Specific Transmission Technologies<br />

Now that we have a circuit-switched and packet-switched domain in the CN and a growing<br />

market <strong>for</strong> packet-switched network solutions, a new RAN must be open to both<br />

types of traffic in the long run. That network must also transmit the Layer-3 signaling and<br />

control in<strong>for</strong>mation. ATM was selected as the Layer-2 technology, but higher-layer protocols<br />

used in the transport network layer demonstrate the UMTS openness to a pure IP<br />

solution.<br />

Iu, Iur, Iub: ATM [ITU-T I.361]<br />

Telecommunication Manager 7<br />

Broadband communication will play an important role with UMTS. Not only voice but also<br />

multimedia applications such as videoconferencing, exploring the Internet, and document<br />

sharing are anticipated. We need a data link technology that can handle both<br />

circuit-switched and packet-switched traffic as well as isochronous and asynchronous<br />

traffic. In UMTS (Release í99), ATM was selected to per<strong>for</strong>m this task.<br />

75


Telecommunication Manager 7<br />

An ATM network is composed of ATM nodes and links. The user data is organized and<br />

transmitted in each link with a stream of ATM cells. AALs are defined to enable different<br />

types of services with corresponding traffic behavior. Two of these are applied in UT-<br />

RAN:<br />

Iu-CS, Iur, Iub: AAL-2 [ITU-T I.363.2]-With AAL-2, isochronous connections<br />

with variable bit rate and minimal delay in a connection-oriented mode are supported.<br />

This layer was designed to provide real-time service with variable data<br />

rates, such as video. Except <strong>for</strong> the Iu-PS interface, AAL-2 is always used to carry<br />

the user data streams;<br />

Iu-PS, Iur, Iub: AAL-5 [ITU-T I.363.5]-With AAL-5, isochronous connections<br />

with variable bit rate in a connection-oriented mode are supported. This layer is<br />

used <strong>for</strong> Internet protocol (IP) local-area network (LAN) emulation, and signaling. In<br />

UTRAN, AAL-5 is used to carry the packet-switched user traffic in the Iu-PSinterface<br />

and the signaling and control data throughout.<br />

In order to carry signaling and control data, the AAL-5 has to be enhanced. Here, UT-<br />

RAN offers both a classical ATM solution and an IP-based approach:<br />

Signaling AAL and MTP3b - To make signaling AAL (SAAL) available in place<br />

of the AAL-5 service-specific convergence sublayer (SSCS), the SSCOP, which<br />

provides a reliable data transfer service, and the service-specific coordination function<br />

(SSCF), which acts as coordination unit, are defined;<br />

Iu, Iur, Iub: SSCOP [ITU-T Q.2110] - The SSCOP is located on top of the AAL.<br />

It is a common connection-oriented protocol that provides a reliable data transfer<br />

between peer entities. Its capabilities include the transfer of higher-layer data with<br />

sequence integrity, flow control, connection maintenance in case of a longer data<br />

transfer break, error correction by protocol control in<strong>for</strong>mation, error correction by<br />

retransmission, error reporting to layer management, status report, and more.<br />

76


Two versions of the SSCF are defined: one <strong>for</strong> signaling at the user-to-network interface<br />

(UNI), and one <strong>for</strong> signaling at the network to node interface (NNI):<br />

Iub: SSCF <strong>for</strong> at the UNI (SSCF) [ITU-T Q.2130] - The SSCF-UNI receives<br />

Layer-3 signaling and maps it to the SSCOP and visa versa. The SSCF-UNI per<strong>for</strong>ms<br />

coordination between the higher and lower layers. Within UTRAN, it is applied<br />

in Iub with the NBAP and ALCAP on top of the SSCF-UNI.<br />

Iu, Iur: SSCF at the NNI (SSCF-NNI) [ITU-T Q.2140] - The SSCF-NNI receives<br />

the SS7 signaling of a Layer 3 and maps it to the SSCOP, and visa versa.<br />

The SSCF-NNI per<strong>for</strong>ms coordination between the higher and the lower layers.<br />

Within UTRAN, MTP3b has the higher Layer 3, which requires service from the<br />

SSCOP-NNI.<br />

Originally the SS7 protocol layer, SCCP relies on the services offered by MTP, so the<br />

Layer-3 part of the MTP must face the SCCP layer:<br />

Iu, Iur: MTP3b [ITU-T Q.2210] - Signaling links must be controlled in level 3<br />

<strong>for</strong>: message routing, discrimination and distribution (<strong>for</strong> point-to-point link only),<br />

signaling link management, load sharing, etc. The specific functions and messages<br />

<strong>for</strong> these are defined by the MTP3b, which requires the SSCF-NNI to provide its<br />

service.<br />

The Layer-3 signaling and control data can also be handled by an enhanced IP stack using<br />

a tunneling function (see Figure 12). Tunneling is also applied <strong>for</strong> packet-switched<br />

user data over the Iu-PS interface (see Figure 14).<br />

IP over ATM<br />

Telecommunication Manager 7<br />

lu-PS, Iur: IP [IETF RFC 791, 2460, 1483, 2225], user datagram protocol<br />

(UDP) [IETF RFC 768] The IP can be encapsulated and then transmitted via<br />

an ATM connection, a process which is described in the RFC 1483 and RFC<br />

2225. Both IP version 4 (IPv4) and IP version 6 (IPv6) are supported. IP is actually<br />

a Layer-3 protocol. UDP is applied on top of the unreliable Layer-4 pro-<br />

77


tocol. The objective is to open this signaling link to future pure IP network solutions.<br />

In order to tunnel SCCP or ALCAP signaling in<strong>for</strong>mation, two protocols are applied:<br />

Iu-PS and Iur: Simple Control Transmission Protocol (SCTP) [IETF SCTP] -<br />

This protocol layer allows the transmission of signaling protocols over IP networks.<br />

Its tasks are comparable with MTP3b. On Iu-CS, SS7 must be tunneled between<br />

the CN and the RNC. The plan is that this is to be done with the Iu-PS and Iur<br />

[IETF M3UA].<br />

The following does the tunneling of packet-switched user data:<br />

Iu-PS: GPRS tunneling protocol (GTP) [3G TS 29.060] - The GTP provides<br />

signaling through GTP-control (GTP-C) and data transfer through GTP-user (GTP-<br />

U) procedures. Only the latter is applied in the Iu-PS interface because the control<br />

function is handled by the RANAP protocol. The GTP-U is used to tunnel user data<br />

between the SGSN and the RNC.<br />

Iu, Iur, Iub: The Physical Layers [3G TS 25.411]<br />

Telecommunication Manager 7<br />

The physical layer defines the access to the transmission media, the physical and electrical<br />

properties, and how to activate and deactivate a connection. It offers to the higherlayer<br />

physical service access points to support the transmission of a uni<strong>for</strong>m bit stream.<br />

A huge set of physical-layer solutions is allowed in UTRAN, including ETSI synchronous<br />

transport module (STM)-1 (155 Mbps) and STM-4 (622 Mbps); synchronous optical network<br />

(SONET) synchronous transport signal (STS)-3c (155 Mbps) and STS-12c (622<br />

Mbps); ITU STS-1 (51 Mbps) and STM-0 (51 Mbps); E-1 (2 Mbps), E-2 (8 Mbps), and E-<br />

3 (34 Mbps); T-1 (1.5 Mbps) and T-3 (45 Mbps); and J-1 (1.5 Mbps) and J-2 (6.3 Mbps).<br />

78


With the previous protocol layers, the interfaces Iu, Iur, and Iur are fully described. There<br />

is only the air interface left <strong>for</strong> a more detailed analysis:<br />

The Air Interface Uu [3G TS 25.301]<br />

Telecommunication Manager 7<br />

The air interface solution is usually a major cause <strong>for</strong> dispute when specifying a new<br />

RAN. Figure 15 shows the realization of the lower parts of the protocol stack in the UE.<br />

As can be seen, a physical layer, data link layer, and network layer (the part <strong>for</strong> the<br />

RRC) have been specified.<br />

79


The physical layer is responsible <strong>for</strong> the transmission of data over the air interface. The<br />

FDD and TDD W-CDMA solutions have been specified in UMTS Rel. '99. The data link<br />

layer contains four sublayers:<br />

Medium Access Control (MAC) [3G TS 25.321] - The MAC layer is located on<br />

top of the physical layer. Logical channels are used <strong>for</strong> communication with the<br />

higher layers. A set of logical channels is defined to transmit each specific type of<br />

in<strong>for</strong>mation. There<strong>for</strong>e, a logical channel determines the kind of in<strong>for</strong>mation it uses.<br />

The exchange of in<strong>for</strong>mation with the physical layer is realized with transport channels.<br />

They describe how data is to be transmitted over the air interface and with<br />

what characteristics. The MAC layer is responsible <strong>for</strong> more than mapping the logical<br />

channels into the physical ones. It is also used <strong>for</strong> priority handling of UEs and<br />

the data flows of a UE, traffic monitoring, ciphering, multiplexing, and more.<br />

Radio Link Control (RLC) [3G TS 25.322] - This is responsible <strong>for</strong> acknowledged<br />

or unacknowledged data transfer, establishment of RLC connections, transparent<br />

data transfer, quality of service (QoS) settings, unrecoverable error notification,<br />

ciphering, etc. There is one RLC connection per radio bearer.<br />

The two remaining Layer-2 protocols are used only in the user plane:<br />

Telecommunication Manager 7<br />

Packet Data Convergence Protocol (PDCP) [3G TS 25.323] - This is responsible<br />

<strong>for</strong> the transmission and reception of radio network layer protocol data units<br />

(PDUs). Within UMTS, several different network layer protocols are supported to<br />

transparently transmit protocols. At the moment, IPv4 and IPv6 are supported, but<br />

UMTS must be open to other protocols without <strong>for</strong>cing the modification of UTRAN<br />

protocols. This transparent transmission is one task of PDCP; another is to increase<br />

channel efficiency (by protocol header compression, <strong>for</strong> example).<br />

Broadcast/Multicast Control (BMC) [3G TS 25.324] - This offers broadcast/<br />

multicast services in the user plane. For instance, it stores SMS CB messages and<br />

transmits them to the UE.<br />

80


7. TRENDY Suite<br />

7.1 Overview<br />

The purpose of the Trendy Suite, as mentioned be<strong>for</strong>e, is to recovery and catalogue the<br />

reports of the HTSs and DNCPs devices (the DNCP name is used to indicate the whole<br />

nodes of the intelligent network, e.g. SRN - MNP Signaling Relay Node used <strong>for</strong> <strong>Mobile</strong><br />

Number Portability). Rather than the DNCP reports, that are sent directly from the devices<br />

to the server, the HTS reports are received by the NFM server and then they are<br />

sent to the server which runs the Trendy Batch Service.<br />

All these reports are stored into a Microsoft Access database; such a database resides<br />

in the same server that hosts the Trendy Batch Service and the Trendy server.<br />

The suite is composed of three applications:<br />

Trendy Batch Service;<br />

Trendy Client;<br />

Trendy Server;<br />

and allows two types of users:<br />

Administrator;<br />

Guest.<br />

Telecommunication Manager 7<br />

All the three applications are built with Microsoft Visual Basic 6, that is an event driven<br />

programming language (a computer programming paradigm in which the flow of the program<br />

is determined by user actions or messages from others programs) and associated<br />

development environment from Microsoft.<br />

81


Visual Basic was designed to be easy to learn and use. The language not only allows programmers<br />

to easily create simple GUI applications, but also has the flexibility to develop<br />

fairly complex applications as well. Programming in VB is a combination of visually arranging<br />

components or controls on a <strong>for</strong>m, specifying attributes and actions of those components,<br />

and writing additional lines of code <strong>for</strong> more functionality. Since default attributes<br />

and actions are defined <strong>for</strong> the components, a simple program can be created without the<br />

programmer having to write many lines of code. Per<strong>for</strong>mance problems were experienced<br />

by earlier versions, but with faster computers and native code compilation this has become<br />

less of an issue.<br />

Because of the above mentioned reason and to allow easy updates, such a language has<br />

been chosen to be used <strong>for</strong> the development of the suite's applications.<br />

In the following pages I will provide a brief overview on how the Trendy Batch Service and<br />

the Trendy Client works, then I will point out what I have done to build in my own part of<br />

code.<br />

7.1.1 Trendy Batch Service<br />

Telecommunication Manager 7<br />

The Trendy Batch Service is a daemon (a daemon is a computer program that runs in<br />

the background, rather than under the direct control of a user, it is usually initiated as<br />

process), such a daemon runs on the server located in our office. Its main task is to recovery,<br />

on a daily basis, all the devices' logs. To do that, every day at 9:00 am, it connects<br />

automatically to the NFM server and runs a script that resides on the NFM, such a<br />

script starts to recovery the logs sent by the HTSs, once all logs are recovered it filters<br />

those logs depending on certain parameters and sends the lowered bunch of logs to the<br />

Trendy Batch Service.<br />

As said in the overview, the process to recovery DNCPs' logs is simpler than the previous<br />

mentioned, that is because each DNCP device sends its own logs to the Trendy<br />

Batch Service every day, that is possible cause each DNCP runs a Crontab process<br />

(Crontab is a Unix process that let you schedule some operation in a definite time).<br />

After these two process, the Trendy Batch Service filters the logs again, in a way to<br />

avoid to overcharge the database with logs useless <strong>for</strong> the technicians.<br />

82


The following are three examples of logs, the first belongs to an HTS, the second and<br />

the third belongs to a DNCP, note that the third one is a <strong>System</strong> Alarm:<br />

HTS<br />

-------->> Pattern di ricerca: arb "BKUP ODD"<br />

070323010054A0020ä +++ MIHTS01 07-03-23 01:00:53 MTCE 4113 #009411 ><br />

BKUP ODD STARTED<br />

END OF REPORT #009411 ++-<br />

070323010118A0020ä +++ MIHTS01 07-03-23 01:01:17 MTCE 4113 #009412 ><br />

BKUP ODD NRODD= 1 IN PROGRESS<br />

END OF REPORT #009412 ++-<br />

DNCP<br />

## CONTROLLO HW ##<br />

CLAIM - - Online - 0<br />

0 GBUS Nexus CLAIM - - Online - 0<br />

g27210 0/0 PMERC Nexus CLAIM 50116 8.0 Online - 0<br />

- 0/0/0 CPU Adapter CLAIM - - Online - 0<br />

m71700 0/0/1 MEM Adapter CLAIM - - Online - 0<br />

g27210 0/1 PMERC Nexus CLAIM 500899 8.0 Online - 0<br />

DNCP <strong>System</strong> Alarm<br />

## SYSLOG ##<br />

May 16 2007 23:59:00METDST: syslog.log trimmed by bkup_syslog.sh<br />

T h u M a y 1 7 0 0 : 0 1 : 0 0 2 0 0 7 0 . 0 6 4 8 3 5 1 0 . 1 9 2 . 2 . 5 2 4 1 5 7 5<br />

/home/sdp/stat/quarter_hour/sdp_stats.20070517.0000 a _ o r misure ftp 0 * 1179352860 0.000000<br />

Thu May 17 00:01:00 2007 -1 X -1 X X X X X X ftp -1 X 1179352860 0.000000<br />

May 16 23:54:52 NASRF04 : su : + tty?? root-sdp<br />

May 17 00:03:00 NASRF04 SINAP 0 [3599]: SINAP ALARM<br />

Telecommunication Manager 7<br />

83


7.1.2 Trendy Client<br />

The Trendy Client application has the task to show the reports stored in the database. It<br />

is used by the technicians to monitor the network activity.<br />

File menu - Allows the user to close the application, such an operation could<br />

be even done by clicking on the exit button located in the left side of the window;<br />

Visualizza menu - It allows the user to access the main function of the application<br />

(Diario di centrale), that is to access the reports database;<br />

Utility menu - Impostazione parametri - It allows the user to configure the application's<br />

parameters;<br />

? menu - Shows the application's name and its version.<br />

Telecommunication Manager 7<br />

84


The following is a thorough overview of the Client's functions.<br />

Application configuration<br />

Telecommunication Manager 7<br />

The "Utility -> Configurazione" menu let you access the configuration window, it contains<br />

the database path that is essential <strong>for</strong> the data recovery.<br />

The database resides in the server, it is possible to<br />

manually insert the path or to chose it by clicking on<br />

the button in the left side of the path text-box.<br />

85


Data visualization<br />

Telecommunication Manager 7<br />

The "Visualizza -> Diario di centrale" menu let you access the data visualization window.<br />

The first window shown let you select the search keys. By default neither HTS nor SM<br />

nor Key are selected, thus the visualization includes all HTSs, all SMs and all Keys, the<br />

selected date is the last loaded in the database. Notice that each user is able to edit only<br />

his own HTSs.<br />

By clicking on the "Conferma" button the requested data are shown. See next picture.<br />

The search keys are shown in the upper side of the window, while in the body it is shown<br />

the HTS table.<br />

86


Double clicking on a row let you see a window with the HTS reports list.<br />

To see a report details just double click on the report row.<br />

Telecommunication Manager 7<br />

87


These are the details of the selected report:<br />

Telecommunication Manager 7<br />

88


Data visualization criterion<br />

The data capture is done in relation to the following search keys (example of HTSs'<br />

keys):<br />

7.2 Trendy Server<br />

7.2.1 Overview<br />

The Trendy Server application runs on the main server and it has to be used only by<br />

administrators users.<br />

Its main purpose is to allow users to manage the whole Trendy Suite, thus an administrator<br />

could add, delete, or edit a client account, a device, a key and so on.<br />

The main window has three menus, the first is the file menu, it has the only purpose to<br />

let you close the application, right as the Client's file menu does. Anyway it can be even<br />

closed by clicking on the exit button in the left side of the window.<br />

The third menu shows general in<strong>for</strong>mation about the application.<br />

Telecommunication Manager 7<br />

89


The core functions of the application can be found in the second menu: Utility.<br />

I developed the following <strong>for</strong>ms (a part of the code is shown in the final part of the book):<br />

Gestione Elenco Client - Manages the users that can access the Trendy applications;<br />

Gestione Apparati - Manages the devices that can be controlled;<br />

Gestione Elenco KEY DNCP - Manages the keys used to filter DNCPs reports;<br />

Gestione Elenco KEY - Manages the keys used to filter HTSs reports;<br />

Gestione Elenco SM - Manages the associations between HTS and SM;<br />

Impostazione Parametri - Manages the application's parameters.<br />

The following <strong>for</strong>ms has been developed by my colleague:<br />

Gestione Utenti e Psw - Manages users' passwords;<br />

Telecommunication Manager 7<br />

Importa descrizioni Point Code - Imports Point Codes' descriptions from an<br />

Oracle database.<br />

90


7.2.2 Gestione Elenco Client<br />

The window shows all the users that can access Trendy applications, and even if they<br />

are administrators or simple users.<br />

I open the database by putting in the <strong>for</strong>m_load a function written by my colleague, this<br />

function, along with other functions, is defined in a module called "Funzioni".<br />

If Not dbGiaAperto(dbTrendy) Then<br />

End If<br />

If Not ApriDatabase(dbTrendy, DBPath & "\" & DBName, False, False, wsTrendy) Then<br />

End If<br />

MsgBox "Impossibile aprire il database " & DBPath & "\" & DBName, vbExclamation, glTitolo<br />

Exit Sub<br />

Telecommunication Manager 7<br />

If the boolean function "dbGiaAperto" returns a negative value (that means the database<br />

is still closed), the "ApriDatabase" function opens the database. If something goes<br />

wrong, an error alert is shown and the subroutine quits immediately.<br />

91


To select elements from tables I set a string variable in which store the SQL query, then I<br />

call a function to open the database (that function has been written by my colleague),<br />

the following is an example:<br />

Dim strSQL As String<br />

strSQL = "Select * from ElencoClient" 'select each elements from the client table<br />

If Not ApriRecordSet(strSQL, RS, dbTrendy, dbOpenDynaset, 0, 0, False) Then<br />

End If<br />

MsgBox "Impossibile aprire il recordset: " & strSQL & " - " & Errore, vbExclamation, glTitolo<br />

Errore = ""<br />

Exit Sub<br />

The "ApriRecordSet" function tries to create a recordset (that is nothing more than a virtual<br />

table) containing the query results. Even here, if something goes wrong, an error<br />

alert is shown and the subroutine quits immediately.<br />

To show the user list I used the MSFlexGrig control, that is a powerful control to manage<br />

data from database tables.<br />

From this window an administrator can insert, delete or edit a user account, moreover,<br />

he can manage the devices associated to a particular user:<br />

Add Accounts<br />

By clicking on the "Inserisci" button, on the<br />

top right part, the "Inserisci Client" window<br />

it is shown, it allows you to type in the name<br />

of the new user account and to select if the<br />

new user is a simple user or an administrator;<br />

Telecommunication Manager 7<br />

92


The "Pulisci" button clears all the fields, the "Chiudi" button close the window while the<br />

"Inserisci" button saves the introduced data. Of course, if the typed name already exists,<br />

the application warns the administrator and doesn't save the record.<br />

The process of adding a new record in a table is very simple, first it is necessary to<br />

check if the record already exist (RS is the recordset):<br />

End If<br />

If RS.RecordCount > 0 Then 'if the recordset is not empty<br />

Do While Not RS.EOF 'until the end of the recordset<br />

If DeCrypt(RS.Fields("UtentePC").Value) = utente Then 'if the user already exist<br />

Else<br />

End If<br />

controlloUtente = False 'the function returns false<br />

Exit Function<br />

controlloUtente = True 'else it returns true<br />

RS.MoveNext 'it moves to the next record<br />

Loop<br />

then it is just enough to add the following instructions:<br />

RS.AddNew 'starts the add procedure<br />

RS.Fields("UtentePC").Value = Crypt(Me.textUtente.text) 'inserts the name in the name field<br />

If Me.optionNo Then 'if administrator is not checked<br />

else<br />

end if<br />

RS.Fields("TipoL").Value = Crypt("NO") 'inserts "NO" in the type field<br />

RS.Fields("TipoL").Value = Crypt("NO") 'else it inserts "SI" in the type field<br />

RS.Update 'updates the recordset<br />

Telecommunication Manager 7<br />

The "Crypt" and "DeCrypt" functions are used either to cipher and decipher text.<br />

93


Delete Accounts<br />

To delete an user account, the only thing to do is to select an user and then click on the<br />

"Elimina" button, the account is deleted instantly.<br />

The only instruction necessary to delete a record is:<br />

RS.Delete<br />

clearly it is necessary to seek the record be<strong>for</strong>e to delete it.<br />

Edit Accounts<br />

By clicking on the "Modifica" button, the<br />

"Modifica Client" window it is shown, it<br />

shows the name of the selected user and if<br />

he is an administratorThe "Pulisci" and the<br />

"Chiudi" buttons have the same functions<br />

of those in the "Inserisci Client" window,<br />

while the "Modifica" button saves the<br />

changes.<br />

To edit a record it is just enough to seek<br />

that record and then to replace its field's<br />

values by using the following code:<br />

RS.Edit 'starts the edit procedure<br />

RS.Fields("UtentePC").Value = Crypt(Me.textUtente.text) 'replace the user name<br />

RS.Fields("TipoL").Value = Crypt("NO") 'replace the user type<br />

RS.Update 'updates the recordset<br />

Telecommunication Manager 7<br />

94


Manage associated devices<br />

Double clicking on a user name shows the "5ESS - DNCP Associati" winodw, such a<br />

window shows the devices associated to the selected user:<br />

The "Associa apparato al<br />

Client" button adds the selected<br />

device to the selected<br />

user, while the<br />

"Rimuovi apparato dal Cliet"<br />

removes the selected devices<br />

from the selected<br />

user.<br />

Telecommunication Manager 7<br />

95


7.2.3 Gestione Apparati<br />

The "Gestione Apparati" window let you<br />

add, delete or edit devices, moreover it<br />

let you see the SMs devices associated<br />

to the HTSs:<br />

Add Devices<br />

By clicking on the "Inserisci" button the "Inserici apparato" window is shown:<br />

Telecommunication Manager 7<br />

96


From here an administrator can chose to add a<br />

"5ESS" device, that is a HTS, or a DNCP device,<br />

the only thing to do is to select the radio button<br />

and to type the name. It is also possible to associate<br />

a SM device to a HTS, by the way, you have<br />

to select at least one SM <strong>for</strong> each HTS, otherwise<br />

the application doesn't save the new device. If the<br />

SM you want is not in the list, you can even add a<br />

new SM by clicking on the "Aggiungi SM" button.<br />

When you check the DNCP radio button the SM<br />

chose list disappears, that is because DNCPs<br />

haven't SM associated.<br />

Telecommunication Manager 7<br />

This picture shows the "Inserisci apparato" window<br />

when the DNCP radio button is checked.<br />

97


Delete Devices<br />

To delete a device it is just necessary to select the device you want delete, then to click<br />

on the "Elimina" button.<br />

Edit Devices<br />

First of all it is necessary to select the device you<br />

want to edit, then to click on the "Modifica" button;<br />

the "Modifica Apparato" window is now shown, it<br />

shows the device's attributes, such attributes include<br />

the device name, its type, and, if it is a HTS<br />

device, the window shows the SMs associated to<br />

that HTS.<br />

Obviously from here it is possible to change all<br />

the attributes, even the device type.<br />

Telecommunication Manager 7<br />

98


Associated SMs<br />

Telecommunication Manager 7<br />

The "Gestione Apparati" window gives also the chance to see which SMs are associated<br />

to a certain HTS, it is needed to double click on the name of one of the HTSs, then the<br />

following window is shown:<br />

99


7.2.4 Gestione Elenco KEY DNCP<br />

The "Gestione Elenco KEY DNCP" window let you add, edit or delete the keywords used<br />

to filter the DNCPs reports:<br />

Add Key<br />

By clicking on the "Inserici" button the "Inserisci<br />

KEY DNCP" window is shown, from<br />

here it is possible to add a new key <strong>for</strong> the<br />

DNCP reports, as with the others input window,<br />

the application checks first if the key<br />

already exists, then it saves the record.<br />

Delete Key<br />

To delete a key it is just enough to select a<br />

key and then to click on the "Elimina" button.<br />

Telecommunication Manager 7<br />

100


Edit Key<br />

The "Modifica" button allows you to edit a<br />

previous selected key, the only thing to do<br />

now is to replace the shown name.<br />

7.2.5 Gestione Elenco KEY<br />

Telecommunication Manager 7<br />

The "Gestione Elenco Key" window allows you to add, edit or delete the keywords <strong>for</strong><br />

the HTSs reports, it works as well as the "Gestione Elenco KEY DNCP" does.<br />

101


7.2.6 Elenco SM<br />

The "Elenco SM" window shows all the<br />

SMs and the HTSs devices, it allows<br />

the administrator to associate SMs to<br />

HTSs, to remove SMs from HTSs and<br />

also to add a new SM on the list of the<br />

available SMs.<br />

The "Seleziona tutti i 5ESS" button selects<br />

all the SMs in the list, while the<br />

"Deseleziona tutti i 5ESS" deselects all<br />

of them.<br />

The "Associa SM su 5ESS" button adds<br />

the selected SMs on the chosen HTS,<br />

while the "Rimuovi SM da 5ESS" has<br />

the reverse function.<br />

One of the most important functions<br />

that can be accomplished from here is<br />

the inclusion of a new SM, such a task<br />

can be done by clicking on the "Aggiungi<br />

SM alla lista". On the other hand,<br />

to remove a SM from the list, it is<br />

needed to select the SM and click on<br />

the "Elimina SM dalla lista" button.<br />

In the "Aggiungi SM" window an user can type the name of the new<br />

SM and can chose the HTS to associate with the SM; at least one<br />

HTS has to be chosen.<br />

Telecommunication Manager 7<br />

102


7.2.7 Impostazione Parametri<br />

From the "Impostazione Parametri" window an administrator can set the parameters<br />

necessary to let the "Trendy Batch Service" work.<br />

The window is divided in five<br />

tabs, each tab contains different<br />

types of parameters,<br />

such parameters are stored<br />

into an ini file called<br />

TrendySetup.ini. Ini files are<br />

very simple to understand,<br />

they have a <strong>for</strong>mat like the<br />

following:<br />

[SESSION 1]<br />

;comment.<br />

parameter = example<br />

parameter 2 = example<br />

......<br />

[SESSION 2]<br />

;comment<br />

parameter = example<br />

parameter 2 = example<br />

To add, delete and read a<br />

string from the ini file I used<br />

two functions already written<br />

by my colleague, the one that read a string is the following:<br />

LeggiStrIni session, parameter, file-path<br />

......<br />

Telecommunication Manager 7<br />

103


it requires only three parameters: the file ini path, the session name and the parameter<br />

name.<br />

To add and delete a string I used the same function but with different parameters, <strong>for</strong> example<br />

to add a string I used:<br />

ScriviStrIni session, parameter, value, file-path<br />

where parameter and value are the new values to insert in the session field. On the<br />

other hand, to delete a string, i used:<br />

ScriviStrIni session, parameter, vbNullString, file-path<br />

vbNullString in the value field does means that the string with that parameter and in that<br />

session has to be deleted.<br />

In the first tab of the window (the "Generale" tab shown in the previous picture), there<br />

are general parameters:<br />

"Percorso database" - Database path;<br />

"Nome database" - Database name (e.g. Trendy.mdb);<br />

"Percorso DNCP" - Path of the DNCP logs;<br />

"SMTP Server" - Name of the SMTP server, <strong>for</strong> the outgoing email;<br />

"SMTP Porta" - SMTP server port;<br />

"Da" - Email address of the sender;<br />

Telecommunication Manager 7<br />

"Indirizzo IP NFM primario" - IP address of the primary NFM server;<br />

"Indirizzo IP NFM secondario" - IP address of the secondary NFM server;<br />

"Tempo attesa prima di chiudere la connessione" - NFM connection timeout.<br />

104


The second tab, "Acquisizione", let you set the parameter <strong>for</strong> the HTS reports recovery:<br />

"Recupera giorni non caricati" - Recovery of the previous days (Yes or No);<br />

"Attesa" - Delay <strong>for</strong> the recovery;<br />

"Giorni da recuperare" - Number of days to retrieve;<br />

"Cancella log HTS" - Delete log files (Yes or No).<br />

The following picture shows the "Acquisizione" tab:<br />

Telecommunication Manager 7<br />

105


Telecommunication Manager 7<br />

The "Filtri DNCP" tab let you chose which items can be shown and the minimum values<br />

<strong>for</strong> each filter, the following picture shows the "Filtri DNCP" tab:<br />

From here it is also possible<br />

to add or remove filters; to<br />

delete a filter just select a<br />

filter then click on the<br />

"Elimina filtro selezionato"<br />

button. To add a filter click on<br />

the "Aggiungi nuovo filtro"<br />

button, a text-box and two<br />

buttons now appears:<br />

In the "Filtro" text-box you<br />

can type the name of the<br />

new filter, then you can click<br />

on the "Conferma" button, if<br />

the filter doesn't already exist,<br />

it is added in the database,<br />

else the application<br />

alerts you that the filter already<br />

exist.<br />

By clicking on the "Annulla"<br />

button the text-box and the<br />

two button disappear.<br />

106


Telecommunication Manager 7<br />

The "Alllarmi" tab let you add or remove filters <strong>for</strong> different system alarms, it allows you<br />

to manage alarm logs <strong>for</strong> CS, MNP and TWIN devices.<br />

On the right side of the window<br />

you can chose the type<br />

of alarm you want to add,<br />

then you can write the name<br />

of the alarm and add it by<br />

clicking on the "Aggiungi allarme"<br />

button.<br />

As in the "Filtri DNCP" button,<br />

from here you can remove<br />

a filter just selecting it<br />

and clicking on the "Rimuovi<br />

allarme" button.<br />

The last tab is the "Indirizzi e-mail" tab, it let you chose which users can receive emails<br />

from the server when a particular event happens. Furthermore it allows you to add and<br />

remove an email. The tab is composed of two lists, the first one lists the email addresses<br />

of the users that can receive emails when the recovery of the reports is done; the second<br />

one lists the email addresses of the users that can receive emails when an error log<br />

or an alert log is received. The following picture shows the "Indirizzi e-mail" tab:<br />

107


Telecommunication Manager 7<br />

The user can select the email<br />

addresses that can receive<br />

emails from the server.<br />

To add a email address click<br />

on the "Aggiungi" button, in<br />

the shown window you can<br />

select if the address can be<br />

able to receive emails when<br />

the recovery is done or when<br />

there is an error or alarm log,<br />

then a click on the "Inserisci"<br />

button let you save the address.<br />

To remove an email it is<br />

necessary to click on the<br />

"Rimuovi" button, the shown<br />

window let you select which<br />

addresses to remove; also<br />

here it is necessary to specify<br />

the type of email you<br />

want to remove; a click on<br />

the "Elimina" button completes<br />

the operation.<br />

108


8. SIGTRAN & EAGLE 5<br />

8.1 SIGTRAN<br />

8.1.1 SIGTRAN Definition and overview<br />

Definition<br />

Signaling Transport (SIGTRAN) is a new set of standards defined by the International<br />

Engineering Task Force (IETF). This set of protocols has been defined in order to provide<br />

the architectural model of signaling transport over IP networks.<br />

Overview<br />

Telecommunication Manager 7<br />

The communication industry is going through a period of explosive change that is both<br />

enabling and driving the convergence of services. Data is becoming more significant as<br />

a proportion of traffic compared to voice. Operators are seeking ways to consolidate<br />

voice and data traffic, plat<strong>for</strong>ms, and services in order to reduce the operational, maintenance,<br />

and initial cost of the network. With a number of technological solutions to<br />

choose from, Internet protocol (IP) is now considered the most promising media on<br />

which to build the new integrated services. There is an on-going integration of circuit<br />

networks and IP networks. Fixed and mobile telephone network operators are designing<br />

all-IP architecture, which includes support <strong>for</strong> signaling system 7 (SS7) signaling protocols.<br />

IP provides an effective way to transport user data and <strong>for</strong> operators to expand<br />

their networks and build new services. Mass popularization of communication services,<br />

including short message services (SMS), contribute to the rapid growth of signaling networks.<br />

As such, more scalable and flexible networks, such as the Internet and its technologies,<br />

are needed.<br />

The benefits of using an IP network in comparison to a legacy time division multiplex<br />

(TDM)-based network include:<br />

109


Telecommunication Manager 7<br />

Ease of deployment - When using signaling gateways (such as access service<br />

group [ASG]), there is no need to disrupt the existing SS7 network, and future enhancements<br />

are transparent;<br />

Less costly equipment - There is no need <strong>for</strong> further expensive investments in<br />

the legacy signaling elements;<br />

Better efficiency - SIGTRAN over an IP network doesn't require the physical<br />

E1/T1 over synchronous digital hierarchy (SDH) rings. Using new technologies like<br />

IP over SDH and IP over fiber, <strong>for</strong> instance, can achieve much higher throughput;<br />

Higher bandwidth - SIGTRAN in<strong>for</strong>mation over IP does not constrain to link<br />

capacity as it does in the SS7 network. The IP network is much more flexible than<br />

the TDM-based legacy network;<br />

Enhanced services - Implementing a core IP network facilitates a variety of<br />

new solutions and value-added services (VAS).<br />

Using SIGTRAN protocols such as an MTP3 user application (M3UA) and a signaling<br />

connection control part user application (SUA), the application vendor (i.e Short Message<br />

service center [SMSC], IP-home location register [IP-HLR], and so on) only has to<br />

develop the application layer and does not have to deal with the complex SS7 interfaces.<br />

By making the network introduction complexity and integration problem much shorter,<br />

the time <strong>for</strong> marketing these new applications will be much faster. SS7 over IP also<br />

solves the throughput limitation that was inherited from the SS7 standards, thus allowing<br />

high-end machines like SMSC, HLR, and so on to be able to support heavy SS7 traffic<br />

needs.<br />

By using signaling gateways, both legacy and new equipment can seamlessly continue<br />

to operate over high bandwidth, scalable and available IP-based core network, instead<br />

of burdening the TDM-based legacy SS7 network.<br />

110


The following picture depicts the diversity of solutions achieved by using signaling transport<br />

protocols:<br />

8.1.2 Why develop a new transport protocol?<br />

Telecommunication Manager 7<br />

Transmission Control Protocol (TCP) (RFC793) per<strong>for</strong>ms an enormous service as the<br />

primary transport protocol in the means of reliable data transfer in IP networks. However,<br />

because it was defined a long time ago and was designed as a packet-oriented protocol,<br />

TCP imposes several limitations <strong>for</strong> new emerging applications. An increasing number of<br />

recent applications have found TCP too limiting.<br />

111


Some of the limitations include the following:<br />

Reliability mechanisms - TCP provides both reliable data transfer, through acknowledgments<br />

mechanism, and strict order of transmission delivery of data,<br />

through sequencing mechanism. Some applications need reliable transfer without<br />

sequence maintenance, while others would be satisfied with partial ordering of the<br />

data. In both of these cases the head-of-line blocking caused by TCP adds unnecessary<br />

delay;<br />

Real-time issues - The abovementioned acknowledgment mechanism (which<br />

added the unnecessary delay) makes the TCP inappropriate <strong>for</strong> real-time applications;<br />

TCP sockets - The limited scope of TCP sockets complicates the task of providing<br />

highly available data transfer capability using multi-homed hosts;<br />

Security issues - TCP is relatively vulnerable to denial-of-service attacks.<br />

All the abovementioned limitations of TCP are relevant while trying to transport SS7<br />

signaling over IP networks, and this is the direct motivation <strong>for</strong> the development of SCTP<br />

as a new transport protocol <strong>for</strong> SIGTRAN. SCTP has not been developed solely <strong>for</strong> SIG-<br />

TRAN; thus SCTP may be a good solution <strong>for</strong> the requirements of other applications.<br />

8.1.3 SIGTRAN Protocol architecture<br />

The architecture that has been defined by SIGTRAN work group consist 3 components:<br />

A standard IP.<br />

Telecommunication Manager 7<br />

A common signaling transport protocol - A protocol that supports a common<br />

set of reliable transport functions <strong>for</strong> signaling transport. In particular, SCTP is a<br />

new transport protocol that has been defined by the IETF.<br />

112


An adaptation sub-layer that supports specific primitives, such as management<br />

indications, required by a particular signaling application protocol. Several<br />

new adaptation sub-layer protocols have been defined by the IETF: M2PA, M2UA,<br />

M3UA, SUA, and IUA. Only one protocol has to be implemented at a given time.<br />

8.1.4 SCTP - Stream Control Transport Protocol<br />

Overview<br />

Telecommunication Manager 7<br />

SCTP is a new IP transport protocol, which exists at an equivalent level with TCP and<br />

user datagram protocol (UDP) and which currently provides transport layer functions to<br />

many Internet-based applications. SCTP has been approved by the IETF as a proposed<br />

standard, and is specified in RFC 2960.<br />

113


Architectural View of SCTP<br />

SCTP is architecturally viewed as a layer between the SCTP user adaptation layer and a<br />

connectionless packet network service such as IP . The basic service offered by SCTP is<br />

a reliable transfer of user messages between peer SCTP users. SCTP is connection oriented;<br />

thus it establishes a connection between two endpoints (called association in<br />

SCTP context) be<strong>for</strong>e transmitting the user data itself.<br />

Functional View of SCTP<br />

Telecommunication Manager 7<br />

The SCTP transport service can be fragmented into several functionalities. These functions<br />

are depicted in the following picture.<br />

114


Note: "SCTP user" refers to adaptation protocol in this context.<br />

Association Startup and Teardown - An association is initiated by a request<br />

from the SCTP user. A cookie mechanism is employed during the initialization to<br />

provide protection against security attacks;<br />

Sequenced Delivery within Streams - The SCTP user can specify at association<br />

startup time the number of streams to be supported by the association;<br />

User Data Fragmentation - SCTP supports fragmentation and reassembly of<br />

user messages to ensure that the SCTP packet passed to the lower layer con<strong>for</strong>ms<br />

to the path multiple-tenant unit (MTU);<br />

Acknowledgment and Congestion Avoidance - SCTP assigns a transmission<br />

sequence number (TSN) to each user data message (fragment or unfragmented).<br />

The receiving end acknowledges all TSNs received, even if there are gaps in the<br />

sequence;<br />

Chunk Bundling - The SCTP packet delivered to the lower layer consists of a<br />

common header followed by one or more chunks;<br />

Packet Validation - A mandatory verification tag field and a 32-bit checksum<br />

field are included in the SCTP common header;<br />

Path Management - The SCTP path-management function chooses the destination<br />

transport address <strong>for</strong> each outgoing SCTP packet based on the SCTP user's<br />

instructions and the currently perceived reach-ability status of the eligible destination<br />

set;<br />

SCTP Common Header Format<br />

The following table depicts the common header <strong>for</strong>mat of SCTP:<br />

Telecommunication Manager 7<br />

115


Source/Destination Port Number Field: 16 Bits - Indicates the SCTP sender's/<br />

destination's port number;<br />

Verification Tag Field: 32 Bits - The receiver of this packet uses the verification<br />

tag to validate the sender of this SCTP packet;<br />

Checksum Field: 32 Bits - This field contains the checksum of this SCTP<br />

packet. SCTP uses the Adler-32 algorithm <strong>for</strong> calculating the checksum.<br />

8.1.5 M2PA - Message Transfer Part 2 Peer-to-Peer Adaptation<br />

M2PA defines a protocol supporting the transport of SS7 MTP3 signaling messages over<br />

IP, using the services of the SCTP. M2PA allows <strong>for</strong> full MTP3 message-handling and<br />

network-management capabilities between any two SS7 nodes communicating over an<br />

IP network. M2PA supports:<br />

Seamless operation of MTP3 protocol peers over an IP network connection;<br />

The MTP2/MTP3 interface boundary, management of SCTP transport associations,<br />

and traffic instead of MTP2 links;<br />

Asynchronous reporting of status changes to management.<br />

Telecommunication Manager 7<br />

The MTP specification requires that each node with an MTP3 layer will be represented<br />

by an SS7 point code. Thus, each IP signaling point must have its own SS7 point code.<br />

116


8.1.6 M2UA<br />

M2UA defines a protocol <strong>for</strong> transport of SS7 MTP2 user (e.g. MTP3) signaling messages<br />

over IP using SCTP. The only SS7 MTP2 user is MTP3. M2UA provides support<br />

<strong>for</strong>:<br />

MTP2/MTP3 interface boundary;<br />

Communication between layer-management modules;<br />

Support <strong>for</strong> management of active associations.<br />

8.1.7 M3UA Message Transfer Part 3 User Adaptation<br />

Telecommunication Manager 7<br />

M3UA defines a protocol <strong>for</strong> supporting the transport of any SS7 MTP3 user signaling<br />

(e.g., ISUP/SCCP messages) over IP using the services of the SCTP. This protocol<br />

would be used between an SG and a media gateway controller (MGC) or IP-resident database.<br />

M3UA is suitable <strong>for</strong> transfer messages of any MTP3 user part. The list of these<br />

protocol layers includes, but is not limited to, ISUP, SCCP, and telephone user part<br />

(TUP). Note: Transaction capabilities application protocol (TCAP) or radio access network<br />

application protocol (RANAP) messages are transferred transparently by the M3UA<br />

as SCCP payload because they are SCCP user protocols.<br />

The M3UA layer provides the equivalent set of primitives at its upper layer to the MTP3<br />

users as provided by the MTP3 to its local MTP3 users at an SS7 signaling endpoint. In<br />

this way, the ISUP and/or SCCP layer aren't aware that the expected MTP3 services are<br />

offered remotely from an MTP3 layer at an SG, and not by a local MTP3 layer. The<br />

MTP3 layer at an SG may also be unaware that its local users are actually remote user<br />

parts over M3UA. In practice, the M3UA extends access to the MTP3 layer services to a<br />

remote IP-based application.<br />

117


8.1.8 SUA<br />

SUA defines a protocol <strong>for</strong> the transport of any SS7 SCCP user signaling (e.g., TCAP,<br />

RANAP, etc.) over IP using SCTP services. The protocol is designed to be modular and<br />

symmetric so as to allow it to work in diverse architectures such as an SG-to-IP<br />

signaling-endpoint architecture as well as a peer-to-peer IP Signaling Endpoint architecture.<br />

SUA supports the following:<br />

Transfer of SCCP user part messages (TCAP, RANAP, etc.);<br />

SCCP connectionless service;<br />

SCCP connection oriented service;<br />

Management of SCTP transports associations between a SG and one or more<br />

IP-based signaling nodes;<br />

Distributed IP-based signaling nodes;<br />

Asynchronous reporting of status changes to management.<br />

Telecommunication Manager 7<br />

118


8.2 Lucent - Tekelec EAGLE 5<br />

Telecommunication Manager 7<br />

The whole signaling traffic of VODAFONE Italia network, related to Voice, Mobility, SMS,<br />

MMS and Value Added Services, currently transported on TDM backbone based on Lucent<br />

HTS, will be gradually moved to a new SIGTRAN backbone based on Tekelec Eagle<br />

5 plat<strong>for</strong>ms.<br />

The new Backbone infrastructure will be based on IP/MPLS transport; SIGTRAN protocol<br />

will be used both in backbone and peripheral connections: in particular:<br />

SIGTRAN connection between SEP and Eagle 5 will be based on M3UA protocol;<br />

SIGTRAN connection between Eagle 5 and Eagle 5 will be based on M2PA<br />

protocol.<br />

The picture below shows the protocol stacks that will be used in the new SIGTRAN network;<br />

in addition, TDM low speed links may be used to connect Eagle 5 to “legacy” SEPs<br />

that will not be enabled to SIGTRAN or <strong>for</strong> SCCP interconnection towards other Networks.<br />

119


8.2.1 Eagle 5 Network Architecture<br />

As the current TDM backbone, the new SIGTRAN backbone will be split in two layers:<br />

“Voice” layer: mobility and voice services related SCCP signaling traffic;<br />

SMS layer: SMS related SCCP signaling traffic.<br />

As far as the number of Zones is concerned, they will be reduced as the new SIGTRAN<br />

network will be logically divided in two Regions, each one will include two Zones:<br />

Region A: includes Zone 1 and Zone 2;<br />

Region B: includes Zone 3 and Zone <strong>4.</strong><br />

The number of Eagle 5 nodes that will be deployed in VF-IT network is 8, split in 4 on<br />

“Voice” layer and 4 on SMS layer.<br />

8.2.2 Logical connections<br />

Telecommunication Manager 7<br />

The connection between two Eagle plat<strong>for</strong>ms is realized by means of a M2PA/SCTP/IP<br />

based link set. In particular at least two M2PA/SCTP links, which appear to the MTP3<br />

level as normal MTP2 links belonging to normal link sets, will be configured <strong>for</strong> each link<br />

set.<br />

The connection between Eagle and SIGTRAN enabled SEPs is realized by means of a<br />

M3UA/SCTP/IP based link set. The number of SCTP associations that will be configured<br />

<strong>for</strong> each IP Linkset, may vary depending on the HW and SW capabilities of the SEP.<br />

Currently the maximum number of SCTP associations (i.e. IP links) that can be defined<br />

on Eagle 5 in an IP Linkset <strong>for</strong> M3UA is 8.<br />

In addition, TDM Low Speed Linksets may be necessary to connect Eagle to “legacy”<br />

SEPs that will not be enabled to SIGTRAN or <strong>for</strong> interconnection to other Networks.<br />

120


Telecommunication Manager 7<br />

The following picture summarizes the logical connections of the Eagle 5 plat<strong>for</strong>ms; the<br />

figure applies both <strong>for</strong> “Voice” layer and SMS layer:<br />

Furthermore, TDM High Speed Link connections will be built between Eagle 5 and legacy<br />

STPs (i.e. HTS) belonging to the same Region. These connections are required,<br />

during migration of SEPs to SIGTRAN network, to convey signaling traffic between SIG-<br />

TRAN enabled SEPs – connected to Eagle 5 SGWs – and “legacy” SEPs – connected to<br />

TDM based STPs.<br />

The following picture shows an example of logical TDM connection between Eagle 5 and<br />

HTS based on High Speed Links.<br />

121


8.2.3 Physical connections<br />

Tekelec Eagle 5 plat<strong>for</strong>m is a carrier grade, reliable and scalable Signaling Gateway/<br />

STP. Database and interface functions are per<strong>for</strong>med on various card types:<br />

DSM cards <strong>for</strong> <strong>Global</strong> Title Translation and other Database features;<br />

IPGW cards <strong>for</strong> M3UA interface protocol;<br />

IPLIM cards <strong>for</strong> M2PA interface protocol;<br />

Telecommunication Manager 7<br />

HC-MIM cards <strong>for</strong> Low Speed Link and High Speed Link TDM interfaces.<br />

SIGTRAN connections – both in case of M3UA and M2PA connections – will be realized<br />

by means of groups of SCTP associations, called IP linksets.<br />

The following picture shows an example of IP linkset <strong>for</strong> M3UA connection between Eagle<br />

5 and Nokia MSC Server; in order to spread the signaling traffic on the cards and to<br />

protect the linkset against card failures, each SCTP association composing the IP linkset<br />

is defined on a different IPGW card.<br />

122


Telecommunication Manager 7<br />

SCTP associations are multi-homed, that is multiple IP addresses are assigned to each<br />

SCTP peer of the association; multi-homing gives reliability to SCTP associations in<br />

many cases of IP network failure. For this purpose two FastEthernet interfaces of one<br />

SIGTRAN board will home each SCTP association, as shown in the following picture:<br />

The relevant parameters of SCTP associations <strong>for</strong> M3UA protocol are the following:<br />

Path Max Retransmit: 2 - which sets the maximum number of packet and<br />

keep-alive retries be<strong>for</strong>e the corresponding IP destination address is marked inactive;<br />

Association Max Retransmit: 4 - which sets the maximum number of packet<br />

and keep-alive retries be<strong>for</strong>e the peer end point is marked as unreachable and the<br />

association is closed reporting the failure to the upper layer;<br />

Min and Max Retransmit Timeout: 300, 600 - which mean the min and max<br />

retransmission timer values are 300 ms and 600 ms, respectively. The summation<br />

123


Telecommunication Manager 7<br />

of the first Path Max Retransmit retransmission timer values (starting <strong>for</strong> its min<br />

value and doubling the previous value with max value as upper limit) gives the time<br />

be<strong>for</strong>e a new remote IP peer is tried by the local peer;<br />

Keepalive: 1000 - which means that keepalive messages (exchanged between<br />

SCTP peers to monitor the availability of SCTP association remote IP addresses,<br />

even if no traffic is sent towards that IP address) is sent every 1 sec;<br />

Bundling: Yes - which means that the user application allows more than one<br />

chunk within a SCTP packet.<br />

The relevant parameters of SCTP associations <strong>for</strong> M2PA protocol are the following:<br />

Path Max Retransmit: 4 - which sets the maximum number of packet and<br />

keep-alive retries be<strong>for</strong>e the corresponding IP destination address is marked inactive;<br />

Association Max Retransmit: 8 - which sets the maximum number of packet<br />

and keep-alive retries be<strong>for</strong>e the peer end point is marked as unreachable and the<br />

association is closed reporting the failure to the upper layer;<br />

Min and Max Retransmit Timeout: 225, 600 - which mean the min and max<br />

retransmission timer values are 225 ms and 600 ms, respectively.<br />

Keepalive: not set - as keepalive messages (exchanged between SCTP peers<br />

to monitor the availability of SCTP association remote IP addresses, even if no traffic<br />

is sent towards that IP address) are sent every Min Retransmit Timeout + 500<br />

ms;<br />

Bundling: Yes - which means that the user application allows more than one<br />

chunk within a SCTP packet.<br />

124


Conclusions<br />

This thesis has presented the work I have done in these five months of stage in Vodafone:<br />

I started to talk about the company and the major technologies used, and then I<br />

pointed out my role in the team I joined in.<br />

In the next pages I would want to briefly describe the hugest problems I encountered<br />

during the development of my part of code and the solutions I took on to solve those<br />

problems; eventually I would like to express my opinions about the stage.<br />

The biggest problems I encountered mainly concern the dialog between VB 6 and the<br />

access database, the files ini management, the MSFlexGrid items management and the<br />

horizontal scroll in the ListBox items. As I previous mentioned, my work has been made<br />

easier by the use of functions already written by my colleague. Those that I mainly used<br />

are:<br />

ApriDatabase - It opens the chosen database. I use it every time I need to<br />

open a database;<br />

ApriRecordSet - It opens a table from an already open database, it needs a<br />

SQL query to work, the query results is stored in a "recordset" variable set by the<br />

user;<br />

dbGiaAperto - It checks if the chosen database is already open;<br />

Telecommunication Manager 7<br />

Crypt & DeCrypt - They use a specific algorithm to crypt and decrypt text; they<br />

are very useful cause all database contents have to be encrypted;<br />

LeggiStrIni - It reads the file ini contents. It needs the file path, the session<br />

and the name of the field to read;<br />

ScriviStrIni - It writes in a ini file, it needs the file path, the session, the field<br />

name and the text to write in.<br />

125


Telecommunication Manager 7<br />

By using the first three functions I listed be<strong>for</strong>e, i solved many of the issues concerning<br />

the database management: in fact they allowed me to open and close the database<br />

connection with few code rows, <strong>for</strong> instance, to open a database and at the same time<br />

to check if it is already open, it is enough to write the following rows:<br />

If Not dbGiaAperto(dbTrendy) Then<br />

If Not ApriDatabase(dbTrendy, DBPath & "\" & DBName, False, False, wsTrendy) Then<br />

MsgBox "Impossibile aprire il database " & DBPath & "\" & DBName, vbExclamation, glTitolo<br />

Exit Sub<br />

End If<br />

End If<br />

The parenthetical "dbTrendy" indicates the database name, "dbGiàAperto" checks if the<br />

database is already open, if it isn't open the database is opened by the "ApriDatabase"<br />

function. To open a table it is enough to write the following code:<br />

Dim strSQL As String<br />

strSQL = "Select * from ElencoClient" 'select each elements from the client table<br />

If Not ApriRecordSet(strSQL, RS, dbTrendy, dbOpenDynaset, 0, 0, False) Then<br />

MsgBox "Impossibile aprire il recordset: " & strSQL & " - " & Errore, vbExclamation, glTitolo<br />

Errore = ""<br />

Exit Sub<br />

End If<br />

After the query variable has been made, it is enough to call the "ApriRecordSet" function<br />

with the appropriate parameters. The result is stored in the RS "recordset", such a "recordset"<br />

can now be easily edit with its own functions: .Add, .Delete, .MoveNext, .Move-<br />

Last, .MoveFirst, .Update.<br />

Pertain to the files ini management, my main issue has been to delete a string in an ini<br />

file; as a matter of fact, with the "ScriviStrIni" and "LeggiStrIni" functions, it is very simple<br />

to write and read from an ini file, but at a first glance, it is not so simple to delete a string.<br />

After a brief internet search, I figured out that to delete a string it is just enough to replace<br />

a parameter in the "ScriviStrIni" function, to be more precise, by putting the<br />

"vbNullString" string instead of the text to write, the parameter is totally deleted.<br />

126


Telecommunication Manager 7<br />

During the use of the MSFlexGrid item I coped with many problems, the main ones concerned<br />

the up and down scrolling and the rows highlighting.<br />

For the first one I found the solution on the internet. It consists of two functions that have<br />

to be written in the code: they allow to scroll the text up and down. The functions need a<br />

file called "MSSCCPRJ.SCC" to work, such a file must be placed in the same folder of<br />

the project files. The functions are called respectively "ScrollUp" and "ScrollDown". In<br />

order to make them work it is necessary to specify which MSFlexGrid they are going to<br />

work <strong>for</strong>.<br />

To highlight the MSFlexGrid rows I used a part of code previously written by my colleague;<br />

the code works in the following way: once a row is clicked, the row's color is<br />

stored into a variable, then the row is colored of yellow. If the user click on another row,<br />

the old one retrieves its old color and the previous procedure is per<strong>for</strong>med again with the<br />

new row. I included all this code in a function called "evidenziaFlex".<br />

I had to face another problem about the scrolling when I managed ListBox items and especially<br />

the one that lists the email addresses: in fact I often had to list email addresses<br />

larger than the ListBox width, then it has been necessary to use the horizontal scroll,<br />

which <strong>for</strong> default is not included with the ListBox. I found the solution in an internet <strong>for</strong>um:<br />

it consists of few code rows that use some system functions to determine the dimension<br />

of the largest string in the list, then the horizontal scroll bar is opportunely dimensioned.<br />

Finally I believe that I have been very lucky to join in Vodafone. These five months here<br />

gave me the chance to understand how a big company operates and its internal dynamics;<br />

furthermore I learned how to write good code in Visual Basic 6, I learned how the<br />

Vodafone core network is composed, how it works and which types of technologies and<br />

protocols it uses.<br />

I think that all the experience and knowledge I gained during the biennial course at Elis,<br />

plus the amazing experience in Vodafone, give me a solid background on which I can<br />

build my own career.<br />

127


Acknowledgments<br />

Telecommunication Manager 7<br />

I here would like to thank the people who made this thesis possible. I have the pleasure<br />

to thank Stefano Gollinucci, my thesis advisor, and Marie Christine Giuliano: she taught<br />

me the basic of Visual Basic 6 and helped me getting started in the developing of the<br />

Trendy Server application.<br />

I am honored <strong>for</strong> being given the chance of working with Stefano Gollinucci and his staff.<br />

I would like to address my special thanks to all of them. This thesis would not have been<br />

possible without their remarkable patience and prompt guidance in my way. I am particularly<br />

grateful to Luciano Contaldi <strong>for</strong> the huge amount of time he spent to give me notions<br />

about the Vodafone network.<br />

I would like to thank the staff of the "Centro Elis" college: they gave me the opportunity<br />

to live almost two years of my life in a homely place, surrounded by friendly and valorous<br />

people; furthermore they gave me the opportunity to work in a big company like Vodafone<br />

and the big honor to join in a very qualified team. Many thanks to Domenico Pontari<br />

and Michele Gavasci: they always encouraged me and provided me support. Special<br />

thanks to Emilio Tonelli and Cristian D'Aloisi, <strong>for</strong> their big support along the course.<br />

I could not end this remark without addressing a warm thank you to my parents and my<br />

sister <strong>for</strong> inspiring me to aspire and <strong>for</strong> give me their moral support and belief in everything<br />

I do.<br />

128


Attachment - Trendy Server Demo Code<br />

Listed here is some code of the Trendy Server (only little bunches of code that I made on<br />

my own). This code is presented here only to give a brief demonstration of the Visual<br />

Basic programming style.<br />

This first part shows the code of the "Gestione Client" <strong>for</strong>m:<br />

Option Explicit<br />

Dim topRow As Integer<br />

Dim RS As Recordset<br />

Dim RSquery As Recordset<br />

Dim oldCol As Integer, oldRow As Integer, nowCol As Integer, nowRow As Integer<br />

Dim oldColor As Variant<br />

Dim cliccato As Boolean<br />

Private Sub cmdElimina_Click()<br />

On Error GoTo Errore_cmdElimina_Click<br />

If RS.RecordCount > 0 Then<br />

'If flex.Rows > 0 Then<br />

If Me.flex.Col > 0 Then<br />

flex.Row = Me.flex.Row 'mi posiziono sul testo da eliminare<br />

flex.Col = Me.flex.Col - 1 ' \\<br />

elimina (flex.Text)<br />

Me.flex.Col = 0<br />

End If<br />

End If<br />

oldCol = 0<br />

oldRow = 0<br />

Exit Sub<br />

Errore_cmdElimina_Click:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'cmdElimina_Click' nel <strong>for</strong>m 'frmClient'."<br />

End Sub<br />

Telecommunication Manager 7<br />

129


Public Sub cmdInserisci_Click()<br />

frmInserisciClient.Show vbModal<br />

End Sub<br />

Private Sub cmdModifica_Click()<br />

If RS.RecordCount > 0 Then<br />

If cliccato = True Then<br />

frmModificaClient.Show vbModal<br />

End If<br />

End If<br />

End Sub<br />

Private Sub cmdChiudi_Click()<br />

Unload Me<br />

End Sub<br />

Private Sub flex_Click()<br />

On Error GoTo Errore_flex_Click<br />

Dim i As Integer<br />

cliccato = True 'indico che ho cliccato si flex e quindi ho selezionato un campo<br />

With flex<br />

'salvo le coordinate della cella selezionata<br />

nowCol = .Col<br />

nowRow = .Row<br />

'se esistono le coordinate di una selezione precedente rimetto sfondo bianco<br />

If oldRow > 0 Then<br />

For i = 0 To .Cols - 1<br />

.Col = i 'oldCol<br />

.Row = oldRow<br />

.CellBackColor = oldColor '&H80000005 'bianco<br />

Next i<br />

End If<br />

'imposto le coordinate correnti ed imposto sfondo giallo<br />

For i = 0 To .Cols - 1<br />

'.Col = nowCol<br />

.Col = i<br />

.Row = nowRow<br />

'salvo il colore come old<br />

oldColor = .CellBackColor<br />

.CellBackColor = &H80FFFF 'giallino<br />

Next i<br />

'salvo le coordinate correnti come old<br />

oldCol = nowCol<br />

oldRow = nowRow<br />

End With<br />

Exit Sub<br />

Errore_flex_Click:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'flex_Click' nel <strong>for</strong>m 'frmClient'."<br />

End Sub<br />

Private Sub flex_DblClick()<br />

On Error GoTo Errore_flexD<br />

Screen.MousePointer = vbHourglass<br />

frmClientHTS.Show vbModal<br />

Exit Sub<br />

Errore_flexD:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'flex_DblClick' nel <strong>for</strong>m 'frmClient'."<br />

End Sub<br />

Telecommunication Manager 7<br />

130


Telecommunication Manager 7<br />

Private Sub Form_Load() 'public *in caso di errore<br />

On Error GoTo Errore_Form_Load<br />

Dim X As Integer, ctl As Control, lngResult As Long, i As Integer<br />

cliccato = False 'dico che non e' ancora stato selezionato un campo (lo uso per la modifica)<br />

Left = (Screen.Width - Width) / 2 ' Centra il <strong>for</strong>m orizzontalmente.<br />

Top = (Screen.Height - Height) / 2 ' Centra il <strong>for</strong>m verticalmente.<br />

If Not dbGiaAperto(dbTrendy) Then<br />

If Not ApriDatabase(dbTrendy, DBPath & "\" & DBName, False, False, wsTrendy) Then<br />

MsgBox "Impossibile aprire il database " & DBPath & "\" & DBName, vbExclamation, glTitolo<br />

Exit Sub<br />

End If<br />

End If<br />

' caricaRS<br />

' set the module level callback pointer<br />

lpFormObj = ObjPtr(Me)<br />

SetProp frmClient.hwnd, "PrevWndProc", SetWindowLong(frmClient.hwnd, GWL_WNDPROC, AddressOf WndProc)<br />

topRow = 1<br />

visualizza<br />

With flex<br />

.TextMatrix(0, 0) = "Utente"<br />

.TextMatrix(0, 1) = "Amministratore"<br />

' .ColWidth(0) = 1860<br />

' .ColWidth(1) = 1860<br />

For i = 0 To .Cols - 1<br />

.Row = 0<br />

.Col = i<br />

.FillStyle = flexFillRepeat<br />

.CellFontBold = True<br />

.CellAlignment = flexAlignCenterCenter<br />

.AllowUserResizing = flexResizeBoth<br />

.BackColorBkg = vbWhite<br />

'Background of cellwhen it is selected<br />

.BackColorSel = vbYellow<br />

'Forecolor of cell when it is selected<br />

.ForeColorSel = vbBlack<br />

'Backcolor of cell when it is unselected<br />

'Forecolor of cell when it is unselected<br />

.ForeColor = vbBlack<br />

.GridColor = vbBlack<br />

Next<br />

End With<br />

Exit Sub<br />

Errore_Form_Load:<br />

MsgBox "Si è verificato un errore all'interno della Sub '<strong>for</strong>m_load' nel <strong>for</strong>m 'frmClient'."<br />

End Sub<br />

Public Sub visualizza()<br />

On Error GoTo Errore_visualizza<br />

Dim vett() As StructARUtentiPC, temp As StructARUtentiPC, i As Integer, j As Integer, color As Boolean, test As Boolean, X As Integer<br />

caricaRS<br />

If RS.RecordCount > 0 Then<br />

RS.MoveLast<br />

RS.MoveFirst<br />

X = RS.RecordCount<br />

If X < 30 Then<br />

flex.ColWidth(0) = 2000<br />

flex.ColWidth(1) = 2000<br />

Else<br />

flex.ColWidth(0) = 1860<br />

flex.ColWidth(1) = 1860<br />

End If<br />

''''''''''''riempio i vettori<br />

131


ReDim vett(X)<br />

For j = 0 To RS.RecordCount - 1<br />

vett(j).Nome = DeCrypt(RS.Fields("UtentePC").Value)<br />

vett(j).Tipo = DeCrypt(RS.Fields("TipoL").Value)<br />

RS.MoveNext<br />

Next<br />

'''''''''''''ordino il vettore<br />

For i = 0 To X - 1<br />

For j = i + 1 To X<br />

If StrComp(UCase(vett(i).Nome), UCase(vett(j).Nome), 1) = 1 Then<br />

temp = vett(i)<br />

vett(i) = vett(j)<br />

vett(j) = temp<br />

End If<br />

Next<br />

Next<br />

'''''''''''riempio la colonna degli utenti<br />

RS.MoveFirst<br />

flex.Rows = RS.RecordCount + 1<br />

j = 1<br />

i = 1<br />

color = True<br />

Do While Not RS.EOF<br />

flex.TextMatrix(i, 0) = vett(j).Nome<br />

flex.Row = i<br />

flex.Col = 0<br />

If color = True Then<br />

flex.CellBackColor = &H80000009<br />

Else<br />

flex.CellBackColor = &H8000000F<br />

End If<br />

flex.CellAlignment = flexAlignCenterCenter<br />

'''''''''riempio la colonna del tipo<br />

flex.TextMatrix(i, 1) = vett(j).Tipo<br />

flex.Row = i<br />

flex.Col = 1<br />

If color = True Then<br />

flex.CellBackColor = &H80000009<br />

Else<br />

flex.CellBackColor = &H8000000F<br />

End If<br />

flex.CellAlignment = flexAlignCenterCenter<br />

color = Not color<br />

RS.MoveNext<br />

i = i + 1<br />

j = j + 1<br />

Loop<br />

Else<br />

flex.Rows = 2<br />

flex.ColWidth(0) = 2000<br />

flex.ColWidth(1) = 2000<br />

flex.TextMatrix(1, 0) = ""<br />

flex.TextMatrix(1, 1) = ""<br />

End If 'RS.recordcount > 0<br />

Exit Sub<br />

Errore_visualizza:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'visualizza' nel <strong>for</strong>m 'frmClient'."<br />

End Sub<br />

Public Sub ScrollUp()<br />

On Error GoTo Errore_ScrollUp<br />

' scroll up..<br />

Telecommunication Manager 7<br />

132


If RS.RecordCount > 29 Then<br />

If topRow > 1 Then<br />

topRow = topRow - 1<br />

flex.topRow = topRow<br />

End If<br />

End If<br />

Exit Sub<br />

Errore_ScrollUp:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'ScrollUp' nel <strong>for</strong>m 'frmClient'."<br />

End Sub<br />

Public Sub ScrollDown()<br />

On Error GoTo Errore_ScrollDown<br />

' scroll down..<br />

If RS.RecordCount > 29 Then<br />

If topRow < flex.Rows - 1 Then<br />

topRow = topRow + 1<br />

flex.topRow = topRow<br />

End If<br />

End If<br />

Exit Sub<br />

Errore_ScrollDown:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'ScrollDown' nel <strong>for</strong>m 'frmClient'."<br />

End Sub<br />

Public Function returnNomeModifica() As String 'restituisce il nome selezionato sulla flexgrid da utilizzare per la modifica<br />

On Error GoTo Errore_return<br />

If Me.flex.Col > 0 Then<br />

flex.Row = Me.flex.Row<br />

flex.Col = Me.flex.Col - 1<br />

returnNomeModifica = flex.Text<br />

End If<br />

'Me.flex.Col = 0<br />

Exit Function<br />

Errore_return:<br />

MsgBox "Si è verificato un errore all'interno della Function 'returnNomeModifica' nel <strong>for</strong>m 'frmClient'."<br />

End Function<br />

Private Function elimina(utente As String) As Boolean 'controlla se esiste un nome utente selezionato e lo elimina<br />

On Error GoTo Errore_elimina<br />

Dim idClient As Integer, queryC_H As String, RSc_h As Recordset<br />

If RS.RecordCount > 0 Then<br />

RS.MoveLast<br />

RS.MoveFirst<br />

Do While Not RS.EOF<br />

If DeCrypt(RS.Fields("UtentePC").Value) = utente Then<br />

idClient = RS.Fields("ID").Value<br />

RS.Delete<br />

visualizza<br />

Exit Do<br />

End If<br />

RS.MoveNext<br />

Loop<br />

End If 'RS.recordcount > 0<br />

'ora elimino il client e gli apparati associati dalla tabella ElencoC_H<br />

'creo un recordset con l'elenco degli hts associati ai client<br />

queryC_H = "Select * from ElencoC_H order by C"<br />

If Not ApriRecordSet(queryC_H, RSc_h, dbTrendy, dbOpenDynaset, 0, 0, False) Then<br />

MsgBox "Impossibile aprire il recordset: " & queryC_H & " - " & Errore, vbExclamation, glTitolo<br />

Errore = ""<br />

Exit Function<br />

End If<br />

Telecommunication Manager 7<br />

133


'cerco ed elimino i record<br />

If RSc_h.RecordCount > 0 Then<br />

RSc_h.MoveLast<br />

RSc_h.MoveFirst<br />

Do While Not RSc_h.EOF<br />

If RSc_h.Fields("C").Value = idClient Then<br />

RSc_h.Delete<br />

End If<br />

RSc_h.MoveNext<br />

Loop<br />

End If<br />

Exit Function<br />

Errore_elimina:<br />

MsgBox "Si è verificato un errore all'interno della Function 'elimina' nel <strong>for</strong>m 'frmClient'."<br />

End Function<br />

Private Sub caricaRS()<br />

On Error GoTo Errore_carica<br />

Dim tsql As String<br />

tsql = "Select * from ElencoClient" ' order by UtentePC"<br />

If Not ApriRecordSet(tsql, RS, dbTrendy, dbOpenDynaset, 0, 0, False) Then<br />

MsgBox "Impossibile aprire il recordset: " & tsql & " - " & Errore, vbExclamation, glTitolo<br />

Errore = ""<br />

Exit Sub<br />

End If<br />

Exit Sub<br />

Errore_carica:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'caricaRS' nel <strong>for</strong>m 'frmClient'."<br />

End Sub<br />

Public Function ottieniID() As Long 'restituisco l'ID del Client selezionato<br />

On Error GoTo Errore_ott<br />

Dim tsql As String, client As String<br />

If RS.RecordCount > 0 Then<br />

RS.MoveLast<br />

RS.MoveFirst<br />

flex.Row = Me.flex.Row<br />

flex.Col = Me.flex.Col '- 1<br />

client = Crypt(flex.Text)<br />

tsql = "Select ID from ElencoClient where UtentePC= " & Chr(34) & client & Chr(34) ' order by UtentePC"<br />

If Not ApriRecordSet(tsql, RSquery, dbTrendy, dbOpenDynaset, 0, 0, False) Then<br />

MsgBox "Impossibile aprire il recordset: " & tsql & " - " & Errore, vbExclamation, glTitolo<br />

Errore = ""<br />

Exit Function<br />

End If<br />

ottieniID = RSquery.Fields("ID").Value<br />

End If<br />

Exit Function<br />

Errore_ott:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'ottieniID' nel <strong>for</strong>m 'frmClient'."<br />

End Function<br />

Telecommunication Manager 7<br />

134


This second part shows the code of the "Elenco SM" <strong>for</strong>m:<br />

Option Explicit<br />

Dim topRow As Integer<br />

Dim RShts As Recordset<br />

Dim RSsm As Recordset<br />

Dim RSsmEDIT As Recordset<br />

Dim oldCol As Integer, oldRow As Integer, nowCol As Integer, nowRow As Integer<br />

Dim oldColor As Variant<br />

Dim cliccato As Boolean, test As Boolean<br />

Private Sub cdmDisa_Click() 'rimuove l'sm selezionato dagli hts selezionati<br />

On Error GoTo Errore_disa<br />

Dim i As Integer, HTSselezionato As Boolean, idhts As Integer, RStemp As Recordset<br />

Dim sqlQuery As String, val As Integer<br />

HTSselezionato = False<br />

If Me.flex.Row > 0 And Me.flex "" Then 'se ho selezionato un SM<br />

val = Me.flex<br />

RShts.MoveFirst<br />

If list.ListCount > 0 Then ' se ci sono HTS in lista<br />

For i = 0 To list.ListCount - 1<br />

If list.Selected(i) = True Then 'se l'hts e' selezionato<br />

HTSselezionato = True 'almeno un HTS e' selezionato<br />

'controllo se l'hts selezionato ha sm associati<br />

idhts = RShts.Fields("ID").Value 'prendo l'id dell'hts selezionato<br />

'carico un recordset con tutti gli sm associati all'hts selezionato<br />

sqlQuery = "Select * from ElencoSM where IDHTS =" & idhts<br />

If Not ApriRecordSet(sqlQuery, RStemp, dbTrendy, dbOpenDynaset, 0, 0, False) Then<br />

MsgBox "Impossibile aprire il recordset: " & sqlQuery & " - " & Errore, vbExclamation, glTitolo<br />

Errore = ""<br />

Exit Sub<br />

End If 'ApriRecordSet<br />

If RStemp.RecordCount > 0 Then 'se ci sono sm associati faccio il controllo<br />

RStemp.MoveLast<br />

RStemp.MoveFirst<br />

Do While Not RStemp.EOF<br />

If RStemp.Fields("SM").Value = val Then 'se l'sm e' uguale<br />

RStemp.Delete ' lo elimino<br />

Exit Do<br />

Telecommunication Manager 7<br />

135


End If 'altrimenti non faccio niente<br />

RStemp.MoveNext<br />

Loop<br />

End If 'RStemp.RecordCount > 0<br />

End If 'list.Selected(i) = Tru<br />

RShts.MoveNext<br />

Next i<br />

If HTSselezionato = False Then ' se non ci sono hts selezionati<br />

MsgBox "Devi selezionare almeno un 5ESS!"<br />

Exit Sub<br />

End If 'HTSselezionato = False<br />

End If 'list.ListCount > 0<br />

Else ' se non ho selezionato SM<br />

MsgBox "Devi selezionare almeno un SM!"<br />

Exit Sub<br />

End If 'Me.flex.Row > 0<br />

MsgBox "SM rimossi con successo!"<br />

Exit Sub<br />

Errore_disa:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'cdmDisa_Click' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Private Sub cmdAddSM_Click()<br />

frmAddNewSM.Show vbModal<br />

End Sub<br />

Private Sub cmdAnnulla_Click()<br />

Unload Me<br />

End Sub<br />

Private Sub caricaRSsmEDIT() 'carica il recordset utilizzato per la modifica della lista degli sm<br />

On Error GoTo Errore_csme<br />

Dim sqlSM As String<br />

sqlSM = "Select * from ElencoSM order by SM"<br />

If Not ApriRecordSet(sqlSM, RSsmEDIT, dbTrendy, dbOpenDynaset, 0, 0, False) Then<br />

MsgBox "Impossibile aprire il recordset: " & sqlSM & " - " & Errore, vbExclamation, glTitolo<br />

Errore = ""<br />

Exit Sub<br />

End If<br />

Exit Sub<br />

Errore_csme:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'caricaRSsmEDIT' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Private Sub cmdAssocia_Click() 'associa l'sm alla agli hts selezionati<br />

On Error GoTo Errore_ass<br />

Dim i As Integer, idhts As Integer, RStemp As Recordset, sqlQuery As String, SMesistente As Boolean<br />

Dim val As Integer, HTSselezionato As Boolean<br />

caricaRSsmEDIT 'carico un recordset con sm e hts per la modifica<br />

SMesistente = True<br />

HTSselezionato = False<br />

If Me.flex.Row > 0 And Me.flex "" Then ' se l'sm e' selezionato<br />

val = Me.flex<br />

If list.ListCount > 0 Then 'se ci sono hts<br />

RShts.MoveFirst 'parto dal primo hts<br />

For i = 0 To list.ListCount - 1 'controllo tutti gli hts in lista<br />

If list.Selected(i) = True Then 'se l'hts e' selezionato<br />

HTSselezionato = True 'almeno un HTS e' selezionato<br />

'controllo se l'hts selezionato ha sm associati<br />

idhts = RShts.Fields("ID").Value 'prendo l'id dell'hts selezionato<br />

'carico un recordset con tutti gli sm associati all'hts selezionato<br />

sqlQuery = "Select * from ElencoSM where IDHTS =" & idhts<br />

Telecommunication Manager 7<br />

136


If Not ApriRecordSet(sqlQuery, RStemp, dbTrendy, dbOpenDynaset, 0, 0, False) Then<br />

MsgBox "Impossibile aprire il recordset: " & sqlQuery & " - " & Errore, vbExclamation, glTitolo<br />

Errore = ""<br />

Exit Sub<br />

End If<br />

If RStemp.RecordCount = 0 Then 'se non ci sono sm associati<br />

' aggiungo quello selezionato senza fare controlli<br />

RSsmEDIT.AddNew<br />

RSsmEDIT.Fields("IDHTS").Value = idhts<br />

RSsmEDIT.Fields("SM").Value = val<br />

RSsmEDIT.Update<br />

Else ' se ci sono sm associati<br />

'faccio il controllo se esiste gia lo stesso sm<br />

RStemp.MoveLast<br />

RStemp.MoveFirst<br />

Do While Not RStemp.EOF<br />

If RStemp.Fields("SM").Value = val Then 'se l'sm e' uguale<br />

SMesistente = True<br />

Exit Do<br />

Else<br />

SMesistente = False<br />

RStemp.MoveNext<br />

End If 'RStemp.Fields("SM").Value = Me.flex<br />

Loop<br />

If SMesistente = False Then 'se non ci sono sm uguali<br />

'lo aggiungo<br />

RSsmEDIT.AddNew<br />

RSsmEDIT.Fields("IDHTS").Value = idhts<br />

RSsmEDIT.Fields("SM").Value = val<br />

RSsmEDIT.Update<br />

End If 'SMesistente = False<br />

End If 'RStemp.RecordCount = 0<br />

End If 'If list.Selected(i) = True<br />

RShts.MoveNext ' passo all'altro HTS<br />

Next i<br />

If HTSselezionato = False Then ' se non ci sono hts selezionati<br />

MsgBox "Devi selezionare almeno un 5ESS!"<br />

Exit Sub<br />

End If<br />

End If 'list.ListCount > 0<br />

Else 'se non ci sono SM selezionati<br />

MsgBox "Devi selezionare almeno un SM!"<br />

Exit Sub<br />

End If 'Me.flex.Row > 0<br />

MsgBox "SM associati con successo!"<br />

Exit Sub<br />

Errore_ass:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'cmdAssocia_Click' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Telecommunication Manager 7<br />

Private Sub cmdElSM_Click() 'elimina un sm, ovvero lo disassocia da tutti gli hts al quale è associato<br />

On Error GoTo Errore_e<br />

Dim answer As Integer<br />

caricaRSsmEDI<br />

If RSsmEDIT.RecordCount > 0 Then<br />

If test = True Then<br />

answer = MsgBox("Questa operazione eliminera e disassociera l'SM da tutti i 5ESS. Vuoi continuare?", vbYesNo, "Conferma<br />

eliminazione KEY")<br />

If answer = 6 Then 'se confermiamo<br />

RSsmEDIT.MoveLast<br />

RSsmEDIT.MoveFirst<br />

Do While Not RSsmEDIT.EOF 'cerco il record da eliminare<br />

137


If RSsmEDIT.Fields("SM").Value = Me.flex.Text Then<br />

RSsmEDIT.Delete<br />

RSsmEDIT.MoveNext<br />

Else<br />

RSsmEDIT.MoveNext<br />

End If<br />

Loop<br />

visualizzaSM<br />

test = False 'setto flex come non cliccato<br />

oldCol = 0<br />

oldRow = -1<br />

End If<br />

End If<br />

End If 'RSsmEDIT.RecordCount > 0 Then<br />

Exit Sub<br />

Errore_el:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'cmdElSM_Click' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Private Sub flex_Click()<br />

On Error GoTo Errore_flex<br />

Dim i As Integer<br />

test = True<br />

With flex<br />

'salvo le coordinate della cella selezionata<br />

nowCol = .Col<br />

nowRow = .Row<br />

'se esistono le coordinate di una selezione precedente rimetto sfondo bianco<br />

If oldRow >= 0 Then<br />

' questo For i = 0 To .Cols - 1<br />

.Col = oldCol 'i<br />

.Row = oldRow<br />

.CellBackColor = oldColor '&H80000005 'bianco<br />

' questo Next i<br />

End If<br />

'imposto le coordinate correnti ed imposto sfondo giallo<br />

'For i = 0 To .Cols - 1<br />

'.Col = nowCol<br />

.Col = nowCol 'i<br />

.Row = nowRow<br />

'salvo il colore come old<br />

oldColor = .CellBackColor<br />

.CellBackColor = &H80FFFF 'giallino<br />

'Next i<br />

'salvo le coordinate correnti come old<br />

oldCol = nowCol<br />

oldRow = nowRow<br />

End With<br />

Exit Sub<br />

Errore_flex:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'flex_Click' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Private Sub Form_Load(<br />

On Error GoTo Errore_<strong>for</strong>m<br />

Left = (Screen.Width - Width) / 2 ' Centra il <strong>for</strong>m orizzontalmente.<br />

Top = (Screen.Height - Height) / 2 ' Centra il <strong>for</strong>m verticalmente<br />

If Not dbGiaAperto(dbTrendy) Then<br />

If Not ApriDatabase(dbTrendy, DBPath & "\" & DBName, False, False, wsTrendy) Then<br />

MsgBox "Impossibile aprire il database " & DBPath & "\" & DBName, vbExclamation, glTitolo<br />

End<br />

End If<br />

Telecommunication Manager 7<br />

138


End If<br />

'caricaRS<br />

' set the module level callback pointer<br />

lpFormObj = ObjPtr(Me)<br />

SetProp frmElencoSM.hwnd, "PrevWndProc", SetWindowLong(frmElencoSM.hwnd, GWL_WNDPROC, AddressOf WndProcElencoSM)<br />

topRow = 1<br />

visualizza<br />

With flex<br />

.TextMatrix(0, 0) = "SM"<br />

.Row = 0<br />

.Col = 0<br />

.FillStyle = flexFillRepeat<br />

.CellFontBold = True<br />

.CellAlignment = flexAlignCenterCenter<br />

.AllowUserResizing = flexResizeBoth<br />

'.ColWidth(0) = 1250<br />

.BackColorBkg = vbWhite<br />

'Background of cellwhen it is selected<br />

.BackColorSel = vbYellow<br />

'Forecolor of cell when it is selected<br />

.ForeColorSel = vbBlack<br />

'Backcolor of cell when it is unselected<br />

'.BackColor = RGB(192, 189, 215)<br />

'Forecolor of cell when it is unselected<br />

.ForeColor = vbBlack<br />

.GridColor = vbBlack<br />

End With<br />

Exit Sub<br />

Errore_<strong>for</strong>m:<br />

MsgBox "Si è verificato un errore all'interno della Sub '<strong>for</strong>m_load' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Public Sub ScrollUp()<br />

On Error GoTo Errore_ScrollUp<br />

' scroll up..<br />

If RSsm.RecordCount > 34 Then<br />

If topRow > 1 Then<br />

topRow = topRow - 1<br />

flex.topRow = topRow<br />

End If<br />

End If<br />

Exit Sub<br />

Errore_ScrollUp:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'ScrollUp' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Public Sub ScrollDown()<br />

On Error GoTo Errore_ScrollDown<br />

' scroll down..<br />

If RSsm.RecordCount > 34 Then<br />

If topRow < flex.Rows - 1 Then<br />

topRow = topRow + 1<br />

flex.topRow = topRow<br />

End If<br />

End If<br />

Exit Sub<br />

Errore_ScrollDown:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'ScrollDown' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Private Sub caricaRS()<br />

Telecommunication Manager 7<br />

139


On Error GoTo Errore_carica<br />

Dim sqlHTS As String, sqlSM As String, str1 As String<br />

str1 = Crypt("5ESS")<br />

sqlHTS = "Select * from ElencoHTS where Tipo= " & Chr(34) & str1 & Chr(34) & " order by HTS"<br />

If Not ApriRecordSet(sqlHTS, RShts, dbTrendy, dbOpenDynaset, 0, 0, False) Then<br />

MsgBox "Impossibile aprire il recordset: " & sqlHTS & " - " & Errore, vbExclamation, glTitolo<br />

Errore = ""<br />

Exit Sub<br />

End If<br />

sqlSM = "Select distinct SM from ElencoSM order by SM"<br />

If Not ApriRecordSet(sqlSM, RSsm, dbTrendy, dbOpenDynaset, 0, 0, False) Then<br />

MsgBox "Impossibile aprire il recordset: " & sqlSM & " - " & Errore, vbExclamation, glTitolo<br />

Errore = ""<br />

Exit Sub<br />

End If<br />

Exit Sub<br />

Errore_carica:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'caricaRS' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Public Sub visualizza()<br />

On Error GoTo Errore_visualizza<br />

visualizzaSM<br />

visualizzaHTS<br />

Exit Sub<br />

Errore_visualizza:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'visualizza' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Public Sub visualizzaHTS() 'visualizza gli hts nella listbox<br />

On Error GoTo Errore_visualizzaHTS<br />

Dim X As Integer, vett() As String, j As Integer, i As Integer, temp As String<br />

If RShts.RecordCount > 0 Then<br />

RShts.MoveLast<br />

RShts.MoveFirst<br />

X = RShts.RecordCount<br />

ReDim vett(X)<br />

''''''''''''riempio il vettore dei 5ESS<br />

RShts.MoveFirst<br />

For j = 1 To RShts.RecordCount<br />

vett(j) = DeCrypt(RShts.Fields("HTS").Value)<br />

RShts.MoveNext<br />

Next<br />

'''''''''''''ordino il vettore<br />

For i = 1 To X - 1<br />

For j = i + 1 To X<br />

If StrComp(UCase(vett(i)), UCase(vett(j)), 1) = 1 Then<br />

temp = vett(i)<br />

vett(i) = vett(j)<br />

vett(j) = temp<br />

End If<br />

Next<br />

Next<br />

''''''''''''riempio la listbox<br />

i = 1<br />

RShts.MoveFirst<br />

Do While Not RShts.EOF<br />

list.AddItem (vett(i))<br />

i = i + 1<br />

RShts.MoveNext<br />

Loop<br />

End If<br />

Telecommunication Manager 7<br />

140


Exit Sub<br />

Errore_visualizzaHTS:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'visualizzaHTS' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Public Sub visualizzaSM() 'visualizza gli sm nella flexgrid<br />

On Error GoTo Errore_vis<br />

Dim i As Integer, color As Boolean<br />

caricaRS<br />

If RSsm.RecordCount > 0 Then<br />

''''''''''' riempio la flex grid<br />

RSsm.MoveLast<br />

RSsm.MoveFirst<br />

flex.Rows = RSsm.RecordCount + 1<br />

color = True<br />

i = 1<br />

If RSsm.RecordCount < 35 Then<br />

flex.ColWidth(0) = 1250<br />

Else<br />

flex.ColWidth(0) = 950<br />

End If<br />

Do While Not RSsm.EOF<br />

flex.TextMatrix(i, 0) = RSsm.Fields("SM").Value<br />

flex.Row = i<br />

flex.Col = 0<br />

If color = True Then<br />

flex.CellBackColor = &H80000009<br />

Else<br />

flex.CellBackColor = &H8000000F<br />

End If<br />

flex.CellAlignment = flexAlignCenterCenter<br />

color = Not color<br />

RSsm.MoveNext<br />

i = i + 1<br />

Loop<br />

Else 'RSsm.RecordCount > 0<br />

flex.Rows = 2<br />

flex.TextMatrix(1, 0) = ""<br />

End If<br />

Exit Sub<br />

Errore_vis:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'visualizzaSM' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Private Sub cmdSelAll_Click() 'seleziona tutti gli SM<br />

On Error GoTo Errore_selall<br />

Dim i As Integer<br />

For i = 0 To list.ListCount - 1<br />

list.Selected(i) = True<br />

Next i<br />

Exit Sub<br />

Errore_selall:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'cmdSelAll_Click' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Private Sub cmdDeSelAll_Click() ' deseleziona tutti gli SM<br />

On Error GoTo Errore_deselall<br />

Dim i As Integer<br />

For i = 0 To list.ListCount - 1<br />

list.Selected(i) = False<br />

Next i<br />

Exit Sub<br />

Telecommunication Manager 7<br />

141


Errore_deselall:<br />

MsgBox "Si è verificato un errore all'interno della Sub 'cmdDeSelAll_Click' nel <strong>for</strong>m 'frmElencoSM'."<br />

End Sub<br />

Telecommunication Manager 7<br />

142

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!