Prophecy 16
This guide explains how to connect a Voxeo Prophecy 16 voice application platform to Capacity Private Cloud ASR and TTS. Prophecy runs VoiceXML applications and reaches the platform's speech services over MRCP v1, so the work falls into three parts: point the Media Server at Prophecy, register the ASR and TTS services in the Prophecy Commander console, and reference them from your VoiceXML by resource name.
Prerequisites
- An installed and licensed Prophecy 16 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 16 installation documentation.
Configure the Media Server
Prophecy communicates with the platform over MRCP v1 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 Prophecy communicates over MRCP v1.num_channels— the maximum number of concurrent 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 Commander toolbar, open Servers.
Select New Server and complete the dialog:
- Name — a descriptive reference name (for example, ASR Server).
- Host IP — the IP address of the machine running the ASR service.
- Site — the appropriate site, or Default.
- Available Groups — the relevant groups, or Default.
Click Save.
2. Add the ASR Service
With the ASR server selected, open the Configuration tab and, under Services, click Add.
In the Add Service dialog, expand ASR > LumenVox ASR (v10), select the language you intend to use — for example, US English — and click OK. Save the server.
The default ASR port is 554. To change it, select the service under LumenVox ASR (v10), update the Port field in the Settings pane, and save the server.
3. Add the ASR Resource to a Virtual Platform
Open Virtual Platforms List, select your platform (for example, Default), and click New to add a resource.
Set the Service Role to ASR and give the resource a Name — this is what your VoiceXML will reference. This example uses EN-US-LV. Resource names are case-insensitive and cannot contain special characters, underscores, or periods. Click New to assign a service.
In the Group Service Priority dialog, select the group containing the ASR service, select the service, and enter 1 for the priority.
The EN-US-LV resource now appears with the ASR service role. Save the Virtual Platform, then restart all Prophecy Services.
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 Servers in Prophecy Commander.
Select New Server, name it (for example, TTS Server), enter its Host IP, choose the Site and Available Groups, and click Save.
2. Add the TTS Service
On the TTS server's Configuration tab, click Add under Services.
Expand TTS > LumenVox TTS MRCPv1 (v11.0) and select one or more voices — for example, American Spanish, Lorena (female). Click OK.
The default TTS port is also 554; adjust it in the Settings pane only if needed, then save the server.
3. Add the TTS Resource to the Virtual Platform
Open Virtual Platforms List, select your platform, and click New.
Set the Service Role to TTS and give the resource the same name you used for ASR — EN-US-LV in this example. Click New to assign the service.
In the Group Service Priority dialog, select the group containing the TTS service, select the LumenVox TTS MRCPv1 voice service, and enter 1 for the priority.
The EN-US-LV resource now carries both the ASR and TTS service roles. Save the Virtual Platform, then restart all Prophecy Services.
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
Prophecy ships with sample VoiceXML applications you can use to verify the integration. To configure the VXML Home application, edit:
/opt/voxeo/prophecy/webapps/www/vxml-home.xml
Add the xml:lang="EN-US-LV" attribute to its <vxml> element:
<vxml version="2.1" xml:lang="EN-US-LV">
Then, in Prophecy Commander > Dashboard, open the Prophecy SIP Phone, enter the SIP URI in the form sip:vxml@[IP address] (for example, sip:vxml@172.16.2.110), and click Dial. A successful call plays the prompt "Welcome to the Prophecy voice XML service…."
If the call does not behave as expected:
- Confirm the
xml:langattribute exactly matches the Virtual Platform resource name. - Check
/opt/voxeo/prophecy/logs/vxml/vxml.logfor errors.
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 14 — integration guide for the earlier Prophecy platform version.
- Installing the Media Server
- Media Server Overview
