\doxysection{src/sccp\+\_\+scmg.c File Reference}
\label{sccp__scmg_8c}\index{src/sccp\_scmg.c@{src/sccp\_scmg.c}}
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/logging.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/timer.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/fsm.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/sccp\+\_\+sap.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/sua.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/protocol/sccp\+\_\+scmg.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sccp/sccp\+\_\+types.\+h$>$}\newline
{\ttfamily \#include \char`\"{}xua\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sccp\+\_\+instance.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sccp\+\_\+internal.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sccp\+\_\+user.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t \textbf{ ssn}, uint32\+\_\+t \textbf{ smi})
\item 
void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t \textbf{ ssn}, uint32\+\_\+t \textbf{ smi})
\item 
void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc})
\begin{DoxyCompactList}\small\item\em brief MTP -\/$>$ SNM (MTP-\/\+PAUSE.\+ind) -\/ inability to providing MTP service Q.\+714 5.\+2.\+2 \end{DoxyCompactList}\item 
void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc})
\begin{DoxyCompactList}\small\item\em brief MTP -\/$>$ SNM (MTP-\/\+RESUME.\+ind) -\/ ability of providing the MTP service Q.\+714 5.\+2.\+3 \end{DoxyCompactList}\item 
void \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst, uint32\+\_\+t \textbf{ dpc}, enum \textbf{ mtp\+\_\+unavail\+\_\+cause} cause, uint8\+\_\+t cong\+\_\+level)
\item 
static int \textbf{ sccp\+\_\+scmg\+\_\+tx} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$calling\+\_\+addr, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called\+\_\+addr, const uint32\+\_\+t $\ast$seq\+\_\+ctrl, uint8\+\_\+t \textbf{ msg\+\_\+type}, uint8\+\_\+t \textbf{ ssn}, uint16\+\_\+t \textbf{ pc}, uint8\+\_\+t \textbf{ smi}, uint8\+\_\+t $\ast$ssc\+\_\+cong\+\_\+lvl)
\item 
static int \textbf{ scmg\+\_\+rx\+\_\+ssa} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$calling\+\_\+addr, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called\+\_\+addr, const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$ssa)
\item 
static int \textbf{ scmg\+\_\+rx\+\_\+ssp} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$calling\+\_\+addr, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called\+\_\+addr, const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$ssp)
\item 
static int \textbf{ scmg\+\_\+rx\+\_\+sst} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$calling\+\_\+addr, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called\+\_\+addr, const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$sst)
\item 
static int \textbf{ scmg\+\_\+rx} (struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$scu, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$calling\+\_\+addr, const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$called\+\_\+addr, const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$scmg)
\item 
static int \textbf{ scmg\+\_\+prim\+\_\+cb} (struct osmo\+\_\+prim\+\_\+hdr $\ast$oph, void $\ast$\+\_\+scu)
\item 
int \textbf{ sccp\+\_\+scmg\+\_\+init} (struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$inst)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const struct value\+\_\+string \textbf{ sccp\+\_\+scmg\+\_\+msgt\+\_\+names} [$\,$]
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\label{sccp__scmg_8c_a78005d521d9f14a1a8504b2d18691539}} 
\index{sccp\_scmg.c@{sccp\_scmg.c}!sccp\_scmg\_init@{sccp\_scmg\_init}}
\index{sccp\_scmg\_init@{sccp\_scmg\_init}!sccp\_scmg.c@{sccp\_scmg.c}}
\doxysubsubsection{sccp\_scmg\_init()}
{\footnotesize\ttfamily int sccp\+\_\+scmg\+\_\+init (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+bind()}, and \textbf{ scmg\+\_\+prim\+\_\+cb()}.



Referenced by \textbf{ osmo\+\_\+sccp\+\_\+instance\+\_\+create()}.

\mbox{\label{sccp__scmg_8c_a6e1de1fdffab62084b3e51db5a09b7c4}} 
\index{sccp\_scmg.c@{sccp\_scmg.c}!sccp\_scmg\_rx\_mtp\_pause@{sccp\_scmg\_rx\_mtp\_pause}}
\index{sccp\_scmg\_rx\_mtp\_pause@{sccp\_scmg\_rx\_mtp\_pause}!sccp\_scmg.c@{sccp\_scmg.c}}
\doxysubsubsection{sccp\_scmg\_rx\_mtp\_pause()}
{\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+pause (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})}



