From: Anthony Minessale Date: Tue, 16 Oct 2012 16:48:16 +0000 (-0400) Subject: add execute_on_media_timeout var X-Git-Tag: v1.3.0~47 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7eafa85de51e901a19ab9060b12ae0b07a059bde;p=thirdparty%2Ffreeswitch.git add execute_on_media_timeout var --- diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c index d3a8b8a104..939ced971a 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.c +++ b/src/mod/endpoints/mod_sofia/mod_sofia.c @@ -1094,6 +1094,16 @@ static switch_status_t sofia_read_frame(switch_core_session_t *session, switch_f sofia_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); switch_channel_clear_flag(channel, CF_LEG_HOLDING); } + + if (switch_channel_get_variable(tech_pvt->channel, "execute_on_media_timeout")) { + *frame = &tech_pvt->read_frame; + switch_set_flag((*frame), SFF_CNG); + (*frame)->datalen = tech_pvt->read_impl.encoded_bytes_per_packet; + memset((*frame)->data, 0, (*frame)->datalen); + switch_channel_execute_on(tech_pvt->channel, "execute_on_media_timeout"); + return SWITCH_STATUS_SUCCESS; + } + switch_channel_hangup(tech_pvt->channel, SWITCH_CAUSE_MEDIA_TIMEOUT); }