Author: anthm Date: Mon Apr 14 13:30:45 2008 New Revision: 8110 Modified: freeswitch/trunk/src/switch_ivr_originate.c Log: set bracket vars before firing the CHANNEL_ORIGINATE event Modified: freeswitch/trunk/src/switch_ivr_originate.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_originate.c (original) +++ freeswitch/trunk/src/switch_ivr_originate.c Mon Apr 14 13:30:45 2008 @@ -826,19 +826,6 @@ peer_channels[i] = switch_core_session_get_channel(new_session); switch_channel_set_flag(peer_channels[i], CF_ORIGINATING); - if (var_event) { - switch_event_t *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); - } - switch_event_create(&event, SWITCH_EVENT_CHANNEL_ORIGINATE); - switch_assert(event); - switch_channel_event_set_data(peer_channels[i], event); - switch_event_fire(&event); - } - if (vdata) { char *var_array[1024] = { 0 }; int var_count = 0; @@ -857,6 +844,19 @@ } } + if (var_event) { + switch_event_t *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); + } + switch_event_create(&event, SWITCH_EVENT_CHANNEL_ORIGINATE); + switch_assert(event); + switch_channel_event_set_data(peer_channels[i], event); + switch_event_fire(&event); + } + if (!table) { table = &originate_state_handlers; }
participants (1)
-
Freeswitch SVN