Neels Hofmeyr | 1971b67 | 2020-01-23 04:40:51 +0100 | [diff] [blame^] | 1 | msc { |
| 2 | hscale="2"; |
| 3 | ms[label="MS,BSS"],__msc[label="MSC"],hlr[label="HLR proxy"],home[label="Home HLR"]; |
| 4 | |
| 5 | ms => __msc [label="CM Service Request / Paging Response"]; |
| 6 | __msc => hlr [label="Send Auth Info Request"]; |
| 7 | hlr abox hlr [label="there still are unsent auth tuples\nin the cache"]; |
| 8 | hlr rbox hlr [label="Send cached, fresh tuples"]; |
| 9 | __msc <= hlr [label="Send Auth Info Result\ncontaining auth tuples\nfrom the proxy cache"]; |
| 10 | ms <= __msc [label="Authentication Request"]; |
| 11 | ms => __msc [label="USIM requests UMTS AKA resync\nAuth Failure with AUTS"]; |
| 12 | __msc => hlr [label="Send Auth Info Request\ncontaining AUTS IE"]; |
| 13 | hlr rbox hlr [label="Mark all UMTS AKA tuples as stale"]; |
| 14 | --- [label="If the home HLR responds in time"]; |
| 15 | hlr => home [label="Send Auth Info Request"]; |
| 16 | hlr <= home [label="Send Auth Info Result\nwith 5 auth tuples"]; |
| 17 | hlr rbox hlr [label="clear tuple cache, store new tuples"]; |
| 18 | __msc <= hlr [label="Send Auth Info Result"]; |
| 19 | ms rbox __msc [label="Authentication"]; |
| 20 | hlr rbox hlr [label="fill up the tuple cache as necessary"]; |
| 21 | hlr => home [label="Send Auth Info Request"]; |
| 22 | hlr <= home [label="Send Auth Info Result"]; |
| 23 | ...; |
| 24 | --- [label="If the home HLR is unreachable"]; |
| 25 | hlr => home [label="Send Auth Info Request"]; |
| 26 | hlr abox hlr [label="no link\nor\nresponse timeout"]; |
| 27 | hlr rbox hlr [label="Store the AUTS received earlier,\nand set up a timer to retry SAI\n(a few minutes?)"]; |
| 28 | --- [label="If no GSM AKA fallback is allowed"]; |
| 29 | __msc <= hlr [label="Send Auth Info Error"]; |
| 30 | ms rbox __msc [label="Detach"]; |
| 31 | --- [label="If GSM AKA fallback is allowed"]; |
| 32 | hlr rbox hlr [label="Resend only GSM AKA tuples, already sent earlier"]; |
| 33 | __msc <= hlr [label="Send Auth Info Result\ncontaining GSM AKA auth tuples\nfrom the proxy cache"]; |
| 34 | ms rbox __msc [label="2G: Authentication\n3G: Detach"]; |
| 35 | ---; |
| 36 | hlr abox hlr [label="AUTS timer triggers"]; |
| 37 | hlr => home [label="Send Auth Info Request"]; |
| 38 | hlr <= home [label="Send Auth Info Result"]; |
| 39 | hlr rbox hlr [label="clear tuple cache, store new tuples"]; |
| 40 | hlr rbox hlr [label="continue to fill up the cache as necessary"]; |
| 41 | } |