Have you tried Yahoo Voice? They are cheaper than calling card. You need to deposit US$10 to your Yahoo Voice account first. Then you can use your computer to call the telephone number that you are calling. Very easy to use and voice quality is pretty good.
After I use Yahoo Voice, I haven't used any Calling Cards at all to make long distance calls. If you have a laptop, you can bring your laptop with you when travelling. You can save all the roaming charges and other charges. Very good and highly recommended!