brief MTP -\/$>$ SNM (MTP-\/\+PAUSE.\+ind) -\/ inability to providing MTP service Q.\+714 5.\+2.\+2 



References \textbf{ osmo\+\_\+scu\+\_\+pcstate\+\_\+param\+::affected\+\_\+pc}, \textbf{ dpc}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+UNAVAILABLE\+\_\+\+UNKNOWN}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SP\+\_\+\+S\+\_\+\+INACCESSIBLE}, and \textbf{ sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate()}.



Referenced by \textbf{ mtp\+\_\+user\+\_\+prim\+\_\+cb()}.

\mbox{\label{sccp__scmg_8c_a9b395f6f66a9d5cd22fec3841738d6ca}} 
\index{sccp\_scmg.c@{sccp\_scmg.c}!sccp\_scmg\_rx\_mtp\_resume@{sccp\_scmg\_rx\_mtp\_resume}}
\index{sccp\_scmg\_rx\_mtp\_resume@{sccp\_scmg\_rx\_mtp\_resume}!sccp\_scmg.c@{sccp\_scmg.c}}
\doxysubsubsection{sccp\_scmg\_rx\_mtp\_resume()}
{\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+resume (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})}



brief MTP -\/$>$ SNM (MTP-\/\+RESUME.\+ind) -\/ ability of providing the MTP service Q.\+714 5.\+2.\+3 



References \textbf{ osmo\+\_\+scu\+\_\+pcstate\+\_\+param\+::affected\+\_\+pc}, \textbf{ dpc}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+AVAILABLE}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SP\+\_\+\+S\+\_\+\+ACCESSIBLE}, and \textbf{ sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate()}.



Referenced by \textbf{ mtp\+\_\+user\+\_\+prim\+\_\+cb()}.

\mbox{\label{sccp__scmg_8c_a406d0f1c5da139aae859553dc759fca4}} 
\index{sccp\_scmg.c@{sccp\_scmg.c}!sccp\_scmg\_rx\_mtp\_status@{sccp\_scmg\_rx\_mtp\_status}}
\index{sccp\_scmg\_rx\_mtp\_status@{sccp\_scmg\_rx\_mtp\_status}!sccp\_scmg.c@{sccp\_scmg.c}}
\doxysubsubsection{sccp\_scmg\_rx\_mtp\_status()}
{\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+mtp\+\_\+status (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{enum \textbf{ mtp\+\_\+unavail\+\_\+cause}}]{cause,  }\item[{uint8\+\_\+t}]{cong\+\_\+level }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+scu\+\_\+pcstate\+\_\+param\+::affected\+\_\+pc}, \textbf{ dpc}, \textbf{ MTP\+\_\+\+UNAVAIL\+\_\+\+C\+\_\+\+CONGESTED}, \textbf{ MTP\+\_\+\+UNAVAIL\+\_\+\+C\+\_\+\+INACC\+\_\+\+REM\+\_\+\+USER}, \textbf{ MTP\+\_\+\+UNAVAIL\+\_\+\+C\+\_\+\+UNEQUIP\+\_\+\+REM\+\_\+\+USER}, \textbf{ MTP\+\_\+\+UNAVAIL\+\_\+\+C\+\_\+\+UNKNOWN}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+AVAILABLE}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+CONGESTED}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+REM\+\_\+\+SCCP\+\_\+\+S\+\_\+\+UNAVAILABLE\+\_\+\+UNKNOWN}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SP\+\_\+\+S\+\_\+\+ACCESSIBLE}, \textbf{ OSMO\+\_\+\+SCCP\+\_\+\+SP\+\_\+\+S\+\_\+\+CONGESTED}, and \textbf{ sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+pcstate()}.



Referenced by \textbf{ mtp\+\_\+user\+\_\+prim\+\_\+cb()}.

