Softdial Contact Center™ (SCC) V10.7 brings a fundamental shift in approach from SCC V10.6 and earlier with regard to agents (endpoints) and users.
Prior to V10.7, the Agent API provides the means for an agent endpoint to log in to and interact with the system. If a (physical) agent has 2 endpoints, 2 separate logins are required.
V10.7 introduces the concept of a user. A user is a container for multiple agent endpoint logins for the same agent. See Softdial Repository™ Users & Endpoints.
The User API provides a number of things:
User is intended to model a multisession agent properly such that the ASD® (Automatic Session Distributor) can make multi-dimensional decisions on how to manage sessions within the contact center. Without this, the task of performing load-balancing and prioritisation within the ASD would become an intractable problem.
In V10.7, the legacy Agent API is now the API for agent endpoints. The only change required for this is the addition of the User ID (QI) parameter on the Agent Login [AL] message. This indicates to Softdial CallGem™ (controller) which user the agent endpoint belongs to.
User and endpoint configuration is also delivered to CallGem from the SCC config via CallGemController in the form of Static User Config [WU] and Static Agent Config [WA] messages. This configuration contains default Campaign Name (CN), Agent Description (AD) and Agent Extension (AE) parameters which negate the necessity for these to be passed in on the Agent Login [AL] message. This frees agent endpoint applications from having to remember/ configure addresses for agent endpoints.
The User API, as well as implementing all of the first-party call control messaging for endpoints, implements Add User [AT] and Delete Turret [DT]. This is the real-time API that creates or deletes a user session.
In keeping with the philosophy of providing full compatibility of APIs where possible, V10.7 retains compatibility with the agent API in V10.6 and previous versions. If CallGem receives an Agent Login [AL] message without the User ID (QI) parameter, this is treated as a legacy-type agent login. In this circumstance, CallGem creates a dummy parent user with the same identity as the agent endpoint, and destroys this user when the agent endpoint is logged out.
This dummy behaviour is necessary to deliver consistent reporting and resource management.
Integrators continuing to work with the pre-V10.7-style agent API will see additional User ID (QI) parameters on the agent layer messages. Since default behaviour in any integrator application should be to ignore unknown parameters and messages, existing integrations with SCC pre-V10.7 should just work.
The one breaking change between V10.6 and V10.7 is the need to specify how line-of-business data is framed.
Some parameter data is composite data in a document. A good example is The Data (DT) Parameter used to contain the customer record data associated with an outbound or inbound session. V10.7 provides for legacy, XML or JSON framing of line-of-business data; each connection to CallGemin V10.7 sets its own framing preferences.
The default framing is XML (see XML Framing). Integrators who use legacy framing, or who want to use JSON, will need to issue the CallGem Session Preferences [SP] or Campaign Manager Session Preferences [SP] message to set communication preferences.
This change enables different integrators applications to work with the same instance of SCC without there being a line-of-business data framing conflict. SCC services handle data internally in abstracted form, and serialise/ deserialise in XML, JSON or legacy format depending on the communication preferences of the service connecting to SCC.