]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[mod_loopback] add channel var loopback_no_pre_answer
authorjoshebosh <github@joshebosh.email>
Wed, 23 Oct 2019 20:00:28 +0000 (16:00 -0400)
committerAndrey Volk <andywolk@gmail.com>
Fri, 17 Jan 2020 16:47:38 +0000 (20:47 +0400)
src/mod/endpoints/mod_loopback/mod_loopback.c

index 6d77eb946b9f0a88038591e6b07e5bca76d3b959..9025af31c968cc37a79e6f0be3bb244861285146 100644 (file)
@@ -1149,7 +1149,9 @@ static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *sessi
                ochannel = switch_core_session_get_channel(session);
                switch_channel_clear_flag(ochannel, CF_PROXY_MEDIA);
                switch_channel_clear_flag(ochannel, CF_PROXY_MODE);
-               switch_channel_pre_answer(ochannel);
+               if (!switch_channel_var_true(ochannel, "loopback_no_pre_answer")) {
+                       switch_channel_pre_answer(ochannel);
+               }
        }
 
        if ((*new_session = switch_core_session_request(loopback_endpoint_interface, SWITCH_CALL_DIRECTION_OUTBOUND, flags, pool)) != 0) {
@@ -1593,7 +1595,9 @@ static switch_call_cause_t null_channel_outgoing_channel(switch_core_session_t *
                ochannel = switch_core_session_get_channel(session);
                switch_channel_clear_flag(ochannel, CF_PROXY_MEDIA);
                switch_channel_clear_flag(ochannel, CF_PROXY_MODE);
-               switch_channel_pre_answer(ochannel);
+               if (!switch_channel_var_true(ochannel, "loopback_no_pre_answer")) {
+                       switch_channel_pre_answer(ochannel);
+               }
        }
 
        if ((*new_session = switch_core_session_request(null_endpoint_interface, SWITCH_CALL_DIRECTION_OUTBOUND, flags, pool)) != 0) {