Audio/Video Conferencing with OS X & Free Software

Considering that my family is scattered across the world, my brother has been pestering me to use proprietary Skype. Considering that I like to support Free Software or at least Open Software, I looked into some Free/Open Software alternatives available to the OS X user.

There seems to be another reason to keep away form Skype, it “steals” bandwidth you paid for and, presumably, gives it to others (who haven’t paid for it). It surely does this to improve quality of service for those lacking broadband connections considering that Skype even works with dial-up connections. What a (sneaky? and) neat little trick. Because of this behaviour, it’s even illegal to use at CERN (and see here too). If you haven’t figured it out yet, because Skype is proprietary, Skype users can’t talk to industry standard SIP users or vice versa. Skype locks you in, big time.

Furthermore, Skype has been documented to access bios information and identify your individual computer (and here and here too). Hmm, there’s a name for this type of software … evens so, their website claims “No Spyware … Malware”. I’m trashing Skype for good despite that they reportedly removed such capability (attributed to EasyBits) and never benefited from the collection of said information. I haven’t found information to assess how EasyBits might have benefited, and Skype has not apologized.

UPDATE:
August 26, 2007
I’m not given to conspiracy theories but Jabari Zakiya theorizes that the Skype network has been compromised by American government surveillance. What allows this possibility is that the Foreign Intelligence Surveillance Act (FISA) has passed into law. Worth a read, anyway. If you’re the paranoid sort that doesn’t appreciate being stalked by the American government, get yourself up and running with one of the apps below and install the ZFone plug-in.

Skype-like Clients (Video and Audio Conferencing)
First of all, I’ve come across OpenWengo some time ago but not until trying out Skype that I noticed that OpenWengo’s WengoPhone seems to be the one of two fully fledged Free Software competitors, even surpassing Skype in IM capability. It integrates major IM protocols so that you can still instant text message (IM) your MSN, Yahoo, ICQ, AIM, Jabber, and Google Talk contacts. It also does SIP, for which I haven’t yet found a set-up guide, other than Wengo’s own server (which is easy). In addition to instant text messaging, OpenWengo supports audio (the SIP or VoIP bit or what used to be called telephony) and video conferencing as well as pc to real phone calls and SMS.

There seem to be some issues. I had to open UDP port 5060 to facilitate calling out (despite test calls panning out), and if you’re on wireless disable “When I start my computer … Automatically start WengoPhone” in “Preferences”. If you don’t you’ll have to restart the app. after connecting via wireless to get WengoPhone to connect. There are also a few stability issues on OS X during start-ups and shut-downs but overall … not a bad start. The only deal breaker issue right now (for me) is that Wengo aliases don’t seem to stick. Since I don’t have a great deal of them (just one), so it’s not an issue right now. (There also seems an issue authorizing MSN contacts where the app. asks for authorization at every start-up. This may be related to preferences not being committed because of shut-down crashes). The following are my specs.

OS X Tiger Intel
wengo 2.1 rev11134-20070515153620

