   _mediaConstraints: 'mandatory':
     'OfferToReceiveAudio': true
     'OfferToReceiveVideo': true
+
+  _RTCIceCandidate: window.RTCIceCandidate || window.mozRTCIceCandidate || window.webkitRTCIceCandidate || window.msRTCIceCandidate
+  _RTCSessionDescription: window.RTCSessionDescription || window.mozRTCSessionDescription || window.webkitRTCSessionDescription || window.msRTCSessionDescription
+  _RTCPeerConnection: window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection || window.msRTCPeerConnection
 
   _webSocketInitialize: (url, userToken) ->
     @_userToken = userToken


  _stop: ->
    if @_peerConnection?
      @_peerConnection.removeStream(@_peerConnection.getRemoteStreams()[0])
      @_peerConnection.close()
      @_peerConnection = null
    @_peerStarted = false

    if @_peerConnection
      console.error('peerConnection alreay exist!')
    @_peerConnection = @_prepareNewConnection()
    @_peerConnection.setRemoteDescription(new @_RTCSessionDescription(event))

  _sendAnswer: (event) ->
    if !@_peerConnection
