Groupe de travail Réseau	G. Camarillo, Ericsson	
Request for Comments : 3960	H. Schulzrinne, Columbia University	
Catégorie : Information	décembre 2004	
Traduction Claude Brière de L'Isle		

Support précoce et génération des tonalités d'appel dans le protocole d'initialisation de session (SIP)

Statut de ce mémoire
Le présent mémoire apporte des informations pour la communauté de l'Internet. Il ne spécifie aucune sorte de norme de l'Internet. La distribution du présent mémoire n'est soumise à aucune restriction.

Notice de copyright
Copyright (C) The Internet Society (2004).

Résumé
Le présent document décrit comment gérer les supports précoces dans le protocole d'initialisation de session (SIP, Session Initiation Protocol) en utilisant deux modèles : le modèle de passerelle et le modèle de serveur d'application. Il décrit aussi les entrées qu'on doit prendre en considération pour définir les politiques locales pour la génération des tonalités d'appel.
Table des Matières
1. Introduction	1
2. Établissement de session dans SIP	2
3. Modèle de passerelle	3
3.1 Fourchement	3
3.2 Génération des tonalités d'appel	3
3.3 Absence d'indicateur de support précoce	4
3.4 Applicabilité du modèle de passerelle	5
4. Modèle du serveur d'application	5
4.1 Informations de progrès de session dans la bande ou hors bande	5
5. Champ d'en-tête Alert-Info	6
6. Considérations sur la sécurité	6
7. Remerciements	6
8. Références	7
8.1 Références normatives	7
8.2 Références pour information	7
Adresse des auteurs	7
Déclaration complète de droits de reproduction	7

1.	Introduction

Support précoce se réfère aux supports (par exemple, audio et vidéo) qui sont échangés avant qu'une session particulière soit acceptée par l'usager appelant. Au sein d'un dialogue, le support précoce survient à partir du moment de l'envoi de l'INVITE initial jusqu'à ce que le serveur d'agent d'utilisateur (UAS, User Agent Server) génère une réponse finale. Il peut être unidirectionnel ou bidirectionnel, et peut être généré par l'appelant, l'appelé, ou les deux. Des exemples typiques de support précoce généré par l'appelé sont la tonalité d'appel et les annonces (par exemple, l'état de mise en file d'attente). Les supports précoces générés par l'appelant consistent normalement en commandes vocales ou bi tonalités multi fréquences (DTMF, dual tone multi-frequency) pour piloter les systèmes interactifs de réponse vocale (IVR, interactive voice response).

La spécification SIP de base [RFC3261] ne prend en charge que des mécanismes très simples de support précoce. Ces mécanismes simples posent un certain nombre de problèmes qui se rapportent au fourchement et à la sécurité, et qui ne satisfont pas aux exigences de la plupart des applications. Le présent document va au delà des mécanismes définis dans la [RFC3261] et décrit deux modèles de mise en œuvre de support précoce qui utilisent SIP : le modèle de la passerelle et le modèle du serveur d'application.

Bien que les deux modèles de support précoce décrits dans le présent document soient supérieurs à celui spécifié dans la [RFC3261], le modèle de passerelle pose quand même un ensemble de problèmes. En particulier, le modèle de passerelle ne fonctionne pas bien pour le fourchement. Néanmoins, le modèle de passerelle est nécessaire parce que certaines entités SIP (en particulier, certaines passerelles) ne peuvent pas mettre en œuvre le modèle de serveur d'application.

Le modèle de serveur d'application résout certains des problèmes présents dans le modèle de passerelle. Ce modèle utilise le type de disposition de session précoce, qui est spécifié dans la [RFC3959].

La suite du présent document est organisée comme suit : la Section 2 décrit le modèle d'offre/réponse en l'absence de support précoce et la Section 3 introduit le modèle de passerelle. Dans ce modèle, la session de support précoce est établie en utilisant le dialogue précoce établi par l'INVITE original. Les paragraphes 3.1, 3.2, et 3.4 décrivent les limitations du modèle de passerelle et les scénarios où il est approprié d'utiliser ce modèle. La Section 4 introduit le modèle de serveur d'application, qui, comme on l'a dit précédemment, résout certains des problèmes présents dans le modèle de passerelle. La Section 5 discute des interactions entre le champ d'en-tête Alert-Info dans les deux modèles de support précoce.

