Boolean showMicrophoneStatus) {
try {
if (authLevelManagement.checkAdminLevel(user_level)) {
Rooms r = new Rooms();
r.setName(name);
r.setComment(comment);
r.setStarttime(new Date());
r.setNumberOfPartizipants(numberOfPartizipants);
r.setRoomtype(this.getRoomTypesById(roomtypes_id));
r.setIspublic(ispublic);
r.setAllowUserQuestions(allowUserQuestions);
r.setIsAudioOnly(isAudioOnly);
r.setAppointment(appointment);
r.setIsDemoRoom(isDemoRoom);
r.setDemoTime(demoTime);
r.setIsModeratedRoom(isModeratedRoom);
r.setHideTopBar(hideTopBar);
r.setDeleted("false");
r.setIsClosed(isClosed);
r.setRedirectURL(redirectURL);
r.setSipNumber(sipNumber);
r.setConferencePin(conferencePin);
r.setOwnerId(ownerId);
r.setWaitForRecording(waitForRecording);
r.setAllowRecording(allowRecording);
r.setHideChat(hideChat);
r.setHideActivitiesAndActions(hideActivitiesAndActions);
r.setHideActionsMenu(hideActionsMenu);
r.setHideFilesExplorer(hideFilesExplorer);
r.setHideScreenSharing(hideScreenSharing);
r.setHideWhiteboard(hideWhiteboard);
r.setShowMicrophoneStatus(showMicrophoneStatus);
// handle SIP Issues
OpenXGReturnObject openXGReturnObject = openXGHttpClient
.openSIPgCreateConference();
if (openXGReturnObject != null) {
r.setSipNumber(openXGReturnObject.getConferenceNumber());
r.setConferencePin(openXGReturnObject.getConferencePin());
}
/* Red5SIP integration *******************************************************************************/
Configuration conf = cfgManagement.getConfKey(3L, "red5sip.enable");
if(conf != null && conf.getConf_value().equals("yes")) {
SipCreateConferenceRequestResult requestResult = asteriskDbSipClient
.createSIPConference(new SIPCreateConferenceRequest(sipNumber));
if(!requestResult.hasError()) {
r.setSipNumber(requestResult.getConferenceNumber());
r.setConferencePin(requestResult.getConferencePin());
}
}
/*****************************************************************************************************/
r = em.merge(r);
long returnId = r.getRooms_id();
if (organisations != null) {
Long t = this.updateRoomOrganisations(organisations, r);
if (t == null)
return null;
}
if (roomModerators != null) {
roomModeratorsDao.addRoomModeratorByUserList(
roomModerators, r.getRooms_id());
}
return returnId;
}
} catch (Exception ex2) {