RLyon,
I think your issue may be firewall related. I've had similar issues in the past. Does that site use a sonic wall? If so look into configuring the sonic wall for VOIP/SIP. I forget where but there is a UDP packet drop which is default for around 30 mins. Check Firewall Flood protection and disable SIP Transformations and see if that fixes it for you.
-Travis
This is literally what I was going to ask, if there was a Sonicwall router... Anytime we hear of SIP sessions, whether phones, trunks, or whatever, that disconnect at exactly 15, 20, or 30 minutes with consistency, it is almost always because these devices are behind a Sonicwall router.
Personally, I hate Sonicwall routers... they are WAY to complicated and 98% of places that have them do not need the intricate, advanced things they do. My recommendation to people who have them, unless they are fairly new, is to replace them as in my area half the people who "work" on Sonicwalls have no idea how to do anything advanced in them. I am not trying to through Sonicwall under the bus here, well, maybe a little, but they usually more trouble then they are worth in my opinion...