vania-janet/multiturn-rag-retrieval-data huggingface dataset:
Click Users, and then locate and click the user account you want to use for the integration.
4. Click the Access Keys tab.
5. Click Generate New Access Key.
6. Click Show Secret Key, and copy the secret key to a secure location.

You cannot retrieve the secret key again after you complete the next step and Save. You must generate a new key if the current one is lost or forgotten.
7. Click Save.







 Set up the integration 

To complete setup, you must have an assistant ready to deploy, your NICE CXone access keys, and phone numbers allocated for this integration.

To integrate your assistant with NICE CXone:



1. In the Integrations section on the main page for your assistant under Essential Channels, you will see a tile for Phone.
2. On the Phone tile, click Add.
3. On the pop-up window, click Add again.
4. Select NICE CXone on the Select contact center page.

Click Next.
5. On the Connect to contact center page, specify the following values: - the Authentication URL from NICE CXone - the API URL, which is the Admin API endpoint from NICE CXone - the Access key ID - the Access key secret

Click Test connection to verify the credentials.

Click Next.
6. On the Phone number page, enter a phone number you allocated for the NICE CXone integration. You can add more phone numbers later.

Click Next.
7. On the Speech to Text page, select the instance of the Speech to Text service you want to use.



* If you have existing Speech to Text instances, select the instance you want to use from the list.
* If you do not have any existing Speech to Text instances, click Create new instance to create a new Plus or Enterprise instance.



8. In the Choose your Speech to Text language model field, select the language you want to use.

The list of language models is automatically filtered to use the same language as your assistant. To see all language models, toggle the Filter models based on assistant language switch to Off.
Integrating with phone and NICE CXone contact center ![Plus or higher plans only](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/plus.png) 

IBM Cloud

Connect your assistant to a NICE CXone contact center with live agents.

Transfer customers from a chat with your assistant to live agents who can help them by phone. If customers ask to speak to someone, your assistant can forward them directly to customer support with the conversation history.

This integration creates a connection between your assistant and a contact center using NICE CXone.

You need a Plus or Enterprise Plan to use this feature.



 Before you begin 

You must have a NICE CXone account and phone numbers allocated for this integration.



