diff --git a/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js b/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js
index 329c9bc835e79c6160da074a2a1fa9270b7d9fb3..32c5676f92740b015f3aaf085881f1b7ebad93b9 100644
--- a/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js
+++ b/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js
@@ -1,4 +1,4 @@
-import VoiceUsers from '/imports/api/2.0/voice-users';
+import VoiceUsers from '/imports/api/voice-users';
 import { Tracker } from 'meteor/tracker';
 import BaseAudioBridge from './base';
 
@@ -120,7 +120,6 @@ export default class SIPBridge extends BaseAudioBridge {
   exitAudio() {
     return new Promise((resolve) => {
       this.currentSession.on('bye', () => {
-        this.hangup = true;
         resolve();
       });
       this.currentSession.bye();
@@ -152,9 +151,9 @@ export default class SIPBridge extends BaseAudioBridge {
       this.userAgent = new window.SIP.UA({
         uri: `sip:${encodeURIComponent(username)}@${server}`,
         wsServers: `${(protocol === 'https:' ? 'wss://' : 'ws://')}${server}/ws`,
-        log: {
-          builtinEnabled: false,
-        },
+        // log: {
+        //   builtinEnabled: false,
+        // },
         displayName: username,
         register: false,
         traceSip: true,
@@ -190,20 +189,19 @@ export default class SIPBridge extends BaseAudioBridge {
   }
 
   setupEventHandlers(currentSession, callback) {
-    return new Promise(() => {
+    return new Promise((resolve) => {
       currentSession.on('terminated', (message, cause) => this.handleSessionTerminated(message, cause, callback));
 
-      currentSession.mediaHandler.on('iceConnectionCompleted', () => this.handleConnectionCompleted(callback));
-      currentSession.mediaHandler.on('iceConnectionConnected', () => this.handleConnectionCompleted(callback));
+      currentSession.mediaHandler.on('iceConnectionCompleted', () => this.handleConnectionCompleted(resolve));
+      currentSession.mediaHandler.on('iceConnectsionConnected', () => this.handleConnectionCompleted(resolve));
 
       this.currentSession = currentSession;
     });
   }
 
-  handleConnectionCompleted(callback) {
-    this.hangup = false;
-    callback({ status: this.baseCallStates.started });
-    Promise.resolve();
+  handleConnectionCompleted(resolve) {
+    this.callback({ status: this.baseCallStates.started });
+    resolve();
   }
 
   handleSessionTerminated(message, cause, callback) {
@@ -214,7 +212,6 @@ export default class SIPBridge extends BaseAudioBridge {
     const mappedCause = cause in this.errorCodes ?
                         this.errorCodes[cause] :
                         this.baseErrorCodes.GENERIC_ERROR;
-
     return callback({ status: this.baseCallStates.failed, error: mappedCause, bridgeError: cause });
   }
 }
diff --git a/bigbluebutton-html5/imports/ui/components/audio/service.js b/bigbluebutton-html5/imports/ui/components/audio/service.js
index 93e62f128f7b90e7055ef19bf240614eb9faac7c..10a222287fdc3e8b88df27e8f516053c1bae1233 100644
--- a/bigbluebutton-html5/imports/ui/components/audio/service.js
+++ b/bigbluebutton-html5/imports/ui/components/audio/service.js
@@ -1,6 +1,6 @@
 import Users from '/imports/api/users';
 import Auth from '/imports/ui/services/auth';
-import AudioManager from '/imports/api/audio/client/manager';
+import AudioManager from '/imports/ui/services/audio-manager';
 import Meetings from '/imports/api/meetings';
 
 const init = () => {
diff --git a/bigbluebutton-html5/imports/ui/services/audio-manager/index.js b/bigbluebutton-html5/imports/ui/services/audio-manager/index.js
index 36df805524e33f9366bc230b18c27eb29bf4ec14..71ced6e959fb028cd71fe89e9430846afc4c53de 100644
--- a/bigbluebutton-html5/imports/ui/services/audio-manager/index.js
+++ b/bigbluebutton-html5/imports/ui/services/audio-manager/index.js
@@ -1,7 +1,7 @@
 import { Tracker } from 'meteor/tracker';
 import { makeCall } from '/imports/ui/services/api';
-import VertoBridge from '/imports/api/2.0/audio/client/bridge/verto';
-import SIPBridge from '/imports/api/2.0/audio/client/bridge/sip';
+import VertoBridge from '/imports/api/audio/client/bridge/verto';
+import SIPBridge from '/imports/api/audio/client/bridge/sip';
 
 const USE_SIP = Meteor.settings.public.media.useSIPAudio;
 const OUTPUT_TAG = Meteor.settings.public.media.mediaTag;
@@ -74,10 +74,12 @@ class AudioManager {
 
     this.isConnecting = true;
     this.error = null;
-    this.isListenOnly = isListenOnly;
+    this.isListenOnly = isListenOnly || false;
     this.isEchoTest = isEchoTest || false;
     this.callbacks = callbacks;
 
+    if (this.isListenOnly) makeCall('listenOnlyToggle', true);
+
     const callOptions = {
       isListenOnly,
       extension: isEchoTest ? '9196' : null,
@@ -88,6 +90,7 @@ class AudioManager {
   }
 
   exitAudio() {
+    if (this.isListenOnly) makeCall('listenOnlyToggle', false);
     return this.bridge.exitAudio();
   }
 
@@ -107,10 +110,6 @@ class AudioManager {
     }
 
     this.isConnecting = false;
-
-    if (this.isListenOnly) {
-      makeCall('listenOnlyToggle', true);
-    }
   }
 
   onTransferStart() {
@@ -122,9 +121,7 @@ class AudioManager {
     this.isConnected = false;
     this.isConnecting = false;
 
-    if (this.isListenOnly) {
-      makeCall('listenOnlyToggle', false);
-    } else if (this.isEchoTest) {
+    if (this.isEchoTest) {
       this.isEchoTest = false;
     }
   }