\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{Bell.Labs (Steve Fowlkes)} \pdfinfo{ /Title (the-ims-sip-architecture-in-volte.pdf) /Creator (Cheatography) /Author (Bell.Labs (Steve Fowlkes)) /Subject (The IMS/SIP Architecture in VoLTE Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{666666} \definecolor{LightBackground}{HTML}{F5F5F5} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{The IMS/SIP Architecture in VoLTE Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Bell.Labs (Steve Fowlkes)} via \textcolor{DarkBackground}{\uline{cheatography.com/20709/cs/3647/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}Bell.Labs (Steve Fowlkes) \\ \uline{cheatography.com/steve-fowlkes} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 10th May, 2016.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Role of IMS}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{IMS is an architecture developed by the 3GPP. \newline % Row Count 1 (+ 1) Offers a simpler, cheaper, more efficient way to carry multimedia sessions instead of using circuit switched transmission. \newline % Row Count 4 (+ 3) Voice, Video, Gaming, Data can all be sent into the IMS network. \newline % Row Count 6 (+ 2) Lets any form of previous media connect to it. Here are some various methods that are able to connect to the IMS network. These are commonly called "Access Methods" \newline % Row Count 10 (+ 4) {\bf{PSTN Public Switched Telephone Network}} \newline % Row Count 11 (+ 1) {\bf{EPS (Evolved Packet System)}} Commonly referred to as LTE, though is is a misnomer. \newline % Row Count 13 (+ 2) {\bf{Fixed Line (DSL, Cable, Dial-up) }} \newline % Row Count 14 (+ 1) {\bf{2G/3G Networks}} \newline % Row Count 15 (+ 1) {\bf{Other IMS Networks}}% Row Count 16 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Role of IMS}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{IMS is an architecture developed by the 3GPP. \newline % Row Count 1 (+ 1) Offers a simpler, cheaper, more efficient way to carry multimedia sessions instead of using circuit switched transmission. \newline % Row Count 4 (+ 3) Voice, Video, Gaming, Data can all be sent into the IMS network. \newline % Row Count 6 (+ 2) Lets any form of previous media connect to it. Here are some various methods that are able to connect to the IMS network: \newline % Row Count 9 (+ 3) {\bf{PSTN Public Switched Telephone Network}} \newline % Row Count 10 (+ 1) {\bf{E-UTRAN Evolved-Universal Terrestrial Radio Access Network}} Used by the EPS (LTE 4G) network for radio access. \newline % Row Count 13 (+ 3) {\bf{Fixed Line (DSL, Cable, Dial-up) }} \newline % Row Count 14 (+ 1) {\bf{Other IMS Networks}}% Row Count 15 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{IMS Access Methods}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{So where does IMS fit in? It can be accessed from many networks. One example is from the LTE/E-UTRAN network. A user may use a cell phone which connects to an E-NodeB cell tower, which in turn goes through the EPS (evolved packet system). This is just a method of accessing the IMS core. \newline % Row Count 6 (+ 6) Another method maybe for a user to pick up a landline phone and dial someone, and the phone call would use SS7 to get the call to the IMS network. \newline % Row Count 9 (+ 3) Both examples show that the IMS network has many "interfaces" to deal with accepting and outputting different types of media. \newline % Row Count 12 (+ 3) The entire chain of all accepted media, IMS, and SIP is what makes up technologies like VoLTE.% Row Count 14 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Other IMS Elements}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Remember, since IMS was never designed to be strictly about phone calls, it makes sense that the S-CSCF has no real call functionality. It's main function is only session setup and control. Any type of basic calling services, are added later, if you plan on using the IMS network for calls. The server that is implemented to add call functionality is called the \newline % Row Count 8 (+ 8) {\bf{TAS (Telephony Application Server)}} \newline % Row Count 9 (+ 1) In ALU terms it's known as the CTS (Converged Telephony Server). This type of splitting up of the service from the SIP services means you can have a wide range of types of application servers, not just telephony, as long as it uses SIP to set up the session. \newline % Row Count 15 (+ 6) Other examples of IMS elements are: \newline % Row Count 16 (+ 1) {\bf{ Voice Call Continuity Server}} \newline % Row Count 17 (+ 1) {\bf{Presence Server}} \newline % Row Count 18 (+ 1) {\bf{Billing and Charging}} \newline % Row Count 19 (+ 1) Basically the other IMS elements provide extended services to the user and usually are SIP speaking entities. So any SIP application function can be added to your IMS network as an application server. Doesn't have to be just voice. That being said, these application servers are not part of the IMS core. \newline % Row Count 26 (+ 7) {\bf{BGCF Border Gateway Control Function}} When the SIP S-CSCF receives and INVITE request, it needs to forward it somewhere. Either to a gateway, or to another local server. The BGCF provides a basic routing table to decide where to forward the next hop to. \newline % Row Count 32 (+ 6) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Other IMS Elements (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{MRF Media Resource Function}} Basically a mixer. Provides call conferencing functionality, and media for calling and called parties, such as ringback tones. \newline % Row Count 4 (+ 4) {\bf{PCRF Policy Control Resource Function}} This function% Row Count 6 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Breaking Down Core IMS Elements}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{The IMS core is made up of SIP servers and other non-SIP servers. \newline % Row Count 2 (+ 2) {\bf{P-CSCF Proxy Call Session Control Function}} First point of contact in IMS core. (But after the call has gone through it's access network) May provide TLS or IPSec security. Must figure out if the incoming caller's device is registered to an existing SIP S-CSCF, and which S-CSCF to send him to. The P-CSCF find out this information from another element called the HSS or Home Subscriber Server. \newline % Row Count 10 (+ 8) {\bf{I-CSCF Interrogating Call Session Control Function}} You don't really want a whole mess of different Proxies each needing to use different diameter ports, to talk directly with your HSS. The I-CSCF consolidates all of the queries to one function, and forwards the requests from there. In doing so the I-CSCF finds out which S-CSCF to route the caller to. The I-CSCF then forwards the SIP request or response to the S-CSCF according to what the HSS told it. \newline % Row Count 20 (+ 10) {\bf{HSS Home Subscriber Server}} Is a master database. It contains the subscription information like subscriber profiles, performs authentication and authorization of the user, and provides information about the subscriber's location and IP information. It only speaks Diameter protocol, not SIP. It is usually but not always contacted by an I-CSCF. \newline % Row Count 28 (+ 8) {\bf{S-CSCF Serving Call Session Control Function }} It is a SIP server, but performs session control too. It provides routing services, typically using Electronic Numbering (ENUM). Also it handles SIP registrations, which allows it to bind the user's location and the SIP address. It's the 'core' of the IMS 'core' basically.% Row Count 35 (+ 7) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Media Connectivity to Other Networks}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{So the Control Plane of IMS uses SIP and the core SIP elements, like the P-CSCF, S-CSCF, I-CSCF and potentially the HSS, to control the flow, setup and signaling of the call. \newline % Row Count 4 (+ 4) When it comes to media (the actual data), there are many, many different protocols and interfaces that must be converted to and from to carry the information. This is where the Media Gateway comes in. For example, the PSTN can't talk SIP, so there has to be some sort of medium to bridge the two. But if you're receiving a session from another IMS/SIP network you don't need to translate. \newline % Row Count 12 (+ 8) So the requirements to reach and contact one type of network from another has been broken down into different 'functions'. Each of these gateways is usually linked to a controller that controls and monitors the underlying gateway. \newline % Row Count 17 (+ 5) Different types of access gateways: \newline % Row Count 18 (+ 1) {\bf{ ATCF \& ATGW}} \newline % Row Count 19 (+ 1) Access Transfer Control Function \newline % Row Count 20 (+ 1) Access Transfer Gateway \newline % Row Count 21 (+ 1) Used to connect to the EPS access network. (4g devices over LTE) \newline % Row Count 23 (+ 2) {\bf{IBCF}} \newline % Row Count 24 (+ 1) Interconnect Border Control Function \newline % Row Count 25 (+ 1) Interconnect Border Gateway \newline % Row Count 26 (+ 1) Used to bridge to other IMS networks% Row Count 27 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}