diff --git a/src/WebRTC/MediaHandler.js b/src/WebRTC/MediaHandler.js index 2970524f2..34bd9304d 100644 --- a/src/WebRTC/MediaHandler.js +++ b/src/WebRTC/MediaHandler.js @@ -19,9 +19,11 @@ var MediaHandler = function(session, options) { 'userMediaFailed', 'iceGathering', 'iceComplete', + 'iceGatheringComplete', 'iceFailed', 'iceDisconnected', 'iceClosed', + 'iceCompleted', 'getDescription', 'setDescription', 'dataChannel', @@ -75,6 +77,7 @@ var MediaHandler = function(session, options) { this.onIceCompleted.promise.then(function(pc) { self.logger.log('ICE Gathering Completed'); self.emit('iceComplete', pc); + self.emit('iceGatheringComplete', pc); }); this.peerConnection = new SIP.WebRTC.RTCPeerConnection({'iceServers': servers}, this.RTCConstraints); @@ -122,6 +125,10 @@ var MediaHandler = function(session, options) { self.emit('iceClosed', this); } + if (this.iceConnectionState === 'completed') { + self.emit('iceCompleted', this); + } + //Bria state changes are always connected -> disconnected -> connected on accept, so session gets terminated //normal calls switch from failed to connected in some cases, so checking for failed and terminated /*if (this.iceConnectionState === 'failed') {