Initial draft of CSD slides

This commit is contained in:
Harald Welte 2023-03-15 13:34:30 +01:00
parent be07bbe646
commit 7f68ce18c6
6 changed files with 397 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@ -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 <tantau@users.sourceforge.net>.
%
% 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<presentation>
{
\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<handout>{
\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}<beamer>{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}

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 KiB