GVP Architecture
This section describes the primary components and basic architecture of Genesys Voice Platform (GVP) 9.0.
- GVP and the Voice Platform Solution
- GVP Components
- Genesys Voice Platform Solution Components
- Third-Party Software
- Communication Within GVP
- SNMP Monitoring
- High Availability and Scalability
- Resource Manager High Availability Solutions
GVP and the Voice Platform Solution
GVP, Session Initiation Protocol (SIP) Server, Management Framework, and Genesys Administrator together constitute the Voice Platform Solution (VPS), which integrates voice self-service, agent-assisted service, and application-management functions into a single, IP-based contact-center solution.
GVP provides a unified communication layer within the Genesys suite, and offers a robust solution that incorporates all required call control including computer-telephony integration (CTI) and media-related functions.
The figure below depicts the GVP architecture and the communication channels among GVP components in the VPS.
For more information about the VPS, see the Voice Platform Solution 8.1 Integration Guide.
GVP Components
GVP includes the following components:
- Resource Manager
- Policy Server
- CTI Connector
- PSTN Connector
- Media Control Platform
- Call Control Platform
- MRCP Proxy
- Fetching Module and Squid
- Supplementary Services Gateway
- Reporting Server
There is an installation package (IP) for each of these GVP components. Each component is configured as an Application object in Genesys Management Framework. The Fetching Module was integrated with the Media Control Platform IP in release 8.1.2, and in all subsequent releases is no longer in a separate IP.
Voice Platform Solution Components
The GVP components integrate with other Genesys Suite components to extend the features and functionality of the voice platform, thereby increasing the flexibility of your deployment.
The Voice Platform Solution is Genesys Voice Platform and three other components:
SIP Server and Genesys Management Framework, including the User Interaction Layer, are required to create an overall VPS solution.
Third-Party Software
In addition to the Squid Caching Proxy described on page 47, GVP either requires or optionally supports the use of additional third-party software in the VPS.
This section describes the following third-party software that is used in conjunction with GVP:
For information about other third-party software requirements for GVP, and for details about the supported versions of the third-party software, see Prerequisites.
Automatic Speech Recognition
GVP uses MRCP speech-recognition technology to incorporate automatic speech recognition for use in voice applications. Using ASR in a GVP deployment is optional.
Text-to-Speech
GVP uses MRCP speech synthesis technology to incorporate text-to-speech for use in voice applications.
Using TTS in a GVP deployment is optional.
Reporting Database
VP Reporting Server works with a relational database-management system (RDBMS) and currently works with Microsoft SQL Server and Oracle Server. The RDBMS provides storage and queries the data that is in the relational database. The Reporting Server is responsible for controlling the RDBMS and providing reporting web services on top of the relational database.
To store GVP usage information for later analysis, Reporting Server database in your GVP deployment is mandatory.
Web Server
The GVP voice and call-control applications reside on a web server that the GVP interpreters access on every call; by using either standard HTTP or HTTPS.GVP supports interactions with multiple web servers. If voice or call-control applications reside on separate web servers, these web servers can be located on a web farm architecture in a local or remote network configuration.
Communication between the web server and GVP is analogous to the desktop web browser model. In a standard Web-based application, desktop browsers make requests to an application server to provide HTML so that they can render the Web-based application. The browser renders a web page, and establishes linksto other pages on the Web. When you click a link, the browser issues a request to the designated URL, which results in the retrieval and rendering of another web page. When the page or its contents change, the next request from any browser retrieves the changed page.
Requests and information exchanged on GVP are handled in a similar fashion, but the markup languages are CCXML and VoiceXML instead of HTML. The HTTP Client requests pages from web servers.
Call-control and voice applications can be developed by using Active Server Pages (ASP) or Java Server Pages (JSP), manually by using CCXML and VoiceXML(rather than being generated by the ASP or JSP pages), or by using Genesys Composer.
The Call Control Platform and Media Control Platform interpreters parse the CCXML or VoiceXML to affect:
- Call handling (answering, bridging, and disconnecting calls).
- Media management (playing greetings, prompts, and messages by using cached voice files and TTS).
- Caller input (collecting touch-tone digits and performing speech recognition).
The Media Control Platform and Call Control Platform enable VoiceXML and CCXML applications to drive an interaction with a caller in the same way that the desktop web browser would interact with an application server to render a screen, and to react to keyboard or mouse input. As with the desktop browser, depending on the page s cache control headers, any changes to the call-control or voice application on the application server generally becomes effective the next time a page is requested.
Communication Within GVP
The VPS is a complex solution that requires GVP to handle various types of communications.
Communication Protocols
As Figure: Genesys Voice Platform Solution Architecture shows, GVP uses the following communication protocols:
- SIP For call-control messaging between the Resource Manager and SIP Server, and for resource-management messaging between the Resource Manager and GVP resource components.
- HTTP For fetch communications among the NGI/CCXMLI, Fetching Module, and Squid Caching Proxy, and between the Fetching Module and web application server. HTTP is also used for communication between the Reporting Clients and Reporting Server, between the Reporting Web Services and Genesys Administrator, and between the Supplementary Services Gateway and third-party Trigger Application.
- MSML For media services communications between SIP Server and the Media Server through the Resource Manager.
- MRCP For managing speech services between the Media Control Platform and the ASR or TTS speech engines. GVP supports MRCPv1 over Real-time Streaming Protocol (RTSP) and MRCPv2 over SIP.
- RTP For delivering media (audio and video data) between the Media Control Platform and the external media gateway, and between the Media Control Platform and the speech engines.
- IVR XML For accessibility to CTI functionality through the IVR Server to the CTI Connector, and the CTI connector to the GVP components.
- GED-125 For interacting with Cisco ICM.
For the exact specifications that GVP supports, see Specifications and Standards.
Secure Communications
GVP supports the following protocols for secure communications:
- Secure SIP (SIPS) SIP over the Transport Layer Security (TLS) protocol, for call-control and resource-management messaging between the Resource Manager and Media Control Platform and Call Control Platform resources.
- GVP supports these versions of TLS: TLS version 1.2 (TLSv1.2), TLS version 1.1 (TLSv1.1), and TLS version 1 (TLSv1); and these versions of Secure Sockets Layer (SSL): SSL version 2 (SSLv2), SSL version 3 (SSLv3), and SSL version 23 (SSLv23).
- Secure HTTP (HTTPS) HTTP over Secure Socket Layer (SSL) and TLS version 1 (TLSv1), TLS version 1.1 (TLSv11) or TLS version 1.2 (TLSv12) for fetch communications between the Fetching Module and web application server. The Reporting Server supports HTTPS for receiving and responding to authenticated reporting requests from Genesys Administrator or an HTTP Client. The Supplementary Services Gateway supports HTTPS for requests from the third-party Trigger Application.
- Secure RTP (SRTP) A profile of RTP that provides encryption and authentication of audio and video data in RTP streams between the Media Control Platform and the Media Gateway.
SRTP encryption keys and options are exchanged in SIP INVITE and response messages, preferably using SIPS.
The GVP components ship with a generic private key and SSL certificate, and default SIP transports for TLS are configured in the Application object for each component. Therefore, basic security is implemented without having to configure it. However, for more stringent security, Genesys recommends that you obtain your own SSL keys and certificates.
For more information about obtaining SSL keys and certificates, and configuring the GVP components to use SIPS, HTTPS, and SRTP in the GVP deployment, see the section about enabling secure communications in the GVP 8.5 User's Guide.
Considerations and Usage Notes
Before you implement widespread use of HTTPS in your GVP deployment, consider the following:
- Lags in fetch times and high CPU usage are normal when SSL is used, because the web server must encrypt every byte of data and the platform must then decrypt the received data. In addition, an SSL handshake takes place between the web server and the platform before data transmission starts.
- Before you use HTTPS to reference grammars, ensure that your ASR engine supports it.
- Be aware that, if a VoiceXML page was fetched with HTTPS, and resources within the page (such as audio files, grammars, and scripts) are referenced with a relative Uniform Resource Identifier (URI). The full URI for the resource will also use HTTPS. If you want to use HTTP to fetch a resource from a page that was fetched with HTTPS, you must ensure that the VoiceXML page explicitly references the resource has an http URI.
IPv6 Communications
GVP components support IPv6 communications with compatible devices and networks. The dual-stack functionality supports scenarios where one call leg is onIPv4 and the other, IPv6.
Notes: While GVP 8.1.5 is IPv6 ready, other Genesys and third party interfaces are not. Investing in GVP assures that as vendors and other Genesys products adopt IPv6, GVP is ready. In addition, GVP 8.1.5 is dual-mode enabled, so it preserves compatibility with existing supported interfaces that use IPv4 only.
GVP components support non-linked-local IPv6 addresses only. When using IPv6, do not use linked-local addresses.
Local Port Ranges
Users can configure a TCP or TLS local port range by using the sip.tcp.portrange and sip.tls.portrange configuration parameters, respectively. This parameter can be configured in all four Resource Manager service configuration sections: monitor, proxy, registrar, subscription.
These port range configuration option values are empty, by default. If they are not configured, the operating system selects the local port.
IPv6 in Initial SDP Offer
A default IP version can be defined for SDP offers. The [mpc] preferredipinterface configuration option defines this behavior. If the default IP version is not specified, IPv4 is used as the default version. This configuration defines the IP version that will be used when the Media Control Platform generates an SDP offer.
SSG Connectivity to SIP Server
The Supplementary Services Gateway supports connectivity to SIP Servers that are running on IPv6 networks. The enable-ipv6 configuration option in the Common section of the Supplementary Services Gateway Application enables IPv6 support.
The Supplementary Services Gateway sends the ip-version parameter as a transport parameter to T-Lib and is required to define the preferred protocol version in the DNS of the SIP Server.
Web Services Access
The Reporting Server supports web services access through a network interface that is configured to use an IPv6 address. Genesys Administrator can use this interface to the Reporting Server and detect the database mode to determine which dashboards and reports to display and hide.
If you are planning to use IPv6 in your environment, you must configure the GVP components accordingly. For information about how to enable IPv6 support in the component Applications, see Chapter 3 in the GVP 8.5 User's Guide.
SNMP Monitoring
GVP supports Simple Network Management Protocol (SNMP) monitoring for the Resource Manager, Media Control Platform, Call Control Platform, Supplementary Services Gateway, and Fetching Module components. Using SNMP in a GVP deployment is optional.
The Master Agent handles all queries from the Management Data GUI and any Network Management Systems (NMS), and sends Agent X queries to the appropriate subagent (in other words, to the appropriate GVP process).
Traps, which are generated from logs, flow from the subagent to the Master Agent, and then to trap destinations as configured on the Master Agent.
The traps are defined in the GVP Management Information Bases (MIBs), which are available in their own installation package. For more information about the GVP MIBs, see the GVP 8.5 SNMP MIB Reference.
High Availability and Scalability
GVP supports GVP High Availability in three ways:
- by configuring the Resource Manager for HA.
- by configuring the Reporting Server for HA.
- by combining the call-processing components into resource groups.
Different Resource Manager configurations may require different approaches. See Resource Manager High Availability Solutions.