Contact About FAQ Blog
Call 408-899-2831
Home   Products   Customers   Buy   Partners   Support   Register for Webinars


Integration with the RHUB Web Conferencing & Remote Support Solutions

The following is a set of interfaces to integrate the RHUB server with your web or Windows based applications and audio conferencing.

  1. Web-based APIs to start and join a meeting
  2. Embed a web viewer into your web page
  3. Windows-based APIs to start and join a meeting
  4. The URL to publish scheduled public meetings
  5. The interface to integrate with your audio conferencing bridge or service
  6. User authentication via your application server (e.g., CRM server, LDAP)
  7. Direct integration with LDAP
  8. Integrate webinar registration with your website
  9. Integrate with your PBX

If you are an application software vendor, you may want to embed some functions in your software to facilitate your customers for the TurboMeeting integration. You are welcome to contact RHUB for integration support

Web-based APIs to start and join a meeting
You can call the following two URLs to start and join a meeting.
  • URL to start a meeting

  • http://your_meeting_server_address/as/wapi/goto_downloader?role=host&email=xxx&user_password=yyy

    where "xxx" is your email address and "yyy" is your password. If you are concerned with the password displayed in the URL, leave the password value empty. The TurboMeeting client software will ask users to input the password.

  • URL to join a meeting
  • http://your_meeting_server_address/as/wapi/goto_downloader?role=attendee&name=xxx&meeting_id=yyy&password=zzz&sumbit=submit

    where "xxx" is your name,  "yyy" meeting ID, and "zzz" meeting password.

Embed a web viewer into your web page
You can use frame (or iframe) to embed a web viewer into any of your web page by the following URL:


where "xxx" is your name,  "yyy" meeting ID, and "zzz" meeting password.

Windows-based APIs to start and join a meeting

You can place Start and Join Meeting buttons in your Windows based application and let users launch TurboMeeting meetings just from your application.

The following is a suggested workflow:

  1. Test if TurboMeeting has been installed. If not, call the web-based APIs to let users start and join meeting from the web. After this first-time web-based API call, TurboMeeting is installed.
  2. If TurboMeeting is installed, find the TurboMeeting.exe path, generate a temporary file called "Command File" to contain the parameters needed by TurboMeeting and execute the following DOS command line:

TurboMeeting-Path --cmd Command-File-Path

For example,

C:\Documents and Settings\Administrator\Application Data\TurboMeeting\TurboMeeting\TurboMeeting.exe --cmd c:\MyApplication\LaunchTM.txt

Depending on the values in the Command File, the above will start or join a meeting. After TurboMeeting is launched, the Command File will be removed by TurboMeeting in order to keep the parameters inside the file secured.

You can find the TurboMeeting.exe path by clicking "Start", "All Programs", and "TurboMeeting". Then right-click "Start Meeting" and select "Properties". The property dialog displays the TurboMeeting.exe path. Another quick way to find the TurboMeeting.exe path is to right-click the TurboMeeting icon on your desktop and then select "Properties". However, the desktop icon can be easily removed by users.

 The TurboMeeting.exe path should be programmatically retrieved by your application. Click here to download a sample written in VC++.

The Command File is defined in an XML format. Below are two samples, one for joining a meeting, the other for starting a meeting:

Join a Meeting:				
<AttendeeName>Brian Smith</AttendeeName> 
Start a Meeting:
The values of the XML elements are defined below:

<Action>: "Host" if it is to host a meeting. "Join" if it is to join a meeting

<ServerAddress>:  The TurboMeeting server address

<ServerPort>: One of the available TurboMeeting server Ports: 80, 443 or 8889. Fill in 80 if it is available.

<MeetingPassword>: Meeting password, used only when Action = Join

<MeetingId>: Meeting ID, required when Action = Join.

<AttendeeName>: Attendee name, required only when Action = Join

<Email>: The host email address, required only when Action = Host

