mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-05-01 14:23:42 +00:00
MODAPP-368
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15530 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
af91267c44
commit
bc72d99096
@ -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)
|
|||||||
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++) {
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user