提交 bc72d990 authored 作者: Brian West's avatar Brian West

MODAPP-368

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15530 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 af91267c
...@@ -37,6 +37,7 @@ ...@@ -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
......
...@@ -218,6 +218,8 @@ SWITCH_STANDARD_API(group_call_function) ...@@ -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,10 +326,8 @@ SWITCH_STANDARD_API(group_call_function) ...@@ -324,10 +326,8 @@ 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,13 +336,12 @@ SWITCH_STANDARD_API(group_call_function) ...@@ -336,13 +336,12 @@ 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++) {
if (*p == '{') { if (*p == '{') {
*p = '['; *p = '[';
......
...@@ -1134,7 +1134,7 @@ static switch_status_t setup_ringback(originate_global_t *oglobals, ...@@ -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 ...@@ -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 ...@@ -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);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论