L3 Resillience - Functional Requirements

L3 Resillience - Functional Requirements

Introduction/Purpose

During normal operation the L1 and L2 Collectors will pass any audio they have captured to Core Services, via their own NATS queue. A solution is required to enable recording to still take place if the L1 and L2 Collectors have both stopped working.

If Core Services detects a problem with both the L1 and L2 Collectors (using the existing Collector Health Monitoring functionality) then Core Services will order the L3 Collector to capture any audio, and to pass that audio to Core Services, via its own NATS queue. Along with the audio, the L3 Collector will also capture minimal meta-data.

Prerequisites

The L1, L2 and L3 Collectors will have their own NATS queue.

Collector Health Monitoring is active, and will send a message to Core Services when a fault in the Collector is detected.

Collector Health Monitoring will send a message to Core Services when a Collector fault has been corrected.

Potential Actors/Roles

Collector: The Collector captures audio and meta-data of calls, and includes its associated NATS queue.

Core Services: The core services represent the data stores and service implementations that support the listing and searching of call metadata by consuming services/apps, handle the serving out of media to the consuming apps.

Use Cases

Record a call on the L3 Collector

Capture meta-data for calls recorded on the L3 Collector

Expected Behaviours

L3 call audio will be captured using RTP (for MVP), or other fall-back mechanisms (not MVP).

L3 meta-data will be captured from the VOIP data. This is limited to…

  • Local IP address
  • Remote IP address

Check the status of the L1 and L2 Collectors to determine if the L3 Collector needs to start recording.

De-duplication of L3 captured calls is not required, because L1 and L2 will not be recording when experiencing a fault. If the NATS queue only fails, we will still not carry out any de-duplication (post MVP this may be reviewed).

If either L1 or L2 are functioning normally, then L3 will still capture audio and meta-data, but will discard it instead of passing it on to Core Services.

When Core Services detects that either of the L1 or L2 Collectors has started working correctly (using the existing Collector Health Monitoring functionality) then Core Services will order L3 to stop passing audio to Core Services.

Any L3 captured meta-data should be shown accordingly in search results, as a flag in the meta-data.

Activity Diagram

  • Simon Jolly to review initial requirements
  • Devon Cockram (Unlicensed) (PO) to review and sign-off on requirements.
  • QA (Simon Parr) to review and sign-off on requirements.
  • BA (Dean Lawrence) to to review and sign-off on requirements.
  • Team Lead (Colin Powers) to review and sign-off on requirements.


Add label