Watchdog System for Arduino GSM

Ok, so just thought i'd add serial into the mix so I can try and establish where the sketch is failing.

Heres what I got when sim was in...

Serial Begins...
Delay to allow GSM to establish...
AT%13%
0 9>AT%13%%13%%10%OK%13%%10%
AT+CGREG?%13%
9 40>AT+CGREG?%13%%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
40 71>AT+CGREG?%13%%13%%10%+CGREG: 0,5%13%%10%%13%%10%OK%13%%10%
AT+IFC=1,1%13%
71 88>AT+IFC=1,1%13%%13%%10%OK%13%%10%
AT+CMGF=1%13%
88 104>AT+CMGF=1%13%%13%%10%OK%13%%10%
AT+CLIP=1%13%
104 120>AT+CLIP=1%13%%13%%10%OK%13%%10%
ATE0%13%
120 3>ATE0%13%%13%%10%OK%13%%10%
AT+COLP=1%13%
3 9>%13%%10%OK%13%%10%
Success, ready...

however with the sim out I get

Serial Begins...
Delay to allow GSM to establish...
AT%13%
0 9>AT%13%%13%%10%OK%13%%10%
AT+CGREG?%13%
9 40>AT+CGREG?%13%%13%%10%+CGREG: 0,0%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
40 71>AT+CGREG?%13%%13%%10%+CGREG: 0,0%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
71 102>AT+CGREG?%13%%13%%10%+CGREG: 0,0%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
102 5>AT+CGREG?%13%%13%%10%+CGREG: 0,0%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%

This then goes on and on and on infinitely, from this I can establish that the below piece of code is the bit that isn't functioning as I want it to.

Serial.println("Delay to allow GSM to establish...");
    delay (10000);


    if (gsmAccess.begin(PINNUMBER) == GSM_READY)

      loop();

    else
    
      reboot();


  }
}

The "if" is working, the else is not.

Hopefully this helps you very helpful guys out and I can only apologise for my lack of knowledge but rest assured every day has been a learning day!!!