diff --git a/2023/osmodevcall-gsm_csd/csd_model_1b_2b_3b.png b/2023/osmodevcall-gsm_csd/csd_model_1b_2b_3b.png new file mode 100644 index 0000000..b242c7e Binary files /dev/null and b/2023/osmodevcall-gsm_csd/csd_model_1b_2b_3b.png differ diff --git a/2023/osmodevcall-gsm_csd/csd_model_5a.png b/2023/osmodevcall-gsm_csd/csd_model_5a.png new file mode 100644 index 0000000..9c02022 Binary files /dev/null and b/2023/osmodevcall-gsm_csd/csd_model_5a.png differ diff --git a/2023/osmodevcall-gsm_csd/greta_fax.jpg b/2023/osmodevcall-gsm_csd/greta_fax.jpg new file mode 100644 index 0000000..5498570 Binary files /dev/null and b/2023/osmodevcall-gsm_csd/greta_fax.jpg differ diff --git a/2023/osmodevcall-gsm_csd/gsm_csd.tex b/2023/osmodevcall-gsm_csd/gsm_csd.tex new file mode 100644 index 0000000..6b71304 --- /dev/null +++ b/2023/osmodevcall-gsm_csd/gsm_csd.tex @@ -0,0 +1,397 @@ + +\newcommand{\degree}{\ensuremath{^\circ}} +%\documentclass[handout]{beamer} +\documentclass[aspectratio=169,11pt]{beamer} + +% This file is a solution template for: + +% - Talk at a conference/colloquium. +% - Talk length is about 20min. +% - Style is ornate. + + + +% Copyright 2004 by Till Tantau . +% +% In principle, this file can be redistributed and/or modified under +% the terms of the GNU Public License, version 2. +% +% However, this file is supposed to be a template to be modified +% for your own needs. For this reason, if you use this file as a +% template and not specifically distribute it as part of a another +% package/program, I grant the extra permission to freely copy and +% modify this file as you see fit and even to delete this copyright +% notice. + + +\mode +{ + \usetheme{CambridgeUS} + \usecolortheme{whale} + +%\setbeamercolor{titlelike}{parent=palette primary,fg=black} +\setbeamercolor{frametitle}{use=block title,fg=black,bg=block title.bg!10!bg} +% from beamercolorthemeorchid.sty to make it look more like warsaw +\setbeamercolor{block title}{use=structure,fg=white,bg=structure.fg!75!black} +\setbeamercolor{block title alerted}{use=alerted text,fg=white,bg=alerted text.fg!75!black} +\setbeamercolor{block title example}{use=example text,fg=white,bg=example text.fg!75!black} + +\setbeamercolor{block body}{parent=normal text,use=block title,bg=block title.bg!10!bg} +\setbeamercolor{block body alerted}{parent=normal text,use=block title alerted,bg=block title alerted.bg!10!bg} +\setbeamercolor{block body example}{parent=normal text,use=block title example,bg=block title example.bg!10!bg} +\setbeamertemplate{navigation symbols}{} + + + + % or ... + + %\setbeamercovered{transparent} + % or whatever (possibly just delete it) +} + +\mode{ + \usepackage{misc/handoutWithNotes} + \pgfpagesuselayout{2 on 1 with notes landscape}[a4paper,border shrink=5mm] + \usecolortheme{seahorse} +} + +% ensure the page number is printed in front of the author name in the footer +%\newcommand*\oldmacro{} +%\let\oldmacro\insertshortauthor% save previous definition +%\renewcommand*\insertshortauthor{% +% \leftskip=.3cm% before the author could be a plus1fill ... +% \insertframenumber\,/\,\inserttotalframenumber\hfill\oldmacro} + +\usepackage[english]{babel} +\usepackage[utf8]{inputenc} +\usepackage{times} +\usepackage[T1]{fontenc} + +\usepackage{subfigure} +\usepackage{hyperref} +\usepackage{textcomp,listings} +%\usepackage{german} +\lstset{basicstyle=\scriptsize\ttfamily, upquote, tabsize=8} + + +\title{Circuit Switched Data (CSD) in GSM} +%\subtitle{(Circuit Switched Public Data Network)} +\author{Harald~Welte} +\institute{Osmocom project} +\date[March 2023]{OsmoDevCall} + + +% - Use the \inst command only if there are several affiliations. +% - Keep it simple, no one is interested in your street address. + +% - Either use conference name or its abbreviation. +% - Not really informative to the audience, more for people (including +% yourself) who are reading the slides online + +%\subject{Having fun with DECT} +% This is only inserted into the PDF information catalog. Can be left +% out. + + + +% If you have a file called "university-logo-filename.xxx", where xxx +% is a graphic format that can be processed by latex or pdflatex, +% resp., then you can add a logo as follows: + +% \pgfdeclareimage[height=0.5cm]{university-logo}{university-logo-filename} +% \logo{\pgfuseimage{university-logo}} + + + +% Delete this, if you do not want the table of contents to pop up at +% the beginning of each subsection: +%\AtBeginSubsection[] +%{ +% \begin{frame}{Outline} +% \tableofcontents[currentsection,currentsubsection] +% \end{frame} +%} + + +% If you wish to uncover everything in a step-wise fashion, uncomment +% the following command: + +%\beamerdefaultoverlayspecification{<+->} + + +\begin{document} + +\begin{frame} + \titlepage +\end{frame} + + +% Structuring a talk is a difficult task and the following structure +% may not be suitable. Here are some rules that apply for this +% solution: + +% - Exactly two or three sections (other than the summary). +% - At *most* three subsections per section. +% - Talk about 30s to 2min per frame. So there should be between about +% 15 and 30 frames, all told. + +% - A conference audience is likely to know very little of what you +% are going to talk about. So *simplify*! +% - In a 20min talk, getting the main ideas across is hard +% enough. Leave out details, even if it means being less precise than +% you think necessary. +% - If you omit details that are vital to the proof/implementation, +% just say so once. Everybody will be happy with that. + +%\include{part-introduction} + + +%\part{Java SIM} + +%\section{Cicruit Switched Packet Data Networks} + +\begin{frame}{CSD? What is that?} +\begin{itemize} + \item a circuit-switched call, like a classic voice call + \item bearer data (user plane) is not voice, but data + \item resembles the kind of service known previously from ISDN data calls or POTS modem calls + \item the only data service provided by classic 2G/GSM besides SMS (before 2.5G/GPRS was introduced) + \item CSD is also used to transport {\em Group 3 Facsimile} (Telefax) over GSM +\end{itemize} +\end{frame} + +\begin{frame}{CSD Users: Modems} +\parbox{.50\textwidth}{ +\begin{itemize} + \item GSM Modems (external/RS-232 attached or in PCMCIA form factor) for laptop users in the 1990s + \begin{itemize} + \item Dial-up access to BBSs, Databases, etc. (pre-internet days) + \item Dial-up access to other networks like X.25/Datex-P (gateways) + \item Dial-up access to Interenet or private IP networks (SLIP/PPP) + \end{itemize} +\end{itemize} +}\hfill\parbox{.50\textwidth}{ + \includegraphics[width=60mm]{siemens_mc35i.jpg} +} +\end{frame} + +\begin{frame}{CSD Users} +\begin{itemize} + \item End-to-end encrypted telephones (like older/original GSMK Cryptophone) + \item At least in theory, there's also a spec for Teletex over GSM + \begin{itemize} + \item unclear if it was ever deployed + \item Teletex used 2400 bps synchronous X.21 CSPDN in Germany; see related RetroNetCall talks + \end{itemize} + \item Early Machine-to-Machine (M2M) communication; most well-known user is data connection between + train engines and controllers in GSM-R +\end{itemize} +\end{frame} + +\begin{frame}{CSD Users: Fax} +\parbox{.55\textwidth}{ +\begin{itemize} + \item GSM Telefax devices (yes, they exist[ed])! + \begin{itemize} + \item Fax from one GSM subscriber to another GSM subscriber + \item Fax from GSM subscriber to wired (ISDN/PSTN) fax machine + \end{itemize} +\end{itemize} +}\hfill\parbox{.45\textwidth}{ + \includegraphics[width=75mm]{greta_fax.jpg} +} +\end{frame} + + + +\begin{frame}{CSD Services} +\begin{itemize} + \item both synchronous and asynchronous services + \item both transparent and non-transparent services + \item service bit rates of 300/1200/2400/4800/9600/14400 bps + \item later extended to HSCSD (high-speed CSD), bundling 2-4 TCH for up to 57600 bps +\end{itemize} +\end{frame} + +\begin{frame}{Background: Synchronous Interface} +\begin{itemize} + \item {\it synchronous} means that receiver and transmitter share a common clock + \item bits are then transmitted one synchronous with that clock, usually 1 bit per clock cycle + \item synchronous interfaces do not need start/stop bits, so they have higher user data throughput at same bps + \item simple synchronous interfaces need separate wires for clock, in addition to data + \item example for other synchronous serial interfaces: SPI, I2C + \item sometimes, uC will have peripherals called USART for an UART that's extended also for synchronous communications +\end{itemize} +\end{frame} + +\begin{frame}{Background: Asynchronous Interface} +\begin{itemize} + \item data bits are not synchronous to any clock + \item baud rate just tells the (rough) rate of bits, but not the phase + \item transmitter can start to transmit a character at any given point in time + \item asynchronous interfaces need start/stop bits, so they have lower user data throughput at same bps + \item most common example for asynchronous interface: RS-232 serial port +\end{itemize} +\end{frame} + +\begin{frame}{Transparent (T) vs. Non-Transparent (NT)} +\begin{itemize} + \item Transparent + \begin{itemize} + \item bit stream passed transparently end-to-end + \item air interface FEC, but no reliable (re)transmission in case of loss + \item defined latency, but possible loss + \item available for sync and async services + \end{itemize} + \item Non-Transparent + \begin{itemize} + \item works only for async services + \item characters sent via RLP (Radio Link Protocol) + \item control lines (RTS/CTS/DSR/DTR/DCD) serialized via L2RCOP (Layer 2 Character Oriented Protocol) + \item RLP is a HLDC-style protocol with ABM + \item frames are re-transmitted as needed + \item indeterminate latency, but guaranteed delivery (or disconnect) + \end{itemize} +\end{itemize} +\end{frame} + + +\begin{frame}{CSD async-T vs. sync-T vs. async-NT} +\begin{figure}[h] + \centering + \includegraphics[width=75mm]{csd_model_1b_2b_3b.png} +\end{figure} +\end{frame} + +\begin{frame}{CSD signaling in Layer 3 Call Control} +\begin{itemize} + \item Normal Q.931-derived GSM Layer 3 Call Control with SETUP / CONNECT / etc. + \item Only difference: Bearer Capabilities IE +\end{itemize} +\end{frame} + +\begin{frame}{CSD on the Um (MS-BTS) interface} +\begin{itemize} + \item A variety of new convolutional coding/interleaving schemes + \item TCH/F9.6, TCH/F4.8, TCH/H4.8, TCH/H2.4, TCH/F14.4 + FIXME: TABLE +\end{itemize} +\end{frame} + +\begin{frame}{CSD on the Abis (BTS-BSC) interface} +\begin{itemize} + \item Classic GSM uses TRAU frames over E1 timeslots/sub-slots + \item Special TRAU frame formats specifically for CSD + FIXME +\end{itemize} +\end{frame} + +\begin{frame}{CSD on the A (BSC-MSC) interface} +\begin{itemize} + \item Voice calls in the GSM core network are just ISDN calls (64k PCM timeslots) + \item CSD calls in the GSM core network are just ISDN data calls (64k V.110 timeslots) + FIXME: something about V.110 from the RetroNetCall + \item for more details about V.110, see the 12/2022 RetroNetCall about ISDN B-Channel protocols at + \url[https://media.ccc.de/v/retronetcall-20221207-laforge-isdn-b-channel-protocols] +\end{itemize} +\end{frame} + + + + + + +\begin{frame}{Interworking with ISDN data calls} +\begin{itemize} + \item The GSM MSC is just a fancy ISDN switch anyway + \item Call Control is using SS7/ISUP like other switches in ISDN; no difference between voice and daat + other than the indicatd service (voice vs. UDI/RDI) + \item Transparent CSD is just a slightly modified V.110, so CSD-modified V.110 frames are mapped 1:1 + to standard ISDN V.110 frames (happens in the TRAU; typically BSC-colocated) + \item Non-transparent CSD requires Inter-Working Function (IFW; typically MSC-colocated); IWF + terminates RLP and L2RCOP layers and acts as TA towards ISDN +\end{itemize} +\end{frame} + +\begin{frame}{Interworking with POTS modem calls} +\begin{itemize} + \item Specs say that operators could deploy an IWF (typically MSC-colocated) which terminates the + transparent or non-transparent CSD call and implements an ITU V-Series Modem towards the POTS + \item This has been tested in some trials; not sure if any operator had deployed this + in production. Reason: Expensive modem banks with one modem per concurrent call required. + +\end{itemize} +\end{frame} + +\begin{frame}{Interworking with POTS Telefax} +\begin{itemize} + \item +\end{itemize} +\end{frame} + +\begin{frame}{CSD Fax Adaptation across the network} +\begin{figure}[h] + \centering + \includegraphics[width=99mm]{csd_model_5a.png} +\end{figure} +\end{frame} + + +\begin{frame}{How to speak CSD in 2023?} +\parbox{.50\textwidth}{ +\begin{itemize} + \item public operators (a least in Germany) have sadly phased out CSD + \begin{itemize} + \item Vodafone in 12/2020 + \item Deutsche Telekom in 12/2022 + \end{itemize} + \item alternative: {\em test equipment} like the Racal 6103 + \item alternative: {\em private} networks + \item Osmocom support for CSD never really existed + \begin{itemize} + \item Ancient (2012) OsmoNITB branch {\tt tobias/csd} for use with nanoBTS + \item Current WIP for proper CSD support + \end{itemize} +\end{itemize} +}\hfill\parbox{.50\textwidth}{ + \includegraphics[width=70mm]{racal6103.jpg} +} +\end{frame} + +\begin{frame}{Omsocom CSD plans} +\begin{itemize} + \item support for 2400/4800/9600 bps CSD across CNI ({\tt osmo-bts/bsc/msc/mgw}) + \begin{itemize} + \item BTS support focus on {\tt osmo-bts-trx} only + \end{itemize} + \item CSD to CSD calls between subscribers (sync/async, T/NT) + \item support for V.110 / RTP CLEARMODE interworking with SIP ({\tt osmo-sip-connector}) + \item support for V.110 interworking with ISDN (tbd) +\end{itemize} +\end{frame} + +\begin{frame}{Omsocom CSD status} +\begin{itemize} + \item convolutional [de]coder, [de]interleaving implemented + \begin{itemize} + \item verified against air-interface traces ({\tt burst\_ind} captures) between Racal 6103E and Siemens GSM Modem + \end{itemize} + \item V.110 frame synchronization, encoding/decoding + \begin{itemize} + \item verified against V.110 ISDN calls in OCTOI network + \end{itemize} + \item GSM-modified V.110 frame synchronization, encoding/decoding + \begin{itemize} + \item verified against air-interface traces ({\tt burst\_ind} captures) between Racal 6103E and Siemens GSM Modem + \end{itemize} + \item RFC4040 complaint RTP CLEARMODE in osmo-mgw + \item osmo-bsc handling on Abis and A interface; MGCP towards osmo-mgw +\end{itemize} +\end{frame} + + +\begin{frame}{The End} +EOF +\end{frame} + +\end{document} diff --git a/2023/osmodevcall-gsm_csd/racal6103.jpg b/2023/osmodevcall-gsm_csd/racal6103.jpg new file mode 100644 index 0000000..ec5e612 Binary files /dev/null and b/2023/osmodevcall-gsm_csd/racal6103.jpg differ diff --git a/2023/osmodevcall-gsm_csd/siemens_mc35i.jpg b/2023/osmodevcall-gsm_csd/siemens_mc35i.jpg new file mode 100644 index 0000000..bb98a8c Binary files /dev/null and b/2023/osmodevcall-gsm_csd/siemens_mc35i.jpg differ