Segmented calls improvement

Segmented calls improvement

Segmented calls improvement

This requirement aims to improve the way long calls with very large audio files are stored so as to make it easier to replay and manage them.

Problem Statement

The EA currently has no concept of segmented calls, thus any call which is established for a long period of time will produce a huge amount of data which will be difficult to manage and which is likely to lead to out of memory errors and browser crashes.

High level requirement (Objectives and Key results)

Epics

  • As a financial trader, I would like very long calls to be captured in a way that makes it easy to manage (search, playback, export etc) them from a UI, so that the process of managing very long calls is more efficient.

Key performance indicators

  1. Increased satisfaction from customers processing very long calls

  2. Reduction in time processing very large files

External Stakeholders

  • Traders within financial services

Additional Information:

  1. Segments should contain information pertaining to locks, suppression and annotations

  2. Locks should apply to single segements

  3. When RoD request is made to discard a call, all previous segments for the call should also be deleted.

  4. Deleting a segment should remove that segment from the system without affecting any other segment. This is regarded of the position of the segment


Functional Requirements (Use Case)

Use cases

  1. Set call segment length

  2. View call segment legnth

  3. Segment call

Use Case Title:

Set call segment length

Description 

This use case describes the process of setting the call segment length value for EA

Trigger 

  • API call

Primary Actors (Personas)

EA System Administrator

Secondary Actors 

EA System

Stakeholders 

  • EA System Administrator

Preconditions 

  1. EA system is active

Flow (Main success Scenario)

  1. System administrator makes call to API endpoint with call segment length parameter (Minimum length = 15 minutes, Maximum length = 240 minutes)

  2. EA system saves new call segment length value

  3. EA system writes success event to audit log

  4. EA system responds with success notification

Alternative flows

None

Exception flows

3a. EA system responds with failure notification

Post-conditions 

Success End condition: 

  1. Segment length value is successfully saved

  2. Success event written to audit log

Failure End condition: 

  1. Segment length value provided was not saved

  2. Segment length value is outside the 15 minute - 240 minute range

  3. Failure event written to audit log

Frequency 

Based on API call

Priority 

Must

 

Use Case Title:

View call segment length

Description 

This use case describes the process of viewing the call segment length value for EA

Trigger 

  • API call

Primary Actors (Personas)

EA System Administrator

Secondary Actors 

EA System

Stakeholders 

  • EA System Administrator

Preconditions 

  1. EA system is active

  2. Call segment length is set

Flow (Main success Scenario)

  1. System administrator makes call to API endpoint

  2. EA system responds with value of call segment length value

Alternative flows

None

Exception flows

None

Post-conditions 

Success End condition: 

  1. System returns call segment length value

Failure End condition: 

  1. System fails to return call segment length value

Frequency 

Based on API call

Priority 

Must

 

Use Case Title:

Segment call

Description 

This use case describes the segmenting of very long calls in EA

Trigger 

  • Call length exceeds pre-configured threshold (default call segment length value = 120 minutes)

Primary Actors (Personas)

EA System

Secondary Actors 

EA System

Stakeholders 

  • Financial traders

Preconditions 

  1. EA system is active

  2. EA is preconfigured with segment length threshold

  3. Call is being recorded

Flow (Main success Scenario)

  1. Use case starts when call length equals preconfigured segment length

  2. System saves 1st call segment along with all associated metadata (including start time, end time, duration and unique segment id)

  3. System continues recording

  4. New segment length equals pre-configured segment length

  5. System saves call segment along with all associated metadata (including start time, end time, duration and unique segment id)

  6. System continues recording

  7. Call ends

  8. System saves final call segment along with all associated metadata (including start time, end time, duration and unique segment id)

* Steps 4 – 6 may be repeated multiple times depending on duration of call

Alternative flows

 NA

Exception flows

2a. Call ends before call length threshold is exceeded for 2nd segment
2b. System saves final segment along with all associated metadata

Post-conditions 

Success End condition

  1. Saved segments span the entire length of the call

  2. All saved segment have associated metadata

  3. Each saved segments has a unique id

  4. All saved segements have a common parent ID

Failure End condition: 

  1. Saved segments do not span the entire length of the call

  2. Save segments do not have associate metadata

Frequency 

Based on pre-configured segment length

Priority 

Must

Non functional requirements 

Area

Requirement 

MoSCoW

Additional comments 

Hardware Requirements 

NA

 

 

Software Requirements and Licencing 

NA

 

 

Supportability Requirements 

All errors logged along with information about which segments they apply to

M

 

Security Requirements

NA

 

 

Interface Requirements

NA

 

 

Usability/Accessibility 

NA

 

 

Compliance Requirement 

Entire call must be recorded

M

 

Training 

Update all necessary documentation

M

 

Resilience 

Feature to work with L2 de-duplication

M

 

Legal and Regulatory

NA

 

 

Scalability

NA

 

 

Error-handling

Silent call audio must be captured and segmented

M

 

Localizability

NA

 

 

Performance

NA

 

 

Concurrency

NA

 

 

Storage

No change in storage location

M

 

Test requirements

End to end automation

S

 

 

Simon Jolly (Technical Architect) review and signed-off
@Daniel Cleaver (Unlicensed) (Team Lead) to review and sign-off
(QA Manager) to review and sign-off
@Gemma Jankiewicz (Unlicensed) (Product Manager) to review
Add label