Revision
15530
Author
brian
Date
2009-11-18 14:25:49 -0600 (Wed, 18 Nov 2009)

Log Message

MODAPP-368

Modified Paths

Diff

Modified: freeswitch/trunk/src/include/switch_types.h (15529 => 15530)


--- freeswitch/trunk/src/include/switch_types.h	2009-11-18 19:53:44 UTC (rev 15529)
+++ freeswitch/trunk/src/include/switch_types.h	2009-11-18 20:25:49 UTC (rev 15530)
@@ -37,6 +37,7 @@
 
 #include <switch.h>
 SWITCH_BEGIN_EXTERN_C
+#define SWITCH_ENT_ORIGINATE_DELIM ":_:"
 #define SWITCH_BLANK_STRING ""
 #ifdef WIN32
 #define SWITCH_SEQ_FWHITE FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY

Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c (15529 => 15530)


--- freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c	2009-11-18 19:53:44 UTC (rev 15529)
+++ freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c	2009-11-18 20:25:49 UTC (rev 15530)
@@ -218,6 +218,8 @@
 				break;
 			case 'A':
 				call_delim = ",";
+			case 'E':
+				call_delim = SWITCH_ENT_ORIGINATE_DELIM;
 				break;
 			default:
 				break;
@@ -324,10 +326,8 @@
 					}
 					
 					if (d_dest) {
-						if (!switch_stristr("error/", d_dest)) {
-							dstream.write_function(&dstream, "%s%s", d_dest, call_delim);
-						}
-					
+						dstream.write_function(&dstream, "%s%s", d_dest, call_delim);
+
 						if (d_dest != dest) {
 							free(d_dest);
 						}
@@ -336,13 +336,12 @@
 
 				if (ok && dstream.data) {
 					char *data = (char *) dstream.data;
-					char c = end_of(data);
 					char *p;
 
-					if (c == ',' || c == '|') {
-						end_of(data) = '\0';
+					if ((p = strstr(end_of_p(data) - 3, call_delim))) {
+						*p = '\0';
 					}
-					
+
 					for (p = data; p && *p; p++) {
 						if (*p == '{') {
 							*p = '[';

Modified: freeswitch/trunk/src/switch_ivr_originate.c (15529 => 15530)


--- freeswitch/trunk/src/switch_ivr_originate.c	2009-11-18 19:53:44 UTC (rev 15529)
+++ freeswitch/trunk/src/switch_ivr_originate.c	2009-11-18 20:25:49 UTC (rev 15530)
@@ -1134,7 +1134,7 @@
  
 }
 
-#define OSEP ":_:"
+
 #define MAX_PEERS 128
 
 typedef struct {
@@ -1359,7 +1359,7 @@
 	}
 
 
-	if (!(x_argc = switch_separate_string_string(data, OSEP, x_argv, MAX_PEERS))) {
+	if (!(x_argc = switch_separate_string_string(data, SWITCH_ENT_ORIGINATE_DELIM, x_argv, MAX_PEERS))) {
 		*cause = SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER;
 		switch_goto_status(SWITCH_STATUS_FALSE, end);
 	}
@@ -1542,7 +1542,7 @@
 	const char *export_vars = NULL;
 
 
-	if (strstr(bridgeto, OSEP)) {
+	if (strstr(bridgeto, SWITCH_ENT_ORIGINATE_DELIM)) {
 		return switch_ivr_enterprise_originate(session, bleg, cause, bridgeto, timelimit_sec, table, cid_name_override, cid_num_override,
 										  caller_profile_override, ovars, flags);
 	}