iaxComm is an Open Source softphone for the Asterisk PBX.

Quick Start

iaxComm is designed to allow connection to multiple asterisk servers, and accept calls on up to 100 lines.

The current version (CVS date 19 Jan 2004) is a single executable file. That's all you need to install iaxComm on your machine.

You can make peer to peer calls without registering with any asterisk server. Just enter

guest@misery.digium.com/s

to make a test call to Digium's test server.

To answer an incoming call, just click on the call. To hang up, double click on the call.

Main Window

Just below the audio meters is a slider that adjusts speaker volume.

The Call Appearances frame shows the status of each line, and the extension at the other end of the call.

The Account control selects the default asterisk account
(See below)

The Dial key works like the Send key on a cell.
(No dialtone)

The Hold key places the current call on hold.
(Sorry, no music on hold, yet.)

The Hangup button hangs up the active call.

You can use the keypad to enter digits in the Extensions window, or to send DTMF codes to the active call.

When iaxComm needs to dial an extension, it uses the Default Account unless you specify otherwise.

A call to 100 would connect using the username, password, and asterisk server stored for the account named vangate.

You could dial extension 100 using another account, MMI, by either switching default accounts, or by including the account in the extension name: MMI/100.

The status line will sometimes show debugging info, as well. Messages about Event type 6 for non-existent session. Dropping are Mostly Harmless, and can be ignored.

Options Menu

When Push to Talk is enabled, the ctrl key must be depressed to send audio.

Silence Suppression puts the microphone in a VOX, or voice activated mode.

Devices ...
Preferences ...
and Directory ... bring up their respective dialog boxes.

Devices Dialog

I use a USB handset for audio in/out, and the built in soundcard for ringing.

(If you have previuosly selected a removable device in your config, and it's not there at runtime, another device will be substituted.)

If you only have one sound card, you can still keep a headset plugged in and make the PC Speaker ring on an incoming call.

Click Apply to change settings for this session only.
Click Save to apply and permanently save changes.

Preferences Dialog

Audio Tab

iaxComm has built in tones to indicate an incoming ring, to indicate far end ringing, or to announce an intercom call.

You can override these with a sound of your choice. The file must be a 16 bit raw file.

ring.raw in the distribution is a bell suitable for incoming rings.

CallerID Tab

Configure the CallerID info you send out.

Misc Tab

You can configure the appearance of iaxComm by changing the View. (See below for more information on Views)

The Default Account is the one to use when not specified.

Callers must know your password to get your intercom to autoanswer. (See below)

If you change the number of appearances (or "lines"), the change will not take effect until you restart iaxComm.

Filters Tab

Automatic Gain Control seems to interfere with Echo Cancellation. It is not recommended to use them at the same time.

Noise Reduction does a great job of removing background noise.

Directory Dialog

Accounts Tab

iaxComm is designed to register with multiple servers.

When you launch iaxComm, it will register with every server listed here.

You may want to register with an asterisk server at your office, as well as one at home.

Alternatively, you may want to register two different extensions with one asterisk server.

Account Name is the name used internally by iaxComm to refer to this account.

Host is the IP address or hostname of the asterisk server.

Username is your username on the remote asterisk server.

iaxComm uses MD5 authentication. If the remote server doesn't accept your password, then configure the remote server to use md5 authentication.

One Touch Tab

Here's where you configure the One Touch buttons on the main window.

You can configure as many as you want, even more than will show on the current View. If your current view only has 3 One Touch buttons, the the first 3 will show.

If the contents of the Extension field are in quotes, the target extension is the extension found when we look that name up in the Phone Book.

When we click One Touch 3, look up Cyndy's Florida Number and dial it instead of her asterisk extension.

Phone Book Tab

We're always going to call Katie using the vangate account, because she doesn't have an extension on any other servers.

My laptop registers as extension 309 on both servers, so just dial 309 thru the default server.

Scott uses iaxComm on his desktop at 192.168.4.4
His intercom password is intercom

Dialing foo:bar@vangate/888 will override the username/password stored in the config for server named asterisk.

Configuration Files

User's settings are saved using wxWindow's wxConfig facility.

This means that Win32 settings are saved in the registry in HKEY CURRENT USER\Software\iaxComm

Linux settings are saved in a plaintext fille named .iaxcomm in the user's home directory.

Resource Files

compactlogo view

expanded view

iaxComm used to need to be able to find several resource files in an rc directory. Since mid December 2003, they have been compiled into the application.

The rc files define the layout of the main window and dialog boxes. By editing the rc files, you can change the appearance, layout and even the language used without recompiling.

At startup, iaxComm looks for an rc directory beneath the directory from which it was launched. If it finds one, it loads those resources in preference to the resources compiled in.

If you want to try your hand at editing then resource files, I recommend XRCed

For more information, contact Michael Van Donselaar <mvand@users.sourceforge.net>