Configuration settings¶
This library retrieves all of its environment-specific configuration through the centralized IEnvironmentService.GetConfigSetting(string) API. Five plain-text setting keys were identified; no ConfigurationManager.AppSettings, GetSecureConfigSetting, DbConnectionManager, ApplicationSettingsBase/Settings.Default, or custom <configSections> usage was found anywhere in this project's compiled source (including its linked files) or in its own app.config.
Configuration retrieval methods¶
| Method | Class / Interface | Namespace | Usage pattern |
|---|---|---|---|
GetConfigSetting(string) |
IEnvironmentService |
SAIF.Core.Services |
Called inline wherever a value is needed — no dedicated *Configuration wrapper class is used; each consumer resolves an injected IEnvironmentService/ILogService-paired field (_environmentService, environmentService, _envSvc) and calls GetConfigSetting directly. |
Environment API settings¶
Settings retrieved via IEnvironmentService (centralized environment configuration service). All five keys vary by environment (they are URL/path values whose host, port, or filesystem location differs across deployment environments).
| Setting key | Method | Data type | Purpose | Consuming class | Source |
|---|---|---|---|---|---|
AudioImportService.callRexMediaOutputPath |
GetConfigSetting |
string | Filesystem base path for converted/backup recording output | AudioVideoService (GetRecordingPath, GetRecordingBackupPath) |
Application\SAIF.Application.Services.AudioVideo.32\Services\Utilities\AudioVideo\AudioVideoService.cs |
AudioImportService.callRexServiceUrl |
GetConfigSetting |
string | CallRex ClientService WCF endpoint URL |
CallRecordingSystem (constructor) |
Application\SAIF.Application.Services.AudioVideo.32\Services\Utilities\AudioVideo\RecordingSystem.cs |
AudioImportService.callRexStateServiceUrl |
GetConfigSetting |
string | CallRex agent-state WCF endpoint URL | CallRecordingSystem (constructor and GetAllUsersCurrentCallState) |
Application\SAIF.Application.Services.AudioVideo.32\Services\Utilities\AudioVideo\RecordingSystem.cs |
AudioImportService.callRexRecordingBaseUrl |
GetConfigSetting |
string | Base URL used to construct CallRecording.RecordingUrl |
CallRexServiceProxy (GetRecordings, GetRecording) |
Application\SAIF.Application.Services.AudioVideo.32\Services\ClientProxies\ThirdParty\CallRexServiceProxy.cs |
AudioImportService.callRexRecordingPath |
GetConfigSetting |
string | Base filesystem path used to build CallRecording.AbsoluteFileLocation |
CallRexServiceProxy (GetRecording) |
Application\SAIF.Application.Services.AudioVideo.32\Services\ClientProxies\ThirdParty\CallRexServiceProxy.cs |
Transitive configuration (from dependencies)¶
This project has no <ProjectReference> elements, so there is no same-repo project dependency to trace transitively. The only consumed local package with runtime configuration implications is SAIF.Framework.Data.NHibernate.32 (persistence), but its connection resolution is fully internal to that package and is not exposed as a setting this library's callers must separately supply; no specific key names could be attributed to this library's runtime requirements without inspecting the package's own source.*
Configuration dependencies¶
| Dependency | Type | Required at | Impact if missing |
|---|---|---|---|
AudioImportService.callRexServiceUrl |
Environment API setting | Runtime (WCF proxy construction) | Directly controls which CallRex ClientService WCF endpoint is dialed; misconfiguration would misroute or break call-recording import entirely. |
AudioImportService.callRexStateServiceUrl |
Environment API setting | Runtime (WCF proxy construction) | Directly controls which CallRex agent-state WCF endpoint is dialed; misconfiguration would misroute or break real-time agent call-state monitoring. |
AudioImportService.callRexMediaOutputPath |
Environment API setting | Runtime (file backup/conversion) | Backup copy and converted-audio output paths cannot be constructed; import processing would fail or write to an unintended location. |
AudioImportService.callRexRecordingBaseUrl / AudioImportService.callRexRecordingPath |
Environment API setting | Runtime (proxy construction) | CallRecording.RecordingUrl/AbsoluteFileLocation cannot be resolved to a usable value. |
All five GetConfigSetting calls pass only a key, with no fallback/default parameter or null-check on the returned value in the surrounding code — each key must be provided by the hosting environment or the corresponding proxy/service construction will operate with a null/empty URL or path.*
Related but out-of-catalog finding: hard-coded credential¶
CallRexServiceProxy hard-codes a service-account credential pair — _userId = "AI" and _pwd = "AudioImporter" — directly in source (Application\SAIF.Application.Services.AudioVideo.32\Services\ClientProxies\ThirdParty\CallRexServiceProxy.cs), used to log in to the CallRex ClientServiceClient WCF service and to populate custom SOAP Username/Password message headers on every subsequent call. This is a plaintext secret compiled into the assembly rather than retrieved from IEnvironmentService.GetSecureConfigSetting, bypassing the SAIF secure-configuration pattern; it is flagged here as a configuration/secrets-management risk rather than catalogued as a secure setting since it does not use the secure-setting retrieval mechanism at all.
Additionally, this project's own app.config system.serviceModel CustomBinding_IClientService endpoint identity is pinned to a fixed SPN (qmssvc@corp.saif.com), independent of the runtime-resolved URL; no environment-specific override mechanism for this identity was found in this library.*
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.
Related documentation¶
Sources¶
Application\SAIF.Application.Services.AudioVideo.32\SAIF.Application.Services.AudioVideo.32.csprojApplication\SAIF.Application.Services.AudioVideo.32\app.configApplication\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\AudioVideoService.csApplication\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\RecordingSystem.csApplication\SAIF.Application.Services.AudioVideo\Services\ClientProxies\ThirdParty\CallRexServiceProxy.cs