Les mots clés "DOIT", "NE DOIT PAS", "EXIGE", "DEVRA", "NE DEVRA PAS", "DEVRAIT", "NE DEVRAIT PAS", "RECOMMANDE", "PEUT", et "FACULTATIF" en majuscules dans ce document sont à interpréter comme décrit dans la [RFC2119].

2.	Établissement de session dans SIP

Avant de présenter les deux modèles de support précoce, on va brièvement résumer comment fonctionne l'établissement de session dans SIP. Cela va nous conduire à séparer des caractéristiques qui sont intrinsèques à SIP (par exemple, des supports exécutés avant le 200 (OK) pour éviter la mutilation du support) des opérations de support précoce.

SIP [RFC3261] utilise le modèle d'offre/réponse [RFC3264] pour négocier les paramètres de session. Un des agents d'utilisateur – l'offreur – prépare une description de session qu'on appelle l'offre. L'autre agent d'utilisateur - le répondant – répond par une autre description de session appelée la réponse. Cette prise de contact en deux temps permet aux deux agents d'utilisateur de s'accorder sur les paramètres de session à utiliser pour échanger des supports.

Le modèle d'offre/réponse découple l'échange d'offre/réponse des messages utilisés pour transporter les descriptions de session. Par exemple, l'offre peut être envoyée dans une demande INVITE et la réponse peut arriver dans la réponse 200 (OK) pour cette INVITE, ou, autrement, l'offre peut être envoyée dans le 200 (OK) pour une INVITE vide et la réponse peut être envoyée dans le ACK. Lorsque on utilise des réponses provisoires fiables [RFC3262] des demandes UPDATE [RFC3311], il y a beaucoup plus de façons possibles d'échanger des offres et des réponses.

La mutilation du support se produit lorsque l'usager (ou la machine qui génère le support) croit que la session support est déjà établie, mais que le processus d'établissement n'est pas encore terminé. L'usager commence à parler (c'est-à-dire, à générer des supports) et les premières syllabes ou même les premiers mots sont perdus.

Lorsque l'échange d'offre/réponse a lieu dans la réponse 200 (OK) et dans le ACK, la mutilation du support est inévitable. L'appelé commence à parler au même moment que l'envoi du 200 (OK), mais l'UAS ne peut pas envoyer de supports tant que la réponse n'est pas arrivée dans le ACK du client d'agent d'utilisateur (UAC, User Agent Client).

De l'autre côté, la mutilation du support n'apparaît pas dans le plus courant des échanges d'offre/réponse (un INVITE avec une offre et un 200 (OK) avec une réponse). Les UAC sont prêts à exécuter les paquets de support entrants aussitôt qu'ils envoient une offre, parce qu'ils ne peuvent pas compter sur la réception du 200 (OK) pour commencer à exécuter les supports pour l'appelant ; la signalisation SIP et les paquets de supports traversent normalement des chemins différents, et donc, les paquets de supports peuvent arriver avant la réponse 200 (OK).

Une autre forme de mutilation du support (sans rapport avec le support précoce) se produit dans le sens de l'appelant vers l'appelé. Lorsque l'appelé décroche et commence à parler, l'UAS envoie une réponse 200 (OK) avec une réponse, en parallèle avec les premiers paquets de supports. Si les premiers paquets de supports arrivent à l'UAC avant la réponse et le début du discours de l'appelant, l'UAC ne peut pas envoyer de supports tant que la réponse 200 (OK) de l'UAS n'est pas arrivée.

3.	Modèle de passerelle

SIP utilise le modèle d'offre/réponse pour négocier les paramètres de session (comme décrit à la Section 2). Un échange d'offre/réponse qui a lieu avant que soit envoyée une réponse finale à l'INVITE établit une session de support "précoce". Les sessions de support précoce se terminent lorsque une réponse finale est envoyée pour l'INVITE. Si la réponse finale est un 200 (OK), la session de support précoce se transforme en une session de supports régulière. Si la réponse finale n'est pas de la classe 200, la session de support précoce se termine simplement.

On ne sera pas surpris que les supports échangés dans une session de supports précoces soient appelés des supports précoces. Le modèle de la passerelle consiste à gérer les sessions de supports précoces en utilisant des échanges d'offre/réponse dans des réponses provisoires fiables, PRACK, et UPDATE.

Le modèle de la passerelle est sérieusement limité en présence de fourchement, comme décrit au paragraphe 3.1. Donc, son utilisation n'est acceptable que lorsque l'agent d'utilisateur (UA, User Agent) ne peut pas distinguer les supports précoces des réguliers, comme décrit au paragraphe 3.4. Dans toutes les autres situations (la majorité des UA) l'utilisation du modèle du serveur d'application décrite à la Section 4 est fortement recommandée.

3.1	Fourchement
En l'absence de fourchement, et en supposant que l'INVITE initial contient une offre, le modèle de la passerelle n'introduit pas de mutilation du support. Suivant les procédures normales de SIP, l'UAC est prêt à exécuter tout support entrant aussitôt qu'il envoie l'offre initiale dans l'INVITE. L'UAS envoie la réponse dans une réponse provisoire fiable et peut envoyer des supports aussitôt qu'il y a des supports à envoyer. Même si les premiers paquets de supports arrivent à l'UAC avant la réponse 1xx, l'UAC va les exécuter.

Noter que, dans certaines situations, l'UAC a besoin de recevoir la réponse avant d'être capable d'exécuter aucun support. Les UA dans une telle situation (par exemple, exigence de qualité de service, d'autorisation du support, ou de chiffrement du support) utilisent des préconditions pour éviter la mutilation du support.

