Osmocom and LTE
===============
:author:	Harald Welte <laforge@gnumonks.org>
:copyright:	2019 by Harald Welte (License: CC-BY-SA)
:backend:	slidy
:max-width:	45em


== Osmocom and LTE

* most of Osmocom CNI is written by paid developers these days
* developments mostly determined by customer requirements
* sysmocom isn't facing any significnat LTE requirements for years
* Result: No _native_ LTE support in any Osmocom components
* However: we do have small LTE related bits
** SI2quater for broadcasting eUTRAN neighbors over GSM
** SGs interface for 2G/3G side of CSFB and for SMS-over-SGs

== Irrespective of Osmocom...

What do we need to run a combined 2G/4G network?

1. shared subscriber database (HLR + HSS)
2. advertisement of respective neighbor cells
3. shared PS tunnel endpoint (GGSN + P-GW)

optionally:

* SGs interface in MME and MSC for CSGB + SMS-over-SGs
* Inter-RAT PS handover
* SRVCC (Single Radio Voice Call Continuity)


== Shared Subscriber Database

* Required mainly for Authentication
* poor man's hack: Simply install same IMSI/Key material in both HLR and HSS
** will result in auth re-sync on every authentication due to non-synchronized SEQ/SQN of UMTS AKA
* proper solution:
** Single HLR with both GSUP and DIAMETER, or
** DIAMETER-to-GSUP translator (to make LTE use OsmoHLR), or
** GSUP-to-DIAMETER translator (to make OsmoMSC/SGSN use HSS)

== Advertisement of neighbor cells

* GSM must advertise eUTRAN neighbors
** we have SI2quater support in osmo-bts
** TEMS phones show proper/valid decode
* LTE must advertise GSM neighbors
** no "OML" for S1-AP
** configuration mechanism is vendor-proprietary

== Shared PS tunnel endpoint

* if the MS/eUE moves from GPRS to LTE, it wants to keep PDP/PDN contexts
* solution: implementing P-GW and GGSN functionality in one element
** ergw might be able to do that (untested, complex)
** OsmoGGSN doesn't speak GTPv2C (required for P-GW)
** nextepc P-GW doesn't speak GTPv1C (required for GGSN)

Solution:

* play with ergw, or
* adopt nextepc GTPv2C code generator to use msgb/libosmo* and add GTPv2C to OsmoGGSN

== SGs interface

* Osmocom already implements full SGs interface
* Interaction with MME on LTE side needs only interop testing


== Inter-RAT PS handover

* inter-RAT HO offers seamless migration between GERAN + eUTRAN
* uses S3 interface between MME and SGSN (GTPv2C based)
* uses S4 interface between S-GW and SGSN (GTPv2C based)
* tbh, I don't know the details here.
* any help appreciated
* https://www.tech-invite.com/3m23/toc/tinv-3gpp-23-401_zh.html
* probably a long way for Osmocom to support it, given that we don't really do any inter-SGSN HO even inside a single RAT.

== Conclusions

The logical steps to improve our LTE interworking are:

1. split HLR/HSS and split GGSN/P-GW (today)
2. GSUP-to-DIAMETER translator for shared HLR/HSS
3. shared GGSN/P-GW for 

== EOF

End of File
