#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
break;
case 'A':
call_delim = ",";
+ case 'E':
+ call_delim = SWITCH_ENT_ORIGINATE_DELIM;
break;
default:
break;
}
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);
}
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 = '[';
}
-#define OSEP ":_:"
+
#define MAX_PEERS 128
typedef struct {
}
- 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);
}
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);
}