---
title: SAIF.Application.Services.AudioVideo API reference
summary: Index of all public types in this library.
status: draft
owner: <owner>
last_reviewed: 2026-09-15
library: SAIF.Application.Services.AudioVideo
reference_type: package
---

# SAIF.Application.Services.AudioVideo API reference

This page lists all public types exposed by `SAIF.Application.Services.AudioVideo`. Each type links to its full API reference page. `RecordingMap` (namespace `SAIF.Data.NHibernate.Mappings.AudioVideo`) is declared `internal` and is excluded from this table because it is not part of the library's public surface.

## Types

| Type | Kind | Namespace | Purpose |
| --- | --- | --- | --- |
| [AudioImportStatusInfo](core-contracts-audiovideo/AudioImportStatusInfo.md) | Class | `SAIF.Core.Contracts.AudioVideo` | Lightweight DTO returned by `IImportStatusManager.GetStatus`, reporting a recording's current import status and error reason. |
| [CallState](core-contracts-audiovideo/CallState.md) | Enum | `SAIF.Core.Contracts.AudioVideo` | Enumerates the possible live phone states (`Idle`, `OnPhone`, `Recording`) reported by the real-time agent-state feed. |
| [CallMonitorState](core-contracts-audiovideo/CallMonitorState.md) | Class | `SAIF.Core.Contracts.AudioVideo` | Immutable snapshot of a single user's live call state, direction, and timing, produced from the CallRex real-time feed. |
| [RecordingCallDirection](core-contracts-audiovideo/RecordingCallDirection.md) | Enum | `SAIF.Core.Contracts.AudioVideo` | Classifies a recorded call as inbound, outbound, or unknown based on which vendor number field was populated. |
| [CallRecording](core-contracts-audiovideo/CallRecording.md) | Class | `SAIF.Core.Contracts.AudioVideo` | Vendor-sourced call recording DTO carrying file location, description, discoverability, and key/value metadata used throughout the import workflow. |
| [CallUser](core-contracts-audiovideo/CallUser.md) | Class | `SAIF.Core.Contracts.AudioVideo` | DTO describing a CallRex-registered user and their call-recording license status. |
| [FileProgressChangedArgs](core-contracts-audiovideo/FileProgressChangedArgs.md) | Class | `SAIF.Core.Contracts.AudioVideo` | Immutable event-argument DTO reporting file-transfer progress percentage and stage for a transaction. |
| [FileTransferCompletedArgs](core-contracts-audiovideo/FileTransferCompletedArgs.md) | Class | `SAIF.Core.Contracts.AudioVideo` | Immutable event-argument DTO reporting the outcome (and any error) of a completed file transfer. |
| [IImportStatusManager](core-contracts-audiovideo/IImportStatusManager.md) | Interface | `SAIF.Core.Contracts.AudioVideo` | Contract for tracking a recording's import lifecycle status (`InProgress`, `Completed`, `Errored`) independently of the `Recording` entity. |
| [RecordingSystemTypes](core-contracts-audiovideo/RecordingSystemTypes.md) | Enum | `SAIF.Core.Contracts.AudioVideo` | Identifies which SAIF business context (Claim, Fraud, Board Minutes) a recording import belongs to, driving retention and discoverability rules. |
| [ImportAudioRequest](core-contracts-audiovideo/ImportAudioRequest.md) | Class | `SAIF.Core.Contracts.AudioVideo` | Request DTO for `IAudioVideoService.ImportRecording`, carrying the vendor recording plus the claim/investigation context validated by `AudioVideoValidator`. |
| [IRecordingSystem](core-contracts-audiovideo/IRecordingSystem.md) | Interface | `SAIF.Core.Contracts.AudioVideo` | Adapter contract that isolates all vendor call-recording-system operations (on-demand recording, user lookup, live monitoring) behind a single interface. |
| [RecordingInfo](core-contracts-audiovideo/RecordingInfo.md) | Class | `SAIF.Core.Contracts.AudioVideo` | Read-model DTO summarizing a persisted recording, returned to callers of `ImportRecording`/`GetRecordingInfo`. |
| [IAudioVideoService](core-services/IAudioVideoService.md) | Interface | `SAIF.Core.Services` | The library's single public service contract, exposing recording import, invalidation, cancellation, and lookup operations. |
| [AudioImportStatus](data-model-audiovideo/AudioImportStatus.md) | Class | `SAIF.Data.Model.AudioVideo` | NHibernate entity mapping the `audio_import_status` table; tracks a recording's import status independently of the `Recording` row. |
| [Recording](data-model-audiovideo/Recording.md) | Class | `SAIF.Data.Model.AudioVideo` | NHibernate entity mapping the `RECORDING` table; the persisted record of an imported call recording and its retention/discoverability classification. |
| [AudioImportStatusMap](data-nhibernate-mappings-audiovideo/AudioImportStatusMap.md) | Class | `SAIF.Data.NHibernate.Mappings.AudioVideo` | FluentNHibernate `ClassMap<AudioImportStatus>` declaring the `audio_import_status` table's column mappings. |
| [AudioVideoService](services-utilities-audiovideo/AudioVideoService.md) | Class | `SAIF.Services.Utilities.AudioVideo` | The library's single concrete `IAudioVideoService` implementation; orchestrates validation, persistence, file handling, transcoding, and vendor deletion for recording imports. |
| [AudioVideoValidator](services-utilities-audiovideo/AudioVideoValidator.md) | Class | `SAIF.Services.Utilities.AudioVideo` | FluentValidation rule set enforcing [BR-AV-01](../business-rules.md#br-av-01-currentuserid-required) through [BR-AV-05](../business-rules.md#br-av-05-description-length-limit) against every `ImportAudioRequest`. |
| [CallRecordingExtensions](services-utilities-audiovideo/CallRecordingExtensions.md) | Class | `SAIF.Services.Utilities.AudioVideo` | Static extension-method class computing a recording's discoverability classification and default description text. |
| [ImportStatusManager](services-utilities-audiovideo/ImportStatusManager.md) | Class | `SAIF.Services.Utilities.AudioVideo` | Concrete `IImportStatusManager` implementation that persists and queries `AudioImportStatus` rows via the injected `IUnitOfWork`. |
| [CallRecordingSystem](services-utilities-audiovideo/CallRecordingSystem.md) | Class | `SAIF.Services.Utilities.AudioVideo` | Concrete `IRecordingSystem` adapter that fronts the two CallRex WCF proxies and re-raises real-time call-state events to its own caller. |
| [CallRexServiceProxy](services-clientproxies-thirdparty/CallRexServiceProxy.md) | Class | `SAIF.Services.ClientProxies.ThirdParty` | WCF client proxy for the CallRex on-demand recording SOAP service; performs recording lookup, deletion, invalidation, and start/stop/pause/resume recording control. |
| [CallRexStateServiceProxy](services-clientproxies-thirdparty/CallRexStateServiceProxy.md) | Class | `SAIF.Services.ClientProxies.ThirdParty` | WCF duplex client proxy for the CallRex real-time agent-state feed; registers/unregisters live monitoring and exposes a synchronous poll variant. |
| [AgentStateCallback](services-clientproxies-thirdparty/AgentStateCallback.md) | Class | `SAIF.Services.ClientProxies.ThirdParty` | WCF duplex callback implementation that receives real-time agent-state pushes from CallRex and raises them as `CallMonitorState` events, filtered to monitored users. |

## Sources
- `Application\SAIF.Application.Services.AudioVideo\Core\Contracts\AudioVideo\AudioImportStatusInfo.cs`
- `Application\SAIF.Application.Services.AudioVideo\Core\Contracts\AudioVideo\CallMonitorState.cs`
- `Application\SAIF.Application.Services.AudioVideo\Core\Contracts\AudioVideo\CallRecording.cs`
- `Application\SAIF.Application.Services.AudioVideo\Core\Contracts\AudioVideo\CallUser.cs`
- `Application\SAIF.Application.Services.AudioVideo\Core\Contracts\AudioVideo\FileProgressChangedArgs.cs`
- `Application\SAIF.Application.Services.AudioVideo\Core\Contracts\AudioVideo\FileTransferCompletedArgs.cs`
- `Application\SAIF.Application.Services.AudioVideo\Core\Contracts\AudioVideo\IImportStatusManager.cs`
- `Application\SAIF.Application.Services.AudioVideo\Core\Contracts\AudioVideo\ImportAudioRequest.cs`
- `Application\SAIF.Application.Services.AudioVideo\Core\Contracts\AudioVideo\IRecordingSystem.cs`
- `Application\SAIF.Application.Services.AudioVideo\Core\Contracts\AudioVideo\RecordingInfo.cs`
- `Application\SAIF.Application.Services.AudioVideo\Core\Services\IAudioVideoService.cs`
- `Application\SAIF.Application.Services.AudioVideo\Data\Mappings\AudioImportStatusMap.cs`
- `Application\SAIF.Application.Services.AudioVideo\Data\Mappings\RecordingMap.cs`
- `Application\SAIF.Application.Services.AudioVideo\Data\Model\AudioImportStatus.cs`
- `Application\SAIF.Application.Services.AudioVideo\Data\Model\Recording.cs`
- `Application\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\AudioVideoService.cs`
- `Application\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\AudioVideoValidator.cs`
- `Application\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\CallRecordingExtensions.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`
