1/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4 * You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * The origin of this IDL file is
7 * http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCConfiguration
8 */
9
10enum RTCIceCredentialType {
11    "password",
12};
13
14dictionary RTCIceServer {
15    (DOMString or sequence<DOMString>) urls;
16    DOMString  url; //deprecated
17    DOMString username;
18    DOMString credential;
19    RTCIceCredentialType credentialType = "password";
20};
21
22enum RTCIceTransportPolicy {
23    "relay",
24    "all"
25};
26
27enum RTCBundlePolicy {
28    "balanced",
29    "max-compat",
30    "max-bundle"
31};
32
33dictionary RTCConfiguration {
34    sequence<RTCIceServer> iceServers;
35    RTCIceTransportPolicy  iceTransportPolicy = "all";
36    RTCBundlePolicy bundlePolicy = "balanced";
37    DOMString? peerIdentity = null;
38    sequence<RTCCertificate> certificates;
39
40    // Non-standard. Only here to be able to detect and warn in web console.
41    // Uses DOMString over enum as a trade-off between type errors and safety.
42    // TODO: Remove once sdpSemantics usage drops to zero (bug 1632243).
43    DOMString sdpSemantics;
44};
45