Commit 97f278a
sig_analog: Fix broken three-way conferencing.
Three-way calling for analog lines is currently broken.
If party A is on a call with party B and initiates a
three-way call to party C, the behavior differs depending
on whether the call is conferenced prior to party C
answering. The post-answer case is correct. However,
if A flashes before C answers, then the next flash
disconnects B rather than C, which is incorrect.
This error occurs because the subs are not swapped
in the misbehaving case. This is because the flash
handler only swaps the subs if C has answered already,
which is wrong. To fix this, we swap the subs regardless
of whether C has answered or not when the call is
conferenced. This ensures that C is disconnected
on the next hook flash, rather than B as can happen
currently.
ASTERISK-30043 #close
Change-Id: I96c5bf6c9b7eb2636136b716c677c82c079b6f061 parent cc8e098 commit 97f278a
1 file changed
Lines changed: 2 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3386 | 3386 | | |
3387 | 3387 | | |
3388 | 3388 | | |
3389 | | - | |
3390 | | - | |
3391 | | - | |
3392 | | - | |
| 3389 | + | |
| 3390 | + | |
3393 | 3391 | | |
3394 | 3392 | | |
3395 | 3393 | | |
| |||
0 commit comments