HiCellTek HiCellTek
ASN.1 BER / PER / UPER 3GPP RRC S1AP / NGAP

Guide ASN.1 Télécom Encodage & décodage 3GPP

Comprendre l'ASN.1 (Abstract Syntax Notation One), la pierre angulaire de la signalisation 3GPP. Ce guide couvre le role de l'ASN.1 dans les protocoles RRC, S1AP, NGAP et X2AP, les schemas d'encodage BER, PER et UPER, et le décodage en temps réel sur le terrain.

En resume

ASN.1 est le langage utilise par le 3GPP pour definir la structure de tous les messages de signalisation radio et réseau. Chaque message RRC, S1AP ou NGAP est decrit par un schema ASN.1 puis encode en binaire selon des règles spécifiques (BER, PER ou UPER). Pour décoder un message de signalisation capture sur le terrain, il faut un parseur ASN.1 capable d'interpreter le flux binaire à l'aide du schema 3GPP correspondant. C'est ce que fait le décodeur Layer 3 de HiCellTek en temps réel.

Qu'est-ce que l'ASN.1 ?

ASN.1 (Abstract Syntax Notation One) est un standard international défini par l'ITU-T dans les recommandations X.680 a X.683. C'est un langage formel de description de données qui permet de definir la structure d'informations de manière indépendante de tout langage de programmation ou encodage binaire.

Le concept fondamental de l'ASN.1 est la separation entre la définition abstraite des données (le schema) et leur représentation concrete (l'encodage). Un meme message peut etre encode en BER, PER ou UPER selon le protocole et le contexte d'utilisation. Le schema ASN.1 reste identique, seules les règles d'encodage changent.

En télécoms, l'ASN.1 est omnipresent. Il est utilise depuis les annees 1990 dans les protocoles de signalisation GSM (MAP), UMTS (RRC, RANAP) et aujourd'hui dans l'ensemble de la pile protocolaire 4G LTE et 5G NR. Sa capacité a decrire des structurés complexes avec des champs optionnels, des sequences extensibles et des contraintes de valeur en fait l'outil ideal pour les protocoles evolutifs du 3GPP.

Role de l'ASN.1 dans les protocoles 3GPP

Les protocoles 3GPP qui reposent sur des schemas ASN.1 pour la définition et l'encodage de leurs messages.

RRC (Radio Resource Control)

TS 36.331 (LTE) / TS 38.331 (NR) — Encodage UPER

Le protocole RRC utilise l'encodage UPER (Unaligned PER) pour minimiser la taille des messages sur l'interface radio. Chaque message RRC (RRC Setup, RRC Reconfiguration, Measurement Report, UE Capability Information) est défini par un schema ASN.1 dans les annexes des specifications. Le schema évolué a chaque Release 3GPP grace au mécanisme d'extension ASN.1.

S1AP (S1 Application Protocol)

TS 36.413 — Encodage APER

Le S1AP gere l'interface entre l'eNodeB et le MME (coeur de réseau 4G). Il utilise l'encodage APER (Aligned PER) pour un bon compromis entre compacite et facilite de parsing. Les messages S1AP transportent les procédures de handover inter-eNodeB, le paging, et l'établissement des bearers E-RAB.

NGAP (NG Application Protocol)

TS 38.413 — Encodage APER

Le NGAP est l'équivalent 5G du S1AP, sur l'interface NG entre le gNodeB et l'AMF. Il gere les procédures de gestion UE (enregistrement, handover, paging) et les PDU sessions. Le NGAP herite de la structure ASN.1 du S1AP avec des extensions pour le support de la 5G : network slicing, URLLC, mMTC.

X2AP / XnAP

TS 36.423 / TS 38.423 — Encodage APER

Le X2AP (LTE) et le XnAP (5G NR) gerent les interfaces directes entre stations de base pour les handovers intra-RAT, le load balancing et la coordination d'interférence (eICIC/ICIC). Ces protocoles utilisent également l'encodage APER et des schemas ASN.1 extensibles pour maintenir la compatibilité entre équipements de générations différentes.

Schemas d'encodage : BER, PER, UPER

L'ASN.1 définit plusieurs jeux de règles d'encodage (Encoding Rules) pour transformer les structurés abstraites en flux binaires. Chaque jeu offre un compromis différent entre compacite, complexite de parsing et auto-description des données.

BER (Basic Encoding Rules)

Format TLV (Type-Length-Value) classique. Chaque champ porte son tag ASN.1 et sa longueur explicitement. Avantage : auto-descriptif, facile a parser sans schema. Inconvenient : overhead important, adapte aux protocoles ou la bande passante n'est pas critique (ex : LDAP, SNMP, certains protocoles de coeur réseau).

PER (Packed Encoding Rules)

Supprime les tags redondants en s'appuyant sur le schema ASN.1. Le décodeur doit connaître le schema pour interpreter le flux. Deux variantes : APER (aligne sur les octets) et UPER (non aligne). Le PER reduit la taille des messages de 50 à 80% par rapport au BER, ce qui est crucial pour l'interface radio.

UPER (Unaligned PER)

