I investigated the reported call UUIDs, and found that the reason the calls are dropping off at 900 seconds is because the customer's endpoint does not support SIP Update.
The customer is using an external SIP endpoint, and it is not advertising support for the UPDATE method in its Allow header. When a call is established, our platform negotiates a session timer of 1800 seconds as a keep-alive mechanism. At the halfway point (900 seconds), our platform sends a SIP UPDATE request to refresh the session however, the endpoint is rejecting this with a 405 Method Not Allowed response, which causes the call to drop.
The customer needs to check if the SIP endpoint they are using supports SIP UPDATE, and if it does, it needs to be advertised on their SIP INVITE.