Skip to content

SAIF.Application.Services.AudioVideo operations and processes

This page is the operation catalog and cross-operation hub for this library. Each operation's detailed, step-by-step logic lives in its own page under operations/.

Operation catalog

Operation Intent Trigger Inputs Outputs Rules
Import a call recording from CallRex Import a call recording from the CallRex vendor system into SAIF, including persistence, file backup/transcode, and vendor cleanup. External caller invokes IAudioVideoService.ImportRecording. ImportAudioRequest RecordingInfo BR-AV-01–BR-AV-09
Invalidate a call recording Mark a recording invalid without deleting vendor-side data. External caller invokes IAudioVideoService.InvalidateRecording. CallRecording None (void) BR-AV-10
Cancel an in-progress import Clear the local import-status row for a recording. External caller invokes IAudioVideoService.CancelImport. Guid callRecordingId None (void) —
Look up recording information Retrieve persisted recording metadata by vendor call ID. External caller invokes IAudioVideoService.GetRecordingInfo. Guid callRecordingId RecordingInfo or null —
Check whether a claim has recorded media Existence check for a claim's recordings; available in degraded mode. External caller invokes IAudioVideoService.HasMedia. long claimId bool —
Mark an import status errored Force a recording's import status to Errored. External caller invokes AudioVideoService.MarkImportStatusErrored. Guid callRecordingId, optional string reason None (void) —
Real-time call-state monitoring Subscribe to or poll live agent/call-state updates from CallRex. External caller invokes CallRecordingSystem.StartMonitoring/StopMonitoring/GetAllUsersCurrentCallState. CallUser OnCallStateChanged events or IEnumerable<CallMonitorState> —

Process flow diagram

The following diagram visualizes the primary operational flow across operations.

flowchart TD
    Start([External caller]) --> Import[Import a call recording]
    Start --> Invalidate[Invalidate a call recording]
    Start --> Cancel[Cancel an in-progress import]
    Start --> Lookup[Look up recording information]
    Start --> HasMedia[Check whether a claim has recorded media]
    Start --> MarkErrored[Mark an import status errored]
    Start --> Monitor[Real-time call-state monitoring]
    Import --> Decision{Vendor delete succeeds?}
    Decision -->|Yes| Complete([Import status: Completed])
    Decision -->|No| Errored([Import status: Errored])

Database interactions

The following table summarizes which operations read from or write to the database.

Operation Tables Type
Import a call recording from CallRex RECORDING, audio_import_status Read/Write
Invalidate a call recording audio_import_status Write (delete)
Cancel an in-progress import audio_import_status Write (delete)
Look up recording information RECORDING Read
Check whether a claim has recorded media RECORDING Read
Mark an import status errored audio_import_status Write (upsert)
Real-time call-state monitoring None —

Failure and edge-case behavior

Sources

  • Application\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\AudioVideoService.cs
  • Application\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\ImportStatusManager.cs
  • Application\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\RecordingSystem.cs
  • Application\SAIF.Application.Services.AudioVideo\Services\ClientProxies\ThirdParty\CallRexServiceProxy.cs
  • Application\SAIF.Application.Services.AudioVideo\Services\ClientProxies\ThirdParty\CallRexStateServiceProxy.cs
  • Application\SAIF.Application.Services.AudioVideo\Services\ClientProxies\ThirdParty\AgentStateCallback.cs