vania-janet/multiturn-rag-retrieval-data huggingface dataset:
Please be aware the breaking changes for the Node.js version upgrade, for example, the OpenSSL is upgraded to 1.1.1d because of Node.js upgrade which might cause some breaking changes on the TLS connections since the security policy is stricter than before, customer will get error when enable Reject unauthorized and connect to the endpoint which using cert/key which generate with insecure algorithm.







 v1.8.4 

Published date: 2019-10-22



 Features 



* Support the toggle rejectUnauthorized for Resource Authentication









 v1.8.3 Fixpack 1 

Published date: 2019-08-21



 Features and Fixes 



* Resolve error when sending the large data with HTTP/HTTPS request to on-cloud destiantion
* Resolve data truncated issue when sending data to on-perm destination
* Resolve the docker version Secure Gateway Client UI issue









 v1.8.3 

Published date: 2019-07-05



 Features and Fixes 



* Resolve Windows installer vulnerability for Secure Gateway Client UI Password
* Resolve unexpected behaviour when configure Secure Gateway Client UI port and password
* Resolve the error when generating logs
* Add the startup option to define the reconnect attempts
* Add addtional startup option field to the auto-start config
* Add proxy support for the gateway authentication request to port 443







 Breaking changes 

For Windows installer, the old Secure Gateway Client UI Password configuration cannot be reused since this release. Please remove the UI Password configuration before you reuse the old config file during installation.







 v1.8.2 Fixpack 2 

Published date: 2019-05-21



 Fixes 



* Resolve Secure Gateway Client UI vulnerability
* Resolve resource auth vulnerability
* Enhance the handling when both side close the connection in the same time
* Resolve collapsed resource when the on-prem destination connection close too fast







 Breaking changes 

You might get certificate error when the Secure Gateway Client is sending connection to the endpoint since this release, to fix the vulnerabilities, we start to check whether the certificate of the endpoint is authorized with the list of supplied CAs.
About Secure Gateway 



 How is it secure? 

IBM® Secure Gateway for IBM Cloud® maintains a single persistent encrypted (TLS v1.2) connection between the Secure Gateway Client (in the on-prem network) and the Secure Gateway Servers. With this bidirectional connection, we're able to securely transmit data between your cloud resources and your on-prem resources. For the connections on either end (between cloud resource and SG Servers and between on-prem resources and SG Client), the user defines the protocol (TCP, TLS, HTTP, HTTPS, UDP) and security measures (mutual authentication, iptables) placed on them.





 Bidirectional Support 

By combining the traditional on-premises destination with the new cloud destination, we achieve complete bidirectional support. The new cloud destination allows an on-premises service/application to send information/requests to a cloud application via the Secure Gateway Client. When creating a new cloud destination, the destination will contain resource host (the hostname or IP of the cloud application), resource port (the port that the cloud application will be listening on), and client port (the port that the Secure Gateway Client will be listening on). Once this destination is established, the on-premises service can then connect to the client port and begin sending data which will be sent through the client, to the Secure Gateway Server, and then to the specified cloud application.

The client port that is provided for a destination must be unique within the associated gateway. E.g., a single gateway cannot have two reverse destinations listening on port 12000, but two gateways can each have their own destination listening on port 12000. However, in the latter case, if both of the gateways are connected to the same client, only one of the destinations will be able to listen on port 12000.



 Cloud Destination 

