All my information has been gathered via googling. I have been interested in building an asterisk PBX server. To connect a regular phone to use a VOIP requires a special adapter i.e. PSTN USB adapters for connecting a regular phone for VOIP. I do not know if these adapters are supported in linux.
The cheapest as in free for talking PC to PC and easiest IMO would probably be skype (
http://www.skype.com/). All you need is a sound card and a headset or a special USB phone. skype also has a service that connects to POTS for a fee. There are versions for linux, windows and MAC.
Skype uses a proprietary protocol but there are other open protocols like SIP. Lots of free client applications like linphone or Kphone in linux. You can use a free SIP server or call PC to PC. You can use a headset or a special SIP phone or the PSTN USB adapter.
In the states there are serveral VOIP providers like Vonage or the local cable broadand provider. You purchase a interface box or router that you attach the phone which does the conversion to TCP/IP. Of course there are costs for the service but it is really no more then the local service and you get free long distance. International calls are comparable to regular US long distance rates.