Check connection status in loop and reconect

What state is the router in when it “stops working”?
Is the 3G failing but the router still running perhaps?
Your manual indicates telnet access is available. In theory a simple shell script could be put on the router and called at intervals with crontab to reboot it if fails to ping google DNS. Obviously this would only work if some parts of the router are still functioning correctly.

@Xandr has just posted a link to a script that would do the job for you.