Accelerate3g5 -- neels » History » Version 12
neels, 03/03/2017 12:18 AM
1 | 1 | neels | h1. Accelerate3g5 -- neels |
---|---|---|---|
2 | |||
3 | {{>toc}} |
||
4 | |||
5 | h2. Summary |
||
6 | |||
7 | Implement Osmocom 3G support integrated with the new libvlr, so that standard USIMs with full UMTS AKA can be used with the 3G OsmoMSC. |
||
8 | 7 | neels | This is actually a prerequisite for the accelerate3g5 contestants to be able to use their USIMs with the nano3G (without going into reprogramming it). |
9 | 1 | neels | |
10 | 2 | neels | h3. Participants |
11 | |||
12 | 12 | neels | * Neels (email: nhofmeyr@sysmocom.de jabber: nhofmeyr@im.sysmocom.de ) |
13 | 2 | neels | |
14 | 1 | neels | h2. Details |
15 | |||
16 | For various reasons, the previously integrated HLR functionality is currently being split from OsmoNITB, on the "neels/vlr":http://git.osmocom.org/openbsc/log/?h=neels/vlr branch. UMTS AKA using the Milenage algorithm already works for 2G using that branch, but the "sysmocom/iu":http://git.osmocom.org/openbsc/log/?h=neels/vlr branch still lacks this capability. |
||
17 | |||
18 | Rebase the sysmocom/iu branch onto the neels/vlr branch and resolve all conflicts. Test and verify that 3G works with the sysmoUSIM-SJS1 using Milenage authentication. |
||
19 | |||
20 | Related issues are: #1595 #1711 #1593 |
||
21 | |||
22 | 8 | neels | Work-in-progress is kept on the openbsc.git:neels/iu branch. |
23 | When done, this will become the new sysmocom/iu branch. |
||
24 | |||
25 | 1 | neels | h2. Journal |
26 | |||
27 | _2017-02-28_ |
||
28 | A first @git rebase@ resulted in numerous conflicts. Starting to resolve... |
||
29 | |||
30 | 3 | neels | _2017-03-02_ |
31 | Conflicts have been resolved, but of course the result doesn't compile. |
||
32 | Fixing all the errors, and will then need to test+debug, and also review all patches in detail. |
||
33 | Rate counters and the logging context are at least incomplete, probably more details and corner cases. |
||
34 | 4 | neels | _later_ |
35 | The merged branch compiled. Now the msc_vlr unit tests fail and there are probably still many other errors to resolve. |
||
36 | 3 | neels | |
37 | 1 | neels | h2. Conclusions |
38 | |||
39 | 9 | neels | * I thought that GERAN means exactly A-interface and UTRAN means Iu-interface. But there's also GERAN-over-Iu. |
40 | 10 | neels | RAN is the radio technology, so GERAN _does_ mean 2G BTS, but A and Iu are just the interfaces that these can be controlled over. |
41 | 1 | neels | An MSC may employ an Iu interface to talk to both GERAN and UTRAN radio technology infrastructure. |
42 | 10 | neels | See the new enum ran_type: so far OsmoMSC will support RAN_UTRAN_IU. We hope to add RAN_GERAN_A soon. There are no plans in sight to add RAN_GERAN_IU. |
43 | The traditional OsmoNITB is BSC and MSC welded together, so it's more like GERAN over Abis. |
||
44 | 5 | neels | |
45 | 9 | neels | * And I thought that UMTS means 3G means UTRAN, but UMTS is "just" the R99 (Release 1999) extension of the protocols. |
46 | UMTS is used in 3G/UTRAN, yes, but for example UMTS Authentication can be negotiated over 2G networks. I know now because I implemented it. |
||
47 | As soon as the MSC says it is R99 capable in the SI3 MSCR bit and the MS is operated with a USIM which "replies" that it is R99 capable in the Classmark IEs sent during Location Updating, CM Service Request and Paging requests, both sides can/will authenticate using UMTS mutual authentication -- another prerequisite of course is that the HLR has UMTS authentication keys stored for this USIM. |
||
48 | 5 | neels | |
49 | 9 | neels | * _todo: have the same UMTS auth over actual UTRAN+Iu_ |