Author: anthm Date: Thu Oct 4 16:30:59 2007 New Revision: 5801 Modified: freeswitch/trunk/src/switch_ivr_originate.c Log: small tweak Modified: freeswitch/trunk/src/switch_ivr_originate.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_originate.c (original) +++ freeswitch/trunk/src/switch_ivr_originate.c Thu Oct 4 16:30:59 2007 @@ -535,6 +535,14 @@ peer_channels[i] = switch_core_session_get_channel(new_session); assert(peer_channels[i] != NULL); + if (var_event) { + switch_event_header_t *header; + /* install the vars from the {} params */ + for (header = var_event->headers; header; header = header->next) { + switch_channel_set_variable(peer_channels[i], header->name, header->value); + } + } + if (!table) { table = &originate_state_handlers; } @@ -825,16 +833,6 @@ done: *cause = SWITCH_CAUSE_UNALLOCATED; - if (var_event) { - if (peer_channel && !caller_channel) { /* install the vars from the {} params */ - switch_event_header_t *header; - for (header = var_event->headers; header; header = header->next) { - switch_channel_set_variable(peer_channel, header->name, header->value); - } - } - switch_event_destroy(&var_event); - } - if (status == SWITCH_STATUS_SUCCESS) { if (caller_channel) { switch_channel_set_variable(caller_channel, "originate_disposition", "call accepted"); @@ -918,5 +916,10 @@ *bleg = NULL; } + + if (var_event) { + switch_event_destroy(&var_event); + } + return status; }
participants (1)
-
Freeswitch SVN