What this talk is about

Running your own Internet-style network

Doing security research on it

Running your own GSM network

Until 2009 the situation looked like this:

Why no cellular FOSS?

Enter Osmocom

In 2008, some people started to write FOSS for GSM

Classic GSM network architecture

Gsm_structures.svg

Osmocom GSM components

osmocom-gsm.svg

Classic GSM network as digraph

foss-gsm__1.png

Simplified OsmoNITB GSM network

foss-gsm__2.png

which further reduces to the following minimal setup:

foss-gsm__3.png

So our minimal setup is a Phone, a BTS and OsmoNITB.

Which BTS to use?

We assume a sysmoBTS in the following slides

OsmoBTS Overview

osmo-bts.svg

Extending the network with GPRS

Now that GSM is working, up to the next challenge!

Extending the network with GPRS support

foss-gsm__4.png

GPRS Protocol Stack

gprs_user_stack.svg

Simplified OsmoNITB network with GPRS

foss-gsm__5.png

We need to configure those additional components to provide GPRS services.

Simplified OsmoNITB network with GPRS

osmocom-gprs.svg

Protocol tracing of cellular interfaces

Osmocom beyond GSM/GPRS RAN + NITB

So… I heard about OpenBTS?

What about FOSS 2.75G (EDGE)

What about FOSS 3G (UMTS/WCDMA)

Classic UMTS Architecture

640px-UMTS_structures.png

(UMTS Structure by Tsaitgaist - icons from Gnome)

Classic UMTS Architecture

nodeb_hnb.png

(nodeB and Home nodeB by Tsaitgaist - icons from Gnome)

Differences NodeB to hNodeB

Wy work with hNodeB instead of NodeB?

Iuh: Avoiding complexity of the RNC

speaking of UMTS access stratum complexity…

umts_channel_mapping.png

wouldn’t you want to avoid that, too?

How to support UMTS from OsmoNITB, OsmoSGSN

Osmocom 3G Network Architecture

foss-gsm__6.png

further simplified:

foss-gsm__7.png

Osmocom 3G Network Status

Existing as of March 2016:

TODO:

Outlook on FOSS 4G (LTE)

Summary

The End

Thanks to