zero out particular flags when recovering

This commit is contained in:
Anthony Minessale 2011-08-25 20:21:53 -05:00
parent 517707dc47
commit 85ea402ca9
2 changed files with 59 additions and 0 deletions

View 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;

View 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;
}