Relevé d'identité opérateur

Un article de Wikipédia, l'encyclopédie libre.

Le relevé d'identité opérateur (en abrégé RIO) est, en France, un identifiant unique attribué à chaque ligne de téléphonie mobile et de téléphonie fixe[1] (y compris lignes VoIP et lignes fax).

Son but est, en cas de changement d'opérateur, de faciliter l'identification de la ligne lors des demandes de portabilité du numéro. Il est utilisé (et souvent indispensable) depuis la mise en œuvre de la portabilité simplifiée ( pour les abonnements à la téléphonie mobile). Avant sa mise en place, la signature manuscrite d'un mandat de portabilité par le client était souvent demandée.

Le RIO peut également être utilisé afin de simplifier la résiliation des abonnements télécom fixes[2], hors situation de changement d'opérateur.

Obtention du RIO[modifier | modifier le code]

Le client professionnel dispose de son RIO sur sa facture ou son interface de gestion de compte.

Le client particulier peut obtenir son RIO mobile en composant le numéro spécial « 3179 » depuis son téléphone mobile (appel gratuit), ce service est ouvert 24 h sur 24 et 7 jours sur 7[3]. Le client est alors mis en liaison avec un serveur vocal interactif qui lui communique vocalement le RIO et par SMS. Depuis le [4], ce numéro est commun à tous les opérateurs, alors qu'auparavant, chaque opérateur avait son propre numéro[5].

Dans le cas où l'on cherche à obtenir un RIO sans disposer de son téléphone, il faut contacter le service client de son opérateur, car le service universel (3179) ne fonctionne que pour un appel passé depuis la carte SIM ou la ligne fixe concernée[6].

Le client particulier peut aussi obtenir le RIO de sa ligne fixe en composant le même numéro spécial « 3179 » depuis la ligne fixe concernée[7].

Composition technique du RIO[modifier | modifier le code]

Le RIO est un code alphanumérique (comprenant aussi le symbole + dans certains champs) de douze caractères, noté « OO Q RRRRRR CCC »[8], dont la signification est :

Champ Signification Valeurs
OO Identifiant de l'opérateur donneur Code alphanumérique (01:Orange, 02:SFR, 03:Bouygues, 04: Free, etc. pour les RIO mobiles)[9]Le premier caractère peut être constitué d’un chiffre ou d’une lettre comprise entre A et E pour les RIO mobiles, et restreinte à une lettre entre F et Z pour les RIO fixes[10].
Q Qualité du client E ou P (Entreprise ou Particulier) pour les RIO mobiles.

Code alphanumérique correspondant à un indicateur propre à l'opérateur donneur pour les RIO fixes[11].

RRRRRR Identifiant du contrat N° de contrat, choisi par l'opérateur, indiqué partiellement sur facture.
CCC code de contrôle Tient compte du n° d'appel de la ligne et des neuf premiers caractères du RIO

et dont l'expression régulière associée pour les RIO mobiles est de type :

[A-E0-9][A-Z0-9][EP][A-Z0-9]{6}[A-Z0-9+]{3}

et pour les RIO fixes :

[F-Z][A-Z0-9]{8}[A-Z0-9+]{3}

Clé de contrôle (CCC)[modifier | modifier le code]

La clé de contrôle CCC permet de détecter une incompatibilité entre le code RIO et le numéro de téléphone, les erreurs de recopie manuelle étant fréquentes. Cette clé est calculée à partir :

  • des trois premiers champs du RIO (OO et Q)
  • du numéro de contrat (RRRRRR)
  • et du numéro de téléphone à 10 chiffres de l'abonné, noté EZABPQMCDU (ex. : 0611223344).

Le code est calculé de la manière suivante (exemple en python) :

def calculCCC( OO,  Q,  RRRRRR,  EZABPQMCDU): # les paramètres sont de type chaîne, ex : "00"
    concatenation = OO + Q + RRRRRR + EZABPQMCDU
    ordre = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+" # caractères utilisés pour le codage (37 différents)

    a = b = c = 0 # initialisation de a, b et c
    
    for i in range(19):  # boucle de 0 à 18, pour chaque index de position dans concatenation
        position  = ordre.find(concatenation[i]) # on retrouve la position du caractère concatenation[i] dans ordre

        a = (1 * a + position) % 37 # calcul du nombre a, "% 37" pour modulo 37
        b = (2 * b + position) % 37
        c = (4 * c + position) % 37
    
    return ordre[a] + ordre[b] + ordre[c] # on encode a, b et c en leurs caractères correspondants, et on concatène le tout

Notes et références[modifier | modifier le code]

Liens externes[modifier | modifier le code]