Repository: openmeetings Updated Branches: refs/heads/master 9c7e45ee6 -> 17922b6d9
[OPENMEETINGS-1664] SIP seems to work as expected Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/17922b6d Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/17922b6d Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/17922b6d Branch: refs/heads/master Commit: 17922b6d9afddbadfbb4d7fe759ecb61f14eee62 Parents: 9c7e45e Author: Maxim Solodovnik <[email protected]> Authored: Wed Jul 26 14:59:13 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Wed Jul 26 15:07:08 2017 +0700 ---------------------------------------------------------------------- .../org/apache/openmeetings/db/dao/room/SipDao.java | 4 ++-- .../org/apache/openmeetings/util/OmFileHelper.java | 8 +++++++- .../apache/openmeetings/web/app/Application.java | 9 ++++++--- .../web/room/activities/ActivitiesPanel.java | 6 +++--- .../web/util/ProfileImageResourceReference.java | 6 ++++-- .../src/main/webapp/default/_profile_phone.png | Bin 1112 -> 0 bytes openmeetings-web/src/main/webapp/images/phone.png | Bin 0 -> 1112 bytes 7 files changed, 22 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/17922b6d/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 040a48c..2669811 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,8 +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"; + public static final String SIP_FIRST_NAME = "SIP Transport"; + public static final String SIP_USER_NAME = "--SIP--"; private String sipHostname; private int sipPort; private String sipUsername; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/17922b6d/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java ---------------------------------------------------------------------- diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java index 02bfdb1..4306393 100644 --- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java +++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java @@ -75,6 +75,10 @@ public class OmFileHelper { public static final String BCKP_ROOM_FILES = "roomFiles"; public static final String BCKP_RECORD_FILES = "recordingFiles"; + //Sip related stuff + public static final Long SIP_USER_ID = -1L; + public static final String SIP_PICTURE_URI = "phone.png"; + public static void setOmHome(File omHome) { OmFileHelper.OM_HOME = omHome; } @@ -138,7 +142,9 @@ public class OmFileHelper { public static File getUserProfilePicture(Long userId, String uri) { File img = null; - if (userId != null) { + if (SIP_USER_ID.equals(userId)) { + img = new File(getImagesDir(), SIP_PICTURE_URI); + } else if (userId != null) { img = new File(getUploadProfilesUserDir(userId), uri == null ? "" : uri); } if (img == null || !img.exists() || img.isDirectory()) { http://git-wip-us.apache.org/repos/asf/openmeetings/blob/17922b6d/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 9a466f5..aba8c43 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,8 +19,9 @@ 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.db.dao.room.SipDao.SIP_FIRST_NAME; import static org.apache.openmeetings.db.dao.room.SipDao.SIP_USER_NAME; +import static org.apache.openmeetings.util.OmFileHelper.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; @@ -319,11 +320,13 @@ public class Application extends AuthenticatedWebApplication implements IApplica } //FIXME TODO rights } else if (client == null && rcl.isSipTransport()) { - rcl.setPicture_uri("phone.png"); + rcl.setUsername(SIP_USER_NAME); + rcl.setUserId(SIP_USER_ID); //SipTransport enters the room User u = new User(); u.setId(SIP_USER_ID); - u.setFirstname(SIP_USER_NAME); + u.setLogin(SIP_USER_NAME); + u.setFirstname(SIP_FIRST_NAME); client = new Client(rcl, u); addOnlineUser(client); client.setCam(0); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/17922b6d/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 c4be939..5389047 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,8 +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.db.dao.room.SipDao.SIP_FIRST_NAME; +import static org.apache.openmeetings.util.OmFileHelper.SIP_USER_ID; 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; @@ -188,7 +188,7 @@ public class ActivitiesPanel extends BasePanel { } String name; if (SIP_USER_ID.equals(a.getSender())) { - name = SIP_USER_NAME; + name = SIP_FIRST_NAME; } else { User u = getBean(UserDao.class).get(a.getSender()); name = self ? getString("1362") : String.format("%s %s", u.getFirstname(), u.getLastname()); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/17922b6d/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java index a5de7c0..871cc12 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java @@ -18,6 +18,8 @@ */ package org.apache.openmeetings.web.util; +import static org.apache.openmeetings.util.OmFileHelper.JPG_MIME_TYPE; +import static org.apache.openmeetings.util.OmFileHelper.SIP_USER_ID; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import static org.apache.openmeetings.web.app.Application.getBean; @@ -75,7 +77,7 @@ public class ProfileImageResourceReference extends ResourceReference { @Override public IResource getResource() { - return new ByteArrayResource("image/jpeg") { + return new ByteArrayResource(JPG_MIME_TYPE) { private static final long serialVersionUID = 1L; private Long userId = null; private String uri = null; @@ -87,7 +89,7 @@ public class ProfileImageResourceReference extends ResourceReference { PageParameters params = attributes.getParameters(); try { userId = params.get("id").toOptionalLong(); - uri = getBean(UserDao.class).get(userId).getPictureuri(); + uri = SIP_USER_ID.equals(userId) ? null : getBean(UserDao.class).get(userId).getPictureuri(); } catch (Exception e) { // no-op, junk filter } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/17922b6d/openmeetings-web/src/main/webapp/default/_profile_phone.png ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/default/_profile_phone.png b/openmeetings-web/src/main/webapp/default/_profile_phone.png deleted file mode 100644 index 9ed6449..0000000 Binary files a/openmeetings-web/src/main/webapp/default/_profile_phone.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/openmeetings/blob/17922b6d/openmeetings-web/src/main/webapp/images/phone.png ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/images/phone.png b/openmeetings-web/src/main/webapp/images/phone.png new file mode 100644 index 0000000..9ed6449 Binary files /dev/null and b/openmeetings-web/src/main/webapp/images/phone.png differ
