Embedded UDP server

Embedded UDP server

Introduction

The Nixxis Client embeds a UDP server which allows UDP packets to be sent to the client respecting the following criteria :

  1. Packets need to be in UTF-8
  1. Commands start with ‘EXEC’ followed by a pipe (|)
  1. Followed by the command and its parameters
  1. Parameters are separated by a line feed; a carriage return is also acceptable
It is important to update the NCS client on your computer:
1. Delete the current client and all associated files from your workstation
3. Unblock and extract the executable.
4. Run a netstat to check if the client is listening on port 7088 (can be changed if needed)
5. If listening is not active, check your computer's security settings to allow the client to listen on the port defined above.

Configuration in http.config

Add in agent section:
<add key="client_UdpServer" value="127.0.0.1:7088"/>

127.0.0.1:7088 is the IP & port on which the UDP server embedded in the NCS client will listen.

A restart is necessary.

Make sure the NCS client can listen on this port on the workstation it is being launched.


Testing

For testing purposes, you can use a packet sender like this one available on the net: https://packetsender.com/download

Disclaimer: This software is neither developed nor maintained by Nixxis. Its use is subject to the license terms of any license agreement that may accompany or is provided with the Software.


Commands

The commands which can be executed are those which can be executed by the client.

The commands are visible in the appserver logs.

Examples:

  1. GET /agent/?action=ready&__p1=1
  2. POST /agent/?action=pause
  3. POST /agent/?action=voicenewcall

Putting an agent in ready

Image 1 : Putting an agent in ready

Putting an agent in pause

Image 2 : Putting an agent in pause

Use the pause type setting (Custom pause)

EXEC + | +  pause +  \n +  PauseID

The value of "ASCII" :
EXEC|pause\n3ee8a525e8XXXXXXXXXXXXXX

3ee8a525e8XXXXXXXXXXXX = PauseID


Doing a new voice call

Image 3 : Doing a new voice call

The « \n » is used to separate parameters. In this example, the number “0023052562413” is being called.


Make a call in search mode in the context of an activity

EXEC + | + voicenewcall + \n + Destination + \n + AcId= + ActivityId

The value of "ASCII" :
EXEC|voicenewcall\n33123456789\nAcId=dfabaf1032e04XXXXXXXXXX




It is essential to note that when dealing with web-based applications, direct UDP command transmission is not feasible due to browser restrictions. In such instances, the implementation of a "middleware" becomes necessary to facilitate communication with the NCS client. The process in a web environment follows this path:

Web Application (CRM or other) ==> Sending commands via Websocket to a Middleware ==> Translation of the WS packet to UDP ==> Sending the UDP command to the NCS client.