Osmocom GSUP Protocol
=====================
Harald Welte
:copyright: Harald Welte (Liense: CC-BY-SA)
:backend: slidy
:max-width: 45em

== GSUP basics

* very much simplified protocol for handling procedures betewen *SGSN* and *HLR*
* procedures / primitives similar to those carried by MAP
** without the complexity of ASN.1
** without the complexity of a TCAP/SCCP protocol stack underneath
** without the nasty segmented MAP due to limited MSU size in SS7

== GSUP history

* originally developed for *SGSN* <-> *HLR* interface
* originally called 'GPRS Subscriber Update Protocol'
* implemented in OsmoSGSN (but no counter-part in Osmocom git repos?)

== GSUP extension for 3G

* Iu-PS was added to OsmoSGSN, requiring UMTS AKA
* GSUP authentication triplets extended to quintuples
* GSUP SendAuthInfo extended with RAND (for AKA re-sync)
* *osmo-gsup-hlr* as minimalistic HLR+AUC side implementation

== GSUP extension circuit-switched

* HLR must know if request is from CS(MSC) or PS(SGSN)
** introduce OSMO_GSUP_CN_DOMAIN_IE to differentiate CS/PS
* VLR must have ability to inform HLR of AUTH FAIL
** introduce OSMO_GSUP_MSGT_AUTH_FAIL_REPORT

== Misc GSUP changes in 2016

* GSUP protocol definition and message encoder/decoder move to
  libosmocore (gprs_gsup_* -> osmo_gsup_* rename)
* Doxygen documentation snippets added
* GSUP documentation moved to asciidoc and into osmo-gsm-manuals.git

include::gsup.adoc[]

== The End

Questions?