There is another client in early development that brings similar functionality as of that of WengoPhone (not sure about SMS). This is called SIP Communicator (Skype’s second competitor). Documentation is lacking but this is sure to come (UPDATE: There’s limited documentation but perhaps a little dated at <http://www.ece.uwaterloo.ca/~ece355/project/references/sip_communicator_doc.html>). (If anyone can give detailed mention of how to get it to use Wengo’s server or any other VoIP server, be my guest). I will not hold against them that SIP Communicator is written in Java.

VoIP Jabber Clients (Audio Conferencing)
Moving on to other apps, there is the pervasive Jabber protocol and their plethora of clients. Jabber, or should I write XMPP?, has a VoIP architecture laid out. This VoIP protocol is called Jingle.

This page <http://en.wikipedia.org/wiki/Jingle_%28protocol%29> lists all Jingle compliant clients. Listed are,

Coccinella’s web-page expressly only lists builds without VoIP. The Google Talk app is Windows only. Don’t expect OS X support from Kopete (a KDE integrated app.). Jabbin doesn’t support OS X, despite that their page mentions that it is in development (where?). Psi latest official release doesn’t support Jingle. Tapioca, afaik, is a protocol not a client. Seems Telephathy Gabble is “Linux only” (unless you want to build from source) as I can find only Gnu-linux binaries distributed throughout the net and only <http://telepathy.freedesktop.org/wiki/> as a front page with <http://telepathy.freedesktop.org/releases/telepathy-gabble/> as a subset with only tarballs (ordinarily meaning “for linux”).

I’ve always held special hopes for Coccinella. It has so much to offer. I mean when I was in university working on group projects where students couldn’t get together, Coccinella was the answer with their common board implementation. Furthermore, Coccinella allows direct client to client connections, bypassing transports and their sometimes unstable behaviour (I’m not sure how this handles routers). I imagine this increases security as you’re not sending traffic via third party servers (transports). The developer even lists his build process (I only understand the Gnu-Linux build process). Unfortunately, there is NO mention of how to implement Jingle into this app.. Browsing Coccinella’s CVS does not reveal a beta or alpha version with VoIP implementation (anything greater than v. 0.95.16).

Upon looking closer, the Jingle ready list mentions that Psi 0.11 beta is Jingle enabled. You can get an OS X nightly snapshot of this version at <http://sourceforge.net/project/showfiles.php?group_id=14635&package_id=143053&release_id=507779>. I’m playing around with it as I write, and I can’t figure where to access the VoIP function.

Interestingly, there is a Jabber client that offers VoIP but is not listed on the Jingle enabled Jabber client list. It’s called Spark (hint: enable Javascript to download). They implement Jingle (since Spark 2.5.0 Beta 4) and Softphone capabilities as plug-ins and there is a OS X client available. You can initiate audio calls either from the roster (what they call the contact list) or from within conferences. Cntrl or command-e should give access to the last ten calls. There is even a Jingle Discovery implementation to see with whom you can telephony (in development).

Conferencing with Aim Users (Video and Audio Conferencing)
Another alternative is using iChat, not really Free Software although implements conferencing via Jabber, with other iChat users. In the case that your contacts are running Windows, they need to download AIM version 5.9. You can read about this at<http://www.mvldesign.com/video_conference_tutorial.html>. Please take note of the ports needed open, as I didn’t and did not have success connecting with Tiger’s iChat 3.1.8 (v445).

Conferencing with NetMeeting Users (Video and Audio Conferencing)
Last but not least, there is another fashion to conference with Windows users using their deprecated NetMeeting, which is installed with Windows XP. I have come across few Windows users that are not even aware of this app. I’ve read that this will work with XMeeting and ohphoneX. If your Windows contact does not know how to use NetMeeting, they can read this quick guide, <http://www.ncsu.edu/it/multimedia/netmeeting/netmeeting.html>. I’ve read that NetMeeting users now have to dial the the other’s IP address. XMeeting has technology to avoid router issues but it (Version 0.3.4) fails to recognize my MacBook Pro built-in iSight camera.

So where does this leave you? How do you know which to choose? Or try out? Personally considering that all apps are also universal IM apps except XMeeting and iChat. That means that WengoPhone and SIP Communicator should be in the lead. Unfortunately, WengoPhone is too unstable for everyday use, and SIP Communicator, at the moment of writing, lacks any documentation. Therefore, this leaves Jingle enabled Apps ahead of the game, specifically Psi 0.11 beta and Spark, but at the cost of sacrificing video (both how which need further testing on my part). Lastly, iChat and XMeeting (or ohphoneX) allow video and audio conferencing but iChat is not Free Software and NetMeeting (XMeeting’s compatible app) is not Free Software either (afaik considering it’s part of Window’s proprietary model), nor do they allow universal IM interoperability. This is not quite true as there is a complicated way to integrate universal IM interoperability with Google Talk (a Jabber) transport into iChat (I tried this successfully). The key was knowing that not all transports allow this hack. See <http://cavemonkey50.com/2006/08/add-gtalk-msn-and-yahoo-mutiple-accounts-to-ichat/#comment-79164>.

There is no clear winner, but I think WengoPhone would be a good choice if they eventually build a stable enough version or SIP Communicator because of of their multi-platform interoperability, if SIP Communicator gets documentation. Getting iChat to work as a universal IM app. is too complicated and XMeeting isn’t a good option as interoperability with Windows depends on deprecated Windows software which does not support recent hardware (NetMeeting). You could also use use XMeeting to communicate with Ekiga running on Windows (there is no Ekiga native OS X port contrary to what you may read), but it does not offer any IM functionality. For the moment, I think Psi 0.11 beta (if you can initiate its VoIP functionality) or Spark are the best bets because of their combined mulit-IM support and implementation of telephony, unless unforeseen circumstances suggest otherwise.

Maurice Cepeda

UPDATES:
There is another OS X client that falls beyond any radar as it’s cloned on “ancient” technology (It’s not even mentioned at wikipedia [neither is Zfone. See below.]). It’s called VChat and it’s “based” on CU-SeeMe. There are various clone clients on various platforms that should be able to talk to each other (VChat is OS X specific.). There is no mention of IM support and NAT set-up is not automatic. Get info and various ports listed at <http://www.lettv.de/lettv/CMS/html/index.php>. I don’t want to give the impression that this project is dated, as there has been progress with Apple’s H264 codec. I haven’t run it.

On SIP Communicator, I tried an alpha 2 snapshot (SIP Communicator-1.0-alpha2-nightly.build.649.dmg) and adding IM accounts was straight forward. On the note of SIP, it wouldn’t allow me to add an SIP account. I solved this problem by dumping that version and starting up the earlier snapshot (SIP Communicator-1.0-alpha2-nightly.build.648.dmg) to add SIP at the start-up (maybe the key is to add SIP at the initial start-up). Unfortunately it didn’t keep my multiple IM account info, an so I had to add these by hand again (not hard). Overall, SIP Communicator seems very simple with very little in the way of filtering of roster contact status (ie., “Show on-line contacts.” [WengoPhone too]). At the moment, it has one mode, show off-line and on-line contacts; This makes for a long list in my case.

Lastly, does anyone remember the PGPfone? I do and I’m glad to say that rather than trying to build the old source code available at <http://www.pgpi.org/products/pgpfone/>, you can get Phil Zimmermann’s next generation secure phone called Zfone at <http://zfoneproject.com/>. It supports OS X and Windows XP. The license is basically GPL, although there is some confusing details. Again, there’s no mention of IM support. I still have to play with it.

So what does this mean? Will your contacts want to use Zfone? Probably not –as I never had luck convincing anyone to use PGPfone with me– unless you’re far away from your loved ones or if you really want security (not a bad thing). Perhaps we’ll only see this technology implemented as plug-ins with our favourite communication apps.. VChat doesn’t offer the seamless integration of IM support either, and it surely doesn’t offer SIP compatibility, but it’s another choice.

Someone might mention that I missed major OSS softphone apps such as Ekiga, Twinkle, linphone, and some others. No, I didn’t miss them. They missed the OS X community, since they do not provide ports or OS X build instructions (not upfront anyway).

I think I know how to circumvent OpenWengo’s shut-down crashes. “Log Off…”, followed by “Close”, before quitting (command-q’ing) the app..

UPDATE:
Thursday May 31, 2007
I tried Spark 2.5.2 with a friend. We both downloaded Spark, obviously and both were behind NAT routers. It was a failure. Despite accepting calls, we’d loose the connection. He also complained that the app. was slow to respond. I imagine this is because the transport we’d signed up with does not allocate bandwidth for telephony. I also noticed that I wasn’t being connected on with my MSN, and Yahoo accounts (only Google Talk worked faithfully, AIM worked intermittently), despite that Psi 0.10 did not give me problems with IM accounts.

Telephony with Psi -0.11-RC1 didn’t work either. I didn’t but you can try nightlies at <http://www.kismith.co.uk/files/psi/mac/nightlies/>. I tried Psi with Spark on his end (as well as Spark to Spark with no luck).

Both Jabber clients used are terse, much more so than Adium or AMSN IM clients. (These two are good IM clients, both of which I’ve used for years.)

We still haven’t tried SIP Communicator, Zfone, or Ekiga (on his Windows XP end and either WengoPhone, SIP Communicator or XMeeting on my end). I suspect the problem we’re having, at least with OpenWengo, is a “getting around a router issue” on his end. My bet is on Ekiga because it implements work-around technology for this.

There a lot of combinations that could work, other than the client to same client (ie., SIP Communicator to SIP Communicator). You could try SIP Communicator to any of the SIP apps such as XMeeting, OpenWengo, Ekiga. I know there are a lot of people reading this article. Why not try a few of these apps and various combinations and leave some comments so that your experience may help other users.

If I haven’t mentioned it before, WengoPhone would work one-way with my buddy and I. I suppose he could use a client with NAT work around technology on his end, specifically because the problem is on his end, while I could use “any” useful SIP app. on my end.

As mentioned previously, my bet is with Ekiga on Windows and perhaps with XMeeting (despite it not recognizing my built-in iSight camera). OpenWengo is growing on me (as it seems to behave now [de-select the Preferences option to start-up the WengoPhone at start-up on wireless]) but there still are some lagging issues with adding users, IM having no bells and whistles (ie., text input memory, etc) and it erasing your text message when the recipient goes off-line. Zfone?? I still have to try conversing with it. And where is Ekiga for OS X when you need it? MacPorts has no Ekiga port either.

UPDATE:
Friday 1, 2007
I’ve tried a calling from one client to another. I still haven’t tried Zfone as I can’t get a good download. Here are my notes,

  • SIP Communicator can’t dial out to XMeeting or SIP Communicator.
  • WengoPhone can’t dial out to XMeeting or SIP Communicator.
  • But XMeeting does dial out to both SIP Communicator and WengoPhone.

It seems that XMeeting is the best OS X client for NAT set-ups (taking Zfone out of the equation). I assume that optimally, XMeeting with my NAT set-up should work best with Ekiga as they both use the same basic software infrastructure. Of course, I don’t know if my opening of UDP port 5060 for WengoPhone might have something to do with XMeeting’s ability to dial out out of the box.

UPDATE:
June 2, 2007
I finally downloaded ZFone. It looks as if this is just a plug-in for other clients, so it’s not a phone of any sort as was PGPfone. It has an installer that asks for sudo permission to install. I haven’t bothered with the install. They don’t recommend using it until you get a client working anyway. Since it’s a plug-in rather than an entirely separate app, I assume that it will have more success than PGPfone did; You don’t have to convince contacts to switch from their favourite application if you can use the two (favourite app+ZFone) together.

Seems my brother Daniel is freaked out because WengoPhone doesn’t un-instal from his XP instal. Now he will not even try Ekiga on his end. His friend Bruno has similar trepidations when installing software. Because of OS instabilities attributable to malware, he simply will not install software, not even OSS/Free Software! Jeez! What babies. Talk about mis-attributing malware effects and possible Windows instability to OSS.

UPDATE:
August 26, 2007
I downloaded the new WengoPhone 2.1.2 from the developer site, which seems to post newer versions a little sooner than the main OpenWengo site and the corresponding commercial page. I convinced a “new” friend to try it out with me. We were both behind wireless routers but despite this, we enjoyed crystal clear audio reception for about an hour before it started to cut out. My recipient did complain of some echo on his end. I did not have the same problem. He ran Windows (I am still using Tiger OS X.).

I called another friend with which I did the original testing (the failures) above, also behind a router and running Windows. We both tried the new 2.1.2 WengoPhone version. He managed to get my video and audio but I couldn’t hear him (we tested without a camera on his end). He then double-booted into Mandrake and proceeded to unsuccessfully connect Ekiga to my XMeeting (seems I was wrong about Ekiga and XMeeting being the best bet). He managed to get Skype fully working, on Mandrake.

I assume that the discrepancy between both friends can be accounted by the lack of open source driver support for the one particularly problematic microphone owned by one of them.

Oh and by the way … although I can receive calls with WengoPhone, I seem to have difficulty dialling out, (I got a French recording saying that my contact is not available or something of the sort) unless I opened UDP ports 5060, 10600, 10601. I don’t recall where I got the idea to open all these ports but opening them seems to help.

Make sure your audio works as OS X suffered from an audio bug where certain audio sources don’t play. Starting a new project with GarageBand and then quitting (before starting a telephony app) solved this.

The fact that attempt failures can be attributable to a lack of microphone driver support (however unlikely), does not concern the many failures above because most of the corresponding apps didn’t even connect calls.

Overall and in my subjective and recent experience, WengoPhone offers a better quality product in terms of quality and stability. That is, Skype constantly kicked me off calls and sporadically cut out, while WengoPhone offered better than phone quality sound and never kicked me off. WengoPhone did start cutting out, but only after an hour of use. Also, WengoPhone doesn’t seem to suffer the same shutdown and “contact info not sticking” as with the earlier version.

I just tried VChat and it kicks me off of every reflector I tried.

We will continue tests with VChat, SIP Communicator and ZFone, hopefully soon.

This is licensed under the Attribution-NonCommercial-ShareAlike 3.0 Unported Creative Commons License. All brands mentioned are properties of their respective owners. By reading this article, the reader forgoes any accountability of the writer. The reading of this article implies acceptance of the above stipulations. The author requires attribution –by full name and URL– and notification of republications.

Advertisements

5 thoughts on “Audio/Video Conferencing with OS X & Free Software

  1. I will go through the mess with you if you want to test more clients, I am currently runing OS X and Fedora 7 on my macbook pro so I can test things under both OS’s. As a side note I have acess to several SIP proxies as I am a voice engineer. I have tested, ichat, eyebeam, xmeeting, ekiga, wengo, and qnext. Ichat to ichat works under the most conditions but requires macs on both ends for h.264 (better video codec), next would be qnext, but neither give the you the quality of a sip client that does x.264 like eyebeam or xmeeting(?) in my testing.

  2. It seems my OS X install was suffering from the inability to play sound from certain sources (mainly QT afaik).

    Starting a new project and quitting with GarageBand fixed it. Apple’s fix from didn’t, although I set their suggested settings first.

    Thinking about it over, this may be why I couldn’t receive audio with Wengo’s “Free software” phone, but my contact could.

    I think we’re going to try again with the WengoPhone and eventually get around to trying Ekiga with xmeeting.

    Maurice

  3. This blog Is very informative , I am really pleased to post my comment on this blog . It helped me with ocean of knowledge so I really belive you will do much better in the future . Good job web master .

  4. The first time when I used the video conferencing I was really nervous about how do I look or how do I speak through the equipment, but it was a great feeling.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s