--- 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.

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" The credential is an access token to be used with a third-party authentication system.

Example

The configuration below establishes two ICE servers. The first one, stun:stun.services.mozilla.com, requires authentication, so the username and password are provided. The second server has two URLs: stun:stun.example.com and 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);

Once the configuration object has been created, it is passed into the {{domxref("RTCPeerConnection.RTCPeerConnection", "RTCPeerConnection()")}} constructor to use it as the configuration for the new peer connection.

Browser compatibility

{{CompatibilityTable}}
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support {{CompatVersionUnknown}} {{CompatGeckoDesktop(22)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support {{CompatNo}} {{CompatNo}} {{CompatGeckoMobile(24)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatVersionUnknown}}

See also