]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
freetdm: ftmod_r2 - disable MF dump for forward calls on call accepted
authorMoises Silva <moy@sangoma.com>
Tue, 14 Dec 2010 21:50:10 +0000 (16:50 -0500)
committerMoises Silva <moy@sangoma.com>
Tue, 14 Dec 2010 21:50:10 +0000 (16:50 -0500)
libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c

index 9206493ad2956d391395a05cd39a671c32018fe4..6bec6b0cf7853a88323e0b6d6e95e1083d61b1f9 100644 (file)
@@ -585,6 +585,8 @@ static void dump_mf(openr2_chan_t *r2chan)
 static void ftdm_r2_on_call_accepted(openr2_chan_t *r2chan, openr2_call_mode_t mode)
 {
        ftdm_channel_t *ftdmchan = openr2_chan_get_client_data(r2chan);
+       ftdm_r2_data_t *r2data = ftdmchan->span->signal_data;
+
        ftdm_log_chan_msg(ftdmchan, FTDM_LOG_NOTICE, "Call accepted\n");
 
        clear_accept_pending(ftdmchan);
@@ -607,6 +609,11 @@ static void ftdm_r2_on_call_accepted(openr2_chan_t *r2chan, openr2_call_mode_t m
                        return;
                }
        } else {
+               /* nothing went wrong during call setup, MF has ended, we can and must disable the MF dump */
+               if (r2data->mf_dump_size) {
+                       ftdm_channel_command(ftdmchan, FTDM_COMMAND_DISABLE_INPUT_DUMP, NULL);
+                       ftdm_channel_command(ftdmchan, FTDM_COMMAND_DISABLE_OUTPUT_DUMP, NULL);
+               }
                ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS_MEDIA);
        }
 }