JORF n°0105 du 5 mai 2023

Ce texte est une simplification générée par une IA.
Il n'a pas de valeur légale et peut contenir des erreurs.

Constitution et vérification du relevé d'identité opérateur

Résumé Un relevé d'identité opérateur (RIO) est un code de douze caractères qui aide à identifier l'opérateur, la qualité de l'abonné et un contrat spécifique, avec des règles pour vérifier que tout est correct.

ANNEXES
ANNEXE 1
RELEVÉS D'IDENTITÉ OPÉRATEUR

  1. Constitution du RIO

Le RIO est un code à douze caractères comprenant quatre champs et défini comme suit :

- le champ « OO » est un champ codé sur deux caractères numériques identifiant l'opérateur donneur ou son délégataire technique (39) ;
- le champ « Q » est un champ codé sur un caractère alphanumérique correspondant à la qualité de l'abonné ou de l'éditeur de services à valeur ajoutée ;
- le champ « RRRRRR » est un champ codé sur six caractères alphanumériques constituant une référence propre au contrat associé au numéro pour l'opérateur donneur, qui permet à l'opérateur commercial de vérifier lors de la réception d'une demande de portabilité sortante que celle-ci provient bien d'une démarche du client auquel l'exploitant a fourni le RIO ;
- le champ « CCC » est un champ codé sur trois caractères alphanumériques constituant une clé permettant de vérifier la cohérence entre le numéro de l'abonné ou de l'éditeur de services à valeur ajoutée et les trois premiers champs du RIO.

Les champs « OO » et « RRRRRR » sont codés à l'aide de caractères alphanumériques. Le champ « CCC » peut avoir comme valeur, en plus des caractères alphanumériques, le caractère + . Le champ « Q » peut prendre comme valeur « E » ou « P » pour une ligne mobile, « F », « G », « M », « N », « R », « S », « T », « U », « V », « W », « X », « Y » ou « Z » pour une ligne fixe (40), « A » pour un numéro spécial.
Le champ « CCC » est une clé de vérification calculée à l'aide d'un algorithme qui est spécifié ci-après.

  1. Précisions sur les règles en vigueur concernant la création des RIO
    2.1. Algorithme de calcul du champ CCC

L'algorithme ci-dessous décrit comment calculer le champ « CCC » d'un RIO à partir des champs « OO », « Q », « RRRRRR » tels que décrits dans la section supra de la présente annexe et du numéro de téléphone, qui peut être sur 10, 13 ou 14 chiffres, de l'utilisateur final (« numero »).
chaîne CCC = fonction(chaîne OO, chaîne Q, chaîne RRRRRR, chaîne numero)
{
# Déclaration de variables
chaîne concaténation = concaténer(OO, Q, RRRRRR, numero) ;
chaîne ordre = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+" ;
entier a = 0 ;
entier b = 0 ;
entier c = 0 ;
entier position ;
chaîne caractère ;
# Algorithme de calcul
pour i = 0 à longueur(concaténation) - 1 faire
caractère = concaténation[i] ; #ie caractère de concaténation
position = ordre.position(caractere) ; #position de caractère dans la chaîne ordre
a = (a + position) % 37 ; #reste de la division euclidienne de (a + position) par 37
b = (2 × b + position) % 37 ;
c = (4 × c + position) % 37 ;
fin faire
CCC = concaténer(ordre[a], ordre[b], ordre[c]) ;
}

2.2. Algorithme de calcul du champ RRRRRR pour un accès VGAST

Dans le cadre spécifique d'une offre VGAST, le champ « RRRRRR » du RIO est défini par l'algorithme ci-après à partir du code VIA identifiant la référence de l'accès.
chaîne RRRRRR = fonction(chaîne codeVIA)
{
chaîne chronoVIA = sous-chaîne(codeVIA, 5) ; #codeVIA sans les 6 premiers caractères
chaîne ordre = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+" ;
entier a = 0 ;
entier b = 0 ;
entier c = 0 ;
entier d = 0 ;
entier e = 0 ;
entier f = 0 ;
entier position ;
chaîne caractère ;
pour i = 0 à longueur(chronoVIA) - 1 faire
caractère = chronoVIA[i] ; #ie caractère de chronoVIA
position = ordre.position(caractere) ; #position de caractère dans la chaîne ordre
a = (a + position) % 37 ; #reste de la division euclidienne de (a + position) par 37
b = ( 2 × b + position) % 37 ;
c = ( 4 × c + position) % 37 ;
d = ( 8 × d + position) % 37 ;
e = (16 × e + position) % 37 ;
f = (32 × f + position) % 37 ;
fin faire
RRRRRR = concaténer(ordre[a], ordre[b], ordre[c] ordre[d], ordre[e], ordre[f]) ;
}

