You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/07/06 15:24:01 UTC
openmeetings git commit: [OPENMEETINGS-1664] sip room exit seems to
be fixed
Repository: openmeetings
Updated Branches:
refs/heads/3.3.x 18c013459 -> a3f41b241
[OPENMEETINGS-1664] sip room exit seems to be fixed
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/a3f41b24
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/a3f41b24
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/a3f41b24
Branch: refs/heads/3.3.x
Commit: a3f41b2417f319b8bddb9784ea6eb4dd8161342d
Parents: 18c0134
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Thu Jul 6 22:23:50 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Thu Jul 6 22:23:50 2017 +0700
----------------------------------------------------------------------
.../remote/red5/ScopeApplicationAdapter.java | 252 +++++++++----------
.../apache/openmeetings/db/dao/room/SipDao.java | 2 +
.../openmeetings/web/app/Application.java | 7 +-
.../web/room/activities/ActivitiesPanel.java | 11 +-
4 files changed, 130 insertions(+), 142 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a3f41b24/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
index 4e18027..267cf91 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
@@ -100,7 +100,7 @@ import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter implements IPendingServiceCallback {
- private static final Logger log = Red5LoggerFactory.getLogger(ScopeApplicationAdapter.class, webAppRootKey);
+ private static final Logger _log = Red5LoggerFactory.getLogger(ScopeApplicationAdapter.class, webAppRootKey);
private static final String SECURITY_CODE_PARAM = "securityCode";
private static final String WIDTH_PARAM = "width";
private static final String HEIGHT_PARAM = "height";
@@ -141,8 +141,8 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
@Override
public void resultReceived(IPendingServiceCall arg0) {
- if (log.isTraceEnabled()) {
- log.trace("resultReceived:: {}", arg0);
+ if (_log.isTraceEnabled()) {
+ _log.trace("resultReceived:: {}", arg0);
}
}
@@ -152,7 +152,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
OmFileHelper.setOmHome(scope.getResource("/").getFile());
LabelDao.initLanguageMap();
- log.debug("webAppPath : " + OmFileHelper.getOmHome());
+ _log.debug("webAppPath : " + OmFileHelper.getOmHome());
// Only load this Class one time Initially this value might by empty, because the DB is empty yet
getCryptKey();
@@ -160,7 +160,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
// init your handler here
for (String scopeName : scope.getScopeNames()) {
- log.debug("scopeName :: " + scopeName);
+ _log.debug("scopeName :: " + scopeName);
}
InitializationContainer.initComplete = true;
@@ -173,7 +173,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
recordingDao.resetProcessingStatus(); //we are starting so all processing recordings are now errors
sessionManager.clearCache(); // 'sticky' clients should be cleaned up from DB
} catch (Exception err) {
- log.error("[appStart]", err);
+ _log.error("[appStart]", err);
}
return true;
}
@@ -188,12 +188,12 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
@Override
public boolean roomConnect(IConnection conn, Object[] params) {
- log.debug("roomConnect : ");
+ _log.debug("roomConnect : ");
IServiceCapableConnection service = (IServiceCapableConnection) conn;
String streamId = conn.getClient().getId();
- log.debug("### Client connected to OpenMeetings, register Client StreamId: " + streamId + " scope " + conn.getScope().getName());
+ _log.debug("### Client connected to OpenMeetings, register Client StreamId: " + streamId + " scope " + conn.getScope().getName());
// Set StreamId in Client
service.invoke("setId", new Object[] { streamId }, this);
@@ -215,7 +215,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
if (!Strings.isEmpty(securityCode)) {
//this is for external applications like ffmpeg [OPENMEETINGS-1574]
if (rcm.getRoomId() == null) {
- log.warn("Trying to enter invalid scope using security code, client is rejected:: " + rcm.getRoomId());
+ _log.warn("Trying to enter invalid scope using security code, client is rejected:: " + rcm.getRoomId());
return rejectClient();
}
String _uid = null;
@@ -226,12 +226,12 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
}
if (_uid == null) {
- log.warn("Client is not found by security id, client is rejected");
+ _log.warn("Client is not found by security id, client is rejected");
return rejectClient();
}
Client parent = sessionManager.getClientByPublicSID(_uid, null);
if (parent == null || !parent.getScope().equals(rcm.getScope())) {
- log.warn("Security code is invalid, client is rejected");
+ _log.warn("Security code is invalid, client is rejected");
return rejectClient();
}
rcm.setUsername(parent.getUsername());
@@ -248,7 +248,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
}
if (Strings.isEmpty(uid) && Strings.isEmpty(securityCode) && Strings.isEmpty(parentSid)) {
- log.warn("No UIDs are provided, client is rejected");
+ _log.warn("No UIDs are provided, client is rejected");
return rejectClient();
}
if (hibernate && "noclient".equals(uid)) {
@@ -258,7 +258,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
if (map.containsKey("screenClient")) {
Client parent = sessionManager.getClientByPublicSID(parentSid, null);
if (parent == null) {
- log.warn("Bad parent for screen-sharing client, client is rejected");
+ _log.warn("Bad parent for screen-sharing client, client is rejected");
return rejectClient();
}
SessionVariablesUtil.setIsScreenClient(conn.getClient());
@@ -269,7 +269,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
rcm.setStreamid(conn.getClient().getId());
if (rcm.getRoomId() == null && !hibernate) {
- log.warn("Bad room specified, client is rejected");
+ _log.warn("Bad room specified, client is rejected");
return rejectClient();
}
if (Boolean.TRUE.equals(connParams.get(SIP_PARAM))) {
@@ -278,7 +278,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
if (connParams.containsKey("mobileClient")) {
Sessiondata sd = sessiondataDao.check(parentSid);
if (sd.getUserId() == null && !hibernate) {
- log.warn("Attempt of unauthorized room enter, client is rejected");
+ _log.warn("Attempt of unauthorized room enter, client is rejected");
return rejectClient();
}
rcm.setMobile(true);
@@ -286,7 +286,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
if (rcm.getUserId() != null) {
User u = userDao.get(rcm.getUserId());
if (u == null) {
- log.error("Attempt of unauthorized room enter: USER not found, client is rejected");
+ _log.error("Attempt of unauthorized room enter: USER not found, client is rejected");
return rejectClient();
}
rcm.setUsername(u.getLogin());
@@ -307,7 +307,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
rcm = sessionManager.add(iapp.updateClient(rcm, false), null);
if (rcm == null) {
- log.warn("Failed to create Client on room connect");
+ _log.warn("Failed to create Client on room connect");
return false;
}
@@ -327,7 +327,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
rcm.setFirstname(u.getFirstname());
rcm.setLastname(u.getLastname());
}
- log.debug("publishName :: " + rcm.getStreamPublishName());
+ _log.debug("publishName :: " + rcm.getStreamPublishName());
sessionManager.updateClientByStreamId(streamId, rcm, false, null);
}
@@ -341,7 +341,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
public Map<String, String> screenSharerAction(Map<String, Object> map) {
Map<String, String> returnMap = new HashMap<>();
try {
- log.debug("----------- screenSharerAction ENTER");
+ _log.debug("----------- screenSharerAction ENTER");
IConnection current = Red5.getConnectionLocal();
Client client = sessionManager.getClientByStreamId(current.getClient().getId(), null);
@@ -383,9 +383,9 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
}
}
- log.debug("----------- screenSharerAction, return: " + returnMap);
+ _log.debug("----------- screenSharerAction, return: " + returnMap);
} catch (Exception err) {
- log.error("[screenSharerAction]", err);
+ _log.error("[screenSharerAction]", err);
}
return returnMap;
}
@@ -395,7 +395,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
IConnection current = Red5.getConnectionLocal();
String streamid = current.getClient().getId();
- log.debug("checkScreenSharing -2- " + streamid);
+ _log.debug("checkScreenSharing -2- " + streamid);
List<Client> screenSharerList = new LinkedList<>();
@@ -410,7 +410,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
return screenSharerList;
} catch (Exception err) {
- log.error("[checkScreenSharing]", err);
+ _log.error("[checkScreenSharing]", err);
}
return null;
}
@@ -423,7 +423,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
*/
public Map<String, Object> setConnectionAsSharingClient(Map<String, Object> map) {
try {
- log.debug("----------- setConnectionAsSharingClient");
+ _log.debug("----------- setConnectionAsSharingClient");
IConnection current = Red5.getConnectionLocal();
Client client = sessionManager.getClientByStreamId(current.getClient().getId(), null);
@@ -461,19 +461,19 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
returnMap.put("alreadyPublished", true);
}
- log.debug("screen x,y,width,height {},{},{},{}", client.getVX(), client.getVY(), client.getVWidth(), client.getVHeight());
+ _log.debug("screen x,y,width,height {},{},{},{}", client.getVX(), client.getVY(), client.getVWidth(), client.getVHeight());
if (startStreaming) {
if (!alreadyStreaming) {
returnMap.put("modus", "startStreaming");
- log.debug("start streamPublishStart Is Screen Sharing ");
+ _log.debug("start streamPublishStart Is Screen Sharing ");
//Send message to all users
sendMessageToCurrentScope("newScreenSharing", client, false);
WebSocketHelper.sendRoom(new TextRoomMessage(client.getRoomId(), client.getUserId(), RoomMessage.Type.sharingStarted, client.getStreamPublishName()));
} else {
- log.warn("Streaming is already started for the client id=" + client.getId() + ". Second request is ignored.");
+ _log.warn("Streaming is already started for the client id=" + client.getId() + ". Second request is ignored.");
}
}
if (startRecording) {
@@ -484,7 +484,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
recordingService.recordMeetingStream(current, client, recordingName, "", false);
} else {
- log.warn("Recording is already started for the client id=" + client.getId() + ". Second request is ignored.");
+ _log.warn("Recording is already started for the client id=" + client.getId() + ". Second request is ignored.");
}
}
if (startPublishing) {
@@ -494,10 +494,10 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
return returnMap;
} else {
- log.error("[setConnectionAsSharingClient] Could not find Screen Sharing Client " + current.getClient().getId());
+ _log.error("[setConnectionAsSharingClient] Could not find Screen Sharing Client " + current.getClient().getId());
}
} catch (Exception err) {
- log.error("[setConnectionAsSharingClient]", err);
+ _log.error("[setConnectionAsSharingClient]", err);
}
return null;
}
@@ -533,26 +533,13 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
/**
- * this function is invoked directly after initial connecting
- *
- * @return publicSID of current client
- */
- public String getPublicSID() {
- log.debug("----------- getPublicSID");
- IConnection current = Red5.getConnectionLocal();
- Client currentClient = sessionManager.getClientByStreamId(current.getClient().getId(), null);
- sessionManager.updateClientByStreamId(current.getClient().getId(), currentClient, false, null);
- return currentClient.getPublicSID();
- }
-
- /**
* this function is invoked after a reconnect
*
* @param newPublicSID
*/
public boolean overwritePublicSID(String newPublicSID) {
try {
- log.debug("----------- overwritePublicSID");
+ _log.debug("----------- overwritePublicSID");
IConnection current = Red5.getConnectionLocal();
IClient c = current.getClient();
Client currentClient = sessionManager.getClientByStreamId(c.getId(), null);
@@ -564,7 +551,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
sessionManager.updateClientByStreamId(c.getId(), currentClient, false, null);
return true;
} catch (Exception err) {
- log.error("[overwritePublicSID]", err);
+ _log.error("[overwritePublicSID]", err);
}
return false;
}
@@ -577,25 +564,25 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
@Override
public void roomLeave(IClient client, IScope room) {
try {
- log.debug("[roomLeave] {} {} {} {}", client.getId(), room.getClients().size(), room.getContextPath(), room.getName());
+ _log.debug("[roomLeave] {} {} {} {}", client.getId(), room.getClients().size(), room.getContextPath(), room.getName());
Client rcl = sessionManager.getClientByStreamId(client.getId(), null);
// The Room Client can be null if the Client left the room by using
// logicalRoomLeave
if (rcl != null) {
- log.debug("currentClient IS NOT NULL");
+ _log.debug("currentClient IS NOT NULL");
roomLeaveByScope(rcl, room);
}
} catch (Exception err) {
- log.error("[roomLeave]", err);
+ _log.error("[roomLeave]", err);
}
}
public void roomLeaveByScope(String uid, Long roomId) {
Client rcl = sessionManager.getClientByPublicSID(uid, null);
IScope scope = getRoomScope("" + roomId);
- log.debug("[roomLeaveByScope] {} {} {} {}", uid, roomId, rcl, scope);
+ _log.debug("[roomLeaveByScope] {} {} {} {}", uid, roomId, rcl, scope);
if (rcl != null && scope != null) {
roomLeaveByScope(rcl, scope);
}
@@ -613,7 +600,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
*/
public void roomLeaveByScope(Client client, IScope scope) {
try {
- log.debug("[roomLeaveByScope] currentClient " + client);
+ _log.debug("[roomLeaveByScope] currentClient " + client);
Long roomId = client.getRoomId();
if (client.isScreenClient() && client.isStartStreaming()) {
@@ -626,13 +613,13 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
whiteBoardService.removeUserFromAllLists(scope, client);
}
- log.debug("removing Username " + client.getUsername() + " "
+ _log.debug("removing Username " + client.getUsername() + " "
+ client.getConnectedSince() + " streamid: "
+ client.getStreamid());
// stop and save any recordings
if (client.getIsRecording()) {
- log.debug("*** roomLeave Current Client is Recording - stop that");
+ _log.debug("*** roomLeave Current Client is Recording - stop that");
if (client.getInterviewPodId() != null) {
//interview, TODO need better check
_stopInterviewRecording(client, scope);
@@ -648,7 +635,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
// Notify all clients of the same currentScope (room) with domain
// and room except the current disconnected cause it could throw an exception
- log.debug("currentScope " + scope);
+ _log.debug("currentScope " + scope);
new MessageSender(scope, "roomDisconnect", client, this) {
@Override
@@ -672,7 +659,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
sessionManager.removeClient(client.getStreamid(), null);
} catch (Exception err) {
- log.error("[roomLeaveByScope]", err);
+ _log.error("[roomLeaveByScope]", err);
}
}
@@ -687,7 +674,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
@Override
public void streamPublishStart(IBroadcastStream stream) {
try {
- log.debug("----------- streamPublishStart");
+ _log.debug("----------- streamPublishStart");
IConnection current = Red5.getConnectionLocal();
final String streamid = current.getClient().getId();
final Client c = sessionManager.getClientByStreamId(streamid, null);
@@ -697,7 +684,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
Client clientObjectSendToSync = c;
// Notify all the clients that the stream had been started
- log.debug("start streamPublishStart broadcast start: " + stream.getPublishedName() + " CONN " + current);
+ _log.debug("start streamPublishStart broadcast start: " + stream.getPublishedName() + " CONN " + current);
// In case its a screen sharing we start a new Video for that
if (c.isScreenClient()) {
@@ -715,7 +702,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
sessionManager.updateClientByStreamId(streamid, c, false, null);
}
- log.debug("newStream SEND: " + c);
+ _log.debug("newStream SEND: " + c);
// Notify all users of the same Scope
// We need to iterate through the streams to catch if anybody is recording
@@ -725,35 +712,35 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
Client rcl = sessionManager.getClientByStreamId(conn.getClient().getId(), null);
if (rcl == null) {
- log.debug("RCL IS NULL newStream SEND");
+ _log.debug("RCL IS NULL newStream SEND");
return true;
}
- log.debug("check send to "+rcl);
+ _log.debug("check send to "+rcl);
if (Strings.isEmpty(rcl.getPublicSID())) {
- log.debug("publicSID IS NULL newStream SEND");
+ _log.debug("publicSID IS NULL newStream SEND");
return true;
}
if (rcl.getIsRecording()) {
- log.debug("RCL getIsRecording newStream SEND");
+ _log.debug("RCL getIsRecording newStream SEND");
recordingService.addRecordingByStreamId(current, c, rcl.getRecordingId());
}
if (rcl.isScreenClient()) {
- log.debug("RCL getIsScreenClient newStream SEND");
+ _log.debug("RCL getIsScreenClient newStream SEND");
return true;
}
if (rcl.getPublicSID().equals(c.getPublicSID())) {
- log.debug("RCL publicSID is equal newStream SEND");
+ _log.debug("RCL publicSID is equal newStream SEND");
return true;
}
- log.debug("RCL SEND is equal newStream SEND "+rcl.getPublicSID()+" || "+rcl.getUserport());
+ _log.debug("RCL SEND is equal newStream SEND "+rcl.getPublicSID()+" || "+rcl.getUserport());
return false;
}
}.start();
} catch (Exception err) {
- log.error("[streamPublishStart]", err);
+ _log.error("[streamPublishStart]", err);
}
}
@@ -777,7 +764,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
@Override
public void streamBroadcastClose(IBroadcastStream stream) {
// Notify all the clients that the stream had been closed
- log.debug("start streamBroadcastClose broadcast close: " + stream.getPublishedName());
+ _log.debug("start streamBroadcastClose broadcast close: " + stream.getPublishedName());
try {
IConnection current = Red5.getConnectionLocal();
String streamId = current.getClient().getId();
@@ -795,10 +782,10 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
// Notify all the clients that the stream had been started
- log.debug("streamBroadcastClose : " + rcl + " " + rcl.getStreamid());
+ _log.debug("streamBroadcastClose : " + rcl + " " + rcl.getStreamid());
// this close stream event, stop the recording of this stream
if (rcl.getIsRecording()) {
- log.debug("*** +++++++ ######## sendClientBroadcastNotifications Any Client is Recording - stop that");
+ _log.debug("*** +++++++ ######## sendClientBroadcastNotifications Any Client is Recording - stop that");
recordingService.stopRecordingShowForClient(current.getScope(), rcl);
}
if (stream.getPublishedName().equals("" + rcl.getBroadCastID())) {
@@ -810,7 +797,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
// Notify all clients of the same scope (room)
sendMessageToCurrentScope("closeStream", rcl, rcl.isMobile());
} catch (Exception e) {
- log.error("[streamBroadcastClose]", e);
+ _log.error("[streamBroadcastClose]", e);
}
}
@@ -826,13 +813,13 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
sendMessageToCurrentScope("newRed5ScreenCursor", cursor, true, false);
} catch (Exception err) {
- log.error("[setNewCursorPosition]", err);
+ _log.error("[setNewCursorPosition]", err);
}
}
public long removeModerator(String publicSID) {
try {
- log.debug("----------- removeModerator: " + publicSID);
+ _log.debug("----------- removeModerator: " + publicSID);
Client currentClient = sessionManager.getClientByPublicSID(publicSID, null);
@@ -849,14 +836,14 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
sendMessageToCurrentScope("setNewModeratorByList", currentMods, true);
} catch (Exception err) {
- log.error("[removeModerator]", err);
+ _log.error("[removeModerator]", err);
}
return -1L;
}
public long switchMicMuted(String publicSID, boolean mute) {
try {
- log.debug("----------- switchMicMuted: " + publicSID);
+ _log.debug("----------- switchMicMuted: " + publicSID);
Client currentClient = sessionManager.getClientByPublicSID(publicSID, null);
if (currentClient == null) {
@@ -871,7 +858,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
newMessage.put(1, currentClient);
sendMessageWithClient(newMessage);
} catch (Exception err) {
- log.error("[switchMicMuted]", err);
+ _log.error("[switchMicMuted]", err);
}
return 0L;
}
@@ -886,7 +873,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
//Put the mod-flag to true for this client
return currentClient.getMicMuted();
} catch (Exception err) {
- log.error("[getMicMutedByPublicSID]",err);
+ _log.error("[getMicMutedByPublicSID]",err);
}
return true;
}
@@ -905,10 +892,10 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
public long setUserAVSettings(boolean updateBroadcastId) {
try {
String streamid = Red5.getConnectionLocal().getClient().getId();
- log.debug("----------- setUserAVSettings {}", streamid);
+ _log.debug("----------- setUserAVSettings {}", streamid);
Client rcl = sessionManager.getClientByStreamId(streamid, null);
if (rcl == null) {
- log.warn("Failed to find appropriate clients");
+ _log.warn("Failed to find appropriate clients");
return -1;
}
if (updateBroadcastId) {
@@ -917,7 +904,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
return rcl.getBroadCastID();
} catch (Exception err) {
- log.error("[setUserAVSettings]", err);
+ _log.error("[setUserAVSettings]", err);
}
return -1;
}
@@ -950,7 +937,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
} catch (Exception err) {
- log.error("[checkRoomValues]", err);
+ _log.error("[checkRoomValues]", err);
}
return false;
}
@@ -989,7 +976,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
*/
public RoomStatus setRoomValues(Long roomId, boolean becomeModerator, boolean isSuperModerator, String colorObj) {
try {
- log.debug("----------- setRoomValues");
+ _log.debug("----------- setRoomValues");
IConnection current = Red5.getConnectionLocal();
String streamid = current.getClient().getId();
Client client = sessionManager.getClientByStreamId(streamid, null);
@@ -1055,7 +1042,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
return roomStatus;
} catch (Exception err) {
- log.error("[setRoomValues]", err);
+ _log.error("[setRoomValues]", err);
}
return null;
}
@@ -1072,7 +1059,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
*/
public Client setUsernameAndSession(String SID, Long userId, String username, String firstname, String lastname) {
try {
- log.debug("----------- setUsernameAndSession");
+ _log.debug("----------- setUsernameAndSession");
IConnection current = Red5.getConnectionLocal();
String streamid = current.getClient().getId();
Client currentClient = sessionManager.getClientByStreamId(streamid, null);
@@ -1083,7 +1070,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
currentClient.setUserObject(userId, username, firstname, lastname);
// Update Session Data
- log.debug("UDPATE SESSION " + SID + ", " + userId);
+ _log.debug("UDPATE SESSION " + SID + ", " + userId);
sessiondataDao.updateUserWithoutSession(SID, userId);
User user = userDao.get(userId);
@@ -1104,7 +1091,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
sessionManager.updateClientByStreamId(streamid, currentClient, false, null);
return currentClient;
} catch (Exception err) {
- log.error("[setUsername]", err);
+ _log.error("[setUsername]", err);
}
return null;
}
@@ -1120,7 +1107,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
Map<String, Client> roomClientList = new HashMap<>();
try {
- log.debug("sendMessageByRoomAndDomain " + roomId);
+ _log.debug("sendMessageByRoomAndDomain " + roomId);
IScope scope = getRoomScope(roomId.toString());
@@ -1132,7 +1119,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
}.start();
} catch (Exception err) {
- log.error("[getClientListBYRoomAndDomain]", err);
+ _log.error("[getClientListBYRoomAndDomain]", err);
}
return roomClientList;
}
@@ -1147,7 +1134,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
return sessionManager.getCurrentModeratorByRoom(roomId);
}
} catch (Exception err) {
- log.error("[getCurrentModerator]", err);
+ _log.error("[getCurrentModerator]", err);
}
return null;
}
@@ -1165,7 +1152,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
Client client = sessionManager.getClientByStreamId(current.getClient().getId(), null);
return sendToWhiteboard(client, whiteboardObjParam, whiteboardId);
} catch (Exception err) {
- log.error("[sendVarsByWhiteboardId]", err);
+ _log.error("[sendVarsByWhiteboardId]", err);
return -1;
}
}
@@ -1256,14 +1243,14 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
}
} catch (Exception err) {
- log.error("[copyFileToCurrentRoom] ", err);
+ _log.error("[copyFileToCurrentRoom] ", err);
}
}
public void sendToWhiteboard(String uid, Long wbId, FileItem fi, String url, boolean clean) {
ClientSessionInfo csi = sessionManager.getClientByPublicSIDAnyServer(uid);
if (csi == null) {
- log.warn("No client was found to send Wml:: {}", uid);
+ _log.warn("No client was found to send Wml:: {}", uid);
return;
}
Client client = csi.getRcl();
@@ -1352,7 +1339,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
sendToScope(roomId, "sendVarsToWhiteboardById", new Object[] { showDrawStatus ? client : null, sendObject });
} catch (Exception err) {
- log.error("[sendToWhiteboard]", err);
+ _log.error("[sendToWhiteboard]", err);
return -1;
}
return 1;
@@ -1400,7 +1387,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
sendMessageToCurrentScope("sendVarsToMessage", newMessage, false);
} catch (Exception err) {
- log.error("[sendMessage]", err);
+ _log.error("[sendMessage]", err);
}
return 1;
}
@@ -1479,7 +1466,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
public void sendMessageToCurrentScope(final String method, final Object msg, final boolean sendSelf, final boolean sendScreen) {
IConnection conn = Red5.getConnectionLocal();
if (conn == null) {
- log.warn("[sendMessageToCurrentScope] -> 'Unable to send message using NULL connection' {}, {}", method, msg);
+ _log.warn("[sendMessageToCurrentScope] -> 'Unable to send message using NULL connection' {}, {}", method, msg);
return;
}
sendMessageToCurrentScope(conn.getScope().getName(), method, msg, sendSelf, sendScreen);
@@ -1529,10 +1516,10 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
public void run() {
try {
if (scope == null) {
- log.debug("[MessageSender] -> 'Unable to send message to NULL scope' {}, {}", method, msg);
+ _log.debug("[MessageSender] -> 'Unable to send message to NULL scope' {}, {}", method, msg);
} else {
- if (log.isTraceEnabled()) {
- log.trace("[MessageSender] -> 'sending message' {}, {}", method, msg);
+ if (_log.isTraceEnabled()) {
+ _log.trace("[MessageSender] -> 'sending message' {}, {}", method, msg);
}
// Send to all Clients of that Scope(Room)
int count = 0;
@@ -1545,12 +1532,12 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
count++;
}
}
- if (log.isTraceEnabled()) {
- log.trace("[MessageSender] -> 'sending message to {} clients, DONE' {}", count, method);
+ if (_log.isTraceEnabled()) {
+ _log.trace("[MessageSender] -> 'sending message to {} clients, DONE' {}", count, method);
}
}
} catch (Exception err) {
- log.error(String.format("[MessageSender -> %s, %s]", method, msg), err);
+ _log.error(String.format("[MessageSender -> %s, %s]", method, msg), err);
}
}
}
@@ -1565,7 +1552,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
sendMessageWithClientWithSyncObject(newMessage, true);
} catch (Exception err) {
- log.error("[sendMessageWithClient] ", err);
+ _log.error("[sendMessageWithClient] ", err);
return -1;
}
return 1;
@@ -1590,7 +1577,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
sendMessageToCurrentScope("sendVarsToMessageWithClient", hsm, sync);
} catch (Exception err) {
- log.error("[sendMessageWithClient] ", err);
+ _log.error("[sendMessageWithClient] ", err);
return -1;
}
return 1;
@@ -1606,7 +1593,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
*/
public int sendMessageById(Object newMessage, String clientId, IScope scope) {
try {
- log.debug("### sendMessageById ###" + clientId);
+ _log.debug("### sendMessageById ###" + clientId);
Map<String, Object> hsm = new HashMap<>();
hsm.put("message", newMessage);
@@ -1622,7 +1609,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
}
} catch (Exception err) {
- log.error("[sendMessageWithClient] ", err);
+ _log.error("[sendMessageWithClient] ", err);
return -1;
}
return 1;
@@ -1651,7 +1638,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
}
} catch (Exception err) {
- log.error("[sendMessageWithClient] ", err);
+ _log.error("[sendMessageWithClient] ", err);
return -1;
}
return 1;
@@ -1660,7 +1647,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
public void sendMessageWithClientByPublicSID(Object message, String publicSID) {
try {
if (publicSID == null) {
- log.warn("'null' publicSID was passed to sendMessageWithClientByPublicSID");
+ _log.warn("'null' publicSID was passed to sendMessageWithClientByPublicSID");
return;
}
@@ -1692,7 +1679,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
// Scope not yet started
}
} catch (Exception err) {
- log.error("[sendMessageWithClientByPublicSID] ", err);
+ _log.error("[sendMessageWithClientByPublicSID] ", err);
}
}
@@ -1717,7 +1704,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
}
} catch (Exception err) {
- log.error("[getInterviewRecordingStatus]", err);
+ _log.error("[getInterviewRecordingStatus]", err);
}
return false;
}
@@ -1729,7 +1716,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
@Deprecated
public boolean startInterviewRecording() {
try {
- log.debug("----------- startInterviewRecording");
+ _log.debug("----------- startInterviewRecording");
IConnection current = Red5.getConnectionLocal();
for (IConnection conn : current.getScope().getClientConnections()) {
@@ -1760,7 +1747,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
((IServiceCapableConnection) conn).invoke("interviewStatus", new Object[] { interviewStatus }, this);
- log.debug("-- startInterviewRecording " + interviewStatus);
+ _log.debug("-- startInterviewRecording " + interviewStatus);
}
}
String recordingName = "Interview " + CalendarPatterns.getDateWithTimeByMiliSeconds(new Date());
@@ -1769,7 +1756,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
return true;
} catch (Exception err) {
- log.debug("[startInterviewRecording]", err);
+ _log.debug("[startInterviewRecording]", err);
}
return false;
}
@@ -1822,7 +1809,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
*/
private boolean _stopInterviewRecording(Client currentClient, IScope currentScope) {
try {
- log.debug("----------- stopInterviewRecording");
+ _log.debug("----------- stopInterviewRecording");
Long clientRecordingId = currentClient.getRecordingId();
for (IConnection conn : currentScope.getClientConnections()) {
@@ -1832,7 +1819,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
}
if (clientRecordingId == null) {
- log.debug("stopInterviewRecording:: unable to find recording client");
+ _log.debug("stopInterviewRecording:: unable to find recording client");
return false;
}
@@ -1845,7 +1832,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
return true;
} catch (Exception err) {
- log.debug("[stopInterviewRecording]", err);
+ _log.debug("[stopInterviewRecording]", err);
}
return false;
}
@@ -1863,7 +1850,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
return sessionManager.getClientListByRoom(currentClient.getRoomId());
} catch (Exception err) {
- log.debug("[getClientListScope]", err);
+ _log.debug("[getClientListScope]", err);
}
return new ArrayList<>();
}
@@ -1915,7 +1902,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
public String getSipNumber(Double roomId) {
Room r = roomDao.get(roomId.longValue());
if (r != null && r.getConfno() != null) {
- log.debug("getSipNumber: roomId: {}, sipNumber: {}", new Object[]{roomId, r.getConfno()});
+ _log.debug("getSipNumber: roomId: {}, sipNumber: {}", new Object[]{roomId, r.getConfno()});
return r.getConfno();
}
return null;
@@ -1931,45 +1918,34 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
public synchronized int updateSipTransport() {
- log.debug("----------- updateSipTransport");
+ _log.debug("----------- updateSipTransport");
IConnection current = Red5.getConnectionLocal();
String streamid = current.getClient().getId();
Client client = sessionManager.getClientByStreamId(streamid, null);
Long roomId = client.getRoomId();
Integer count = roomManager.getSipConferenceMembersNumber(roomId);
String newNumber = getSipTransportLastname(count);
- log.debug("getSipConferenceMembersNumber: " + newNumber);
+ _log.debug("getSipConferenceMembersNumber: " + newNumber);
if (!newNumber.equals(client.getLastname())) {
client.setLastname(newNumber);
sessionManager.updateClientByStreamId(streamid, client, false, null);
- log.debug("updateSipTransport: {}, {}, {}, {}, {}", new Object[] { client.getPublicSID(), client.getRoomId(),
+ _log.debug("updateSipTransport: {}, {}, {}, {}, {}", new Object[] { client.getPublicSID(), client.getRoomId(),
client.getFirstname(), client.getLastname(), client.getAvsettings() });
sendMessageWithClient(new String[] { "personal", client.getFirstname(), client.getLastname() });
}
return count != null && count > 0 ? count - 1 : 0;
}
- public void setSipTransport(Long roomId, String publicSID, String broadCastId) {
- log.debug("----------- setSipTransport");
+ public void setSipTransport(String broadCastId) {
+ _log.debug("----------- setSipTransport");
IConnection current = Red5.getConnectionLocal();
- IClient c = current.getClient();
- String streamid = c.getId();
+ String streamid = current.getClient().getId();
// Notify all clients of the same scope (room)
- Client currentClient = sessionManager.getClientByStreamId(streamid, null);
- currentClient.setSipTransport(true);
- currentClient.setRoomId(roomId);
- currentClient.setRoomEnter(new Date());
- currentClient.setFirstname("SIP Transport");
- currentClient.setLastname(getSipTransportLastname(roomId));
- currentClient.setBroadCastID(Long.parseLong(broadCastId));
- currentClient.setIsBroadcasting(true);
- currentClient.setPublicSID(publicSID);
- currentClient.setVWidth(120);
- currentClient.setVHeight(90);
- currentClient.setPicture_uri("phone.png");
- sessionManager.updateClientByStreamId(streamid, currentClient, false, null);
- SessionVariablesUtil.initClient(c, publicSID);
-
- sendMessageToCurrentScope("addNewUser", currentClient, false);
+ Client c = sessionManager.getClientByStreamId(streamid, null);
+ c.setLastname(getSipTransportLastname(c.getRoomId()));
+ c.setBroadCastID(Long.parseLong(broadCastId));
+ sessionManager.updateClientByStreamId(streamid, c, false, null);
+
+ sendMessageToCurrentScope("addNewUser", c, false);
}
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a3f41b24/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java
index c9865f4..0192b9a 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java
@@ -40,6 +40,8 @@ public class SipDao {
private static final Logger log = Red5LoggerFactory.getLogger(SipDao.class);
public static final String ASTERISK_OM_FAMILY = "openmeetings";
public static final String ASTERISK_OM_KEY = "rooms";
+ public static final Long SIP_USER_ID = -1L;
+ public static final String SIP_USER_NAME = "SIP Transport";
private String sipHostname;
private int sipPort;
private String sipUsername;
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a3f41b24/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index add10f2..2a5e608 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -19,6 +19,7 @@
package org.apache.openmeetings.web.app;
import static org.apache.openmeetings.core.util.WebSocketHelper.sendRoom;
+import static org.apache.openmeetings.db.dao.room.SipDao.SIP_USER_ID;
import static org.apache.openmeetings.util.OpenmeetingsVariables.HEADER_XFRAME_SAMEORIGIN;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
@@ -325,9 +326,11 @@ public class Application extends AuthenticatedWebApplication implements IApplica
if (!getBean(SipDao.class).getUid().equals(rcl.getPublicSID())) {
return null;
}
+ rcl.setPicture_uri("phone.png");
//SipTransport enters the room
- User u = new User(); //fake
- u.setFirstname("SIP Transport"); //TODO check this
+ User u = new User();
+ u.setId(SIP_USER_ID);
+ u.setFirstname(SipDao.SIP_USER_NAME);
client = new Client(rcl, u);
addOnlineUser(client);
client.setCam(0);
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a3f41b24/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
index 7797bc7..b4b056e 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
@@ -19,6 +19,8 @@
package org.apache.openmeetings.web.room.activities;
import static org.apache.openmeetings.core.util.WebSocketHelper.sendRoom;
+import static org.apache.openmeetings.db.dao.room.SipDao.SIP_USER_ID;
+import static org.apache.openmeetings.db.dao.room.SipDao.SIP_USER_NAME;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.Application.getOnlineClient;
@@ -179,8 +181,13 @@ public class ActivitiesPanel extends BasePanel {
decline.setVisible(false);
break;
}
- User u = getBean(UserDao.class).get(a.getSender());
- String name = self ? getString("1362") : String.format("%s %s", u.getFirstname(), u.getLastname());
+ String name;
+ if (SIP_USER_ID.equals(a.getSender())) {
+ name = SIP_USER_NAME;
+ } else {
+ User u = getBean(UserDao.class).get(a.getSender());
+ name = self ? getString("1362") : String.format("%s %s", u.getFirstname(), u.getLastname());
+ }
switch (a.getType()) {
case roomEnter:
text = ""; // TODO should this be fixed?