Free SIP on Leopard exists after all!

So it’s been a few weeks since Mac OS X 10.5 (Leopard) came out.  One of the major things that immediately hit a lot of people was that every known third-party SIP client stopped working.  I work from home.  I have an extension number at work that rings on a Polycom phone in my home office, thanks to the magic of VoIP.  This same VoIP technology (namely SIP) has allowed me (up until I upgraded to Leopard) to run a “soft phone” program on my laptop to allow me to connect to the same phone system when I was out of my office.  With the help of a set of headphones, a laptop actually makes a halfway-decent phone.

The two free (as in beer, not freedom) products previously available that I knew of were SJPhone and X-Lite.  Both of these broke on Leopard.  SJPhone hasn’t been updated in years, and the material on their website makes it look like the Mac version was an afterthought anyway, so I don’t hold high hopes for them ever updating it.  X-Lite is a pared down version of a commercial product called eyeBeam.  eyeBeam just got updated for Leopard this last week.  An X-Lite update is expected “by the end of the year”.  The obvious reason for the delay is to encourage people who are frustrated enough to throw money at it to upgrade to eyeBeam instead of waiting. 🙂

There *are* two free products that have been updated for Leopard which do SIP to a generic PBX of your choosing. Those are SightSpeed and Gizmo Project.  Unfortunately, both of these require you to register with their service, and sign in on their service, and your generic-PBX-of-your-choosing account is a secondary login (if you don’t log into their service, your generic one won’t connect either).

The world is in really dire need right now of a good open source solution for SIP on the Mac.   If any of the above programs were open source, I would bet we would have had patches posted somewhere within days (if not hours) to make them work on Leopard.

UPDATE: I was going to post this hoping to get some discussion going and/or someone to point out something that works that I missed.   But before I could post it, I found one!  XMeeting not only works on Leopard (it apparently didn’t break — there hasn’t been a release since July), but it also supports DTMF (touch tones) during the call, which is the one thing that’s been missing from all the other free stuff I’ve tried so far.  Touch tones during a call are pretty important for things like entering the password for a conference call.  XMeeting supports video, too (and so does Mozilla’s phone system).

Localizing Asterisk for China

This last week, we set up a bunch of the IT infrastructure at Mozilla’s new Chinese office. My primary part of the process was setting up their phone system. We used Asterisk, of course, seeing as how we already use that for our phone systems in Mountain View and Toronto. Asterisk has a really cool feature that lets you put localized sound files in for the voice prompts, and each device and incoming phone line can be set up to default to a particular language. It will use the localized files for that language, if available, and fall back on the English ones if they aren’t. You can also allow users to change which language they get with a little careful scripting (“Press 1 for English”, etc). We set it up so that dialing from any phones in the Beijing office will get Chinese prompts, dialing into the Beijing office from outside will get Chinese prompts, and dialing into the Beijing office via the links to our other offices will get English prompts.

One of the difficulties we’ve run into is that there’s no official Chinese language pack for Asterisk, and the only unofficial Chinese language pack we could find is fairly incomplete. You’ll be listening to something in Chinese (like the instructions for voicemail) and suddenly get a word or two of English in the middle of it. 🙂 I ended up spending a fair portion of this week trying to set up a nice friendly web app the folks in the office can use to easily see which files have been localized and which haven’t, and allow them to record their own localized files and have them automatically go where they need to go. Other folks might find it useful, so I’ll try to get it posted somewhere once I get it fixed up a little (it’s a bit of a quick and dirty hack still right now, but it’s getting there).