Wednesday, October 1, 2008

How to allow users to connect to Oracle Instant Messenger without appending domain to the username while logging in?


Step 1:
Login to the Oracle Collaboration Suite Middle tier where the Oracle RTC has been
installed. Navigate to $ORACLE_HOME/imeeting/bin

Step 2:
Issue the following command

$ rtcctl setproperty –system true –pname IMDomainNames –pvalue "Press ENTER"
“[\”ACTUAL_MID_TIER_RTCSERVER_HOSTNAME\”]”

For e.g
$ rtcctl setproperty –system true –pname IMDomainNames –pvalue
“[\”hostname.com\”]”

Step 3:
Restart the RTC Server
$ rtcctl stop
$ rtcctl start

Now the users should be able to login to Oracle Instant Messenger without appending the hostname (marked in blue in the picture as shown below) while logging in.

RTC Archives

The default behavior is that all web conferences are archived, but Messenger chat sessions are not. Messenger archives can be stored either in the Real-Time Collaboration repository or locally by end users with the Messenger client.

To enable central storage, set a property with this command:

$ rtcctl setProperty -system true -pname IMArchiveEnabled -pvalue true

Useful rtcctl commands

To see that the components are running, use the rtcctl utility’s listcomponents command:

$ rtcctl listcomponents

The ID number is an internal number, not an operating system process number.To display the actual operating system process identifier numbers (PIDs), use the getpids command:

rtcctl> getpids

The command-line utility for managing Real-Time Collaboration is rtcctl, which is located in the ORACLE_HOME/imeeting/bin directory. This is in fact a shell script that launches a Java process. In earlier releases it was called imtctl.

The most useful option for the command is the following:

rtcctl> getproperties –maxlevel all

This command will list 134 properties.

How do you configure & manage RTC user accounts & roles?

Regular users of Real-Time Collaboration have accounts provisioned through the OIDDAS application-provisioning tool. These users will be granted the role Enduser. The other roles can only be granted with the rtcctl command-line utility:
  1. Business Administrator (Businessadmin): There must be at least one user to whom this role has been granted; he will be the super-user for the system.
  2. Business Monitor (Businessmon): This role can generate reports on system usage and quality of service.
To grant these roles, log in to the Oracle Collaboration Suite middle tier server as the
Oracle owner and run the rtcctl utility. For e.g to make the user APPSADMIN a superuser for Real-Time Collaboration, run the following:

$ rtcctl modifyrole –username appsadmin –rolename businessadmin

To revoke an administration role from a user, run the utility again specifying the Enduser role.
Real-Time Collaboration uses four preseeded schemas within the Oracle database on the infrastructure tier: RTC, RTC_REP, RTC_APP, RTC_IM

What are the components of the RTC & their functionalities?

The URL of RTC component is of the form
http:///imtapp/app/home.uix where host is the address of the middle tier’s Web Cache.
The virtual path imtapp maps onto the OC4J component OC4J_imeeting, which must
be running.
To start the OC4J, use the opmnctl utility
$opmnctl startproc process-type=OC4J_imeeting

The server itself is another component that must be started separately:
$opmnctl startproc process-type=rtcpm

The server is implemented as an Apache module that acts as a listening process for all Real-Time Collaboration communication, mod_imeeting, and an independent process, the rtcpm, the Real-Time Collaboration Process Manager.

The mod_imeeting module, deployed as a shared object library, is installed within Apache by including the mod_imeeting.conf file in the oracle_apache.conf file, which is included in the httpd.conf file in the Apache configuration directory. It is dynamically linked and runs on demand, as does any other Apache module. The mod_imeeting module acts as a central point for receiving web requests, which it manages by handing off the socket to the rtcpm process.

The rtcpm process manages several other processes. First, there are three communication services: the Redirector, the Multiplexer, and the Connection Manager. The Redirector receives all connection requests, whether for Web Conference or for
Messenger, and routes Web Conference requests to the Multiplexer, and Messenger requests to the Connection Manager. All the Multiplexers and Connection Managers will have access to the same database schemas.

