<p dir="ltr"><br>
On 1 Nov 2013 13:15, "Joshua Colp" <<a href="mailto:jcolp@digium.com">jcolp@digium.com</a>> wrote:<br>
><br>
> Matthew Jordan wrote:<br>
>><br>
>> I'm not entirely sure of this approach.<br>
>><br>
>> On the one hand, having a nice, clean virtual channel driver that has<br>
>> this explicit purpose is a nice convenience - it is certainly easier to<br>
>> manipulate than a Local channel (both halves).<br>
>><br>
>> On the other hand, it feels like it limits the usage of /snoop a bit,<br>
>> and makes it a bit more complicated to construct some scenarios. For<br>
>> example, if I want a SIP channel to spy on another SIP channel, I have to:<br>
>><br>
>> (1) Make a bridge<br>
>> (2) Put my SIP channel in it<br>
>> (3) Call /snoop on the channel I want to spy on<br>
>> (4) Take the Snoop channel and put it in the bridge<br>
><br>
><br>
> That's an application. The act of spying on another channel is an application, that's what I'm trying to avoid because it limits things (take for example all of the gotchas you put in your description) and also means we now have to continue to add features to this operation. By providing the snoop as a media conduit primitive we give more control. That does come at the cost of having to do the above.<br>

><br>
><br>
>> That's not onerous, but it is a bit more complicated than having /snoop<br>
>> be an operation on any channel.<br>
><br>
><br>
> Well, it'll be an operation on any channel - it just won't take another channel as an argument and connect them together for spying. ^_^<br>
><br>
><br>
>> I do worry as well that a specific channel driver may have its own rules<br>
>> that have to be followed via ARI. The lifetime of a Snoop channel would<br>
>> have to be defined carefully as well - once the channel it is hooked<br>
>> onto is disposed of, you'd almost certainly have to dispose of the Snoop<br>
>> channel automatically as well - you don't really "control" the end of<br>
>> the Snoop channel that was hooked onto the real channel.<br>
><br>
><br>
> Correct, when the hooks that snoop uses are terminated then it would hangup. If you want to stop snooping, then you hangup the snoop channel yourself.<br>
><br>
><br>
>> I wonder if we're not providing another convenience mechanism similar to<br>
>> /dial - only this time in the form of a specific channel driver.<br>
><br>
><br>
> I would say the original approach is the convenience mechanism.<br>
><br>
><br>
> -- <br>
> Joshua Colp<br>
> Digium, Inc. | Senior 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><br>
><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">http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev</a></p>
<p dir="ltr">So thinking outside of the box,</p>
<p dir="ltr">Is chan spy an application written, using the ari, which creates a way to do all this as a convenience method as such</p>
<p dir="ltr">It would do exactly as matt said, create a channel, put it in the bridge for you etc, yes you'd need to be able to control channel audio /speech direction but then that's a setting against a bridge/channel combo...</p>

<p dir="ltr">I'm in between laptops for a few days due to moving work, so sorry if this makes no sense whatsoever</p>