Most probably AT&T wont unlock your iPhone before the contract has expired. Anyway you can call them and explain your situation to know if they can unlock it to you. If you are not successful in unlocking your iPhone with AT&T, You can try unlocking with any private source. For example, You can visit Theunlockspot.com to get the remote unlocking service for your iPhone. This method of unlocking is safe, simple, affordable, quick and permanent. This method of unlocking doesn't require a jailbreak too. Good luck mate.