[Freeswitch-svn] [commit] r5801 - freeswitch/trunk/src

Freeswitch SVN anthm at freeswitch.org
Thu Oct 4 16:30:59 EDT 2007


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



More information about the Freeswitch-svn mailing list