]> git.ipfire.org Git - thirdparty/asterisk.git/commit
Local channels: Alternate solution to ringback problem. 54/954/3
authorMark Michelson <mmichelson@digium.com>
Thu, 23 Jul 2015 18:11:42 +0000 (13:11 -0500)
committerMark Michelson <mmichelson@digium.com>
Fri, 24 Jul 2015 14:33:19 +0000 (09:33 -0500)
commitf63552052710d2b0a0f33b8fd93dd00083f74b74
tree14c7230b1bc7d681a8168535b57d2a0c7c105189
parent4d8f47f4bffc8d750e8b0bcc8e5242577b6adfc1
Local channels: Alternate solution to ringback problem.

Commit 54b25c80c8387aea9eb20f9f4f077486cbdf3e5d solved an issue where a
specific scenario involving local channels and a native local RTP bridge
could result in ringback still being heard on a calling channel even
after the call is bridged.

That commit caused many tests in the testsuite to fail with alarming
consequences, such as not sending DialBegin and DialEnd events, and
giving incorrect hangup causes during calls.

This commit reverts the previous commit and implements and alternate
solution. This new solution involves only passing AST_CONTROL_RINGING
frames across local channels if the local channel is in AST_STATE_RING.
Otherwise, the frame does not traverse the local channels. By doing
this, we can ensure that a playtones generator does not get started on
the calling channel but rather is started on the local channel on which
the ringing frame was initially indicated.

ASTERISK-25250 #close
Reported by Etienne Lessard

Change-Id: I3bc87a18a38eb2b68064f732d098edceb5c19f39
main/core_unreal.c