[Home]

Summary:ASTERISK-27012: app_confbridge: ConfBridge sometimes does not play user name recording while leaving
Reporter:Robert Mordec (veilen)Labels:
Date Opened:2017-05-22 04:25:02Date Closed:2017-06-01 09:19:17
Priority:MinorRegression?
Status:Closed/CompleteComponents:Applications/app_confbridge
Versions:13.15.0 Frequency of
Occurrence
Occasional
Related
Issues:
Environment:Attachments:
Description:If confbridge is configured with *announce_join_leave* option set to _yes_, it records announcements with names of entering users and then plays them while users enter or leave the conference.

When user leaves a conference, its channel calls *async_play_sound_file()* function in order to play the name announcement and then unlinks the sound file with _ast_filedelete()_. The _async_play_sound_file()_ function adds a task to conference playback queue, which then runs _playback_common()_ function in a different thread. It leads to a race condition when in some cases the channel thread may unlink the sound file *before* _playback_common()_ had a chance to open it.

If that is the case the announcement is not played and CLI contains two warnings:

{quote}
WARNING[18085]: file.c:774 ast_openstream_full: File /mnt/storage/asterisk/confbridge/confbridge-name-9200-1495182274.23064 does not exist in any format
WARNING[18085]: file.c:1247 ast_streamfile: Unable to open /mnt/storage/asterisk/confbridge/confbridge-name-9200-1495182274.23064 (format (slin)): No such file or directory
{quote}
Comments:By: Asterisk Team (asteriskteam) 2017-05-22 04:25:04.531-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Robert Mordec (veilen) 2017-05-22 04:34:42.654-0500

It seems to me, that *ast_filedelete()* function should have its own task that could be added to conference playback queue. I'll see if I can create a feasible patch for this.

By: Joshua C. Colp (jcolp) 2017-05-22 07:15:46.265-0500

[~veilen] Indeed, that seems like the correct solution.

By: Friendly Automation (friendly-automation) 2017-06-01 09:19:18.147-0500

Change 5683 merged by Jenkins2:
app_confbridge: Race between removing and playing name recording while leaving

[https://gerrit.asterisk.org/5683|https://gerrit.asterisk.org/5683]

By: Friendly Automation (friendly-automation) 2017-06-01 10:03:26.240-0500

Change 5684 merged by Joshua Colp:
app_confbridge: Race between removing and playing name recording while leaving

[https://gerrit.asterisk.org/5684|https://gerrit.asterisk.org/5684]

By: Friendly Automation (friendly-automation) 2017-06-01 14:44:54.236-0500

Change 5685 merged by George Joseph:
app_confbridge: Race between removing and playing name recording while leaving

[https://gerrit.asterisk.org/5685|https://gerrit.asterisk.org/5685]