Intro
-
we had GSM networks at CCC events since 2008
-
Initially using proprietary, E1-attached Siemens BTS and OpenBSC (later OsmoBSC)
-
we had GSM networks at European Hacker Camps since 2009 (HAR)
-
we had UMTS (3G) for a few years now, too
-
using Osmocom stack with OsmoHNBGW / OsmoMSC / OsmoSGSN
LTE
-
new network elements with new acronyms
LTE
-
new protocols on all layers of all interfaces
-
S1AP between eNodeB and MME
-
GTPv2C between MME and SGW and SGW and PGW
-
DIAMETER between everyone and HSS
FOSS LTE software
-
srsLTE for eNodeB and UE
-
main focus on UE; eNodeB features somewhat limited
-
super simplistic srsEPC suitable for only the scarcest of use cases
-
OpenAirInterface
-
obscure code base; difficult to build; "
-
very research oriented
-
RAN part under non-free, non-opensource but source available license
-
nextepc
nextepc
-
Implements all key LTE network (EPC) elements
interfacing with Osmocom 2G/3G core
-
shared subscriber (and key) database
-
LTE: HSS, speaking DIAMETER
-
2G/3G: HLR, speaking MAP (Osmocom:GSUP)
-
We need a so-called 'inter-working function (IWF)
-
translate from DIAMETER to GSUP and vice-versa
osmo_dia2gsup
-
Best FOSS DIAMETER support contained in Erlang/OTP
-
Fairwaves contributed GSUP protocol codec in Erlang
-
I wrote a translator for the two minimal procedures
-
AuthInfo (Obtain authentication tuples)
-
UpdateLocation (registration)