<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/3427/">https://reviewboard.asterisk.org/r/3427/</a>
     </td>
    </tr>
   </table>
   <br />










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 15th, 2014, 10:21 a.m. CDT, <b>Joshua Colp</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/3427/diff/3/?file=57210#file57210line1128" style="color: black; font-weight: bold; text-decoration: underline;">/branches/12/main/app.c</a>
    <span style="font-weight: normal;">

     (Diff revision 3)

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



 
 

 <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">1128</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="n">ts</span> <span class="o">=</span> <span class="n">ast_get_indication_tone</span><span class="p">(</span><span class="n">ast_channel_zone</span><span class="p">(</span><span class="n">chan</span><span class="p">),</span> <span class="n">tone</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;">This doesn't allow the tone zone to be specified by the user, restricting us to US only. This needs to be made configurable somehow.</pre>
 </blockquote>



 <p>On April 15th, 2014, 10:52 a.m. CDT, <b>Jonathan Rose</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;">So I actually was thinking a bit on this... I thought about adding tonezone as a field to the play function, but that seems like it's a little URI specific.  Would it be appropriate maybe to repurpose the language field in this case? I know languages are distinct from tonezones though... It was mentioned elsewhere in this review that forming the arguments in the URI is also bad form.

That said, I think tonezone can be set at the channel level can't it? Via the CHANNEL(tonezone) function.</pre>
 </blockquote>





 <p>On April 15th, 2014, 10:52 a.m. CDT, <b>Jonathan Rose</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;">Of course, that's still a problem for announcer channels on bridges.  Crap.</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;">Sometimes, there's no way around having to add something to either the URI or as a parameter passed into the operation. C'est la vie.

I'd personally add it as an option to the URI. Something along the lines of:

POST /channels/{id}/play?media=tone:240/250,0/250;tonezone=de
</pre>
<br />




<p>- Matt</p>


<br />
<p>On April 10th, 2014, 3:55 p.m. CDT, Jonathan Rose 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, David Lee, Joshua Colp, and Matt Jordan.</div>
<div>By Jonathan Rose.</div>


<p style="color: grey;"><i>Updated April 10, 2014, 3:55 p.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/ASTERISK-23433">ASTERISK-23433</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;">Adds a tones URI type to the playback resource. The tone can be specified by name (from indications.conf) or by a tone pattern (comma separate pitch/duration list). Tones aren't like regular sounds in that they must be canceled manually before the control can move on to the next item in the queue.

Tones are capable of being paused and resumed (although they will always resumed from the beginning of the tone), restarted, and stopped.  Tones are not capable of being fastforwarded, skipped into by a duration, or rewound by a small amount. Those operations unfortunately report success rather than a lack of availability right now due to how control on playbacks is defined (a playback is either completely controllable or not). I could probably add a little more granularity to that if we want it.</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;">I've written two testsuite tests (one for channels, one for bridges) which queue and stop tones with playback. I'll be posting them before too long.  I've also performed all the basic control operations by hand.</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/12/rest-api/api-docs/channels.json <span style="color: grey">(412061)</span></li>

 <li>/branches/12/rest-api/api-docs/bridges.json <span style="color: grey">(412061)</span></li>

 <li>/branches/12/res/res_stasis_playback.c <span style="color: grey">(412061)</span></li>

 <li>/branches/12/res/ari/resource_channels.h <span style="color: grey">(412061)</span></li>

 <li>/branches/12/res/ari/resource_bridges.h <span style="color: grey">(412061)</span></li>

 <li>/branches/12/main/app.c <span style="color: grey">(412061)</span></li>

 <li>/branches/12/include/asterisk/app.h <span style="color: grey">(412061)</span></li>

 <li>/branches/12/CHANGES <span style="color: grey">(412061)</span></li>

</ul>

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







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








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