La variante la plus compacte du PER. Les champs sont encodes bit par bit sans padding d'alignement. Utilise par le RRC (3GPP TS 36.331 / 38.331) pour minimiser la taille des messages sur l'interface radio. Un message RRC Reconfiguration typique fait entre 50 et 500 octets en UPER, contre 200 à 2000 octets en BER.

Décodage ASN.1 en temps réel avec HiCellTek

Le décodage ASN.1 en temps réel sur un terminal mobile présente des defis spécifiques. Le moteur de décodage doit charger les schemas ASN.1 complets des specifications 3GPP (plusieurs milliers de types definis), parser les flux binaires UPER et APER en temps réel, et afficher les résultats de manière structuree, le tout avec des contraintes de mémoire et de CPU limitees par rapport a un PC.

HiCellTek intégré un moteur de décodage ASN.1 compile en C++ natif, optimise pour les architectures ARM. Les schemas ASN.1 des specifications 3GPP Release 15, 16 et 17 sont pre-compiles en tables de décodage binaires, eliminant le parsing du schema a l'execution. Le décodage d'un message RRC Reconfiguration complet (le message le plus complexe du protocole RRC) prend moins d'une milliseconde sur un smartphone de génération récente.

Cette performance permet au décodeur Layer 3 d'afficher les messages décodés en temps réel dans l'interface utilisateur, sans délai perceptible. L'ingénieur terrain voit chaque message de signalisation décodé et structure des qu'il est capture via l'interface DIAG Qualcomm, permettant un diagnostic immediat sans étape de post-traitement.

Les données décodées sont exportables en plusieurs formats : Excel avec champs structurés, CSV pour integration dans des outils d'analyse, QMDL pour compatibilité avec les chaînes de post-traitement existantes, et HLOG chiffré pour un stockage sécurisé et une transmission vers le cloud HiCellTek.

Pourquoi un ingénieur terrain doit comprendre l'ASN.1

Lire les specifications 3GPP

Les annexes ASN.1 des specifications 3GPP (TS 36.331, TS 38.331) definissent la structure exacte de chaque message. Comprendre la notation ASN.1 permet de lire ces specifications et de vérifier si un message capture est conforme.

Comprendre les extensions de Release

L'ASN.1 utilise un mécanisme d'extension (extension marker '...') qui permet aux nouveaux champs d'etre ajoutes sans casser la compatibilité. Comprendre ce mécanisme explique pourquoi un terminal R15 peut communiquer avec un réseau R17.

Diagnostiquer les erreurs de décodage

Un message mal décodé peut indiquer un bug de l'outil, une version de schema incorrecte ou un message non conforme. Comprendre l'ASN.1 permet de distinguer ces cas et de déterminer si le problème vient du terminal, du réseau ou de l'outil.

Ressources complémentaires

FAQ : ASN.1 Télécom

Qu'est-ce que l'ASN.1 et pourquoi est-il utilise en télécom ?

ASN.1 (Abstract Syntax Notation One) est un langage de description de données standardise par l'ITU-T (X.680). En télécom, il est utilise pour definir la structure des messages de signalisation 3GPP : RRC, NAS, S1AP, NGAP, X2AP. Son avantage est de separer la définition des données de leur encodage binaire, permettant une représentation compacte et non ambigue des messages échanges entre le terminal et le réseau.

Quelle est la différence entre BER, PER et UPER ?

BER (Basic Encoding Rules) est le format d'encodage le plus ancien, avec des champs Type-Length-Value (TLV) explicites. PER (Packed Encoding Rules) supprime les tags redondants pour un encodage plus compact. UPER (Unaligned PER) va encore plus loin en eliminant le padding d'alignement sur les octets. En 3GPP, le RRC utilise UPER (le plus compact), le S1AP et NGAP utilisent APER (Aligned PER), et certains protocoles de coeur réseau utilisent BER.

Quels protocoles 3GPP utilisent l'encodage ASN.1 ?

Les principaux protocoles 3GPP encodes en ASN.1 sont : RRC (TS 36.331 / TS 38.331) en UPER, S1AP (TS 36.413) en APER, X2AP (TS 36.423) en APER, NGAP (TS 38.413) en APER, XnAP (TS 38.423) en APER, et E1AP / F1AP pour la decomposition CU-DU en 5G. Le NAS utilise un encodage spécifique (non ASN.1) défini dans les TS 24.xxx.

Comment HiCellTek décodé-t-il l'ASN.1 en temps réel ?

HiCellTek intégré un moteur de décodage ASN.1 compile en C++ natif, optimise pour les processeurs ARM des smartphones Android. Le moteur charge les schemas ASN.1 des specifications 3GPP (Release 15 à 17) et décodé les messages UPER et APER en temps réel a mesure qu'ils sont captures via l'interface DIAG Qualcomm. Le décodage d'un message RRC typique prend moins d'une milliseconde.

Décodez l'ASN.1 3GPP en temps réel sur le terrain

Le moteur ASN.1 natif de HiCellTek décodé les messages RRC, S1AP et NGAP directement sur votre smartphone Android. Release 15 à 17, UPER et APER.