asterisk/res/stasis
Kinsey Moore 74e706878b Stasis: Fix StasisEnd message ordering
This change corrects message ordering in cases where a channel-related
message can be received after a Stasis/ARI application has received the
StasisEnd message. The StasisEnd message was being passed to
applications directly without waiting for the channel topic to empty.

As a result of this fix, other bugs were also identified and fixed:
* StasisStart messages were also being sent directly to apps and are
  now routed through the stasis message bus properly
* Masquerade monitor datastores were being removed at the incorrect
  time in some cases and were causing StasisEnd messages to not be sent
* General refactoring where necessary for the above
* Unsubscription on StasisEnd timing changes to prevent additional
  messages from following the StasisEnd when they shouldn't

A channel sanitization function pointer was added to reduce processing
and AO2 lookups.

Review: https://reviewboard.asterisk.org/r/4163/
ASTERISK-24501 #close
Reported by: Matt Jordan
........

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@427790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-11-13 15:46:48 +00:00
..
app.c Stasis: Fix StasisEnd message ordering 2014-11-13 15:46:48 +00:00
app.h Stasis: Fix StasisEnd message ordering 2014-11-13 15:46:48 +00:00
command.c ARI: Fix a crash caused by hanging during playback to a channel in a bridge 2014-08-22 16:52:51 +00:00
command.h ARI: Fix a crash caused by hanging during playback to a channel in a bridge 2014-08-22 16:52:51 +00:00
control.c ARI: Fix a crash caused by hanging during playback to a channel in a bridge 2014-08-22 16:52:51 +00:00
control.h Stasis: Convey transfer information to applications 2014-08-07 15:30:19 +00:00
messaging.c stasis: Fix compilation issue with ao2 tagged objects 2014-08-05 21:48:05 +00:00
messaging.h Clean up files that do not end with newlines 2014-08-21 14:52:28 +00:00
stasis_bridge.c Stasis: Fix StasisEnd message ordering 2014-11-13 15:46:48 +00:00
stasis_bridge.h ARI: Make mixing bridges propagate linkedids and accountcodes. 2014-07-09 16:34:51 +00:00