- */
- return timeout * 500;
- }
- elapsed = now - ast_rtp_instance_get_last_rx(rtp);
- if (elapsed < timeout) {
- ast_channel_unref(chan);
- return (timeout - elapsed) * 1000;
- }
- ast_log(LOG_NOTICE, "Disconnecting channel '%s' for lack of %s RTP activity in %d seconds\n",
- ast_channel_name(chan), ast_codec_media_type2str(session_media->type), elapsed);
- ast_channel_lock(chan);
- ast_channel_hangupcause_set(chan, AST_CAUSE_REQUESTED_CHAN_UNAVAIL);
- ast_channel_unlock(chan);
- ast_softhangup(chan, AST_SOFTHANGUP_DEV);
- ast_channel_unref(chan);
- return 0;