unlocking a phone can be done by many ways but the best method and the safe way to unlock a phone is through codes. even in codes too there are many providers who offer you free services. but free codes are risky. they may go wrong while generating codes and when the number of attempts exceeds it may lead to hard reset your phone which is a double work for you. so its better to get codes from paid services to unlock your phone. i got my phone unlocked through one such paid services. here is it. TheUnlockArena
you can even try them.