From bf20f524520968eb71d3f6457a8af57ef79d619f Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 5 Jul 2012 12:34:09 -0500 Subject: [PATCH] add execute_on_post_originate and api_on_post_originate to run on chosen newly originated channels vs execute_on_originate which runs on all candidates --- src/include/switch_types.h | 2 ++ src/switch_ivr_originate.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/include/switch_types.h b/src/include/switch_types.h index c5e1fab7b4..dd301bd5ce 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -143,6 +143,7 @@ SWITCH_BEGIN_EXTERN_C #define SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE "execute_on_ring" #define SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE "execute_on_tone_detect" #define SWITCH_CHANNEL_EXECUTE_ON_ORIGINATE_VARIABLE "execute_on_originate" +#define SWITCH_CHANNEL_EXECUTE_ON_POST_ORIGINATE_VARIABLE "execute_on_post_originate" #define SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE "api_on_answer" #define SWITCH_CHANNEL_API_ON_PRE_ANSWER_VARIABLE "api_on_pre_answer" @@ -150,6 +151,7 @@ SWITCH_BEGIN_EXTERN_C #define SWITCH_CHANNEL_API_ON_RING_VARIABLE "api_on_ring" #define SWITCH_CHANNEL_API_ON_TONE_DETECT_VARIABLE "api_on_tone_detect" #define SWITCH_CHANNEL_API_ON_ORIGINATE_VARIABLE "api_on_originate" +#define SWITCH_CHANNEL_API_ON_POST_ORIGINATE_VARIABLE "api_on_post_originate" #define SWITCH_CALL_TIMEOUT_VARIABLE "call_timeout" #define SWITCH_HOLDING_UUID_VARIABLE "holding_uuid" diff --git a/src/switch_ivr_originate.c b/src/switch_ivr_originate.c index 6d3ad966ec..0a9c82eff7 100644 --- a/src/switch_ivr_originate.c +++ b/src/switch_ivr_originate.c @@ -3598,6 +3598,10 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess } + switch_channel_execute_on(bchan, SWITCH_CHANNEL_EXECUTE_ON_POST_ORIGINATE_VARIABLE); + switch_channel_api_on(bchan, SWITCH_CHANNEL_API_ON_POST_ORIGINATE_VARIABLE); + + while(switch_channel_state_change_pending(bchan)) { switch_cond_next(); }