]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
zero out particular flags when recovering
authorAnthony Minessale <anthm@freeswitch.org>
Fri, 26 Aug 2011 01:21:53 +0000 (20:21 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Fri, 26 Aug 2011 01:21:53 +0000 (20:21 -0500)
src/include/switch_types.h
src/switch_core_session.c

index b226b5555d5bbc448ff7f7fcbf14473275255e56..b20d68ffb314f2a30876293ebd46f296d1382a44 100644 (file)
@@ -1156,6 +1156,7 @@ typedef enum {
        CF_SIGNAL_DATA,
        CF_SIMPLIFY,
        /* WARNING: DO NOT ADD ANY FLAGS BELOW THIS LINE */
+       /* IF YOU ADD NEW ONES CHECK IF THEY SHOULD PERSIST OR ZERO THEM IN switch_core_session.c switch_core_session_request_xml() */
        CF_FLAG_MAX
 } switch_channel_flag_t;
 
index a1536d7daf21f2c9aebc3bee2aefa63b5b38178e..a0bbc2adc841ef758f1cbc44cfff8309d4b7865c 100644 (file)
@@ -1522,6 +1522,64 @@ SWITCH_DECLARE(switch_core_session_t *) switch_core_session_request_xml(switch_e
        parse_array(flag_str, flags, CF_FLAG_MAX);
        parse_array(cap_str, caps, CC_FLAG_MAX);
 
+       flags[CF_BRIDGE_ORIGINATOR] = 0;
+       flags[CF_TRANSFER] = 0;
+       flags[CF_ACCEPT_CNG] = 0;
+       flags[CF_REDIRECT] = 0;
+       flags[CF_BRIDGED] = 0;
+       flags[CF_HOLD] = 0;
+       flags[CF_SERVICE] = 0;
+       flags[CF_TAGGED] = 0;
+       flags[CF_WINNER] = 0;
+       flags[CF_CONTROLLED] = 0;
+       flags[CF_PROXY_MODE] = 0;
+       flags[CF_SUSPEND] = 0;
+       flags[CF_EVENT_PARSE] = 0;
+       flags[CF_GEN_RINGBACK] = 0;
+       flags[CF_BREAK] = 0;
+       flags[CF_BROADCAST] = 0;
+       flags[CF_UNICAST] = 0;
+       flags[CF_EVENT_LOCK] = 0;
+       flags[CF_EVENT_LOCK_PRI] = 0;
+       flags[CF_RESET] = 0;
+       flags[CF_ORIGINATING] = 0;
+       flags[CF_STOP_BROADCAST] = 0;
+       flags[CF_INNER_BRIDGE] = 0;
+       flags[CF_REQ_MEDIA] = 0;
+       flags[CF_PAUSE_BUGS] = 0;
+       flags[CF_DIVERT_EVENTS] = 0;
+       flags[CF_BLOCK_STATE] = 0;
+       flags[CF_FS_RTP] = 0;
+       flags[CF_REPORTING] = 0;
+       flags[CF_PARK] = 0;
+       flags[CF_TIMESTAMP_SET] = 0;
+       flags[CF_ORIGINATOR] = 0;
+       flags[CF_XFER_ZOMBIE] = 0;
+       flags[CF_MEDIA_ACK] = 0;
+       flags[CF_THREAD_SLEEPING] = 0;
+       flags[CF_DISABLE_RINGBACK] = 0;
+       flags[CF_NOT_READY] = 0;
+       flags[CF_SIGNAL_BRIDGE_TTL] = 0;
+       flags[CF_MEDIA_BRIDGE_TTL] = 0;
+       flags[CF_BYPASS_MEDIA_AFTER_BRIDGE] = 0;
+       flags[CF_LEG_HOLDING] = 0;
+       flags[CF_BROADCAST_DROP_MEDIA] = 0;
+       flags[CF_EARLY_HANGUP] = 0;
+       flags[CF_MEDIA_SET] = 0;
+       flags[CF_CONSUME_ON_ORIGINATE] = 0;
+       flags[CF_PASSTHRU_PTIME_MISMATCH] = 0;
+       flags[CF_BRIDGE_NOWRITE] = 0;
+       flags[CF_RECOVERED] = 0;
+       flags[CF_JITTERBUFFER] = 0;
+       flags[CF_DIALPLAN] = 0;
+       flags[CF_BLOCK_BROADCAST_UNTIL_MEDIA] = 0;
+       flags[CF_CNG_PLC] = 0;
+       flags[CF_ATTENDED_TRANSFER] = 0;
+       flags[CF_LAZY_ATTENDED_TRANSFER] = 0;
+       flags[CF_SIGNAL_DATA] = 0;
+       flags[CF_SIMPLIFY] = 0;
+
+
        if (!(session = switch_core_session_request_uuid(endpoint_interface, direction, SOF_NO_LIMITS, pool, uuid))) {
                return NULL;
        }