Ton code est difficilement lisible, il vaudrait mieux le publier en le mettant entre crochets [ code ] comme indiqué dans le forum.
Je commencerai par supprimer la partie du code qui concerne le code PIN après avoir configuré la carte pour ne pas utiliser le code SIM.
Je ne vois aucune partie du code qui teste si le GSM est bien enregistré sur le réseau. Il n'y a aucune "sécurité".
Ensuite free pose souvent des problèmes... J'ai moi-même développé une application avec une carte SIM900 et une SIM Orange. Quand j'ai voulu tester avec une carte free, j'ai eu un tas de problèmes de connexion.
Je referai un test ultérieurement.