VOIP, Voice Over IP

I’ve been playing around with a few voice over IP products for my powerbook just recently and it has to be said that some of them are pretty good.
I tried iChat AV as that seemed like the obvious choice because it comes free with Tiger (Mac OSX 10.4) and since I tried it a few times for AIM and Jabber instant messaging it was already setup with a few friends that I could try calling. Unfortunately, the VOIP part seems limited to those who have iChat AV themselves (makes sense), but also you have to be using an AIM login – just using Jabber alone doesn’t seem to let you place calls. I guess this is probably because you can use any Jabber server you want and there’s no way that Apple could guarantee that the server you use is compatible. Call quality was pretty acceptable over a cable modem and it didn’t drop out unexpectedly.
I gave Skype a miss because although it’s encrypted traffic (which is good), it’s a proprietary protocol so you have to use Skype at both ends. Oh, and the company was recently acquired by eBay so there’s no telling what might happen.


iChat AV through Linux NAT

This assumes the following conditions:
* the Linux gateway is forwards all outgoing traffic after rewriting the source address as the external IP (i.e NAT)
* the incoming policy is to drop all packets unless they’re related to an existing connection.
* Both clients are running iChat AV (comes with Mac OSX Tiger)
* Both clients have AIM accounts.
To allow an external user to contact someone on the internal network, simply add the following rules to the Linux gateway.
/sbin/iptables -A INPUT -p udp -m udp –dport 16384:16403 -j ACCEPT
/sbin/iptables -A INPUT -p udp -m udp –dport 5060 -j ACCEPT
Once this is done, you should be able to make and receive audio and video calls with iChat AV. I’ve not tested it with multiple clients on the internal network talking to multiple clients externally, but it works for one-to-one chats.
I also have the ip_conntrack kernel module loaded, this might make a difference as well.