VoIPwering Your Office: SipX and IP Phones

This PBX works with a number of softphones. We'll walk through setup of the Linux-based KPhone and two cross-platform models from CounterPath.

By Carla Schroder | Posted Mar 5, 2007
Page of   |  Back to Page 1
Print ArticleEmail Article
  • Share on Facebook
  • Share on Twitter
  • Share on LinkedIn

All righty then, we've spent enough time on the preliminaries in the first three parts to this series. Now it's time to make connect some good soft phones to SipX, and learn a few useful ways to monitor server status.

SipX status
While the excellent Web interface is designed to save you from the terrors of the command line, you're always going to need some command-line skills. It's really not so awful. Log into your SipX server and run this command to show server status:

[root@sipx ~]# /etc/init.d/sipxpbx status
Checking watchdog:                     [  OK  ]
Checking keepalive:                    [  OK  ]
Checking sipauthproxy:                 [  OK  ]
Checking sipproxy:                     [  OK  ]
Checking sipregistrar:                 [  OK  ]
Checking sipstatus:                    [  OK  ]
Checking sipxcallresolver:             [  OK  ]
Checking sipxconfig-agent:             [  OK  ]
Checking sipxconfig:                   [  OK  ]
Checking sipxpark:                     [  OK  ]
Checking sipxpresence:                 [  OK  ]
Checking sipXvxml:                     [  OK  ]
Nice! Green lights all the way. You can view similar information in the Web interface under Diagnostics -> Services. This page also lets you stop, start, and restart SipX services.

Another useful command is

[root@sipx ~]# /etc/init.d/sipxpbx status
This checks a whole raft of important configurations, including SELinux, Apache, DNS, and TLS/SSL. This particular command is one of my favorites, because it checks related services and not just SipX configurations, and has saved me many hours of hair-pulling and head-banging. Run this every time you make any configuration changes. It even makes helpful suggestions for fixing problems.

Installing IP phones
The basic building blocks of a VoIP network based on SipX are a SipX server, a media gateway, and IP phones. Configuring media gateways and provisioning IP phones can be a real pain, and the more users you have the more time it eats. Fortunately, SipX does a lot to automate the process.

SipX supports three general classes of phones and media gateways: plug-and-play (managed), partially-managed, and unmanaged. Any SIP-capable device will work with SipX; it's simply a question of how easily. Plug-and-play, or managed devices, are almost self-provisioning via the SipX Web interface at Devices -> Phones and Devices -> Gateways. You'll see the brands and models of supported plug-and-play devices in the menu dropdowns. Visit the Phone & Gateway Interoperability Portal to see supported models and how-tos.

Now, let's take a quick walk-through setting up a new user with KPhone, which is a nice Linux soft phone. SipX generates a profile for it, which you have to manually copy into place. First go to the Users tab to add new user. Note that the user's PIN and the SIP password for their telephone are two different things. Click "Show Advanced Settings" to see the SIP password.

Then go to Devices -> Phones, and find KPhone on the "Add new phone" dropdown menu. You can use any 12-digit alpha-numeric combination for the serial number, as long as it is unique on your network. Just for kicks I'll use 123456789012. Hard phones have their own MAC addresses, but not soft phones. If you prefer using a MAC address for softphones, use the MAC of the network interface on the computer on which KPhone is installed:

carla@xena:~$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:03:6D:00:83:CF
[...]
HWaddr is the value you want. After you click OK you'll be back at the main Phones page. Click on the phone you just created, and then click on Lines. Click Add Line, find the user you just created, and select that user. Presto, your new user is now set up with a single line and a URI like "carla schroder"

Now go back to Devices -> Phones, select the phone you just set up, and click Send Profiles. It will say "1 profile(s) will be generated. Go to Job Status page to monitor operation progress." (Which is Diagnostics -> Job Status.) There's not much to see here, but it doesn't hurt to look.

Now all you have to do is copy the generated profile to the computer KPhone is on. The profile is in /var/sipxdata/configserver/phone/profile/docroot/. So the one I created is 123456789012.kphonerc, and I copy it using the scp command:

[root@sipx ~]# cd /var/sipxdata/configserver/phone/profile/docroot
[root@sipx ~]# scp 123456789012.kphonerc  xena:/home/carla/.qt/kphonerc
Be sure to rename it kphonerc, or KPhone won't see it. Another slick way is copy it to a USB key to make the transfer. However you copy it, it has to end up in the correct home directory for your user, which is /home/user/.qt. You can easily read this file because it is in plaintext:
[Call register]
Dialled0=

[General]
TrayIcon=No

[Registration]
SipUri="carla schroder"
UserName=200
SipServer=alrac.net
AutoRegister=Yes
qValue=

Now fire up KPhone. It will ask you for the SIP password. And you're finished.

CounterPath X-Lite and eyeBeam
KPhone is nice, and your Linux geeks should be comfortable with it. If you want to standardize on a good cross-platform softphone that runs on Linux, Windows, and Macintosh, check out CounterPath. You can download their free X-Lite softphone, or purchase the eyeBeam softphone. EyeBeam has more features and vendor support. These are excellent soft phones with a lot of useful features and good sound quality.

You'll have to manually configure your X-Lite or eyeBeam phones, which isn't hard. The hardest part is knowing which of their thousand-and-one options you can ignore. Follow me and I'll show you how to configure the free X-Llite phone. First create your user in SipX. Then download the X-Lite phone and install it, which is very easy—and they tell you how.

When you start X-Lite, it will first walk you through a setup wizard that adjusts volume levels, calibrates for lag, and adjusts for background noise. Then it opens up the configuration menu. These are the values you need to set:

  • Enabled = yes
  • Display name = anything you want
  • User name = SipX user ID
  • Authorization = SipX user ID again
  • Password = the user's PIN, not the SIP password
  • Domain/Realm = Your domain, like alrac.net
  • SIP Proxy = fully-qualified domain name of the SiPX server, like sipx. alrac.net
Next week we'll connect our excellent SipX server to some plain old analog phone lines and start making actual phone calls.

Resources
SipX Wiki
CounterPath

Comment and Contribute
(Maximum characters: 1200). You have
characters left.
Get the Latest Scoop with Enterprise Networking Planet Newsletter