The Multiplexer acts as a communication hub between end users running the Web Conferencing client and three back-end server processes: the Web Conferencing server,the Document Conversion server and the Voice Conversion server.

The Connection Manager handles sessions between end users running the Messenger client and the Presence server. The Presence servers use the SIMPLE protocol (SIP for Instant
Messaging and Presence Leveraging Extensions SIP stands for Session Initiation Protocol). SIMPLE is layered on top of TCP and is becoming the standard for instant messaging applications and much more. The Oracle Presence server manages the publication of user’s availability and their membership of chat sessions and distributes messages via the connection manager.

A secondary process that may be required by the Presence server is the Voice Proxy server. If the Messenger client is being used for an audio conversation (which is possible, but only between two people) the Presence server sets up a direct connection between the two Messenger clients. If this is not possible, typically because of network protocol and security restrictions, the communication can be via a Voice Proxy server.

The limitations of VoIP is that make it impossible to have full-duplex voice communication between all participants in a web conference (though it is certainly possible for any one participant to broadcast to the others) can be overcome by using the PSTN to establish a parallel telephone conference. The audio traffic over the telephone conference will be integrated into the web conference by the Voice Conversion server.

How to deploy Real Time Collaboration? & How does RTC work?

All access to the Real-Time Collaboration applications can be initiated over HTTP or HTTPS, but there is a limitation: the current release does not fully support the use of reverse proxy servers and load balancers.
It is therefore necessary to configure the network in such a way that users can contact the Real-Time Collaboration server(s) directly. This is less likely to be an issue for internal users on the same intranet but may be a problem for external users coming in through a corporate firewall.

In order to ensure that maximum security is maintained, it may be considered advisable to run the Real-Time Collaboration server on a middle tier node installed specifically for this.

It will only be this node that need be directly routable to (or accessible through NAT) from the outside world. The other middle tier node(s) offering other component application services (and Web Cache, Apache, the Single Sign-On access point, and all the other application components) can be protected by a reverse proxy server and load balancer in the usual fashion.
The user is running a browser somewhere on the Internet. The Oracle Collaboration Suite middle tier consists of two Oracle Application Server middle tier instances in the firewall
DMZ; one runs only the Real-Time Collaboration server, the other runs all the other components. The infrastructure instance with the Collaboration Suite database is behind
the internal firewall. The connection flow is the following:
  1. The user’s browser, through whatever firewall reverse proxy server is in use, requests a connection to Real-Time Collaboration.
  2. If there is no Single Sign-On cookie in the browser, the user is redirected to the Single Sign-On server for authentication. If there is a Single Sign-On cookie,proceed to step 4.
  3. The Single Sign-On cookie is sent back to the browser through the reverse proxy server.
  4. The user is redirected to the Real-Time Collaboration service that he requested in step 1. This service is running on a different middle tier instance, on a directly routable node.
  5. If the user does not have the Web Conference and Messenger consoles installed, the Real-Time Collaboration server generates a download page for these and they are installed on the client; if they are available, they launch immediately.
  6. The consoles establish a session against the Real-Time Collaboration server directly, bypassing the firewall proxy.
  7. The Real-Time Collaboration server connects to the Oracle Collaboration Suite component data store.

What is Oracle Real Time Collaboration (RTC)?

Real Time Collaboration handles synchronous communication between users. The facilities are
  •  Instant text messaging
  • Audio transmission using the Voice over Internet Protocol (VoIP)
  • Ability to broadcast windows from one user’s desktop to others
There are two client-side facilities available for using RTC to the fullest. These are the web conferencing client and the Messenger client.

Real-Time Collaboration consists of a parent process controlled by OPMN in the standard manner for any Oracle Application Server component that manages a number of child processes that provide the functionality. Two child processes, the Document Conversion server and the Voice Conversion server, require a Windows environment.