blob: 097ca96a4c1b15d0678f317e995a8233f267d632 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Copyright 1999-2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Content Stylesheet for Site -->
<!-- start the processing -->
<!-- ====================================================================== -->
<!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
<!-- Main Page Section -->
<!-- ====================================================================== -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="author" content="
OpenMeetings Team
">
<meta name="email" content="sebawagner@apache.org">
<title>Apache OpenMeetings - Using OpenMeetings with RTMPS and HTTPS</title>
<link rel="stylesheet" type="text/css" href="css/openmeetings.css">
<link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
<link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
<link rel="stylesheet" type="text/css" href="css/colorbox.css" />
<!-- Add jQuery library -->
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<!-- Add coinslider plugins -->
<script type="text/javascript" src="js/coin-slider.min.js"></script>
<!-- Add colorbox plugin -->
<script type="text/javascript" src="js/jquery.colorbox.js"></script>
<script src="js/jquery.ui.core.js"></script>
<script src="js/jquery.ui.widget.js"></script>
<script src="js/jquery.ui.accordion.js"></script>
<script>
$(function() {
$( "#accordion" ).accordion({
autoHeight: false,
navigation: true,
navigationFilter: function () {
var sidebarHrefArray = this.href.split("/");
var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
if (sideBarLastString.indexOf("#") == -1) {
return false;
}
/* document.location.href */
var currentSection = "";
var currentLocation = "";
var currentLink = "";
if (false) {
}
else if (document.location.href.indexOf("/index.html") > 0) {
currentLocation = "General";
currentLink = "/index.html".substr(1, "/index.html".length);
}
else if (document.location.href.indexOf("/license.html") > 0) {
currentLocation = "General";
currentLink = "/license.html".substr(1, "/license.html".length);
}
else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
currentLocation = "General";
currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
}
else if (document.location.href.indexOf("/downloads.html") > 0) {
currentLocation = "General";
currentLink = "/downloads.html".substr(1, "/downloads.html".length);
}
else if (document.location.href.indexOf("/commercial-support.html") > 0) {
currentLocation = "General";
currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
}
else if (document.location.href.indexOf("/installation.html") > 0) {
currentLocation = "InstallationandUpgrade";
currentLink = "/installation.html".substr(1, "/installation.html".length);
}
else if (document.location.href.indexOf("/Upgrade.html") > 0) {
currentLocation = "InstallationandUpgrade";
currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
}
else if (document.location.href.indexOf("https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools") > 0) {
currentLocation = "InstallationandUpgrade";
currentLink = "https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools".substr(1, "https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools".length);
}
else if (document.location.href.indexOf("/CommandLineAdmin.html") > 0) {
currentLocation = "InstallationandUpgrade";
currentLink = "/CommandLineAdmin.html".substr(1, "/CommandLineAdmin.html".length);
}
else if (document.location.href.indexOf("/get-involved.html") > 0) {
currentLocation = "Community";
currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
}
else if (document.location.href.indexOf("/team-list.html") > 0) {
currentLocation = "Community";
currentLink = "/team-list.html".substr(1, "/team-list.html".length);
}
else if (document.location.href.indexOf("/mail-lists.html") > 0) {
currentLocation = "Community";
currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
}
else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
currentLocation = "Community";
currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
}
else if (document.location.href.indexOf("/svn.html") > 0) {
currentLocation = "Development";
currentLink = "/svn.html".substr(1, "/svn.html".length);
}
else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
currentLocation = "Development";
currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
}
else if (document.location.href.indexOf("/dependencies.html") > 0) {
currentLocation = "Development";
currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
}
else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
currentLocation = "Development";
currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
}
else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
currentLocation = "Development";
currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
}
else if (document.location.href.indexOf("/ManualTesting.html") > 0) {
currentLocation = "Development";
currentLink = "/ManualTesting.html".substr(1, "/ManualTesting.html".length);
}
else if (document.location.href.indexOf("/ReleaseGuide.html") > 0) {
currentLocation = "Development";
currentLink = "/ReleaseGuide.html".substr(1, "/ReleaseGuide.html".length);
}
else if (document.location.href.indexOf("/WebsiteGuide.html") > 0) {
currentLocation = "Development";
currentLink = "/WebsiteGuide.html".substr(1, "/WebsiteGuide.html".length);
}
else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
currentLocation = "Integration";
currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
}
else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
currentLocation = "Integration";
currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
}
else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
currentLocation = "Integration";
currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
}
else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
currentLocation = "Integration";
currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
}
else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
currentLocation = "Integration";
currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
}
else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
currentLocation = "Plugins";
currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
}
else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
currentLocation = "Plugins";
currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
}
else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
currentLocation = "Plugins";
currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
}
else if (document.location.href.indexOf("/JoomlaPlugin.html") > 0) {
currentLocation = "Plugins";
currentLink = "/JoomlaPlugin.html".substr(1, "/JoomlaPlugin.html".length);
}
else if (document.location.href.indexOf("/DrupalPlugin.html") > 0) {
currentLocation = "Plugins";
currentLink = "/DrupalPlugin.html".substr(1, "/DrupalPlugin.html".length);
}
else if (document.location.href.indexOf("/BitrixPlugin.html") > 0) {
currentLocation = "Plugins";
currentLink = "/BitrixPlugin.html".substr(1, "/BitrixPlugin.html".length);
}
else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
currentLocation = "Plugins";
currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
}
else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
currentLocation = "Plugins";
currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
}
else if (document.location.href.indexOf("/RedminePlugin.html") > 0) {
currentLocation = "Plugins";
currentLink = "/RedminePlugin.html".substr(1, "/RedminePlugin.html".length);
}
else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
currentLocation = "Configuration";
currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
}
else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
currentLocation = "Configuration";
currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
}
else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
currentLocation = "Configuration";
currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
}
else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
currentLocation = "Configuration";
currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
}
else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
currentLocation = "Configuration";
currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
}
else if (document.location.href.indexOf("/MSSQLConfig.html") > 0) {
currentLocation = "Configuration";
currentLink = "/MSSQLConfig.html".substr(1, "/MSSQLConfig.html".length);
}
else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
currentLocation = "Configuration";
currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
}
else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
currentLocation = "Configuration";
currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
}
else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
currentLocation = "Configuration";
currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
}
else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
currentLocation = "Configuration";
currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
}
else if (document.location.href.indexOf("/PortSettings.html") > 0) {
currentLocation = "Configuration";
currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
}
else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
currentLocation = "Configuration";
currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
}
else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
currentLocation = "Configuration";
currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
}
else if (document.location.href.indexOf("/Dashboard.html") > 0) {
currentLocation = "Configuration";
currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
}
else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
currentLocation = "Configuration";
currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
}
else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
currentLocation = "Configuration";
currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
}
else if (document.location.href.indexOf("/HotKeys.html") > 0) {
currentLocation = "Configuration";
currentLink = "/HotKeys.html".substr(1, "/HotKeys.html".length);
}
else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
currentLocation = "Configuration";
currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
}
else if (document.location.href.indexOf("/Navigation.html") > 0) {
currentLocation = "Configuration";
currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
}
else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
currentLocation = "Configuration";
currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
}
else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
currentLocation = "Configuration";
currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
}
else if (document.location.href.indexOf("/CustomCryptMechanism.html") > 0) {
currentLocation = "Configuration";
currentLink = "/CustomCryptMechanism.html".substr(1, "/CustomCryptMechanism.html".length);
}
else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
currentLocation = "Configuration";
currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
}
else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
currentLocation = "Configuration";
currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
}
else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
currentLocation = "Configuration";
currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
}
else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
currentLocation = "Configuration";
currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
}
else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
currentLocation = "Configuration";
currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
}
else if (document.location.href.indexOf("/Clustering.html") > 0) {
currentLocation = "Configuration";
currentLink = "/Clustering.html".substr(1, "/Clustering.html".length);
}
else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
currentLocation = "Configuration";
currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
}
currentLink = currentLink.toLowerCase();
currentLocation = currentLocation.toLowerCase();
return sideBarLastString == currentLink+"#"+currentLocation;
}
});
});
</script>
<script type="text/javascript">
$(document).ready(function() {
$('.fancybox-buttons').colorbox({rel:'fancybox-buttons',width:"75%", height:"75%"});
$('#accordion a').each(function() {
var a = $(this);
var href = a.attr("href");
if (href.indexOf("#") == -1) {
var compareIt = href.substr(2, href.length);
if (document.location.href.indexOf(compareIt)!= -1) {
a.addClass('active');
}
}
});
$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000 });
});
</script>
<style type="text/css">
.fancybox-custom .fancybox-outer {
box-shadow: 0 0 50px #222;
}
</style>
</head>
<body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">
<div class="mainbody" style="width: 100%;">
<div class="superbody" style="width: 100%;">
<table border="0" width="100%" cellspacing="0">
<!-- TOP IMAGE -->
<tr>
<td align="left">
<a href="http://openmeetings.apache.org/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
</td>
<td width="80%" align="right" valign="top" >
<a href="demo.html">Demo</a>
<span>|</span>
<a href="downloads.html" target="_PARENT">Download</a>
<span>|</span>
<a href="installation.html" target="_PARENT">Installation</a>
<span>|</span>
<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
<span>&nbsp;</span>
</td>
</tr>
</table>
<table border="0" width="100%" cellspacing="4">
<tr><td colspan="2">
<hr noshade="noshade" size="1"/>
</td></tr>
<tr>
<!-- LEFT SIDE NAVIGATION -->
<td width="20%" valign="top" nowrap="nowrap">
<!-- special ACon Logo - leave here for next time
<a href="http://apachecon.com/2005/US/">
<img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
width="125" border="0" alt="ApacheCon US 2005" />
</a> -->
<!-- regular menu -->
<!-- ============================================================ -->
<div id="accordion" style="width: 100%">
<h3><a href="#General">General</a></h3>
<div>
<a href="./index.html">Home</a>
<br/>
<a href="./license.html">License</a>
<br/>
<a href="http://www.apache.org/">ASF</a>
<br/>
<a href="./downloads.html">Downloads</a>
<br/>
<a href="./commercial-support.html">Commercial Support</a>
<br/>
</div>
<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
<div>
<a href="./installation.html">Installation</a>
<br/>
<a href="./Upgrade.html">Upgrade</a>
<br/>
<a href=".https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools">Tutorials</a>
<br/>
<a href="./CommandLineAdmin.html">Command Line Admin</a>
<br/>
</div>
<h3><a href="#Community">Community</a></h3>
<div>
<a href="./get-involved.html">Get Involved</a>
<br/>
<a href="./team-list.html">Committers</a>
<br/>
<a href="./mail-lists.html">Mailing Lists</a>
<br/>
<a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
<br/>
</div>
<h3><a href="#Development">Development</a></h3>
<div>
<a href="./svn.html">Source Code</a>
<br/>
<a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
<br/>
<a href="./dependencies.html">Dependencies</a>
<br/>
<a href="./BuildInstructions.html">Build Instructions</a>
<br/>
<a href="./JUnitTesting.html">JUnit Testing</a>
<br/>
<a href="./ManualTesting.html">Manual Testing</a>
<br/>
<a href="./ReleaseGuide.html">Release Guide</a>
<br/>
<a href="./WebsiteGuide.html">Website Guide</a>
<br/>
</div>
<h3><a href="#Integration">Integration</a></h3>
<div>
<a href="./SoapRestAPI.html">SOAP/REST API</a>
<br/>
<a href="./RestAPISample.html">REST API Sample</a>
<br/>
<a href="./LdapAndADS.html">Ldap and ADS</a>
<br/>
<a href="./voip-sip-integration.html">VoIP and SIP</a>
<br/>
<a href="./ErrorsTable.html">Errors table</a>
<br/>
</div>
<h3><a href="#Plugins">Plugins</a></h3>
<div>
<a href="./MoodlePlugin.html">Moodle Plugin</a>
<br/>
<a href="./SakaiPlugin.html">Sakai Plugin</a>
<br/>
<a href="./JiraPlugin.html">Jira Plugin</a>
<br/>
<a href="./JoomlaPlugin.html">Joomla Plugin</a>
<br/>
<a href="./DrupalPlugin.html">Drupal Plugin</a>
<br/>
<a href="./BitrixPlugin.html">Bitrix Plugin</a>
<br/>
<a href="./ConfluencePlugin.html">Confluence Plugin</a>
<br/>
<a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
<br/>
<a href="./RedminePlugin.html">Redmine Plugin</a>
<br/>
</div>
<h3><a href="#Configuration">Configuration</a></h3>
<div>
<b>DB Sample Configurations</b><br/>
<a href="./ApacheDerbyConfig.html">Apache Derby</a>
<br/>
<a href="./IBMDB2Config.html">IBM DB2</a>
<br/>
<a href="./OracleConfig.html">Oracle</a>
<br/>
<a href="./MySQLConfig.html">MySQL</a>
<br/>
<a href="./PostgresConfig.html">Postgres</a>
<br/>
<a href="./MSSQLConfig.html">MSSQL</a>
<br/>
<b>Localization and languages</b><br/>
<a href="./Internationalisation.html">Internationalisation</a>
<br/>
<a href="./LanguageEditor.html">LanguageEditor</a>
<br/>
<a href="./TimeZoneHandling.html">TimeZoneHandling</a>
<br/>
<a href="./EditTemplates.html">EditTemplates</a>
<br/>
<b>NAT Port Settings</b><br/>
<a href="./PortSettings.html">Port settings</a>
<br/>
<b>Performance</b><br/>
<a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
<br/>
<b>User Interface</b><br/>
<a href="./themes-and-branding.html">Themes</a>
<br/>
<a href="./Dashboard.html">Dashboard</a>
<br/>
<a href="./WebcamResolutions.html">Webcam resolutions</a>
<br/>
<a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
<br/>
<a href="./HotKeys.html">Hot Keys</a>
<br/>
<b>Customization</b><br/>
<a href="./WebappNamePath.html">Webapp name/path</a>
<br/>
<a href="./Navigation.html">Navigation</a>
<br/>
<a href="./CalendarAndTimezone.html">Calendar and timezone</a>
<br/>
<a href="./CustomRoomTypeHowTo.html">Custom room type</a>
<br/>
<a href="./CustomCryptMechanism.html">Custom ctypt mechanism</a>
<br/>
<a href="./GeneralConfiguration.html">General Configuration</a>
<br/>
<b>Security</b><br/>
<a href="./RestrictedAccess.html">Restricted Access</a>
<br/>
<a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
<br/>
<b>Converters</b><br/>
<a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
<br/>
<a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
<br/>
<b>Clustering</b><br/>
<a href="./Clustering.html">Clustering</a>
<br/>
<b>Misc</b><br/>
<a href="./GetVersionInfo.html">Get version info</a>
<br/>
</div>
</div>
<br/>
</td>
<td width="80%" align="left" valign="top">
<table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td ><!-- bgcolor="#EEEEEE" -->
<font color="#000000" face="verdana,arial,helvetica,sanserif">
<a name="Using OpenMeetings with RTMPS and HTTPS"><strong>Using OpenMeetings with RTMPS and HTTPS</strong></a>
</font>
<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
</td></tr>
<tr><td>
<blockquote>
<p>There are 3 ways the client communicates with the server: </p>
<ul>
<li>The flash-client uses RTMP protocol to transfer Audio/Video and
to send and receive the user data (login et cetera) to the server
and back
</li>
<li>The browser uses HTTP protocol to load the SWF and to upload and
download the files (documents, pdfs, images) to the server and
back.
</li>
<li>The screensharing client uses RTMP protocol to transfer screen
data and remote control to the server and back
</li>
</ul>
</blockquote>
</td></tr>
<tr><td><br/></td></tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td ><!-- bgcolor="#EEEEEE" -->
<font color="#000000" face="verdana,arial,helvetica,sanserif">
<a name="Prerequisites"><strong>Prerequisites</strong></a>
</font>
<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
</td></tr>
<tr><td>
<blockquote>
<ul>
<li>You need OpenMeetings 1.9.x for this, OpenMeetings 1.8.x does
not
have those options.
</li>
<li>Install OpenMeetings according to the install instructions and
check that it runs without problems
</li>
<li>Rename the existing keystore file red5/conf/keystore to
keystore.bak
</li>
</ul>
</blockquote>
</td></tr>
<tr><td><br/></td></tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td ><!-- bgcolor="#EEEEEE" -->
<font color="#000000" face="verdana,arial,helvetica,sanserif">
<a name="Configuring RTMPS for the Flash Client"><strong>Configuring RTMPS for the Flash Client</strong></a>
</font>
<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
</td></tr>
<tr><td>
<blockquote>
<ol>
<li>
Create a new keystore and key, use the same password for both:<br />
(copied from
<a href="http://trac.red5.org/wiki/Documentation/Tutorials/Red5DeveloperTips/SSLTLS%29:" rel="nofollow">http://trac.red5.org/wiki/Documentation/Tutorials/Red5DeveloperTips/SSLTLS):</a>
<div class="xmlcode">
keytool -keysize 2048 -genkey -alias red5 -keyalg RSA -keystore red5/conf/keystore<br />
Enter keystore password:<br />
Re-enter new password:<br />
What is your first and last name?<br />
[Unknown]: &lt;your hostname, e.g demo.openmeetings.de&gt;<br />
What is the name of your organizational unit?<br />
[Unknown]: Dev<br />
What is the name of your organization?<br />
[Unknown]: OpenMeetings<br />
What is the name of your City or Locality?<br />
[Unknown]: Henderson<br />
What is the name of your State or Province?<br />
[Unknown]: Nevada<br />
What is the two-letter country code for this unit?<br />
[Unknown]: US<br />
Is CN=demo.openmeetings.de, OU=Dev, O=OpenMeetings, L=Henderson, ST=Nevada, C=US correct?<br />
[no]: yes<br />
Enter key password for &lt;red5&gt;<br />
</div>
</li>
<li>Generate a CSR: keytool -certreq -keyalg RSA -alias red5 -file
red5.csr -keystore red5/conf/keystore
</li>
<li>Submit CSR to your CA of choice and receive a signed certificate
</li>
<li>Import your chosen CA's root certificate into the keystore (may
need to download it from their site - make sure to get the root CA and
not the intermediate one): keytool -import -alias root -keystore
red5/conf/keystore
-trustcacerts -file root.crt (note: you may receive a warning that
the certificate already exists in the system wide keystore - import
anyway)
</li>
<li>Import the intermediate certificate(s) you normally receive with
the certificate:
keytool -import -alias intermed -keystore red5/conf/keystore -trustcacerts
-file intermediate.crt
</li>
<li>Import the certificate you received: keytool -import -alias red5
-keystore red5/conf/keystore -trustcacerts -file
demo.openmeetings.de.crt
</li>
<li>
Create additional certificate as described above.
Add this certificate to the following keystores: <tt>red5/conf/keystore.screen</tt> and <tt>red5/conf/keystore</tt>.
</li>
</ol>
</blockquote>
</td></tr>
<tr><td><br/></td></tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td ><!-- bgcolor="#EEEEEE" -->
<font color="#000000" face="verdana,arial,helvetica,sanserif">
<a name="Set up RTMPS"><strong>Set up RTMPS</strong></a>
</font>
<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
</td></tr>
<tr><td>
<blockquote>
<ol>
<li>
Uncomment <tt>&lt;!-- RTMPS --&gt;</tt> section in <tt>red5/conf/red5-core.xml</tt>
</li>
<li>
Edit <tt>red5/conf/red5.properties</tt> and set
<tt>rtmps.port=5443</tt>
and
<tt>rtmps.keystorepass=password</tt>
(password = password you set on your new
keystore)
</li>
<li>
Edit red5/webapps/openmeetings/config.xml and set
<tt>&lt;rtmpsslport&gt;5443&lt;/rtmpsslport&gt;</tt>
,
<tt>&lt;useSSL&gt;yes&lt;/useSSL&gt;</tt>
and
<tt>&lt;proxyType&gt;best&lt;/proxyType&gt;</tt>
</li>
<li>Restart red5 and try to connect - your connection should now be
made via RTMPS (close port 1935 to be sure)
</li>
</ol>
</blockquote>
</td></tr>
<tr><td><br/></td></tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td ><!-- bgcolor="#EEEEEE" -->
<font color="#000000" face="verdana,arial,helvetica,sanserif">
<a name="SSL for the web interface"><strong>SSL for the web interface</strong></a>
</font>
<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
</td></tr>
<tr><td>
<blockquote>
<p>If you want to use SSL for the web interface in addition to RTMPS,
you need to make some further modifications. This is mainly to secure
the server against MITM attacks, additionally some other features
like file uploads also use a plain HTTP connection if this is not
done. The following instructions assume that you have already set up
RTMPS successfully. </p>
<ol>
<li>
Copy this <tt>red5/conf/jee-container-ssl.xml</tt>
file to <tt>red5/conf/jee-container.xml</tt>
</li>
<li>
Edit red5/webapps/openmeetings/config.xml and set
<tt>&lt;protocol&gt;https&lt;/protocol&gt;</tt>
</li>
<li>
Edit red5/webapps/openmeetings/config.xml and set
<tt>red5httpport</tt> to <tt>https</tt> port
</li>
<li>In webapps/openmeetings/WEB-INF/conf/axis2.xml add (below the existing http transportReceiver (around line 225))
<div class="xmlcode">&lt;transportReceiver name="https" class="org.apache.axis2.transport.http.AxisServletListener"&gt;<br />
    &lt;parameter name="port"&gt;443&lt;/parameter&gt;<br />
