P2P Application Help Sections

Welcome and System Requirements
1 Getting Started / Usage
2 Helper Applications/tools
3 Conferencing and Firewalls
4 Advanced Options
5 Notes

Welcome !

P2P (Person to person) is Virtual Lab Toolkit software which aims at facilitating communication on a person to person level. The following types of communication are supported via external helper applications:

Audio Connection: Low speed (less than 15 kbps) audio connections. The audio component is archived using the gsm codec of the RAT audio tool.
Video Connection: With a video camera, Low speed (less than 30 kbps) good quality video images maybe sent with a delay of 1 or 2 seconds. Video is managed by the VIC video tool.
Scientific Talk: A web based chat system with in built support for Tex/Latex and hence mathematical symbols. The chat server is driven by the Scientific Talk software while the client part consists of a simple Web browser!
Others are White Board, Shared Text Editor, Text Chat.
The following "optional" tools may be started and stopped from the P2P application but the user is required to complete the connection from the client tool
Messenger Client, Desktop Sharing, H323 Application (NetMeeting), Application Sharing and MBONE SDR.

System Requirements

                Pentium Class Computer
                    -    64 MB RAM
                    -    16 bit or better display ( over 65535 colours)
                    -    Working Audio (sound) Card
                    -    HeadSet (Earpiece and Microphone)
                    -    Video Capture Card or WebCam

        Operating System(s):
                Windows: Recommended - 9x, ME or 2000)
                Linux: (Recommended - RedHat 6.x and 7.x)

        Disk Space:
                10 MB for minimum installation
                20 MB for full installation

The P2P application and helper tools were tested in the environments specified above. However, they may work in other environments or operating systems. See Notes.

1.0 Getting Started / Usage

1.1 Main Window
1.2 Managing the AddressBook
1.3 Making a Call
1.4 Receiving a Call
1.5 Call Management Mode
1.6 Ending a Call
1.7 Unmanaging a Call
1.8 Exporting Addresses
1.9 Importing Addresses

The first time you run the P2P application, you will be presented with the following dialog box (figure 1.1).


Figure 1.1 Preferences Window

This allows you to set the following important information

1. Your nick name: Most likely this will be your first name.

2. Your full name: Your family name and other names.

3. Your e-mail address: A valid and working e-mail address. This field is reserved for future use.

4. Your preferred Web browser: On Windows this defaults to the system default browser while in Unix, it defaults to the netscape web browser.

You can always return to this window at any time by Clicking on File -> Preferences.

1.1 Main Window


Figure 1.2 Main Window

The P2P tool "Main Window" (see figure 1.2) consists of a simple address book display that shows a list of stored contacts. Each contact has 3 items.
1. A nick name: A short reference name.
2. The IP Address: The INTERNET hostname or IP address of the computer used by the contact.
3. The Full Name: of this contact!

The list of contacts are stored in the file p2pabook in the home directory of the user (on Windows, this defaults to c:\).

1.2 Managing the Addressbook

The "Main Window" has two buttons for managing the "Address Book". They are "Add Address" and "Delete Address"

Adding New Addresses are archived by clicking on the "Add Address Button": This opens a window as shown in figure 1.3


Figure 1.3: New Address Book Entry

Deleting Addresses: First highlight the contact to delete by clicking once on it in the "Main Window", then click on the "Delete Address" button to delete it.
Note: Deletions are immediate, without confirmation and not reversible.

Changing Entries:  First highlight the contact to edit by clicking once on it in the "Main Window", then click on the "Edit Menu" item and select "Modify".
The Addressbook window now shows the information which you can change and then save using the "Save" button.

Note that multiple IP addresses or Hostnames are not supported. This can be circumvented by creating multiple entries in the addressbook.
After filling in the entries, click on the "Save" button to update the addressbook file and the "Main Window" display.
To exit the addressbook dialog box, click on the "Cancel" button.

1.3 Making a Call

From the Addressbook: Double click on the entry to open the "Invite" dialog box with the entry filled in (see figure 1.4).
Manual Calls: Click on the "Invite" button to open the "Invite" dialog box (see figure 1.4).

Invite dialog box

Figure 1.4: Invite dialog box

