Prophecy 14
This guide explains how to connect a Voxeo Prophecy 14 voice application platform to Capacity Private Cloud ASR and TTS. Prophecy runs VoiceXML applications and reaches the platform's speech services over MRCP, so the work falls into three parts: point the Media Server at Prophecy, register the ASR and TTS services in the Prophecy console, and reference them from your VoiceXML by resource name.
Prerequisites
- An installed and licensed Prophecy 14 server.
- A working Capacity Private Cloud installation, with ASR and TTS installed and verified independently before integrating with Prophecy.
For installing the speech services, see Installing the Media Server. For the Prophecy platform itself, refer to Voxeo's Prophecy 14 installation documentation.
Configure the Media Server
Prophecy communicates with the platform over MRCP rather than SIP, so the Media Server's SIP interface is disabled and it is pointed at its own address. Edit the Media Server configuration file:
mrcp-api/docker/lumenvox/media_server.conf
Set the following properties:
mrcp_server_ip— the IP address of the host running the Media Server.sip_port— change the default5060to0. Setting the port to0disables the SIP interface, since MRCP handles all communication with Prophecy.num_channels— the maximum number of simultaneous channels (default200). Set this to match your licensed capacity; do not exceed your license limit.
Configure ASR in Prophecy
Adding ASR is a three-stage process: create a server entity for the speech host, add the ASR service to it, then expose that service as a resource on a Virtual Platform.
1. Create the ASR Server
In the Prophecy console, open the Servers view.
Select New Server, give it a descriptive name (for example, ASR Server), and enter the Host IP of the machine running the speech service. Save the server.
2. Add the ASR Service
On the new server, open the Configuration tab and, under Services, select Add.
In the Add Service dialog, expand ASR > LumenVox ASR (v10) and select the language you intend to use — for example, US English. Confirm with OK.
The service appears under Configuration. The default ASR port is 554; change it here only if your deployment uses a different port. Save the server.
3. Add the ASR Resource to a Virtual Platform
Open Virtual Platforms List, select your platform (for example, Default), and choose New to add a resource.
Set the Service Role to ASR and give the resource a Name — this name is what your VoiceXML will reference. This example uses EN-US-LV. Select New to assign a service to the resource.
Choose the group, select the ASR service you added, and set a Group Service Priority (for example, 1).
The EN-US-LV resource now appears with the ASR service role. Save the Virtual Platform.
Configure TTS in Prophecy
TTS follows the same three stages as ASR. ASR and TTS can run on a single server entity or as separate entities; if you separate them, each needs its own host IP.
1. Create the TTS Server
Return to the Servers view.
Select New Server, name it (for example, TTS Server), and enter its Host IP.
2. Add the TTS Service
On the TTS server's Configuration tab, select Add under Services.
Expand TTS > LumenVox TTS MRCPv1 (v11.0) and select a voice — for example, American Spanish, Lorena (female). Confirm with OK.
The default TTS port is also 554. Adjust it only if needed, then save the server.
3. Add the TTS Resource to the Virtual Platform
Open Virtual Platforms List, select your platform, and choose New.
Set the Service Role to TTS and give the resource the same name you used for ASR — EN-US-LV in this example. Select New to assign the service.
Choose the group, select the TTS voice service, and set a Group Service Priority.
The EN-US-LV resource now carries both the ASR and TTS service roles. Save the Virtual Platform.
Reference the Resource from VoiceXML
Specify the resource name in the xml:lang attribute of your VoiceXML document:
<vxml version="2.1" xml:lang="EN-US-LV">
The xml:lang value selects both the ASR and the TTS resource, so the resource name must be identical for both services — which is why ASR and TTS were both registered under EN-US-LV above.
Testing
To verify the integration, edit the default VoiceXML home document:
/opt/voxeo/prophecy/webapps/www/vxml-home.xml
Add the xml:lang="EN-US-LV" attribute to its <vxml> element, then place a test call with the Voxeo Prophecy SIP Phone using the form sip:vxml@[IP address].
To exercise the bundled reservation demo, add the same xml:lang="EN-US-LV" attribute to each of these VoiceXML files:
/opt/voxeo/prophecy/webapps/www/demo/vxml/res/Times.xml/opt/voxeo/prophecy/webapps/www/demo/vxml/res/reserve.vxml/opt/voxeo/prophecy/webapps/www/demo/vxml/res/options_voice.xml/opt/voxeo/prophecy/webapps/www/demo/vxml/res/intro.vxml/opt/voxeo/prophecy/webapps/www/demo/vxml/res/hours.vxml/opt/voxeo/prophecy/webapps/www/demo/vxml/res/check.vxml
Related Articles
- Prophecy 16 — integration guide for the newer Prophecy platform version.
- Installing the Media Server
- Media Server Overview