D'un autre côté, si l'INVITE fourche, le modèle de la passerelle peut introduire une mutilation du support. Cela se produit lorsque l'UAC reçoit des réponses différentes à son offre dans plusieurs réponses provisoires provenant d'UAS différents. L'UAC doit tenir compte des limitations de bande passante et du choix de session de support précoce.

Si l'UAC reçoit des supports précoces provenant de différents UAS, il a besoin de les présenter à l'usager. Si le support précoce consiste en audio, l'exécution de plusieurs flux audio en même temps à l'usager peut être source de confusion. D'un autre côté, d'autres types de supports (par exemple, vidéo) peuvent être présentés en même temps à l'usager. Par exemple, l'UAC peut construire une mosaïque avec les différentes entrées.

Cependant, même avec des types de supports qui peuvent être exécutés en même temps chez l'usager, si l'UAC a une bande passante limitée, il ne sera pas capable de recevoir le support précoce provenant de tous les UAS différents en même temps. Donc, souvent, l'UAC a besoin de choisir une seule session de support précoce et "assourdir" celles qui envoient des demandes UPDATE.

Il est difficile de décider quelles sessions de supports précoces portent les informations les plus importantes du point de vue de l'appelant. En fait, dans certains scénarios, l'UA ne peut même pas corréler les paquets de supports avec leur dialogue SIP précoce particulier. Donc, les UAC prennent normalement au hasard un dialogue précoce et assourdissent le reste.

Si une des sessions de support précoce qui a été assourdie passe à une session de support régulier (c'est-à-dire que l'UAS envoie une réponse 2xx) la mutilation du support est probable. L'UAC envoie normalement un UPDATE avec une nouvelle offre (à réception de la 200 (OK) pour l'INVITE) pour "démutiser" la session de supports. L'UAS ne peut pas envoyer de supports tant qu'il n'a pas reçu l'offre de l'UAC. Donc, si l'appelant commence à parler avant la réception de l'offre de l'UA, ses paroles seront perdues.

Le fait que l'UAS envoie le UPDATE pour "démutiser" la session de supports (au lieu de l'UAC) n'évite pas la mutilation du support dans la direction inverse et il cause de possibles conditions de compétition.

3.2	Génération des tonalités d'appel
Dans le RTPC (réseau téléphonique public commuté) les commutateurs téléphoniques exécutent normalement les tonalités d'appel pour l'appelant, indiquant que l'appelé est en train d'être alerté. Quand, où, et comment ces tonalités d'appel sont générée a été normalisé (c'est-à-dire, le commutateur local de l'appelant génère une tonalité d'appel normalisée tandis que l'appelé est en train d'être alerté). Il y a du sens pour une approche normalisée de fournir ce type de retour à l'usager dans un environnement homogène comme le RTPC, où tous les terminaux ont une interface d'utilisateur similaire.

