Technical Overview
  • 25 Apr 2025
  • 4 Minutes to read
  • Contributors
  • PDF

Technical Overview

  • PDF

Article summary

Warning

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

With the Nice CXOne-Knovvu Real Time Guidance integration, agents and supervisors in call centers using Nice CXOne as their call center application, can receive support in real-time.

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

Integration Services

Nice CXOne

The service written for Knovvu Real Time Guidance-Nice integration is NiceCXOne service. It 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 Nice and receive the RTP packages of these conversations.

Integration Flow

  1. 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 Nice integration are Nice 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.

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

  3. Once the service starts running, it becomes ready for the sessions coming from Nice CXOne. Nice CXOne 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, Nice CXOne Service performs the process of receiving streams of only the desired agents with a second session using Nice APIs.

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

  5. Nice CXOne Service accepts session requests for all streams coming from Nice CXOne 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.

  6. If a conversationID in events from Nice API matches a conversationID from Nice CXOne, Nice CXOne Service understands that this stream should be received. So it send a resume message to Nice CXOne for the relevant stream and requests the transmission of audio packets.

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

  8. At this stage, Nice CXOne Service has the audiostream from Nice CXOne and the metadata from Nice API. As the final step, Nice CXOne Service opens a websocket to Data Flow and sends the audiostream along with the agentID information.

  9. 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.

Nice CXOne Service Deployment

Nice CXOne Service is deployed in the toolbox. The integration is between Nice and Data Flow, and the data received from Nice 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 Nice CXOne Service in the toolbox so that it can be used by all products, rather than deploying it within any product.

Nice CXOne Service 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 Nice CXOne Service 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 Nice's limitation. Therefore, the number of replicas should not be more than 2. If the service is insufficient to meet the requests from Nice, machine resources should be improved instead of increasing the number of replicas.

Number of replica should be 1.


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.