PeerConnection disconnected after about 30 seconds

In coding a 1-1 video and audio call, we find that we can successfully implement the call across a TURN server. Offer and answer are exchanged, as are ICE candidates, and the audio and video are correctly transmitted. However, after about 30 seconds, we find that both the remote video and audio freeze. Looking at the peer connection, we find that the connectionState changes to disconnected. We’re having difficulty tracking down what triggers the loss of connection and what to do to either avoid the disconnect or to reconnect when it happens.

Can you provide more information about each device in question.
Like are they both Android? iOS to Android? iOS/Android to Browser?
Not just that, are the devices on the same network?
Also are you using a STUN server with the TURN server?
And is the TURN server provided freely or paid?

We’ve identified it when both are Android. It doesn’t happen if both devices are connected to the same network. We are using a coturn server that we deployed on AWS. We had the behaviour when we gave both STUN and TURN connections to the coturn server and when we gave just TURN.