I’ve had the opportunity over the last year or so to do some testing with VoIP software clients. In June 2006, when I got my Macbook Pro with its built-in camera, I was eager to try desktop video conferencing. Later, I was part of a closed test of softphones on the University’s VoIP system. What I found when looking for appropriate software was that my choices were limited and the software often beta-quality. Here’s what I required:
- H.323 video client for Mac, because Penn State’s video systems use this protocol.
- SIP voice clients for Mac and Windows.
- Doesn’t crash more often than one in ten times. (I added this one to the list after trying out a few lousy, hacked-together SIP clients.)
Here’s what I wanted:
- Cross-platform. I’d rather use the same client on both Mac and Windows, if possible, just for consistency.
- Useful bells-and-whistles. I’d be satisified with a client that can just make and receive calls in a reliable manner, but some added features would be great.
- A decent user interface. Why do programmers of soft-clients believe they need to make their soft-phones look like desk phones? I do not want to click a big ugly touch-tone keypad when I have a keyboard with 0-9, * and # already. Make it small and simple.
- IAX2. When I started experimenting with Asterisk at home, I learned about the Inter-Asterisk eXchange protocol and its NAT-friendliness and wanted to give it a try.
H.323 video conferencing for Mac: XMeeting (current version: 0.3.4a)
This is really the only free option for video conferencing on the current Mac OS. It happens to be quite good and is actively developed. The “X” in XMeeting is for Mac OS “X” and does not refer to XWindow–it’s native Aqua. XMeeting is capable of voice and video calls over both H.323 and SIP, but was primarily designed for video over H.323. You can have multiple profiles for registering with various gatekeepers or SIP registrars and different combinations of allowed codecs for each. The interface is simple and intuitive. Some nice features are remote camera control, input selection between camera, still image and live screen capture, and various screen configurations such as full-screen, side-by-side and picture-in-picture. XMeeting also integrates with the Apple Address Book.
At Penn State, XMeeting shines in point-to-point calls with Polycom videoconference rooms. It can also connect to the video bridge (MCU) but due to some incompatibility it reverts to the H.261 video protocol, which is low-res and unpleasant. Lastly, you can register with TNS’s H.323 gatekeeper and dial into conference rooms around the University using the five-digit dial plan.
Cons? The SIP implementation lacks any frills and occasionally causes XMeeting to crash. (It never crashes on me in H.323 mode.) To use the camera control or send DTMF you have to open a separate tool box. There’s no remote control support built-in, but you can use one of a number of tools for the Apple Remote and set up macros to operate the software. It’s single-line only; this reflects the author’s prioritization of the video capabilities over the SIP phone capabilities.
SIP phone for Mac and Windows: Zoiper (current version: 2.07 for Windows, 2.0b1 for Mac)
I became interested in Zoiper, formerly known as Idefisk, when looking for an IAX2 client to use with my Asterisk installation. Zoiper may be the de-facto standard for IAX clients. When it changed names from Idefisk to Zoiper, it also added a SIP implementation, which makes it a very capable VoIP client.
Zoiper is nicely implemented on both Windows and MacOS. I haven’t tried the Linux version. It satisfies my cross-platform desire as well as my “decent UI” desire. Again, no big ugly dial pad in my face when I’m using it. I can click a button to expose a dial pad, but when I don’t want it, it’s not there. Most functions I need to make, receive and manipulate calls are on the main screen. The free version has six line buttons and hold and transfer capabilities, so I can easily work with multiple calls. Conferencing is not available in the free version, nor is the voicemail button, which is just a shortcut for dialing the voicemail pilot number. There’s a visual message-waiting indicator: the call history button pulsates, prompting you to click on it. When you do, the call history pops up including the current number of new messages in your voicemail box. Finally, with Zoiper you can register to multiple SIP/IAX registrars at once. This is pretty slick, but I found it a little confusing to switch between them.
Cons? The IAX implementation is definitely more solid than the SIP implementation. I’ve been able to crash the Mac beta in SIP mode; the Windows software hasn’t crashed on me yet. It has no presence indication, which some other SIP clients have. No integration with any other address books including the Apple Address Book. I’d like to see a client with a nice LDAP lookup function.
SIP phone for Mac and Windows, runner up: Counterpath X-Lite (current version 3.0 for Mac and Windows)
I keep this SIP-only client installed on my Mac and Windows machines as a backup. It’s rock-solid on both platforms and pretty easy to set up. The interface is ugly and features The Big Dialpad, which I already mentioned I do not want to see all the time. It has two line buttons for two maximum calls and the ability to set up one SIP account. It messes with my audio settings when I start it up; soon I find that my audio is really loud or really soft. I don’t know how to stop this behavior.
- SJPhone – I tried an older version and found it clunky and featureless, but it worked and was available for both Mac and Windows. I see that a new version was released in May, 2007; may give it another try.
- Gizmo – requires subscription to the Gizmo Project service.
- Ekiga – I tried it on a Linux machine in Parallels under Mac OS X. Not the ideal environment, and couldn’t get audio or video to work. But Linux people tell me this is the best one out there for that platform.
A full list of softphones is available here. I tried several others not mentioned above but didn’t feel they were worth mentioning either due to instability or lack of some core functionality.