Confcntlr is a graphical user interface and communication tool. The graphical user interface is for initiating actions and setting the controls for the video and audio portions of a conference. Options and session values are displayed and can be changed in the windows. When confcntlr starts, default values are used. These startup values can be changed by the user.
The communication tool allows message exchange between remote hosts over a network and between applications on a single host. Messages may be sent to start or stop tools or to change settings of tools that are running. (See OPERATION and SETTING DEFAULTS.) Messages may also be sent to ask confcntlr to forward the conference bus messages it receives to designated hosts. (See FORWARDING CONFERENCE BUS MESSAGES.)
Confcntlr is meant to control only one videoconference. However,
multiple confcntlrs can be executed on one host. (Version 0.4 or
higher is required.) Each confcntlr running on the local host must
have a unique port on which it listens for connection requests from remote
confcntlrs. Confcntlrs running on different hosts and controlling
the same conference must have the same port number. Each conference controller
can launch one or two vics and one vat either locally or
from a remote site. Confcntlr must be started before running vic
and vat. There are security features for access control to confcntlr
and encryption of messages sent over the network may be supported. (See
SECURITY
WINDOW.)
Use filename for default values. If filename is not found in the home directory at startup, system defaults are used and the current settings are saved to this file upon termination. If not specified, the home directory is searched for .confcntlrrc.
Use file given by pathname as a defaults file to overwrite default values. Upon termination, changes are NOT saved to this file. For example, this option may be used to set the conference address and port for this conference only. (Version 0.4.1 or higher is required.)
Specify "yes" to automatically start all tools locally. If "no" is specified, or if this option is not used, local tools must be started from the conference controller's Conference Window. (Version 0.4.1 or higher is required.)
Use key as the encryption key for confcntlr-crypt.
Set the port on which confcntlr listens for connection requests from remote confcntlrs. Specify port as an integer greater than 6000. If not specified, the default port 62525 is used.
MAIN WINDOW
Remote Host Names
The entry field labeled "Contact Host" shows the name of the machine to connect to. Use this field to type or edit the name of the remote site you want to communicate with. Do not use the same name as the local host and do not use a multicast address. To bring up a menu with predefined addresses, click on the button with the arrow. If you press the return key or click on a button and confcntlr is running on that host, you will get that host's session status, settings, and video/audio devices. You can change the list of host addresses or add new addresses by editing the following line in the defaults file (e.g., $HOME/.confcntlrrc):
The field labeled "Remote User" indicates the most recent user who started/stopped a session or changed the settings from a remote host. The format is: user@hostname.
Status
The main window shows the authorization level and which tools are running. The left column of buttons labeled "Status" indicates the tools running on the local host and the right column indicates tools running remotely, in order of video 1, video 2, and audio. A red button indicates that a tool is running. The stop sign image indicates the authorization level. If it is green, control access to confcntlr is granted to anyone. If it is yellow, control is allowed by users and hosts on the authorization list. If it is red, no one is allowed control access.
Subwindows
Click on the buttons labeled "Settings", "Conference", and "Security" to bring up the windows described below.
At startup, if you specify a Contact Host and confcntlr is running on that host, you will automatically get its settings.
Quitting confcntlr
To quit the program, click on the button labeled "Quit". If changes were made (for four different categories), you will be prompted about saving the changes. Clicking "OK" saves changes made in the categories marked "Save," while clicking "CANCEL" doesn't save any changes (i.e., it is the same as selecting "Don't Save" for every category of changes).
LOCAL WINDOW
This window allows you to change the settings for video and audio tools running on the local host. There is a section for each tool with the titles "vic 1," "vic 2," and "vat" for video 1, video 2, and audio, respectively.
For video, a dialog box will appear if the bandwidth or frame rate is set to a value that exceeds the recommended limit. If you still want to use this value, click on the button labeled "USE ANYWAY". If you want to edit the value, type in the entry field and then click "SET". If you want to go back to the default value, click on "SET TO DEFAULT". If you want to use the previous value, click on "UNDO CHANGE".
Conference Name Extension
The entry field labeled "ConfName Ext" is for specifying an optional extension to the conference name. The characters "/", "#", and "@" are not allowed since they are used by the program.
Video Transmission
To start or stop video transmission, click on the button labeled "Transmit Video". A red checkbox indicates transmission is "on".
Video Settings
The bandwidth, frame rate, quality, and device may be changed via their pulldown menus or typing in their entry fields and ending with the return key. The format and input jack (Port...) can be changed only via its pulldown menu.
If you want the value you typed for quality to be kept as the quality associated with the current format, press the return key after typing the entry.
Since different video formats support different quality ranges, changing the video format will automatically change the range of values for the video quality. Cellb does not support quality, so if cellb is the selected format, the quality menubutton and entry field are disabled.
Audio Settings
The audio format can be changed by either typing in its entry field or clicking on the button labeled with an arrow. Lecture mode, recv-only, and "keep audio" can be turned on and off by clicking in their checkboxes. A red checkbox means "on." Clicking on the "listen" and "talk" checkboxes mutes or unmutes the output and input devices; red means "unmuted." To change a device, click on the button labeled with an arrow below the "talk" or "listen" checkbox. Then click on your selection. The image to the left of the button displays the current device. You may change the devices available by editing the list of values for "audioOutputDevices" and "audioInputDevices" in the defaults file.
The sliders to the left of the devices are for changing the gain levels. The selected output mode applies to the current output device. External echo cancellation ("ExtEchoCancel") is available only if the "localvat.echoCancel" value is "true" in the defaults file. (Version 0.4 or higher is required for most of the audio features.)
The bitmaps to indicate the current input/output devices are part of the vat source code.
Advanced Audio Settings
Clicking on the button labeled "AdvAud" will bring up a window with
controls for local audio tests. If your $HOME/.vat.tcl file contains a
procedure for talk threshold, echo threshold, and echo suppression time,
sliders for setting these values will also be displayed. (See SETTING
DEFAULTS.)
Dynamic Changes
You do not need to stop and restart the video to change the following: transmission, bandwidth, frame rate, format, quality, device, and input jack. If you type in an entry field, end with the return key.
You do not need to stop and restart the audio to change the following: output/input device, output mode, output/input gain, or threshold levels. Lecture mode, recv-only, "keep audio," and muting/unmuting devices can be turned on and off without stopping and restarting vat.
If you click the "quit" button in the vic or vat main window, or if you click vic's transmit button, confcntlr will be sent a message and it will update its controls.
Reverting to Defaults
To go back to default values, click the button labeled "Reset to Defaults". To hide the window, click on the "Dismiss" button.
REMOTE WINDOW
This window is used to change the settings for video and audio tools on a remote host. It works in the same way as the "local window."
When a remote host sends its settings (as in response to clicking on "Get Remote Settings" or a change in Contact Host), the remote window displays the values.
For vat, the external echo cancellation and threshold sliders are disabled and grayed out if confcntlr hasn't obtained the contact host's settings or if the contact host doesn't support these features.
CONFERENCE WINDOW
To specify a name for the conference, type in the entry field labeled "Conference Name." The conference name is optional and can be the same or different for each session. The characters "/", "#" and "@" may not be used since they have special meaning to the program.
Conference Address, Port, and Time-to-Live
A conference address, port, and time-to-live value must be specified. Each tool has its own conference address and port. The value specified for the video or audio applies to both the local and remote tool. The conference address may be the same or different for each tool, but the ports must be different. (You can run sdr to get the conference address and port if they are unknown.)
To change the values, click on the button labeled with an arrow and then click on a selection in the pulldown menu, or type in the entry field and end with the return key.
The conference address is the address to which the video and audio tools transmit. If "unicast" is specified and there is no "Contact Host," the local vic/vat will transmit its video/audio to the local host. If there is a "Contact Host" and both local and remote programs are started, they will transmit to each other. Otherwise, transmission will be to the address specified.
Starting/Stopping Tools
To start/stop tools on the local host, click on the selected button in the column on the left side of the lower portion of this window. To start/stop tools on a remote host, click on the selected button in the column on the right side of the lower portion of this window.
When a local tool is started, the square turns red and the label changes to "stop" to indicate that the next action available is to stop the tool. When you start a remote tool, a message is sent to the contact host and a reply is expected. The start button turns pink until the reply is received. This could be delayed if the network is slow or if the remote user is manually setting control permissions (see SECURITY WINDOW).
Clicking on a "Start All" button will start all three tools. The "Stop All" button will stop all tools that are running.
Getting Remote Settings
To get a remote site's settings, type the contact host name and press the return key, or select a host from the menu, or click on the button labeled "Get Remote Settings". The values in the remote window and the status buttons will be updated. The video devices, video input ports (jacks), and the audio threshold and external echo cancellation features will be enabled or disabled, depending on what is supported by the contact host. (In versions earlier than 0.4.1, the Conference Window is also updated.)
Getting Remote Conference Information
To get the contact host's conference name, ttl, and conference addresses
and ports, click on the button labeled "Get Conference Info." If
any settings are different from those shown in the Conference Window, they
will appear on a prompt panel. Click on "Apply" to make the changes
and click on "Don't Apply" to not make the changes.
This window contains controls for setting the authorization level, viewing/editing the authorization list, selecting the prompts and warnings, and editing the encryption key if you are running confcntlr-crypt.
Access Control
There are three authorization levels: allow any remote host to make a request, allow only users on the authorization list to make requests, or do not allow anyone to make a request. To change the authorization level, click on the desired radiobutton. The stop sign image in the main window will change color accordingly.
The authorization list can be viewed or edited via the scrollbar text field. When you quit confcntlr, if this list has been changed, a panel will appear to ask if the changes should be saved.
Setting Permissions for Actions
If you want to manually approve starting/stopping tools, click "on" the button labeled "Prompt to approve start/stop." If you want to approve changes in conference address, port, time-to-live, or conference name, click "on" the button labeled "Prompt to approve address/ttl/name changes." If you want to approve other changes, click "on" the button labeled "Prompt to approve setting changes." If you want to manually approve every request, click "on" the button labeled "Prompt to approve all actions." If an action is denied, the requesting host will be notified.
When you are not prompted to set the permission for a request, a warning panel will appear to notify you that the change has been made. If you do not want to receive these warnings, click "on" the button labeled "Turn off warnings".
For version 0.4.1 and higher, when warnings are turned off and you are not prompted to approve video/audio setting changes, a warning panel will appear whenever a remote user mutes or unmutes "talk." These warnings can be suppressed by editing the defaults file. (See SETTING DEFAULTS.)
Encryption
If you are using encryption, all hosts participating in the conference must run confcntlr-crypt and use the exact same key. You may change this key, but only after all participants have agreed on the new key. Multiple keys are supported in version 0.4.1 and higher. The distribution of confcntlr from LBNL via the World Wide Web does not support encryption due to U.S export controls. In this case, this section is missing in the security window. If encryption is supported, clicking on the "View Key" button brings up a panel for viewing all keys and the active key, editing/deleting entries, adding new entries, and turning off encryption. You can add a comment to a key by preceding the comment with "a"--e.g., the green house @Session 3 key.
SETTING DEFAULTS
When confcntlr starts, settings are read from the $HOME/.confcntlrrc file, or from the defaults file in the home directory that is specified with the -f option. If there is no defaults file, the program supplies the values and displays a notification panel. When you quit the program, if values are different from those at startup, a panel will appear to ask whether you want to save the changes. Click on "Save" to update the defaults file or click on "Don't Save" if you do not wish to update this file. In version 0.4.1 and higher, changes are categorized as: conference information, video/audio settings, authorization list, and security features.
If you do not want to get warnings when a remote user mutes or unmutes the audio input device, edit the "mutewarning" entry to read: mutewarning# 0
In order to associate a quality value with a specific format for the video, the numeric value can be edited in the $HOME/.confcntlrrc file in the following lines:
*vic.jpeg# xxxWARNING!
*vic.h261# xxx
*vic.nv*# xxx
If the format of the defaults file is not held to strictly, the entry will not be read! Values for the authorization list in the Security window are specified in the "authorizationList#" entry. Values are in the format: user@host. An asterisk means 'any'; for example, *@host means 'any user at host'. (The .ccauth file used in versions earlier than 0.4.1 is obsolete.)
As described in the vic and vat documentation, both of these tools allow user customization by specifying tcl commands in a $HOME/.vic.tcl (or $HOME/.vat.tcl) file and in a script that can be specified with the "-u" command line option. Although it is not required, a "user_hook" procedure can be included in these files. When confcntlr starts a tool, it writes a script with a user_hook procedure and starts the video and audio with the "-u" option. Since this script is executed AFTER the $HOME/.vic.tcl (or $HOME/.vat.tcl) scripts, the user_hook procedures in the $HOME/.vic.tcl and $HOME/.vat.tcl files will be overridden. To have them execute, rename "proc user_hook" to "proc confcntlr_hook" in the $HOME/.vic.tcl and $HOME/.vat.tcl files.
If there is a user_hook procedure but no confcntlr_hook procedure in
a $HOME/.vic.tcl or $HOME/.vat.tcl file, you will get a warning panel one
time only, the first time a session is started.
SESSION DIRECTORY SERVICES
BUGS
confcntlr may "freeze" if an attempt is made to connect to a remote host that is not operational. In this case, end the program by clicking on the small square in the top left corner of the main window, choose "quit", and then restart the program.
AUTHORS