You can change the displayed nick name and IP address entries.
Then select the "Call" components by clicking the checkboxes in front of the texts (Audio, Video and/or Scientific Talk).
Entries are grayed out if the helper application is not configured (see advanced configuration). Finally click the "Call" button to initiate the call setup process.

The P2P tool will display figure 1.5 and then try to contact the remote P2P client.
Any error involving the network connection will be shown in a dialog box.


Figure 1.5 Connecting Dialog Box

Figure 1.5 would be removed automatically when the remote P2P responds.
If the response is negative, then figure 1.6 is shown.


Figure 1.6: Call not accepted by contact

If the response is positive then the helper application(s) will be started to connect to the remote site and the interface will change to show the "End Call" button instead of the "Invite" button.

1.4 Receiving a Call

In order to receive calls via the P2P client tool. You should always have the P2P client running. When the P2P tool detects an incoming call. Figure 1.7 is displayed.

Incoming Call

Figure 1.7 Incoming Call

It shows the "Full Name" of the caller along with his nickname, IP address of his computer and the various components requested by the caller.
The call components will list the requested tools. Example: Audio, Video and Scientific Talk.
You can choose to "Accept" or "Decline" the call using the buttons at the bottom of the page.
If you accept the call, the P2P tool will automatically startup the various applications and move into the "Call Management Mode". If you decline the caller the window show in figure 1.6 will appear.

1.5 Call Management Mode

After a call has been successfully accepted by the receiver, the P2P tool will switch into the call management mode by automatically starting up the component tools: rat for audio, vic for video and a browser window for scientific talk.
The "Invite" button on the "Main Window" is replaced by a "End Call" button (see figure 1.8).

Call Management Mode

Figure 1.8 Call Management Mode

The P2P tool can only startup (with suitable command line options in most cases) or shutdown the component tools. The user is required to futher interact with the tools in order to perform tasks such as changing volume or video size or transmit video and/or audio!

1.6 Ending a Call

When in the "Call Management" mode the current call may be ended by clicking on the "End Call" button in the "Main Window" (see figure 1.8). The P2P tool will then stop (close down) the helper application(s) that were started as part of the call.
The other alternative is to individually close the various tools.

1.7 Unmanaging a Call

The "File" -> "Unmanage Call" menu item permits the user to leave call management mode without ending the call or terminating the applications in use in the call. To activate click on "File" and then "Unmanage Call". The P2P tool will then exit "Call Management" mode without terminating applications used in the current call.

1.8 Exporting Addresses

Addresses may be exported from the address book using the "File" -> "Export" menu item. A file dialog is presented and the user is required to fill in a file name. The contents of the address book will be written to this file using the Comma Separated Value (CSV) text database structure.
The first line of the resulting file is a header describing the available fields.

1.9 Importing Addresses

Existing addresses may be imported into the P2P address book using the "File" -> "Import" menu item. A file dialog is presented and the user is required to select an existing file. P2P is only capable of importing records in the comma or semi-colon or TAB delimited text database format. The first line of the file is ignored and assumed to be a header line.

        nickname,hostname,Full name
        nickname;hostname;Full name
        nickname        hostname        Full Name

2.0 Helper Applications/tools

2.1 Audio
2.2 Video
2.3 Scientific Talk
2.4 WhiteBoard
2.5 Network text Editor
2.6 Text Chat
2.7 Messenger Client
2.8 Desktop Sharing
2.9 H.323 Application
2.10 Application Sharing

2.1 Audio

Audio is handled via the RAT audio tool. The following rat command line options are used:
-C "r_nick" (sets the conference name/title to the nickname of the remote user)
-N "m_nick" (sets the session name to the nickname of the local user)
-f gsm (sets the gsm codec)
r_ip/r_audioport  (IP address of remote machine and destination port).

For more information on using the RAT please click here.

2.2 Video

Video is handled by the VIC video tool. The following vic command line options are used:
-B 32 (sets the maximum transmit speed to 32kbs)
-C "r_nick" (sets the conference name/title to the nickname of the remote user)
-N "m_nick" (sets the session name to the nickname of the local user)
r_ip/r_videoport  (IP address of remote machine and destination port).

For more information on using VIC click here.

2.3 Scientific Talk

Scientific Talk is a Web based chat tool with special support for discussing mathematics. The scientific talk server understands and can parse some latex syntax, so it can display special symbols and equations.
The scientific talk client is a standard web browser. The P2P tool will start up a Web browser with the URL of a scientific talk server as the only argument.

