From 2249e1dfc67cd4f114ee744664816ad54e0cd82b Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 10 Sep 2012 11:14:19 -0500 Subject: [PATCH] hangup pickup chans with no answer if they are the only ones left --- src/switch_ivr_originate.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/switch_ivr_originate.c b/src/switch_ivr_originate.c index 2c9c772a21..5b7ee93935 100644 --- a/src/switch_ivr_originate.c +++ b/src/switch_ivr_originate.c @@ -780,6 +780,16 @@ static uint8_t check_channel_status(originate_global_t *oglobals, originate_stat end: + if (rval == 0 && pickups) { + for (i = 0; i < len; i++) { + if (originate_status[i].peer_channel && switch_channel_test_flag(originate_status[i].peer_channel, CF_PICKUP) && + switch_channel_up(originate_status[i].peer_channel)) { + switch_channel_hangup(originate_status[i].peer_channel, SWITCH_CAUSE_NO_ANSWER); + } + } + } + + if (pindex > -1 && caller_channel && switch_channel_ready(caller_channel) && !switch_channel_media_ready(caller_channel) && switch_channel_media_ready(originate_status[pindex].peer_channel)) { inherit_codec(caller_channel, originate_status[pindex].peer_session);