Merged revisions 170392 via svnmerge from
authorMark Michelson <mmichelson@digium.com>
Fri, 23 Jan 2009 15:44:27 +0000 (15:44 +0000)
committerMark Michelson <mmichelson@digium.com>
Fri, 23 Jan 2009 15:44:27 +0000 (15:44 +0000)
commitdccc06063f5237cae257149abc3e719303be1aed
tree3ecb5c096bb4aa4051c2585280d66bb66ebd6344
parent55fd5f2d2d32b9831c3ed49f333ac8f1bd652c7d
Merged revisions 170392 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r170392 | mmichelson | 2009-01-23 09:40:39 -0600 (Fri, 23 Jan 2009) | 28 lines

Fix broken call pickup

There was a subtle change in ast_do_masquerade which
resulted in failed attempts to pickup calls. The problem
was that the value of the AST_FLAG_OUTGOING flag was
copied from the clone to the original channel. In the case
of call pickup, this meant that the AST_FLAG_OUTGOING flag
ended up being cleared on the channel that was attempting
to execute the pickup.

Because this flag was not set, when ast_read came across
an answer frame, it ignored it. The result of this was that
the calling channel was never properly answered.

This fix changes the behavior in ast_do_masquerade to set
the flags on the original channel to the union of the flags
on the clone channel. This way, if the AST_FLAG_OUTGOING
flag is set on either of the two channels involved in the
masquerade, the resulting channel will have the flag set
as well.

(closes issue #14206)
Reported by: francesco_r
Patches:
      14206.patch uploaded by putnopvut (license 60)
Tested by: francesco_r, aragon, putnopvut

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@170393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
main/channel.c