Asterisk course

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.

SettingWhere It Comes FromExamplePurpose
Extension/account IDAsterisk endpoint or peer definition1001Identifies the local SIP endpoint
Authentication usernameAsterisk authentication settings1001Identifies the account during registration
SIP passwordAsterisk secret or auth objectexample-secretProves that the client may use the account
Asterisk server hostname or IP addressServer administrator or network configuration192.0.2.10Locates the SIP registrar
SIP portAsterisk transport configuration5060Identifies the SIP signaling port
TransportAsterisk transport configurationUDPSpecifies how SIP signaling is sent
Allowed codecsAsterisk endpoint configurationulawDetermines 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=ulaw

This 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 ekiga

The combined form is also suitable:

sudo apt-get update && sudo apt-get install ekiga

Package 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:

ekiga

Run 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:

  1. Identity: Enter a display name. This name can identify you to other users and is separate from the SIP authentication password.
  2. 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.
  3. 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.
  4. Audio input: Select the microphone or headset microphone that Ekiga should use.
  5. Audio output: Select the speakers or headset used for incoming audio and ringing.
  6. Video input: Select a webcam if video calling is needed. This step is optional for audio-only Asterisk calls.
  7. 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.10

Use 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 FieldAsterisk-Side ValueExampleNotes
Account nameA local label for the accountAsterisk 1001Usually descriptive; it is not necessarily the authentication identity
SIP address or userExtension and Asterisk hostsip:1001@192.0.2.10Represents the SIP identity and destination server
Authentication usernameUsername in the peer, auth object, or endpoint1001May match the extension but does not have to
PasswordSecret or authentication passwordexample-secretUse a unique, strong value in a real deployment
Registrar or serverAsterisk SIP address192.0.2.10Points registration to Asterisk
PortAsterisk SIP transport port5060Use 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 -rvvv

For systems using the legacy chan_sip driver, inspect peers with:

sip show peers

For systems using PJSIP, inspect registered contacts with:

pjsip show contacts

You can inspect a particular PJSIP endpoint with:

pjsip show endpoint 1001

Use 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

  1. Confirm that Ekiga reports the Asterisk account as registered.
  2. From Ekiga, dial another configured local extension, such as 1002.
  3. Answer the call on the other endpoint and verify that it rings normally.
  4. Speak in both directions. Confirm two-way audio: each participant must be able to hear and be heard.
  5. Hang up and verify that both clients return to an idle state.
  6. Dial the Ekiga extension, 1001, from another endpoint to test inbound calling.
  7. If video is configured, test video separately after audio works. Check camera image, permissions, codec compatibility, and bandwidth.
  8. 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

SymptomLikely CauseHow to VerifyCorrective Action
Registration failsWrong extension, username, password, port, transport, or missing Asterisk accountCompare Ekiga fields with the endpoint definition and watch the Asterisk CLI during registrationCorrect the account values and confirm that the selected SIP driver is listening on the expected port
Server unreachableIncorrect address, routing problem, or firewall blocking SIP trafficCheck connectivity from Ubuntu and inspect Asterisk and firewall logsCorrect the address and permit the required signaling traffic
Authentication rejectedPassword or authentication username mismatchReview the Asterisk peer, auth object, or endpoint and observe the registration attemptUse the exact configured username and password
Call connects with no audioCodec mismatch, wrong devices, or RTP blockedCheck client devices, allowed codecs, and RTP-related firewall settingsChoose overlapping codecs and allow the required media path
Only one-way audioNAT or firewall interference, or an incorrect media addressTest on the same local network and inspect RTP and NAT settingsCorrect NAT and RTP configuration, then retest across the network boundary
No microphone or speaker audioWrong device, mute state, or operating-system permissionsTest the devices in Ubuntu and review Ekiga audio preferencesSelect the correct microphone and speakers and grant access
Video unavailableMissing webcam, permissions, incompatible codecs, or insufficient bandwidthVerify camera detection and review endpoint media capabilitiesTreat 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.