Groupe de travail Réseau	H. Schulzrinne, Columbia University	
Request for Comments : 3966	décembre 2004	
RFC rendue obsolète : 2806 		
Catégorie : En cours de normalisation	Traduction Claude Brière de L’Isle	

L’URI tel pour les numéros de téléphone

Statut de ce mémoire
Le présent document spécifie un protocole Internet en cours de normalisation pour la communauté de l’Internet, et appelle à des discussions et des suggestions pour son amélioration. Prière de se reporter à l’édition actuelle du STD 1 "Normes des protocoles officiels de l’Internet" pour connaître l’état de normalisation et le statut de ce protocole. La distribution du présent mémoire n’est soumise à aucune restriction.
(La présente traduction incorpore les errata 2580, 2161, 2977, et 2980.)

Notice de copyright
Copyright (C) The Internet Society (2004). Tous droits réservés

Résumé
Le présent document spécifie le schéma d’URI (Identifiant de ressource universel) "tel". L’URI "tel" décrit des ressources identifiées par des numéros de téléphone. Le présent document rend obsolète la RFC2806.

Table des Matières
1. Introduction	1
2. Terminologie	3
3. Syntaxe de l’URI	3
4. Comparaisons d’URI	4
5. Numéros de téléphone et contexte	4
5.1. Numéros de téléphone	4
5.2 Sous adresses RNIS	6
5.3 Extensions téléphoniques	6
5.4 Autres paramètres	6
6. Exemples	6
7. Raisons	7
7.1 Pourquoi ne pas juste mettre les numéros de téléphone dans les URI SIP ?	7
7.2 Pourquoi ne pas distinguer les types d’appel ?	7
7.3 Pourquoi "tel"?	7
7.4 Ne pas confondre les numéros avec la façon dont ils sont numérotés	7
8. Utilisation des URI Téléphone dans HTML	7
9. Utilisation des URI "tel" avec SIP (Information)	8
10. Remerciements	8
11. Considérations sur la sécurité	9
12. Changements par rapport à la RFC 2806	9
13. Références	9
13.1 Références normatives	9
13.2 Références pour information	10
Adresse de l’auteur	10
Déclaration complète de droits de reproduction	10

1.	Introduction

Le présent document définit le schéma d’URI "tel", qui décrit les ressources identifiées par les numéros de téléphone. Un numéro de téléphone est une chaîne de chiffres décimaux qui indique de façon univoque le point de terminaison de réseau. Le numéro contient les informations nécessaires pour acheminer l’appel à ce point. (Cette définition est empruntée à [E.164] mais englobe les numéros à la fois publics et privés.)

Le point de terminaison du numéro de téléphone de l’URI "tel" n’a aucune restriction. Il peut être dans le réseau téléphonique public, un réseau de téléphone privé, ou l’Internet. Il peut être fixe ou sans fil et s’adresser à un terminal fixe, mobile, ou nomade. Le terminal ciblé peut prendre en charge tout service de communication électronique (ECS, electronic communication service), incluant la voix, les données, et la télécopie. L’URI peut se référer aux ressources identifiées par un numéro de téléphone, incluant mais sans s’y limiter, les générateurs ou cibles d’un appel téléphonique.

L’URI "tel" est seulement un identifiant unique au monde ("nom") il ne décrit pas les étapes nécessaires pour atteindre un numéro particulier et n’implique aucune sémantique de numérotation. De plus, il ne se réfère pas à un appareil physique spécifique, seulement à un numéro de téléphone.

Comme on les comprend habituellement, les numéros de téléphone comprennent deux concepts distincts mais en rapports : une adresse canonique d’enregistrement et une chaîne de numérotation. On définit ces concepts ci-dessous :

Adresse d’enregistrement ou identifiant : le numéro de téléphone est compris ici comme l’adresse d’enregistrement canonique ou identifiant d’un point de terminaison au sein d’un réseau spécifique. Pour le réseau public, ces numéros suivent les règles de [E.164], tandis que les numéros privés suivent les règles du propriétaire du plan de numérotage privé. Les abonnés publient ces identifiants afin qu’on puisse les joindre, sans considération de la localisation de l’appelant. (Naturellement, tous les numéros ne sont pas joignables de partout, pour diverses raisons techniques et de politique locale. Aussi, un seul point de terminaison peut être joignable à partir de différents réseaux et peut avoir plusieurs identifiants.)

Chaîne de numérotation : les "chaînes de numérotation" sont les numéros, symboles, et pauses réels entrés par un usager pour passer un appel téléphonique. Une chaîne de numérotation est consommée par une ou plusieurs entités réseau et comprise dans le contexte de la configuration de ces entités. Elle est utilisée pour générer une adresse d’enregistrement ou identifiant (dans le sens décrit ci-dessus) afin qu’un appel puisse être acheminé. Les chaînes de numérotation peuvent exiger d’ajouter devant des chiffres pour sortir de l’autocommutateur privé (PBX, private branch exchange) auquel le système d’extrémité est connecté, et elles peuvent inclure une signalisation en bitonalité multi fréquences (DTMF, dual-tone multi-frequency) post numérotation qui pourrait contrôler un système de réponse vocale interactive (IVR, interactive voice response) ou atteindre une extension. Les chaînes de numérotation sortent du domaine d’application du présent document.

