GSM Mobility Management
Introduction • Loca Locati tion on are areaa (LA) (LA) is the the basi basicc unit unit for for loc locat atio ion n tracking. • Ever Every y LA consi consist stss of BTSs BTSs that that commu communic nicat atee wit with h the MSs over radio links • Majo Majorr task task of Mob Mobil ilit ity y Man Manag agem emen entt is is to to upda update te the location of an MS when it moves from one LA to another.
September 30, 2005
Girish Kumar Patnaik
2
Introduction • Loca Locati tion on are areaa (LA) (LA) is the the basi basicc unit unit for for loc locat atio ion n tracking. • Ever Every y LA consi consist stss of BTSs BTSs that that commu communic nicat atee wit with h the MSs over radio links • Majo Majorr task task of Mob Mobil ilit ity y Man Manag agem emen entt is is to to upda update te the location of an MS when it moves from one LA to another.
September 30, 2005
Girish Kumar Patnaik
2
Introduction • Loca Locati tion on upda update te proc proced edur uree is is refe referr rred ed to as registration. • BTSs BTSs per periiodi odical cally broa broadc dcas asts ts the the corresponding LA addresses to the MSs • When hen an an MS MS rec recei eive vess an an an an LA LA add addre ress ss different from the one stored in its memory, it sends a registration message to the network
September 30, 2005
Girish Kumar Patnaik
3
GSM Location Area Hierarchy
September 30, 2005
Girish Kumar Patnaik
4
GSM Basic Location Update 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. Inter-MSC Movement – Case 3. Inter-VLR Movement September 30, 2005
Girish Kumar Patnaik
5
Inter-LA Registration Message Flow
September 30, 2005
Girish Kumar Patnaik
6
Inter-LA Movement • Two LAs belong to the same MSC. • Four major steps: – Step 1. MS sends a location update request message (MS BTS MSC) . →
→
• Parameters included: Previous LA, previous MSC and previous VLR. • IMSI (International Mobile Subscriber Identity) is used to 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 September 30, 2005
Girish Kumar Patnaik
7
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), target LAI, Other related information
– Steps 3 and 4. • Part I. The VLR find 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. September 30, 2005
Girish Kumar Patnaik
8
Inter-MSC Registration Message Flow
September 30, 2005
Girish Kumar Patnaik
9
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. • Part I. VLR1 finds that the LA1 and LA2 belong 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.
September 30, 2005
Girish Kumar Patnaik
10
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, other related information
– Step 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. September 30, 2005
Girish Kumar Patnaik
11
Inter-VLR Registration Message Flow
September 30, 2005
Girish Kumar Patnaik
12
Inter-VLR Movement • Two LAs belong to MSCs connected to different VLRs. • The process is: – 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.
September 30, 2005
Girish Kumar Patnaik
13
Inter-VLR Movement – Steps 4 and 5. • • • •
VLR2 creates a VLR record for the MS. VLR2 sends a registration message to HLR. HLR updates the record of the MS. HLR sends an acknowledge back to VLR2.
– Step 6. • VLR2 generates a new TMSI and sends it to the MS.
– Steps 7 and 8. • The obsolete record of the MS in VLR1 is deleted. September 30, 2005
Girish Kumar Patnaik
14
Call Origination Operation
September 30, 2005
Girish Kumar Patnaik
15
GSM Basic Call Origination • The process is – Step 1. MS sends the call origination request to MSC. – Step 2. MSC forwards the request to VLR with message MAP_SEND_INFO_FOR_OUTGOING_CALL. – Step 3. VLR checks MS’s profile and sends MAP_SEND_INFO_FOR_OUTGOING_CALL_ack to MSC to grant the call request. – Step 4. MSC sets up the trunk according to the standard PSTN call setup procedure.
September 30, 2005
Girish Kumar Patnaik
16
Call Termination Message Flow
September 30, 2005
Girish Kumar Patnaik
17
Call Termination • Routing information for call termination can be obtained form the serving VLR. • The basic call termination process: – Step 1. A MS’s ISDN (MSISDN) number is dialed by a PSTN user. The call is routed to a gateway MSC by an SS7 ISUP IAM message. – Step 2. GMSC sends MAP_SEND_ROUTING_INFORMATION with the MSISDN to HLR.
September 30, 2005
Girish Kumar Patnaik
18
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 gateway MSC through HLR. • MSRN provides the address of the target MSC where the MS resides.
– Step 6. An SS7 ISUP IAM message is directed from the gateway MSC to the target MSC to setup the voice trunk. September 30, 2005
Girish Kumar Patnaik
19
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.
September 30, 2005
Girish Kumar Patnaik
20
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 (the ISDN number - “Phone Number” of 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 services September 30, 2005
Girish Kumar Patnaik
21
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 September 30, 2005
Girish Kumar Patnaik
22
Two Issues of GSM Mobility Databases • Fault Tolerance. – If the database fail, the loss or corruption of location information will seriously degrade the service.
• Database Overflow. – VLR may overflow if too many users move into the VLR-controlled area in a short period. – If VLR is full, a new arrival user fails to register in VLR and thus cannot receive service. – This phenomenon is called VLR overflow. September 30, 2005
Girish Kumar Patnaik
23
VLR Failure Restoration • After a VLR failure, VLR’s information: – Mobile Station Information • 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 September 30, 2005
Girish Kumar Patnaik
24
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 procedure defined in inter-VLR movement. – The TMSI sent from the MS to the VLR cannot be recognized – VLR asks MS to send IMSI over the air.
September 30, 2005
Girish Kumar Patnaik
25
Restoration-MS Call Origination • After a VLR failure: – VLR receives the call origination request 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 the request. – VLR asks MS to initiate the registration procedure of inter-VLR movement. – After the registration procedure, the VLR record is recovered.
September 30, 2005
Girish Kumar Patnaik
26
Restoration - Call Termination Message Flow
September 30, 2005
Girish Kumar Patnaik
27
Restoration - Call Termination Message Flow
September 30, 2005
Girish Kumar Patnaik
28
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. • The location information is periodically transferred from the HLR into the backup. • After an HLR failure, the data in the backup are reloaded into the HLR
September 30, 2005
Girish Kumar Patnaik
29
HLR Restoration Procedure Message Flow
September 30, 2005
Girish Kumar Patnaik
30
Questions in HLR Restoration Procedure • The HLR restoration procedure is not robust. – HLR does not know a VLR at checkpoint. – 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 problem. September 30, 2005
Girish Kumar Patnaik
31
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-point procedure – Registration procedure – Restoration procedure
September 30, 2005
Girish Kumar Patnaik
32
Data Structure in VLR Identification Algorithm (VIA) • To simplify the description, we assume that every VLR covers exactly one MSC. • An extra data structure VLR_List* is a set of VLRs that have been contacted by HLR during the uncovered period. • After an HLR failure, the HLR only needs to send the MAP_RESET messages to VLRs listed in VLR_List*. September 30, 2005
Girish Kumar Patnaik
33
Data Structure in VLR Identification Algorithm (VIA) • In HLR, every record includes two extra fields. – ts = the last time of location update – 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= the last check-pointing or backup time – 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*. September 30, 2005
Girish Kumar Patnaik
34
VIA Data Structure
September 30, 2005
Girish Kumar Patnaik
35
VIA Procedure 1: CheckPointing • In VIA, information of the HLR is periodically saved into the backup by this procedure. • Step 1. For every entry p in HLR* do: HLR[p]*.VLR ← HLR[p].VLR • Step 2. TS ← current time; • Step 3. For every location entry p in HLR do: HLR[p].ts←TS; HLR[p].PVLR ← HLR[p].VLR • Step 4. VLR-Counter ← NULL; VLR-List* ← NULL; September 30, 2005
Girish Kumar Patnaik
36
VIA Procedure 2: Registration • Step 1. Update HLR: Vold ← HLR[p].VLR; • Send message, MAP_CANCEL_LOCATION, to cancel the VLR entry of p at Vold; HLR[p].VLR ← Vnew; told ← HLR[p].ts; HLR[p].ts ← t;
September 30, 2005
Girish Kumar Patnaik
37
VIA Procedure 2: Registration • Step 2. Update the Vnew Count field in VLR_Counter: If (HLR[p].VLR <> HLR[p].PVLR){ If (VLR_Counter[Vnew] exists){ VLR_Counter[Vnew].Count
September 30, 2005
Girish Kumar Patnaik
38
VIA Procedure 2: Registration • Step 3. Update the Vold counter entry: If (told > TS and Vold <> HLR[p].PVLR){ VLR_Counter[Vold].Count
Girish Kumar Patnaik
39
VIA Procedure 3: Restore • Step 1. TS <- current time; • Step 2. for (every location entry p in HLR){ HLR[p].PLVR = HLR[p].VLR <- HLR[p]*.VLR; HLR[p].ts <- TS; } • Step 3. for (every VLR entry V in VLR_List*){ send an SS7 TCAP MAP_RESET message to V; }
September 30, 2005
Girish Kumar Patnaik
40
VLR Overflow Control • VLR may overflow if too many mobile users move into the LA in a short period. • When a VLR is full, a new arrival user can not register and get service. • If we want to let the new arrival user can get service, all of the following procedures need to be modified: – registration, cancellation, call origination, call termination
September 30, 2005
Girish Kumar Patnaik
41
Overflow Registration Operation (O-I)
September 30, 2005
Girish Kumar Patnaik
42
Cancellation Operation with Overflow VLR (O-II)
September 30, 2005
Girish Kumar Patnaik
43
Call Origination with Overflow VLR (O-III)
September 30, 2005
Girish Kumar Patnaik
44
Call Termination with Overflow VLR (O-IV)
September 30, 2005
Girish Kumar Patnaik
45
Call Termination with Overflow VLR (O-IV)
September 30, 2005
Girish Kumar Patnaik
46