1. Go to the [NICE website](https://www.nice.com/).
2. Create an account.
3. Follow the instructions to get phone numbers or select existing phone numbers.







 Generate NICE CXone access keys 

Access keys are used for authentication and consist of two parts: an access key ID and a secret access key.

To generate NICE CXone access keys to use with your assistant:



1. Log in to the NICE CXone console.
2. Click the app selector ![appselectoricon.png](https://help.nice-incontact.com/content/resources/images/icons/appselectoricon.png) and select Admin.
3. Click Users, and then locate and click the user account you want to use for the integration.
4. Click the Access Keys tab.
5. Click Generate New Access Key.
6. Click Show Secret Key, and copy the secret key to a secure location.

You cannot retrieve the secret key again after you complete the next step and Save. You must generate a new key if the current one is lost or forgotten.
7. Click Save.







 Set up the integration
For instructions, see [Transferring a call to a live agent](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-phone-actionsphone-actions-transfer).

Use the following format:

{
"generic": [
{
"response_type": "connect_to_agent",
"transfer_info": {
"target": {
"nice_cxone": {
"custom_data": {
"p2": "test"
}
}
}
},
"agent_available": {
"message": "Ok, I'm transferring you to an agent."
},
"agent_unavailable": {
"message": "Agent is unavailable."
}
}
]
}
Show more

Parameters listed in the custom_data object are transferred to the [signal](https://developer.niceincontact.com/API/AdminAPI/Contacts/Signal%20a%20Contact) REST API.

Supported parameters are p2, p3, ... p9. Note that p1 is preserved and used by the phone integration for passing the session history key into the NICE CXone script.
[checkmark icon](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/phone-checkmark-save.png) to save each number.
* To import a set of phone numbers that are stored in a comma-separated values (CSV) file, click the Upload a CSV file icon (![Add phone number](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/phone-integ-import-number.png)), and then find the CSV file that contains the list of phone numbers.

The phone numbers you upload will replace any existing numbers in the table.









 Advanced configuration options 

Click the Advanced options tab to make any of the following customizations to the call behavior:



 Handle call and transfer failures 

You can configure the phone integration to transfer the caller to a human agent if the phone connection fails for any reason. To transfer the caller to a human agent automatically, make the following configuration selections:



* SIP target when a call fails: Add the SIP endpoint for your support agent service. Specify a SIP or telephone URI for a general call queue that can redirect requests to other queues. For more information, see [Configuring backup support](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-phonedeploy-phone-transfer-service).
* Call failure message: Add the message to say to a caller before you transfer them to a human agent.



If, after you transfer the caller to a human agent, the connection to the human agent fails for any reason, you can configure what to do.



* Transfer failure message: Add the message to stream to callers if the transfer to a human agent fails. The message can be up to 1,024 characters in length.
On the Phone number page (only for Integrate with your contact center and Use an existing phone number with an external provider), specify the phone number of the SIP trunk. Specify the number by using the international phone number format: +1 958 555 0123. Do not surround the area code with parentheses.

Currently, only one primary phone number can be added during initial setup of the phone integration. You can add more phone numbers in the phone integration settings later.

Click Next.
8. On the Speech to Text page, select the instance of the Speech to Text service you want to use for the phone integration.



* If you have existing Speech to Text instances, select the instance you want to use from the list.
* If you do not have any existing Speech to Text instances, click Create new instance to create a new Plus instance.



9. In the Choose your Speech to Text language model field, select the language model you want to use.

The list of language models is automatically filtered to use the same language as your assistant. To see all language models, toggle the Filter models based on assistant language switch to Off.

If you created specialized custom models that you want your assistant to use, choose the Speech to Text service instance that hosts the custom models now, and you can configure your assistant to use them later. The Speech to Text service instance must be hosted in the same location as your Watson Assistant service instance. For more information, see [Using a custom language model](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-phone-actionsphone-actions-custom-language).

For more information about language models, see [Languages and models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-models) in the Speech to Text documentation.

Click Next.
10. On the Text to Speech page, select the instance of the Text to Speech service you want to use for the phone integration.



* If you have existing Text to Speech instances, select the instance you want to use from the list.
* If you do not have any existing Text to Speech instances, click Create new instance to create a new Standard instance.



11.
"assistant_phone_number":"+18882346789",
"sip_custom_invite_headers": {
"X-customer-name": "my_name",
"X-account-number": "12345"
}
}
}
}
}
Show more

You can then reference these headers in your assistant. For example, you might check the header value in a step condition to determine the next step. You can also use these headers when searching the assistant logs; for example, you might search for a custom header to find all the messages associated with particular account.
* Disable the ring that callers will hear while the assistant is contacted: Choose whether you want the caller to hear a signal that indicates that the assistant is being contacted.

A 180 Ringing response is sent from the assistant back to the SIP trunk provider while your assistant processes the incoming call invitation. The ringing response is sent by default.
* Don't place callers on hold while transferring to a live agent: Choose whether the phone integration puts the caller on hold.

If your SIP trunk provider manages holds, disable this feature. For example, some SIP trunk providers prefer to have the assistant send a SIP REFER request, so they can put the call on hold themselves.



