How to unlock iPhone after completing the contract without jail breaking?

Solution 1:

Official iPhone unlocking can be done and is handled by Apple. You need to call your mobile phone operator, ask for the unlock, and they contact Apple (or have a special application, I don't know) where they will send your phone's IMEI.

After a few days, when you sync your iPhone, iTunes will show you a screen telling you your iPhone has been unlocked.

Solution 2:

Calling the carrier is the right thing to do. They are the ones that are responsible for unlocking the phone.
At least it is that way in Germany.

Perhaps trying again to call AT&T does help. In my experience calling a hotline again if the first operator cannot handle your request to your liking does help. Sometimes one just gets a bad call center agent or the agent had a bad day.