diff options
author | Igor Goncharovskiy <igor.goncharovsky@gmail.com> | 2014-10-16 06:22:07 +0000 |
---|---|---|
committer | Igor Goncharovskiy <igor.goncharovsky@gmail.com> | 2014-10-16 06:22:07 +0000 |
commit | a770ca168df5052c873a2ca298aafe8bb88277a2 (patch) | |
tree | e137f2ceb441ecd85b125a04dd8292b1cbf70a1e | |
parent | bfee1b4bc54ba808a54434d8e6862c9b2b949b8c (diff) |
Fix loss of voice after second call drops (on a second line) in case using multiple lines on unistim phones. There is regression was introduced in r391379.
Reported by: Rustam Khankishyiev
(closes issue ASTERISK-23846)
........
Merged revisions 425667 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 425668 from http://svn.asterisk.org/svn/asterisk/branches/12
........
Merged revisions 425669 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@425677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r-- | channels/chan_unistim.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c index 7820d051d..91cc40259 100644 --- a/channels/chan_unistim.c +++ b/channels/chan_unistim.c @@ -4953,18 +4953,20 @@ static int unistim_hangup(struct ast_channel *ast) } else if (sub->subtype == SUB_RING) { send_no_ring(s); for (i = 0; i < FAVNUM; i++) { - if (!soft_key_visible(s->device, i)) + if (!soft_key_visible(s->device, i)) { continue; - if (d->ssub[i] != sub) + } + if (d->ssub[i] != sub) { + if (d->ssub[i] != NULL) { /* Found other subchannel active other then hangup'ed one */ + end_call = 0; + } continue; + } if (is_key_line(d, i) && !strcmp(l->name, d->sline[i]->name)) { send_favorite_short(i, FAV_LINE_ICON, s); d->ssub[i] = NULL; continue; } - if (d->ssub[i] != NULL) { /* Found other subchannel active other then hangup'ed one */ - end_call = 0; - } } } if (end_call) { |