A jtel system (jtel|ACD or jtel|IVR or the combination of both) is organised according to a role model. The following roles are defined in such a system:

Role Datastore (STORE)

The STORE role is basically a file server, which provides a centrally available release for all data to be held and stored by the system. This includes, among other things

  • The central repository for software and applications
  • Transaction data of the platform
    • The customized skin (CSS and logos) for the entire system and for the defined resellers
    • The symbols of the elements of the routing applications
    • The supplied system announcements
    • The supplied reports
    • The uploaded announcements
    • Call recordings
    • ...
  • Log data
    • The log files of the telephony servers
    • Log files of the individual calls

The storage can be made available within the platform. For smaller installations it is recommended to install it on the LB role. For larger installations this can be installed separately. 

Even more recommendable is that the STORE role is provided by the virtual infrastructure, for example by providing a file share on a redundant HA storage system.

The platform accesses the STORE role using the CIFS protocol (Samba / SMB / Windows File Share) so that both Linux and Windows machines can access it equally.

The STORE role can also be designed redundantly, using DRBD with Samba + PCS cluster: in this solution, two machines take over the role. The file system is fully replicated in real-time. 

Role Database (DATA)

The role DATA is taken by one or more MySQL database servers running CentOS Linux 7.x. Here all business logic procedures are stored and executed, all configuration data (modeling) of the ACD or IVR and all traffic data is stored. This role can (and should) be split on different servers:

  • Primary database server: This server is used for both read and write access. It is addressed by both the telephony servers and the Web application servers. This server is the minimum requirement and can take over all tasks alone if necessary.
  • Statistics slave: In large systems it may be useful to also outsource all requests for the provision of real-time statistics (supervisor and wallboards) to a separate database server. Although the load from this is not comparable to that resulting from the reports, in very large systems the primary server should be relieved as much as possible, as it is solely responsible for distribution in the contact center. The statistics slave is only addressed by the web servers. The use of such a server is optional.
  • Reporting slave: This server allows read-only access and is dedicated to run all reports on it. This applies to both subscribed and directly requested reports. The use of such a server is optional but recommended because the queries underlying the reports are highly complex and can have a negative impact on the distribution and normal operation of the system. As soon as a customer regularly requests reports during business hours, the use of such a server is strongly recommended. The reporting slave is addressed by the web servers. 
  • Customer slave: If the customer writes his own evaluation routines, a customer slave can be used. It is recommended to provide a dedicated slave for this purpose, since the risk is extremely high that such customer-generated requests will cause unwanted side effects in the system. The use of such a server is optional.

The DATA role can also be designed redundantly. An active-active redundancy with two master servers (one primary) and two slave servers can be configured via the LB role so that one of the masters is used for write accesses and the two slaves are used for read accesses. 

Role Web Application Server (WEB)

The role WEB is played by one or more CentOS Linux 7.x servers. The service is provided by a Java application under a modified JBOSS application server. The server has read and write access to both the STORE role and the DATA role. Access to the jtel portal and the jtel SOAP interfaces is provided via HTTP on port 8080. User sessions on the portal are bound to the respective web server. This also applies to the SOAP v1 interface. The new SOAP v3 interface, which is available as of version 3.06, however, allows the execution of SOAP queries of a session on any Web server.

Role Load Balancer (LB)

The role LB is taken over by a CentOS Linux 7.X server. This server provides a central address for accessing the portal and the SOAP interfaces. Here the requests are distributed to the available Web application servers, taking into account an even load distribution, the possible failure of one or more Web servers and the service-specific restrictions. Furthermore, this role also takes over the provision of the TLS encrypted connection via HTTPS. The service can be provided on both HTTP (port 80) and HTTPS (port 443). If the role DATA is designed redundantly, the role LB also takes over the distribution of the MySQL database connections.

Role Telephony und Application Server (TEL)

The role TEL is taken by one or more (still) Windows Server (2012 R2 or 2016) machines. These servers perform the following tasks:

  1. Execution of the call flow applications (r5 applications executed by the 8 server) that control the media server component that executes the telecommunication functions. These components can:
    1. be installed in the form of the software "Aculab Prosody S" (SIP) as software on the machine (standard installation for most customers)
    2. be provided in the form of hardware boxes "Aculab Prosody X" (S2M/PRI interfaces with SS7 or QSig or SIP)
  2. Execution of central administration and control functions (r5 applications executed by the 8 server) such as call distribution, log file cleaning/moving, event processing, autologout, notification, etc.
  3. Execution of software components which are currently only available for Windows, such as Innovaphone Connector, Starface Connector, TAPI Connector, E-Mail Connector.

Of these three tasks, the first can be designed redundantly, whereby the supply of telecommunications (SIP or traditional) must be specially set up in each case.  

Just like the role WEB, the role TEL has read and write access to the roles STORE and DATA. In contrast to the WEB role, only contact to the primary database server is required here. 

Role Presence (PRES)

The role PRES is taken by one or more of the servers and has the following tasks:

  • Recording of events from external systems regarding the status of the participants.
    • Phone status / status of the extension.
    • Logged in / logged out.
  • Make this data available to the jtel system by:
    • The corresponding status can be noted in the jtel system.
    • If necessary, depending on how the Connector is set up, create and update the users or PBX users in the jtel system.

Depending on the connector, the PRES role can be installed on different operating systems. The connectors which are Java based can be installed on Windows or Linux. TAPI based connectors require Windows.

References:


  • No labels