I had a previous iPhone unlocked via O2 last year, so I could test a Three SIM. All I had to do was fill in the online form and wait... cost nothing as I was a Pay Monthly customer.

If the person whose iPhone it was is no longer in contract with the network the iPhone is locked to, you could get a PAYG SIM for it for that network, make sure it has enough credit on it, and then request a code...

Surely the phone will only be unlocked if outside its contract period? If the phone was given away or subsidised for the original customer the network won't then unlock it to be used on a different network?

Surely the phone will only be unlocked if outside its contract period? If the phone was given away or subsidised for the original customer the network won't then unlock it to be used on a different network?

Nope. They will unlock it, but you obviously still have to finish the contract.

Note the normal O2 policy of free unlocking for contract customers doesn't apply on the new Refresh tariffs. These tariffs are split into two parts which consist of airtime and phone. While they give you the flexibility to swap to a new phone at any time. The phone portion of the tariff is treated as a separate Consumer Credit Agreement and they simply will not unlock a handset until the total phone portion is paid off in full. You can pay it off in full at any time during your contract though, if you want a new handset, then they will unlock the old one as normal.