Les deux approches peuvent être exprimées comme un URI. Pour les chaînes de numérotation, cet URI est passé à une entité qui peut reproduire les actions spécifiées dans la chaîne de numérotation. Par exemple, dans un système de téléphone analogique, un numéroteur traduit la chaîne de numérotation en une séquence d’actions telles que l’attente d’une tonalité de numérotation, l’envoi de chiffres DTMF, de pauses, et de générer des chiffres DTMF post numérotation après que l’appelé a décroché. Dans un réseau numérique à intégration de services (RNIS) ou un environnement de sous-système utilisateur RNIS (ISUP, ISDN user part) les éléments de signalisation qui reçoivent les messages de protocole contenant la chaîne de numérotation effectuent les actions de protocole appropriées. Comme on l’a noté, cette approche sort du domaine d’application de la présente spécification.

L’approche décrite ici fait que l’URI spécifie le numéro de téléphone comme un identifiant, qui peut être unique au monde ou seulement valide au sein d’un contexte local. L’application de numérotation connaît le contexte local, sachant, par exemple, si des chiffres spéciaux doivent être entrés pour prendre une ligne sortante, si un réseau, une impulsion, ou une tonalité de numérotation est nécessaire, et quelles tonalités indiquent la progression de l’appel. L’application de numérotation convertit alors le numéro de téléphone en une séquence de numérotation et effectue les actions de signalisation nécessaires. Le numéroteur n’a pas besoin d’être une application d’utilisateur comme on le trouve dans les systèmes d’exploitation traditionnels d’ordinateurs mais pourrait bien faire partie d’une passerelle IP à RTPC.

Pour atteindre un numéro de téléphone à partir d’un téléphone d’un PBX, par exemple, l’utilisateur de ce téléphone doit savoir comment convertir le numéro de téléphone identifiant en une chaîne de numérotation appropriée pour ce téléphone. Le numéro de téléphone lui-même ne porte pas en lui ce qui doit être fait pour un terminal particulier. Des instructions peuvent inclure de faire le "9" avant de passer un appel ou de mettre devant "00" pour atteindre un numéro dans un pays étranger. Le téléphone peut devoir aussi effacer les codes de zone et de pays.

L’approche de l’identifiant décrite dans le présent document présente l’inconvénient que certains services, comme la banque électronique ou la messagerie vocale, ne peuvent pas être spécifiés dans un URI "tel".

La notation des numéros de téléphone dans le présent document est similaire à celle de la [RFC3191] et de la [RFC3192]. Cependant, la syntaxe diffère car le présent document décrit les URI tandis que les RFC3191 et RFC3192 spécifient des adresses de messagerie électronique. La RFC3191 et la RFC3192 utilisent "/" pour indiquer les paramètres (qualificatifs). Comme les URI utilisent la barre oblique pour décrire la hiérarchie du chemin, le schéma d’URI décrit ici utilise le caractère deux points (  :) en conformité avec les conventions d’URI du protocole d’initialisation de session (SIP) de la [RFC3261].

L’URI "tel" peut être utilisé comme URI de demande dans les demandes SIP [RFC3261]. La spécification SIP hérite aussi de la partie 'abonné' de la syntaxe au titre de 'l’élément d’usager' dans l’URI SIP. D’autres protocoles peuvent aussi utiliser ce schéma d’URI.

L’URI "tel" ne spécifie pas le type d’appel, comme appel vocal, de télécopie, ou de données, et ne donne pas les paramètres de connexion pour un appel de données. Le type et les paramètres sont supposés être négociés soit dans la bande par l’appareil téléphonique soit par un protocole de signalisation comme SIP.

Le présent document rend obsolète la RFC2806.

2.	Terminologie

Dans le présent document, les mots clés "DOIT", "NE DOIT PAS", "EXIGE", "DEVRA", "NE DEVRA PAS", "DEVRAIT", "NE DEVRAIT PAS", "RECOMMETE", "PEUT", et "FACULTATIF" sont à interpréter comme décrit dans le BCP 14, [RFC2119] et indiquent les niveaux d’exigence pour les mises en œuvre conformes.

3.	Syntaxe de l’URI

L’URI est défini en utilisant le format ABNF (format Backus-Naur augmenté) décrit dans la [RFC2234] et utilise des éléments provenant des définitions de cœur (Appendice A de la RFC2234).

La définition de la syntaxe suit la [RFC2396], indiquant les caractères réels contenus dans l’URI. Si les caractères réservés "+", ";", "=", et "?" sont utilisés comme délimiteurs entre les composants de l’URI "tel", ils NE DOIVENT PAS être codés en pourcentage. Ces caractères DOIVENT être codés en pourcentage si ils apparaissent dans les valeurs de paramètre d’URI tel.

Les caractères autres que ceux des ensembles "réservé" et "non sûr" (voir la [RFC2396]) sont équivalents à leur codage en pourcentage "% HEX HEX".

L’URI "tel" a la syntaxe suivante :

