GSM-R and its difference to GSM
===============================
:author:	Harald Welte <laforge@osmocom.org>
:copyright:	2021 by Harald Welte (License: CC-BY-SA)
:backend:	slidy
:max-width:	45em

== Overview

What this talk is about

* GSM-R history, stakeholders
* GSM-R technical introduction
* assumes good understanding of GSM
* focuses on differences between GSM-R and GSM

== key GSM-R types of communication

* 1:1 voice calls (normal CS calls)
* 1:n voice calls (broadcast calls)
* n:m voice calls (group calls)
* transmission of data for train control
** between RBC and train engine

== GSM-R key acronyms before we start

UIC:: International Union of Railways
ERTMS:: European Rail Traffic Management System
ETCS:: European Train Control System
RBC:: Radio Block Centre
Controller:: A person in a RBC in charge of controlling trains

more acronyms to come, of course

== GSM-R stakeholders / players

UIC:: International Union of Railways
* established in 1922 with 51 members from 29 countries
* today 208 members from 5 continents
EC:: European Commission
GSM-R IG:: Industry Group
* representatives from equipment suppliers
CEPT:: Conférence Européenne des Administrations des Postes et des Télécommunications

== GSM-R history

* pre-1992: UIC requests allocation of frequencies from CEPT
* question whether to use TETRA or GSM
** GSM wins as it is already deployed in 1991/1992
* 1992: EIRENE project started by UIC and EC
** specify requirements of railways for mobile networks
** first specs released 1995
* 1995: MORANE project started by UIC
** validate EIRENE functional specs
** develop detailed technical specs [with ETSI, 3GPP]
** steering group of French, Italian and German Railways
** 3 trial deployments with all parts of the network
* 1997: MoU in UIC to stop investing in analog sytems
** later amended by AoI (Agreement of Implementation)
* 2000: conclusion of EIRENE and MORANE


== GSM-R related groups

* ERTMS/GSM-R group
** ERIG: European Railway Implementors Group
*** those railways signing the MoU and AoI
** FG: Functional Group
*** maintains FRS (Functional Requirements Spec)
** OG: Operators Group
*** maintains SRS (System Requirements Spec)


== GSM-R related specs

* EIRENE (European Integrated Radio Enhanced NEtwork)
** FRS (Functional Requirements Spec)
** SRS (System Requirements Spec)
** both are one document, versioned. current: FRS 8.0 and SRS 16.0
* MORANE (MObile radio for RAilway Networks in Europe)
** many specs, divide in three classes of spec documents
*** FFFIS (Form Fit Function Interface Specification)
*** FIS (Functional Interface Specification)
*** FFFS (Form Fit Functional Specification)
* ETCS specifications
* plus of course the ETSI / 3GPP GSM specs (R99 or R4)


== GSM-R mobile station types

* Cab Radio
** fixed installation in the engine cab, mainly for voice communication of driver
* EDOR (ETCS Data Only Radio)
** fixed installation in engine, exclusively for ETCS
* GP (General Purpose) Radio
** handheld for staff
* Operational / Shunting Radio
** handheld for staff in specific use cases

== GSM-R frequencies

* R-GSM band
** 876-880 MHz UL / 921-925 MHz DL
** mandatory in EU
* ER-GSM band
** 873-876 MHz UL / 918-921 MHz DL
** optional, used in Germany
* other countries use GSM-R in normal bands
** China: E-GSM, India: P-GSM, Australia: DCS 1800


== GSM-R teleservices

* mandatory
** classic GSM voice calls
** CSD (circuit switched data)
** Supplementary Services (SS) like UUS1
** USSD
* optional
** GPRS/EGPRS
** SMS


== ASCI - Advanced Speech Call Items

VBS:: Voice Broadcast System
* 1:n voice calls using shared radio resources
VGCS:: Voice Group Call System
* n:m voice calls using shared radio resources
UUS:: User-to-User Signaling
* ability to send information along call signaling (CC)
eMLPP:: Enhanced Multi-Level Precedence and Pre-emption
* different priorities of users / calls