<UserPassword>: The host password at the TurboMeeting server, required only when Action = Host

<MeetingType>: "0" for Interactive Meeting; "1" for remote support; "2" for remote access; "3" for seminar. This is required only when the Action is Host.

<StartMeetingNow> "Y" to start a meeting right away; "N" to start TurboMeeting and sign in. This is required only when Action = Host

<StartAtMinimized>: "Y": minimize TurboMeeting when started; "N": display the TurboMeeting control panel when started. When Action = Host, it should be "N" so that the meeting Host can read the Meeting ID from the meeting panel and invite attendees.

The URL to publish scheduled public meetings

You may want to publish some scheduled meetings on your website so that visitors can easily join the meetings such as a sales or training seminar. The steps below show you how to publish those meetings on your website.

  1. Schedule a meeting. On the schedule meeting dialog, check the "To be published"

  2. publish meetings

  3. Login to the web console and click "Manage Meetings". Look for the section "The URL to publish the scheduled public meetings in HTML". You can also use "The URL to publish the scheduled public meetings in XML", which will give the flexibility to integrate the list of scheduled meeting with any of your applications.
  4. Paste the URL on your website. To embed the list of scheduled meetings into your web page, use iFrame.


The interface to integrate with your audio conferencing bridge or service

You can integrate with TurboMeeting any audio conferencing services including your own audio conferencing bridge. The integration is as easy as inputting a call number to the TurboMeeting system. The call number is shown in your meeting invitation messages and the TurboMeeting meeting control panel automatically.

Follow the steps below:

  1. Login to the web console
  2. Click the "Manage Meetings" link
  3. Look for the audio conferencing integration section. Check the option "My audio conferencing number" and input your audio conferencing number.
  4. If you would like to use TurboMeeting ID as the audio conference code, check "Use Meeting ID as the audio conference Access Code".

    audio conferencing integration

User authentication via your application server (e.g., CRM server, LDAP)

To facilitate the TurboMeeting deployment to all employees in your organization, you may want to use your own server to do the user authentication. For example, you can use your CRM system or LDAP to authenticate TurboMeeting users so that you can manage users in a single system.

In order to do the integration, you need to set up an adapter, which is a web server to

1. Accept a user authentication URL call from the TurboMeeting server

2. Parse the URL and send a user authentication request to your server

3. Based on the response from your server, return a proper response in XML to the TurboMeeting server.

The parameters in the URL calling from the TurboMeeting server are:

email The email address that a user inputs to a TurboMeeting client. Note that the email address can be any string, for example, a user name. It depends on the user authentication format of your server.  
password The password that a user inputs to a TurboMeeting client. Note that the password is secured between TurboMeeting client and server via both proprietary encryption and SSL encryption. The transmission of the password between the TurboMeeting server and your server  can be encrypted by SSL if you instructs the TurboMeeting server to use a HTTPS user authentication URL.

The response from your server to the TurboMeeting server should follow the format below:





<__Status__> has a value of either SUCCEED or FAILED depending on whether the user authentication succeeds or not.

<__Reason__> needs a value when the Status is FAILED. The reason for failed user authentication will be displayed to TurboMeeting users.

<__FirstName__> is the first name of an authenticated user.

<__LastName__> is the last name of an authenticated user.

<__Phone__> is the phone of an authenticated user.

<__UserId__> is the user ID of an authenticated user in your server. The ID is likely used in the future integration functions, for example, interpreting report data from TurboMeeting.

<__IsAdministrator__> has a value of either "Y" or "N" depending on whether the user is a system administrator.

<__PrivilegeInteractiveMeeting__> has a value of either "Y" or "N" depending on whether the user can hold an interactive meeting.

<__PrivilegeSeminar__> has a value of either "Y" or "N" depending on whether the user can host a seminar.

<__PrivilegeRemoteSupport__> has a value of either "Y" or "N" depending on whether the user can hold a remote support session.