\mbox{\label{sccp__scmg_8c_a112a6f006b73b2b5dc475c6ccd33337d}} 
\index{sccp\_scmg.c@{sccp\_scmg.c}!sccp\_scmg\_rx\_ssn\_allowed@{sccp\_scmg\_rx\_ssn\_allowed}}
\index{sccp\_scmg\_rx\_ssn\_allowed@{sccp\_scmg\_rx\_ssn\_allowed}!sccp\_scmg.c@{sccp\_scmg.c}}
\doxysubsubsection{sccp\_scmg\_rx\_ssn\_allowed()}
{\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{uint32\+\_\+t}]{ssn,  }\item[{uint32\+\_\+t}]{smi }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+scu\+\_\+state\+\_\+param\+::affected\+\_\+pc}, \textbf{ dpc}, \textbf{ sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state()}, \textbf{ smi}, and \textbf{ ssn}.



Referenced by \textbf{ scmg\+\_\+rx\+\_\+ssa()}, and \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available\+\_\+to\+\_\+sccp()}.

\mbox{\label{sccp__scmg_8c_a6790766deb21c57560ab062d8a7ee0be}} 
\index{sccp\_scmg.c@{sccp\_scmg.c}!sccp\_scmg\_rx\_ssn\_prohibited@{sccp\_scmg\_rx\_ssn\_prohibited}}
\index{sccp\_scmg\_rx\_ssn\_prohibited@{sccp\_scmg\_rx\_ssn\_prohibited}!sccp\_scmg.c@{sccp\_scmg.c}}
\doxysubsubsection{sccp\_scmg\_rx\_ssn\_prohibited()}
{\footnotesize\ttfamily void sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+instance} $\ast$}]{inst,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{uint32\+\_\+t}]{ssn,  }\item[{uint32\+\_\+t}]{smi }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+scu\+\_\+state\+\_\+param\+::affected\+\_\+pc}, \textbf{ dpc}, \textbf{ sccp\+\_\+lbcs\+\_\+local\+\_\+bcast\+\_\+state()}, \textbf{ smi}, and \textbf{ ssn}.



Referenced by \textbf{ scmg\+\_\+rx\+\_\+ssp()}, and \textbf{ sua\+\_\+snm\+\_\+ssn\+\_\+available\+\_\+to\+\_\+sccp()}.

\mbox{\label{sccp__scmg_8c_a9eaf5193b70e7afe06906cf90a8409e4}} 
\index{sccp\_scmg.c@{sccp\_scmg.c}!sccp\_scmg\_tx@{sccp\_scmg\_tx}}
\index{sccp\_scmg\_tx@{sccp\_scmg\_tx}!sccp\_scmg.c@{sccp\_scmg.c}}
\doxysubsubsection{sccp\_scmg\_tx()}
{\footnotesize\ttfamily static int sccp\+\_\+scmg\+\_\+tx (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{calling\+\_\+addr,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called\+\_\+addr,  }\item[{const uint32\+\_\+t $\ast$}]{seq\+\_\+ctrl,  }\item[{uint8\+\_\+t}]{msg\+\_\+type,  }\item[{uint8\+\_\+t}]{ssn,  }\item[{uint16\+\_\+t}]{pc,  }\item[{uint8\+\_\+t}]{smi,  }\item[{uint8\+\_\+t $\ast$}]{ssc\+\_\+cong\+\_\+lvl }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+ssn}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::called\+\_\+addr}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::calling\+\_\+addr}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::in\+\_\+sequence\+\_\+control}, \textbf{ msg\+\_\+type}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::msg\+\_\+type}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::oph}, \textbf{ osmo\+\_\+sccp\+\_\+user\+\_\+sap\+\_\+down()}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+UNITDATA}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+UNITDATA\+\_\+\+REQ\+\_\+\+P\+\_\+\+SEQUENCE\+\_\+\+CONTROL\+\_\+\+NOT\+\_\+\+PRESENT}, \textbf{ pc}, \textbf{ sccp\+\_\+msgb\+\_\+alloc()}, \textbf{ SCCP\+\_\+\+SAP\+\_\+\+USER}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SSC}, \textbf{ smi}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::smi}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::ssc\+\_\+congestion\+\_\+lvl}, \textbf{ ssn}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::u}, and \textbf{ osmo\+\_\+scu\+\_\+prim\+::unitdata}.



