[asterisk-app-dev] Implementation of ChanSpy functionality in ARI

Joshua Colp jcolp at digium.com
Fri Nov 1 06:36:34 CDT 2013


So, as Matt mentioned I do think the descriptions for these tasks in 
JIRA is going to change and here's why! Dun dun dun.

As I'm looking at implementing the functionality I'm unhappy with the 
thought of simply making Chanspy available over ARI. This is going down 
the same road as the /dial operation was. I've taken a step back and 
actually looked at what I mentioned awhile ago and how feasible it is... 
and I'd like to go further down that road!

I'd like to expose a /snoop operation (although I'm open to changing the 
name... I just wanted something to encompass both spy and whisper) on 
channels. This operation would accept a direction for spying and a 
direction for whispering. Of course "none" would be an option for both 
in case you don't want to do them. This operation would internally 
create a Snoop channel which snoops on another channel (oddly enough). 
Anything written to it is whispered to the other channel (if a direction 
is specified) and anything read from it is the spied audio (if a 
direction is specified). The operation would also accept the name of a 
Stasis application and optionally some arguments. The Snoop channel 
would be placed into this app. The operation would return a snapshot of 
this Snoop channel.

Why this way?

ULTIMATE POWER! By ultimate power I mean since this is a channel in your 
Stasis application you can do anything to it that can be done with a 
channel. Monitoring becomes creating a snoop channel and calling record 
on it. Whispering or live monitoring becomes creating a snoop channel, 
creating a bridge, and putting another channel in the bridge. Whispering 
media becomes creating a snoop channel and calling playback on it.

Thoughts?

-- 
Joshua Colp
Digium, Inc. | Senior Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at:  www.digium.com  & www.asterisk.org



More information about the asterisk-app-dev mailing list