aboutsummaryrefslogtreecommitdiffstats
path: root/doc/manuals/chapters/proxy_cache_umts_aka_resync.ladder
blob: 00ad36ebd1c7370eb49882ffa2d7c859ea45d0ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{hscale=2}
ms = MS,BSS
msc = MSC
hlr = HLR proxy
home = Home HLR

ms -> msc	CM Service Request / Paging Response
msc -> hlr	Send Auth Info Request
hlr <> .	there still are unsent auth tuples
		in the cache
hlr () .	Send cached, fresh tuples
msc <- hlr	Send Auth Info Result
		containing auth tuples
		from the proxy cache
ms <- msc	Authentication Request
ms -> msc	USIM requests UMTS AKA resync
		Auth Failure with AUTS
msc -> hlr	Send Auth Info Request
		containing AUTS IE
hlr () .	Mark all UMTS AKA tuples as stale
---		If the home HLR responds in time
hlr -> home	Send Auth Info Request
hlr <- home	Send Auth Info Result
		with 5 auth tuples
hlr () .	clear tuple cache, store new tuples
msc <- hlr	Send Auth Info Result
ms () msc	Authentication
hlr () .	fill up the tuple cache as necessary
hlr -> home	Send Auth Info Request
hlr <- home	Send Auth Info Result
...
---		If the home HLR is unreachable
hlr -> home	Send Auth Info Request
hlr <> .	no link
		or
		response timeout
hlr () .	Store the AUTS received earlier,
		and set up a timer to retry SAI
		(a few minutes?)
---		If no GSM AKA fallback is allowed
msc <- hlr	Send Auth Info Error
ms () msc	Detach
---		If GSM AKA fallback is allowed
hlr () .	Resend only GSM AKA tuples, already sent earlier
msc <- hlr	Send Auth Info Result
		containing GSM AKA auth tuples
		from the proxy cache
ms () msc	2G: Authentication
		3G: Detach
---
hlr <> .	AUTS timer triggers
hlr -> home	Send Auth Info Request
hlr <- home	Send Auth Info Result
hlr () .	clear tuple cache, store new tuples
hlr () .	continue to fill up the cache as necessary