A long post to start off 2010 and to make up for the lack of recent posts!
For this client we have previously deployed GVP 7.6 to support the self service requirements of the Pilot phase which is fairly limited i.e. just basic call steering.
During future phases of the project we plan to deploy more advanced self service IVR applications including card payments. This means that the solution will fall within Payment Card Industry (PCI) regulation.
GVP 7.6 is not PCI compliant since it does not support secure HTTP between the VoiceXML interpreter (page collector) and the VoiceXML application server(s).
Therefore we propose to deploy GVP 8.1.1 which does support secure HTTP. In addition GVP 8.1.1 also supports SIPS and STRP for voice encryption which we may chose to deploy at a later date (although these protocols are not currently supported by SIP Server and Stream Manager which we have deployed as part of the wider architecture).
For a security perspective, GVP 8.1.1 supports:
- Secure HTTP (HTTPS). The encryption of HTTP traffic either using Secure Socket Layer (SSL) protocol or the Transport Layer Security (TLS) protocol
- Secure SIP (SIPS). SIP over the Transport Layer Security (TLS) protocol, for call-control and resource-management messaging
- Secure RTP (SRTP). A profile of RTP that provides encryption and authentication of audio and video data in RTP stream
GVP 8.1 is also more closely integrated with Genesys framework components and all provisioning of IVR profiles / applications is through Genesys Administrator rather than the GVP 7.6 Element Management Provisioning System (EMPS). Therefore, Genesys Administrator (version 184.108.40.206) is a prerequisite.
From an architectural perspective GVP 8.1 is completely different from GVP 7.6 which is not surprising since it is built from the VoiceGenie code base rather than the older Telera code base (although some Telera code seems to have incorporated of which the most notable inclusion is the GVP 7.6 VoiceXML interpreter aka the GVPi interpreter to support backwards compatibility with 7.6 applications developed in Genesys Studio).
GVP 8.1 comprises the following components:
- Resource Manager (RM)
- Media Control Platform (MCP)
- Fetching Module (FM) and Squid
- CTI Connector (CTIC)
- Reporting Server (RS)
- Call Control Platform (CCP) (optional component)
- Supplementary Services Gateway (SSG) (optional component)
There is an installation package for each of these GVP 8.1 components. Each component is configured as an Application object in Genesys CME.
Here is a diagram of the overall architecture from the Genesys deployment guide:
Resource Manager (RM) components function as a SIP Proxy that controls access and routing to all resources in a GVP 8.1 deployment. The Resource Manager also functions as a SIP Registrar and monitors the health of GVP 8.1 resources in the deployment. In GVP 8.1, Resource Manager in conjunction with Genesys Administrator replaces the functionality provided by the Element Management Provisioning Solution (EMPS) in GVP 7.6.
The Media Control Platform (MCP) is the core component of GVP 8.1, because it executes the actual voice applications in the solution. The Next Generation Interpreter (NGI) and the Legacy GVP Interpreter (GVPi) are Voice Extensible Markup Language (VoiceXML) interpreter components on the Media Control Platform.
The Media Control Platform can run one or both VoiceXML interpreters (NGI and GVPi) and both are installed by default. Voice application / IVR Profile provisioning is used to determine which interpreter to use for a particular voice application. In GVP 8.1, Media Control Platform components replace the functionality provided by the IP Communication System (IPCS) in GVP 7.6.
Fetching Module (FM) components in conjunction with the Third Party Squid product is used to fetch content (such as audio files, VoiceXML pages, or CCXML pages) for the Media Control Platform and the Call Control Platform. In GVP 8.1, the Fetching Module components replace the functionality provided by the IPCS Page Collector in GVP 7.6.
CTI Connector (CTIC) components provide additional CTI functionality by connecting to existing IVR Server components through Media Control Platform components.
Reporting Server (RS) components store and summarises data and statistics submitted by Reporting Clients to provide near real-time reports by hour, day, week, and month. Reporting Clients on the Resource Manager, Media Control Platform, and Call Control Platform send call detail records (CDRs), Metrics, and Operational Reporting (OR) statistics to the Reporting Server. In GVP 8.1, the Reporting Server component in conjunction with Genesys Administrator replaces the functionality provided by the Voice Application Reporter (VAR) in GVP 7.6.
From a reporting perspective it should be noted that unlike GVP 7.6, the importing (ETL) of historical IVR data into Info Mart is currently not supported (and it is unlikely that it ever will).
Unlike GVP 7.6 I am pleased to report that the basic deployment is relatively painless. The deployment process is the same as any other Genesys component e.g. import the application templates, create the applications, add connections, review options and then run setup.exe!
There is a bit of work determining the options to be set on each component as well as creating resource groups for load balancing and IVR profiles in Genesys Administrator but other than that there is not much more to do.
In terms of routing calls to IVR applications this can be done on one or all of 3 ways:
- GVP is configured as a Trunk Group DN whereby the call arrives on the Trunk Group DN, where GVP is immediately given call control in order to start a standard VoiceXML application. For Standard VoiceXML applications, the call reaches GVP through a SIP Server Trunk Group DN and the MCP launches a VoiceXML application as mapped on the Resource Manager through IVR Profiles.
- GVP configured as a Voice over IP Service DN whereby the call arrives at a Routing Point DN, where a routing strategy uses a Play Application treatment to launch a “URS-centric” voice application.
- GVP is configured as a series of Voice Treatment Port DNs whereby the call arrives at a Routing Point DN. The strategy routes the call to a Place Group, where the individual Places are configured as a set of Voice Treatment Port DNs. When routed to this Place Group, SIP Server selects a port and forwards it to Resource manager. Resource Manager selects an IVR Profile for a particular VoiceXML application, based on the DNIS provided in the “To” header of the original INVITE.
We have actually configured DNs to support each of the 3 scenarios above but are currently only planning to use method 3 which is how we route calls to GVP 7.6 and is the standard deployment familiar to most of us. In the future we are planning to consider option 2 and deploy “URS-centric” voice applications with call control remaining with URS. A example of this would be to offer some self service options whilst in queue and then returning to the queue afterwards.
Co-existence with GVP 7.6
Since we have already deployed GVP 7.6 I was interested to see whether GVP 8.1 and GVP 7.6 components could co-exist on the same hardware. The good news is yes (with a bit of re-configuration).
The main area of conflict is (not surprisingly) the ports used for SIP and RTP. For GVP 7.6 (IPCS) we use port 5070 for SIP and ports 40000-49999 for RTP. These are configured in EMPS on the “SIP” tab of each Pop Gateway node and on the “General” tab of “MCU -> Media Controller -> NativeRTP” nodes as shown in the screenshots below:
To avoid any conflict therefore, for GVP 8.1 (MCP) I reconfigured the relevant options to use port 5080 for SIP and ports 50000-59999 for RTP. These are configured in CME application options in the “sip” and “MPC” sections on the relevant components as shown in the screenshots below:
Similarly, since we deployed GVP 8.1 Resource Manager components on the same servers as where SIP server components are installed (so that we could take advantage of Windows NLB clustering that was already in place for resilience) it was also necessary to change the SIP port range used by RM from 506x to 507x. Again these can be configured in CME options on the relevant component as shown in the screenshots below:
Finally, from a reporting perspective, the tables used by GVP 8.1 Reporting Server components are unique and therefore these can be installed on the same (existing) VAR database instance if required.