<div dir="ltr"><div class="gmail_default" style="color:#660000">+1 on #3</div><div class="gmail_default" style="color:#660000"><br></div><div class="gmail_default" style="color:#660000">The web api should not be as cumbersome as telephony signalling, but enforcing an explicit answer is still the right call because of it's implications.  You could also add an answer option to a playback to reduce api interaction steps and delay - as in, I want to play this greeting, but answer the call first.  Or even the other way around - answer with a playback option.  Answer must be "signalled", but there could be an advantage to doing both answer in playback in one operation because 90% of the time that's the first thing you're going to do.</div>
<div class="gmail_default" style="color:#660000"><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Oct 25, 2013 at 9:10 AM, Matthew Jordan <span dir="ltr"><<a href="mailto:mjordan@digium.com" target="_blank">mjordan@digium.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote"><div class="im">On Fri, Oct 25, 2013 at 9:01 AM, Joshua Colp <span dir="ltr"><<a href="mailto:jcolp@digium.com" target="_blank">jcolp@digium.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">A further follow-up on answer/progress...<br>
<br>
There's really 3 options we can do and people have differing views so let's hash it out.<br>
<br>
The options are as follows:<br>
<br>
1. Media operations implicitly answer but have an option not to.<br>
<br>
2. Media operations do not implicitly answer or send progress indication. The /answer or /progress operations must be invoked or the behavior is less than defined.<br>
<br>
3. Media operations send progress if unanswered and not already sent. Answering requires explicit call to /answer<br>
<br>
We need to pick one of those and stick with it.<div><br></div></blockquote><div><br></div></div><div>My preference is number 3.</div><div><br></div><div>Answering should usually be explicit, as the act of answering usually indicates to billing systems to start billing. It is also an indication that bidirectional audio should now be possible. Implicitly answering - unless there's no other options - feels like it should be avoided when possible to avoid confusion with other external systems.</div>

<div><br></div><div>Progress as a concept is a signalling implementation detail. If you're in a Stasis application, you've clearly established some connection with Asterisk; the fact that a progress indication is necessary for some channel drivers to update media information is a leaky abstraction from multiple signalling protocols up through the API. You could design a signalling protocol that never needed a progress indication when media is sent from Asterisk to the device prior to being answered. That's why I'm not a giant fan of Progress in the API - it feels like it's a somewhat necessary evil for things like SIP, but completely unnecessary for other potential signalling schemes.</div>

<div><br></div><div>And if I'm not a telephony guy and I want to make use of Asterisk to power my business communications, do I really want to know that I have to call /progress before I issue a /playback on a channel that I haven't answered yet? To me, that just feels cumbersome.</div>

<div><br></div><div>I don't feel so strongly about this that I would be unhappy with /progress being present, but I'd love to find a way for it to not be necessary.</div><div><br></div><div>
Matt</div></div><span class="HOEnZb"><font color="#888888"><div><br></div>-- <br></font></span><div dir="ltr"><div class="im"><div>Matthew Jordan<br></div><div>Digium, Inc. | Engineering Manager</div></div><div class="im">
<div>445 Jan Davis Drive NW - Huntsville, AL 35806 - USA</div></div><div class="im"><div>Check us out at: <a href="http://digium.com" target="_blank">http://digium.com</a> & <a href="http://asterisk.org" target="_blank">http://asterisk.org</a></div>

</div></div>
</div></div>
<br>_______________________________________________<br>
asterisk-app-dev mailing list<br>
<a href="mailto:asterisk-app-dev@lists.digium.com">asterisk-app-dev@lists.digium.com</a><br>
<a href="http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev" target="_blank">http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><img alt="Digium logo" src="https://my.digium.com/images/graphics/digium_RGB_signature.gif" width="288" height="50" style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:12px"><br style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:12px">
<strong style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:12px">Scott Griepentrog</strong><br style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:12px"><span style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:12px">Digium, Inc · Software Developer</span><br style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:12px">
<span style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:12px">445 Jan Davis Drive NW · Huntsville, AL 35806 · US</span><br style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:12px">
<span style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:12px">direct/fax: +1 256 428 6239 · mobile: +1 317 507 4029</span><br style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:12px">
<span style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:12px">Check us out at: </span><a href="http://www.digium.com" style="font-family:Arial,Helvetica,sans-serif;font-size:12px" target="_blank">http://digium.com</a><span style="color:rgb(0,0,0);font-family:Arial,Helvetica,sans-serif;font-size:12px"> · </span><a href="http://www.asterisk.org" style="font-family:Arial,Helvetica,sans-serif;font-size:12px" target="_blank">http://asterisk.org</a><br>
</div>
</div>