-
- Downloads
Stasis: Fix StasisStart/End order and missing events
This corrects several bugs that currently exist in the stasis application code. * After a masquerade, the resulting channels have channel topics that do not match their uniqueids ** Masquerades now swap channel topics appropriately * StasisStart and StasisEnd messages are leaked to observer applications due to being published on channel topics ** StasisStart and StasisEnd publishing is now properly restricted to controlling apps via app topics * Race conditions exist where StasisStart and StasisEnd messages due to a masquerade may be received out of order due to being published on different topics ** These messages are now published directly on the app topic so this is now a non-issue * StasisEnds are sometimes missing when sent due to masquerades and bridge swaps into and out of Stasis() ** This was due to StasisEnd processing adjusting message-sent flags after Stasis() had already exited and Stasis() had been re-entered ** This was corrected by adjusting these flags prior to sending the message while the initial Stasis() application was still shutting down Review: https://reviewboard.asterisk.org/r/4213/ ASTERISK-24537 #close Reported by: Matt DiMeo ........ Merged revisions 429061 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 429062 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@429063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Showing
- include/asterisk/channel.h 11 additions, 0 deletionsinclude/asterisk/channel.h
- main/channel.c 3 additions, 0 deletionsmain/channel.c
- main/channel_internal_api.c 9 additions, 0 deletionsmain/channel_internal_api.c
- res/res_stasis.c 23 additions, 43 deletionsres/res_stasis.c
- res/stasis/app.c 0 additions, 28 deletionsres/stasis/app.c
- res/stasis/app.h 0 additions, 24 deletionsres/stasis/app.h
- res/stasis/stasis_bridge.c 1 addition, 0 deletionsres/stasis/stasis_bridge.c
Loading
Please register or sign in to comment