CallRexServiceProxy¶
CallRexServiceProxy wraps the generated WCF client Core.ThirdParty.CallRex.ClientServiceClient, providing the recording retrieval and control operations that CallRecordingSystem delegates to; see CallRex WCF proxy operations.
Purpose¶
- Authenticates against the CallRex
ClientServiceWCF endpoint (http://localhost:8002/ClientServiceinapp.config) and attaches SOAP authorization headers to every state-changing call. - Exposes recording retrieval (
GetAllRecordings,GetRecordings,GetRecording), user retrieval (GetUsers), and recording control operations (MarkInvalid,DeleteRecording, start/stop/pause/resume).
Context¶
- Namespace:
SAIF.Services.ClientProxies.ThirdParty - Assembly/package:
SAIF.Application.Services.AudioVideo.32 - Implements:
IDisposable
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| CallRexServiceProxy(...) | CallRexServiceProxy(string serviceUrl, IEnvironmentService environmentService, ILogService logService) |
Constructs the proxy and eagerly calls _webService.Login("AI", "AudioImporter") against the configured endpoint. |
| MarkInvalid | void MarkInvalid(CallRecording recording) |
Calls the CallRex UpdateAttachedDataByCallLogID SOAP operation, setting Description = "Invalid:" + recording.Description. |
| DeleteRecording | bool DeleteRecording(Guid recordingId) |
Calls _webService.DeleteRecording(...); required to succeed for Import call recording to complete (BR-AV-17). |
| GetAllRecordings | IEnumerable<CallRecording> GetAllRecordings() |
Retrieves every recording known to CallRex.* |
| GetRecordings(Guid) | IEnumerable<CallRecording> GetRecordings(Guid userId) |
Retrieves recordings for a specific CallRex user.* |
| GetRecording(Guid) | CallRecording GetRecording(Guid recordingId) |
Retrieves a single recording by ID. |
| GetUsers | IEnumerable<CallUser> GetUsers() |
Retrieves all CallUser records known to CallRex.* |
| StartRecording | void StartRecording(...) |
Starts recording a call, wrapped in AuthorizeClientServiceCall.* |
| StopRecording | void StopRecording(...) |
Stops recording a call, wrapped in AuthorizeClientServiceCall.* |
| PauseRecording | void PauseRecording(...) |
Pauses an in-progress recording, wrapped in AuthorizeClientServiceCall.* |
| ResumeRecording | void ResumeRecording(...) |
Resumes a paused recording, wrapped in AuthorizeClientServiceCall.* |
| Dispose | void Dispose() |
Closes the underlying WCF client channel. |
Behavioral notes¶
- All state-changing calls (
MarkInvalid,DeleteRecording,StartRecording,StopRecording,PauseRecording,ResumeRecording) are wrapped inAuthorizeClientServiceCall, which adds custom SOAP headersUsername/Password(hard-coded service-account credentials) to every outgoing message viaOperationContextScope. This is a documented configuration/credential-management risk — see Configuration. - The endpoint identity is the SPN
qmssvc@corp.saif.com, configured inapp.config.
Constraints and usage notes¶
- Construction eagerly performs a login SOAP call; a proxy instance should not be constructed unless the endpoint is reachable and expected to be used immediately.*
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\Services\ClientProxies\ThirdParty\CallRexServiceProxy.csApplication\SAIF.Application.Services.AudioVideo.32\app.configApplication\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\AudioVideoService.cs