SAIF.Application.Services.AudioVideo.32 overview¶
Documentation context: Packaged Component (NuGet)
SAIF.Application.Services.AudioVideo.32 is the x86 build variant of the audio/video call-recording import library: it orchestrates importing call recordings from the third-party CallRex call-recording system into the SAIF data model, converting and verifying the recording file, tracking import status, and providing a façade over the CallRex WCF services for recording retrieval, control, and real-time agent call-state monitoring.
Purpose¶
- Imports call recordings raised by the third-party CallRex system, validating the import request, creating or reusing a
Recordingrecord, taking a locally verified backup copy of the source file, converting it to a mono/32kbps WMA file, and confirming both success and the CallRex system's own recording deletion before marking the import complete. - Tracks per-recording import status (
InProgress/Completed/Errored/Missing) so callers and the CallRex system can query whether a given recording has been imported. - Exposes a façade over the CallRex
ClientServiceandAgentStateServiceWCF endpoints for recording retrieval, recording control (start/stop/pause/resume), invalidation/deletion, and real-time agent call-state monitoring. - Provides a lightweight, always-available
HasMediaquery so a consuming claim/investigation screen can decide whether to show a media-list affordance, even when the service is constructed without its full dependency set. - This library is a 32-bit (x86) build variant of the sibling library
SAIF.Application.Services.AudioVideo. It compiles the identical linked source tree as that sibling — everyCore,Data, andServicessource file is a<Link>-included file physically located inSAIF.Application.Services.AudioVideo— and differs only in itsPlatformTarget=x86setting and its dependency on the 32-bit-specificSAIF.Framework.Data.NHibernate.32package (which bundles the x86Oracle.DataAccess.dllODP.NET unmanaged driver). It exists so this identical business logic can run inside 32-bit host processes (for example a legacy Windows Service, an x86 IIS application pool, or an x86-only batch console executable) that cannot load an AnyCPU/x64 assembly carrying the unmanaged Oracle client. - No consuming application project was found within this repository's scope; the library is packaged as a standalone NuGet library for consumption by an as-yet-undetermined 32-bit host application elsewhere in the SAIF application estate.
Responsibilities¶
- Validate import requests against business rules (BR-AV-01 through BR-AV-05) before any persistence or file operation occurs.
- Persist and manage
RecordingandAudioImportStatusentities viaIUnitOfWork/IRepository<T>. - Perform local file backup, MD5 integrity verification, and ffmpeg-based audio conversion of the source recording.
- Integrate with the third-party CallRex system over WCF for recording deletion, invalidation, retrieval, and agent call-state monitoring.
Key components¶
AudioVideoService: orchestration/business-logic entry point implementingIAudioVideoService.AudioVideoValidator: FluentValidation validator forImportAudioRequest.ImportStatusManager: NHibernate-repository-backed tracker of per-recording import status.CallRecordingSystem: façade implementingIRecordingSystemover the CallRex WCF proxies.CallRexServiceProxy/CallRexStateServiceProxy/AgentStateCallback: WCF client wrappers for the CallRexClientServiceandAgentStateServiceendpoints.
Related documentation¶
Sources¶
Application\SAIF.Application.Services.AudioVideo.32\SAIF.Application.Services.AudioVideo.32.csprojApplication\SAIF.Application.Services.AudioVideo\Core\Services\IAudioVideoService.csApplication\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\AudioVideoService.csApplication\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\ImportStatusManager.csApplication\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\RecordingSystem.csnuspec\SAIF.Apps\SAIF.Application.Services.AudioVideo.32.nuspec