When using mobile broadband I found that a SSH shell session to a remote server would terminate unless I used it every few minutes. To overcome this use the ServerAliveInterval option to send a regular keepalive message to the remote server, which should be enough for the ISP firewalls to maintain the TCP session indefinitely.
Either add the SSH option via the command line, e.g.
$ ssh -o ServerAliveInterval=60 user@host
Or add the following line to ~/.ssh/config:
ServerAliveInterval 60 # Send a keepalive every 60 seconds