For more information on Scientific Talk click here.

2.4 White Board

The WhiteBoard tool provides a canvas (board) for shared drawing or showing diagrams. The WhiteBoard application is called WDB and uses the following command line options:
-C "r_nick" (sets the conference name/title to the nickname of the remote user)
-N "m_nick" (sets the session name to the nickname of the local user)
r_ip/r_videoport  (IP address of remote machine and destination port).

For more information on using WDB click here.

2.5 Network Text Editor

The Network Text Editor permits the joint editing of a text file. This function is provided using the NTE application with the following command line syntax.
-C "r_nick" (sets the conference name/title to the nickname of the remote user)
-N "m_nick" (sets the session name to the nickname of the local user)
r_ip/r_videoport  (IP address of remote machine and destination port).

For more information on using NTE click here.

2.6 Text Chat

The text chat tool permits real time text conversation. This functionality is provided by the UNIX talk application (or wintalk on Windows).

For more help on the talk application(s) click here.

2.7 Messenger Client

The p2p tool can optionally start up an instant message client tool. The various options include the Yahoo Messenger, the Microsoft Network (MSN) Messenger, Netscape/AOL Instant Messenger (AIM) and Jabber Client.

For more information the Jabber client click here.

2.8 Desktop Sharing

Desktop sharing is provided via the Virtual Network Computing (VNC) client/server. The P2P tool only starts up a client to connect to an already running VNC server. The user is responsible for starting the VNC server independent from the P2P tool.

For more information on the VNC tool click here.

2.9 H.323 Application

H.323 is the ITU standard for audio/video conferencing over TCP/IP networks. The most popular H.323 application is the Microsoft NetMeeting for Windows, while there exist other alternatives such as gnomemeeting (based on openh323) for Linux, SunForum for Solaris.

For more information on H.323 Application click here.

2.10 Application Sharing (T.120) client

T.120 is the ITU standard for Application sharing. It is usually negotiated as part of a H.323 connection. T.120 application sharing is available in Microsoft's NetMeeting and the Solaris SunForum H.323 clients. It is not yet avialable in the gnomemeeting/openh323 client.

For more information on T.120 application sharing click here.


The Multicast Backbone (MBONE) is used mainly in academic circles for holding multi-user meetings and events.

For more information on using the MBONE SDR tool click here.

3.0 Conferencing and Firewalls

The use of INTERNET firewalls and/or port filtering routers is now a common security practice on computer networks.
One undesirable feature of firewalls and port filtering routers is that conferencing or collaboration tools hardly work across a firewall. In order to allow the use of p2p and it's helper applications across the INTERNET the following recommendations should be implemented:

Application Port(s) Notes
P2P TCP 7000 Port for P2P call setup/management
RAT UDP 7002 and 7001 7002 for data, 7001 for control information
VIC UDP 7004 and 7003 7004 for data and 7003 for control information
WBD UDP 7006 and 7005 7006 for data and 7005 for control information
NTE UDP 7008 and 7007 7008 for data and 7007 for control information
talk UDP 517 UNIX Talk
VNC TCP 5900 and/or 5901 For Desktop sharing, actually 5900 + x where x is the port number
H323 Client Too many probably better to setup a H323 proxy/gatekeeper
T.120 Client
MBONE SDR Multicast Network Probably better to setup multicast Routing.

Table 3.1 TCP/IP ports used

For IP filtering firewalls/NAT firewalls it is necessary to pass and accept the connection port listed in table 1.0. For masquerading firewalls the out going  connections  are masqueraded and for to the remote machine appear to be coming from the firewall server, however the return path (the ports on the firewall) must be mapped back to the internal machine.

4.0 Advanced Options

4.1 Advanced Preferences
4.2 Macro Substitution
4.3 Restoring the default Preferences
4.4 Recommended Helper Applications/tools
4.5 Files

4.1 Advanced Preferences

The Advanced Preferences dialog shown in figure 1.9 gives the user access to all aspects of the P2P tool. The various applications and ports used may be configured.

Advance Preferences
Figure 4.1 Advanced Preferences

The full path name of applications may be specified. The double quote marks can be used to group options that contain spaces. Example: "C:\Program Files\NetMeeting\conf.exe"

