Code hangs in interrupt when there is poor GSM signal

I've the same problem sometimes the function gsmAccess.begin(PINNUMBER, true)==GSM_READY hangs my process
indefinitely !

I try to put the begin() function in asynchronous mode by gsmAccess.begin(PINNUMBER, true, false) ==GSM_READY but i can't connect ever when in the same place with synchronous mode i had no problem .

How can i solve this issue ?

Thanks in Advance

** I read the posts before but i don't understand how reset the board when the hangs happens !