For more information about the SIP protocol, see [RFC 3261](https://tools.ietf.org/html/rfc3261) and about the RTP protocol, see [RFC 3550](https://tools.ietf.org/html/rfc3550).





 Configuring backup call center support 

When you use the phone integration as the first line of assistance for customers, it's a good idea to have a live agent backup available. You can design your assistant to transfer a call to a human in case the phone connection fails, or if a user asks to speak to someone.

Your company might already have one or more phone numbers that connect to an automatic call dispatcher (ACD) that can queue callers until an appropriate agent is available. If not, choose a call center service to use as your backup.

A conversation cannot be transferred from one integration type to another.
In this case, you can enable the TCP keep-alive on the cloud application, to keep the connections alive.





 Destination Settings 

Once your destination has been created, click the settings icon ![Setting Icon](https://cloud.ibm.com/docs-content/v1/content/690bf9a59650e0582967be8899e39840589532f7/SecureGateway/images/settingIcon.png?raw=true) to see the following information:

![Mutual Authentication Info Panel](https://cloud.ibm.com/docs-content/v1/content/690bf9a59650e0582967be8899e39840589532f7/SecureGateway/images/infoPanelMA.png?raw=true)



* The destination ID required to use the API.
* On-premises destinations will have a cloud host and port. This information is required by your application in order to connect to your on-premises resource.
* Cloud destinations will have a client port. This is the port the Secure Gateway Client will be listening on in order to connect your on-premises application to your cloud resource.
* The resource host and port this destination is pointed to.
* When the destination was created
* When the destination was last modified







 Reactivate destination 

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

After you [reactivate the gateway](https://cloud.ibm.com/docs/SecureGateway?topic=SecureGateway-add-sg-gwreactivate), you can reactivate the destination by clicking the wrench button !
Securing application connections in C MQI & JMS programs 

This document covers connecting securely to an MQ on Cloud queue manager using "C MQI" and "JMS" applications. You will need the application user name and password which you downloaded in the prerequisite steps. You will also need the MQ client for your operating system, which may be part of a full MQ installation, or may be downloaded separately from [here](https://developer.ibm.com/components/ibm-mq/articles/mq-downloads).



 Prerequisites 



1. For establishing a secured connection to MQ on Cloud queue manager, you must first set up TLS encryption on the MQ channel. Refer [Enabling TLS security for MQ channels in MQ on Cloud](https://cloud.ibm.com/docs/mqcloud?topic=mqcloud-mqoc_configure_chl_ssl)
2. If you are not familiar with how to connect an application to an MQ on Cloud queue manager, there is documentation here: [Connecting a sample application to a queue manager](https://cloud.ibm.com/docs/services/mqcloud?topic=mqcloud-mqoc_connect_app_qm)
3. To use the JSON CCDT definition for your application, you must have a 9.1.2 (or above) installation of the client.







 Tasks specific to the C MQI Program 



 Alter the client channel definition table (CCDT) 

As part of the prerequisites, you downloaded the JSON CCDT queue manager description earlier. By default, it does not contain the cipher specifications that you associated with the channels, so you have to add that now, adding a transmissionSecurity definition for each channel.

For example:

"channel": [
{
"name": "CLOUD.ADMIN.SVRCONN",
"clientConnection": {
"connection":
{
"host": "myqueuemanager.qm2.us-south.mq.appdomain.cloud",
"port": 31500
}
4. Select bookinfo from the top Namespace bar.
5. Under Display, select Security. You should see lock icon on all the arrows(traffic).
6. To confirm your traffic is secure, click on the arrow from productpage to v1 and you should see mTLS Enabled with lock icon on the right pane.







 Step 8: Enable SSL for traffic coming in to your cluster (HTTPS) 

In this section, you will create a secure Route to the Ingress Gateway with Edge termination using the default certificate provided by Red Hat OpenShift on IBM Cloud. With an edge route, the Ingress Controller terminates TLS encryption before forwarding traffic to the istio-ingressgateway Pod.



1. Launch the Red Hat OpenShift on IBM Cloud console
2. Under Networking and then Routes,
3. Choose the istio-system project from the top bar and then click Create Route



1. Name: istio-ingressgateway-secure
2. Service: istio-ingressgateway
3. Target Port 80->8080(TCP)
4. Check Secure Route
5. TLS Termination: Edge
6. Insecure Traffic: None



4. Click Create.
5. Visit the new HTTPS URL under Location section of istio-ingressgateway-secure route. Remember to add /productpage at the end of the URL!







 Step 9: Remove resources 

You can either gradually remove individual resources or skip those steps and directly delete the entire cluster.



 Delete the application project 



* To delete the bookinfo project, run the below command

oc delete project bookinfo







 Removing the ServiceMeshControlPlane from the CLI 



1. Run this command to retrieve the name of the installed ServiceMeshControlPlane,

oc get servicemeshcontrolplanes -n istio-system
2. Replace <NAME_OF_CUSTOM_RESOURCE> with the name from the previous command, and run this command to remove the custom resource,
For a complete list of services and instructions on integrations, see [Integrating services](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-integrate-services).
* How does my application connect to a Hyper Protect Crypto Services service instance?

Hyper Protect Crypto Services provides the standard APIs for users to access. Your applications can connect to a Hyper Protect Crypto Services service instance by using the APIs directly over the public internet. If a more secured and isolated connection is needed, you can also use [private endpoints](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-secure-connection). You can connect your service instance through IBM Cloud service endpoints over the IBM Cloud private network.
* Can I import root keys from an on-premises HSM?

Importing root keys from an on-premises HSM is not supported.
* Can I use Hyper Protect Crypto Services only for cryptographic operations, but use other IBM Cloud services such as Key Protect for key management?

Yes. Hyper Protect Crypto Services can be used with Key Protect for key management. In this way, Hyper Protect Crypto Services is responsible for only cryptographic operations, while Key Protect provides key management service secured by multi-tenant FIPS 140-2 Level 3 certified cloud-based HSM.
* Can I use Hyper Protect Crypto Services for applications hosted in other cloud service providers such as AWS, Azure, and GCP?

Yes. Hyper Protect Crypto Services with Unified Key Orchestrator provides multicloud key management capabilities. See [Introducing Unified Key Orchestrator](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-introduce-uko) for details.
* How can I know whether the IBM Cloud services that I adopt can integrate with Hyper Protect Crypto Services for key encryption?

You can find a list of IBM Cloud services that can integrate with Hyper Protect Crypto Services in [Integrating IBM Cloud services with Hyper Protect Crypto Services](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-integrate-services).
Your new phone number is listed as an active number. Refer to the [Atmosphere Messaging Quick Start Guide](https://docs.intelepeer.com/atmosphere/Content/Atmosphere-SMS-Messaging/Atmosphere-SMS-Messaging-Quick-Start-Guide.htm)







 Set up the integration 

To set up the integration, complete the following steps:



1. Go to the Integrations page by clicking the integrations icon (![Integrations icon](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/integrations-icon.png)) in the left menu.
2. Click Add on the SMS tile.
3. Select SMS with IntelePeer tile.
4. Click Confirm.
5. From the [IntelePeer Atmosphere](https://atmosphere.intelepeer.com/home/) site, copy the API Authentication Token value and store it temporarily, so you can paste it into the SMS with IntelePeer integration setup page in the upcoming steps.
6. From the [IntelePeer Customer Portal](https://customer.intelepeer.com/) site, under the My Applications section, select SMS API Management. In the SMS Management title bar, click the gear icon, here you will set the SMS Secret Input. The Secret Input is used to prevent your webserver webhook from processing any inbound-SMS POST request that does not originate from IntelePeer. Set the Secret Input value here and remember it as you will need to use the value in the SMS with IntelePeer integration setup page in the upcoming steps.
7. Return to the SMS with IntelePeer integration setup page. Click Next to go to Step 1 of your SMS with IntelePeer integration setup.
8. Enter your Account Secret information. Click Next to go to Step 2 of your SMS with IntelePeer integration setup.
9. Enter your Auth token information. Click Next to go to Step 3 of your SMS with IntelePeer integration setup.
* [Use other third-party providers](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-deploy-phone-configdeploy-phone-config-request-setup)
* [Bring your own SIP trunk](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-deploy-phone-configdeploy-phone-config-byost)
* [Migrate from Voice Agent with Watson](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-deploy-phone-configdeploy-phone-config-migrate-from-va)





 Creating a Twilio SIP trunk 

To set up a Twilio SIP trunk, complete the following steps:



1. Create a Twilio account on the [Twilio website](https://www.twilio.com/sip-trunking).
2. From the Twilio website, go to the Elastic SIP Trunking dashboard. If you do not see it on the sidebar, go to the Search Bar at the top and search for 'Elastic SIP Trunking', then select Elastic SIP Trunks.
3. On the Elastic SIP Trunks page, click the Create new SIP Trunk button to create a SIP trunk. Enter a name for your SIP trunk and click Create. If you already have a SIP trunk, go to the next step.
4. From the Elastic SIP Trunks page, select your SIP trunk.
5. Select Origination from the navigation bar for your SIP trunk and configure the origination SIP URI.

You can get the SIP URI for your phone integration from the phone integration configuration page.
6. If you plan to support call transfers, enable Call Transfer (SIP REFER) in your SIP trunk. If you expect to transfer calls to the public switched telephone network (PSTN), also enable PSTN Transfer on your trunk.
7. Select Numbers from the navigation bar for your SIP trunk, and then do one of the following things:



* Click Add a number and then Buy a Number.
For more information, see [Introducing service instance initialization modes](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-initialize-instance-modeinstance-initialization-recovery-crypto-unit).





 Connectivity options 

Hyper Protect Crypto Services offers two connectivity options for interacting with the service APIs.

Public endpoints
: By default, you can connect to resources in your account over the IBM Cloud public network. Your data is encrypted in transit by using the Transport Security Layer (TLS) 1.2 protocol.

Private endpoints
: For added benefits, you can also enable [virtual routing and forwarding (VRF)](https://cloud.ibm.com/docs/account?topic=account-vrf-service-endpoint) and service endpoints for your infrastructure account. When you enable VRF for your account, you can connect to Hyper Protect Crypto Services by using a private IP that is accessible only through the IBM Cloud private network.
: To learn how to connect to Hyper Protect Crypto Services by using a private endpoint, see [Connecting to Hyper Protect Crypto Services on the IBM Cloud private network](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-secure-connection).





 Service endpoints 

If you are managing your Hyper Protect Crypto Services resources programmatically, see the following table to determine the API endpoints to use when you connect to the [key management service API](https://cloud.ibm.com/apidocs/hs-crypto), Unified Key Orchestrator,

[PKCS #11 API](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-pkcs11-api-ref), and [GREP11 API](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-grep11-api-ref).

Public

Private



Table 1. Lists public endpoints for interacting with Hyper Protect Crypto Services APIs over IBM Cloud's public network
You can set up a SIP trunk in the following ways:



* [Create a Twilio SIP trunk](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-phonedeploy-phone-twilio-setup)
* [Use other third-party providers](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-phonedeploy-phone-request-setup)
* [Bring your own SIP trunk](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-phonedeploy-phone-byost)
* [Migrate from Voice Agent with Watson](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-phonedeploy-phone-migrate-from-va)





 Creating a Twilio SIP trunk 

To set up a Twilio SIP trunk, complete the following steps:



1. Create a Twilio account on the [Twilio website](https://www.twilio.com/sip-trunking).
2. From the Twilio website, go to the Elastic SIP Trunking dashboard.
3. Select Trunks from the navigation bar and create a SIP trunk. If you already have a SIP trunk, click the plus sign (+). Enter a name for your SIP trunk and click Create.
4. From the Elastic SIP Trunks page, select your SIP trunk.
5. Select Origination from the navigation bar for your SIP trunk and configure the origination SIP URI.

You can get the SIP URI for your phone integration from the phone integration configuration page.
6. If you plan to support call transfers, enable Call Transfer (SIP REFER) in your SIP trunk. If you expect to transfer calls to the public switched telephone network (PSTN), also enable PSTN Transfer on your trunk.
7. Select Numbers from the navigation bar for your SIP trunk, and then do one of the following things:



* Click Buy a Number.