VlrPersistency » History » Version 1
laforge, 03/16/2018 10:29 AM
1 | 1 | laforge | h1. VlrPersistency |
---|---|---|---|
2 | |||
3 | The VLR keeps a cache of the currently attached subscribers of a cellular network. This means that in absence of the VLR-HLR link, existing / registered subscribers can still perform SMS/voice transactions, but that new registrations (of subscribers of the given unreachable HLR) cannot be processed. |
||
4 | |||
5 | One concern in some use cases is that frequent / short power outages would invalidate this inn-memory VLR state, and that in absence of the back-haul link, subscribers of the given (remote) HLR cannot register. |
||
6 | |||
7 | Please note this only affects *inbound roaming* subscribers, as the home subscribers are assumed to have their HLR locally next to the VLR/MSC and hence there cannot be any back-haul outage. |
||
8 | |||
9 | If we want to make sure inbound roaming subscribers can still re-register after a power outage of the visited VLR/MSC, then we have to somehow make the VLR state persistent. The same applies to the SGSN state which also contains something like a VLR. |
||
10 | |||
11 | Rather than changing the VLR/SGSN code, it is proposed to use a caching GSUP proxy between the VLR+SGSN and the various [remote] HLRs. This caching proxy would then keep a cache of all InsertSubscriberData and SendAuthInfo data, so that a subsequent re-registration of an inbound roamer can proceed. |
||
12 | |||
13 | {{graphviz_link() |
||
14 | digraph G { |
||
15 | rankdir = LR; |
||
16 | subgraph cluster_0 { |
||
17 | vlr [label="MSC/VLR"]; |
||
18 | sgsn [label="SGSN"]; |
||
19 | lhlr [label="Local HLR C"]; |
||
20 | gsupp [label="GSUP Proxy"]; |
||
21 | label = "Village C"; |
||
22 | vlr -> gsupp; |
||
23 | sgsn -> gsupp; |
||
24 | gsupp -> lhlr; |
||
25 | { rank=same; gsupp; lhlr; } |
||
26 | } |
||
27 | rhlra [label="Remote HLR A"]; |
||
28 | rhlrb [label="Remote HLR B"]; |
||
29 | gsupp -> rhlra [label="via Backhaul"]; |
||
30 | gsupp -> rhlrb [label="via Backhaul"]; |
||
31 | { rank=same; rhlra; rhlrb; } |
||
32 | } |
||
33 | }} |