The GNU Project has announced a new project called GNU Free Call, an open source Skype alternative that will offer anonymous VoIP and will use the GNU SIP Witch server as the back end. GNU SIP Witch requires a minimum of system resources so it can be used on cell phones too so it seems the goal is to provide a cross-platform application, the immediate target most probably being Android.

Timmmm,
You really can't really blame the issues with particular clients on the SIP protocol/standard.

The X-Lite client has been one of the most reliable SIP clients I've used. Also, the "sipura" devices (bought out by linksys, then cisco) are also very good. I've never had to do anything special to configure caller ID on these (assuming the upstream provider supports it).

About the latency being too high, are you saying your SIP calls are worse than Skype or something else over internet? That ought to depend on the quality and distance of service providers. I'm pretty happy with vitelity in the US.

There's no question SIP is problematic behind NAT.

Soulbender,
"What, you think SIP is bad? It's a dream compared to the horrors of H.323...So the problem is with shitty netgear equipment, not with SIP. "

Well, it's true netgear screwed up. However, the fact remains that a SIP "Application Level Gateway" is required in the first place because SIP isn't designed to work with NAT routers. Like the old FTP protocol, SIP requires multiple ports to be opened in multiple directions and the values of those ports are communicated dynamically over packets on other ports. This design is fundamentally incompatible with NAT/port forwarding.

As Timmmm said, we have hacks like STUN or uPNP to work around some problems, which might work with certain router configurations, but in practice it can be hit and miss.

We can blame the routers if we want, but protocols which scatter packets all over the place need to take some of the blame too.

Putting a SIP device behind an actual firewall without ALG support is virtually impossible. Just opening up all the in/outbound ports the client might choose is not a good solution. This is why linux comes with nf_conntrack_sip and nf_nat_sip, in other words, an ALG.

As I said earlier, I much prefer to use standard SIP devices over something proprietary like Skype, but SIP can be unnecessarily painful at times.

Other protocols that direct packets over a single port don't have these problems. AIX is the closest thing I know of to a SIP replacement aiming to fix this.