mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-16 16:58:35 +00:00
pass cancel_cause into enterprise_originate
This commit is contained in:
parent
4f58ad4fb7
commit
2e9724d2ec
@ -464,7 +464,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_enterprise_originate(switch_core_sess
|
|||||||
const char *cid_name_override,
|
const char *cid_name_override,
|
||||||
const char *cid_num_override,
|
const char *cid_num_override,
|
||||||
switch_caller_profile_t *caller_profile_override,
|
switch_caller_profile_t *caller_profile_override,
|
||||||
switch_event_t *ovars, switch_originate_flag_t flags);
|
switch_event_t *ovars, switch_originate_flag_t flags,
|
||||||
|
switch_call_cause_t *cancel_cause);
|
||||||
|
|
||||||
SWITCH_DECLARE(void) switch_ivr_bridge_display(switch_core_session_t *session, switch_core_session_t *peer_session);
|
SWITCH_DECLARE(void) switch_ivr_bridge_display(switch_core_session_t *session, switch_core_session_t *peer_session);
|
||||||
|
|
||||||
|
@ -1330,7 +1330,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_enterprise_originate(switch_core_sess
|
|||||||
const char *cid_name_override,
|
const char *cid_name_override,
|
||||||
const char *cid_num_override,
|
const char *cid_num_override,
|
||||||
switch_caller_profile_t *caller_profile_override,
|
switch_caller_profile_t *caller_profile_override,
|
||||||
switch_event_t *ovars, switch_originate_flag_t flags)
|
switch_event_t *ovars, switch_originate_flag_t flags,
|
||||||
|
switch_call_cause_t *cancel_cause)
|
||||||
{
|
{
|
||||||
int x_argc = 0;
|
int x_argc = 0;
|
||||||
char *x_argv[MAX_PEERS] = { 0 };
|
char *x_argv[MAX_PEERS] = { 0 };
|
||||||
@ -1480,6 +1481,10 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_enterprise_originate(switch_core_sess
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (cancel_cause && *cancel_cause > 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < x_argc; i++) {
|
for (i = 0; i < x_argc; i++) {
|
||||||
|
|
||||||
|
|
||||||
@ -1521,7 +1526,12 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_enterprise_originate(switch_core_sess
|
|||||||
if (hp == &handles[i]) {
|
if (hp == &handles[i]) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
handles[i].cancel_cause = SWITCH_CAUSE_LOSE_RACE;
|
|
||||||
|
if (cancel_cause && *cancel_cause > 0) {
|
||||||
|
handles[i].cancel_cause = *cancel_cause;
|
||||||
|
} else {
|
||||||
|
handles[i].cancel_cause = SWITCH_CAUSE_LOSE_RACE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < x_argc; i++) {
|
for (i = 0; i < x_argc; i++) {
|
||||||
@ -1738,7 +1748,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
|
|||||||
|
|
||||||
if (strstr(bridgeto, SWITCH_ENT_ORIGINATE_DELIM)) {
|
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, cancel_cause);
|
||||||
}
|
}
|
||||||
|
|
||||||
oglobals.ringback_ok = 1;
|
oglobals.ringback_ok = 1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user