Getting Credentials
To get credentials, create a bot on the VoiceAI connect portal.- Select Bots in the left sidebar.
- Click on the + sign to create a new bot.
- Select Rasa Pro as the Bot Framework
- Set the bot URL and choose a token value.
- “Validate the bot configuration” once you have completed the “Setting credentials” section and the bot is running. Validation will only succeed if the bot is running and the token is correctly set.
Setting the bot URL with a tunneling solution when testing locallyVisit this section
to learn how to generate
the required bot URL when testing the channel on your local machine.
Setting credentials
The token value chosen above will be used in thecredentials.yml:
- Rasa Pro <=3.7.x
- Rasa Pro >=3.8.x
Then restart your Rasa server to make the new channel endpoint available.
Usage
Call Metadata
Metadata about the call can be accessed by the slotsession_started_metadata
in the beginning of the call. Following fields are available:
A custom
action_session_start can be used to store this information to a slot.
Receiving messages from a user
When a user speaks on the phone, VoiceAI Connect will send a text message (after it is processed by the speech-to-text engine) to your assistant like any other channel. This message will be interpreted by Rasa and handled by the dialogue engine, and the response will be sent back to VoiceAI Connect to be converted to a voice message and delivered to the user.Sending messages to a user
Your bot will respond with text messages like with any other channel. The text-to-speech engine will convert the text and deliver it as a voice message to the user. Here is an example:Only text messages are allowed. Images, attachments, and buttons cannot
be used with a voice channel.
DTMF and Other Events
Rasa receives the intent/vaig_event_DTMF when receiving a DTMF
tone (i.e user presses digit on the keyboard of the phone). The
digit(s) sent will be passed in the value entity.
The general pattern is that for every Audiocodes event, the bot will receive
the vaig_event_<event> intent, with context information in entities.
Check the VoiceAI Connect documentation
for an exhaustive list of events.
Certain events like
playFinished could disrupt the conversation with the
assistant. We recommend that they should be disabled.Configuring calls
You can send events from Rasa to VoiceAI Connect to make changes to the current call configuration. For example, you might want to receive a notification when the user stays silent for more than 5 seconds, or you might need to customize how DTMF digits are sent by VoiceAI Connect. Call configuration events are sent with custom messages and are specific to the current conversation (sometimes to a message). Which means they must be part of your stories or rules so the same behaviour is applied to all conversations. Those Rasa responses don’t utter anything, they just configure the voice gateway. It is a good practice naming them differently, for example prefixing them withutter_config_<what_it_does>
All the supported events are exhaustively documented in the
VoiceAI Connect documentation.
We will look at one example here to illustrate the use of custom messages and events.
Example: changing a pin code
In this example we create a flow to allow a user to change a pin code.utter_config_<config_event> responses:
noUserInput event
DTMF event
pin_code slot in the pin_code_form to extract
the pin code from the value entity with the vaig_event_DTMF intent:
vaig_event_noUserInput was declared in the not_intent field.
Since the vaig_event_noUserInput intent is sent by VoiceAI Connect when the
user stays silent as per our configuration,
we must deactivate the form so we can pick up the conversation from a rule or
a story and gracefully handle the failure.
In the following example, we simply cancel the current flow if we receive
the vaig_event_noUserInput intent (i.e. user stays silent) while the
pin_code_form loop is active.