telephone-uri 	= "tel:" abonné-téléphonique
abonné-téléphonique 	= numéro-mondial / numéro-local
numéro-mondial	= chiffres-de-numéro-mondial *par
numéro-local	= chiffres-de-numéro-local *par contexte *par
par	= paramètre / extension / sous-adresse-rnis
sous-adresse-rnis	= ";isub=" 1*uric
extension	= ";ext=" 1*chiffre-téléphone
contexte	 = ";contexte-de-téléphone=" descripteur
descripteur	= nom-de-domaine / chiffres-de-numéro-mondial
chiffres-de-numéro-mondial	= "+" *chiffre-téléphone CHIFFRE *chiffre-téléphone
chiffres-de-numéro-local	=  *chiffre-téléphone-hex (HEXDIG / "*" / "#")*chiffre-téléphone-hex
nom-de-domaine	= *( étiquette-domaine "." ) toplabel [ "." ]
étiquette-domaine	= alphanum / alphanum *( alphanum / "-" ) alphanum
toplabel	= ALPHA / ALPHA *( alphanum / "-" ) alphanum
paramètre	= ";" pnom ["=" pvaleur ]
pnom	= 1*( alphanum / "-" )
pvaleur	= 1*paramchar
paramchar	= param-nonréservé / nonréservé / codé-pct
nonréservé	= alphanum / marque
marque	= "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")"
codé-pct	= "%" HEXDIG HEXDIG
param-nonréservé	= "[" / "]" / "/" / ":" / "&" / "+" / "$"
chiffre-téléphone	= CHIFFRE / [ séparateur-visuel ]
chiffre-téléphone-hex	= HEXDIG / "*" / "#" / [séparateur-visuel ]
séparateur-visuel	= "-" / "." / "(" / ")"
alphanum	= ALPHA / CHIFFRE
réservé	= ";" / "/" / "?" / ":" / "@" / "&" / "=" / "+" / "$" / ","
uric	= réservé / nonréservé / codé-pct

Chaque nom de paramètre ("pnom"), la sous-adresse RNIS, 'extension', et le 'contexte' NE DOIVENT PAS apparaître plus d’une fois. 'sous-adresse-rnis' ou 'extension' DOIT apparaître en premier, si ils sont présents, suivis par le paramètre 'contexte', si présent, suivi par tous les autres paramètres dans l’ordre lexicographique.

Cela simplifie la comparaison lorsque l’URI "tel" est comparé caractère par caractère, comme dans les URI SIP [RFC3261].

4.	Comparaisons d’URI

Deux URI "tel" sont équivalents selon les règles suivantes :
o	Tous deux doivent être soit un 'numéro-local' soit un 'numéro-mondial', c’est-à-dire, commencer par '+'.
o	Les 'chiffres-de-numéro-mondial' et les 'chiffres-de-numéro-local' doivent être égaux, après avoir retiré tous les séparateurs visuels.
o	 Pour les paramètres supplémentaires obligatoires (paragraphe 5.4) et les paramètres 'téléphone-contexte' et 'extension' définis dans le présent document, la valeur du paramètre 'téléphone-contexte' est comparée comme un nom d’hôte si c’est un 'nom-domaine' ou chiffre par chiffre si c’est un 'chiffres-de-numéro-mondial'. Ce dernier est comparé après avoir retiré tous les caractères de 'séparateur-visuel'.
o	Les paramètres sont comparé selon 'pnom', sans considération de l’ordre de leur apparition dans l’URI. Si un URI a un nom de paramètre qui ne se trouve pas dans l’autre, les deux URI ne sont pas égaux.
o	Les comparaisons d’URI sont insensibles à la casse.

Tous les noms et valeurs de paramètres DEVRAIENT utiliser des caractères minuscules, car les URI tel peuvent être utilisés dans des contextes où les comparaisons sont sensibles à la casse.

Le paragraphe 19.1.4 de la spécification SIP [RFC3261] expose un tel cas.

5.	Numéros de téléphone et contexte
5.1.	Numéros de téléphone

La partie 'abonné-téléphonique' de l’URI indique le numéro. Le numéro de téléphone peut être représenté en notation soit mondiale (E.164) soit locale. Tous les numéros de téléphone DOIVENT utiliser la forme mondiale sauf si ils ne peuvent pas être représentés de cette façon. Les numéros tirés de plans de numérotage privés, d’urgence ("911", "112"), et certains numéros d’assistance à l’annuaire (par exemple, "411") et autres numéros de "codes de service" (numéros de la forme N11 aux États Unis) ne peuvent pas être représentés dans le format mondial (E.164) et ont besoin d’être représentés comme un numéro local avec un contexte. Les numéros locaux DOIVENT être étiquetés avec un 'contexte-de-téléphone' (paragraphe 5.1.5).

Les mises en œuvre NE DOIVENT PAS supposer que les numéros de téléphone ont une longueur maximum, minimum, ou fixe, ou qu’ils commencent toujours par, ou contiennent, certains chiffres.

5.1.1	Séparateurs dans les numéros de téléphone
Les numéros de téléphone PEUVENT contenir des séparateurs visuels. Les séparateurs visuels ('séparateur-visuel') aident simplement à la lisibilité et ne sont pas utilisés pour la comparaison d’URI ou le passage d’un appel.

Bien que cela complique les comparaisons, la présente spécification conserve les séparateurs visuels afin de suivre l’esprit de la [RFC2396], qui remarque que "les gens ont souvent besoin de mémoriser un URI et il est plus facile aux gens de se rappeler un URI quand il consiste en composants signifiants". Aussi, les URN ISBN documentés dans la [RFC3187] utilisent des séparateurs visuels d’une manière similaires à celle de la présente spécification.

