[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