If the full path is not specified then the system program search path is checked for the application at execution time. Port values should only have numerical values. The "P2P Communication Port" defines the TCP/IP port value that the P2P tool will listen to and receive incoming requests on.

4.2 Macro Substitution

The P2P application has several special macros defined and the final values are substituted at program execution time. This permits passing values to the helper applications at execution time. Macros consist of two parts (prefix and suffix) separated by an underline "_" character, as explained below

Prefix Definition
m Local user/configuration value. See table 4.2.
r Value specified by the remote user. The only values available are the nickname (nick) and port values of requested applications to be used in the call. The values of IP address (IP) and full name (full) are those from the local address book
remote Similar to the r prefix above.
a Automatically select. Uses the local value, if the local user is the call, initiator otherwises use the remote value

Table 4.1 Prefix of Macros

Macro surfix Definition
nick Nick name
full Full name of user
audioport Port value for audio connection
videoport Port value for video
wbport port value for WhiteBoard connection
ntport Port value of Network Text Editor
vncport Port value of VNC server
sturl Scientific Talk Server URL
ip IP address

Table 4.2 Common Macro surfix

Complete Macro Meaning/Definition
m_nick Nickname of local user
r_nick Nickname of remote user
a_nick Nickname of the local user if the local user initaited the call, otherwise nickname of the remote user

Table 4.3 Example of complete Macros

4.3 Restoring the default Preferences

The initial values of the preferences may be restored at any time using the "File" -> "Default Preferences" menu item. The user is required to then use the "Advanced Preferences" dialog to verify and save the restored options.

4.4 Recommended helper applications

Table 4.4 lists some possible helper applications and command line syntaxes for the various tools. Only use entries in this table, if you have the application installed to it's default location. A version of all applications shown in Table 4.4 are available on the CD-ROM.

Application/Tool Windows Linux
AUDIO rat -C "r_nick" -N m_nick -f gsm r_ip/m_audioport rat -C "r_nick" -N m_nick -f gsm r_ip/m_audioport
VIDEO vic -C "r_nick" -N m_nick r_ip/m_videoport vic -C "r_nick" -N m_nick r_ip/m_videoport
WhiteBoard wbd -C "r_nick" -N m_nick r_ip/m_wbport wbd -C "r_nick" -N m_nick r_ip/m_wbport
Shared Editor nte -C "r_nick" -N m_nick r_ip/m_ntport nte -C "r_nick" -N m_nick r_ip/m_ntport
Scientific Talk Server URL http://www.collaborium.org/cgi-bin/sci-talk/sci-talk.cgi
Web browser rundll32 url.dll, FileProtocol Handler m_sturl netscape m_sturl
Text Chat \wintalk\wtalk32.exe r_nick@r_ip xterm -e talk r_nick@r_ip
Shared Desktop "\Program Files\ORL\VNC\vncviewer.exe" -shared a_ip:a_vncport vncviewer -shared a_ip:a_vncport
Messenger Client "\Program Files\WinJab\WinJab.exe" gabber
MBONE SDR sdr sdr
NetMeeting Client "\Program Files\NetMeeting\conf.exe" gnomemeeting
Application sharing Client "\Program Files\NetMeeting\conf.exe"  

Table 4.4 Recommended Helper Applications

4.5 File structure

User files: The user files p2pcfg (for configuration data) and p2pabook (the address book) are usually kept in the user's home directory. For Windows, this could be c:\ (Root directory of installed disk) and for Linux it is the user's home directory.

Application and help files: P2P requires the application to be installed in a directory with the help files available in a sub-directory of this directory. For windows this directory is usually "C:\Program Files\P2P" and help folder is "C:\Program Files\P2P\help" while in Linux it could be "/usr/local/p2p" with the help directory being "/usr/local/p2p/help".

5.0 Notes

RAT version 4.x may not work very well with RAT version 3.x. Audio quality is better when both parties have the save version of the audio tool.

The p2pport of the remote user maybe specified in the addressbook entries for hostname or IP Address by using the syntax "hostname:p2pport". Example: server.somewhere.com:7000.

The P2P tool is a Tcl/Tk application. The source code is available on the CD-ROM. It require the Itcl, Itk and Iwidgets Tcl extensions.

Compiling any of the helper tools from source code requires a working C compiler. The GNU C compiler (gcc) is recommended.