(39) L'opérateur technique effectuant ce processus pour le compte de l'opérateur de l'utilisateur.
(40) La valeur « V » est cependant réservée pour les numéros utilisés dans le cadre de l'offre de gros d'Orange VGAST.


Historique des versions

Version 1

ANNEXES

ANNEXE 1

RELEVÉS D'IDENTITÉ OPÉRATEUR

1. Constitution du RIO

Le RIO est un code à douze caractères comprenant quatre champs et défini comme suit :

- le champ « OO » est un champ codé sur deux caractères numériques identifiant l'opérateur donneur ou son délégataire technique (39) ;

- le champ « Q » est un champ codé sur un caractère alphanumérique correspondant à la qualité de l'abonné ou de l'éditeur de services à valeur ajoutée ;

- le champ « RRRRRR » est un champ codé sur six caractères alphanumériques constituant une référence propre au contrat associé au numéro pour l'opérateur donneur, qui permet à l'opérateur commercial de vérifier lors de la réception d'une demande de portabilité sortante que celle-ci provient bien d'une démarche du client auquel l'exploitant a fourni le RIO ;

- le champ « CCC » est un champ codé sur trois caractères alphanumériques constituant une clé permettant de vérifier la cohérence entre le numéro de l'abonné ou de l'éditeur de services à valeur ajoutée et les trois premiers champs du RIO.

Les champs « OO » et « RRRRRR » sont codés à l'aide de caractères alphanumériques. Le champ « CCC » peut avoir comme valeur, en plus des caractères alphanumériques, le caractère + . Le champ « Q » peut prendre comme valeur « E » ou « P » pour une ligne mobile, « F », « G », « M », « N », « R », « S », « T », « U », « V », « W », « X », « Y » ou « Z » pour une ligne fixe (40), « A » pour un numéro spécial.

Le champ « CCC » est une clé de vérification calculée à l'aide d'un algorithme qui est spécifié ci-après.

2. Précisions sur les règles en vigueur concernant la création des RIO

2.1. Algorithme de calcul du champ CCC

L'algorithme ci-dessous décrit comment calculer le champ « CCC » d'un RIO à partir des champs « OO », « Q », « RRRRRR » tels que décrits dans la section supra de la présente annexe et du numéro de téléphone, qui peut être sur 10, 13 ou 14 chiffres, de l'utilisateur final (« numero »).

chaîne CCC = fonction(chaîne OO, chaîne Q, chaîne RRRRRR, chaîne numero)

{

# Déclaration de variables

chaîne concaténation = concaténer(OO, Q, RRRRRR, numero) ;

chaîne ordre = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+" ;

entier a = 0 ;

entier b = 0 ;

entier c = 0 ;

entier position ;

chaîne caractère ;

# Algorithme de calcul

pour i = 0 à longueur(concaténation) - 1 faire

caractère = concaténation[i] ; #ie caractère de concaténation

position = ordre.position(caractere) ; #position de caractère dans la chaîne ordre

a = (a + position) % 37 ; #reste de la division euclidienne de (a + position) par 37

b = (2 × b + position) % 37 ;

c = (4 × c + position) % 37 ;

fin faire

CCC = concaténer(ordre[a], ordre[b], ordre[c]) ;

}

2.2. Algorithme de calcul du champ RRRRRR pour un accès VGAST

Dans le cadre spécifique d'une offre VGAST, le champ « RRRRRR » du RIO est défini par l'algorithme ci-après à partir du code VIA identifiant la référence de l'accès.

chaîne RRRRRR = fonction(chaîne codeVIA)

{

chaîne chronoVIA = sous-chaîne(codeVIA, 5) ; #codeVIA sans les 6 premiers caractères

chaîne ordre = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+" ;

entier a = 0 ;

entier b = 0 ;

entier c = 0 ;

entier d = 0 ;

entier e = 0 ;

entier f = 0 ;

entier position ;

chaîne caractère ;

pour i = 0 à longueur(chronoVIA) - 1 faire

caractère = chronoVIA[i] ; #ie caractère de chronoVIA

position = ordre.position(caractere) ; #position de caractère dans la chaîne ordre

a = (a + position) % 37 ; #reste de la division euclidienne de (a + position) par 37

b = ( 2 × b + position) % 37 ;

c = ( 4 × c + position) % 37 ;

d = ( 8 × d + position) % 37 ;

e = (16 × e + position) % 37 ;

f = (32 × f + position) % 37 ;

fin faire

RRRRRR = concaténer(ordre[a], ordre[b], ordre[c] ordre[d], ordre[e], ordre[f]) ;

}

(39) L'opérateur technique effectuant ce processus pour le compte de l'opérateur de l'utilisateur.

(40) La valeur « V » est cependant réservée pour les numéros utilisés dans le cadre de l'offre de gros d'Orange VGAST.