Cependant, même si la Recommandation UIT-T [E.123] recommande l’utilisation de caractères espace comme séparateurs visuels dans les numéros de téléphone imprimés, les URI "tel" NE DOIVENT PAS utiliser d’espaces dans les séparateurs visuels pour éviter un recours excessif à l’échappement.

5.1.2	Caractères alphabétiques correspondant aux chiffres
Dans certains pays, il est courant d’écrire les numéros de téléphone avec des caractères alphabétiques qui correspondent à certains chiffres sur le clavier téléphonique. Le format d’URI n’accepte pas cette notation, car la transposition de caractères alphabétiques en chiffres n’est pas complètement uniformisée internationalement, bien qu’il y ait des normes [E.161], [T1.703] qui traitent de cette question.

5.1.3	Caractères alphabétiques, *, et # comme identifiants
Comme les numéros de terminal (TN, terminal number) d’appelé et d’appelant sont codés en BCD dans l’ISUP, six valeurs supplémentaires peuvent être codées par chiffre, ce qui est parfois représenté comme les caractères hexadécimaux A à F. De même, le DTMF permet le codage des symboles *, #, et de A à D. Cependant, conformément à E.164, ceux–ci ne peuvent pas être inclus dans les numéros mondiaux. Leur signification dans les numéros locaux n’est pas définie ici, mais ils ne sont pas interdits.

5.1.4	Numéros mondiaux
Les numéros uniques au monde sont identifiés par le caractère "+" en tête. Les numéros mondiaux DOIVENT être composés avec les numéros du code de pays (CC, Country Code) et le numéro national (NSN) comme spécifié dans [E.123] et [E.164]. Les numéros uniques au monde sont sans ambiguïté partout dans le monde et DEVRAIENT être utilisés.

5.1.5	Numéros locaux
Les numéros locaux ne sont uniques qu’au sein d’une certaine zone géographique ou d’une certaine partie du réseau téléphonique, par exemple, un autocommutateur privé (PBX), un état ou une province, le commutateur local d’un transporteur particulier, ou un certain pays. Les URI qui ont des numéros de téléphone locaux ne devraient apparaître que dans des environnements où toutes les entités locales  peuvent réussir à établir l’appel en passant le numéro au logiciel de numérotation. Les chiffres nécessaires pour accéder à une ligne extérieure, par exemple, ne sont pas inclus dans les numéros locaux. Les numéros locaux NE DEVRAIENT PAS être utilisés sauf si il n’y a pas d’autre moyen pour représenter le numéro comme un numéro mondial.

Les numéros locaux NE DEVRAIENT PAS être utilisés pour plusieurs raisons. Les numéros locaux exigent que l’origine et le receveur soient configurés de façon appropriée afin qu’ils puissent insérer et reconnaître les descripteurs de contexte corrects. Comme il n’y a pas d’algorithme pour saisir indépendamment le même descripteur, étiqueter les numéros avec leur contexte augmente les chances de mauvaise configuration de sorte que des identifiants valides sont rejetés par erreur. L’algorithme pour choisir les descripteurs a été retenu pour que des collisions accidentelles soient rares, mais elles ne peuvent être exclues.

Les numéros locaux DOIVENT avoir un paramètre 'contexte-de-téléphone' qui identifie la portée de leur validité. Le paramètre DOIT être choisi de façon à identifier le contexte local au sein duquel le numéro est unique sans ambiguïté. Donc, la combinaison du descripteur dans le paramètre 'contexte-de-téléphone' et du numéro local est là encore unique au monde. La valeur du paramètre est définie par celui qui alloue le numéro local. Il N’indique PAS un préfixe qui transforme le numéro local en un numéro mondial (E.164).

Il y a deux façons d’étiqueter le contexte : via un numéro mondial ou via tout nombre de ses chiffres de tête (par exemple, "+33") et via un nom de domaine, par exemple, "houston.example.com". Le choix entre les deux est laissé au "propriétaire" du numéro local et dépend de si il s’agit d’un numéro mondial ou d’un nom de domaine qui est un identifiant valide pour un numéro local particulier.

Le nom de domaine n’a pas à se résoudre en un hôte réel mais DOIT être sous le contrôle administratif de l’entité qui gère le contexte de téléphone local.

Un contexte de numéro mondial consiste en les chiffres initiaux d’un numéro mondial valide. Tous les numéros mondiaux avec ces chiffres initiaux doivent être alloués à la même organisation, et aucun numéro correspondant ne peut être utilisé par une autre organisation. Par exemple, +49-6151-16 conviendrait comme contexte pour l’Université technique de Darmstadt, car elle utilise tous les numéros qui commencent par ces chiffres. Si une telle chaîne initiale de chiffres n’existe pas, l’organisation DEVRAIT utiliser le plus petit nombre de la gamme de numéros mondiaux qui lui est allouée. (Cela peut se produire si deux organisations partagent le même bloc décimal de numéros. Par exemple, supposons qu’une organisation possède la gamme de numéros +1-212-555-0100 à +1-212-555-0149. +1-212-555-1 ne serait pas un contexte valide de numéro mondial, mais +1-212-555-0100 fonctionnerait.) Il n’est pas exigé que les numéros locaux dans le contexte commencent réellement par l’ensemble choisi de numéros initiaux.

