I have this very reproducible behavior going on. I'm on the latest version of 3CX with the latest supported firmware on multiple Yealink CP860 phones in STUN mode. I'm using the default template as well for the CP860. After approximately 15 minutes and 30 seconds on a call, it drops. We haven't changed any network settings on our end. However, we did upgrade the 3CX from version 15.5 and using the new template that is included with 15.5 SP1. This behavior doesn't occur on the exact some network with a dozen T42S phones. Here's what Flowroute is saying: Looking at your call examples, it appears that during the initial invite, the user agent server is specified as the refresher with a session timeout of 1800 seconds. This means a refresh is due from our side at 15 minutes. We send this refresh as a RE-INVITE 15 minutes into the call and it hits you at 1:06:58; your PBX responds with a 100 Trying, however it does not confirm the RE-INVITE by responding with a 200 OK. After 30 seconds of waiting, we give up and end the call, as we cannot confirm that the call is still live (the purpose of the session timer). A cancel is issued to your PBX, which your PBX does actually confirm immediately with a 200 OK, followed by a very out of place BYE, as if your PBX is trying to end a call that has already been cancelled by the remote end.