]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-5453 --resolve
authorAnthony Minessale <anthm@freeswitch.org>
Thu, 23 May 2013 13:00:03 +0000 (08:00 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Thu, 23 May 2013 13:06:52 +0000 (08:06 -0500)
src/mod/endpoints/mod_loopback/mod_loopback.c

index 103f22854e37512a26aed6dad8f1db3c8d630c6d..9d5685dd79b9d81abbd201a256ed1de2b86420f3 100644 (file)
@@ -429,7 +429,7 @@ static switch_status_t channel_on_execute(switch_core_session_t *session)
        switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s CHANNEL EXECUTE\n", switch_channel_get_name(channel));
 
 
-       if ((exten = switch_channel_get_caller_extension(channel))) {
+       if (!switch_test_flag(tech_pvt, TFLAG_BOWOUT) && (exten = switch_channel_get_caller_extension(channel))) {
                switch_caller_application_t *app_p;
 
                for (app_p = exten->applications; app_p; app_p = app_p->next) {
@@ -448,6 +448,8 @@ static switch_status_t channel_on_execute(switch_core_session_t *session)
                switch_core_session_t *other_session = NULL;
                const char *other_uuid = NULL;
 
+               switch_set_flag(tech_pvt, TFLAG_BOWOUT);
+
                if ((find_non_loopback_bridge(tech_pvt->other_session, &other_session, &other_uuid) == SWITCH_STATUS_SUCCESS)) {
                        switch_caller_extension_t *extension;
                        switch_channel_t *other_channel = switch_core_session_get_channel(other_session);