Arduino MKR GSM 1400 loses subscription to ArduinoIoTCloudTCP::handle_SubscribeMqttTopics

I have an Arduino MKR GSM 1400 working fine. It connects to the network and IoT cloud to start. I also have code to listen for

ArduinoIoTPreferredConnection.addCallback(NetworkConnectionEvent::CONNECTED, onNetworkConnect);
ArduinoIoTPreferredConnection.addCallback(NetworkConnectionEvent::DISCONNECTED, onNetworkDisconnect);
ArduinoIoTPreferredConnection.addCallback(NetworkConnectionEvent::ERROR, onNetworkDisconnect);

and when there is an error or disconnect I retry and eventually reboot the system. So far this is working and I’m able to connect to IoT and report the data.

My problem is that randomly at some point in time I run into this issue…

ArduinoIoTCloudTCP::handle_SubscribeMqttTopics could not subscribe to /a/t/xxxxx/e/i
Check your thing configuration, and press the reset button on your board.

and when it gets to this state there is no call back or trigger that I can use to reboot the board. The code on the board is working but nothing gets to IoT. What are my options here?

The network connection is still up, as if that is down I would get the disconnect callback and eventually retry and reboot.