Signalling Connection Control Part (SCCP) je protokol síťové vrstvy v signalizačním systému č. 7 používaném v telefonních sítích. Umožňuje směrování signalizačních zpráv (a SMS) podle telefonních čísel nebo čísel IMSI – v SCCP jsou tyto adresy součástí struktury nazývané Global Title. SCCP může také poskytovat řízení toku dat, segmentaci, spojované služby a opravu chyb. Klasické SCCP využívá při přenosu v SS7 sítích pro základní směrování a detekci chyb služeb síťového protokolu Message Transfer Part (MTP). V SIGTRAN se pro přenos SCCP v TCP/IP sítích využívá transportní protokol SCTP a některý z adaptačních protokolů, např. M3UA. V IP sítích také může být místo SCCP použita SUA – SCCP User Adaptation podle RFC 3868.[1] Vrstvu SCCP je možné rozdělit na 4 části:
SCCP bylo definováno v roce 1988 v Blue Book jako ITU Q.713, později byly doplněny další vlastnosti.
SCCP poskytuje jak spojované (anglicky connection-oriented) tak nespojované (anglicky connectionless) síťové služby. SCCP rozlišuje 4 třídy služeb:
Pro třídy 0 a 1 se nevytváří logické spojení, proto každá zpráva musí nést adresu příjemce. Pro třídy 2 a 3 se vytváří spojení a pro odkaz na spojení se používá Source Local Reference (SLR) a Destination Local Reference (DLR). Třídy 2 a 3 umožňují vytvořit více logických spojení mezi dvěma signalizačními body (Signalling Point – SP). Toho se využívá na rozhraní mezi MSC a BSC (A-interface), kde je potřeba mít samostatné spojení pro každou mobilní stanici.
Zatímco v třídě 0 může každá zpráva jít po jiných linkách a na zachování pořadí zpráv se nijak nedbá, při použití třídy 1 budou zprávy díky nastavení SLS v MTP posílány týmiž linkami (pokud to jde) a díky tomu, že MTP zachovává pořadí zpráv, by měly témuž příjemci docházet v tom pořadí, v jakém byly odeslány.
Pro komunikaci mezi MSC, HLR, VLR, EIR pomocí protokolu MAP (přenášeném v TCAP) se používají connectionless služby (SCCP zprávy UDT), pro komunikaci mezi MSC a BSC se používají connectionless i connection-oriented služby.
Každá SCCP zpráva začíná oktetem Message Type (MT) určujícím druh zprávy:
Zprávy UDT mohou nést maximálně 252 oktetů. Delší zprávy je možné segmentovat a přenášet pomocí XUDT (až 251 oktetů na segment), nebo přenášet pomocí LUDT (až 3904 oktetů). LUDT zprávy mohou být používány pouze na vysokorychlostních linkách (linka T1 nebo E1).
Zprávy typu UDTS (Unitdata service), XUDTS a LUDTS se používají pro indikaci, že odeslaná zpráva UDT, XUDT příp. LUDT (která měla nastavený parametr Return Message on Error) nelze doručit požadovanému příjemci. U zpráv UDTS, XUDTS a LUDTS nelze stanovit třídu, protože neobsahují parametr protocol class. Výjimečně se zprávu UDTS mohou používat i pro odezvy na XUDT a LUDT.
Spojované (anglicky Connection-oriented) SCCP zprávy mezi MSC a BSC:
Nespojované (anglicky Connectionless) SCCP zprávy mezi MSC a BSC:
Při použití Class 3 se pro přenos dat používá DT2 (Dataform 2) a pro jejich potvrzování AK.
SCCP rozeznává tři typy parametrů:
Různé SCCP zprávy mají různý počet parametrů.
Zprávy typu UDT (Unitdata) mají následující strukturu:
Na začátku zprávy je vždy jeden oktet obsahující Message Type, následují parametry typu F, pak ukazatele na parametry typu V a případný ukazatel na začátek části s parametry typu O. Ukazatel je jednobytová (u zpráv LUDT a LUDTS dvoubytová – little endian) hodnota udávající, kolik bytů za začátkem ukazatele začíná vlastní parametr. Parametry typu V začínají oktetem s délkou (Length Indicator – LI). Parametry typu O začínají jedním oktetem identifikujícím parametr (Parameter Name) a jedním oktetem s délkou; pak následuje hodnota parametru. Za posledním parametrem typu O je oktet s hodnotou 0, který signalizuje konec parametrů typu O.
Proto zpráva UDT vypadá detailněji takto:
Zprávy typu UDTS (Unitdata service) mají následující strukturu:
Kde pole Return Cause může nabývat následujících hodnot:
Adresa odesilatele se v SCCP nazývá adresa volajícího (Calling Party Address – CgPA); adresa příjemce je adresa volaného (Called Party Address – CdPA). V SCCP zprávách třídy 0 a 1 jsou obě povinné (parametry typu V). SCCP adresy mohou obsahovat následující prvky:
Address Indicator (AI) udává, které součásti adresy jsou přítomné, a má následující strukturu:
V ANSI sítích jsou bity 2 a 1 prohozeny. Kvůli tomu, kvůli rozdílné délce SPC a kvůli jinému významu jednotlivých hodnot GTI je nutné při práci s GT vždy vědět, jestli se jedná o ITU nebo ANSI síť. Při používání analyzátoru síťového provozu Wireshark je nutné správně nastavit Edit → Preferences → Protocols → MTP3 → MTP3 standard, jinak se budou špatně zobrazovat hodnoty Global Title nebo se nebude vůbec zobrazovat obsah SCCP paketů.
ITU Signalling Point Code (SPC) má 14 bitů. V SCCP je přenášen ve dvou po sobě jdoucích oktetech. V prvním oktetu je spodních 8 bitů SPC, v 6 spodních bitech druhého oktetu je zbývajících 6 bitů SPC. Horní dva bity druhého oktetu jsou nulové. V textovém tvaru se SPC zapisuje jako trojice desítkových čísel oddělených pomlčkou: síť-podsíť-uzel; síť je hodnota nejvyšších 3 bitů, podsíť dalších 8 bitů a uzel hodnota nejnižších 3 bitů.
ANSI Signalling Point Code má 24 bitů a je přenášen ve třech po sobě jdoucích oktetech. V prvním oktetu je číslo uzlu, ve druhém číslo podsítě, ve třetí číslo sítě. V textovém tvaru se SPC zapisuje jako tři desítková čísla oddělená pomlčkou: síť-podsíť-uzel.
Global Title (GT) umožňuje směrování signalizačních zpráv (a SMS) podle telefonních čísel nebo čísel IMSI nejen v síti jednoho operátora, ale po celém světě. Formát GT v SCCP adrese udává Global Title Indicator. Pokud je GTI=0, Global Title není přítomen.
Jednotlivé SCCP uživatele na stejném nodu lze rozlišit pomocí čísla subsystému (SSN – Subsystem number). Základní rozdělení SSN je následující:
Síťově specifické SSN se mají přidělovat sestupně od čísla 254.
Podle 3GPP TS 23.003[2] jsou následující SSN celosvětově přidělena pro GSM/UMTS sítě:
Následující národní SSN jsou přidělena pro použití uvnitř GSM/UMTS sítí a mezi GSM/UMTS sítěmi:
Následující národní SSN jsou přidělena pro použití uvnitř GSM/UMTS sítí:
Některé zdroje uvádějí následující přidělení čísel SSN:
SSN obvykle pouze doplňují Point Code nebo Global Title. Ve specifických případech se ale používají i samostatně.
Při použití SSN, která identifikují protokoly MAP (včetně SSN 6 až 10) nebo CAP je v parametru Data TCAP zpráva. Vlastní MAP nebo CAP data jsou v komponentové části této TCAP zprávy, přičemž konkrétní aplikační protokol a jeho verze jsou určeny aplikačním kontextem, který byl dojednán v TCAP transakci; pokud žádný aplikační kontext nebyl dojednán, je použit protokol MAP verze 1.