Technical Overview

Prev Next
Warning

This is an internal document and is for Sestek employees only, and will not be accessible if shared with other parties.

Thanks to the GenesysCloud CX-Knovvu Real Time Guidance integration, agents and supervisors in call centers using Genesys Cloud as their call center application, can receive support in real-time.

It is further explained how Knovvu Real Time Guidance works integrated with Genesys, which APIs are used for the integration and technical details.

Integration Services

Knovvu AudioHook Server

The service written for Knovvu Real Time Guidance-Genesys integration is Genesys Audiohook. Genesys Audiohook has 3 main jobs:
1. Getting the user group and the users in it whose calls will be analyzed, and create these users in Knovvu Analytics as agents.
2. Getting the events when one of the agents to be analyzed receives a call on Genesys and receive the RTP packages of these conversations.

Integration Flow

  1. Purchasing
    Genesys-Knovvu Real Time Guidance integration can be sold in 2 ways.

    1. Through AppFoundry
    2. Through non-AppFoundry channels

  2. Configuration
    Knovvu Real Time Guidance works integrated with Data Flow. In Real Time Guidance, voice packages are received in real time via data flow and analyzed, and SR outpts and notifications are transmitted to Knovvu Analytics interface. According to this structure, the two parties in Genesys integration are Genesys and Data Flow, not Knovvu Analytics. Therefore, any configurations should be made in Core Web interface.
    Required settings for the integration to work should be made by the Core Web's host.
    More details on the required settings.

  3. After the required configurations are made, when the system starts running, it first gets the relevant users from Genesys and creates them as agents in Knovvu Analytics.

  4. Once the service starts running, it becomes ready for the sessions coming from Genesys Audiohook. Genesys Audiohook service works in a structure that sends the streams of all agents in the account along with the conversationID, without any filtering. Since the integration structure can filter according to agent/queue information, not conversationID, Knovvu Audiohook Server performs the process of receiving streams of only the desired agents with a second session using Genesys APIs.

  5. With the groupID information entered in Core Web during the configurations, Knovvu Audiohook Server obtains the IDs of the agents in this group using Genesys APIs. It also requests to be notified when these agents have a conversation and receive all their events. Thanks to this websocket handshake, Genesys sends all events of these agents to Knovvu Audiohook Server. This metadata also include conversationID information.

  6. Knovvu Audiohook Server accepts session requests for all streams coming from Genesys Audiohook without agent filtering. But at the same time, it sends a pause message before requesting RTP packages to be send, making the system wait for a while. Meanwhile, it checks whether the voice package should be received or not.

  7. If a conversationID in events from Genesys Cloud API matches a conversationID from Genesys Audiohook, Knovvu Audiohook Server understands that this stream should be received. So it send a resume message to Genesys Audiohook for the relevant stream and requests the transmission of audio packets.

  8. If no event with the same conversationID comes from Genesys Cloud API after a certain period of time, it means that there is no match here. In this case, Knovvu Audiohook Sever does not send a resume message to Genesys Audiohook and the websocket connection is disconnected. In this way, RTP packages belonging to unwanted agents are not received unnecessarily.

  9. At this stage, Knovvu Audiohook Server has the audiostream from Genesys Audiohook and the metadata from Genesys Cloud API. As the final step, Knovvu Audiohook Server opens a websocket to Data Flow and sends the audiostream along with the agentID information.

  10. Data Flow provides SR outputs and sends them to Knovvu Analytics. The notifications created by Knovvu Analytics can be seen on the Notifications page under Real-Time in Knovvu Analytics interface. Learn more about how Data Flow works.

Knovvu Audiohook Server Deployment

Knovvu Audiohook Server is deployed in the toolbox. The integration is between Genesys and Data Flow, and the data received from Genesys can be sent to different products, such as Knovvu Speech Recognition or Knovvu Analytics using Data Flow. For this reason, as an architectural decision, it is decided to deploy Knovvu Audiohook Server in the toolbox so that it can be used by all products, rather than deploying it within any product.

Knovvu Audiohook Server is not tenant-based and does not require a new deployment for each tenant. This means that the same service can be used for all customers from different tenants. Therefore, the variation name of the Knovvu Audiohook Server can be edited as desired.

Number of replica should 1 while deploying the service. Since increasing the number of replicas may cause error in the integration due to Genesys' limitation. Therefore, the number of replicas should not be more than 2. If the service is insufficient to meet the requests from Genesys, machine resources should be improved instead of increasing the number of replicas.

Number of replica should be 1.