Referenced by \textbf{ scmg\+\_\+rx\+\_\+sst()}.

\mbox{\label{sccp__scmg_8c_a1d014dedd003fe64f1d63154a0bae72d}} 
\index{sccp\_scmg.c@{sccp\_scmg.c}!scmg\_prim\_cb@{scmg\_prim\_cb}}
\index{scmg\_prim\_cb@{scmg\_prim\_cb}!sccp\_scmg.c@{sccp\_scmg.c}}
\doxysubsubsection{scmg\_prim\_cb()}
{\footnotesize\ttfamily static int scmg\+\_\+prim\+\_\+cb (\begin{DoxyParamCaption}\item[{struct osmo\+\_\+prim\+\_\+hdr $\ast$}]{oph,  }\item[{void $\ast$}]{\+\_\+scu }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::called\+\_\+addr}, \textbf{ osmo\+\_\+scu\+\_\+unitdata\+\_\+param\+::calling\+\_\+addr}, \textbf{ LOGPSCU}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::msg\+\_\+type}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::oph}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+PCSTATE}, \textbf{ OSMO\+\_\+\+SCU\+\_\+\+PRIM\+\_\+\+N\+\_\+\+UNITDATA}, \textbf{ osmo\+\_\+scu\+\_\+prim\+\_\+name()}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SSC}, \textbf{ scmg\+\_\+rx()}, \textbf{ osmo\+\_\+scu\+\_\+prim\+::u}, and \textbf{ osmo\+\_\+scu\+\_\+prim\+::unitdata}.



Referenced by \textbf{ sccp\+\_\+scmg\+\_\+init()}.

\mbox{\label{sccp__scmg_8c_a0e3a3cdc35df69b38f7f37eb4d359d9b}} 
\index{sccp\_scmg.c@{sccp\_scmg.c}!scmg\_rx@{scmg\_rx}}
\index{scmg\_rx@{scmg\_rx}!sccp\_scmg.c@{sccp\_scmg.c}}
\doxysubsubsection{scmg\_rx()}
{\footnotesize\ttfamily static int scmg\+\_\+rx (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{calling\+\_\+addr,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called\+\_\+addr,  }\item[{const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$}]{scmg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ LOGPSCU}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::msg\+\_\+type}, \textbf{ sccp\+\_\+scmg\+\_\+msgt\+\_\+name()}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SOG}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SOR}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SSA}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SSC}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SSP}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SST}, \textbf{ scmg\+\_\+rx\+\_\+ssa()}, \textbf{ scmg\+\_\+rx\+\_\+ssp()}, and \textbf{ scmg\+\_\+rx\+\_\+sst()}.



Referenced by \textbf{ scmg\+\_\+prim\+\_\+cb()}.

\mbox{\label{sccp__scmg_8c_ac0ac40d9fd1003fe9e40f8681bb49c3f}} 
\index{sccp\_scmg.c@{sccp\_scmg.c}!scmg\_rx\_ssa@{scmg\_rx\_ssa}}
\index{scmg\_rx\_ssa@{scmg\_rx\_ssa}!sccp\_scmg.c@{sccp\_scmg.c}}
\doxysubsubsection{scmg\_rx\_ssa()}
{\footnotesize\ttfamily static int scmg\+\_\+rx\+\_\+ssa (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{calling\+\_\+addr,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called\+\_\+addr,  }\item[{const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$}]{ssa }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+ssn}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+allowed()}, and \textbf{ sccp\+\_\+scmg\+\_\+msg\+::smi}.



Referenced by \textbf{ scmg\+\_\+rx()}.

