Install and Configure Ekiga Softphone on Ubuntu for Asterisk SIP Calls
Learn how to install Ekiga on Ubuntu, configure it as an Asterisk SIP endpoint, verify registration, place test calls, and troubleshoot audio, codec, NAT, and video problems.
A softphone is software that provides telephone-like Voice over IP (VoIP) functions on a computer. In an Asterisk deployment, the softphone acts as an endpoint: it can register an extension, place calls, receive calls, and exchange audio with other endpoints.
Asterisk is an open-source PBX and communications platform. It handles SIP registrations, call routing, dialplans, authentication, and telephony features. SIP, or Session Initiation Protocol, is commonly used to register VoIP endpoints and establish calls.
Ekiga is a graphical, free, open-source softphone with SIP support and optional audio and video calling. It is useful when you do not have a physical IP phone available. Normally, run Ekiga on an Ubuntu desktop or workstation separate from the Asterisk host because Ekiga requires an active graphical environment.
Prepare the Asterisk SIP Extension
Asterisk must have a SIP channel account or extension before Ekiga can register. An extension is a local endpoint identity, often represented by a number such as 1001. The Asterisk account definition contains credentials and connection rules that must match the values entered in Ekiga.
Before opening Ekiga, obtain the extension or account ID, authentication username, SIP password or secret, Asterisk server hostname or IP address, SIP port, transport, and permitted codecs. The registrar is the Asterisk SIP service that accepts registrations; it is not a public SIP provider in this setup.
| Setting | Where It Comes From | Example | Purpose |
|---|---|---|---|
| Extension/account ID | Asterisk endpoint or peer definition | 1001 | Identifies the local SIP endpoint |
| Authentication username | Asterisk authentication settings | 1001 | Identifies the account during registration |
| SIP password | Asterisk secret or auth object | example-secret | Proves that the client may use the account |
| Asterisk server hostname or IP address | Server administrator or network configuration | 192.0.2.10 | Locates the SIP registrar |
| SIP port | Asterisk transport configuration | 5060 | Identifies the SIP signaling port |
| Transport | Asterisk transport configuration | UDP | Specifies how SIP signaling is sent |
| Allowed codecs | Asterisk endpoint configuration | ulaw | Determines which media formats may be negotiated |
For a legacy chan_sip configuration, a conceptual account might look like this:
[1001]
type=friend
host=dynamic
secret=example-secret
context=internal
disallow=all
allow=ulawThis example is illustrative, not a complete production configuration. Exact options depend on the Asterisk version and deployment. Modern installations may instead use PJSIP, the newer Asterisk SIP stack, with endpoint, authentication, and address-of-record objects in pjsip.conf. The registration concepts remain the same, but the server-side configuration and verification commands differ.
Install Ekiga on Ubuntu
Ubuntu uses APT, its package-management system, to install software from enabled repositories. Updating package metadata is optional but often useful before installation:
sudo apt-get update
sudo apt-get install ekigaThe combined form is also suitable:
sudo apt-get update && sudo apt-get install ekigaPackage availability depends on the Ubuntu release and the repositories enabled on the system. If APT reports that no installation candidate is available, verify the Ubuntu version, repository configuration, and whether Ekiga is supported for that release. Installation does not automatically mean that the graphical application is running.
Launch Ekiga
Open the desktop application menu, search for Ekiga, and select it. You can also start it from a terminal:
ekigaRun the command inside a logged-in graphical desktop session. Normal desktop use does not require sudo. Starting Ekiga from a non-GUI server shell may fail because there is no usable display, audio session, or desktop device access.
Complete the First-Run Setup Wizard
On first launch, Ekiga may display a setup wizard. The exact screens vary by release, but the wizard generally collects the following information:
- Identity: Enter a display name. This name can identify you to other users and is separate from the SIP authentication password.
- Service and privacy choices: Review any service, account, or privacy-related options presented by the installed version. Accept only settings appropriate for your intended use.
- Network type: Select the option that best describes the connection, such as a local network or a connection behind NAT. NAT, or Network Address Translation, can affect SIP signaling and the RTP media path. Network information may also guide suitable audio codec choices.
- Audio input: Select the microphone or headset microphone that Ekiga should use.
- Audio output: Select the speakers or headset used for incoming audio and ringing.
- Video input: Select a webcam if video calling is needed. This step is optional for audio-only Asterisk calls.
- Apply or finish: Save the choices and complete the wizard. You can revisit preferences later if the selected devices or network settings are incorrect.
Correct microphone and speaker selection is essential. An account can register successfully while calls still have no usable audio because the wrong device is selected, the microphone is muted, or the operating system has not granted device access.
Add the Asterisk SIP Account in Ekiga
After the wizard, open Ekiga's account or preferences area and add a SIP account. If an account already exists, edit it rather than creating a second account with the same identity. Menu names differ between Ekiga versions, but look for account management, SIP accounts, or preferences.
A SIP URI is an address for a SIP destination. Its usual form is sip:extension@server. For the sample values in this lesson, the identity can be represented as:
sip:1001@192.0.2.10Use the Asterisk server as the registrar or server. Do not enter a public SIP provider unless that is specifically the service you intend to use.
| Ekiga Field | Asterisk-Side Value | Example | Notes |
|---|---|---|---|
| Account name | A local label for the account | Asterisk 1001 | Usually descriptive; it is not necessarily the authentication identity |
| SIP address or user | Extension and Asterisk host | sip:1001@192.0.2.10 | Represents the SIP identity and destination server |
| Authentication username | Username in the peer, auth object, or endpoint | 1001 | May match the extension but does not have to |
| Password | Secret or authentication password | example-secret | Use a unique, strong value in a real deployment |
| Registrar or server | Asterisk SIP address | 192.0.2.10 | Points registration to Asterisk |
| Port | Asterisk SIP transport port | 5060 | Use the configured port, not an assumed default |
The example password is intentionally not production-safe. Replace it with the credential assigned to the Asterisk endpoint, and protect that credential from disclosure.
Understand Registration
Registration is the process in which a SIP client authenticates to a server and tells the server where the endpoint can be reached. When Ekiga registers successfully, its account view normally shows a registered, online, or similar status.
A successful status means that Asterisk accepted the credentials and recorded a contact address for the endpoint. It does not prove that the dialplan is correct or that audio will work. Registration, call routing, and media negotiation are separate parts of a SIP call.
Verify Registration from the Asterisk CLI
Open the Asterisk command-line interface:
sudo asterisk -rvvvFor systems using the legacy chan_sip driver, inspect peers with:
sip show peersFor systems using PJSIP, inspect registered contacts with:
pjsip show contactsYou can inspect a particular PJSIP endpoint with:
pjsip show endpoint 1001Use the command matching the configured channel driver. A registered legacy peer or reachable PJSIP contact confirms that Asterisk recognizes the endpoint as reachable, but the displayed status and details vary by version and configuration.
Audio, Codecs, Video, and Network Quality
A codec is an audio or video encoding method used to transmit media. During call setup, Ekiga and Asterisk negotiate a codec. At least one permitted audio codec must overlap on both sides. If Ekiga offers only codecs that Asterisk rejects, signaling may succeed while the call fails or media cannot be established.
Codec selection also involves bandwidth and network quality. A codec with higher bandwidth requirements may provide different quality and delay characteristics than a lower-bandwidth codec. Start with a codec enabled on both the Ekiga account and the Asterisk endpoint, then adjust deliberately rather than enabling unrelated formats without testing.
Video is optional. It requires a detected and permitted camera, compatible video codecs, adequate bandwidth, and Asterisk configuration that supports the desired video path. Confirm reliable audio calling before troubleshooting video.
Test the Registered Endpoint
- Confirm that Ekiga reports the Asterisk account as registered.
- From Ekiga, dial another configured local extension, such as
1002. - Answer the call on the other endpoint and verify that it rings normally.
- Speak in both directions. Confirm two-way audio: each participant must be able to hear and be heard.
- Hang up and verify that both clients return to an idle state.
- Dial the Ekiga extension,
1001, from another endpoint to test inbound calling. - If video is configured, test video separately after audio works. Check camera image, permissions, codec compatibility, and bandwidth.
- Optionally test hold and transfer, but remember that these features may require corresponding Asterisk dialplan or feature configuration.
Endpoint controls such as hold, transfer buttons, mute, and video controls are provided by Ekiga. Server-side behavior, including which numbers may be dialed, where calls are routed, and whether attended or blind transfer is permitted, is controlled by Asterisk configuration and the dialplan.
Common Registration and Call Problems
| Symptom | Likely Cause | How to Verify | Corrective Action |
|---|---|---|---|
| Registration fails | Wrong extension, username, password, port, transport, or missing Asterisk account | Compare Ekiga fields with the endpoint definition and watch the Asterisk CLI during registration | Correct the account values and confirm that the selected SIP driver is listening on the expected port |
| Server unreachable | Incorrect address, routing problem, or firewall blocking SIP traffic | Check connectivity from Ubuntu and inspect Asterisk and firewall logs | Correct the address and permit the required signaling traffic |
| Authentication rejected | Password or authentication username mismatch | Review the Asterisk peer, auth object, or endpoint and observe the registration attempt | Use the exact configured username and password |
| Call connects with no audio | Codec mismatch, wrong devices, or RTP blocked | Check client devices, allowed codecs, and RTP-related firewall settings | Choose overlapping codecs and allow the required media path |
| Only one-way audio | NAT or firewall interference, or an incorrect media address | Test on the same local network and inspect RTP and NAT settings | Correct NAT and RTP configuration, then retest across the network boundary |
| No microphone or speaker audio | Wrong device, mute state, or operating-system permissions | Test the devices in Ubuntu and review Ekiga audio preferences | Select the correct microphone and speakers and grant access |
| Video unavailable | Missing webcam, permissions, incompatible codecs, or insufficient bandwidth | Verify camera detection and review endpoint media capabilities | Treat video as optional, correct camera access, and confirm end-to-end video support |
Ekiga Cannot Register
Recheck the extension, authentication username, password, Asterisk address, SIP port, and transport. Confirm that the extension exists on the Asterisk server. Inspect the Asterisk CLI while attempting registration and use sip show peers for chan_sip or pjsip show contacts for PJSIP. Firewalls can block SIP signaling, and NAT can complicate both signaling and media.
Ekiga Registers but Calls Fail
Registration does not guarantee that a call can be routed. Confirm that the dialed extension exists, that the dialplan permits the call, and that the endpoint uses the intended context. Review the Asterisk console during the call attempt and verify that Ekiga and Asterisk share at least one enabled audio codec.
Ekiga Does Not Start
Confirm that the package is installed and available for the installed Ubuntu release. If the terminal command fails from a server shell, launch Ekiga from a logged-in graphical desktop session with a usable display and audio environment.
Compatibility and Maintenance Notes
Check whether Ekiga is available and supported on the specific Ubuntu version before adopting it for a new workstation. Desktop packages and supported dependencies can change between Ubuntu releases.
Also identify whether the Asterisk system uses legacy chan_sip or PJSIP. Legacy systems commonly use sip.conf and commands such as sip show peers. PJSIP systems commonly use pjsip.conf, separate endpoint and authentication objects, and commands such as pjsip show contacts. The client still supplies a SIP identity, authentication credentials, registrar address, port, and compatible media settings in either case.
Summary
Install Ekiga with APT on an Ubuntu desktop, complete its identity and device setup, and add an account that matches an existing Asterisk SIP extension. Point the registrar to Asterisk, confirm registration from both Ekiga and the Asterisk CLI, then test outbound and inbound extension calls. If calls fail, separate the problem into registration, dialplan, codec, audio-device, firewall, NAT, or optional video issues.
For related setup, review registering phones to Asterisk, Asterisk extensions, and what an Asterisk dialplan is.