Real Time Audio
Features / Headlines:
Real Time External integrations (including biometrics) : must be a framework for further integrations:
- I want a framework to allow external and 3rd party integrations
- I want the integration to be configured with minimal effort
- I want the integration process to be well documented
- I want it to be secured from unauthorised access and use
Resiliency (reliability)
- The audio stream is minimally interrupted by collector failure
- The audio stream recovers itself if there is a drop in the stream and stays in sync with the live data
Security:
- All streams must be secured inline with security policy
- Only authorised and authenticated users may listen to a stream
- I want to be able to Authorise consumers to listen to a selection of calls based on their role and position within the organisation (dependency)
Identifying a stream or call:
- I want to list in progress streams
- I want to retrieve relevant metadata relating to the streams
- I want to be able to search and filter the in progress streams to find the stream I want ( dependant on matching devices to agents & matching calls to devices Feature)
- I do not want to duplication's of in-progress streams created by backup infrastructure to be listed(dependancy of de-dup)
- I only want to see calls that are being live recorded ( no historical or importing calls)
Provide access to live calls:
- I want to listen to a call as it happens in as close to real time as i can
- I want the stream to support Auto Volume Control
- I want the stream to allow me to specify which channels I want to listen to
- I want the stream to be able to be provided in stereo and mono
- I want to specify the audio codec the stream will be provided to me in (WAV or OPUS)
- I want the system to be able to stream as many calls as I need ( 1 to any )
- I do not want performance of the system to be affected by listening to calls
- I want to be able to identify and request a single stream
- I want to be able to subscribe to a set of calls to be notified about based on a custom filter and be feed these streams
- I want the time delay from the live stream to be as small as technically possible
- I want the stream to only provide live data and not the whole call
I want the stream to try to reconnect to any subscribers if the system encounters any errors and continue to provide LIVE data only.
Monetising the asset:
- I want consumption of live streaming to be Metered in Audio Minutes
- I want to be able to Meter by Phone Operator
- I want to meter by identified consumer
- I want to licence per device
Supported customer setups:
- I do not want L3 to be supported
- I want SIPREC active to be supported
- I want SIPREC passive to be supportable
Technical Design : Real Time Audio Solution Design
- Simon Jolly (Unlicensed) to review
- James Denning (Unlicensed) to review
- Josh Hepworth (Unlicensed) to review
- Yusuf Limalia (Unlicensed) to review
Product Team Input
Note: Due to an unavoidable shortfall in the product team, developers, testers, architects and the PM have done the initial requirements gathering and user stories for this item. Overall excellent achievement, but we're just adding a little more meat to the bone here.
Set In Progress Call Filters
This describes the ability for system users to only be able to see a subset of in progress calls. The system might need a concept of "Groups" to achieve this.
An example would be that all supervisors in the Sales department will be able to listen to in progress calls of agents in the Sales department. They will also not be able to see or listen to another departments in progress call such as agents in the Accounts department.
Both System Users (People that will be using Search and Replay) and Agents (People with recordable items) will need to be grouped in order to set filters. A person could belong to multiple groups. An example of how we could assign which groups can be as follows:
To be discussed with James Denning (Unlicensed), Simon Jolly (Unlicensed) and Kirill Zotkin (Unlicensed)