Asterisk offers two ways to spy/barge/whisper on active calls. ChanSpy which allows you to spy on channels (PJSIP/100, IAX/100, Local/100) and ExtenSpy which allows you to spy based on ext@context (100@from-internal). These are widely used functions in call centers and other agent based scenarios.
FreePBX’s currently only uses ChanSpy and the implementation is as basic as it comes. It allows any users to spy on any active call and in a lot of use cases, this can be problematic. The lack of restrictions and configuration of ChanSpy have recently left FreePBX users with a bad taste in their mouth. I have started to work on a module that will address these concerns.
I am hoping that in the next couple of weeks it will be ready for late alpha/early beta testing. It currently will provide the following functionality (quick run down):
- It will disable the 555 ChanSpy feature code used by default in FreePBX and replace it.
- Multiple Spy Codes (feature codes). This will allow for more than one feature code to initiate spying. Allowing for each Spy Code to have its own feature set.
- Choose whether the Spy Code is ChanSpy (default) or ExtenSpy
- It will allow for an authentication PIN to be set. This will require any user to provide the PIN in order to spy.
- It will allow you to configure which options are available such as Barge, Whisper, Private Whisper, etc.
- Extension Restrictions - restrict which extensions can be spied on.
- Spier Restrictions - restrict which users can use the Spy Code.
- Spy Groups - Create Spy Groups, add extensions to the Spy Group and restrict Spying to one or more groups. If the extension is not in one of the groups, it can’t be spied on.
- Spy Recordings - Allow for the recording of channels/extensions being spied on. May not be in the initial release as I feel there should be an interface to view/listen to said recordings.
Any suggestions or thoughts are welcomed.