Freewebfone Tutorial
by Daniel Ding
Email: webbwatch@yahoo.com
Web Page: http:://www.freewebfone.com/
Freewebfone for Windows combines web video phone, chat, voice mail and video mail into a single program. It supports H.263 for video and GSM, ADPCM, and LPC10 for audio.
A FREE Internet User Location Service is provided for all Freewebfone users. Users can make web phone calls as easy as normal phone calls. User Location Service also supports popular online features such as Buddy List, Instant Alert, Online Chat, Invisible Mode. Web broadcasting service is also available.
Freewebfone for Windows is fully compatible with Freewebfone for Linux.
System requirements®
Voice and Video E-mail® Connection®
In order to use the Freewebfone, your system must meet or exceed the following minimum hardware and software requirements. You must have:
Hardware
- 120 MHz or faster processor
- 16 MB of RAM
- Sound card that is full-duplex
- Microphone and speakers
- VGA display adapter capable of displaying 256 colors
Requirements for video:
- Camera and/or video capture card
Network Connection
- 28.8 Kbps connection to a TCP/IP network or the Internet
Whether Freewebfone will work effectively for you depends upon your CPU speed, network bandwidth, load on the network. Since web phone includes both software video and audio codec, it is extremely computational intense, especially for video encoding.
To record a voice file:To play a voice file:
- Select audio compression mode, GSM is the default mode.
- Go to File | Recording | Audio only, input a file name with ".wwa" extension.
- Click Save .
- A Progress Bar shows how many percent has finished (total about 200 KB).
- Press Stop button to quit audio recording at any time.
- Go to File | Play AV File, then select a file to play.
- Click Open.
- A Progress Bar shows how many percent has played.
- Press Stop button to quit audio playing at any time.
To record a video file:To play a video file:
- Go to File | Recording | Video only (Video + Audio).
- Freewebfone start to record video into a temporary file Videotmp.yuv.
- Click Yes.
- Input a video file name with ".wwa" extension.
- Click Save.
- Wait until encoding finish. Video encoding is slow, depending on the CPU speed.
- Same as playing voice file.
Connecting with a user with static IP address
Go to Connect | New . Enter the name of the host to which you wish to connect, either as an Internet host name (for example, daniel.pacbell.net ) or an IP address such as 207.156.106.20 .Click OK. An attempt will be made to establish the connection. If the connection is successfully established, the host name and IP address will appear and the audio module is automatically activated. Now you can talk to the other party. If you also want to send video, select Video | Enable Send .
You may also use Open dialog box to open an existing connection. A sample host file, Hosts.dat, is provided. It can be edited using normal text editor.
Connecting with an on-line user through ULS server
In order to initiate a successful web phone call, two conditions must be met: you must have the Internet (IP) address of your correspondent, and he must currently be on-line with the same web phone program running. There are inherent difficulties related to each of these requirements.First, unlike phone numbers which don't tend to change, Internet addresses for most users with dial-up modem connection are often assigned each time user connects to the Internet. Second, unless your correspondent tells you in advance there is no way to know that your correspondent is on-line.
A standards based protocol called the User Location Service (ULS) has provided a solution to these two issues and makes web phone conversations exceedingly simple. When a user comes on-line, he connects to the ULS server, the server adds user information into its on-line user directory, and at same time user downloads whole on-line user directory from the server, user can find out who is on-line. To contact a particular person, simply click on the person's name and a call is placed to the remote user.
A ULS client program has been integrated into Freewebfone. The program automatically registers the users' current IP address the moment they connect to the ULS server, so locating them to make a call becomes seamless.
From version 3.1, many popular online features are supported by our ULS service:
- Buddy List: A list of user names of your friends or family members. User name must be 4-15 characters and must be unique.
- Instant Alert: When your buddy is connected to the ULS server, you will get a "New buddy online!" alert. So you can make a web phone call or chat with your buddy immediately.
- Online Chat: A popular online feature and the alternative to web phone calls.
- Invisible Mode: When you chose this mode, only your buddies (the persons whose names on your Buddy List) know that you are online. For other online users, you are complete invisible. You may also choose normal Visible Mode so every online user can see you.
Connecting with a broadcast server
A Broadcasting client program has been integrated into Freewebfone, so it can receive broadcast stream from a server running Web Broadcast Live! Program.
- Go to Server | User Profile. Input your name, email address, same as connecting with ULS server.
- Click OK.
- Go to Server | Connect. Select a broadcast server (with BROADCAST selected).
- Click OK.
- If connection is successful, you will see following message:
- Click OK.
- You will be able to receive audio or/and video.
Connecting behind a Proxy Firewall
Most company only allows user to use Internet service through a Proxy Firewall, while blocking all direct IP connections. Freewebfone has a built-in SOCKS support that enables you to make web phone call behind a Proxy Firewall. (SOCKS is a networking proxy protocol enables hosts behind a SOCKS server to gain full access to the Internet, while preventing unauthorized access from the Internet to the internal hosts.)Proxy Setup
Make calls behind a Proxy Firewall
- Go to Server | Proxy | Proxy Setup. Input the proxy server name or IP address, and port number. You can obtain your proxy server information by open your Netscape Navigator, go to Edit | Preferences | Advanced | Proxies | Manual Proxy configuration.
- Click OK.
- Now you can follow the normal procedures to connect to ULS server and chat with your buddy behind a Proxy Firewall.
Keep in mind that the person inside the proxy firewall must initiate the call, so the person outside the proxy firewall must start Freewebfone first, waiting for the call.
Limitations for using Freewebfone behind a Proxy FirewallPerson outside the proxy firewall
- Go to Server | Proxy/Firewall | Wait TCP Call . You might need to connect to ULS server first in order to let your buddy know your IP address.
- Click OK. Now you are waiting for a person to call (connect) you using TCP mode.
Person inside the proxy firewall
- Go to Server | Proxy/Firewall | Initiate TCP Call. Enter the IP address of the host to which you wish to connect.
- Click OK. If the connection is successfully established, the host name and IP address will appear and the audio module is automatically activated. Now you can talk to the other party behind a Proxy Firewall.
- Two persons, each behind a proxy firewall, will not be able to use freewebfone to make calls. However, chat is still supported.
- TCP instead of UDP is used to transmit audio, the audio quality might not be as good as normal UDP mode.
- Video is not supported.
Receiving and Sending audio & video
Receive audioAs sound packets arrive, they're immediately processed and sent to the audio output device, and the host's name and IP address will be displayed.
Send audioWhen connected with a remote host, the audio transmission module is activated automatically. You can select audio compression mode from audio menu. The default setting is GSM.
Receive videoAs video packets arrive, they're immediately processed and displayed on a separated video window, which can be enlarged by 2x2.
Send videoTo start sending video, You have to open a connection first, than select the Video | Send Video. To stop sending video, select the Video | Send Video again.
Change video encoder settingsYou can change the settings for the video encoder if you like. For normal user, just use the default settings.
To use online chat, you must first connect to a ULS server and make sure there is at least one buddy online.
- Go to Server | Online Chat.
- Chat dialog box appears, you can chat with your buddy.
The Help/Codec Status dialogue shows detailed information about the web phone status and is updated in real time as events occur. The status information is grouped into the following categories.Video Codec
"Vectors/Blocks" specifies the vector number for H.263 encoder and "Encoded Blocks" for H.261 encoder. "Total Bytes" gives the number of bytes stored in video output packet for each frame, based on the video compression mode currently selected. "Packets received" and "Packet sent" specify the number of video packets received from connected hosts and sent to hosts since web phone was launched. "Frame rate" gives the number of frame encoded per minute by the video encoder. "Bitrate" specified the output data rate for the video encoder. "Max Bitrate" and "Quantizer" specified the maximum output data rate and quantizer used by the video encoder.
Audio Codec"Send" and "Receive" show the current status, sample size, and sampling rate of the audio hardware for both channels. "Idle" indicates the channel is not in use, "Active" that it's currently sending or receiving. "Packets received" and "Packet sent" specify the number of sound packets received from connected hosts and sent to hosts since web phone was launched. "Samples per packet" gives the number of original sound samples which are stored in each output packet. "Bit Rate" indicates the data output rate from audio encoder. The last line in the dialogue indicates whether the audio hardware is half- or full duplex. If your audio hardware is half duplex, you won't be able to hear incoming sound while you're transmitting.
The Help/Codec Status dialogue shows detailed information about the web phone status and is updated in real time as events occur. The status information is grouped into the following categories.H.261 video compression
The ITU-T recommendation H.261 describes the video coding and decoding methods for the moving pictures. The H.261 includes descriptions of a coding mechanism and a scheme to organize video data in a hierarchical fashion. The compression techniques used by the coding mechanism include transform coding, quantization, Huffman encoding and optional vector motion compensation.
H.263 video compressionH.263 is an improved version of H.261 compression algorithm. The idea of image coding is the same but some additional elements were added which significantly increased the compression efficiency. With H.263 it is possible to achieve the same quality as H.261 with 30-50% of the bit usage. Most of this is due to the half pel prediction and negotiable options in H.263. There is also less overhead and improved VLC tables in H.263.
Audio Compression optionsGSM compression is a telephony standard defined by the European Telecommunications Standards Institute (ETSI). The GSM 06.10 compressor models the human-speech system with two digital filters and an initial excitation. The linear-predictive short-term filter, which is the first stage of compression and the last during decompression, assumes the role of the vocal and nasal tract. It is excited by the output of a long-term predictive (LTP) filter that turns its input--the residual pulse excitation (RPE)--into a mixture of glottal wave and voiceless noise. GSM encoder compress 160 16-bit voice samples into 264-bit GSM frame. GSM 06.10 is faster than code-book lookup algorithms such as CELP. It reduces the data rate by a factor of almost five, from 64kbps to 13kbps, with little degradation of voice-grade audio.
ADPCM compression uses Adaptive Differential Pulse Code Modulation to halve the data rate from 64kbps to 32kbps. The compression algorithm uses the correlation between adjacent audio samples to reduce bit rate. It transmits only the differences between samples and their predicted values which have less dynamic range than the samples themselves. Predictor coefficients and reconstruction levels are calculated dynamically using coded signal. It allows to reduce the bandwidth but make this adaptation technique more susceptible to transmission errors.
LPC10 compression uses Federal Standard 1015, it provides intelligible speech transmission at only 2400 bit per second, with a compression ratio more than 26. LPC10 compression is highly sensitive to noise. To get better result, adjust mic input level to avoid overly-loud signals, and eliminate background noise which can interfere with the compression process.