== VBS/VGCS on Um interface

* uni-directional activation of TCH
** listeners are using DL-only TCH
** all MS in one cell assigned to same TCH/timeslot
** each BTS with at least one participant transmits same DL data
* talker (VGCS only) requests access via RACH in UL
* one talker at a time gets allocated the uplink TCH
* signaling via a new NCH (steals one SDCCH/8 like CBCH)
** NCH notification acts like a "shared assignment"
** group call reference + channel description

== VBS/VGCS extensions in BTS

* uni-directional TCH
* talker detection
* listener detection
* NCH support in downlink
* handle RSL notification procedure

== VBS/VGCS extensions in BSC

* definition of BS areas in BSC
* generation of RSL NOTIFICATION
* parsing VBS ASSIGNMENT REQ
* generating VBS ASSIGNMENT RESULT
* generationg VBS ASSIGNMENT STATUS

== VBS/VGCS extensions in MGW, MSC

* in MGW
** AoIP circuit sharing [one RTP in, many out]
* in MSC
** A/BSSMAP procedures
** BCC (Broadcast Call Control) protocol support
** GCC (Group Call Control) protocol support


== eMLPP

* priorities A, B, 0, 1, 2, 3, 4
** A+B not used in GSM-R
** 0 used for railway emergency calls
** 4 used for classic 1:1 / ptp calls
* BSC will pre-empt (kill) lower priority calls if higher priority calls come up


== ETCS / Euroradio

* ETCS signaling between RBC and train engine
** exchanges information on position of train, permission to enter section of track, ...
* typically uses an EDOR installed in the engine
** at least two GSM-R MS inside, for redundant connection
* traditionally uses GSM CSD calls with transparent, async teleservice
** network required to support 2.4, 4.8 and 9.6 kbps
* EURORADIO layer inside the CSD call
* most recently also possible via TCP over GPRS


== ETCS extensions per network element

* libosmocoding
** CSD convoluitional coding
* osmo-bts
** CSD de-interleaving
** RSL channel mode parsing
** CSD RTP encapsulation/decapsulation
* osmo-bsc
** RSL channel mode encoding
* osmo-mgw / libosmo-mgcp-client
** CSD in SDP
* osmo-msc
** CSD in L3 CC / MNCC


== Functional + Location Dependent Addressing

* in classic GSM, addresses (MSISDN) identify a subscriber
* in railway networks, you often want to address users
** by their function (conductor, catering, driver, ...)
*** dialling plan encodes train number + function
** by their location (manager of _this_ train)
* USSD is used to register/deregister as a function
* HLR stores related functional addresses

== GSM-R numbering plan

The following prefixes define the GSM-R numbering plan:

[cols="1,9"]
|===
|1|Reserved for short codes 
|2|Train Function Number
|3|Engine Function Number
|4|Coach Number
|50|Group calls
|51|Broadcast calls
|6|Maintenance and shunting team members
|7|Train controllers
|8|Mobile Subscriber Number
|===



== GSM-R SIM cards

* specified in MORANE FFFIS for GSM-R SIM cards
* normal GSM SIM card with DF_GSM and DF_TELECOM
* additional files in DF_GSM related to
** eMLPP
** VGCS
** VBS
* additional files in [additional] DF_EIRENE, related to
** functional numbers
** shunting, call confirmation for emergency calls
** GSM-R network selection
** international code, network name


== GSM-R RAN / CN feature requirements

* RANflex / MSC pooling required for redundancy
* ISUP + MAP for roaming between networks
* if GPRS (optional) is supported:
** NACC (network assisted cell change) mandatory
** inter-PCU LLC forwarding mandatory
* connection of controller equipment via ISDN or SIP
** DTMF is used to end/mute calls


== Roaming

* international roaming between railway companies
** trains crossing borders is normal in Europe
* national roaming from GSM-R to public GSM
** in case of coverage gaps
** for fail-over


== EIRENE / MORANE specs

can be found and downloaded at https://uic.org/rail-system/gsm-r/

== EOF

End of File
