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 default 5060 to 0. Setting the port to 0 disables the SIP interface, since Prophecy communicates over MRCP v1.
  • num_channels — the maximum number of concurrent channels (default 200). 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.

Prophecy Commander Servers view listing the registered 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.

Edit Server Identity tab showing the server name and Host IP fields

2. Add the ASR Service

With the ASR server selected, open the Configuration tab and, under Services, click Add.

Server Configuration tab with the Add button under Services highlighted

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.

Add Service dialog with the LumenVox ASR service and US English language selected

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.

Virtual Platforms List with the Default platform and New resource button highlighted

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.

Edit Resource dialog with Service Role set to ASR and the resource name EN-US-LV

In the Group Service Priority dialog, select the group containing the ASR service, select the service, and enter 1 for the priority.

New Group Service Priority dialog assigning the LumenVox ASR US English service at priority 1

The EN-US-LV resource now appears with the ASR service role. Save the Virtual Platform, then restart all Prophecy Services.

Virtual Platform showing the EN-US-LV resource with the ASR service role, ready to save

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.

Prophecy Commander Servers view

Select New Server, name it (for example, TTS Server), enter its Host IP, choose the Site and Available Groups, and click Save.

Edit Server Identity tab for the TTS server showing name and Host IP

2. Add the TTS Service

On the TTS server's Configuration tab, click Add under Services.

TTS server Configuration tab with the Add button under Services highlighted

Expand TTS > LumenVox TTS MRCPv1 (v11.0) and select one or more voices — for example, American Spanish, Lorena (female). Click OK.

Add Service dialog with the LumenVox TTS service and the American Spanish Lorena voice selected

The default TTS port is also 554; adjust it in the Settings pane only if needed, then save the server.

TTS service settings showing the default port 554

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 ASREN-US-LV in this example. Click New to assign the service.

Create New Resource dialog with Service Role set to TTS and the resource name EN-US-LV

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.

New Group Service Priority dialog assigning the LumenVox TTS American Spanish Lorena voice at priority 1

The EN-US-LV resource now carries both the ASR and TTS service roles. Save the Virtual Platform, then restart all Prophecy Services.

Virtual Platform showing the EN-US-LV resource with the TTS service role, ready to save

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:lang attribute exactly matches the Virtual Platform resource name.
  • Check /opt/voxeo/prophecy/logs/vxml/vxml.log for 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


Was this article helpful?