From ff85a724bb2963434f3f0ad2610955059332f5f0 Mon Sep 17 00:00:00 2001 From: Richard Alam <ritzalam@gmail.com> Date: Fri, 19 Jan 2018 08:46:34 -0800 Subject: [PATCH] - determine bbb-apps connection type --- .../main/model/users/NetConnectionDelegate.as | 41 +++++++++++++------ .../main/model/users/UserService.as | 2 +- 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as index e3d75691e9..9362b7399b 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as @@ -49,7 +49,8 @@ package org.bigbluebutton.main.model.users import org.bigbluebutton.main.events.InvalidAuthTokenEvent; import org.bigbluebutton.main.model.options.ApplicationOptions; import org.bigbluebutton.main.model.users.events.ConnectionFailedEvent; - import org.bigbluebutton.main.model.users.events.UsersConnectionEvent; + import org.bigbluebutton.main.model.users.events.UsersConnectionEvent; + import org.bigbluebutton.util.ConnUtil; public class NetConnectionDelegate { private static const LOGGER:ILogger = getClassLogger(NetConnectionDelegate); @@ -82,7 +83,7 @@ package org.bigbluebutton.main.model.users dispatcher = new Dispatcher(); _netConnection = new NetConnection(); _netConnection.objectEncoding = ObjectEncoding.AMF3; - _netConnection.proxyType = "best"; + _netConnection.client = this; _netConnection.addEventListener( NetStatusEvent.NET_STATUS, netStatus ); _netConnection.addEventListener( AsyncErrorEvent.ASYNC_ERROR, netASyncError ); @@ -411,18 +412,32 @@ package org.bigbluebutton.main.model.users try { var appURL:String = _applicationOptions.uri; - var pattern:RegExp = /(?P<protocol>.+):\/\/(?P<server>.+)\/(?P<app>.+)/; - var result:Array = pattern.exec(appURL); - BandwidthMonitor.getInstance().serverURL = result.server; - - var protocol:String = "rtmp"; - var uri:String = appURL + "/" + intMeetingId; - - if (BBB.initConnectionManager().isTunnelling) { - bbbAppsUrl = "rtmpt://" + result.server + "/" + result.app + "/" + intMeetingId; - } else { - bbbAppsUrl = result.protocol + "://" + result.server + "/" + result.app + "/" + intMeetingId; + var pattern:RegExp = /(?P<protocol>.+):\/\/(?P<server>.+)\/(?P<app>.+)/; + var result:Array = pattern.exec(appURL); + var uri:String = appURL + "/" + intMeetingId; + var useRTMPS: Boolean = result.protocol == ConnUtil.RTMPS; + + if (BBB.initConnectionManager().isTunnelling) { + var tunnelProtocol: String = ConnUtil.RTMPT; + + if (useRTMPS) { + _netConnection.proxyType = ConnUtil.PROXY_NONE; + tunnelProtocol = ConnUtil.RTMPS; + } + + + bbbAppsUrl = tunnelProtocol + "://" + result.server + "/" + result.app + "/" + intMeetingId; + trace("******* BBB APPS CONNECT tunnel = TRUE " + "url=" + bbbAppsUrl); + } else { + var nativeProtocol: String = ConnUtil.RTMP; + if (useRTMPS) { + _netConnection.proxyType = ConnUtil.PROXY_BEST; + nativeProtocol = ConnUtil.RTMPS; + } + + bbbAppsUrl = nativeProtocol + "://" + result.server + "/" + result.app + "/" + intMeetingId; + trace("******* BBB APPS CONNECT tunnel = FALSE " + "url=" + bbbAppsUrl); } var logData:Object = UsersUtil.initLogData(); diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UserService.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UserService.as index 65d48ac629..2a5ce9b268 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UserService.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UserService.as @@ -105,7 +105,7 @@ package org.bigbluebutton.main.model.users LiveMeeting.inst().me.externalId = result.extUserId; LiveMeeting.inst().me.authToken = result.authToken; LiveMeeting.inst().me.layout = result.defaultLayout; - LiveMeeting.inst().me.logoutURL = result.logoutUrl; + LiveMeeting.inst().me.logoutURL = result.logoutUrl; LiveMeeting.inst().me.role = result.role; LiveMeeting.inst().me.welcome = result.welcome; LiveMeeting.inst().me.avatarURL = result.avatarURL; -- GitLab