Camfrog logo
Add a multi-user videoconference
webcam community to your website.
Home Buy Features Demo Help Testimonials Contact
Camfrog Web Help

What is Camfrog Web Server Advanced

Camfrog Web Server Advanced is a video chat application that can be integrated into websites. In other words, with this application you can add a video chat feature to your site. Camfrog Web Advanced supports the following features:

Chat rooms

A chat room is a named and isolated group of users. Each chat room can be configured separately, however there is a number of chat room settings that can be discarded or majorized by server's global settings.

Chat rooms can be permanent and temporary.

A temporary chat room exists while there are users in it. As soon as the last user leaves the room a countdown starts. When it reaches zero the room is automatically removed. Temporary chat rooms' configurations are not saved and restored after server restart.

Each permanent chat room is saved before server shutdown and restored on the next startup. Permanent chat rooms exist all the time even if there are no users in it until it is removed on the server manually.

A chat room can be made pro-only. This mode allows to limit access to a chat room for FREE users.

Default chat room

Default chat room is a special room that cannot be made temporary, cannot be password-protected and cannot be removed. By default its name is "Lobby".

Each user is moved to the default chat room upon authorization (if user's startup room is not overridden).

If a non-empty chat room is removed on the server (e.g. server operator has removed the room manually) all the users from that chat room will be moved to default chat room automatically.

Audio modes

Camfrog Web Server Advanced supports two audio broadcasting modes.

First of them is the classic Camfrog "Push to talk" mode: any user can push the "Talk" button and begin broadcasting audio to everyone in the room. Number of simultaneously talking users can be different in each chat room.

The second mode allows multiple users to broadcast audio at the same time, however, audio is broadcast only to those who are viewing the speaker's video.

Desktop sharing

This feature allows users to broadcast image of the desktop independently from video. It is implemented in two modes: sharing of the full desktop and sharing of a desktop region.

Installation

  1. Close all other applications and run the Camfrog Web Advanced Server Setup Wizard.
  2. When the setup wizard window opens click "Next".
  3. Read the Licence Agreement and Terms of Service. If you agree with them check the "I accept..." checkbox and click "Next"; click "Cancel" if you disagree.
  4. Select the components you would like to install and click "Next".
  5. Choose the destination folder and click "Next".
  6. Select the Start menu folder where you would like to create shortcuts to Camfrog Web Advanced Server and click "Next".
  7. Specify path to the licence file and click "Install".
  8. Wait until Camfrog Web Advanced Server is installed. Click "Finish" to complete the installation.

Server Configuration

To configure Camfrog Web Server Advanced click the "Server Options" tab. The right part of the Server window now contains five tabs.

Server Info

This tab displays the following information:

Server name - the name of your server.

Connections limit - the maximum number of users your server supports (defined by your license).

Server listening port - the TCP port your server is currently using.

Media port - the UDP port your server is currently using.

Allowed domain - the domain name to which your server is licensed.

Server Settings

Server ports - here you can assign the ports Camfrog Web Server Advanced will be using. The server's main incoming TCP port is defined in the "Server listening TCP port" field. This port will be used to accept users to chat rooms.

If this port is occupied by another application, Camfrog Web Server Advanced will cycle through the ports range defined in the "TCP range begin" and "TCP range end" fields until it finds a free port (if the "Server listening port auto selection failure" option is turned on).

If "Server listening port auto selection failure" is turned off, the server will be stopped if a port selection failure occurs (same as clicking the "Stop Server" button). You will receive an error message if that happens.

The same rules apply to the selection of a UDP port. The only difference is that UDP listening port changes are applied only after stopping and restarting the server (Stop Server/Start Server button in the upper right corner of the Server's main window).

Logging - here you can define the amount of information Camfrog Web Server Advanced will be logging. Set the "Logging level" slider to the position that suits your needs and choose the folder for saving log files (enter the path manually in the corresponding field of push the "..." button to open a standard Windows "Browse" dialog; push the "Open Directory" button to open the folder you have specified).

Logging level 0 - no logs are saved.

Logging level 1 - service messages.

Logging level 2 - service messages and connections information (nicknames and IP addresses).

Logging level 3 - service messages, connections information and information on chat commands usage.

Common - check the "Run on startup" checkbox to make Camfrog Web Server Advanced launch automatically on Windows startup.

Common Room Settings

In this tab you can configure various options that will apply to every room you create. Note: if the setting you have made in this tab clash with the settings for a specific room the more severe limitation is effective. For example, if you set "Desktop share users limit" to 1 for all rooms and to 3 for a specific one, the limit for that room will be 1.

Talk users limit - the number of users that can broadcast audio simultaneously.

Block mic time - the duration of microphone block (in seconds).

Allow "Push to talk" mode only - check this to make all of your chat rooms support "Push to talk" audio mode only.

Disable microphone usage - check this to disable audio in your rooms.

Default ban time - the default length of a ban.

Punish expires time - the default length of a punishment.

Room expires time - temporary rooms' expiration time (in seconds): as soon as the last user leaves a temporary room, the room expiration countdown starts; when it reaches zero, the room is removed.

Desktop share users limit - the maximum number of users who can share their desktops at the same time.

Disable desktop sharing - check this to disable desktop sharing in your rooms.

Enable chat commands - check this to enable chat commands.

Adults only - check this to deny users under 18 entry to your rooms.

Do not allow users to control the room - check this to disable chat commands from unprivileged users.

Do not allow Camfrog Bot - check this if you don't want bots in your rooms.

Do not allow users without webcams - check this if you don't want users without webcams in your rooms.

Operator List

In this tab you can specify which users will have privileges in your rooms. There are two ways you can do that.

Operator list. This option is active if the "Enable /Opme command" checkbox is unchecked. Type the nickname of a user you would like to assign privileges to in the "Nickname" field and choose the role to be assigned in the "Role" field, then push "Add". This user and her role will now appear in the operator list. To remove a user from this list click her name and push "Remove". To change a user's role click her name, choose the new role and push "Add".

You can also enable /addowner and /clearbl chat commands. To do so, type the password for these commands in the corresponding fields.

/Opme command. Check the "Enable /Opme command" checkbox to enable this option. If you do so, the operator list will become inactive. Any user will be able to assign privileges to herself by typing the /opme chat command followed by the password you have set.

Ban List

Here you can ban users from your room for inappropriate behavior. You can ban users by nickname, IP address, IP mask or some combination of these.

To ban a user by nickname type that nickname in the "Nickname" field. To ban a user by the IP address check the "IP address" checkbox and enter the address you would like to ban. To ban a whole IP subnet check the "IP Mask" checkbox and enter the subnet you would like to ban. Click the "Add" button to add the rule you have set to the list of active rules.

To make a rule temporary, check the "Include period" checkbox and choose the time for which that rule will be in effect.

You can make exclusions from the rules you set. For example, you can ban an IP subnet 255.255.255.0 but allow a single IP 255.255.255.1.

To remove a rule select that rule's line in the list and press the delete button on your keyboard or click the "Remove" button. To modify a rule select it, make the changes you want and click the "Update" button.

Note that ban list rules are executed in the same order as they appear in the rules list. Therefore, rules that set exclusions must precede general rules. You can change a rule's position in the list by selecting it and clicking the "Up" and "Down" buttons.

Creating a New Chat Room

In order to create a new room push the "Create Room" button. Type the new room?s name in the "Room name" field. If you would like to protect the room with a password, check the "Password protected" checkbox and type the access password in the "Password" field.

If you would like to configure the room's settings right away, check the "Advanced Settings" checkbox and make the settings you want (see below for details).

Push the "Create" button to complete the room creation process.

Configuring a Specific Chat Room

To configure a chat room select the room in question from the Rooms list. The right part of Camfrog Web Advanced Server window will now display this room's settings.

General Tab

Password protected - check this if you would like to protect the room with a password. Type the access password in the "Password" field.

Room user limit - the maximum number of users in this room (0 - unlimited).

Talk users limit - the number of users that can broadcast audio simultaneously.

Talk time limit - the amount of time a user can broadcast audio (0 - unlimited).

Disable microphone usage - check this to disable audio in this room.

Allow "Push to talk" mode only - check this to make this chat room support "Push to talk" audio mode only.

Is a permanent room - check this if you want this room to be a permanent one.

Desktop share users limit - the maximum number of users who can share their desktops at the same time.

Disable desktop sharing - check this to disable desktop sharing in this room.

Message of the Day Tab

Here you can type a message of the day that will be displayed to users entering the room. You can make this message a user agreement by checking the "Agreement message" checkbox. If you do so, the users will need to accept it in order to enter your room. If they don't, they will be denied entry.

Users' Logon

When the user attempts to log into Camfrog Web Advanced, the web server generates an html link containing session parameters. These parameters contain server information (server name and listening port), user information (nickname, age, sex etc.) and user's privileges (pro/free user, limits on viewing video and so on).

Below is the description of session parameters.

cfsServerName - name of the server the user will connect to. It can be a domain name or an IP address.

cfsServerPort - server's listening port.

cfsNickname - user's nickname.

cfsAge - user's age.

cfsSex - user's sex.

sessionKey - see the Session Key Generation section for information on this parameter.

profileLinkURL - URL to the user's profile.

controlWorkMode - has two possible values: PRO and FREE. Free users will be limited in broadcasting audio/video and viewing video. Also, the server can be configured so that only pro users could create chat rooms.

talkTime - time limit for broadcasting audio. 0 - unlimited.

countVideoWindow> - maximum number of video windows the user can open simultaneously. 0 - unlimited.

logonRoomId - ID of the chat room the user will be placed in after logon. If this ID is -1 or a room with this ID doesn't exist, the user will be placed in the default room.

videoExpirationTime - time limit for viewing remote video. 0 - unlimited.

showWelcome> - has two possible values: 0 and 1. If it is 0, the parameters sent via the html link will be used for authorization. If it is 1 the user will see a logon page where she will need to enter her nickname, age and sex. If the /opme option is enabled, the user will be able to enter the /opme command password on logon.

Camfrog Web Advanced Plug-in (Client part)

The client part of Camfrog Web Advanced is implemented as a web browser plug-in. The user is prompted to download it on first logon. Below is a screen shot of what Camfrog Web Advanced looks like:

The bottom part of the screen contains the text chat field. Text messages are typed there and sent by clicking the "Send" button in the bottom right corner.

Above the text field are the following buttons (left to right):

Emoticons - push this button to see the list of emoticons you can insert into your text message.

Fonts - push this button to change the font your text messages will appear in.

Desktop sharing - push this button to start desktop sharing.

Region sharing - push this button to start sharing a part of your desktop. You will see an opaque frame that will define the region you are sharing. You can stretch it and move it around.

Stop sharing - push this button to stop desktop sharing.

Hands free - push this checkbox to broadcast audio without needing to push the "Talk" button.

Talk - push this button to broadcast audio. You will be broadcasting as long as you keep this button pressed.

Mute - push this button to disable incoming audio.

Volume slider - use this slider to control incoming audio volume level.

Camfrog Web Advanced Settings

Push the "Settings" button in the upper right part of the screen to adjust your settings:

Video capture device - your video output source (typically a webcam).

Enable Webcan auto-organizing - enable/disable auto-organization of video windows on your desktop and choose the way they are organized.

Audio capture device - your audio output source (a microphone or some other device).

Record volume - your audio device's volume.

Audio playback device - the device that will be used for audio playback.

Playback volume - audio playback volume.

Select Language - Camfrog Web interface language.

Add time stamp to message - add timestamps to users' messages.

Use Enter key to send message - if enabled, text messages are sent by pressing Enter; if disabled, they are sent by pressing Ctrl+Enter.

Disable IM system - enable/disable instant messaging.

Show Join and Quit messages in chat room - enable/disable messages about users joining and quitting in the text chat.

Sticky Video Windows - enable/disable video windows "sticking" to each other.

Use old rendering system - use the old rendering system for video streams (recommended for slow computers).

Creating a New Chat Room

Note that Camfrog Web Advanced Server's settings might deny users to create new rooms or only allow it to users who have a certain role.

In order to create a new chat room push the "+" button to the right of "Available Rooms" list. You will see a window where you need to specify the new room?s settings. Below is the list of these settings:

Enter the name of the new room - the name of the room to be created.

Please specify a password if needed - room's access password. Leave this field blank if you do not want the room to be password-protected.

Extended settings - check this to show more settings. Note that some of them are only available to users with a certain role.

Talk time limit - the amount of time a user can broadcast audio (0 - unlimited).

Room users limit - the maximum number of users in the chat room.

Simultaneous mic user limit - the maximum number of users who can broadcast audio simultaneously.

Desktop sharing user limit - the maximum number of users who can share desktops simultaneously.

MOTD - room's Message of the day text.

MOTD Agreement - defines if the Message of the day is an agreement message (users must accept it to enter the room).

Push to talk audio mode - determines room's audio mode.

Permanent - determines if the room is permanent.

Users' Roles and Chat Commands

Camfrog Web chat users can be assigned various roles. User's role determines which chat commands she may issue. Below is the list of possible user roles and chat commands available to them. Every next role has more rights than the previous one. Thus, an Operator may issue any command available to Users and Friends plus several more commands.

User

/quit - quit chat.

/ver - display Camfrog Web Advanced Server's version and uptime.

/ignore - manage ignore list.
Syntax: /IGNORE nickname [-|REMOVE|ADD]

/roomlist list - display room list.

/opme - grant the user issuing this command Owner status for the current session.
Syntax: /opme password

/help - display chat commands help

Friend

/msg - send a private message.
Syntax: /MSG nickname|'opfw' message:
o - operators;
p - operators +;
f - friends;
w - owners.

Operator

/banlist list - display the ban list.

/whowatching - check who is watching on this user.
Syntax: /WHOWATCHING nickname

/watchlist - check user's watch list.
Syntax: /WATCHLIST nickname

/kick - kick user.
Syntax: /KICK nickname [reason]

/punish - punish user.
Syntax: /PUNISH nickname [[N] minute[s]|hour[s]|day[s]] [reason]

/unpunish - unpunish user.
Syntax: /UNPUNISH nickname

/blockmic - block microphone.
Syntax: /BLOCKMIC nickname

/unblockmic - unblock microphone.
Syntax: /UNBLOCKMIC nickname

/punishlist - display the list of punished users.

/oplist list - display the operator list.

Operator +

/roomlist remove - remove a room.
Syntax: /ROOMLIST REMOVE room name

/roomlist proonly - make the room available to pro users only.
Syntax: /ROOMLIST PROONLY room name on|off

/roomlist permanent - make a room permanent.
Syntax: /ROOMLIST PERMANENT room name on|off

/banlist add - add a ban list rule.
Syntax: /BANLIST ADD banlist rule

/banlist remove - remove a ban list rule.
Syntax: /BANLIST REMOVE part of rule

/ban - ban user.
Syntax: /BAN nickname

/banip - ban user by ip.
Syntax: /BANIP ip

Owner

/stat - display the following statistics:
server's uptime;

overall number of accepted connections;

number of unique connections;

number of users online;

incoming/outgoing traffic;

number of incoming/outgoing audio, video and desktop streams;

number of banned and punished users.

/addfriend - add server's friend.
Syntax: /ADDFRIEND nickname

/delfriend - remove server's friend.
Syntax: /DELFRIEND nickname

/clearbl - clear banlist.
Syntax: /CLEARBL password (use /addowner password here)

/ip - display user's ip.
Syntax: /IP nickname

/oplist add - add a user to the operator list.
Syntax: /OPLIST ADD nickname [+|ROLE] [PASSWORD]

/oplist remove - remove a user from the operator list.
Syntax: /OPLIST REMOVE nickname

/addowner - assign a user Owner status.
Syntax: /ADDOWNER nickname password

Web Server Integration

Camfrog Web Server Advanced can process web servers' requests to keep up-to-date information about operator list, ban list and user list on the web site.

Basically the following idea is implemented. Web server executes a special PHP-script that makes a request to the Camfrog Web server. Camfrog Web server will check the IP-address the request came from and if that IP is "allowed" (see configuration file description) return an XML-document according to the request.

Below are examples of XML-documents for each of the request types.

Operator list request.

<!--?xml version="1.0" encoding="utf-8"?-->
<oplist>
<user name="BOY" role="OWNER" />
<user name="BOY1" role="OPPLUS" />
<user name="BOY2" role="OPERATOR" />
<user name="BOY3" role="FRIEND" />
</oplist>

Room list request.

<!--?xml version="1.0" encoding="utf-8"?-->
<userlist>
<room
name="Lobby"// room name
password="0"// is room password protected
permanent="1"// is room permanent
classic_audio="0"// room audio mode;
// 0 - push to talk audio mode;
// 1 - extended audio mode.
default="1">// is default room
<user
name="user"// user nickname
gender="1"// gender
cam="1"// is user with cam
role="OWNER"  // user role
/>
</room>
</userlist>

Ban list request.

<!--?xml version="1.0" encoding="utf-8"?-->
<banlist>
<record action="allow"  // allow/deny
name="user"// nickname
ip_addr=""// any IP
ip_mask=""// any IP mask
expire=""// permanent ban
/>
</banlist>

Configuration Files

Server Configuration File

The server configuration file is located at $APPDATA\Camfrog Web Advanced Server\cfwebsrv.conf

Below is the description of configuration file's strings. Comments on the strings' meaning, syntax and possible range of values start with the # symbol.

# Server name
# Defined by the license file
server_name=MyServer

# Connections limit
# Defined by the license file
max_connections_acceptable=100

# Allowed domains list
# Separated by spaces
# Defined by the license file
domains=MY.DOMAIN MY.DOMAIN1

# Server's log file path
# Default: /var/log/cfweb_server
log_path=/var/log/cfweb_server

# Logging level (0-3)
# Default: 0
log_level=0

# Log file auto-rotation (on/off)
# Default: off
log_rotate=off

# Permanent chatrooms list
# Separate multiple rooms with spaces
# Example: rooms_available=Lobby MyRoom1 MyRoom2
rooms_available=Lobby

# Default chat-room's name
# Default: Lobby
default_room=Lobby

# Server's listening TCP port (0-65535)
# Default: 6005
# NOTE. Make sure that this port is allowed for incoming connections on your firewall
server_port=6005

# Server listening port auto-selection (on/off)
# Default: on
server_port_probing=on

# Beginning of TCP ports probing range (0-65535)
# Default: 6000
server_port_low=6000

# End of TCP ports probing range (0-65535)
# Default: 6100
server_port_high=6100

# Enable anti-flood system (on/off)
# Default: on
# NOTE. It is not recommended to turn off this system
prevent_flood=on

# Server's UDP port (0-65535)
# Default: 6006
# NOTE. Make sure that this port is allowed for incoming connections on your firewall
udp_port=6006

# Server UDP port auto-selection (on/off)
# Default: on
udp_port_probing=on

# Beginning of UDP ports probing range (0-65535)
# Default: 6000
udp_port_low=6000

# End of UDP ports probing range (0-65535)
# Default: 6100
udp_port_high=6100

# Talk users limit (1-8)
# Default: 4
max_talk_users=4

# Disable microphone usage (on/off)
# Default: off
disable_mic_usage=off

# Desktop share users limit (1-4)
# Default: 1
max_share_users=1

# Disable desktop sharing (on/off)
# Default: off
disable_sharing=off

# Allows 'Push to talk' audio mode only (on/off)
# Default: off
allow_push_to_talk_audio_only=off

# Default length of a ban (0-4)
# 0 - 1 hour;
# 1 - 1 day;
# 2 - 15 days;
# 3 - 1 month;
# 4 - 1 year.
# Default: 3
default_ban_time=3

# Microphone block duration in seconds (1-86400)
# Default: 900
block_mic_time=900

# Punish expires time in seconds (60-259200)
# Default: 3600
punish_expire_time=3600

# Enable chat commands (on/off)
# Default: on
commands_enabled=on

# Deny entry to users under 18 (on/off)
# Default: off
adults_only=off

# Check session key on authorization request (on/off)
# Default: off
check_session_key=off

# Key string for receiving a session key
session_key_string=

# Session key valid time in seconds (3600-86400)
# Default: 43200
session_key_expiration_time=43200

# Temporary room expiration time in seconds (600-3600)
# Default: 1800
room_expiration_time=1800

# Maximum number of chat rooms
# Default: 1000
max_rooms_count=1000

# Maximum number of users in a chat room (0 - unlimited)
# Default: 0
max_room_users=0

# Enable chat users to do the following actions (on/off):
# - create/delete chat rooms;
# - change a chat room's permanent/temporary status;
# - change a chat room#39s "pro only" status.
# This limitation does not extend to users with OPPLUS role or better
# Default: on
user_control_rooms=on

# Only pro-users can create chat rooms via chat commands (on/off)
# Default: off
pro_add_room=off

# Disable Camfrog Bot usage (on/off)
# Default: off
no_bots_allowed=off

# Do not allow users without webcams (on/off)
# Default: off
no_web_cams=off

# Do not accept users with identical nicknames (on/off)
# If set to ON, the server will break connection with the user trying to authorize
# If set to OFF, the server will break connection with the authorized user
# Default: on
do_not_accept_same_nickname=on

# Kick users for numerous identical messages (on/off)
# Default: off
no_spim=off

# Maximum number of identical messages (3-10)
# Default: 5
spim_message_limit=5

# Maximum number of messages per second
# If this number is exceeded, the user in question is kicked
# Default: 5
messages_per_second=5

# Maximum number of line breaks in a message (3-20)
# If this number is exceeded, the message is ignored
# Default: 3
line_breaks_count=3

# Enable /opme command (disable operator list) (on/off)
# Default: off
enable_opme_command=off

# /opme command password
operator_password=

# /addowner command password
add_owner_password=

# Allowed IP addresses list
# used for queries from the Web server
# Separate multiple IP addresses with spaces, commas or semicolons
# Example: 192.168.1.1 192.168.1.2, 192.168.1.3; 192.168.1.4
allowed_ip=

Chat Room Configuration File

Chat room configuration files are located at $APPDATA\Camfrog Web Advanced Server\configs$ROOM_NAME.conf

Below is the description of configuration file's strings. Comments on the strings' meaning, syntax and possible range of values start with the # symbol.

Note: some of the configurations for a specific room can be discarded or overridden by the main configuration. Example 1: if disable_mic_usage is turned off in the main configuration file, it will turn off microphone usage in every chat room. Example 2: the max_talk_users parameter of the main configuration file majorizes the talk_limit parameter for every room.

# Chat room name
name=Lobby

# Room owner
owner=

# Room is password-protected
# Default: off
password_enabled=off

# Chat room password
password=

# Message of the day
# Default: You have joined to $ROOM_NAME
MOTD=You have joined to Lobby

# MOTD is an agreement message
# Default: off
MOTD_present=off

# Number of simultaneously talking users (1-8)
# Default: 4
# NOTE. Majorized by max_talk_users of main configuration
talk_limit=4

# Number of simultaneously desktop sharing users (1-4)
# Default: 1
# NOTE. Majorized by max_share_users of main configuration
share_limit=1

# Maximum number of users in the chat room
# 0 - unlimited
# Default: 0
room_users_limit=0

# Room is permanent (on/off)
# Default: off
permanent=on

# Room audio mode is 'Push to talk' (on/off)
# Default: on
# NOTE. Majorized by allow_push_to_talk_audio_only of main configuration
allow_push_to_talk_audio=on

# Disable desktop sharing (on/off)
# Default: off
# NOTE. Majorized by disable_sharing of main configuration
disable_sharing=off

# Number of seconds avalable for each user to talk (0-120)
# 0 - unlimited
# Default: 30
talk_time=30

# Disable microphone usage (on/off)
# Default: off
# NOTE. Majorized by disable_mic_usage of main configuration
disable_mic_usage=off

# Room is for pro-only users (on/off)
# Default: off
pro_only=off

© Copyright 2004-2012 Camshare Inc.
Terms of service  -  Privacy policy  -  No Spyware/Adware  -  Site Map