---
title: Overview
summary: What this proxy is, which service it targets, and who consumes it.
status: draft
owner: SAIF.Core documentation
last_reviewed: 2026-09-24
---

# Overview

`CallRexState` is a svcutil-generated Service Reference onto the `AgentStateService`† duplex contract and the accompanying `IClientAccessPolicy` contract of the third-party CallRex call-recording platform, sourced via WS-MetadataExchange from `http://callrexprod:8003/mex`. It is compiled into `SAIF.Services.Web.Proxies` and packaged in the `SAIF.SAIFCode.Core` NuGet package.

**No repository source constructs `AgentStateServiceClient` or `ClientAccessPolicyClient`, implements the `IAgentStateServiceCallback` callback contract, or invokes any of the 6 declared operations.** This is a "present but unused" proxy: it is generated, configured, and shipped, but not exercised anywhere in this repository.

## What the service does

`AgentStateService` is inferred* to be the real-time agent-state feed of the CallRex call-recording platform: it lets a client register for a push feed of `RealtimeUserState` records (agent status/activity), filtered by location or department, and receive them via the `ReceiveState` callback. `IClientAccessPolicy` serves the conventional Silverlight cross-domain policy document*. The `Silverlight` contract namespace and the polling-duplex binding indicate the service was originally built to support a Silverlight client*.

## Who consumes it

**No one, in this repository.** The generated clients (`AgentStateServiceClient`, `ClientAccessPolicyClient`) are `public` (`Reference.svcmap:8` sets `GenerateInternalTypes` to `false`), so an external consumer of the `SAIF.SAIFCode.Core` package could construct and call them*, but no in-repo source does. `SAIF.Services.Web.Proxies` is the owning/compiling project only — see its own documentation at [its overview](../../libraries/saif-services-web-proxies/overview.md).

## Capability summary

| Capability | Present on contract | Called from repository source |
| --- | --- | --- |
| Register for real-time agent-state feed | Yes (`RegisterForRealtimeFeedOnReports`, `RegisterForRealtimeFeedOnReportsFiltered`) | No |
| Unregister from feed / keep-alive | Yes (`UnregisterForRealtimeFeed`, `KeepAlive`) | No |
| Receive pushed agent state (callback) | Yes (`ReceiveState`) | No — no callback contract is implemented anywhere |
| Cross-domain policy retrieval | Yes (`GetPolicy`) | No |

## Related documentation
- [Client index](index.md)
- [Architecture](architecture.md)
- [Contract](contract.md)
- [Operation map](operation-map.md)
- [Client reference](reference.md)
- [Consumption](consumption.md)
- [Dependencies](dependencies.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence.

## Sources
- `Services/SAIF.Services.Web.Proxies/Service References/CallRexState/Reference.cs`
- `Services/SAIF.Services.Web.Proxies/Service References/CallRexState/Reference.svcmap`
- `Services/SAIF.Services.Web.Proxies/Service References/CallRexState/service.wsdl`
- `Services/SAIF.Services.Web.Proxies/Service References/CallRexState/Silverlight.wsdl`
- `Services/SAIF.Services.Web.Proxies/Service References/CallRexState/Silverlight.xsd`