Un contexte consistant en les chiffres initiaux d’un numéro mondial n’implique pas que les ajouter au numéro local va générer un numéro E.164 valide. Cela serait une coïncidence, mais on ne peut pas compter dessus. (Par exemple, "911" devrait être étiqueté avec le contexte "+1", mais "+1-911" n’est pas un numéro E.164 valide.)

Les numéros nationaux de libre appel n’ont pas besoin d’un contexte, bien qu’ils ne soient pas nécessairement accessibles d’en dehors d’un code de pays ou d’un plan de numérotation particulier. On se rappelle que les URI "tel" sont des identifiants ; il est suffisant qu’un numéro mondial soit unique, mais il n’est pas exigé qu’il soit accessible de partout.

Même les numéros qui ne sont pas de libre appel peuvent être périmés ou peuvent n’être pas accessibles à partir d’un certain endroit. Par exemple, des services premium comme les numéros "900" dans le plan de numérotage d’Amérique du Nord ne sont souvent pas composables en dehors de leur code de pays particulier.

Le deux types d’étiquettes ont été choisis pour que, dans la plupart des cas, un administrateur local puisse prendre un identifiant qui est raisonnablement descriptif et n’exige pas l’allocation d’un nouveau numéro géré par l’IANA. Il appartient à l’administrateur d’allouer un identifiant approprié et de l’utiliser de façon cohérente. Souvent, une organisation peut choisir entre plusieurs identifiants différents.

Si le receveur d’un URI "tel" l’utilise simplement pour l’identification, le receveur n’a besoin de rien savoir sur le descripteur de contexte. Il le traite simplement comme une partie d’un identifiant unique au monde, l’autre partie étant le numéro local. Si un receveur de l’URI a l’intention de passer un appel au numéro local, il DOIT comprendre le contexte et être capable de passer des appels dans ce contexte.

5.2	Sous adresses RNIS

Un numéro de téléphone PEUT aussi contenir un paramètre 'sous-adresse-rnis' qui indique une sous-adresse RNIS.

Les sous-adresses RNIS contiennent normalement des caractères de l’alphabet international n° 5 (IA5 [T.50]) mais elles peuvent contenir n’importe quelle valeur d’octet.

5.3	Extensions téléphoniques

Les extensions téléphoniques identifient les stations derrière un PBX non RNIS et sont fonctionnellement à peu près équivalentes aux sous-adresses RNIS. Elles sont identifiées par le paramètre 'extension'. Au plus, un paramètre 'sous-adresse-rnis' ou 'extension' peut apparaître dans un URI "tel", c’est-à-dire, ils ne peuvent pas apparaître tous les deux en même temps.

5.4	Autres paramètres

Des extensions de protocoles futures à ce schéma d’URI pourront ajouter d’autres paramètres ('paramètre' dans l’ABNF). De tels paramètres peuvent être obligatoires ou facultatifs. Les paramètres obligatoires commencent par "m-". Une mise en œuvre PEUT ignorer les paramètres facultatifs et NE DOIT PAS utiliser l’URI si il contient des paramètres obligatoires inconnus. Le préfixe "m-" ne peut pas être ajouté aux paramètres qui ont déjà été enregistrés (sauf pour créer un nouveau paramètre, logiquement distinct). Le paramètre "contexte-de-téléphone" dans le présent document est obligatoire, et "isub" et "ext" sont facultatifs.

Les nouveaux paramètres obligatoires doivent être décrits par une RFC en cours de normalisation, mais une RFC d’information est suffisante pour les paramètres facultatifs.

Par exemple, les paramètres 'paramètre' peuvent être utilisés pour mémoriser des données supplémentaires spécifiques de l’application sur le numéro de téléphone, son utilisation prévue, ou toutes les conversions qui ont été appliquées au numéro.

Les entités qui transmettent des demandes du protocole contenant des URI "tel" avec des paramètres facultatifs NE DOIVENT PAS supprimer ou modifier les paramètres qu’elles ne comprennent pas.

6.	Exemples

tel:+1-201-555-0123 : Cet URI pointe sur un numéro de téléphone aux États Unis. Les tirets sont inclus pour rendre le numéro plus lisible pour l’homme ; ils séparent le pays, le code de zone et le numéro d’abonné.

tel:7042;phone-context=example.com : L’URI décrit un numéro de téléphone local valide dans le contexte "example.com".

tel:863-1234;phone-context=+1-914-555 : L’URI décrit un numéro de téléphone local qui est valide dans un préfixe de téléphone particulier.

7.	Raisons
7.1	Pourquoi ne pas juste mettre les numéros de téléphone dans les URI SIP ?

L’URI "tel" décrit un service, atteignant un numéro de téléphone, qui est indépendant des moyens de le faire, qu’il soit via une passerelle SIP à RTPC, un appel SIP direct via une traduction de numéro E.164 ("ENUM") [RFC3761], d’autres protocoles de signalisation comme H.323, ou un appel traditionnel de circuit commuté initié sur le côté client via, disons, l’interface de programmation d’application de téléphonie (TAPI, Telephony Application Programming Interface). Donc, dans son esprit, il est plus proche des schémas d’URN qui laissent aussi la résolution à un mécanisme externe. Le même URI "tel" peut être traduit en un nombre quelconque d’autres URI dans le processus d’établissement de l’appel.

