CallRexStateServiceProxy¶
CallRexStateServiceProxy wraps the generated dual/duplex WCF client Core.ThirdParty.CallRexAgentState.AgentStateServiceClient, registering an AgentStateCallback to receive real-time agent call-state notifications that CallRecordingSystem exposes via its OnCallStateChanged event; see CallRex WCF proxy operations.
Purpose¶
- Establishes and manages the duplex WCF channel to the CallRex agent-state service (
net.tcp://localhost:8015/AgentStateServiceorhttp://localhost:8003/AgentStateService2inapp.config). - Registers/unregisters an
AgentStateCallbackinstance to receive push notifications for monitored users. - Retrieves the current call state for all monitored users on demand via
GetAllUsersCurrentCallState.
Context¶
- Namespace:
SAIF.Services.ClientProxies.ThirdParty - Assembly/package:
SAIF.Application.Services.AudioVideo.32 - Implements:
IDisposable
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| CallRexStateServiceProxy(...) | CallRexStateServiceProxy(string serviceUrl, ILogService logService, AgentStateCallback callback) |
Constructs the proxy and its duplex WCF channel, wiring the given AgentStateCallback to receive push notifications. |
| Register | void Register(...) |
Registers the callback with the CallRex agent-state service for a set of user IDs.* |
| GetAllUsersCurrentCallState | IEnumerable<CallMonitorState> GetAllUsersCurrentCallState() |
Retrieves the current CallMonitorState for every monitored user via a synchronous call to the service. |
| Unregister | void Unregister(...) |
Unregisters the callback, stopping further push notifications.* |
| Dispose | void Dispose() |
Closes the underlying duplex WCF client channel. |
Behavioral notes¶
- Push notifications flow: CallRex agent-state service →
AgentStateCallback.ReceiveState→AgentStateCallback.CallStateChangeddelegate →CallRecordingSystem.CallState_Changed→CallRecordingSystem.OnCallStateChangedevent exposed to callers.
Constraints and usage notes¶
- Because this proxy uses a duplex binding, it must remain open for the lifetime of any registered callback; disposing it before unregistering may leave the CallRex-side registration in an inconsistent state.*
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\CallRexStateServiceProxy.csApplication\SAIF.Application.Services.AudioVideo\Services\ClientProxies\ThirdParty\AgentStateCallback.csApplication\SAIF.Application.Services.AudioVideo.32\app.config