Skip to content

SAIF.Application.Services.AudioVideo dependencies

SAIF.Application.Services.AudioVideo consumes three internal SAIF framework packages, one same-repo Oracle-driver transitive dependency, several third-party NuGet packages, and a third-party vendor SDK, all as compiled <Reference>/packages.config items — the library declares no <ProjectReference> to any project in this repository.

Internal dependencies

Dependency Reference Type Usage
SAIF.Framework.Core NuGet Package Supplies IEnvironmentService (config-setting retrieval), ILogService, IUnitOfWork, and IRepository<T> consumed throughout AudioVideoService, ImportStatusManager, and the CallRex proxy classes.
SAIF.Framework.Data.NHibernate NuGet Package (same-repo) Supplies the concrete IUnitOfWork/IUnitOfWorkFactory/Repository<TEntity> NHibernate stack this library's repositories run on, plus the bundled Oracle.DataAccess.dll driver.
SAIF.Framework.Common NuGet Package Supplies EntityBase<T> (base class for Recording/AudioImportStatus), Enforce, SaifValidationException/ValidationResult/ValidationFailure, IConsoleLogService, and extension methods (GetErrorLogFormattedException, GetMD5Hash, TakeFromEnd, ToStringAll). No .nuspec or namespace SAIF.Common exists anywhere in this repository, so its producing project could not be located in-repo.**
SAIF.HashUtil NuGet Package Referenced in .csproj/packages.config; no direct code usage of its API was found in this library's own scanned source.*
SAIF.Web.API.Clients NuGet Package Referenced in .csproj/packages.config; no direct code usage of its API was found in this library's own scanned source.*
SAIF.Web.API.Core NuGet Package Referenced in .csproj/packages.config; no direct code usage of its API was found in this library's own scanned source.*

External dependencies

Dependency Version Usage
NHibernate 4.0.3.4000 ORM runtime backing the ClassMap<T> mappings and repository/unit-of-work operations.
FluentNHibernate 2.0.1.0 Declarative ClassMap<T> mapping DSL used by AudioImportStatusMap and RecordingMap.
Iesi.Collections 4.0.1.4000 NHibernate collection-type dependency; no direct code usage found in this library.*
FluentValidation 5.5.0.0 Backs AudioVideoValidator : AbstractValidator<ImportAudioRequest>, enforcing the BR-AV-01–BR-AV-05 request-validation rules.
Autofac 3.5.2 Referenced in .csproj; no ContainerBuilder/registration code exists in this library's own source — likely consumed only for compile-time interface-resolution types, or registered by a hosting application outside this repo.*
log4net 2.0.5 Referenced in .csproj; no direct log4net API usage found — logging is done via injected ILogService/IConsoleLogService instead.*
MediaToolkit 1.1.0.1 MediaToolkit.Engine/MediaToolkit.Model.MediaFile used by AudioVideoService.ConvertAudioRecording to invoke the bundled ffmpeg.exe for audio format conversion.
Newtonsoft.Json 8.0.3 Referenced in .csproj; no direct JSON (de)serialization call found in scanned source.*
RestSharp 105.2.3 Referenced in .csproj; no direct REST client call found in scanned source.*
CallRex.Utilities / CallrexAPIUtilities Local DLL references (Libs\ThirdParty\CallRex\*.dll) Third-party CallRex vendor SDK types (CallrexFileTransferCompletedEventArgs, CallrexFileTransferProgressChangedEventArgs) consumed by CallRexServiceProxy.

Transitive dependencies

Dependencies in this section are inherited from dependency framework libraries. They are not directly referenced by this library but are required at runtime through framework packages.

Dependency Source framework Type Usage
Oracle.DataAccess SAIF.Framework.Data.NHibernate Transitive Bundled Oracle ODP.NET driver (version 4.112.3.0, lib\net45) backing the NHibernate stack; confirms an Oracle database target for this library's RECORDING/audio_import_status tables.

API dependencies

