Keepalive BC 660 is there and how to use?

We are testing our modem with the BC660, and we are experiencing a disconnection every few days. We will be able to restore the connection if we press the restart. We are looking for a way to identify if the modem is connected to the network and conduct a reset for the module if it is not connected for some time.

Any ideas?

you can run:

if return +cereg:0,1 or +cereg:0,5,indicates that the module is successfully registered with the network
If the IP address is returned successfully, the network registration is successful

When the module is disconnected, try AT+QPLMNS? and post here the result. Prior that you can post result of AT+QCFG="OOSScheme". Current module firmware stops searching for networks once it cannot find any suitable network during network scan and this can be the issue you’re experiencing.

Thanks for your replay,
We are using MQTT and we would like to get a call back once our keepalive is not replied by the broker.