Getting Started and Basic Configuration¶
Voice Gateway is a comprehensive voice automation solution that manages inbound call automation for Contact Center AI. It integrates with existing voice systems or uses the native voice processing capabilities, enabling seamless transitions between automated and human interactions within the XO Platform.
This section covers the fundamental steps required to set up and configure your Voice Gateway for basic operation.
Go to The Product (For example, Automation AI/ Contact Center AI) > Flows & Channels > Channels > Voice Gateway.
Initial Setup¶
Buy New Phone Number¶
Steps to buy a new phone number:
-
Click the Phone Numbers tab and click Buy New Phone Number. You can configure a custom local or toll-free number by clicking Get New Phone Number on the Phone Number window.
-
Configure an available number with the following steps:
- Click the Get Number button.
- On the Forward to Phone Number page, select whether the number will be reserved for Inbound Calls, Outbound Calls, or both, and click Done.
- A success confirmation message is displayed, and the phone number is added.
- You can now call this number to test your Use Cases.
- When ready to go live, forward the calls you receive to this phone number or use this number as your customer support number.
Attach Flow¶
Steps to attach a flow to the phone number:
-
Click + Attach Flow. Hovering over the pie icon displays "No Flow Attached".
-
Select a Start Flow you want to add to this number and click Done. You can add a start flow by clicking + New Start Flow. Learn more.
-
The attached flow appears. Hovering over the pie icon displays "Configured".
Edit a Phone Number¶
Steps to edit a previously added phone number:
-
Make the necessary edits, and click Done.
- A success confirmation message is displayed when the phone number is updated.
Delete a Phone Number¶
Deleting a phone number means stopping all services associated with it. If you remove a phone number and want to add it back later, you may be unable to do so if another user has selected it.
Steps to delete an existing phone number:
-
Click Delete to confirm your choice.
-
Alternatively, click Update, go to the Forward to Phone Number window, and click Remove. You will need to confirm your choice.
-
A success confirmation message is displayed once the phone number is deleted.
Note
The phone number cannot be deleted if there are active voice campaigns or flows attached to the channel.
SIP Trunk Setup¶
This option is useful when transferring calls to Contact Center AI from a toll-free or local phone number using Session Initiation Protocol (SIP) in the IVR system.
Under the SIP Trunk tab, you can configure the network IPs and domains, DID number, SIP transport protocol, SIP credentials (optional), and Inbound/Outbound direction for phone numbers while the SIP URI is pre-configured.
Agent Assist supports real-time audio streaming through two primary methods:
-
SIPREC (SIP Recording): Agent Assist acts as a SIPREC server, receiving duplicated audio streams from the contact center platform or a Session Border Controller (SBC).
-
WebSocket Audio Streaming: For cloud-native platforms like Genesys AudioHook, Agent Assist subscribes to real-time audio feeds over secure WebSocket connections.
Steps to configure SIP Trunk¶
-
On the Configure SIP Trunk page, configure the following:
-
Product Selection: Select the product for which the SIP Trunk is being configured. You can select from the following options:
If you select Contact Center AI:
- SIP URI: This is a pre-configured field. A copy button allows you to copy the SIP URIs.
-
Network: To configure the Network, you can select one of the following:
-
Under List of IP Address, type the values for Incoming IP Address in the textbox.
-
Under Domain Name, provide the following:
- Fully Qualified Domain Name: The domain name specifies all domain levels, including the top-level domain and the root zone. Learn more.
- DNS Resolve Method (Optional): Select an option from the list to translate IP addresses to domain names for resolution when the hostname is associated with multiple IP addresses. You can choose a-record, srv, naptr, or ms-lync.
-
Under MS Teams, provide a Fully Qualified Domain Name (the domain name that specifies all domain levels, including the top-level domain and the root zone).
-
-
(Optional) The E.164 Syntax is selected by default. Selecting this option prepends a + before the DID number.
-
Under Direct Inward Dialing (DID) number, you can enable virtual phone numbers (SIP trunk numbers) that route calls to your existing telephone lines. You can configure SIP trunks by entering DID numbers using wildcard patterns (for example,
123*
) to automatically handle multiple similar DIDs without listing each one individually. If two wildcard patterns are configured for different experience flows within an application, and a caller dials a number that matches both patterns, the system triggers the experience flow associated with the pattern that matches the most digits.
Example:
If the DID numbers7896*
and789654*
are mapped to Experience Flow 1 and Experience Flow 2, and a caller dials78965478
, the system triggers Experience Flow 2, as789654*
matches more digits than7896*
. - DTMF Type: (Optional) Select the DTMF type. RC2833 is the default selection.
- Select an option from the list for SIP Transport Type. This field will set a protocol to route SIP traffic to servers and other endpoints. The available options are TCP, UDF, and TLS.
- (Optional) Set the SIP Credentials (username and password) to access your SIP trunk setup account.
- Under SIP Termination URI, enter the IP Address/Domain Name.
-
Option Ping: If selected, the system will regularly check whether the IP addresses are accessible. This option is selected by default.
-
Enter the SIP Headers. You can include all available agent data in the SIP headers, enabling customers to use only the parameters relevant to their needs. The parameters are listed as key-value pairs:
- X-AgentName: {{agentName}}
- X-AgentPhoneNumber: {{agentPhoneNumber}}
- X-AgentEmailID: {{agentEmailId}}
- X-AgentGroup: {{agentGroup}}
- X-AgentCustomID: {{agentCustomId}}
- X-AgentNickName: {{agentNickName}}
- X-QueueName: {{agentQueue}}
- X-AgentFirstName: {{agentFirstName}}
- X-AgentLastName: {{agentLastName}}
Note
The caller number specified in the Script Task is passed through the SIP headers when a third-party desktop application transfers the call to an agent.
If you select Agent AI:
Select the SIP Trunk connection method: Select the method based on your third-party vendor’s requirements (SIPREC or WebSocket).
-
If you select SIPREC:
- SIP URI: This is a pre-configured field. A copy button allows you to copy the SIP URIs.
- Network: To configure the Network, you can select one of the following:
- Under List of IP Address, type the values for Incoming IP Address in the textbox.
- Under Domain Name, provide the following:
- Fully Qualified Domain Name: The domain name specifies all domain levels, including the top-level domain and the root zone. Learn more.
- DNS Resolve Method (Optional): Select an option from the list to translate IP addresses to domain names for resolution when the hostname is associated with multiple IP addresses. You can choose a-record, srv, naptr, or ms-lync.
- Agent AI Initiated transcription: Enable or disable auto transcription. When disabled, transcription starts automatically when an RTP stream is received at Kore’s SBC level.
- Record the calls: Enable or disable call recordings for third-party Agent Desktop integrations. These recorded calls can be accessed through a public API.
- (Optional) The E.164 Syntax is selected by default. Selecting this option prepends a + before the DID number.
- Siprec Identifier: Enter Siprec identifier values.
- DTMF Type: (Optional) Select the DTMF type. RC2833 is the default selection.
- Select an option from the list for SIP Transport Type. This field will set a protocol to route SIP traffic to servers and other endpoints. The available options are TCP, UDF, and TLS.
- (Optional) Set the SIP Credentials (username and password) to access your SIP trunk setup account.
- Under SIP Termination URI, enter the IP Address/Domain Name.
- Call control parameters: Define the parameters to control the call behavior. Click Add Parameter, enter the Parameter Name and Value, and click Save. Learn more.
- Enter the SIP Headers. You can include all available agent data in the SIP headers, enabling customers to use only the parameters relevant to their needs. The parameters are listed as key-value pairs:
-
If you select WebSocket:
- Connection URL (Generate URL): Copy the auto-generated URL and paste it into your third-party desktop configuration settings.
- Agent AI Initiated transcription: Enable or disable auto transcription. When disabled, transcription starts automatically when an RTP stream is received at Kore’s SBC level.
- Record the calls: Enable or disable call recordings for third-party Agent Desktop integrations. These recorded calls can be accessed through a public API.
- Call control parameters: Define the parameters to control the call behavior. Click Add Parameter, enter the Parameter Name and Value, and click Save. Learn more.
-
-
On the Forward to Phone Number window, reserve the phone numbers for Inbound Calls, Outbound Calls, or both by selecting the appropriate options.
-
Please wait for up to 10 minutes after saving for the IPs to be whitelisted.
Attach a Flow¶
Steps to attach a flow to the SIP Number:
-
Click + Attach Flow. Hovering over the link icon displays "No Flow Attached".
-
Select a Start Flow to add to individual numbers and click Done. You can add a start flow by clicking + New Start Flow. Learn more.
-
The attached flows appear. A pie icon appears below the attached flows. Hovering over the pie icon displays "Configured".
Edit a SIP Number¶
Steps to edit a previously added SIP number:
-
Make the necessary changes on the Transfer from IVR page, and click Next.
-
Make the necessary changes on the Forward to Phone Number page, and click Save.
-
A success confirmation message is displayed when the phone number is updated.
Delete a SIP Number¶
Deleting a SIP number means stopping all services associated with it.
Steps to delete a SIP number:
Voice Preferences¶
This section outlines the steps to configure Automatic Speech Recognition (ASR) and Text-to-Speech (TTS) for your Voice Gateway. You can configure the voice preferences to personalize the ASR Engine and the voice that plays for your TTS conversions by going to the Voice Preferences tab and clicking Manage.
Steps to configure Voice Preferences:
- Select the following on the Voice Preferences window:
- Language
- Automatic Speech Recognition Engine (ASR)
- ASR
You can choose between
- Microsoft Azure Speech Services,
- Google Cloud Speech-to-Text,
- Amazon Transcribe.
- Dialect
- Primary ASR Configuration (Advanced Setting)
- Fallback ASR Configuration (Advanced Setting)
- ASR
You can choose between
- Text to Speech Engine (TTS)
- TTS
You can choose between
- Microsoft Azure Speech Services,
- Google Cloud Text-to-Speech,
- AWS Amazon Polly,
- ElevenLabs,
- OpenAI TTS,
- PlayHT,
- Deepgram Text-to-speech.
- Voice
- TTS
You can choose between
- Voice Preview
- Sample Text: Enter Sample Text to preview your voice selection. You can play, navigate through the audio (Back/Forward), and adjust the preview volume. Clicking the More Options (⋮) button reveals options to adjust Playback Speed. Click the Play button next to any available voice to preview it. Voices are available for all TTS engines, but each engine has its voice options. Select a different Voice Language if required.
- Primary TTS Configuration (Advanced Setting)
- Fallback TTS Configuration (Advanced Setting)
-
Click Done once you have completed configuring your voice preferences. The set voice, language, and dialect apply to automated customer responses that use text-to-speech.
Configure ASR (Automatic Speech Recognition)¶
Configure Primary and Fallback ASR/TTS¶
ASR/TTS Fallback functionality can be implemented at various levels within the system, such as the application level, experience flow level, or even the call control parameter level. This mechanism ensures that if there is an error or failure with the primary ASR (Automatic Speech Recognition) or TTS (Text-to-Speech) service, the system will automatically switch to a secondary, or fallback, ASR/TTS configuration. By doing this, the fallback prevents interruptions in the service and ensures a seamless user experience, regardless of issues with the primary configuration.
- For optimal performance, it’s advised to configure the fallback with the same vendor in a different region/label.
Location 1 - Global Setting
In SmartAssist: Configurations > System Setup > Language & Speech > Voice Preferences > Show Advanced Settings.
Location 2 - Call Control Parameters
In SmartAssist: Automation > Select bot > Conversational Skills > Dialog Tasks > Select Dialog Task > Select the Node you want to configure > IVR Properties > Advance Controls > Call Control Parameters.
Location 3 - Experience Flows
In SmartAssist: Configurations > Experience Flows > Update/New Experience Flow > Speech Recognition Engine (ASR/TTS) > Show Advanced Settings.
Location 4 - Start Node in Experience Flow
Note
- This feature is available only in ‘SmartAssist’ and not implemented in ‘XO11’. We will implement it in the next releases.
- For now, you can add Primary & Fallback ASR/TTS from the same vendor only.
- Example: If you have selected the ‘Microsoft Azure Speech Services’ vendor as the ASR, you can enter a label name from the Microsoft vendor itself, such as ‘my_azure-US’.
- You can configure the label name in Primary ASR/TTS configuration and Fallback ASR/TTS configuration under Show Advanced Settings.
- The fallback ASR/TTS configuration should not be the same as the Primary ASR/TTS configuration.
- Both Primary and Fallback ASR/TTS configurations should be available in VG Speech Services otherwise you will not be able to configure in SmartAssist.
- The Credential Status of the Speech services configured in VG should be verified. If credential status is failed then ASR/TTS conversations will fail.
- In Call control parameters,
- You can configure the fallback for different vendors. But for optimal performance, it’s advised to configure the fallback with the same vendor in a different region.
- In-call control parameters don’t have any validation of duplicate values for Primary and Fallback configurations, so you have to pay closer attention to spelling mistakes.
Supported Languages and Dialects¶
The following languages and dialects are supported:
English (Australia) | English (Nigeria) |
English (Canada) | English (Pakistan) |
English (Ghana) | English (Philippines) |
English (Hong Kong) | English (Singapore) |
English (India) | English (South Africa) |
English (Ireland) | English (Tanzania) |
English (Kenya) | English (United Kingdom) |
English (New Zealand) | English (United States) |
Voice Call Properties (Account Level)¶
This section describes global voice call properties that apply to your entire Voice Gateway setup. Voice call properties are fundamental aspects that define the quality and reliability of communication over Voice Gateway. These properties include End of Task Behavior, Event Configuration, Call Termination Handler, Call Control Parameters, Timeout Prompt, Barge-in, Timeout, and No. of Retries, which collectively determine the user experience during a voice call. Configuring these properties is crucial for ensuring seamless and effective voice communication over network infrastructures.
You can configure the voice call properties by going to the Voice Preferences tab and clicking Configure on the Voice Call Properties section.
The Voice Call Properties window is displayed.
End of Task Behavior¶
Define the bot's behavior when reaching the end of a task. You can choose the following actions:
Event Configuration¶
Define how to proceed when this event is detected. You can choose the following actions:
-
Initiate Task: Select a task from the dropdown menu to be initiated when the event is detected.
-
Run Script: Enter the script to be run when the event is detected.
-
Show Message: Click + Add Response, enter the message to be displayed when the event is detected, and click Done.
Call Termination Handler¶
Specify the intent (dialog) to handle the call termination event from the dropdown.
Timeout Prompt¶
Define prompt to be played when user input is not received within the time-out period.
Barge-in¶
Define whether user input will be allowed while a prompt is in progress. By default, this option is disabled. Learn more.
Timeout¶
Define the maximum wait time to receive user input. The maximum wait time is 60 seconds.
No. of Retries¶
Define the maximum number of retries allowed.
Click Save. A success message is displayed, and the voice call properties are saved.