7.2	Pourquoi ne pas distinguer les types d’appel ?

Les protocoles de signalisation comme SIP permettent de négocier le type et les paramètres de l’appel, rendant discutable l’indication très basique du schéma d’URI. Aussi, comme le type d’appel peut changer fréquemment, une telle indication dans un URI va probablement être périmée. Si on désire une telle désignation pour un appareil qui passe directement les appels sans un protocole de signalisation comme SIP, des mécanismes comme l’attribut "type" pour l’élément "A" en HTML peuvent être plus appropriés.

7.3	Pourquoi "tel"?

"tel" a été choisi parce qu’il est largement reconnu qu’aucune des autres suggestions n’est apparue appropriée. "Callto" a été éliminé parce que les schémas d’URI localisent une ressource et ne spécifient pas une action à entreprendre. "Telephone" et "phone" ont été considérés trop longs et difficile à reconnaître internationalement.

7.4	Ne pas confondre les numéros avec la façon dont ils sont numérotés

Par exemple, dans de nombreux pays le numéro E.164 "+1-212-555-3141" sera entré comme 00-1-212-555-3141, où le "00" en tête est un préfixe pour les appels internationaux. (En général, un symbole "+" dans E.164 indique qu’un préfixe international est requis.)

8.	Utilisation des URI Téléphone dans HTML

Les liens qui utilisent l’URI "tel" DEVRAIENT enclore le numéro de téléphone afin que les usagers puissent facilement prédire l’action entreprise lorsque on suit le lien  :

Numéroter <a href="tel:+1-212-555-0101">+1-212-555-0101</a> pour l’assistance.

au lieu de

Numéroter <a href="tel:+1-212-555-0101">ce numéro</a> pour l’assistance.

Sur une page HTML publique, le numéro de téléphone dans l’URI DEVRAIT toujours être en format mondial, même si le texte du lien utilise un format local :

Téléphone (si on numérote au États Unis) :   <a href="tel:+1-201-555-0111">(201) 555-0111</a>

ou même

Pour avoir des RFC lues à voix haute, appeler <a href="tel:+1-555-438-3732">1-555-IETF-RFC</a>.

9.	Utilisation des URI "tel" avec SIP (Information)

SIP peut utiliser l’URI "tel" partout où un URI est permis, par exemple comme URI de demande, avec des URI "sip" et "sips". Pour abréger, on impliquera des URI "sips" lorsque on parlera des URI SIP. Les URI "tel" et SIP peuvent tous deux contenir des numéros de téléphone. Dans les URI SIP, ils apparaissent comme partie usager, c’est-à-dire, avant le symbole @ (paragraphe 19.1.6 de la [RFC3261]).

Sauf si un UA SIP se connecte directement à une passerelle RTPC, un des serveurs mandataires SIP doit traduire l’URI "tel" en URI SIP, avec la partie hôte de cet URI qui pointe sur une passerelle. Normalement, le serveur mandataire sortant, comme premier serveur mandataire visité par une demande d’appel, effectue cette traduction. Un serveur mandataire peut traduire tous les URI "tel" en le même nom d’hôte SIP ou choisir une passerelle différente pour des préfixes "tel" différents, sur la base, par exemple, d’informations apprises de TRIP [RFC3219]. Cependant, un serveur mandataire pourrait aussi déléguer cette tâche de traduction à un autre serveur mandataire, car les serveurs mandataires ont toute liberté pour appliquer la logique d’acheminement qu’ils désirent. Pour les numéros locaux, le mandataire NE DOIT PAS traduire les URI "tel" dont il ne comprend pas le contexte.

Comme on l’a noté précédemment, tous les numéros de téléphone DOIVENT utiliser la forme mondiale sauf si ils ne peuvent pas être représentés ainsi. Si le format numéro-local est utilisé, il DOIT être qualifié par le paramètre 'contexte-de-téléphone'. En fait, la combinaison du numéro local et du contexte du téléphone rend l’URI "tel" unique au monde.

Bien que les pages de la Toile, les cartes d’affaire vCard, les carnets d’adresses, et les répertoires puissent facilement contenir des URI "tel" mondiaux, les usagers ne peuvent pas numéroter directement de tels numéros sur les téléphones IP à douze touches et sont normalement habitués à taper de plus courtes chaînes, par exemple pour les extensions de PBX ou pour des numéros locaux. Ce qu’on appelle des chaînes de numérotation (section 1) n’est pas directement représenté par des URI "tel", comme on l’a noté. On se réfère aux règles qui gouvernent la traduction des chaînes de numérotation dans les URI SIP et "tel", mondiales ou locales, comme au plan de numérotage. Actuellement, les traductions de chaînes de numérotation en URI "tel" doivent avoir lieu dans les systèmes d’extrémité. Les efforts à venir pourront fournir des moyens pour traiter les chaînes de numérotation dans un URI SIP, par exemple, mais un tel mécanisme n’existe pas encore à ce jour.

Un UA SIP peut utiliser un plan de numérotage pour traduire des chaînes de numérotation en URI SIP ou "tel". Le plan de numérotage peut être configuré manuellement ou, de préférence, téléchargé au titre du mécanisme de configuration d’un appareil. (Pour l’instant, ce mécanisme n’est pas normalisé.)

