There is also a 3rd way:
- Cancel all call/voicemail forwarding (using the call forwarding menu or dialling ##002#)
You will then have a choice of either rejecting the call (by pressing the END/NO button), or letting it ring until the caller hangs up. There will be no charge to either yourself or the caller for either option.
I was charged 6 or 8 dollars for rejecting a call in China (i forget the exact amount other than I was amazed and upset) using that method so I don't think it works. I'm with gfunkdave and before I leave forward all voice calls to voice mail. That way I can turn my phone on in another country and receive text messages no problem, I also am notified (sometimes, it seems to be network dependent) if there are messages waiting.