I don’t want people to make international calls to talk to me and I surly don’t want to spend $2/minute to call them. Here is my set up on my iPhone 3GS:

Receiving calls:
Googlevoice -> SkypeIN number -> Foward to Chinese phone

Making calls:
Skype ->VoipOver3G -> US phone

To use this setup, you must get a SkypeIN number ($18 for every 3 months or $60 for a year) If you have a monthly subscription, you can get up to 50% discount).  This number can be located in the US and a number of other countries.  It’ll also require you to have Skype credits and will clost about 2 cents/min.  The beauty of this setup is that your SkypeIN may change once you stop paying for the subscription but with a GoogleVoice number it doesn’t matter.

To make calls out on 3G it’s as simple as downloading VOIPover3G from Cydia assuming you have jailbroken your phone.

Before my plane took off, I called AT&T to suspend my service, to my surprise, the representative said that it only cost $10/mo for suspension. Later I realized that suspension means that I couldn’t use roaming on other networks even for emergency calls/information. So if you’re traveling, wait until your there and pay the $2/minute charge if you must until you have everything settled and have gotten your hands on a Chinese SIM card.