Solution Architecture

The following diagram depicts the various solution components of the Mobile Agent App:


Solution Architecture

As shown in the picture above, the communication between ExpertFlow Mobile Agent and Cisco Finesse is regulated through ExpertFlow Generic Connector. It is preferred to set up a reverse proxy in the Enterprise DMZ that secures the communication between the server components in the LAN and the Mobile app accessible publicly.

The following EF server components are deployed in the LAN:

  1. Mobile App Server: This is the server that hosts the mobile client app. This can be deployed on the same VM as of Generic Connector or as a separate VM in the Enterprise LAN. This VM can also be installed in the DMZ directly instead of setting up a Reverse proxy, if the need be.
  2. Generic Connector (GC): GC is subscribed to the Cisco Finesse XMPP Server to capture call events and propagate those to the agent end.  

Call Flow

The following diagram depicts the communication flow:


 

Communication Flow

  1. Customer dials a contact center DN.
  2. The call is queued. An agent makes himself Ready for taking new calls through the EF Mobile Agent App. The state changes are updated to Finesse via GC.
  3. The call is routed to the available agent. The agent is reserved for answering the call.
  4. An incoming call event is received at Finesse.
  5. An incoming call notification is received from the call center and propagated to the  Mobile Agent app via GC.
  6. The agent then also receives a call on his phone. The agent answers the call from the phone. 

Once connected, the agent may now see the call attached data passed in the call variables from Cisco inside the Mobile Agent App via GC. It may also continue to consult transfer or conference the call or, end the call by pushing an appropriate call wrap-up.

Since the agent is configured as "mobile agent", he has to be logged in to the Expertflow Mobile Agent app with the "mobile agent" feature to be able to receive calls. If a non-mobile agent tries to login, he won't be able to answer calls but can only change its Finesse states.