\mbox{\label{sccp__scmg_8c_af5d62e1daa9a2ad529c6efa6f4356b74}} 
\index{sccp\_scmg.c@{sccp\_scmg.c}!scmg\_rx\_ssp@{scmg\_rx\_ssp}}
\index{scmg\_rx\_ssp@{scmg\_rx\_ssp}!sccp\_scmg.c@{sccp\_scmg.c}}
\doxysubsubsection{scmg\_rx\_ssp()}
{\footnotesize\ttfamily static int scmg\+\_\+rx\+\_\+ssp (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{calling\+\_\+addr,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called\+\_\+addr,  }\item[{const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$}]{ssp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+ssn}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ sccp\+\_\+scmg\+\_\+rx\+\_\+ssn\+\_\+prohibited()}, and \textbf{ sccp\+\_\+scmg\+\_\+msg\+::smi}.



Referenced by \textbf{ scmg\+\_\+rx()}.

\mbox{\label{sccp__scmg_8c_aa49df1828fb01829cef1912faa0d3999}} 
\index{sccp\_scmg.c@{sccp\_scmg.c}!scmg\_rx\_sst@{scmg\_rx\_sst}}
\index{scmg\_rx\_sst@{scmg\_rx\_sst}!sccp\_scmg.c@{sccp\_scmg.c}}
\doxysubsubsection{scmg\_rx\_sst()}
{\footnotesize\ttfamily static int scmg\+\_\+rx\+\_\+sst (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+sccp\+\_\+user} $\ast$}]{scu,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{calling\+\_\+addr,  }\item[{const struct \textbf{ osmo\+\_\+sccp\+\_\+addr} $\ast$}]{called\+\_\+addr,  }\item[{const struct \textbf{ sccp\+\_\+scmg\+\_\+msg} $\ast$}]{sst }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+pc}, \textbf{ sccp\+\_\+scmg\+\_\+msg\+::affected\+\_\+ssn}, \textbf{ osmo\+\_\+sccp\+\_\+user\+::inst}, \textbf{ NULL}, \textbf{ SCCP\+\_\+\+SCMG\+\_\+\+MSGT\+\_\+\+SSA}, \textbf{ sccp\+\_\+scmg\+\_\+tx()}, and \textbf{ sccp\+\_\+user\+\_\+find()}.



Referenced by \textbf{ scmg\+\_\+rx()}.



\doxysubsection{Variable Documentation}
\mbox{\label{sccp__scmg_8c_a19984f8b6a5a4a9d11eb79090088649a}} 
\index{sccp\_scmg.c@{sccp\_scmg.c}!sccp\_scmg\_msgt\_names@{sccp\_scmg\_msgt\_names}}
\index{sccp\_scmg\_msgt\_names@{sccp\_scmg\_msgt\_names}!sccp\_scmg.c@{sccp\_scmg.c}}
\doxysubsubsection{sccp\_scmg\_msgt\_names}
{\footnotesize\ttfamily const struct value\+\_\+string sccp\+\_\+scmg\+\_\+msgt\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ SCCP\_SCMG\_MSGT\_SSA, \textcolor{stringliteral}{"{}SSA (Subsystem Allowed)"{}} \},}
\DoxyCodeLine{        \{ SCCP\_SCMG\_MSGT\_SSP, \textcolor{stringliteral}{"{}SSP (Subsystem Prohibited)"{}} \},}
\DoxyCodeLine{        \{ SCCP\_SCMG\_MSGT\_SST, \textcolor{stringliteral}{"{}SST (Subsystem Status Test)"{}} \},}
\DoxyCodeLine{        \{ SCCP\_SCMG\_MSGT\_SOR, \textcolor{stringliteral}{"{}SOR (Subsystem Out-\/of-\/service Request)"{}} \},}
\DoxyCodeLine{        \{ SCCP\_SCMG\_MSGT\_SOG, \textcolor{stringliteral}{"{}SOG (Subsystem Out-\/of-\/service Grant)"{}} \},}
\DoxyCodeLine{        \{ SCCP\_SCMG\_MSGT\_SSC, \textcolor{stringliteral}{"{}SSC (Subsystem Congested)"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ sccp\+\_\+scmg\+\_\+msgt\+\_\+name()}.