<__PrivilegeRemoteAccess__> has a value of either "Y" or "N" depending on whether the user can host a remote access session.

<__PrivilegeSendFile__> has a value of either "Y" or "N" depending on whether the user can send files during a meeting session.

<__PrivilegeChat__> has a value of either "Y" or "N" depending on whether the user can chat during a meeting session.

<__PrivilegeRecord__> has a value of either "Y" or "N" depending on whether the user can record during a meeting session.

<__VideoConference__> has a value of either "Y" or "N" depending on whether the user can do multipoint webcam based video conferencing during a meeting session.

<__UserGroupName__> defines the user group this user belongs to.

<__TimeZone__> indicates the user's time zone. It will be used for schedule meetings. The values are defined below:

101: (GMT-12:00) International Date Line West
102: (GMT-11:00) Midway Island, Samoa
103: (GMT-10:00) Hawaii
104: (GMT-09:00) Alaska
80:  (GMT-08:00) Pacific Time (US &amp; Canada)
106: (GMT-08:00) Tijuana, Baja California
79:  (GMT-07:00) Arizona
108: (GMT-07:00) Chihuahua, La Paz, Mazatlan- New
109: (GMT-07:00) Chihuahua, La Paz, Mazatlan- Old
78:  (GMT-07:00) Mountain Time (US &amp; Canada)
111: (GMT-06:00) Central America
76:  (GMT-06:00) Central Time (US &amp; Canada)
113: (GMT-06:00) Guadalajara, Mexico City, Monterrey- New
114: (GMT-06:00) Guadalajara, Mexico City, Monterrey- Old
115: (GMT-06:00) Saskatchewan
116: (GMT-05:00) Bogota, Lima, Quito, Rio Branco
73:  (GMT-05:00) Eastern Time (US &amp; Canada)
118: (GMT-05:00) Indiana (East)
119: (GMT-04:00) Atlantic Time (Canada)
120: (GMT-04:00) Caracas, La Paz
121: (GMT-04:00) Manaus
122: (GMT-04:00) Santiago
123: (GMT-3:30) Newfoundland
124: (GMT-03:00) Brasilia
125: (GMT-03:00) Buenos Aires, Georgetown
126: (GMT-03:00) Greenland
127: (GMT-03:00) Montevideo
128: (GMT-02:00) Mid Atlantic
129: (GMT-01:00) Azores
130: (GMT-01:00) Cape Verde Is.
131: (GMT) Casablanca, Monrovia, Reykjavik
132: (GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London
133: (GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
134: (GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague
135: (GMT+01:00) Brussels, Copenhagen, Madrid, Paris
136: (GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb
137: (GMT+01:00) West Central Africa
138: (GMT+02:00) Amman
139: (GMT+02:00) Athens, Bucharest, Istanbul
140: (GMT+02:00) Beirut
141: (GMT+02:00) Cairo
142: (GMT+02:00) Harare, Pretoria
143: (GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius
144: (GMT+02:00) Jerusalem
145: (GMT+02:00) Minsk
146: (GMT+02:00) Windhoek
147: (GMT+03:00) Baghdad
148: (GMT+03:00) Kuwait, Riyadh
149: (GMT+03:00) Moscow, St. Petersburg, Volgograd
150: (GMT+03:00) Nairobi
151: (GMT+03:00) Tbilisi
152: (GMT+03:30) Tehran
153: (GMT+04:00) Abu Dhabi, Muscat
154: (GMT+04:00) Baku
155: (GMT+04:00) Yerevan
156: (GMT+04:30) Kabul
157: (GMT+05:00) Ekaterinburg
158: (GMT+05:00) Islamabad, Karachi, Tashkent
32:  (GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi
160: (GMT+05:30) Sri Jayawardenepura
161: (GMT+05:45) Kathmandu
162: (GMT+06:00) Almaty, Novosibirsk
163: (GMT+06:00) Astana, Dhaka
164: (GMT+06:30) Yangon (Rangoon)
165: (GMT+07:00) Bangkok, Hanoi, Jakarta
166: (GMT+07:00) Krasnoyarsk
24:  (GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi
168: (GMT+08:00) Irkutsk, Ulaan Bataar
169: (GMT+08:00) Kuala Lumpur, Singapore
170: (GMT+08:00) Perth
22:  (GMT+08:00) Taipei
17:  (GMT+09:00) Osaka, Sapporo, Tokyo
173: (GMT+09:00) Seoul
174: (GMT+09:00) Yakutsk
175: (GMT+09:30) Adelaide
176: (GMT+09:30) Darwin
177: (GMT+10:00) Brisbane
178: (GMT+10:00) Canberra, Melbourne, Sydney
179: (GMT+10:00) Guam, Port Moresby
180: (GMT+10:00) Hobart
181: (GMT+10:00) Vladivostok
182: (GMT+11:00) Magaden, Solomon Is., New Caledonia
183: (GMT+12:00) Auckland, Wellington
184: (GMT+12:00) Fiji, Kamchatka, Marshall Is.
185: (GMT+13:00) Nuku'alofa

After you set up the integration adapter, you need to tell the TurboMeeting server your user authentication URL:

1. Go to your TurboMeeting server web administration console

2. Click the "Application Server" link under the Integration section. You will see the following page:


On the page, input your user authentication URL to accept calls from the TurboMeeting server. You can use either HTTP or HTTPS. However, if you use HTTPS, make sure your adapter response HTTPS header contains the field "Content-Length".

Do not add any parameters in the URL. The TurboMeeting server will attach two parameters to your URL and the final URL calling your adapter will be like:


You can choose to have the TurboMeeting server cache user passwords. With cached passwords, when your adapter is down, the TurboMeeting server will conduct the user authentication independently based on the previous successes. The cached passwords are irreversibly encrypted and saved in the TurboMeeting server database. If you want to delete a user profile from the TurboMeeting server, your adapter simply returns "FAILED" to the TurboMeeting server when the user tries to sign in TurboMeeting.

Direct integration with LDAP
You can easily integrate RHUB servers with your LDAP servers including Active Directory servers for user authentication. You just fill in one form and it is done (see the figure below).

Note that if your LDAP supports multiple domains, use the port 3268.

LDAP integration


Integrate webinar registration with your website

All RHUB servers come with a webinar registration function to facilitate your webinar hosting. The webinar registration function allows you to:

  1. Create and edit webinars
  2. Publish webinars together with a registration form
  3. Collect registrations, which can be exported to an Excel sheet.

There are two ways to integrate the registration form to your website: use the system built-in webinar registration page or embed the registration form into your own web page.

1. Use the system built-in webinar registration page

Goto the "Webinar Registration" section on your web-based admin console and open "URLs". You will see three URLs shown in the figure below. Choose the first URL and publish it on your website.

webinar management

2. Embed the registration into your own web page

Open the third URL shown in the above figure and you will see a page like the following one. Follow the instruction and you can build a completely customized webinar registration page. See a live sample at the RHUB website:


webinar registration page

Integrate with your PBX

You can integrate your RHUB web conferencing server with your PBX so that callers from your PBX and attendees using headsets with TurboMeeting can have audio conferencing together while sharing desktops. The audio together the presenter's screen updates can be recorded. The integration offers you a number of benefits.

The integration needs the RHUB support staff to assist. Please contact us for the integration.

Note that at this moment, the integration requires your PBX to open a set of UDP ports to a trusted RHUB server so that the RHUB server makes proper connections between your appliance and your PBX. The RHUB server essentially works as a SIP session border controller. The service provided by the RHUB server is part of our product warranty service. There is no extra change for it. If you cannot meet the open-port requirement, the integration does not work for you for now.