Un usager mobile peut utiliser au moins deux plans de numérotage, à savoir le plan de numérotage pour le réseau qu’il est en train de visiter, et le plan de numérotage pour son réseau de rattachement. Généralement, les numéros composés sont destinés à représenter des numéros mondiaux qui vont sembler les mêmes après la traduction, sans considération du plan de numérotage, même si, par exemple, le réseau visité utilise '0' pour composer un numéro 'extérieur' et si le réseau de rattachement de l’usager utilise le '9', tant que l’usager a connaissance du plan de numérotage actuel. Cependant, les extensions locales sans un équivalent mondial direct peuvent fort bien se comporter différemment. Pour éviter toute ambiguïté, le plan de numérotage DOIT insérer une chaîne 'contexte-de-téléphone' convenable lorsque on effectue la traduction. Si le 'contexte-de-téléphone' est un nom de domaine, il y a trois cas :

1.	Le mandataire de sortie reconnaît le nom de domaine dans l’URI "tel" ou SIP comme son contexte local et peut acheminer la demande à une passerelle qui comprend le numéro local.

2.	Le mandataire de sortie n’utilise pas le même contexte de téléphone mais peut acheminer à un mandataire qui traite ce contexte de téléphone. Cet acheminement peut être fait via un tableau de recherche, ou le nom de domaine du contexte de téléphone peut être établi de façon à refléter le nom de domaine SIP d‘un mandataire convenable. Par exemple, un mandataire peut toujours acheminer les appels avec des URI "tel" comme tel:1234;phone-context=munich.example.com pour le mandataire SIP situé à munich.example.com. (Les mandataires qui reçoivent un URI tel avec un contexte qu’ils ne comprennent pas sont obligés de retourner une réponse d’état 404 (Non trouvé) afin qu’un mandataire de sortie puisse décider de tenter une telle heuristique.)

3.	Le mandataire de sortie ne reconnaît pas le contexte de téléphone et ne peut pas trouver le mandataire approprié pour ce contexte de téléphone. Dans ce cas, la traduction échoue, et le mandataire de sortie retourne une réponse d’erreur 404 (Non trouvé).

10.	Remerciements

Le présent document est dérivé de la [RFC2806], écrite par Antti Vaehae-Sipilae. Mark Allman, Flemming Andreasen, Francois Audet, Lawrence Conroy, Cullen Jennings, Michael Hammer, Paul Kyzivat, Andrew Main, Xavier Marjou, Jon Peterson, Mike Pierce, Jonathan Rosenberg, et James Yu ont fournis des commentaires détaillés.

11.	Considérations sur la sécurité

Les considérations pour la sécurité sont parallèles à celles pour l’URL mailto [RFC2368].

Les clients de la Toile et les outils similaires NE DOIVENT PAS utiliser l’URI "tel" pour passer des appels téléphoniques sans le consentement explicite de l’utilisateur de ce client. Passer des appels automatiquement sans la confirmation de l’utilisateur approprié peut entraîner un certain nombre de risques, comme ceux décrits ci-dessous :
o	Les appels peuvent subir des frais.
o	L’URI peut être utilisé pour passer des appels malveillants ou fâcheux.
o	Un appel peut décrocher la ligne téléphonique de l’usager, l’empêchant ainsi de l’utiliser.
o	Un appel peut révéler les numéros éventuellement non publiés de l’usager à l’hôte distant dans les données d’identification de l’appelant et peut permettre à un attaquant de corréler le numéro de téléphone de l’usager avec d’autres informations, comme une adresse de messagerie électronique ou IP.

Ceci est particulièrement important pour les URI "tel" incorporés dans des liens HTML, car un malveillant peut cacher la vraie nature de l’URI dans le texte du lien, comme dans

<a href="tel:+1-900-555-0191">Cliquer ici pour des informations gratuites</a>
<a href="tel:+1-900-555-0191">tel:+1-800-555-0191</a>

Les URI "tel" peuvent révéler des informations confidentielles, similaires à l’inclusion de numéros de téléphone comme texte. Cependant, la présence de l’identifiant de schéma tel: peut rendre plus facile à un adversaire qui utilise un moteur de recherche de découvrir ces numéros.

12.	Changements par rapport à la RFC 2806

La présente spécification est syntaxiquement rétro compatible avec l’URI "tel" défini dans la [RFC2806] mais a été complètement réécrite. Le présent document distingue plus clairement les numéros de téléphone comme des identifiants de points de terminaison de réseau par rapport aux chaînes de numérotation et retire ces dernières du champ des URI "tel".
Par rapport à la RFC 2806, les références au choix du transporteur, au contexte de numérotation, aux URI de télécopie et de modem, aux chaînes post-numérotation, et aux caractères de pause, ont été supprimées. La syntaxe d’URI se conforme maintenant à la [RFC2396].
Un paragraphe sur l’utilisation des URI "tel" dans SIP a été ajouté.

13.	Références
13.1	Références normatives

[E.123]	Recommandation UIT-T E.123, "Notation des numéros de téléphone nationaux et internationaux, des adresses de messagerie électronique et des adresses de la Toile", Union Internationale des Télécommunications, février 2001.

