[asterisk-app-dev] Implementation of ChanSpy functionality in ARI
Matthew Jordan
mjordan at digium.com
Fri Nov 1 08:09:58 CDT 2013
On Fri, Nov 1, 2013 at 7:17 AM, Joshua Colp <jcolp at digium.com> wrote:
> Matthew Jordan wrote:
>
>>
>> {quote}
>> Whispering or live monitoring becomes creating a snoop channel, creating
>> a bridge, and putting another channel in the bridge.
>> {quote}
>>
>> Do you envision the /snoop operation working on multiple channel
>> technologies? Or is the snoop-ing channel a specific technology? The way
>> that's worded, it makes it sound as if you could not use one SIP channel
>> to snoop on another SIP channel directly.
>>
>
> The /snoop operation will work on any channel technology. The channel it
> returns is a specific channel implementation called Snoop. Since you can
> bridge any technology with any technology anything can act as an active
> spyer.
>
> The fundamental difference with this approach is that it's not an
> operation which performs "channel A spies on channel B". It's an operation
> which performs "provide me a conduit to snoop the media becing received or
> sent on channel B". What that conduit ends up being connected to is up to
> the application developer.
>
>
I'm not entirely sure of this approach.
On the one hand, having a nice, clean virtual channel driver that has this
explicit purpose is a nice convenience - it is certainly easier to
manipulate than a Local channel (both halves).
On the other hand, it feels like it limits the usage of /snoop a bit, and
makes it a bit more complicated to construct some scenarios. For example,
if I want a SIP channel to spy on another SIP channel, I have to:
(1) Make a bridge
(2) Put my SIP channel in it
(3) Call /snoop on the channel I want to spy on
(4) Take the Snoop channel and put it in the bridge
That's not onerous, but it is a bit more complicated than having /snoop be
an operation on any channel.
I do worry as well that a specific channel driver may have its own rules
that have to be followed via ARI. The lifetime of a Snoop channel would
have to be defined carefully as well - once the channel it is hooked onto
is disposed of, you'd almost certainly have to dispose of the Snoop channel
automatically as well - you don't really "control" the end of the Snoop
channel that was hooked onto the real channel.
I wonder if we're not providing another convenience mechanism similar to
/dial - only this time in the form of a specific channel driver.
Matt
--
Matthew Jordan
Digium, Inc. | Engineering Manager
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-app-dev/attachments/20131101/59252770/attachment.html>
More information about the asterisk-app-dev
mailing list