stasis_channels.c: Resolve unfinished Dials when doing masquerades (Part 2)
authorRichard Mudgett <rmudgett@digium.com>
Tue, 14 Oct 2014 16:43:33 +0000 (16:43 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Tue, 14 Oct 2014 16:43:33 +0000 (16:43 +0000)
commitc61b66e1073f0cfdb97fd6788a6aacd8de6b9381
treea8917aa94aa86a9d8bd32c9c1d4f6c10c38b1874
parent01bdc8047509b19792bd3288fd9045382fe550aa
stasis_channels.c: Resolve unfinished Dials when doing masquerades (Part 2)

Masquerades into and out of channels that are involved in a dial operation
don't create the expected dial end event.  The missing dial end event goes
against the model for things like CDRs and generating Dial end manager
actions and such.

There are four cases:

1) A channel masquerades into the caller channel.  The case happens when
performing a blonde transfer using the channel driver's protocol.

2) A channel masquerades into a callee channel.  The case happens when
performing a directed call pickup.

3) The caller channel masquerades out of dial.  The case happens when
using the Bridge application on the caller channel.

4) A callee channel masquerades out of dial.  The case happens when using
the Bridge application on a peer channel.

As it turned out, all four cases need to be handled instead of just the
first one.

ASTERISK-24237
Reported by: Richard Mudgett

ASTERISK-24394 #close
Reported by: Richard Mudgett

Review: https://reviewboard.asterisk.org/r/4066/
........

Merged revisions 425430 from http://svn.asterisk.org/svn/asterisk/branches/12
........

Merged revisions 425455 from http://svn.asterisk.org/svn/asterisk/branches/13

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