Cette homogénéité ne se retrouve pas parmi les agents d'utilisateur SIP. Les agents d'utilisateur SIP ont des capacités différentes, des interfaces d'utilisateur différentes, et peuvent être utilisés pour établir des sessions qui n'impliquent pas du tout d'audio. À cause de cela, la façon dont un UA SIP fournit à l'usager les informations sur les progrès de l'établissement de session est une affaire de politique locale. Par exemple, un UA avec une interface d'utilisateur graphique (GUI, Graphical User Interface) peut choisir d'afficher un message à l'écran lorsque l'appelé est alerté, tandis qu'un autre UA peut à la place choisir de montrer l'image d'un téléphone qui sonne. De nombreux UA SIP choisissent d'initier l'interface d'utilisateur des téléphones RTPC. Ils fournissent une tonalité d'appel à l'appelant lorsque l'appelé est alerté. Un tel UAC est supposé générer des tonalités d'appel en local pour son usager tant qu'aucun support précoce n'est reçu de l'UAS. Si l'UAS génère des supports précoces (par exemple, comme une annonce ou une tonalité spéciale) l'UAC est supposé l'exécuter plutôt que générer la tonalité d'appel en local.

Le problème est que, parfois, ce n'est pas une tâche facile pour un UAC de savoir si il va recevoir un support précoce ou si il devrait générer une sonnerie locale. Un UAS peut envoyer un support précoce sans utiliser de réponse provisoire fiable (de très simples UAS le font) ou il peut envoyer une réponse dans une réponse provisoire fiable sans aucune intention d'envoyer un support précoce (c'est le cas lorsque des préconditions sont utilisées). Donc, en regardant seulement la signalisation SIP, un UAC ne peut pas être sûr qu'il y aura ou non un support précoce pour une session particulière. L'UAC a besoin de vérifier si les paquets de supports arrivent à un certain moment.

Une mise en œuvre pourrait même choisir de regarder le contenu des paquets de supports, car ils pourraient ne porter que du silence ou du bruit de confort.

Tenant compte de cela, un UAC devrait développer sa politique locale concernant la génération des sonneries locales. Par exemple, un agent d'utilisateur SIP du type du service téléphonique traditionnel pourrait mettre en œuvre une politique locale somme celle qui suit :
1. sauf si une réponse 180 (Sonnerie) est reçue, ne jamais générer de sonnerie locale ;
2. si une 180 (Sonnerie) a été reçue mais si il n'y a pas de paquet de supports entrant , générer une sonnerie locale ;
3. si une 180 (Sonnerie) a été reçue et si il y a des paquets de supports entrants, les exécuter et ne pas générer de sonnerie locale.

Noter q'une réponse 180 (Sonnerie) signifie que l'appelé est alerté, et un UAS devrait envoyer une telle réponse si l'appelé est alerté, sans considération de l'état de la session de support précoce.

À première vue, une telle politique peut paraître difficile à mettre en œuvre dans des UA décomposés (c'est-à-dire, contrôleur de passerelle de supports et passerelle de supports) mais cette politique est la même que celle décrite à la Section 2, qui doit être mise en œuvre par tout UA. C'est-à-dire que tout UA devrait exécuter les paquets de supports  entrants (et arrêter la génération de tonalité d'appel locale si elle est en cours) afin  d'éviter la mutilation du support, même si la réponse 200 (OK) n'est pas arrivée. Ainsi, les outils pour mettre en œuvre cette politique de support précoce sont déjà disponibles pour tout UA qui utilise SIP.

Noter que, bien qu'il ne soit pas souhaitable de normaliser une politique locale commune à suivre par tous les UA SIP, un sous ensemble particulier d'UA SIP plus ou moins homogène pourrait utiliser la même politique locale par convention. Des exemples de tels sous ensembles d'UA SIP peuvent être "toutes les passerelles RTPC/SIP" ou "tout terminal IMS 3GPP" (système Internet multi média du projet en partenariat de troisième génération (de téléphone mobile). Cependant, définir la politique commune particulière que de tels groupes d'appareils SIP peuvent utiliser sort du domaine d'application du présent document.

3.3	Absence d'indicateur de support précoce
SIP, par opposition aux autres protocoles de signalisation, ne fournit pas d'indicateur de support précoce. C'est-à-dire, il n'y a pas d'information sur la présence ou l'absence de support précoce dans SIP. Un tel indicateur pourrait potentiellement être utilisé pour éviter la génération de tonalités d'appel locales par l'UAC lorsque l'UAS a l'intention de fournir une tonalité d'appel dans la bande ou un certain type d'annonce. Cependant, dans la majorité des cas, un tel indicateur serait de peu d'utilité à cause de la façon dont SIP fonctionne.

Une importante raison qui limite les avantages d'un potentiel indicateur de support précoce est le couplage lâche entre la signalisation SIP et le chemin des supports . la signalisation SIP traverse un chemin différent de celui des supports. Le chemin des supports est normalement optimisé pour réduire le délai de bout en bout (par exemple, le nombre minimum d'intermédiaires) tandis que le chemin de la signalisation SIP traverse normalement un certain nombre de mandataires qui fournissent différents services à la session. Donc, il est très probable que les paquets de supports avec support précoce atteignent l'UAC avant aucun message SIP qui pourrait contenir un indicateur de support précoce.

Néanmoins, les réponses SIP arrivent parfois à l'UAC avant tout paquet de support. Il y a des situations dans lesquelles l'UAS a l'intention d'envoyer un support précoce mais ne peut pas le faire directement. Par exemple, les UA qui utilisent l'établissement de connexité interactive (ICE, Interactive Connectivity Establishment) [RFC5245] peuvent avoir besoin d'échanger plusieurs messages simples de traversée du protocole UDP à travers un NAT (STUN, Session Traversal Utilities for NAT) avant d'être capables d'échanger des supports. Dans cette situation, un indicateur de support précoce empêcherait l'UAC de générer une tonalité d'appel locale pendant ce temps. Cependant, alors que le support précoce n'arrive pas à l'UAC, l'usager ne saura pas que l'utilisateur distant est en train d'être alerté, même si un 180 (Sonnerie) a été reçu. Donc, une meilleure solution serait d'appliquer une tonalité d'appel locale jusqu'à ce que les paquets de supports précoces puissent être envoyés de l'UAS à l'UAC. Cette solution n'exige aucun indicateur de support précoce.

Noter que des migrations de la tonalité d'appel locale pour prendre en charge le support précoce à l'UAC se produisent aussi en présence de fourchement ; une UAS envoie une réponse 180 (Sonnerie) et plus tard, un autre UAS commence l'envoi d'un support précoce.

3.4	Applicabilité du modèle de passerelle
La Section 3 décrivait certaines limitations du modèle de la passerelle. Il produit une mutilation du support dans les scénarios de fourchement et exige qu'une détection du support génère une sonnerie locale appropriée. Ces questions sont traitées par le modèle su serveur d'application, décrit à la Section 4, qui est la façon recommandée pour générer un support précoce qui n'est pas continu avec le support régulier généré durant la session. Le modèle de la passerelle est donc acceptable dans les situations où l'UA ne peut pas distinguer entre le support précoce et le support régulier. Une passerelle RTPC est un exemple de ce type de situation. La passerelle RTPC reçoit les supports du RTPC sur un circuit, et les envoie sur le réseau IP. La passerelle n'a pas connaissance du contenu du support, et ne sait pas exactement quand a lieu la transition du support précoce au support régulier. Du point de vue du RTPC, le circuit est une source continue de supports.

4.	Modèle du serveur d'application

Le modèle du serveur d'application consiste à avoir l'UAS qui se comporte comme un serveur d'application pour établir des sessions de support précoce avec l'UAC. L'UAC indique la prise en charge du type de disposition de session précoce (définie dans la [RFC3959]) en utilisant l'étiquette d'option de session précoce. De cette façon, les UAS savent qu'ils peuvent garder les échanges d'offre/réponse pour un support précoce (type de disposition de session précoce) séparés d'un support régulier (type de disposition de session).

L'envoi d'un support précoce en utilisant un échange d'offre/réponse différent de celui utilisé pour l'envoi d'un support régulier aide à éviter la mutilation du support en cas de fourchement. L'UAC peut rejeter ou assourdir les nouvelles offres de support précoce sans assourdir les sessions qui vont porter des supports lorsque l'INVITE d'origine est acceptée. L'UAC peut donner la priorité aux supports reçus sur ces dernières sessions. De cette façon, le modèle du serveur d'application transite du support précoce au régulier au bon moment.

Avoir un échange d'offre/réponse séparé pour le support précoce aide aussi les UAC à décider si on devrait ou non générer une sonnerie locale. Si une nouvelle session précoce est établie et si cette session précoce contient au moins un flux audio, l'UAC peut supposer qu'il y aura un support précoce entrant et qu'il peut alors éviter de générer une sonnerie locale.

Un autre modèle inclurait l'ajout d'un nouveau flux, avec une étiquette "support précoce", à la session originale entre l'UAC et l'UAS utilisant un UPDATE au lieu d'établir une nouvelle session précoce. On a choisi d'établir une nouvelle session précoce pour être cohérent avec le mécanisme utilisé par les serveurs d'applications qui NE sont PAS colocalisés avec l'UAS. De cette façon, l'UAS utilise le même mécanisme que tout serveur d'application du réseau pour interagir avec l'UAC.

4.1	Informations de progrès de session dans la bande ou hors bande
Noter que, même quand le modèle du serveur d'application est utilisé, un UA va devoir choisir quelles sessions de support précoce sont assourdies et lesquelles sont rendues à l'usager. Afin de faciliter ce choix pour les UA, il est fortement recommandé que les informations qui ne sont pas essentielles pour la session ne soient pas transmises en utilisant le support précoce. Par exemple, les UA ne devraient pas utiliser le support précoce pour envoyer des tonalités d'appel spéciales. Le code d'état et la phrase de cause dans SIP peuvent déjà informer l'usager distant des progrès de l'établissement de session, sans subir les problèmes associés au support précoce.

5.	Champ d'en-tête Alert-Info

Le champ d'en-tête Alert-Info permet de spécifier un autre contenu de sonnerie, comme une tonalité d'appel, à l'UAC. Ce champ d'en-tête dit à l'UAC quelle tonalité devrait être exécutée dans le cas où une sonnerie locale est générée, mais il ne dit pas à l'UAC quand générer une sonnerie locale. Un UAC devrait suivre les règles décrites ci-dessus pour la génération de tonalités d'appel dans les deux modèles. Si, après avoir suivi ces règles, l'UAC décide d'exécuter une sonnerie locale, il peut alors utiliser le champ d'en-tête Alert-Info pour la générer.

6.	Considérations sur la sécurité

SIP utilise le modèle d'offre/réponse [RFC3264] pour établir des sessions précoces dans les deux modèles de la passerelle et du serveur d'applications. Les agents d'utilisateur (UA) génèrent une description de session, qui contient l'adresse de transport (c'est-à-dire, l'adresse IP plus l'accès) où ils veulent recevoir les supports, et les envoyer à leur homologue dans un message SIP. Lorsque des paquets de supports arrivent à cette adresse de transport, l'UA suppose qu'ils viennent du receveur du message SIP qui porte la description de session. Néanmoins, des attaquants peuvent tenter d'obtenir l'accès au contenu du message SIP et d'envoyer des paquets à l'adresse de transport contenue dans la description de session. Pour empêcher cette situation, les UA DEVRAIENT chiffrer leurs descriptions de session (par exemple, en utilisant S/MIME).

Cependant, même si un UA chiffre ses descriptions de session, un attaquant peut essayer de deviner l'adresse de transport utilisée par l'UA et envoyer des paquets de supports à cette adresse. Deviner une telle adresse de transport est parfois plus facile qu'il ne peut sembler parce que de nombreux UA prennent toujours le même accès de support initial. Pour empêcher cette situation, les UA DEVRAIENT utiliser des mécanismes d'authentification au niveau du support tels que le protocole sécurisé de transport en temps réel (SRTP, Secure Realtime Transport Protocol) [RFC3711]. De plus, les UA qui souhaitent garder confidentielles leurs communications DEVRAIENT utiliser des mécanismes de chiffrement au niveau du support (par exemple, SRTP [RFC3711]).

Des attaquants peuvent tenter de faire qu'un UA envoie des supports à une victime au titre d'une attaque de DoS. Ceci peut être fait en envoyant une description de session avec l'adresse de transport de la victime à l'UA. Pour empêcher cette attaque, l'UA DEVRAIT engager une prise de contact avec le propriétaire de l'adresse de transport reçue dans une description de session (juste pour vérifier sa volonté de recevoir des supports) avant d'envoyer une grande quantité de données à l'adresse de transport. Cette vérification peut être effectuée en utilisant un protocole de transport en mode connexion, en utilisant STUN [RFC3489] de bout en bout, ou par l'échange de clés dans SRTP [RFC3711].

Dans tous les cas, on notera que les considérations précédentes sur la sécurité ne sont pas spécifiques du support précoce, mais s'appliquent à l'usage du modèle d'offre/réponse dans SIP pour établir des sessions en général.

De plus, un risque spécifique du support précoce (en gros, équivalent aux formes de "fraude au tarif" dans le RTPC) tente d'exploiter les différentes politiques tarifaires que certains opérateurs appliquent aux supportx précocex et régulierx. Lorsque il est permis aux UA d'échanger gratuitement des supports précoces, mais doivent payer pour les sessions de support régulières, des UA malveillants peuvent essayer d'établir une session bidirectionnelle de support précoce et ne jamais envoyer de réponse 200 (OK) à l'INVITE.

D'un autre côté, certains serveurs d'applications (par exemple, les systèmes interactifs de réponse vocale) utilisent le support précoce bidirectionnel pour obtenir des informations de la part de l'appelant (par exemple, le code PIN d'une carte d'appel). Donc, on ne recommande pas que les opérateurs interdissent le support précoce bidirectionnel. À la place, les opérateurs devraient envisager comme remède la taxation des échanges de support précoce qui durent trop longtemps, ou de les arrêter au niveau du support (selon la politique de l'opérateur).

7.	Remerciements

Jon Peterson a fourni des idées utiles sur la séparation entre le modèle de la passerelle et le modèle du serveur d'application.

Paul Kyzivat, Christer Holmberg, Bill Marshall, Francois Audet, John Hearty, Adam Roach, Eric Burger, Rohan Mahy, st Allison Mankin ont fourni des commentaires et suggestions utiles.

8.	Références
8.1	Références normatives

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

[RFC3264]	J. Rosenberg et H. Schulzrinne, "Modèle d'offre/réponse avec le protocole de description de session (SDP)", juin 2002.

[RFC3959]	G. Camarillo, "Type de disposition Session précoce pour le protocole d'initialisation de session (SIP)", décembre 2004. (P.S.)

8.2	Références pour information

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

[RFC3262]	J. Rosenberg et H. Schulzrinne, "Fiabilité des réponses provisoires dans le protocole d'initialisation de session (SIP)", juin  2002. (P.S.)

[RFC3311]	J. Rosenberg, "Méthode UPDATE du protocole d'initialisation de session (SIP) ", octobre  2002.

[RFC3489]	J. Rosenberg et autres, "STUN - Simple traversée par le protocole de datagramme d'utilisateur (UDP) des traducteurs d'adresse réseau (NAT)", mars 2003. (Obsolète, voir RFC5389) (P.S.)

[RFC5245]	J. Rosenberg,"Établissement de connexité interactive (ICE) : Protocole pour la traversée de traducteur d'adresse réseau (NAT) pour les protocoles d'offre/réponse", avril 2010. (Remplace RFC4091, RFC4092) (P. S.)

[RFC3711]	M. Baugher et autres, "Protocole de transport sécurisé en temps réel (SRTP)", mars 2004.

Adresse des auteurs

Gonzalo Camarillo	Henning Schulzrinne	
Ericsson	Dept. of Computer Science	
Advanced Signalling Research Lab.	Columbia University 1214 Amsterdam Avenue, MC 0401	
FIN-02420 Jorvas	New York, NY 10027	
Finland	USA	
mél :  Gonzalo.Camarillo@ericsson.com 	mél :  schulzrinne@cs.columbia.edu 	

Déclaration complète de droits de reproduction

Copyright (C) The Internet Society (2004).

Le présent document est soumis aux droits, licences et restrictions contenus dans le BCP 78, et à www.rfc-editor.org, et sauf pour ce qui est mentionné ci-après, les auteurs conservent tous leurs droits.

Le présent document et les informations 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 pourraient ê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 le 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