Cellular downlink delay causing issues

Hi,

I have been developing a product to do point to multipoint I/O Telemetry over cellular infastructure via MQTT. My Cellular provider (Telus) appears to be halting the downlink side of the connection if the socket is idle for more than about 30sec. This means that the device (client) does not recieve any incomming messages until it attempts to send something over the socket (publish, PINGREQ etc) at which point the delayed incomming messages are immediately recieved. My mosquitto broker appears to be disconnecting the client if it does not recieve a PUBACK to subscription callbacks within around 50sec. The client is unaware that the broker dropped the connection until the next time it tries to publish and can’t. Is this normal behaviour for the broker to drop the connection if it does not recieve a PUBACK?