summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorIgor Goncharovskiy <igor.goncharovsky@gmail.com>2014-10-16 06:11:28 +0000
committerIgor Goncharovskiy <igor.goncharovsky@gmail.com>2014-10-16 06:11:28 +0000
commit50e802445cfcd17eb58a442524a736db3e7f88ed (patch)
tree551e17781741185ad6761e28f184ddfcb9a3decc /channels
parent70a3e74f0a3c11944a8a84b4f37af912bb6ccac0 (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 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@425669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_unistim.c12
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) {