Endpoint Method Called from Usage
CallRex Core.ThirdParty.CallRex.IClientService (ClientServiceClient) SOAP (BasicHttpsBinding, NTLM) CallRexServiceProxy On-demand recording operations: MarkInvalid, DeleteRecording, GetAllRecordings, GetRecordings, GetRecording, GetUsers, StartRecording, StopRecording, PauseRecording, ResumeRecording. Calls are authenticated with hardcoded SOAP-header credentials (_userId/_pwd) injected via AuthorizeClientServiceCall.
CallRex Core.ThirdParty.CallRexAgentState.IAgentStateService (AgentStateServiceClient) SOAP duplex (WSDualHttpBinding, security mode None) CallRexStateServiceProxy Real-time agent/call-state feed: Register (RegisterForRealtimeFeedOnReportsFiltered), GetAllUsersCurrentCallState (RegisterForRealtimeFeedOnReports), Unregister (UnregisterForRealtimeFeed). State updates are pushed back via the AgentStateCallback (IAgentStateServiceCallback) duplex callback contract.

Dependency risks and notes

  • Orphaned packaging metadata — nuspec\SAIF.Apps\SAIF.Application.Services.AudioVideo.nuspec/.32.nuspec declare this library as a standalone NuGet package, but no pipeline YAML in this repository's Pipelines\ folder builds or packs SAIF.Application.Services.AudioVideo.csproj or references either nuspec. Whether packaging happens via a pipeline defined outside this repository, or whether this is stale/dead packaging metadata, is unresolved.**
  • SAIF.Framework.Common cannot be located in-repo — no .nuspec or namespace SAIF.Common declaration exists anywhere in this repository's source tree, so its producing project/package pipeline is external to this repo's scope; a Legends CLI/RAG lookup for its public surface was not performed as part of this single-library analysis pass.**
  • Hardcoded vendor credentials — CallRexServiceProxy embeds a CallRex service-account credential (_userId = "AI", _pwd = "AudioImporter") as plain string literals rather than resolving them via IEnvironmentService.GetSecureConfigSetting, creating a supply-chain/credential-rotation risk tied to this dependency's authentication path.
  • Unsecured real-time feed transport — CallRexStateServiceProxy uses WSDualHttpBinding with WSDualHttpSecurityMode.None, meaning the real-time agent-state duplex channel to the CallRex vendor dependency carries no transport or message security.
  • Declared-but-unexercised package references — SAIF.HashUtil, SAIF.Web.API.Clients, SAIF.Web.API.Core, log4net, Newtonsoft.Json, RestSharp, and Autofac are referenced in .csproj/packages.config but no direct code usage of their APIs was found in this library's own scanned source; they may be transitively required by other referenced packages or by a hosting application's composition root outside this repo's scope.*
  • NHibernate configuration/session strategy is opaque from this library — the connection string, Oracle/SQL Server configuration factory selection, and session strategy are all resolved inside SAIF.Framework.Data.NHibernate and/or a hosting application's DI composition root; this library only depends on the IUnitOfWork/IRepository<T> abstractions and cannot itself confirm how the dependency is configured at runtime.**

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • Application\SAIF.Application.Services.AudioVideo\SAIF.Application.Services.AudioVideo.csproj
  • Application\SAIF.Application.Services.AudioVideo\packages.config
  • Application\SAIF.Application.Services.AudioVideo\app.config
  • 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
  • Core\SAIF.Core\Core\Services\IEnvironmentService.cs
  • Core\SAIF.Core\Core\Services\ILogService.cs
  • Core\SAIF.Core\Data\Interfaces\IUnitOfWork.cs
  • Core\SAIF.Core\Data\Interfaces\Repositories\IRepository.cs
  • Core\SAIF.Core\SAIF.Framework.Core.nuspec
  • Data\SAIF.Data.NHibernate\SAIF.Framework.Data.NHibernate.nuspec
  • Data\SAIF.Data.NHibernate\Factories\ConfigurationFactoryBase.cs
  • nuspec\SAIF.Apps\SAIF.Application.Services.AudioVideo.nuspec
  • nuspec\SAIF.Apps\SAIF.Application.Services.AudioVideo.32.nuspec