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