Trying your carrier first is always a good option. Some carriers are more friendly than others. There are several reliable unlocking companies in the forum here. My only real experience has been with Cellunlocker.net - #1 Unlock Codes for Network Cell Phone Unlocking Their service has been fast and reliable so far.