Documentation for 3.0 - WORK IN PROGRESS -
User documentation for Ekiga 3.0
This document describes how to use Ekiga version 3.
Ekiga is copyrighted by Damien Sandras (<firstname.lastname@example.org>) and is written mainly by himself, Julien Puydt, Yannick Defais and Eugen Dedu. Past important contributors are: Matthias Schneider and Jan Schampera.
To find more information about Ekiga, please visit the Ekiga Home Page. http://ekiga.org
To report a bug or make a suggestion regarding the application or this manual, follow the directions on http://gnome.org
This program is distributed under the terms of the GNU General Public license as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. A copy of this license may be found in the application itself (Help -> About -> License), or in the file COPYING included with the source code of this program.
Ekiga is able to use modern Voice over IP protocols like SIP and H.323.
The Session Initiation Protocol (SIP) is a protocol developed by the IETF MMUSIC Working Group and proposed standard for initiating, modifying, and terminating an interactive user session that involves multimedia elements such as video, voice, instant messaging, online games, and virtual reality. In November 2000, SIP was accepted as a 3GPP signaling protocol and permanent element of the IMS architecture. It is one of the leading signalling protocols for Voice over IP.
H.323 was originally created to provide a mechanism for transporting multimedia applications over LANs, but it has rapidly evolved to address the growing needs of VoIP networks. One strength of H.323 was the relatively early availability of a set of standards, not only defining the basic call model, but also the supplementary services needed to address business communication expectations. H.323 was the first VoIP standard to adopt the IETF standard RTP to transport audio and video over IP networks. H.323 is based on the ISDN Q.931 protocol and is suited for interworking scenarios between IP and ISDN, respectively between IP and QSIG. A call model, similar to the ISDN call model, eases the introduction of IP Telephony into existing networks of ISDN based PBX systems.
Ekiga is a free Voice over Internet Protocol (or VoIP) IP telephony and video conferencing application for Linux, Unix-like (e.g. BSD or OpenSolaris), and Windows operating systems. You can place audio and video calls from PC-to-PC or PC-to-phone. SMS-style messaging is also supported.
It supports all major VoIP features like audio and video calling, call hold, call transfer, call forwarding, and instant messaging.
Ekiga supports the best free video and audio codecs (with echo cancellation) for superior call quality.
Getting started (first time Assistant)
When starting Ekiga for the first time, the Configuration Assistant will launch automatically. The Conﬁguration Assistant is a step-by-step wizard that will guide you through all the steps involved in creating the basic conﬁguration you will need to use Ekiga. You should go through all of these steps properly, otherwise the assistant will re-appear (when it has not been completed) or Ekiga will not function correctly (if some of your answers have not been inaccurate). You may run the Configuration Assistant at any time from the Edit menu.
Tip: All settings can be changed via the preferences window at anytime.
Throughout the entire configuration process, navigation is available at the bottom of the window. You will be able to navigate through the questions using the Back, Forward and Cancel buttons. If you hit Cancel during the setup, Ekiga will not be affected by your changes, and all entered information will be discarded.
This page welcomes you to the Configuration Assistant. There is nothing to change or edit here. Press the Forward button at the bottom of the window to start the configuration.
Define your Identity
The Personal Information window is where you enter your personal details needed to use Ekiga. You must provide both your name and surname. This information is displayed when connecting to other audio/video applications.
Register to a VoIP service
Ekiga.net is a free VoIP services platform provided to Ekiga users allowing PC-to-PC calling. If you want to call other users and to be callable yourself, you need a SIP address. You can get one from http://www.ekiga.net. Ekiga.net also offers additional services, like conference rooms and online white pages. Please see http://www.ekiga.net for more information.
Follow the link given in the dialog to register for an account (if you do not already have one), and fill in your username and password. Then press Forward to continue.
Ekiga Call Out Account (PC to Phone)
Ekiga can be used with several Internet Telephony Service Providers. These providers will allow calls to real phones from your computer using Ekiga at competitive rates. There is no obligation for you to use a commercial provider, but if you need such service, we recommend using the default Ekiga provider.
If you do not want to use a commercial provider, check the box in front of "I do not want to sign up for the ekiga.net free service", then press Forward to continue.
If you want to create an account and use it to call your friends and family using regular phones at competitive rates, click the "Get an Ekiga Call Out account" link.
Once the account has been created, you will receive a login and a password by e-mail. Enter these credentials in the dialog, and you'll be ready to call regular phones using Ekiga. Then press Forward to continue.
Select your connection type
If your connection type is not listed, you should select the one closest to your network connection and adjust Ekiga manually in the preferences window (codecs section) later on. This setting will help Ekiga select the optimal codecs to suit your available bandwidth.
Select your audio devices
Audio device configuration is dependent on the operating system on which Ekiga is running, and different operating systems will configure audio devices in different ways.
Ekiga will attempt to automatically detect audio hardware (e.g. a USB headset, or a webcam with a built-in mic) plugged into your computer. These audio devices will then be listed here, allowing you to select them for your calls.
The audio ringing device (allowing you to hear a ringtone for incoming calls) is usually set to the internal sound card, under the name Default.
The audio output device outputs the incoming sound stream during a call. You would typically select the device that your headphones or speakers are connected to. Default is a good choice for your internal sound card.
The audio input device is where your microphone is connected to. Default is also a good choice for your internal sound card. These settings might be the same as the settings for the audio output device if you have only one soundcard, but it's also possible for the audio input to be set to another device, for example, the internal microphone on your webcam.
Select your Video Input Device
Select a video plugin and video input device from the list. It can be Video4Linux to manage webcams, or AVC / DC for Firewire cameras, or any other choice depending on the operating system on which Ekiga is running.
This step is optional and is relevant for users with video devices (e.g. webcams) only. If you do not have any video devices you may skip this page: Ekiga works fine for audio calls only.
Confirm your setup
Configuration of Ekiga is now complete. The last window displays a summary of the settings you have chosen. Verify that your settings are correct; if something is incorrect, you may use the Back button in the lower right hand corner of the window to go to any page of the assistant to correct the mistake.
If all is well, press the Apply button to save the configuration. The assistant will close, and the main window of Ekiga will now appear.
Remember, all settings can be changed via the preferences window at anytime.
Test your setup
It is generally recommended that you test your setup after having completed the Configuration Assistant.
If you registered a SIP address with http://www.ekiga.net, you can call a dedicated echo test service by using the address sip:email@example.com.
You should hear a recorded message saying "You're about to enter an echo test. In this mode everything you say will be repeated back to you just as soon as is it received. The purpose of this test is to give you an audible sense of the latency between you and the machine that is running the echo test application. You may end the test by hanging up or pressing the pound key".
By speaking into your mic, you should hear your voice repeated back to you after a short delay. If the test was successful, you can continue to the next page of this manual. If the test was unsuccessful (e.g. you cannot hear your voice repeated back), then you should restart the Configuration Assistant and test your configuration again until you have a setup that works for you.
Managing VoIP Services
You can open the accounts window by selecting Edit -> Accounts. This will open the Accounts Window. The Accounts window will allow you to add and register with SIP and H.323 accounts. An account contains the user login and password details to register with SIP and H.323 services. These services can be an Internet Telephony service provider (like Ekiga.net), or an IPBX (like CISCO, Nortel, or Asterisk).
Register Ekiga to a VoIP service
You can register with as many VoIP service providers as you want using Ekiga.
A service provider is not mandatory for using Ekiga, but having at least one VoIP service provider will greatly enhance the Ekiga softphone experience..
VoIP services can extend Ekiga's feature set in many useful ways:
- SIP addressing: If you want to call other users and to be callable yourself, you're best off with a SIP address, which is a human-readable address similar in appearance to an email address (e.g. sip:firstname.lastname@example.org). Your personal SIP address is used by other users to call you. Similarly, you can use the SIP address of your friends and family members to call them. For example, sip:email@example.com is the protocol & address used to call the author of Ekiga.
- Searchable addressbook: most providers maintain a database registering their users, and may also allow searching through it. Ekiga is able search remote addressbooks if they use the LDAP technology.
- Conference calls: this service is in charge of collecting all audio (and possibly video) flux and mixing them before sending them back to the participants. The free PBX Asterisk can provide this feature too.
- Peering: this is an agreement between VoIP service providers which enables the users of one service to call users of another. This is usually implemented by dialing a special prefix number, followed by the number of the recipient (on the 'other' service).
- PC-to-Phone and Phone-to-PC calls: commercial providers may provide a bridge to PSTN/cellphone networks. The service routes the call to those networks, typically charging you for the operation.
- Voice mail: if you're not available, a caller may leave you a voice message. Ekiga tells you how many messages you have waiting. The free PBX Asterisk can provide this feature too.
You'll notice that the Configuration Assistant recommends two VoIP services to you during setup:
- Ekiga.net is a free VoIP service for PC-to-PC communication. Ekiga.net gives you your own SIP address, a searchable addressbook, conference calls, and the ability to contact friends using other service providers with peering or ENUM.
- Ekiga Call Out is a commercial VoIP service for PC-to-Phone and Phone-to-PC communication. It also allows you to send SMS messages from PC-to-Phone.
Ekiga features automated registration with your service providers. If you choose to use the Ekiga.net or Ekiga Call Out service while in the Configuration Assistant, Ekiga will try to automatically register with them at startup. If later you want to add another VoIP service account, you'll have the option for Ekiga to automatically register with it while creating the account (tick the Enable Account box).
At any time you can manually register and unregister with a VoIP service: in the Accounts Window (Edit -> Accounts), you can tick and untick the box in front of the account name to register and unregister the service respectively.
Add an Ekiga.net account
Add an Ekiga Call Out account
Add a SIP account
To add a SIP account, simply click on Account -> New SIP Account. A dialog will appear and allow you to enter several parameters:
- Name: the account name goes here. This should be descriptive name, especially if you have accounts with several service providers.
- Registrar: the registrar with which you want to register. This is usually an IP address or a host name that will be given to you by your Internet Telephony Service Provider, or by your administrator if you are trying to register to a SIP IPBX.
- User: this is your account username.
- Authentication User: if the authentication user is different from the username you used above, enter it here. In this scenario, the User field will be used to control the outgoing identity for the account you are adding, while the Authentication User will be used during the authentication phase.
- Password: this is your account password.
- Timeout: The timeout after which the registration should be updated. 3600 is the default setting.
Ekiga will do a best guess in determining the identity that will be used when calling out. Sometimes, you will need to force that identity. You can do this by specifying the identity in the User field. For example: firstname.lastname@example.org to force email@example.com to be used as outgoing identity for that account.
Add an H.323 account
Add a contact to your contact list (roster)
To add a contact to your Ekiga roster, click on Chat -> Add Contact. The Add to local roster window will appear, with fields to supply information for the contact's name and address. Contacts can also be added from a contextual menu by right-clicking in the roster, and selecting New contact.
Remove a contact from your contact list (roster)
To remove a contact from your Ekiga roster, first select the contact as visible in the roster. Then click on Chat -> Contact -> Remove. The contact is removed from your roster immediately. Contacts can also be removed from a contextual menu by right-clicking on the relevant contact in the roster.
Group contacts in your contact list (roster)
You can sort your contacts visible in the local roster into pre-defined groups, such as Friends or Work; this allows for example to make visible only one of the groups (e.g. Work when you are at work). You can also create custom group names to sort your contacts into, for example First Level Tech Support.
To change the group a contact belongs to, first right-click on the contact as visible in the local roster, then click on Edit from the contextual menu that appears and tick the group you wish the contact to be sorted into. If you wish to add a custom group, enter your custom group name here, and click Add. Click OK to finish.
Ekiga is also able to detect other Ekiga users on the LAN (using the Bonjour technology popularized by Apple Inc.), and populate the Neighbours section of the roster accordingly. This feature assumes you have a local mDNSResponder daemon running on your computer.
Search a contact in the Local Address Book
To view address books, select Chat -> Address Book and the Address Book window should appear. In the left-hand pane there will be a list of local address books, as well as any online (LDAP) address books. The default address books are the Ekiga.net online directory, and the Personal address book shared from Novell Evolution if you use the GNOME desktop, or, the Personal address book shared from KAddressBook if you use the KDE desktop.
To search for a user in the local address book, simply click to highlight it in the left hand pane, then enter the user's name in the Search Filter field and click the Find button.
You can place a call to a user by double-clicking on their name in the search results window.
You can also place a cell phone call to users in the local address book, if the user information was originally entered using Novell Evolution.
Add a new contact to your local address book
To add a contact to the Ekiga local address book, simply select the address book, then select Action -> New Contact. The New contact window will appear and you may now enter the user's name and VoIP address, as well as any other settings. Click OK to finish. If you are running Novell Evolution or KAddressBook, you'll notice the contact has been updated in each respective application's Personal address book as well.
Note that you can only add contacts to local address books in Ekiga: adding contacts to LDAP address books from within Ekiga is not supported.
Remove a contact from your local address book
To remove a contact from a local address book, highlight the contact, then select Action -> Remove. The contact can also be removed by right-clicking on the contact, then selecting Remove from the contextual menu that appears.
Additionally, if you remove the contact from either the Novell Evolution or KDEAddressBook applications, then this will also remove the contact from Ekiga's local address book.
Note that you can only remove contacts from local address books in Ekiga: removing contacts from LDAP address books from within Ekiga is not supported.
Search in a remote Address Book (LDAP)
Ekiga is able to connect to online address books, allowing you to search for contacts in a remote directory. The most common online address book type is the LDAP directory. Ekiga is able to search an LDAP directory and use a specific attribute as a calling address (i.e. VoIP URI). For example, you could connect to a an LDAP directory provided from within your own company, and use a specific attribute containing the local extensions of all your colleagues.
You can use the Search Filter field to search for contact names and call addresses in an LDAP directory. A limited number of results corresponding to your search are returned.
Add a remote address Book (LDAP)
To connect to an LDAP directory, open the address book window, and click on Address Book -> Add an LDAP Address Book. You will be prompted to supply information for several LDAP-specific parameters: contact your LDAP directory administrator for help with any of information required here.
Remove a remote address Book (LDAP)
You can remove an LDAP address books by first highlighting the address book in the left-hand pane of the address book window, then clicking Action -> Remove addressbook. You can also right-click on the address book you wish to remove, and select Remove addressbook from the contextual menu that appears.
Search in the Ekiga.net Directory
The Ekiga.net address book is an LDAP directory pre-configured in Ekiga, allowing convenient searches for other Ekiga.net users. You can use the Search Filter field to search for contact names and call addresses, and a limited number of results corresponding to your search are returned.
Add a contact to your contact list from the Ekiga.net Directory
You can easily add a contact to your local roster from the Ekiga.net directory, or any other LDAP address book. Simply highlight the user, and click on Action -> Add to local roster. You can also right-click on the contact, and select Add to local roster from the contextual menu that appears.
Ekiga supports different policies for incoming calls. Per default it displays a popup window which allows you to decide whether you want to refuse or accept the request for an incoming call.
FIXME Furthermore Ekiga offers REPLACE_two_REPLACE modes that override this behaviour: Do Not Disturb, and Forward. They can be activated from the the REPLACE._Main Window_REPLACE
Set your status
You can set a status message in Ekiga that advertises your presence to your contacts. Ekiga features three preset status messages, and within each one of these presets, custom status messages can be created.
The three preset status messages are:
- Do Not Disturb
Simply click on the drop-down status message list to select a preset status. Note that you may be called in any of these statuses; they are used simply to inform the other users about your wishes.
Define a custom message
To define a custom message, click on the drop-down status message list in the main Ekiga window, and select "Custom message..." under the preset status message category you wish to use. In the pop-up window that appears, enter your custom message, and click OK to apply.
Delete a custom message
To delete a custom message, click on the drop-down status message list in the main Ekiga window, select Clear, and select the custom message you wish to delete. Click Delete to apply.
Chat with a contact
Ekiga allows you to send instant messages to your SIP contacts.
To compose a text message to a user, first highlight the user as visible in your contacts roster, then on the Ekiga menu bar goto Chat -> Contact -> Message. The chat window will appear and allow you to perform a text conversation with the selected remote user.
To send the message simply type
Return. To insert a new line inside the message, type
Shift-Return (works only for ekiga >= 3.3.1).
You can also open the chat window from a contextual menu by right-clicking on the user in your roster, and selecting Message.
You can also exchange text messages with H.323 Ekiga users, but only while being in a call.
Ekiga features full emoticon functionality, accessible from within an active chat window.
Call a contact
Ekiga supports several actions which can be performed when in a call. These actions enable you to control active sessions.
Select an account for a call
Call on internet (PC to PC)
If you want to call other users and to be callable, you need a SIP address. You can get a SIP address from http://www.ekiga.net as described above.
The SIP address can be used by other users to call you. Similarly, you can use the SIP address of your friends and family to call them. You can for example use sip:firstname.lastname@example.org to call the author of Ekiga.
You can use the online address book of Ekiga to find the SIP addresses of other Ekiga users. It is of course possible to call users who are using another provider than ekiga.net. You can actually call any user using SIP software or hardware, and registered to any public SIP provider
If you know the URI address of the party that you wish to call, you may enter that URI into the sip: input box at the top of the screen and press the Connect button; eg: sip:email@example.com and pressing the Connect button would call the user at that address. With the default setup, you can simply type sip:foo to call user firstname.lastname@example.org.
Tip | Ekiga also supports H.323 and as such can call any H.323 software or hardware. Please refer to the section REPLACE_"Understanding VoIP addresses"_REPLACE to learn more about the various types of URIs that can be used to call remote H.323 and SIP users.
Call out (PC to Phone)
Ekiga can be used with several Internet Telephony Service Providers. Those providers will allow calling real phones from your computer using Ekiga at interesting rates. We are recommending you to use the default Ekiga provider.
If you want to create an account and use it to call your friends and family using regular phones at interesting rates, go in the Tools menu, and select the "PC-To-Phone Account" menu item. A dialog will appear allowing you to create an account using the "Get an Ekiga PC-to-Phone account".
Once the account has been created, you will receive a login and a password by e-mail. Simply enter them in the dialog, enable "Use PC-To-Phone service", and you are ready to call regular phones using Ekiga
Dial a number
With the default setup, you can simply use sip:003210444555 to call the real phone number 003210444555, 00 is the international dialing code, 32 is the country code, 10444555 is the number to call.
See List of PC to phone providers for a list of alternative providers.
Call in (Phone to PC)
Ekiga can be used to receive incoming calls from regular phones.
To allow this, you can simply login to your PC-To-Phone account using the Tools menu as described above, and buy a phone number in the country of your choice. Ekiga will ring when people will call that phone number.
You can actually use any H.323 or SIP ITSP provider, including your own PBX at work. However we recommend using the integrated provider.
End a call
An active call can be ended by selecting Chat -> Hang Up
Hold a call
You can hold an active call by selecting Chat -> Hold Call. This effectively pauses video and audio transmission. To resume the call select Chat -> Retrieve Call. Video and audio transmission will then resume.
Mute audio during a call
To mute audio during an active call, select Chat -> Suspend Audio. Audio will cease to be sent, but video transmission will continue. To unmute audio, select Chat -> Resume Audio.
Mute video during a call
To mute video during an active call, select Chat -> Suspend Video. Video will cease to be sent, but audio transmission will continue. To unmute video, select Chat -> Resume Video.
Transfer a call
Transferring the remote party: You can transfer the remote user to another H.323 or CALLTO URI by using the appropriate menu entry in the Call menu or by double-clicking on an user in your address book, or in the calls history.
Tip | All URIs supported by Ekiga (SIP, H.323, CALLTO and Speed Dials) can be used for call transfer.
Forward incoming calls
Ekiga has the ability to forward calls to another host. Which allows you to configure Ekiga to forward all incoming calls to a specified URI. Furthermore it is able to forward calls interactively when you do not answer the call after a configurable amount of time or when you are busy.
Call Forwarding can be configured through the preferences window. Notice that you need to specify an URI where to forward calls in the preferences to be able to activate that option. Open the preferences window by choosing Edit -> Preferences in the main window and select Call Options on the left. You will now see the appropriate section. It contains three checkboxes for the three cases described above. The IP address/hostname of the host the calls shall be forwarded to can be configured separate in SIP Settings for SIP and accordingly in H323 Settings for H323.
Message Waiting Indications
The Calls History window stores information (date, duration, URI, Remote user) about all outgoing and incoming calls. They are divided into three groups "Received calls", "Placed calls" and "Unanswered calls".
Received calls contains all incoming calls which were accepted by Ekiga. NEW_It is preceded by this icon SCREENSHOT GREEN ARROW RIGHT_NEW
Placed calls keeps track of all attempts - successful or not - to call another user.NEW_It is preceded by this icon SCREENSHOT GREEN ARROW LEFT_NEW
Unanswered calls shows incoming calls which timed out or were rejected (if Do Not Disturb is enabled, for instance) by Ekiga.NEW_It is preceded by this icon SCREENSHOT GREY ARROW RIGHT_NEW
Tip | REPLACE_Right click_REPLACE on a row in the Calls History will NEW_allow to_NEW call back the selected user, or transfer any active call to that userNEW_, or add the selected contact to the roster_NEW.
CANDIDATEFORSUPPRESSION_Notice that you can also drag and drop entries from the Calls History into the Address Book to store contact information.
This information can be accessed by opening REPLACE_View_REPLACE->Calls History and by switching between the three tabs.
Monitor a call
The status bar (visible at the bottom of the main Ekiga window) shows information about audio and video bandwidth, and the video FPS (frames per second) achieved during an active call.
The status bar uses the format: A:a/b V:c/d FPS:e/f
- a/b displays transmitted/received audio bandwidth in kB/s
- c/d displays transmitted/received video bandwidth in kB/s
- e/f displays transmitted/received video frames per second
To view network traffic statistics during an active call, you can hover the mouse pointer over the status bar to display a pop-up window:
Here is a description of each parameter:
- Lost packets: The percentage of lost packets, i.e. packets from the remote user that you did not receive. Too high packet loss during reception can result in voice and/or video distortion, and is usually caused by a bad network provider or by settings requiring excessive bandwidth.
- Late packets: The percentage of late packets, i.e. packets from the remote user that you received but too late to be processed.
- Out of order packets: An out of order packet is a packet that it is sent before another packet, but it arrives after the other packet. The percentage shown is the number of out of order audio and video packets divided by the total number of audio and video packets.
- Jitter buffer: The Jitter buffer is the buffer where received sound packets are accumulated. When the buffer is full, then the sound is played. If your network is of insufficient quality, then you need a big jitter buffer - which results in a larger delay before sound is played back.
- Resolution: The resolution is the video window size in pixels (X by Y) of the transmitted video (TX), and the received video (RX).
Ekiga supports several audio and video codecs. It includes codecs with excellent quality, as well as codecs with medium to good quality. The higher the quality of a codec, the more bandwidth or CPU power it requires. The first time the Configuration Assistant is run during the initial setup of Ekiga, an optimal selection of codecs is automatically made based on your network connection.
Adjust audio input and output volume
Audio input (microphone) and output (speaker or headphone) levels may be set when a call is in progress. To adjust audio levels, first click on the speaker icon: in the window that appears, you may adjust levels for your microphone and speakers/headphones independently:
For the best audio quality, we recommend the use of a microphone/headphone combination.
Choosing the right audio device
When the Configuration Assistant is run during the initial setup of Ekiga, all audio input and output devices attached to the system are detected and displayed in a drop-down list - you simply select the desired audio input and output device to use.
If you wish to change the audio input or output device afterwards, this may be set in the Ekiga preferences window under Edit -> Preferences -> Audio -> Devices.
The audio Ringing Device (allowing you to hear a ringtone for incoming calls) is usually set to the internal sound card, under the name Default.
The audio Output device outputs the incoming sound stream during a call. You would typically select the device that your headphones or speakers are connected to. Default is a good choice for your internal sound card.
The audio Input device is where your microphone is connected to. Default is also a good choice for your internal sound card. These settings might be the same as the settings for the audio output device if you have only one soundcard, but it's also possible for the audio input to be set to another device, for example, the internal microphone on your webcam.
Select the best quality/bandwidth ratio for audio
The audio codecs table in the Ekiga preferences window allows you to enable, disable, and reorder audio codecs. Each codec has strong and weak points. For example, the G.711 codec will give you very good voice quality, but it will also use the most bandwidth; the Speex codec on the other hand will give you average voice quality, but with very low bandwidth usage.
When you reorder codecs, you are reordering the local capabilities table. During a communication, only one audio codec is used. The audio codec used is the first active codec on receiver which is active on sender.
You can force the use of a specific codec by selecting it and disabling all other codecs, but this will result in failed calls if the remote user hasn't enabled that specific codec. The best approach is to put your preferred codecs at the top of the list, and to disable the codecs that you don't want to use for sending and receiving audio.
Tip: There are two versions of Speex: one of them is Speex WideBand (visible as Speex 16KHz in the audio codec list), the other one is Speex LowBand (Speex 8kHz).
Adjust brightness, whiteness, colour and contrast of your video input device
To adjust the brightness and colour properties of your video input, first make sure you have the Ekiga Call Panel enabled (View -> Show Call Panel). Then, click on the camera icon to display a real-time local feed from your video device. Finally, click on the contrast icon to the left of the camera icon, and use the sliders to adjust the brightness, whiteness, colour, and contrast settings for your video feed:
Choosing the right video device
When the Configuration Assistant is run during the initial setup of Ekiga, all video input devices attached to the system are detected and displayed in a drop-down list - you simply select the desired video input device to use.
If you wish to change the video input device afterwards, this may be set in the Ekiga preferences window under Edit -> Preferences -> Video -> Devices.
You can also adjust other settings for the selected video input device, such as the size of the transmitted video display, the regional video format, and the video source channel to use.
Tip: The regional format does not apply to most USB cameras.
Tip: If there is a problem with the selected video input device, a test picture will instead be sent.
Select the best quality/bandwidth ratio for video
The video codecs table in the Ekiga preferences window allows you to enable, disable, and reorder video codecs. Each codec has strong and weak points. For example, h261 is an older codec available on the widest variety of video conferencing systems, but has average quality. h264 has very good video quality, but is not necessarily available on every platform.
When you reorder codecs, you are reordering the local capabilities table. During a communication, only one video codec is used. The video codec used is the first active codec on receiver which is active on sender.
You can force the use of a specific codec by selecting it and disabling all other codecs, but this will result in failed calls if the remote user hasn't enabled that specific codec. The best approach is to put your preferred codecs at the top of the list, and to disable the codecs that you don't want to use for sending and receiving video.
Tip: Video codecs can adapt their quality to the available bandwidth. This setting is made when the Configuration Assistant is run during initial setup of Ekiga, so that an optimal quality codec is selected based on your network connection.
Activate the video support in calls
To use video calling, enable the Ekiga Call Panel (View -> Show Call Panel).
Test your webcam
You can test your webcam in two ways: by enabling a local feed of your webcam video ouput, and by making a test echo call.
To view a live local video feed of your webcam, first enable the Ekiga Call Panel (View -> Show Call Panel), then press the camera icon. You should see the video output from your webcam displayed in the call panel window.
To make a test video call, place a SIP call to the Ekiga echo test service (sip:email@example.com). Once successfully connected to the echo test service, you should see a picture-in-picture view in the call panel window: the main picture displays video sent from the remote end, while the smaller picture is the local video feed from your webcam (i.e. the video being sent). You should observe a small delay between the two - this is normal.
Tip: The echo test only accepts the h261 video codec for video calls.
Controlling the Video Bandwidth
Ekiga uses a best-effort algorithm to maintain low bandwidth usage when transmitting video. You may if you like adjust video quality settings favouring a good frame rate, or, a good picture quality. Ekiga will dynamically adjust the video bandwidth and the number of transmitted images per second during a call, while trying to respect the requested video bandwidth.
A best-effort algorithm means that it may be impossible for Ekiga to respect a bandwidth setting if it is set too low. However, if the video bandwidth allows transmission with a higher picture quality or a faster framerate than the set value, then Ekiga will dynamically adjust this so that the quality and the framerate are always the best possible.
Choosing a higher framerate and a lower picture quality will have the same result in terms of video bandwidth as choosing higher picture quality with a lower framerate. It depends if you prefer using your bandwidth to transmit more lower quality images, or fewer better quality images.
Send a picture instead of video to your contact
In the event that your video input device is unavailable or if you prefer not to send video, you can instead send a moving logo animation. This can be selected from the Ekiga preferences as follows:
The Ekiga logo will then be sent as your video signal in an active call:
The outbound proxy is the SIP proxy that will relay your calls. The behavior of a SIP proxy is similar to the behavior of an HTTP proxy, ie some entity that issues the requests on your behalve and proxies the streams.
The URI to which SIP incoming calls should be forwarded if configured in the preferences.
The default gateway is the H.323 gateway to use when doing calls. For example, if you are calling h323:123443 with a default gateway set to foo, gateway foo will dial 123443 on your behalve. Usually, you will be registered to a gatekeeper, and gateway is not used.
The URI to which H.323 incoming calls should be forwarded if configured in the preferences.
Ekiga permits a fine control of the H.323 settings in the Advanced H.323 Settings section of the preferences. You can enable H.245 Tunneling, Early H.245 and Fast Start.
H.245 Tunneling is the encapsulation of H.245 messages within H.225/Q.931 messages (H.245 Tunneling). If you have a firewall and enable H.245 Tunneling, there is one less TCP port that you need to allow for incoming connections.
This enables H.245 early in the setup and permits to achieve faster call initiation.
Fast Connect is a new method of call setup that bypasses some usual steps in order to make it faster. In addition to the speed improvement, Fast Connect allows the media channels to be operational before the CONNECT message is sent, which is a requirement for certain billing procedures. It was introduced in H.323 version 2.
Using Ekiga with Audio Servers
Windows: Direct Sound
GNU/Linux: ALSA, Pulse Audio, OSS
Using Ekiga with Routers and firewalls
Ekiga has advanced methods to allow the traversal of various NAT types. There is still a type of NAT, the Symmetric NAT, which cannot be traversed without exterior help, a proxy. If Symmetric NAT is found, ekiga will register, but no call can be made. Right after the registration, it shows (in the current version) the message "Bad NAT type" in the terminal. Upon calling, it gives the "Abnormal call termination" error. With "-d 5" you will see a message like this:
2008/07/24 10:46:45.008 0:02.777 StunDetector:0x41b1d950 OPAL STUN server "stun.voxgratia.org" replies Symmetric NAT, external IP X.Y.Z.T
More information about symmetric NAT: Symmetric NAT means that it's not possible de guess what ports will be used. There is no solution in this case, except using an external proxy. Such proxies use VERY high bandwidths. (Skype for example avoids this problem by using users with public IP addresses themselves as proxies.)
The main port listening for incoming connections in Ekiga for SIP is port 5060 (UDP), while 1720 (TCP) is used by H.323. To change those ports you need to load "gconf-editor". Open gconf-editor, select apps from the left hand side menu and then select Ekiga. Then select "sip" or "h323", it should give you a list in the corresponding window to your right. Select listen_port and change it to your desired value. You can also change the UDP/RTP port ranges.
1. The "listen_port" value is the port Ekiga will listen for incoming connections on. It is different for SIP and H.323.
2. The "rtp_port_range" value is the range of UDP ports that Ekiga will use for RTP (audio and video communication channels). Ekiga needs to be restarted for the new values to take effect.
3. The "udp_port_range" value is the range of UDP ports that Ekiga will use for SIP signalling or when registering to H.323 gatekeepers.
4. The "tcp_port_range" value is the range of TCP ports beside the listen_port that Ekiga will use for the H.245 channel with the H.323 protocol. That port range is not used by SIP. It is not used either when H.245 Tunneling is enabled, which is in general always the case, except when calling old H.323 implementations like Netmeeting.
Troubleshooting is covered in more detail in the Troubleshooting Section in the wiki.
Error messages in Ekiga
These are the error message Ekiga presents. OPAL sends a numeric code to Ekiga and Ekiga presents these phrases to the user. The two messages with opal codes of n/a are produced internally by Ekiga.
It has been noted that Ekiga cannot offer more details than it gets from OPAL.
Ekiga OPAL Internal Message Code Parameter Address incomplete 484 Failure_AddressIncomplete Alternative service 380 Redirection_AlternativeService Ambiguous 485 Failure_Ambiguous Bad event 489 Failure_BadEvent Bad gateway 502 Failure_BadGateway Bad request 400 Failure_BadRequest Busy everywhere 600 GlobalFailure_BusyEverywhere Busy Here 486 Failure_BusyHere Conflict 409 Failure_Conflict Decline 603 GlobalFailure_Decline Does not exist anymore 604 GlobalFailure_DoesNotExistAnywhere Extension required 421 Failure_ExtensionRequired Forbidden 403 Failure_Forbidden Globally not acceptable 606 GlobalFailure_NotAcceptable Illegal status code n/a IllegalStatusCode Internal server error 500 Failure_InternalServerError Interval too brief 423 Failure_IntervalTooBrief Length required 411 Failure_LengthRequired Loop detected 482 Failure_LoopDetected Message too large 513 Failure_MessageTooLarge Method not allowed 405 Failure_MethodNotAllowed Moved permanently 301 Redirection_MovedPermanently Moved temporarily 302 Redirection_MovedTemporarily Multiple choices 300 Redirection_MultipleChoices Not acceptable 406 Failure_NotAcceptable Not acceptable here 488 Failure_NotAcceptableHere Not found 404 Failure_NotFound Not implemented 501 Failure_NotImplemented Payment required 402 Failure_PaymentRequired Proxy authentication required 407 Failure_ProxyAuthenticationRequired Request entity too big 413 Failure_RequestEntityTooLarge Request pending 491 Failure_RequestPending Request terminated 487 Failure_RequestTerminated Request URI too long 414 Failure_RequestURITooLong Server timeout 504 Failure_ServerTimeout Service unavailable 503 Failure_ServiceUnavailable SIP version not supported 505 Failure_SIPVersionNotSupported Temporarily unavailable 480 Failure_TemporarilyUnavailable Timeout 408 Failure_RequestTimeout Too many hops 483 Failure_TooManyHops Transport error n/a Local_BadTransportAddress Unauthorized 401 Failure_UnAuthorised Undecipherable 493 Failure_Undecipherable Unsupported media type 415 Failure_UnsupportedMediaType Unsupported URI scheme 416 Failure_UnsupportedURIScheme Use proxy 305 Redirection_UseProxy
Defines specific terms in the book. You do not need to define terms that are in the http://www.bartleby.com/61/.
Contain additional notes about related topics that are not directly explained in the document body.
* Asterisk PBX: http://asterisk.org
* SIP Express Router: http://www.iptel.org/ser
* OpenH323 Gatekeeper: http://www.openh323.org * GNU Gatekeeper: http://www.gnugk.org * OpenH323 Proxy: http://openh323.sourceforge.net * H323 - ISDN Gateway: http://www.telos.de/linux/H323/
* OpenMCU: http://www.openh323.org
* XTen: http://www.xten.com * SJPhone: http://www.sjlabs.com/ * OpenPhone: http://www.openh323.org * Netmeeting: http://www.microsoft.com
Understanding VoIP addresses
SIP URIs are formatted as such "sip:user@[host[:port]]"
This permits you to call the given user or extension on the specified SIP proxy: sip:firstname.lastname@example.org
H.323 URIs are formatted as such "h323:[user@][host[:port]]"
This permits you to:
* Call a given host on a port different from the default port which is 1720: h323:seconix.com:1740 * Call a given user using their respective alias if registered to a gatekeeper: h323:jonita * Call a given phone number if you are registered to a gatekeeper for a PC-To-Phone provider, or if that user has an ENUM record associated to an H.323 URI: h323:003210111222 * Call a given user using their alias through a specific gateway or proxy: h323:email@example.com * Call an MCU and join a specific room: h323:firstname.lastname@example.org
Callto URIs are formatted as such "callto:[user@][host[:port]]"
Callto URIs and H.323 URIs are formatted exactly the same except however callto URIs also support ILS lookups directly: callto:ils_server/user_mail.
CANDIDATEFORSUPPRESSION_For example, calling callto:email@example.com will look for the user with the firstname.lastname@example.org email address on the ILS server ils.seconix.com and proceed to initate a call.
List the RFCs
Network transversal: STUN
Free codecs Plugins Vidéo: H263, H264 Plugins Audio: G729, iLBC
List the RFCs
Free codecs Audio: G729, iLBC
Plug n'play using a local network: ZeroConf/Bonjour
API for devices support
Audio: OSS, ALSA, Direct audio
Video: V4l, V4l2, FireWire, DirectX
Evolution address book
SIP URI in GNOME
Configuration storing (GConf daemon)
SIP URI in KDE
SIP URI in Windows
Provides keyword links to specific concepts in the book. Follow the guidelines in this guide to create an effective index.