From 40f29b3886e524dadf68c5ef0849865bdf7ffd74 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 13 Dec 2011 13:37:06 -0600 Subject: [PATCH] only hangup inbound calls in progress if they have been answered --- src/mod/applications/mod_spandsp/mod_spandsp_modem.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mod/applications/mod_spandsp/mod_spandsp_modem.c b/src/mod/applications/mod_spandsp/mod_spandsp_modem.c index e8d6320631..97c27cd48e 100644 --- a/src/mod/applications/mod_spandsp/mod_spandsp_modem.c +++ b/src/mod/applications/mod_spandsp/mod_spandsp_modem.c @@ -1068,7 +1068,8 @@ static int control_handler(modem_t *modem, const char *num, int op) if ((session = switch_core_session_force_locate(modem->uuid_str))) { switch_channel_t *channel = switch_core_session_get_channel(session); - if (switch_channel_up(channel)) { + if (switch_channel_up(channel) && + (switch_channel_test_flag(channel, CF_ANSWERED) || switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_INBOUND)) { switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); set_state = 0; }