State of knowledge

June 2022

What is ProCall DataCenter?

estos ProCall DataCenter is basically based on the current estos ProCall Enterprise version and is also suitable for use in a multi-server environment, where several UCServers can work together and be administered.

In particular, large environments and systems with increased redundancy and administration requirements are supported.

ProCall DataCenter is particularly suitable for use in large companies with more than 2,500 workstations, as well as companies with multiple locations and increased need for reliability.

Advanced functions of ProCall DataCenter

ProCall Enterprise functions are also supported by ProCall DataCenter. The multi-server architecture and central databases offer extended functions for administration and higher design of a unified communications system.

  • Multi-server architecture: The system can be split between several UCServers and UC MediaServers.
  • Central administration of the environment: as if it were a system (→ central databases).
  • Management with multiple administrators possible at the same time.

ProCall DataCenter system topology

System topology components

A DataCenter system topology consists of at least two UCServers connected via a Redis and a SQL database.

ActiveDirectory can also be replaced by a database-based user management on the Microsoft SQL server.

Furthermore, it is possible to outsource the MediaServers to dedicated servers for load balancing.

Interaction of components

As shown in the diagram "System topology ProCall DataCenter", a DataCenter network consists of multiple servers and components. The respective components perform dedicated tasks. These are described in more detail below:

estos services

UCClient

The UCClient provides the front-end of the service to the end user. The client enables the user to communicate easily via various different media. The user can make phone calls (TAPI and SIP), exchange text messages, hold video meetings and much more. The capabilities of the client can be limited by the administrator.

UCServer

The UCServer is the central communication interface of the client and the control center of the unified communication service. Each client is assigned to an explicit "home server", which in turn manages the connection to the telephone system, among other things. From the client's point of view, the UCServer represents the central point for all matters concerning the respective client. System management and administration of the multi-server environment is also performed on the UCServer via the UCAdmin interface.

UCWeb Service

This is a separate service that is installed on the same machine as the UCServer when ProCall DataCenter is installed. The UCWeb service provides the UCServer with an interface that takes care of all web-based data connections. This includes not only the web clients but also the Microsoft SQL Server connection. 

MediaServer

The MediaServer forms the media platform for active conversations.

Third-party services

Recommendation

The third-party services should not be installed on the same servers as the estos services for performance as well as for reliability reasons, but should be operated on separate servers.

Chat and journal database

In the chat and journal database all chat's of all users and all chat groups are stored centrally. In addition, the event log (journal) of each user of all servers is also stored here. This enables cross-server messaging, as well as sharing of event information with users of other servers.

User database/ActiveDirectory

It is possible to use (an existing) ActiveDirectory for user administration, as well as a dedicated database-based user administration. The user administration contains the user information of all users of all servers and includes data like user name, phone number, mail address etc. as well as the information about the assigned home server.

Configuration database

In principle, there are configuration properties that affect the individual server as well as properties that affect the multi-server environment. All properties that affect the multi-server environment are stored centrally for all servers. The corresponding properties are visible in the UCAdmin interface by dividing the tree structure into local and global configuration properties.

Redis

Redis is a high-performance in-memory key-value database. Volatile data of the multi-server environment is stored here. These are:

  • Presence (status, notes, telephony status information)
  • Capabilities (via which communication channels and features the contact can be reached)
  • Chat/Group chat (chat notification, read/not read, typing notification)
  • Audio/Video call signaling
  • Setting presences with third parties
  • Setting call forwarding with third parties
  • Pick-up call from third parties
  • Display whether user is logged on/off in UCAdmin server-wide
  • Collision detection for users and groups in UCAdmin with multi-admin use
  • Heartbeat mechanism (server monitoring/recovery)
  • License management (cross-server license pool)

Reliability and scalability

ProCall DataCenter is primarily designed for application scenarios in which fail-safety and/or scalability is required. For this reason, the following section explicitly describes which effects can be expected in which failure scenarios and how these can be prevented.

UCServer failure

If a UCServer fails, this does not mean the failure of the complete multi-server environment. Only the respective server and the clients connected to it are affected by the respective failure.
When the UCServer is available all clients can connect again and the services are available as usual. 

MediaServer failure

The failure of a MediaServer only leads to the interruption of currently active calls (SIP).
New calls are taken over from the other MediaServers in the multi-server environment. If the MediaServer is available again, new calls are also assigned to it again. 

MediaServer setup

The respective MediaServers of the multi-server environment must be explicitly made known to the individual MediaServers. 

Chat and journal database failure

In case of chat and journal database failure, text message exchange is no longer possible. This affects all users of the complete multi-server environment. In addition, historical chat histories as well as the journal database event log cannot be viewed. Current events are not recorded in the journal database. When the database is available again, chats and events that occurred during the downtime will not be tracked. 

MS SQL Cluster

You can protect yourself from such failures by designing your Microsoft SQL database as a cluster.

User database/AD failure

If AD is unavailable, new users can no longer log in. Changes to users are no longer possible. Access to the shared fileshare for content sharing may stop working.

MS SQL cluster/AD replication

If you use a Micrsoft SQL-based user database, you can protect yourself from such failures by designing your Microsoft SQL database as a cluster.

When using an Active Directory, you can increase availability by Using Active Directory replication with round-robin DNS

Configuration database failure

If the configuration database is not accessible, this has no effect on active operation. The configuration settings are cached locally by each UCServer.
However, changes during the downtime of the configuration database are lost, since the configuration settings of the configuration database have a higher weighting than local settings and thus the settings of the configuration database are taken over by the UCServer when connecting to the UCServer. 

MS SQL cluster

You can protect yourself from such failures by designing your Microsoft SQL database as a cluster.

Redis database failure

The failure of the Redis database results in the functions provided by Redis no longer being available between users on different UCServers → see the Redis section. There are no restrictions between users located on the same UCServer.

All other functions can be used without restriction. As soon as the Redis database is available again, the current states in the database are updated and the functions are available again as usual. 

The Redis functions Redis Replication and Redis Sentinel can be used to achieve redundancy and therefore increased reliability. This means that the failure scenario described above can be avoided. 

Reaching the UCServer load limit

Due to high user load and interaction with the system and between users, the limits of available system resources may be reached. To avoid such a scenario, we recommend monitoring the system resources regularly. If the system resource limit is reached, another UCServer can be added to the multi-server environment. The users can then be distributed to the new UCServer. 

Reaching the MediaServer load limit

Due to heavy use of softphone telephony, the limits of the available system resources may also be reached in this case. By default, the MediaServer is installed on the same machine as the UCServer. If the system resources are not sufficient the MediaServer can be outsourced to a separate machine. The MediaServers can also be distributed across multiple machines. The softphone calls are distributed across all MediaServers during call initiation. 

Further information

ProCall DataCenter Release Notes ->

estos product page about ProCall DataCenter →