Contents
Natural Language Audio Streaming Menu
The Natural Language Audio Streaming feature is available only for Early Adaptor Customers and availability is under Product Manager Control. Contact your Account Executive for further information on using this feature.
The Natural Language Audio Streaming Menu microapp allows direct streaming of audio to Bot Engines using Nexus, GWS, and Google Dialogflow. Currently, Google Dialogflow Essentials is supported.
You can import the Natural Language Audio Streaming as a new product into Intelligent Automation and use it in your callflows.
Prerequisites for Audio Streaming
You must have the following prerequisites available and configured before you can use the app:
- Genesys Intelligent Automation with Conversation AI Orchestration
- Genesys Digital (Nexus)
- Genesys Web Services and Applications 9
- Genesys Voice Portal
- The latest MCP Linux release (Windows is not supported)
- Voice Self Service Applications
- vXML Interpreter
- Google Dialogflow
Configuring the Natural Language Audio Streaming Menu Microapp
To enable this feature, configure the following Server Settings:
- Nexus Api Key - Enter the API Key to access the Nexus API.
- Nexus BaseURL - Enter the URL of the Nexus server.
To allow GVP to invoke Nexus for audio streaming, Intelligent Automation uses the following VXML properties:
- <property name="com.genesyslab.asrengine" value="nexus"/>
- <property name="com.genesyslab.asr.botName" value="<bot-name>"/> - This property can be configured in the bot or intent settings.
- <property name="com.genesyslab.asr.sessionid" gvp:expr="sessionid"/>
- <property name="com.genesyslab.asr.x-api-key" gvp:expr="<apikey>"/>
- <property name="com.genesyslab.asr.contexts" gvp:expr="var1"/>
- <property name="com.genesyslab.asr.contextsPolicy" value ="<contextPolicy>"/>
After the options are configured, a new Bot Registry tab is available. the Bot Registry tab lists all bots that are available in the Nexus server.
You can also add a new bot using the + Add Bot Details option.
Using the Natural Language Audio Streaming Menu Microapp
- Navigate to Applications and select Create a new Menu.
- Select the Natural Language Audio Streaming Menu Template option.
- Enter a name for the new module and select Create.
- Select the new module.
The audio streaming module has two additional tabs, Nexus Configuration and Show All Intents.
The Nexus Configuration tab displays the current Nexus configuration setting for the call flow.
If your callflow requires any additional configuration, you can override the settings configured in the Default Server Settings:
- BotName - Enter the name for the Bot.
- NexusAPIKey - Enter the API Key to access the Nexus API.
- Nexus URL - Enter the URL of the Nexus server.
When enabled, the Use Nexus config in Default Server Settings setting will use the information configured in the Default Server Settings options.
You can also specify the maximum attempts values by enabling the Enable MaximumAttempts Counter field.
To allow unrecognized intents to be handled, enable the Enable unrecognized intent option. You can configure the module that will be triggered when an intent is unrecognized.
The Context Setting option supports passing audio context to Nexus as part of Audio Streaming application from GIA 9.0.112.12 onwards. The context values are specified by a variable defined in the Enter Variable Name field. The context policy selected in Select Context Policy field will pass on the corresponding context policy on how to use the context to Dialogflow.
Currently the following policies are supported:
- merge_soft – This policy will merge existing parameters (returned from Dialogflow and preserved by Nexus) with the request data. If there is a conflict, the existing context is retained.
- merge_hard – This policy merges the existing parameters (returned from Dialogflow and preserved by Nexus) with the request data. If there is a conflict, the values from the request (the ones provided by Nexus client) will take precedence.
The contexts are passed through the asr.contexts property and the context policies using the asr.contextsPolicy property in the VXML.
The Show All Intents tab lists all intents available for the bot.
System Variables
<assign name="NLIntent" expr="nexus_form_Response.data.intent" />
<assign name="NLSlots" expr="JSON.stringify(nexus_form_Response.data.slots)" />
<assign name="NLTextResponse" expr="nexus_form_Response.data.message" />
<assign name="NLInputText" expr="nexus_form_Response.data.inputTranscript" />