<div dir="ltr">On Tue, Oct 15, 2013 at 11:38 PM, Matthew Jordan <span dir="ltr"><<a href="mailto:mjordan@digium.com" target="_blank">mjordan@digium.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<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">On Tue, Oct 15, 2013 at 5:14 PM, Paul Belanger <span dir="ltr"><<a href="mailto:paul.belanger@polybeacon.com" target="_blank">paul.belanger@polybeacon.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>On Tue, Oct 15, 2013 at 3:35 PM, David M. Lee <<a href="mailto:dlee@digium.com" target="_blank">dlee@digium.com</a>> wrote:<br>


><br>
> On Oct 15, 2013, at 12:24 PM, Paul Belanger <<a href="mailto:paul.belanger@polybeacon.com" target="_blank">paul.belanger@polybeacon.com</a>> wrote:<br>
><br>
>> On Tue, Oct 15, 2013 at 1:07 PM, Joshua Colp <<a href="mailto:jcolp@digium.com" target="_blank">jcolp@digium.com</a>> wrote:<br>
>>> Paul Belanger wrote:<br></div></blockquote><div><br></div><div><snip></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div></div>
<div><br>
> And you would have to pass the bridgeId into the DELETE, and passing<br>
> params into deletes is just freaky.<br>
><br>
</div>Ya, this is still an issue I guess. Can a channel live within more<br>
then one bridge? I don't think it can right? So, if DELETE<br>
/channels/{channelId}/bridge asterisk would have to look for said<br>
channel.  Not sure that is the right approach either.<br>
<div><br></div></blockquote><div><br></div><div>Nope. Having a channel exist in multiple bridges would have been cool, but would have required another year of development (if not more).</div><div><br>
</div><div>There's two reasons why a channel joining a bridge should be an operation on a bridge, and not a channel:</div><div>(1) The first is what you just pointed out: a channel can only be in one bridge, but a bridge can have many channels. Thus calling addChannel on multiple channels is acceptable; calling bridge on a channel multiple times is not.<br>

</div><div>(2) Following that, from an OO perspective (which we have going with our resources and their properties/relationships), what changes is the bridge, not the channel. The bridge assumes ownership of the channel; hence it should be operations on the bridge that take ownership and release it.<br>

</div><div>(2)  A bridge is not a state that a channel is in, which /channels/{id}/bridge implies. A bridge is an object. It has its own lifetime, properties, and state. Saying "bridge some channels" is actually a misnomer now: channels are in a bridge, they may have a bridge supporting them, but the bridge itself is a thing and the channels are just along for the ride.</div>

<div><br></div><div>I know that's a pretty sharp departure from previous versions of Asterisk, and goes against the grain of how we think about calls and channels and bridging: but I think it's important that we reflect that, particularly as we flesh out more complicated bridge technologies.</div>
<span class="HOEnZb"><font color="#888888">
<div><br></div></font></span></div><span class="HOEnZb"><font color="#888888">-- <br><div dir="ltr"><div>Matthew Jordan<br></div><div>Digium, Inc. | Engineering Manager</div><div>445 Jan Davis Drive NW - Huntsville, AL 35806 - USA</div>
<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>
</font></span></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></div><div class="gmail_extra"><br></div><div class="gmail_extra">I've just realised, that routes in the ARI contain verbs... like "add" in "addChannel"</div><div class="gmail_extra">
<br></div><div class="gmail_extra">I know Mr Lee said that he didn't go full on HATEAOS style, but your verbs are meant to be your GET, POST, PUT and DELETE methods and so the fact you're doing a post means create and the fact you're doing PUT means you're adding...</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Is this a rabbit hole we want to go down? I just don't like routes that contain verbs, it feels messy to me.</div><div class="gmail_extra"><br></div><div class="gmail_extra">
But again, it's whatever is right for the particular API, and I may be talking absolute BS when it comes to how it relates to Asterisk...</div><div class="gmail_extra"><br></div><div class="gmail_extra">Dan</div><div class="gmail_extra">
<br></div></div>