# Signaling System 7

Le système de signalisation n$^o$ 7 (en anglais : Signaling System #7 : SS7) est un ensemble de protocoles de signalisation téléphonique qui sont utilisés dans la majorité des réseaux téléphoniques mondiaux. Sa principale application est l'établissement et la libération d'appels téléphoniques fixes et mobiles.
Il est souvent abrégé en SS7, mais en Amérique du Nord, CCSS7 est utilisé pour "Common Channel Signaling System 7". Dans certains pays européens (dont l'Angleterre), C7 (CCITT number 7, l'UIT-T étant nommée CCITT auparavant), number 7 ou CCIS7.
Il existe 4 grandes variantes du protocole SS7 qui sont choisies en fonction du lieu de mise en place : ANSI (pour l'Amérique du Nord), Chine, Japon et UIT-T (pour le reste du monde).
Cette famille de protocole, datant des années 1980, a été dénoncée comme peu sécurisée au Chaos Communication Congress le samedi 27 décembre 2014, à Hambourg (Allemagne), car il permet une géolocalisation très précise de tout téléphone et une interception des communications (vocales et SMS). Plusieurs entreprises américaines fournissent même ce service de localisation des téléphones à leurs clients, et « certains documents soustraits à la NSA par Edward Snowden suggèrent même que l'agence de renseignement américaine profite des faiblesses de SS7 ».

## Historique

L'ensemble de protocoles SS7 a été développé par AT&T en 1975. Il a été standardisé par le CCITT en 1981 dans la série de recommandations Q.7XX. SS7 est défini comme un remplaçant des standards précédents : Signalling System #5 (SS5), Signalling System #6 (SS6) et R2. À la différence du SS5 et du SS6, R2 continue à être utilisé dans de nombreux pays. SS5 et les protocoles antérieurs utilisaient des solutions de signalisation utilisant la bande de fréquence vocale (in-band en anglais). Les informations d'établissement d'appels étaient envoyées par l'utilisation de fréquences doubles (DTMF) sur les lignes téléphoniques. Cela entraînait des problèmes de sécurité car l'utilisateur pouvait générer ces DTMF à l'aide d'un équipement appelé Blue Box. SS6 et SS7 utilisent une signalisation en dehors de la bande. Un canal extérieur à la communication est dédié à la signalisation. Une variante de la pile des protocoles SS7 fonctionnant sur IP a été développée au début des années 2000 : SIGTRAN ; elle est notamment utilisée dans les réseaux mobiles 3G. Dans les réseaux mobiles plus récents (4G) et pour la voix sur IP, la signalisation SS7 a été remplacée par les protocoles SIP (Session Initiation Protocol) et Diameter.

## Fonctionnalité

La signalisation consiste en l'échange des informations nécessaires pour fournir et maintenir les services entre les composants du réseau traitant un appel téléphonique. Les utilisateurs d'un réseau téléphonique commuté (RTC) échangent des informations de signalisation avec les éléments réseaux de manière continue. Un exemple de signalisation entre le téléphone d'un utilisateur et le réseau inclut : numéroter, fournir une tonalité d'appel, accéder à une messagerie, envoyer la tonalité d'attente d'appel...
SS7 est un moyen (un protocole) par lequel les éléments du réseau téléphonique échangent des informations. L'information est transportée sous forme de messages. SS7 peut envoyer des informations comme :
* Je t'envoie un appel fait depuis 212-555-1234 vers 718-555-5678. Il est sur le circuit voix numéro 067
* Quelqu'un vient d'appeler le 0 800 12 34 56. Je l'envoie vers où ?
* Le destinataire de l'appel sur le circuit voix numéro 11 est occupé. Libère l'appel et renvoie une tonalité d'occupation.
* La route vers X est surchargée. N'envoyez plus d'appels à moins d'avoir une priorité de 2 ou plus
* Je désactive le circuit voix numéro 143 pour maintenance.
SS7 fournit, dans le réseau téléphonique, une structure universelle pour la signalisation, l'envoi de messages, l'interconnexion et la maintenance réseau. Il gère l'établissement d'appels, l'échange d'informations utilisateur, le routage d'appels, la facturation et supporte les services du réseau intelligent (en anglais Intelligent Network (IN))
La fonction principale de SS7 est de permettre un appel téléphonique à travers le RTC. L'appel peut devoir traverser plusieurs réseaux de différents opérateurs téléphoniques fixes ou mobiles (par exemple sur un appel international ou s'il y a plusieurs opérateurs nationaux...). À chaque étape sur le chemin de l'appel les commutateurs téléphoniques ont besoin de savoir d'où vient l'appel (quelle ligne téléphonique, quel canal ou quel circuit) et vers où il va. Cela nécessite beaucoup de coordination. ISUP (ou ISDN User Part signaling) est un type de communication SS7 qui s'occupe de l'établissement d'un appel tout au long de ces différents liens. Les messages ISUP sont passés de commutateur en commutateur et à chaque point du circuit l'appel est étendu un peu plus jusqu'à l'aboutissement de l'appel (établissement de bout en bout).
Certaines fonctionnalités de signalisation ont été séparées du chemin principal de l'établissement des appels. Une couche de gestion séparée a été introduite qui correspond à la notion de réseau intelligent (IN). Le rôle du réseau intelligent est de permettre des fonctions plus avancées comme : La traduction de numéro (l'appel d'un numéro gratuit (type 800 ou 0 800) doit être redirigé vers un numéro standard du RTC), la gestion de cartes prépayées, ou la consultation de bases de données d’abonnés, telles les HLR qui permettent leur localisation.
À partir des années 1990, le SS7 a aussi été utilisé pour la signalisation dans les réseaux de téléphonie mobile 2G (GSM) puis 3G (UMTS).

## Composants d'une infrastructure SS7

La signalisation SS7 sépare clairement le réseau de signalisation des circuits de voix et de données. Un réseau SS7 doit être composé d'équipements compatibles SS7 de bout en bout pour pouvoir fournir toutes les fonctionnalités prévues par les normes SS7. Le réseau est composé de différents types de liens (A, B, C, D, E et F) et de trois types de nœuds (Service switching point (SSPs), signaling transfer point (STPs), et Service Control Point (SCPs).) Chaque nœud est identifié par un numéro (point code ou Global Title). Les services étendus sont fournis grâce à l'interface vers une base de données au niveau SCP (Le CTI utilise le SCP pour 'monitorer' les appels entrants).
Les liens entre les nœuds sont des liens HDLC, LSL (Low Speed Link) à 56 kbit/s ou 64 kbit/s en full-duplex ou HSL (High Speed Link) à 2 Mbit/s. Les réseaux les plus récents utilisent des liens SIGTRAN basés sur le protocole IP.
Il existe trois modes de transport pour ces liens :
* La signalisation en mode associé (en anglais : Associated signaling)
** Les équipements échangent leurs messages directement entre eux, sans équipement intermédiaires
** Nécessite de nombreuses ressources (interfaces, liaisons, etc.) s'il s'agit d'interconnecter plusieurs équipements (réseau maillé).
* La signalisation en mode quasi-associée (en anglais : Quasi-associated signaling)
** Les équipements échangent leurs messages via des "PTS" (Point de Transfert Sémaphore) par des routes prédéfinies.
** Offre une garantie de séquencement des messages d'une même transaction (ils empruntent tous la même route)
** La majorité des réseaux est basée sur ce type d'architecture
* La signalisation en mode non associée (en anglais : Non-associated signaling)
** Solution complexe usant de "PTS" ou les équipements échangent des messages sans route prédéfinie
** Très peu utilisée

### Point sémaphore

Le "Point Sémaphore" (PS) est un équipement en mesure de recevoir ou d’émettre un message de signalisation (les SSP, SCP, CT, MSC, etc. sont des PS).

### Point de transfert sémaphore

Le "Point de Transfert Sémaphore" (PTS) (en anglais : Signalling Transfer Point (STP)) est un équipement pouvant assurer le routage de messages de signalisation, sans en être le destinataire final. Un "PS" peut avoir une fonction "PTS".

### Point de Contrôle Service Réseau

Le Point de Contrôle Service Réseau (en anglais : Service Control Point (SCP)).

### Commutateur d’Accès Service

Le Commutateur d’Accès Service (en anglais : Service Switching Point (SSP)) est un commutateur téléphonique géré dans l'environnement SS7.

### SEP

Le (SEP) (en anglais : Signal End Point) est un point de terminaison du réseau sémaphore. Il s'agit d'un SSP ou SCP.

### Liens
#### Liens de type A

Le lien de type A est un lien d'accès (en anglais : Access Link ou A link). Il connecte un SEP à un STP.

#### Liens de type B

Le lien de type B est un lien de pont (en anglais : Bridge Link ou B link)

#### Liens de type C

Le lien de type C est un lien de croix (en anglais : Cross Link ou C link)

#### Liens de type D

Le lien de type D est un lien de diagonale (en anglais : Diagonal Link ou D link)

#### Liens de type E

Le lien de type E est un lien étendu (en anglais : Extended Link ou E link)

#### Liens de type F

(en anglais : fully associated ou F Link)

## Architecture
### Pile SS7

| Couche | Protocoles | Protocoles | Protocoles | Protocoles | Protocoles | Protocoles |
| Application | INAP | CAP | MAP | OMAP | (ISUP) | User Parts : TUP, ISUP |
| Présentation | INAP | CAP | MAP | OMAP | (ISUP) | User Parts : TUP, ISUP |
| Session | TCAP | TCAP | TCAP | TCAP | | | (ISUP) | User Parts : TUP, ISUP |
| Transport | SCCP | SCCP | SCCP | SCCP | SCCP | | | | User Parts : TUP, ISUP |
| Réseau | MTP Level 3 ou M3UA | MTP Level 3 ou M3UA | MTP Level 3 ou M3UA | MTP Level 3 ou M3UA | MTP Level 3 ou M3UA | MTP Level 3 ou M3UA |
| Liaison | MTP Level 2 ou M2UA | MTP Level 2 ou M2UA | MTP Level 2 ou M2UA | MTP Level 2 ou M2UA | MTP Level 2 ou M2UA | MTP Level 2 ou M2UA |
| Physique | MTP Level 1 ou IP | MTP Level 1 ou IP | MTP Level 1 ou IP | MTP Level 1 ou IP | MTP Level 1 ou IP | MTP Level 1 ou IP |

### Sous-système de transport de messages (MTP)

Le sous-système transport de messages (en anglais : Message Transfer Part) est défini dans les recommandations Q.701, Q.702, Q.703, Q.704, Q.706 et Q.707. Il transporte les messages entre les différentes interfaces utilisateurs.

### Sous-système de commande des connexions sémaphores (SCCP)

Le sous-système de commande des connexions sémaphores (en anglais Signalling Connection Control Part (SCCP)) est défini dans les recommandations Q.711, Q.712, Q.713, Q.714, Q.715 et Q.716. C'est le protocole de transport des réseaux SS7. Il est comparable au TCP pour Internet. SCCP fournit un service de transport aux messages et une adresse SCCP à travers différents équipements réseaux jusqu'à l'équipement destinataire.

### Sous-système utilisateur téléphonie (TUP)

Le sous-système utilisateur téléphonie (en anglais Telephone User Part) est défini dans les recommandations Q.721, Q.722, Q.723, Q.724 et Q.725. Il est chargé de offrir les fonctions de signalisation des appels téléphoniques dans l'environnement SS7.

### Sous-système gestionnaire de transactions (TCAP)

Le sous-système gestionnaire de transactions (en anglais Transaction Capabilities (TC) ou Transaction Capabilities Application Part (TCAP)) est défini dans les recommandations Q.771, Q.772, Q.773, Q.774 et Q.775. Il permet à des applications, notamment de base de données, d'établir une communication avec un élément réseau.

### Sous-système utilisateur pour le RNIS (ISUP)

Le sous-système utilisateur pour le RNIS (en anglais ISDN User Part) est défini dans les recommandations Q.761, Q.762, Q.763, Q.764 et Q.766. Il est chargé de définir les fonctions de signalisation des appels RNIS dans l'environnement SS7. Il a accès à l'interface SCCP pour permettre une signalisation de bout-en-bout.

### Sous-système pour l'exploitation, la maintenance et la gestion (OMAP)

Le sous-système pour l'exploitation, la maintenance et la gestion (en anglais Operations, Maintenance and Administration Part) est défini dans les Recommandations Q.750 à Q.759. Il comprend un ensemble sous-couche chargé d'assurer l'exploitation, la maintenance et la gestion du réseau SS7. Il intervient sur toutes les couches du modèle SS7 et correspond globalement à SNMP pour IP.

### Intelligent Network Application Part (INAP)

Protocole de signalisation utilisé dans les réseaux intelligents (IN) permettant l'usage de « services supplémentaires » (traduction des numéros 0800 en numéros géographiques par exemple).

### Mobile Application Part (MAP)

Le protocole Mobile Application Part (MAP) fournit une couche application pour les différents éléments d'un réseau GSM, GPRS ou UMTS. Le but est de leur permettre de communiquer pour pouvoir fournir les services aux utilisateurs de téléphone mobile.

### CAMEL Application Part (CAP)

Le CAMEL Application Part (CAP) (Customised Applications for Mobile networks Enhanced Logic Application Part) est un protocole de signalisation dans l'environnement SS7. CAP est un protocole utilisateur de gestion à distance des éléments de service (en anglais : Remote Operations Service Element (ROSE)). CAP est basé sur un sous-ensemble de INAP.

### Sous-système utilisateur données (DUP)

Le sous-système utilisateur données (en anglais Data User Part) est défini dans la Recommandation Q.741 et X.61. Il est chargé de définir les fonctions de signalisation des appels de données internationaux dans l'environnement SS7. Cette recommandation a été abandonnée, car elle n'était plus utilisée.

## SIGTRAN

SIGTRAN est le nom du groupe de travail, au sein de l'IETF, qui a défini une infrastructure de signalisation au-dessus du protocole IP. Le but principal est le transport de message de type SS7 ou RNIS.
Le groupe a défini les RFC suivantes :
* RFC 2719 Architectural Framework for Signaling Transport (Octobre 1999)
* RFC 3257 Stream Control Transmission Protocol Applicability Statement (Avril 2002)
* RFC 3331 Signaling System 7 (SS7) Message Transfer Part 2 (MTP2) - User Adaptation Layer (M2UA) (Septembre 2002)
* RFC 3788 Security Considerations for SIGTRAN Protocols (Juin 2004)
* RFC 3807 V5.2-User Adaption Layer (V5UA) (Juin 2004)
* RFC 3873 Stream Control Transmission Protocol Management Information Base (Septembre 2004)
* RFC 3868 Signalling Connection Control Part User Adaptation Layer (SUA) (Octobre 2004)
* RFC 4165 Signaling System 7 (SS7) Message Transfer Part 2 (MTP2) - User Peer-to-Peer Adaptation Layer (M2PA) (Septembre 2005)
* RFC 4129 Digital Private Network Signaling System (DPNSS)/Digital Access Signaling System 2 (DASS 2) Extensions to the IUA protocol (Août 2005)
* RFC 4666 Signaling System 7 (SS7) Message Transfer Part 3 (MTP3) - User Adaptation Layer (M3UA) (Septembre 2006)
* RFC 5133 Terminal Endpoint Identifier (TEI) Query Request Number Change (Décembre 2007)