<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://reviewboard.asterisk.org/r/3155/">https://reviewboard.asterisk.org/r/3155/</a>
     </td>
    </tr>
   </table>
   <br />










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On January 29th, 2014, 9:34 a.m. CST, <b>Matt Jordan</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://reviewboard.asterisk.org/r/3155/diff/3/?file=53245#file53245line203" style="color: black; font-weight: bold; text-decoration: underline;">branches/11/apps/confbridge/conf_state_multi_marked.c</a>
    <span style="font-weight: normal;">

     (Diff revision 3)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static void leave_marked(struct conference_bridge_user *cbu)</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">198</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="tb">  </span><span class="tb">  </span><span class="n">conf_get_sound</span><span class="p">(</span><span class="n">CONF_SOUND_BEGIN</span><span class="p">,</span> <span class="n">cbu</span><span class="o">-></span><span class="n">b_profile</span><span class="p">.</span><span class="n">sounds</span><span class="p">));</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I don't think this is the right sound file. Whey aren't we playing CONF_SOUND_PLACE_IN_CONF to all of the users?

The point of this is that the person being notified that they are being placed into the conference is the marked user, and not all other users who might be waiting. Why would we need a new sound prompt for this when we have one that says "You are now being placed into the conference?"

Note that the documentation for this sound already says when it should be played:

;sound_place_into_conference ; The sound played when someone is placed into the conference
                             ; after waiting for a marked user.


Also: this code change should take into account the EMPTY state. Currently, that plays the prompt to the marked user as well, which is wrong.</pre>
 </blockquote>



 <p>On January 30th, 2014, 3:18 p.m. CST, <b>opticron</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The CONF_SOUND_PLACE_IN_CONF sound doesn't make sense to conference users who are already in the conference, are not waitmarked, and can already talk to each other so another available prompt was chosen.</pre>
 </blockquote>





 <p>On January 30th, 2014, 3:21 p.m. CST, <b>Matt Jordan</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Who all are you playing this to?

The bug here is that the sound is being played to marked users, which doesn't make any sense.

It should be played for waitmarked users, and waitmarked users only. Playing anything else to any other user doesn't make much sense, as those users would join for any other type of user (normal or marked).</pre>
 </blockquote>





 <p>On January 30th, 2014, 3:30 p.m. CST, <b>opticron</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This sound is now being played to the entire conference after waitmarked users have joined since the way confbridge is setup does not allow for sounds to be played to a subset of users in a conference in an asynchronous manner while simultaneously maintaining mixing for the remainder of the conference.</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">While that makes sense, it is a breaking change to the configuration. Granted, the option didn't really work properly, but the documentation for that sound file is now completely wrong. What's more, there's now dead code in ConfBridge that should never be called.
 - there's no point playing it in conf_state_emtpy: join_marked, as that is being played to the marked user
 - there's no point playing it in conf_state_empty: conf_handle_first_marked_common

So, if you go the route of a new sound file, and change the behaviour, you need to:
1. Add a note to the UPGRADE file noting the change and the new sound file. You should also note that it is played to all users, both waitmarked and those who have no mark. (The note in the sample config is fine)
2. The set_sound config handler should treat sound_place_into_conference as deprecated. It should warn that the sound is no longer played, and that sound_begin is now played.
3. You should remove the callbacks that explicitly played that sound file.

When this goes in, make sure you also update the wiki documentation for ConfBridge (the increasingly inaptly named ConfBridge 10 page)</pre>
<br />




<p>- Matt</p>


<br />
<p>On January 29th, 2014, 8:26 a.m. CST, opticron wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers.</div>
<div>By opticron.</div>


<p style="color: grey;"><i>Updated Jan. 29, 2014, 8:26 a.m.</i></p>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="https://issues.asterisk.org/jira/browse/PQ-1396">PQ-1396</a>


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
Asterisk
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Currently, when the first marked user enters the conference that contains waitmarked users, a prompt is played indicating that the user is being placed into the conference. Unfortunately, this prompt is played to the marked user and not the waitmarked users which is not very helpful.

This patch changes that behavior to play a prompt stating "The conference will now begin" to the entire conference after adding and unmuting the waitmarked users since the design of confbridge is not conducive to playing a prompt to a subset of users in a conference in an asynchronous manner.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Verified that the prompt is heard by users already in the conference when a marked user enters and that ConfBridge tests pass with modified event expectations.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>branches/11/configs/confbridge.conf.sample <span style="color: grey">(406774)</span></li>

 <li>branches/11/apps/confbridge/include/confbridge.h <span style="color: grey">(406774)</span></li>

 <li>branches/11/apps/confbridge/conf_state_multi_marked.c <span style="color: grey">(406774)</span></li>

 <li>branches/11/apps/confbridge/conf_config_parser.c <span style="color: grey">(406774)</span></li>

 <li>branches/11/apps/app_confbridge.c <span style="color: grey">(406774)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/3155/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>