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 2020/12/17 15:33:07 UTC

[openmeetings] branch master updated: [OPENMEETINGS-2239] sip room count works better

This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 5b9d87b  [OPENMEETINGS-2239] sip room count works better
5b9d87b is described below

commit 5b9d87b2ddd38477478a55eff7d7c89e8c7d0693
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Thu Dec 17 22:32:53 2020 +0700

    [OPENMEETINGS-2239] sip room count works better
---
 .../main/java/org/apache/openmeetings/core/remote/KRoom.java |  6 +++---
 .../java/org/apache/openmeetings/core/remote/KStream.java    |  2 +-
 .../org/apache/openmeetings/core/remote/KurentoHandler.java  |  2 +-
 .../java/org/apache/openmeetings/core/sip/SipManager.java    | 12 ++++++++----
 .../java/org/apache/openmeetings/web/app/TimerService.java   |  2 +-
 .../main/java/org/apache/openmeetings/web/room/raw-room.js   |  2 +-
 6 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
index 8caaaae..2062c5b 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
@@ -67,7 +67,7 @@ public class KRoom {
 	private final AtomicBoolean recordingStarted = new AtomicBoolean(false);
 	private final AtomicBoolean sharingStarted = new AtomicBoolean(false);
 	private Long recordingId = null;
-	private int sipCount = 0;
+	private long sipCount = 0;
 	private JSONObject recordingUser = new JSONObject();
 	private JSONObject sharingUser = new JSONObject();
 
@@ -249,14 +249,14 @@ public class KRoom {
 		log.debug("Room {} closed", room.getId());
 	}
 
-	public void updateSipCount(final int count) {
+	public void updateSipCount(final long count) {
 		if (count != sipCount) {
 			sipCount = count;
 			processor.getByRoom(room.getId()).forEach(stream -> stream.addSipProcessor(count));
 		}
 	}
 
-	public int getSipCount() {
+	public long getSipCount() {
 		return sipCount;
 	}
 }
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
index 20b2bb5..c7fb37a 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
@@ -488,7 +488,7 @@ public class KStream extends AbstractStream implements ISipCallbacks {
 		}
 	}
 
-	void addSipProcessor(int count) {
+	void addSipProcessor(long count) {
 		if (count > 0) {
 			if (sipProcessor.isEmpty()) {
 				try {
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java
index 4dc8a07..1e8ebb4 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java
@@ -317,7 +317,7 @@ public class KurentoHandler {
 		return rooms.values();
 	}
 
-	public void updateSipCount(Room r, int count) {
+	public void updateSipCount(Room r, long count) {
 		getRoom(r.getId()).updateSipCount(count);
 	}
 
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/sip/SipManager.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/sip/SipManager.java
index 391f551..ac8fc06 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/sip/SipManager.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/sip/SipManager.java
@@ -44,6 +44,7 @@ import org.asteriskjava.manager.action.DbPutAction;
 import org.asteriskjava.manager.action.EventGeneratingAction;
 import org.asteriskjava.manager.action.ManagerAction;
 import org.asteriskjava.manager.action.OriginateAction;
+import org.asteriskjava.manager.event.ConfbridgeListEvent;
 import org.asteriskjava.manager.response.ManagerError;
 import org.asteriskjava.manager.response.ManagerResponse;
 import org.slf4j.Logger;
@@ -194,14 +195,17 @@ public class SipManager implements ISipManager {
 		exec(da);
 	}
 
-	public int countUsers(String confno) {
+	public long countUsers(String confno) {
 		if (confno != null) {
 			ConfbridgeListAction da = new ConfbridgeListAction(confno);
 			ResponseEvents r = execEvent(da);
 			if (r != null) {
-				log.trace("SipManager::countUsers size == {}", r.getEvents().size());
-				// "- 1" here means: ListComplete event
-				return r.getEvents().size() - 1;
+				long count = r.getEvents().stream()
+						.filter(evt -> evt instanceof ConfbridgeListEvent)
+						.filter(evt -> !omSipUser.equals(evt.getCallerIdName()))
+						.count();
+				log.trace("SipManager::countUsers == {}", count);
+				return count;
 			}
 		}
 		return 0;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java
index bf9ca35..422755a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java
@@ -100,7 +100,7 @@ public class TimerService {
 	}
 
 	private void updateSipLastName(Optional<Client> sipClient, Room r) {
-		int count = sipManager.countUsers(r.getConfno());
+		long count = sipManager.countUsers(r.getConfno());
 		final String newLastName = "(" + count + ")";
 		kHandler.updateSipCount(r, count);
 		sipClient.ifPresentOrElse(c -> {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-room.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-room.js
index a54e350..b54fbf6 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-room.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-room.js
@@ -121,7 +121,7 @@ var Room = (function() {
 		const sbW = _sbWidth()
 			, holder = $('.room-block');
 		($('.main.room')[0]).style.setProperty('--sidebar-width', sbW + 'px');
-		if (sbW > 285) {
+		if (sbW > 236) {
 			holder.addClass('big').removeClass('narrow');
 		} else {
 			holder.removeClass('big').addClass('narrow');