Hi
Turning attention to option #2, I have looked at rtpproxy (my preferred default), iptrtpproxy, and mediaproxy modules but have not found any evidence that the control protocols Kamailio/SR uses to engage them support any notion of backward asynchronous feedback in case of RTP timeout.
Rtpproxy has timeout_socket which can be used with MI/RPC interface to do dlg_bye(). Would this fit your needs?
We did it this way for one of our projects.
Kind Regards.
Min Wang