# src/Configure.js

    /* eslint new-cap: ['error', { 'capIsNewExceptions': ['CredentialConfig'] }] */

    const rtcConfig = (function RTCConfig() {
      const config = {
        iceServers: [
          { urls: 'stun:stun.services.mozilla.com' },
          { urls: 'stun:stun.l.google.com:19302' },
        ],
        localStream: undefined,
        localVideo: undefined,
        /*
        iceTransportPolicy: undefined,
        bundlePolicy: undefined,
        rtcpMuxPolicy: undefined,
        peerIdentity: undefined,
        certificates: undefined,
        iceCandidatePoolSize: undefined,
        */
      };

      return Object.seal(config);
    }());

    var signalingServerConfig = (function SignalingServerConfig() {
      var config = {
        url: 'wss://remotemonster.com/ws',
        //url: 'wss://apius1.remotemonster.com/ws',
         //url: 'ws://localhost:8081/ws',
      };
      return config;
      //return Object.freeze(config);
    }());

    const appServerConfig = (function AppServerConfig() {
      var config = {
        //url: 'https://apius1.remotemonster.com/rest',
        url: 'https://remotemonster.com/rest',
         //url: 'http://localhost:8081/rest',
      };
      return config;
      //return Object.freeze(config);
    }());

    const sdkConfig = (function SdkConfig() {
      const config = {
        logLevel: undefined,
      };

      return Object.seal(config);
    }());

    function CredentialConfig() {
      const config = {
        key: undefined,
        serviceId: undefined,
      };

      return Object.seal(config);
    }

    const credentialConfig = CredentialConfig();

    const viewConfig = (function ViewConfig() {
      const config = {
        local: undefined,
        remote: undefined,
      };

      return Object.seal(config);
    }());

    const mediaConfig = {
      video: true,
      audio: true,
    };

    var configure = (function Configure() {
      var config = {
        rtc: rtcConfig,
        signalingServer: signalingServerConfig,
        appServer: appServerConfig,
        sdk: sdkConfig,
        credential: credentialConfig,
        createCredential() {
          const credential = CredentialConfig();
          return Object.freeze({ credential });
        },
        view: viewConfig,
        media: mediaConfig,
      };

      return Object.freeze(config);
    }());

    export default configure;