![Cloud Destination](https://cloud.ibm.com/docs-content/v1/content/690bf9a59650e0582967be8899e39840589532f7/SecureGateway/images/reverseDestination.png?raw=true)





 On Premises Destination 

!
If the inter_digit_timeout_count parameter is not specified, the post-response timer resets after receiving each DTMF digit, and it stays active until either the post-response timeout count is met or the collection completes. This value is a positive integer no higher than 100,000 (or 100 seconds). no n/a 
 ignore_speech Whether to disable speech recognition during collection of DTMF digits, until either the collection completes or a timeout occurs. If this parameter is true, speech recognition is disabled automatically when the first DTMF signal is received. no false 
 stop_after_collection Whether to stop DTMF input when the DTMF collection completes. After this command, all DTMF input is ignored until it is reenabled using the start response type. no false 







 command_info.type : disable_barge_in 

Disables DTMF barge-in so that playback from the phone integration is not interrupted when callers press keys. If disable_barge_in is enbaled, keys pressed during playback are ignored.

This command has no parameters.





 command_info.type : enable_barge_in 

Enables DTMF barge-in so that callers can interrupt playback from the phone integration by pressing a key.

This command has no parameters.





 command_info.type : send 

Sends DTMF signals using the phone integration.

This command supports the following parameters:



 parameter description required default 

 digits An array of JSON objects where each element represents a DTMF tone to be sent to a caller. yes n/a 
 digits[].code The event code to send. In addition to the digits 0 through 9, you can specify the following codes:<br><br><br><br> * 10: <br> * 11: <br> * 12: A<br> * 13: B<br> * 14: C<br> * 15: D<br><br><br> yes n/a 
 digits[].duration The duration (in milliseconds) of the event. no 200 
 digits[].volume The power level of the tone, in dBm0.
* Enter a list of options and synonyms
* Generate a dynamic list from a variable





 Entering a list of options and synonyms 

Enter each choice in the Option fields. You can click Add synonyms to enter variations of an option value that customers might type. You can enter multiple synonyms in a comma-separated list.

For example, you might define the following options and synonyms:



Options example

 Option value Synonyms 

 Blue aqua, turquoise, navy 
 Red burgundy, crimson, sangria 
 Green lime, olive, forest 



To select an option, customers can click an option button or list item, such as Green. Or they can type Green or one of its synonyms, such as lime.

Synonyms are useful for a response that might be skipped because they enable the assistant to recognize an option that the customer might have chosen before seeing the list. For example, if the customer's original input was I want to order a large coffee, a synonym would enable the assistant to recognize large as equivalent to the actual size Grande.

You can save this configuration for reuse in other steps. To save a customer response, click the Save response for reuse icon. For more information about saved customer responses, see [Saving and reusing customer responses](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-collect-infosaved-customer-responses).

If you have a long list of options, such as all the states in the United States, you can choose to not show options in a list. This can be useful to prevent a phone integration from reading a long list of options to the customer.

To disable the list:



1. In the options customer response, click the Settings icon.
2. Click the Present options to the customer in a list toggle to off.







 Dynamic list of options 

Within the options customer response, you can use the dynamic setting to generate the list when you need to ask questions that are potentially different each time and for each customer. You need to set up a variable as the source of the options.
For more information about setting up an instance, see [Provisioning an instance](https://cloud.ibm.com/docs/log-analysis?topic=log-analysis-provision).

Currently, the Phone and SMS integrations are the only components of your assistant that write logs to the IBM Log Analysis dashboard.

After you create the instance, get log information by completing the following steps:



1. Go to the [IBM Cloud Logging](https://cloud.ibm.com/observe/logging) page.
2. Click Options, then choose Edit platform.
3. Select the region and instance, and then click Select.
4. To open the IBM Log Analysis console, click Open Dashboard.
5. The source name of the log events is Watson.

You can apply filters or search the logs by values such as a phone number or instance ID.







 Call Detail Records (CDRs) 

The phone integration can generate call detail record (CDR) events, which contain summary information about a single call. Call detail records are configured through a webhook. For more information, see [Logging activity with a webhook](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-webhook-logwebhook-log).

For detailed information about the structure of the CDR event payload, see [CDR log event reference](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-cdr-log-reference).

You can also inject custom data into the CDR event. For more information, see [Injecting custom values into CDR log events](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-phone-actionsphone-actions-cdr-custom-data).
Every Satellite location is set up with a control plane that establishes the secure connection back to IBM Cloud. The control plane consists of a highly available control plane master that runs in the IBM Cloud region that you choose. IBM controls and manages this control plane master. The control plane worker nodes run on your own compute hosts that you attached to your Satellite location.

IBM uses this connection to monitor your Satellite location, automatically detect and resolve capacity issues, monitor malicious activity, and roll out updates to the IBM Cloud services that you run on your infrastructure.

For more information, see the [Satellite architecture](https://cloud.ibm.com/docs/satellite?topic=satellite-service-architecturearchitecture).





 What IBM Cloud multizone metro do I choose for my Satellite location? 

You can choose any of the supported IBM Cloud region to manage your Satellite location. The metro determines where the master of your Satellite control plane runs. For more information, see the [Satellite architecture](https://cloud.ibm.com/docs/satellite?topic=satellite-service-architecturearchitecture). To reduce latency between the IBM Cloud region and your Satellite location, choose the region that is closest to where your physical compute infrastructure is.





 Can my hosts reside anywhere? 

Because you bring your own compute host infrastructure to your Satellite location, you can choose to host this infrastructure anywhere you need it. Hosts can be in your own on-premises data center, public cloud providers, or edge computing devices if they meet the [minimum host requirements](https://cloud.ibm.com/docs/satellite?topic=satellite-host-reqs) for Satellite.





 How can I deploy in an EU Cloud Certified Location? 

EU Cloud Certified Locations are managed from the Frankfurt region. To order these types of locations, ensure you choose fra as the value for the --managed-from option.

Example command:

ibmcloud sat location create --name LOCATION_NAME --coreos-enabled --managed-from fra

or

ibmcloud sat location create --name LOCATION_NAME --managed-from fra





 What about latency requirements? 

As you select your infrastructure provider, consider the following latency requirements.
HTTPS TLS: Server Side connection where the host header is rewritten to match the on-premises hostname. 
 HTTPS: Mutual Auth TLS: Mutual Auth connection where the host header is rewritten to match the on-premises hostname. 







 Configuring Mutual Authentication 

For protocols enforcing mutual authentication, you will need to upload your own certificate or the server will automatically create a self-signed certificate/key pair for your application to use. This pair can be downloaded alongside the server certificate. ![Mutual Authentication Panels](https://cloud.ibm.com/docs-content/v1/content/690bf9a59650e0582967be8899e39840589532f7/SecureGateway/images/mutualAuth.png?raw=true)



 User Authentication 

The user authentication section is for managing the authorization of your requesting/connecting application with Secure Gateway. This field accepts a single certificate which should be the certificate your application will be presenting alongside any connection/request.





 Resource Authentication 

Resource authentication determines how Secure Gateway will attempt to connect to the defined resource. Three options are available: None, TLS (server-side), and Mutual Auth. Depending on your choice, different authentication options become available.

Enabling TLS on the connection to your resource is separate from the TLS used for User Authentication. TLS for User Authentication secures the access between your initial requesting application and Secure Gateway (e.g., between your IBM Cloud app and the Secure Gateway servers) while TLS for Resource Authentication secures the connection between Secure Gateway and your defined resource (e.g., between the Secure Gateway client and your on-premises database).



 Cloud/On-Premises Authentication 

This option becomes available by selecting TLS or Mutual Auth for your [Resource Authentication](https://cloud.ibm.com/docs/SecureGateway?topic=SecureGateway-add-destdest-resource-auth). The name of the field will match the [type of destination](https://cloud.ibm.com/docs/SecureGateway?topic=SecureGateway-add-destdest-types) you have chosen.
HTTPS TLS: Server Side connection where the host header is rewritten to match the on-premises hostname. 
 HTTPS: Mutual Auth TLS: Mutual Auth connection where the host header is rewritten to match the on-premises hostname. 







 Configuring Mutual Authentication 

For protocols enforcing mutual authentication, you will need to upload your own certificate or the server will automatically create a self-signed certificate/key pair for your application to use. This pair can be downloaded alongside the server certificate. ![Mutual Authentication Panels](https://cloud.ibm.com/docs-content/v1/content/690bf9a59650e0582967be8899e39840589532f7/SecureGateway/images/mutualAuth.png?raw=true)



 User Authentication 

The user authentication section is for managing the authorization of your requesting/connecting application with Secure Gateway. This field accepts a single certificate which should be the certificate your application will be presenting alongside any connection/request.





 Resource Authentication 

Resource authentication determines how Secure Gateway will attempt to connect to the defined resource. Three options are available: None, TLS (server-side), and Mutual Auth. Depending on your choice, different authentication options become available.

Enabling TLS on the connection to your resource is separate from the TLS used for User Authentication. TLS for User Authentication secures the access between your initial requesting application and Secure Gateway (e.g., between your IBM Cloud app and the Secure Gateway servers) while TLS for Resource Authentication secures the connection between Secure Gateway and your defined resource (e.g., between the Secure Gateway client and your on-premises database).



 Cloud/On-Premises Authentication 

This option becomes available by selecting TLS or Mutual Auth for your [Resource Authentication](https://cloud.ibm.com/docs/services/SecureGateway?topic=SecureGateway-add-destdest-resource-auth). The name of the field will match the [type of destination](https://cloud.ibm.com/docs/services/SecureGateway?topic=SecureGateway-add-destdest-types) you have chosen.
command_info.parameters object See [Applying advanced settings to the Speech to Text service](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-phone-actionsphone-actions-speech-advanced) N 



The command_info.type field can specify any of the following supported commands:



* configure: Dynamically updates the Speech to Text configuration. Configuration changes can be applied only to the next conversation turn, or for the rest of the session.



For detailed information about how to this command, see [Applying advanced settings to the Speech to Text service](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-phone-actionsphone-actions-speech-advanced).





 Example 

This example uses the speech_to_text response type with the configure command to change the language model used by the Speech to Text service to Spanish, and to enable smart formatting.

{
"generic": [
{
"response_type": "speech_to_text",
"command_info": {
"type": "configure",
"parameters": {
"narrowband_recognize": {
"model": "es-ES_NarrowbandModel",
"smart_formatting": true
}
}
},
"channels":
{
"channel": "voice_telephony"
}
]
}
]
}
Show more







 start_activities 

Sends a command to a channel integration to start one or more activities that are specific to that channel. You can use this response type to restart any activity you previously stopped using the stop_activities response type.



 Integration channel support 



 Phone 

 ![Yes](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/checkmark-icon.svg) 







 Fields 



 Name Type Description Required?
Chat The URL for where users can get direct contact with a support representative. 
 Slack The URL for the company Slack channel. 
 Phone number The company phone number where users can get direct contact with a support representative. 
 Other Any additional information, email, URL, or phone number that you want to provide. 



3. After you add all of your product's support details, provide the required URLs for your product.
4. Add all locations where you provide support for your product.
5. Add your escalation information. Do not use a personal phone number or email.
6. Provide your support contact information. This information is for internal use only and is not displayed on the product details page.







 Updating your product's support information 

If your product is already published to the IBM Cloud catalog, but you need to update your support details, you can easily do that by editing your published information and requesting an approval for them.

To update your support information, complete the following steps:



1. In the IBM Cloud console, click the Navigation Menu icon ![Navigation Menu icon](https://cloud.ibm.com/docs-content/v1/content/ff5860bfede49db3197c4bbba7f7123769bdc068/icons/icon_hamburger.svg) > Partner Center > Sell > My Products.
2. Select your product and click Support.
3. Click the Edit icon ![Edit icon](https://cloud.ibm.com/docs-content/v1/content/ff5860bfede49db3197c4bbba7f7123769bdc068/icons/edit-tagging.svg) for the field you want to update.
4. Click Save.

You can revert to the published state of your support information by clicking Revert changes.
5. Click Request approval when you're ready with your updates. The approval can take at least five business days.
6. After your request is reviewed and approved by the IBM Cloud team, publish your changes by clicking Publish approved changes.
Specify the following information:



* In the External Trunks field, click Select External Trunks. Select the trunk you created for Watson Assistant.
* In the Classifications field, add the applicable classifications. This should at least include National and the classification you created for Watson Assistant earlier. (The National route is used only to simulate the call in order to make sure the trunk is operational.)
* Toggle the State switch to Enabled.



![Genesys outbound route](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/phone-genesys-outbound-route.png)
14. Click Save Outbound Routes.
15. Go to the Simulate Call tab and click the Simulate Call button. The trunk should be shown as operational. (No actual call is made during simulation.)

![Genesys simulate call](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/phone-genesys-simulate-call.png)
16. Go to Phone Management and click Create new. Specify the following information:



* In the Phone Name field, specify a descriptive name.
* In the Base Settings field, select WebRTCPhone.
* In the Site field, select the site you want to use.
* In the Person field, select yourself.



17. In the Watson Assistant user interface, create a new phone integration. Specify the following information:



* When prompted, select Use an existing phone number with an external provider.
* Specify the phone number you assigned in the Genesys Number Plans setting. (Remember, this is not necessarily a real phone number; it is just the identifier you assigned.)
* Complete the phone integration setup process.
$0 Displays the matched text as-is. 
 $n If your regular expression pattern contains groups, you can specify a group number to return the matched text from the pattern group only. For example, if your regular expression consists of 3 groups that define a US phone number pattern, such as (d{3})-(d{3})-(d{4}), and you want to return only the area code portion of the phone number, you can specify $1. If the matched text is 212-555-1234, then the facet value is displayed as 212. Only specify a group as the facet value for patterns that you know will return matches. 
 {prefix-text}:$0 Adds hardcoded text in front of the facet name. You might want to use this option if you want to distinguish facets that are generated by this regular expression from facets that are similar but generated in some other way. For example, MyRegex:$0 results in a facet named MyRegex:212-555-1234. 



4. Click Save.



To import patterns, complete the following steps:



1. Define the patterns that you want to add in a JSON file.

The pattern definition must use the following syntax:

[
{
"name": "US Phone number",
"description": "US mobile phone number",
"pattern": "(\d{3})-(\d{3})-(\d{4})",
"facetPath": ".regex.usphonenumber",
"facetValue": "$0"
}
]

Keep the following notes in mind:



* The patterns must be defined in an array, even if you plan to define only one pattern.
* Escape any backslash () characters with a backslash.
* For more information about the facet value options, see the Regular expression facet value options table.



2. Click Import, and then choose the JSON file where the patterns are defined.
3. Click Save.





 Regular expression limits 



Regular expression plan limits