[E.161]	Recommandation UIT-T E.161, "Arrangement des chiffres, lettres et symboles sur les téléphones et autres appareils qui peuvent être utilisés pour accéder à un réseau téléphonique", Union Internationale des Télécommunications, mai  1995.

[E.164]	Recommandation UIT-T E.164, "Plan de numérotage des télécommunications publiques internationales", Union Internationale des Télécommunications, mai 1997.

[RFC2119]	S. Bradner, "Mots clés à utiliser dans les RFC pour indiquer les niveaux d'exigence", BCP 14, mars 1997.

[RFC2234]	D. Crocker et P. Overell, "BNF augmenté pour les spécifications de syntaxe : ABNF", novembre 1997. (Obsolète, voir RFC5234)

[RFC3261]	J. Rosenberg et autres, "SIP : Protocole d'initialisation de session", juin 2002. (Mise à jour par RFC3265, RFC3853, RFC4320, RFC4916, RFC5393, RFC6665)

[T1.703]	ANSI, "Allocation of Letters to the Keys of Numeric Keypads for Telecommunications", Standard T1.703-1995 (R1999), 1999.

13.2	Références pour information

[RFC2368]	P. Hoffman, L. Masinter, J. Zawinski, "Le schéma d'URL mailto", juillet 1998. (P.S.) (Obsolète, voir la RFC6068)

[RFC2396]	T. Berners-Lee, R. Fielding et L. Masinter, "Identifiants de ressource uniformes (URI) : Syntaxe générique", août  1998. (Obsolète, voir RFC3986)

[RFC2806]	A. Vaha-Sipila, "URL pour les appels téléphoniques", avril 2000. (Obsolète, voir RFC3966) (P.S.)

[RFC3187]	J. Hakala, H. Walravens, "Utilisation de la norme internationale de numéros de livres comme noms de ressources uniformes", octobre 2001. (Information)

[RFC3191]	C. Allocchio, "Format minimal d'adresse GSTN dans la messagerie Internet", octobre 2001. (D.S.)

[RFC3192]	C. Allocchio, "Format minimal d'adresse FAX dans la messagerie Internet", octobre 2001. (D.S.)

[RFC3219]	J. Rosenberg, H. Salama, M. Squire, "Acheminement téléphonique sur IP (TRIP)", janvier 2002. (P.S.)

[RFC3761]	P. Faltstrom, M. Mealling, "Application de E.164 au système de découverte dynamique de délégation  (DDDS) d'identifiants de ressource uniformes (URI) (ENUM)", avril 2004. (P.S.) (Remplacée par la RFC6116)

[T.50]	 Recommandation UIT-T T.50,"Alphabet international de référence (AIR) (anciennement Alphabet international n° 5 ou IA5) – Technologies de l’information – Jeu de caractères à 7 bits pour les échanges d’informations)", Union Internationale des Télécommunications, 1992.

Adresse de l’auteur

Henning Schulzrinne
Columbia University
Department of Computer Science
450 Computer Science Building
New York, NY  10027
USA

téléphone : +1 212 939 7042
mél : hgs@cs.columbia.edu 
URI :   http://www.cs.columbia.edu 

Déclaration complète de droits de reproduction

Copyright (C) The Internet Society (2004). Tous droits réservés.

Le présent document est soumis aux droits, licenses et restrictions contenus dans les BCP 78, et sauf disposition contraire, les auteurs conservent tous leurs droits.

Le présent document et les informations qui y sont contenues sont fournis sur une base "EN L’ÉTAT" et le contributeur, l’organisation qu’il ou elle représente ou qui le/la finance (s’il en est), la INTERNET SOCIETY et la INTERNET ENGINEERING TASK FORCE déclinent toutes garanties, exprimées ou implicites, y compris mais non limitées à toute garantie que l’utilisation des informations ci encloses ne violent aucun droit ou aucune garantie implicite de commercialisation ou d’aptitude à un objet particulier.

Propriété intellectuelle

L’IETF ne prend pas position sur la validité et la portée de tout droit de propriété intellectuelle ou autres droits qui pourrait être revendiqués au titre de la mise en œuvre ou l’utilisation de la technologie décrite dans le présent document ou sur la mesure dans laquelle toute licence sur de tels droits pourrait être ou n’être pas disponible ; pas plus qu’elle ne prétend avoir accompli aucun effort pour identifier de tels droits. Les informations sur les procédures de l’ISOC au sujet des droits dans les documents de l’ISOC figurent dans les BCP  78 et BCP 79.

Des copies des dépôts d’IPR faites au secrétariat de l’IETF et toutes assurances de disponibilité de licences, ou le résultat de tentatives faites pour obtenir une licence ou permission générale d’utilisation de tels droits de propriété par ceux qui mettent en œuvre ou utilisent la présente spécification peuvent être obtenues sur répertoire en ligne des IPR de l’IETF à http://www.ietf.org/ipr.

L’IETF invite toute partie intéressée à porter son attention sur tous copyrights, licences ou applications de licence, ou autres droits de propriété qui pourraient couvrir les technologies qui peuvent être nécessaires pour mettre en œuvre la présente norme. Prière d’adresser les informations à l’IETF à ietf-ipr@ietf.org.

Le financement de la fonction d’édition des RFC est actuellement fourni par l’Internet Society.