[Home]

Summary:ASTERISK-25181: ARI: Channels added to Stasis application during WebSocket creation don't receive a StasisStart event
Reporter:Matt Jordan (mjordan)Labels:
Date Opened:2015-06-22 09:31:04Date Closed:2015-07-31 12:00:22
Priority:MajorRegression?
Status:Closed/CompleteComponents:Resources/res_ari Resources/res_stasis
Versions:13.4.0 Frequency of
Occurrence
Related
Issues:
is caused byASTERISK-24988 func_talkdetect: Test is bouncing sporadically
Environment:Attachments:( 0) asterisk_full.txt
( 1) asterisk_messages.txt
( 2) testsuite_messages.txt
Description:While fixing ASTERISK-24988 did fix the race condition where a channel is bounced out of the Stasis application due to the WebSocket being connected but the application not being registered, it has introduced another problem where a StasisStart event is not emitted for a channel.

Consider the following scenario:
# A WebSocket connection is started. Before the upgrade response is sent back, we register the Stasis application with {{res_stasis}}, such that any channel that joins after the upgrade notice is accepted.
# A channel hits the dialplan application and is put into Stasis, as the application is registered
# *HOWEVER* - because the WebSocket TCP connection isn't made, the StasisStart event cannot be sent. This causes the channel to enter Stasis with no notification to the (eventually) connected application.

Logs showing this are attached. Note that this was also caught by the same TalkDetect test in the TestSuite.
Comments: