--- title: RTCIceServer slug: Web/API/RTCIceServer translation_of: Web/API/RTCIceServer ---

{{APIRef("WebRTC")}}

RTCIceServer définit comment se connecter à un serveur ICE unique (comme un serveur {{Glossary("STUN")}} ou {{Glossary("TURN")}}). Il comprend à la fois l'URL et les éventuelle informations d'identification nécessaires pour se connecter au serveur.

Propriétés

{{domxref("RTCIceServer.credential", "credential")}} {{optional_inline}}
Les informations d'identification à utiliser lors de la connexion au serveur. Celles‑ci sont utilisées uniquement si RTCIceServer est un serveur TURN.
{{domxref("RTCIceServer.credentialType", "credentialType")}} {{optional_inline}}
Si RTCIceServer est un serveur TURN, cet attribut spécifie quel type d'information d'identification doit être utilisé lors de la connexion. Ce doit être l'une des valeurs définies par l'énumération {{domxref("RTCIceCredentialType")}}. La valeur par défaut est password.
{{domxref("RTCIceServer.url", "url")}} {{obsolete_inline}}
Cette propriété obsolète est une chaîne spécifiant l'URL d'un serveur ICE unique. Ne pas utiliser cette propriété; utiliser plutôt {{domxref("RTCIceServer.urls")}}. Étant donné que de nombreux livres et exemples anciens l'utilisent encore, nous l'incluons pour aider les développeurs à mettre à jour leur code ou donner un sens a des exemples plus anciens.
{{domxref("RTCIceServer.urls", "urls")}}
Cette propriété est obligatoire, elle peut être soit une seule {{domxref("DOMString")}} ou un tableau de {{domxref("DOMString")}} , spécifiant chacun une URL qui peut être utilisée pour se connecter au serveur.
{{domxref("RTCIceServer.username", "username")}} {{optional_inline}}
Si RTCIceServer est un serveur TURN, alors ceci est le nom d'utilisateur à utiliser pendant le processus d'authentification.

Évitez de spécifier un nombre inutilement élevé d'URL dans la propriété urls; le temps de démarrage de votre connexion va augmenter sensiblement. Chaque serveur dans la liste sera contacté et testé avant d'en choisir un pour être utilisé pour la négociation.

Note : Les anciennes versions de la spécification WebRTC incluent une propriété url au lieu de urls; cela a été changé afin de vous permettre de spécifier plusieurs adresses pour chaque serveur dans la liste, comme le montre l'exemple ci-dessous.

Constantes

Enumeration RTCIceCredentialType 

L'enumeration RTCIceCredentialType spécifie les valeurs qui peuvent être renvoyés par la propriété credentialType pour définir quel type d'authentification est fournie dans la propriété {{domxref("RTCIceServer.credential")}}. Cela peut être l'une des valeurs ci‑dessous.

Constante Description
"password" un mot de passe d'aithentification. Voir {{RFC (5389, "", 10.2)}} pour plus de détails.
"token" La créance est un jeton d'accès à utiliser avec un système d'authentification tiers.

Exemple

La configuration ci-dessous établit deux serveurs ICE. Le premier, stun:stun.services.mozilla.com, nécessite une authentification, le nom d'utilisateur et le mot de passe sont donc fournis. Le second serveur a deux URLs : stun:stun.example.com et stun:stun-1.example.com.

var configuration = {
  iceServers: [{
    urls: "stun:stun.services.mozilla.com",
    username: "louis@mozilla.com",
    credential: "webrtcdemo"
  }, {
    urls: [
      "stun:stun.example.com",
      "stun:stun-1.example.com"
    ]
   }]
};

var pc = new RTCPeerConnection(configuration);

Une fois l'objet de configuration créé, il est passé dans le constructeur {{domxref("RTCPeerConnection.RTCPeerConnection", "RTCPeerConnection()")}} pour l'utiliser comme configuration de la nouvelle connexion entre pairs.

Compatibilité des navigateurs

{{Compat("api.RTCIceServer")}}

Voir aussi