&lt;/transportReceiver&gt;</div>
</li>
<li>Edit red5/conf/red5.properties and set <tt>https.port=443</tt> </li>
<li>
Restart red5 and try to connect to
<a href="https://your.server" rel="nofollow">https://your.server</a>
- you should be redirected to the OpenMeetings
app and all access should be via HTTPS or RTMPS (close port 5080 to
be sure).
</li>
</ol>
</blockquote>
</td></tr>
<tr><td><br/></td></tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td ><!-- bgcolor="#EEEEEE" -->
<font color="#000000" face="verdana,arial,helvetica,sanserif">
<a name="Credits"><strong>Credits</strong></a>
</font>
<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
</td></tr>
<tr><td>
<blockquote>
<p>Credits goto: Nexus and Holger Rabbach for their help and
contribution and configuration documention! </p>
</blockquote>
</td></tr>
<tr><td><br/></td></tr>
</table>
</td>
</tr>
<!-- FOOTER -->
<tr><td colspan="2">
<hr noshade="noshade" size="1"/>
</td></tr>
<tr><td colspan="2">
<div align="center"><font color="#123465" size="-1"><em>
Copyright &#169; 2003-2013, The Apache Software Foundation
</em></font></div>
</td></tr>
</table>
</div>
</div>
</body>
</html>
<!-- end the processing -->