<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>In ARI, there's a convenience operations /channels/{id}/dial[1], which</div><div>was provided as a simple way to dial and bridge in a single operation.</div><div>I propose that we KILL IT DEAD. Right now. Before it's too late.</div><div><br></div><div>Firstly, we already have a method for originating new channels: POST</div><div>/channels. Having two operations that effectively do the same thing is</div><div>evidence of silliness.</div><div><br></div><div>Secondly, as we see folks discussing how they think about ARI, it's</div><div>not really a great fit. People love the idea that they can create</div><div>their own bridges, and freely move channels into and out of them. The</div><div>implicit bridge created in the dial operation gets in the way of that.</div><div><br></div><div>There is also a lot of hidden complexity that I believe will get</div><div>exposed over time. As evidence, I present to you: The Dial dialplan</div><div>application[2]. The number and combination of options on Dial are</div><div>dizzying. All the possible scenarios of handling what might happen on</div><div>the channel you have, the outgoing dial and the bridge combine into a</div><div>big mess.</div><div><br></div><div>Dealing with each of these individually in your application, however,</div><div>is much cleaner. It gives the application developer more control over</div><div>the process, and simplifies the interface.</div><div><br></div><div>The one thing that we can think of that would be missing if we removed</div><div>the /dial operation would be the ability to indicate ringing to the</div><div>dialing channel. But I heard a rumor that someone might have a patch</div><div>for this in the works (/me glances at file).</div><div><br></div><div>So, thoughts? If we can provide the underlying originate, bridge and</div><div>indicate operations that /dial is doing for you, is there any</div><div>compelling reason to keep it around?</div><div><br></div><div> [1]: <a href="https://wiki.asterisk.org/wiki/x/mIBbAQ#Asterisk12ChannelsRESTAPI-dial">https://wiki.asterisk.org/wiki/x/mIBbAQ#Asterisk12ChannelsRESTAPI-dial</a></div><div> [2]: <a href="https://wiki.asterisk.org/wiki/x/HwGUAQ">https://wiki.asterisk.org/wiki/x/HwGUAQ</a></div><div><br></div><div apple-content-edited="true">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">-- <br>David M. Lee<br>Digium, Inc. | Software Developer<br>445 Jan Davis Drive NW - Huntsville, AL 35806 - USA<br>Check us out at:  <a href="http://www.digium.com">www.digium.com</a>  & <a href="http://www.asterisk.org">www.asterisk.org</a></div>
</div>
<br></body></html>