[asterisk-bugs] [Asterisk 0013747]: Indications are not passed from old peer to new peer during masquerade
Asterisk Bug Tracker
noreply at bugs.digium.com
Mon Dec 15 08:31:34 CST 2008
A NOTE has been added to this issue.
======================================================================
http://bugs.digium.com/view.php?id=13747
======================================================================
Reported By: davidw
Assigned To: russell
======================================================================
Project: Asterisk
Issue ID: 13747
Category: Core/Channels
Reproducibility: always
Severity: major
Priority: normal
Status: assigned
Asterisk Version: 1.6.0
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Disclaimer on File?: N/A
Request Review:
======================================================================
Date Submitted: 2008-10-20 13:04 CDT
Last Modified: 2008-12-15 08:31 CST
======================================================================
Summary: Indications are not passed from old peer to new peer
during masquerade
Description:
We want to transfer a channel that is already indicating (typically
ringing) to a parked channel, which we do with AMI Originate. When we do
this, the person on the parked channel has MOH changed to silence until the
ringing channel answers, or otherwise changes indication.
It looks to me as though there may have been some attempt to support this,
but it looks like it copies the indications at the wrong end of the
masquerade.
======================================================================
Relationships ID Summary
----------------------------------------------------------------------
related to 0012548 SIP channel protocol illegally reverses...
======================================================================
----------------------------------------------------------------------
(0096376) svnbot (reporter) - 2008-12-15 08:31
http://bugs.digium.com/view.php?id=13747#c96376
----------------------------------------------------------------------
Repository: asterisk
Revision: 164201
U branches/1.4/main/channel.c
U branches/1.4/res/res_features.c
------------------------------------------------------------------------
r164201 | russell | 2008-12-15 08:31:32 -0600 (Mon, 15 Dec 2008) | 31
lines
Handle a case where a call can be bridged to a channel that is still
ringing.
The issue that was reported was about a case where a RINGING channel got
redirected to an extension to pick up a call from parking. Once the
parked
call got taken out of parking, it heard silence until the other side
answered.
Ideally, the caller that was parked would get a ringing indication. This
patch
fixes this case so that the caller receives ringback once it comes out of
parking until the other side answers.
The fixes are:
- Make sure we remember that a channel was an outgoing channel when doing
a masquerade. This prevents an erroneous ast_answer() call on the
channel,
which causes a bogus 200 OK to be sent in the case of SIP.
- Add some additional comments to explain related parts of code.
- Update the handling of the ast_channel visible_indication field.
Storing
values that are not stateful is pointless. Control frames that are
events
or commands should be ignored.
- When a bridge first starts, check to see if the peer channel needs to
be
given ringing indication because the calling side is still ringing.
- Rework ast_indicate_data() a bit for the sake of readability.
(closes issue http://bugs.digium.com/view.php?id=13747)
Reported by: davidw
Tested by: russell
Review: http://reviewboard.digium.com/r/90/
------------------------------------------------------------------------
http://svn.digium.com/view/asterisk?view=rev&revision=164201
Issue History
Date Modified Username Field Change
======================================================================
2008-12-15 08:31 svnbot Note Added: 0096376
======================================================================
More information about the asterisk-bugs
mailing list