I'm currently trying out SipPhone (
http://www.sipphone.com/) and Free World Dialup (
http://www.pulver.com/fwd/) using the X-Lite soft phone. For SIP, you normally have to forward port 5060 UDP as well as the media ports (RTP) which are 8000 - 8005 UDP for SipPhone. On X-Lite you can change the default SIP and RTP ports. This is especially important when you run more than one SIP client behind a NAT firewall.
If you sign up with most of the SIP service providers, then you can send and receive calls from other SIP service providers for free as they have gateways to each other. You can also normally making calls to "normal" phones by opening an account. Skype is currently using proprietary protocols (not SIP) and can't interconnect with the major SIP service providers. I guess they will eventually sort out some type of interoperability. I didn't want to use Skype as I don't like the idea that my machine might be used to route other people's Skype voice comms or service directory enquiries:
http://www1.cs.columbia.edu/~library/TR-repository/reports/reports-2004/cucs-039-04.pdf
http://www.voipdaily.com/archives/2004/03/why_skype_is_no.php
The biggest issue I've found is sorting out the firewall and NAT problems. I'm also using MSN Messenger 6.2 which is also a SIP client but which only supports Universal Plug and Play (UPnP) routers. I've actually replaced my Cisco ADSL router with a Netgear DG834 which does support UPnP. My understanding is that it would also be possible to use MSN Messenger 6.2 to connect to other SIP service providers instead of just MSN. Apparently MS changed MSN Messenger around version 4 or 5 to use SIP instead of H.323 which is the older video conferencing protocol.
Another SIP provider I'm considering is
http://www.sipgate.de as we make a lot of calls to Germany. For 9Euro a month, you get 1000 minutes to landlines in Germany. You also get a phone number in an area code of your choice in Germany. So people in Germany can potentially call you from a normal phone by making a local call.
The other thing you should consider is which voice codec you're using. On X-Lite you can set the priority order for which codec to use. ILBC (
http://www.ilbcfreeware.org/) seems to be quite a good codec for packetized networks (ie not circuit switched) where bandwidth is limited.
I have so far been unsuccessfull in buying minutes from SipPhone using a Mastercard. From their support forums, it seems quite a few other people are having the same problem. That's why I'm considering other SIP service providers.