MODAPP-368

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15530 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Brian West 2009-11-18 20:25:49 +00:00
parent af91267c44
commit bc72d99096
3 changed files with 11 additions and 11 deletions

View File

@ -37,6 +37,7 @@
#include <switch.h> #include <switch.h>
SWITCH_BEGIN_EXTERN_C SWITCH_BEGIN_EXTERN_C
#define SWITCH_ENT_ORIGINATE_DELIM ":_:"
#define SWITCH_BLANK_STRING "" #define SWITCH_BLANK_STRING ""
#ifdef WIN32 #ifdef WIN32
#define SWITCH_SEQ_FWHITE FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY #define SWITCH_SEQ_FWHITE FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY

View File

@ -218,6 +218,8 @@ SWITCH_STANDARD_API(group_call_function)
break; break;
case 'A': case 'A':
call_delim = ","; call_delim = ",";
case 'E':
call_delim = SWITCH_ENT_ORIGINATE_DELIM;
break; break;
default: default:
break; break;
@ -324,9 +326,7 @@ SWITCH_STANDARD_API(group_call_function)
} }
if (d_dest) { 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) { if (d_dest != dest) {
free(d_dest); free(d_dest);
@ -336,11 +336,10 @@ SWITCH_STANDARD_API(group_call_function)
if (ok && dstream.data) { if (ok && dstream.data) {
char *data = (char *) dstream.data; char *data = (char *) dstream.data;
char c = end_of(data);
char *p; char *p;
if (c == ',' || c == '|') { if ((p = strstr(end_of_p(data) - 3, call_delim))) {
end_of(data) = '\0'; *p = '\0';
} }
for (p = data; p && *p; p++) { for (p = data; p && *p; p++) {

View File

@ -1134,7 +1134,7 @@ static switch_status_t setup_ringback(originate_global_t *oglobals,
} }
#define OSEP ":_:"
#define MAX_PEERS 128 #define MAX_PEERS 128
typedef struct { typedef struct {
@ -1359,7 +1359,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_enterprise_originate(switch_core_sess
} }
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; *cause = SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER;
switch_goto_status(SWITCH_STATUS_FALSE, end); switch_goto_status(SWITCH_STATUS_FALSE, end);
} }
@ -1542,7 +1542,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
const char *export_vars = NULL; 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, return switch_ivr_enterprise_originate(session, bleg, cause, bridgeto, timelimit_sec, table, cid_name_override, cid_num_override,
caller_profile_override, ovars, flags); caller_profile_override, ovars, flags);
} }