GSM Mobility Management
Introduction • Location area (LA) is the basic unit for location tracking. • Every E LA consists i t off BTSs BTS that th t communicate i t with ith the MSs over radio links • Major M j ttaskk off Mobility M bilit Management M t is i to t update d t the location of an MS when it moves from one LA to another. another
February 20, 2013
Girish Kumar Patnaik
2
Introduction • Location update procedure is referred to as registration. • BTSs periodically broadcasts the corresponding LA addresses to the MSs • When an MS receives an LA address y, different from the one stored in its memory, it sends a registration message to the network
February 20, 2013
Girish Kumar Patnaik
3
GSM Location Area Hierarchy
February 20, 2013
Girish Kumar Patnaik
4
GSM Basic Location Update p Procedure • In GSM, registration or location update occurs when an MS moves from one LA to another. • Three cases of location update: – Case 1. Inter-LA Movement – Case 2. 2 Inter-MSC Inter MSC Movement – Case 3. Inter-VLR Movement February 20, 2013
Girish Kumar Patnaik
5
Inter-LA Registration Message Flow
February 20, 2013
Girish Kumar Patnaik
6
Inter-LA Registration Message Flow VLR1
HLR VLR2
LA1
February 20, 2013
LA2
Girish Kumar Patnaik
7
Inter-LA Movement • Two LAs belong to the same MSC. j steps: p • Four major – Step 1. MS sends a location update request message (MS→BTS→MSC) . • P Parameters t iincluded: l d d Previous P i LA, LA previous i MSC andd previous i VLR. • IMSI (International Mobile Subscriber Identity) is used to id tif MS. identify MS • However, the MS identifies itself by the Temporary Mobile Subscriber Identity (TMSI). • TMSI is used to avoid sending the IMSI on the radio path. • TMSI is temporary identity is allocated to an MS by the VLR at inter-VLR registration February 20, 2013
Girish Kumar Patnaik
8
Inter-LA Movement – Step 2. The MSC forwards the location update request to the VLR by a TCAP message, MAP_UPDATE_LOCATION_AREA. • Parameter includes: Address of the MSC, TMSI, previous Location Area Identification (LAI), (LAI) target LAI, Other related information
– Steps 3 aand d 4.. • Part I. The VLR finds that both LA1 and LA2 belong to the same MSC. • Part II. The VLR updates the LAI field of the MS. • Part III. The VLR replies an ACK to the MS through the MSC MSC. February 20, 2013
Girish Kumar Patnaik
9
Inter-MSC Registration Message Flow
February 20, 2013
Girish Kumar Patnaik
10
Inter-MSC Registration Message Flow VLR1
HLR VLR2
LA1 A1
February 20, 2013
LA2
Girish Kumar Patnaik
11
Inter-MSC Movement • The two LAs belong to different MSCs of the same VLR. • The process is: – Steps 1 and 2. MS sends a location update request message (MS→BTS→MSC) . – Step 3. •P Part II. VLR1 finds fi d that h the h LA1 andd LA2 belong b l to MSC1 and MSC2, respectively. Two MSCs are connected to VLR1. • Part II. VLR1 updates the LAI and MSC fields of MS. • Part III. The VLR1 derives the HLR address of the MS from the MS’s IMSI. February 20, 2013
Girish Kumar Patnaik
12
Inter-MSC Movement – Step 3. • Part IV. The VLR1 sends the MAP_UPDATE_LOCATION to the HLR. • Parameter includes: IMSI, target MSC Address VLR Address Address, Address, other related information
– Step 4. 4 HLR updates the MSC number field of the MS. An acknowledgement is sent to VLR1. – Steps 5 and 6. The acknowledgement is forwarded to the MS. February 20, 2013
Girish Kumar Patnaik
13
Inter-VLR Registration Message Flow 4 5 6 1
VLR1
February 20, 2013
Girish Kumar Patnaik
14
Inter-VLR Movement • T Two LAs LA belong b l to MSCs MSC connectedd to different VLRs. • The Th process is: i – Step 1. MS sends a location update request. MSC2 sends MAP_UPDATE_LOCATION_AREA to VLR 2 with MS’s TMSI. – Steps 2 and 3. • VLR2 does not have the record of MS. • VLR2 identifies the address the VLR1 and sends MAP_SEND_IDENTIFICATION (with TMSI) to VLR1. • VLR1 sends IMSI to VLR2. February 20, 2013
Girish Kumar Patnaik
15
Inter-VLR Movement – Steps St 4 and d 55. • VLR2 creates a VLR record for the MS. • VLR2 sends d a registration i i message to HLR. HLR • HLR updates the record of the MS. • HLR sends d an acknowledge k l d bback k tto VLR2. VLR2
– Step 6. • VLR2 generates t a new TMSI andd sends d it to t the MS.
– Steps 7 and 88. • The obsolete record of the MS in VLR1 is deleted. February 20, 2013
Girish Kumar Patnaik
16
Call Origination Operation
4
February 20, 2013
Girish Kumar Patnaik
17
GSM Basic Call Origination • The process is – Step 1. MS sends the call origination request to MSC. MSC – Step 2. MSC forwards the request to VLR with message MAP_SEND_INFO_FOR_OUTGOING_CAL L. – Step 3. VLR checks MS’s profile and sends MAP_SEND_INFO_FOR_OUTGOING_CAL L ack to MSC to grant the call request. L_ack request – Step 4. MSC sets up the trunk according to the standard PSTN call setup procedure. February 20, 2013
Girish Kumar Patnaik
18
Call Termination Message Flow
February 20, 2013
Girish Kumar Patnaik
19
Call Termination • Routing information for call termination can be obtained form the serving VLR. • The basic call termination process: – Step 11. A MS’ MS’s ISDN (MSISDN) number b iis dialed by a PSTN user. The call is routed to a gateway MSC by an SS7 ISUP IAM message message. – Step 2. GMSC sends MAP_S SEND N _ROUTING OU NG_INFORMATION N O ON with the MSISDN to HLR.
February 20, 2013
Girish Kumar Patnaik
20
Call Termination – Step 3. HLR sends a MAP_PROVIDE_ROAMING_NUMBER to VLR. • Parameter included: IMSI of the MS, the MSC number.
– Steps 4 and 5. VLR creates Mobile Subscriber Roaming Number (MSRN) by using the MSC number stored in the VLR record. • MSRN is sent back to the ggateway y MSC through g HLR. • MSRN provides the address of the target MSC where the MS resides.
– Step 66. An SS7 ISUP IAM message is directed from the gateway MSC to the target MSC to setup the voice trunk. February 20, 2013
Girish Kumar Patnaik
21
Mobility Databases • The hierarchical databases used in GSM. – The home location register (HLR) is a database used for MS information management. – The visitor location register (VLR) is the database of the service area visited by an MS.
February 20, 2013
Girish Kumar Patnaik
22
Home Location Register (HLR) • An HLR record consists of 3 types of information: – Mobile station information • IMSI (used by the MS to access the network) • MSISDN (th (the ISDN number b - “Phone “Ph N Number” b ” off th the MS)
– Location information • ISDN number of the VLR (where the MS resides) • ISDN number of the MSC (where the MS resides)
– Service information • service subscription • service restrictions • supplementary l services i February 20, 2013
Girish Kumar Patnaik
23
Visitor Location Register (VLR) • The VLR information consists of three parts: – Mobile Station Information • IMSI • MSISDN • TMSI
– Location Information • MSC Number • Location Area ID (LAI)
– Service Information • A subset of the service Information stored in HLR February 20, 2013
Girish Kumar Patnaik
24
Two Issues of GSM Mobility Databases • Fault Tolerance. – If the database fail, the loss or corruption of location information will seriously degrade the service. service
• Database Overflow. – VLR may overflow fl if too t many users move into the VLR-controlled area in a short period. – If VLR is full, full a new arrival user fails to register in VLR and thus cannot receive service. – This pphenomenon is called VLR overflow. February 20, 2013
Girish Kumar Patnaik
25
VLR Failure Restoration
• After Aft a VLR ffailure, il VLR’ VLR’s iinformation: f ti
– Mobile Station Information MS • Recovered either by the first contact with HLR or MS. – Location Information • Recovered by the first radio contact with MS. – Service Information • Recovered by the first contact with HLR or the corresponding MS.
• After a VLR failure, the VLR record restoration is initiated by one of the following three events: – MS registration – MS call origination – MS call termination February 20, 2013
Girish Kumar Patnaik
26
Restoration- MS Registration • After a VLR failure: – No record of MS in VLR – VLR considers the registration as an inter-VLR movement. – VLR ask MS to follow the normal registration pprocedure defined in inter-VLR movement. – The TMSI sent from the MS to the VLR cannot be recognized g – VLR asks MS to send IMSI over the air. February 20, 2013
Girish Kumar Patnaik
27
Restoration-MS Call Origination • After a VLR failure: – VLR receives the call origination g request q MAP_SEND_INFO_OUTGOING_CALL from the MSC (and MS). – No record of MS in VLR – VLR considers it as a system error: “unidentified subscriber” and rejects j the request. q – VLR asks MS to initiate the registration procedure of inter-VLR movement. – After the registration procedure, the VLR record is recovered. February 20, 2013
Girish Kumar Patnaik
28
Restoration - Call Termination M Message Fl Flow
February 20, 2013
Girish Kumar Patnaik
29
Restoration - Call Termination M Message Fl Flow
February 20, 2013
Girish Kumar Patnaik
30
HLR Failure Restoration • In HLR, it is mandatory to save the updates into backup storage. • The service information is immediately transferred from the HLR into the backup. backup • The location information is periodically t transferred f d from f the th HLR into i t the th backup. b k • After an HLR failure, the data in the backup are reloaded into the HLR February 20, 2013
Girish Kumar Patnaik
31
HLR Restoration Procedure Message Flow
February 20, 2013
Girish Kumar Patnaik
32
Questions in HLR Restoration Procedure • The HLR restoration p procedure is not robust. – HLR does not know a VLR at checkpoint. p – An MS move into the VLR during the uncovered period. – HLR will not ask the VLR to send location information.
• VLR Identification Algorithm is to solve the p problem. February 20, 2013
Girish Kumar Patnaik
33
VLR Identification Algorithm • VIA identifies the exact VLRs to be contacted by the HLR after an HLR failure. • Extra data structures are needed. • Extra procedures are needed: – Check Check-point point procedure – Registration procedure – Restoration R t ti procedure d
February 20, 2013
Girish Kumar Patnaik
34
Data Structure in VLR Identification Algorithm (VIA) • To simplify the description, description we assume that every VLR covers exactly one MSC. • An extra data structure VLR_List* VLR List* is a set of VLRs that have been contacted by HLR during the uncovered period period. • After an HLR failure, the HLR only needs to send d the h MAP_RESET MAP RESET messages to VLRs listed in VLR_List*. February 20, 2013
Girish Kumar Patnaik
35
Data Structure in VLR Identification Algorithm (VIA) • In HLR, every record includes two extra fields. – tts = the th last l t time ti off location l ti update d t – PVLR = the address of VLR where the MS resided at the last check-pointing time. Thus, for any MS p, we have • HLR*[p].VLR = HLR[p].PVLR
• Two extra data structures in the HLR – TS TS= the th last l t check-pointing h k i ti or backup b k time ti – VLR_Counter = {(VLR1,Count 1), (VLR2,Count 2), …, (VLRn,Count n)} where Count n represents the “effective number” of MSs entering the VLRn during the uncovered period. – Note that the VLRs recorded in VLR_Counter are the VLRs in VLR_List*. February 20, 2013
Girish Kumar Patnaik
36
VIA Data Structure
February 20, 2013
Girish Kumar Patnaik
37
VIA Procedure 1: CheckP i ti Pointing • In VIA,, information of the HLR is periodically p y saved into the backup by this procedure. • Step p 1. For every y entryy p in HLR* do: HLR[p]*.VLR ← HLR[p].VLR • Step p 2. TS ← current time;; • Step 3. For every location entry p in HLR do: HLR[p].ts←TS; [p] ; HLR[p].PVLR [p] ← HLR[p].VLR [p] • Step 4. VLR-Counter ← NULL; VLR-List* ←NULL;; February 20, 2013
Girish Kumar Patnaik
38
VIA Procedure 2: Registration • Step 1. Update HLR: Vold ← HLR[p].VLR; HLR[p] VLR; • Send message, MAP CANCEL LOCATION to cancel MAP_CANCEL_LOCATION, the VLR entry of p at Vold; HLR[p] VLR ← Vnew; HLR[p].VLR told ← HLR[p].ts; HLR[ ] t ← t; HLR[p].ts t
February 20, 2013
Girish Kumar Patnaik
39
VIA Procedure 2: Registration • Step 2. Update the Vnew Count field in VLR_Counter: [p] <> HLR[p].PVLR){ [p] ){ If ((HLR[p].VLR If (VLR_Counter[Vnew] exists){ VLR_Counter[Vnew].Count
February 20, 2013
Girish Kumar Patnaik
40
VIA Procedure 2: Registration • Step 3. Update the Vold counter entry: If (told > TS and Vold <> HLR[p].PVLR){ HLR[p] PVLR){ VLR_Counter[Vold].Count
Girish Kumar Patnaik
41
VIA Procedure 3: Restore • Step 1. TS <- current time; • Step 2. for (every location entry p in HLR){ p = HLR[p].VLR p <- HLR[p]*.VLR; p HLR[p].PLVR HLR[p].ts <- TS; } • Step 3. for (every VLR entry V in VLR_List*){ sendd an SS7 TCAP MAP MAP_RESET RESET message tto V V; } February 20, 2013
Girish Kumar Patnaik
42
VLR Overflow Control • VLR may overflow if too many mobile users move into i the h LA in i a short h period. i d • When a VLR is full, a new arrival user can not register i t andd gett service. i • If we want to let the new arrival user can get service all of the following procedures need to be service, modified: – registration registration, cancellation, cancellation call origination, origination call termination
February 20, 2013
Girish Kumar Patnaik
43
Overflow Registration O Operation (O-I) (O )
February 20, 2013
Girish Kumar Patnaik
44
Cancellation Operation with O Overflow f VLR (O-II) (O )
February 20, 2013
Girish Kumar Patnaik
45
Call Origination with Overflow VLR (O-III)
February 20, 2013
Girish Kumar Patnaik
46
Call Termination with Overflow VLR (O-IV)
February 20, 2013
Girish Kumar Patnaik
47
Call Termination with Overflow VLR (O-IV)
February 20, 2013
Girish Kumar Patnaik
48
Acknowledgement • Slides obtained from home page of Prof.Phone Lin • Slides obtained from home page of Prof Gerald Q. Prof.Gerald Q Maguire Jr Jr.
February 20, 2013
Girish Kumar Patnaik
49