Play conf-placeintoconf message to the correct channel
authorKinsey Moore <kmoore@digium.com>
Tue, 1 May 2012 19:10:48 +0000 (19:10 +0000)
committerKinsey Moore <kmoore@digium.com>
Tue, 1 May 2012 19:10:48 +0000 (19:10 +0000)
Correct the code in app_confbridge to play the conf-placeintoconf message to
the marked user entering the bridge instead of to the conference while the
marked user hears silence.

(closes issue ASTERISK-19641)
Reported-by: Mark A Walters
........

Merged revisions 364786 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 364787 from http://svn.asterisk.org/svn/asterisk/branches/10

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

apps/app_confbridge.c

index 866042c..2e7d8fc 100644 (file)
@@ -745,12 +745,12 @@ static int post_join_marked(struct conference_bridge *conference_bridge, struct
 
                /* Next play the audio file stating they are going to be placed into the conference */
                if (!ast_test_flag(&conference_bridge_user->u_profile, USER_OPT_QUIET)) {
-                       ao2_unlock(conference_bridge);
-                       ast_autoservice_start(conference_bridge_user->chan);
-                       play_sound_file(conference_bridge,
-                               conf_get_sound(CONF_SOUND_PLACE_IN_CONF, conference_bridge_user->b_profile.sounds));
-                       ast_autoservice_stop(conference_bridge_user->chan);
-                       ao2_lock(conference_bridge);
+                       if (play_prompt_to_channel(conference_bridge,
+                               conference_bridge_user->chan,
+                               conf_get_sound(CONF_SOUND_PLACE_IN_CONF, conference_bridge_user->b_profile.sounds))) {
+                               /* user hungup while the sound was playing */
+                               return -1;
+                       }
                }
 
                /* Finally iterate through and unmute them all */