vania-janet/multiturn-rag-retrieval-data huggingface dataset:
Mobile apps 

With IBM Cloud® App ID, you can quickly construct an authentication layer for your native or hybrid mobile app.



 Understanding the flow 

A mobile flow is useful when you are developing an app that is to be installed on a user's device (a native application). By using this flow, you can securely authenticate users on your app to provide personalized user experiences across devices.



 What is the flow's technical basis? 

Since native applications are installed directly on a user's device, private user information and application credentials can be extracted by third-parties with relative ease. By default, these types of applications are known as untrusted clients as they cannot store global credentials or user refresh tokens. As a result, untrusted clients require users to input their credentials every time their access tokens expire.

To convert your application into a trusted client, App ID uses [Dynamic Client Registration](https://datatracker.ietf.org/doc/html/rfc6749). Before an application instance begins authenticating users, it first registers as an OAuth2 client with App ID. Because of client registration, your application receives an installation-specific client ID that can be digitally signed and used to authorize requests with App ID. Since App ID stores your application's corresponding public key, it can validate your request signature that allows your application to be viewed as a confidential client. This process minimizes your application's risk of exposing credentials indefinitely and greatly improves the user experience by allowing automatic token refresh.

Following registration, your users authenticate by using either the OAuth2 authorization code or resource owner password[authorization grant](https://datatracker.ietf.org/doc/html/rfc6749section-1.3) flows to authenticate users.





 Dynamic client registration 



1. A user triggers a request by the client application to the App ID SDK.
2. If your app is not registered as a mobile client yet, the SDK initiates a dynamic registration flow.
3. On a successful registration, App ID returns your installation-specific client ID.







 Authorization flow 

Zoom

!
Phone integration configuration 

IBM Cloud

After you have set up the phone integration for your assistant, you can modify the phone integration settings to customize the call behavior.



 Handling 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, go to the Advanced tab in the phone integration settings, and 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 call center support](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-deploy-phone-configdeploy-phone-config-transfer-service).
* Call failure message: Add the message you want the assistant to say to a caller before it transfers the call to a human agent.



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



* Transfer failure message: Add the message you want the assistant to say to a caller if transfer to a live agent fails. The message can be up to 150 characters in length.
* Disconnect call on transfer failure: Choose whether to disconnect the call after the failure message. This option is enabled by default. If this option is disabled, when a call transfer fails, your assistant can disconnect or process a different action.

If you choose to leave a call connected despite a transfer failure, Watson Assistant will initiate a new turn to determine the next step. It's important that the Assistant be configured with an Action or webhook that can handle this scenario.



The phone integration supports disaster recovery by providing the ability to do a fast failover to another region instead of routing the call to a live agent when a service outage occurs. This is accomplished by sending a SIP 503 response to the upstream SIP trunking provider, instead of auto referring the call to a live agent when failures happen during the setup of a call.
1.29.4 21 April 2022 <br><br> * Fixed various bugs.<br><br><br> 
 1.29.3 14 April 2022 <br><br> * Fixed various bugs.<br> * Upgraded to Go 1.18.1.<br><br><br> 
 1.29.2 12 April 2022 <br><br> * Fixed various bugs.<br><br><br> 
 1.29.1 07 April 2022 <br><br> * Fixed various bugs.<br><br><br> 
 1.29.0 01 April 2022 <br><br> * Updated the --from-env-file option on the secret create, secret update, configmap create, and configmap update commands so that any lines in the specified file that are empty or begin with are ignored.<br> * Fixed various bugs.<br><br><br> 
 1.28.1 23 March 2022 <br><br> * Fixed various bugs.<br> * Updated translations for the CLI.<br><br><br> 
 1.28.0 18 March 2022 <br><br> * Added support for --max-scale=0 on the app create and app update commands. If you set this value to 0, the application scales as needed and is limited only by the resource quota for the project of your app.<br> * Fixed various bugs.<br> * Updated translations for the CLI.<br> * Upgraded to Go 1.18.0<br><br><br> 
 1.27.1 04 March 2022 <br><br> * Fixed various bugs.<br> * Upgraded to Go 1.17.8.<br><br><br> 
 1.27.0 02 March 2022 <br><br> * CLI 1.27.0 introduces an improved service binding implementation, which is used for all new service bindings. Existing applications and jobs continue to function normally. However, if you want to bind an additional service instance to an app or job, you must first delete any existing service bindings from that app or job.
They include several extra benefits, such as finer-grained access control by using IBM Cloud Identity and Access Management (IAM), the ability to connect service instances to apps and service across different regions, and an easy way to view usage per group. For more information about migration, see [Migrating Cloud Foundry service instances and apps to a resource group](https://cloud.ibm.com/docs/account?topic=account-migrate).

The max_alternatives parameter is now available for use with next-generation models
: The max_alternatives parameter is now available for use with all next-generation models. The parameter is generally available for all next-generation models. For more information, see [Maximum alternatives](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-metadatamax-alternatives).

Defect fix: Allow use of both max_alternatives and end_of_phrase_silence_time parameters with next-generation models
: Defect fix: When you use both the max_alternatives and end_of_phrase_silence_time parameters in the same request with next-generation models, the service now returns multiple alternative transcripts while also respecting the indicated pause interval. Previously, use of the two parameters in a single request generated a failure. (Use of the max_alternatives parameter with next-generation models was previously available as an experimental feature to a limited number of customers.)

Defect fix: Update French Canadian next-generation telephony model (upgrade required)
: Defect fix: The French Canadian next-generation telephony model, fr-CA_Telephony, was updated to address an internal inconsistency that could cause an error during speech recognition. You need to upgrade any custom models that are based on the fr-CA_Telephony model. For more information about upgrading custom models, see



* [Upgrading custom models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-custom-upgrade)
* [Using upgraded custom models for speech recognition](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-custom-upgrade-use)
* [Enrolling by using the SDK](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-appibp-console-app-enroll)
* [Invoking a smart contract by using the SDK](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-appibp-console-app-invoke)
* [Running the Commercial Paper sample](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-appibp-console-app-commercial-paper)



* [Prerequisites](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-appibp-console-app-commercial-paper-prereq)
* [Step one: Download the sample](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-appibp-console-app-commercial-paper-step-one-download-sample)
* [Step two: Install and Propose smart contract](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-appibp-console-app-commercial-paper-step-two-install-propose)
* [Step three: Generate certificates for your wallet](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-appibp-console-app-commercial-paper-step-three-generate-certificates)
* [Step four: Use the connection profile to build a Fabric gateway](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-appibp-console-app-commercial-paper-step-four-gateway)
The legacy version will stop being supported for Korean skills in March 2021. For more information, see [Legacy system entities](https://cloud.ibm.com/docs/assistant?topic=assistant-legacy-system-entities).

Disambiguation selection enhancement
: When a customer chooses an option from a disambiguation list, the corresponding intent is submitted. With this latest release, a confidence score of 1.0 is assigned to the intent. Previously, the original confidence score of the option was used.

Skill import improvements
: Importing of large skills from JSON data is now processed in the background. When you import a JSON file to create a skill, the new skill tile appears immediately. However, depending on the size of the skill, it might not be available for several minutes while the import is being processed. During this time, the skill cannot be opened for editing or added to an assistant, and the skill tile shows the text Processing.





 23 November 2020 

Deploy your assistant to WhatsApp!
: Make your assistant available through Whatsapp messaging so it can exchange messages with your customers where they are. This beta integration creates a connection between your assistant and WhatsApp by using Twilio as a provider. For more information, see [Integrating with WhatsApp](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-whatsapp).





 13 November 2020 

New coverage metric and enhanced intent detection model
: The following features are available in service instances hosted in all data center locations except Dallas.

Introducing the coverage metric!
: Want a quick way to see how your dialog is doing at responding to customer queries? Enable the new coverage metric to find out. The coverage metric measures the rate at which your dialog is confident that it can address a customer's request per message. For conversations that are not covered, you can review the logs to learn more about what the customer wanted. For the metric to work, you must design your dialog to include an Anything else node that is processed when no other dialog node intents are matched.
You might use the same instance of App Configuration for both scenarios for a total cost of just over $1600 per month.



* What are the capabilities, quotas, and limits for various aspects of the App Configuration plans?



Table 2. Capabilities, quotas, and limits for various pricing plans

 Lite Standard Enterprise 

 Number of collaborators (team members) No restriction No restriction No restriction 
 Max number of instances 1 No restriction No restriction 
 Instance life 30 days of inactivity No restriction No restriction 
 Base price for instance (monthly) Free Charge (see catalog page) Charge (see catalog page) 
 Monthly active entity IDs included with instance 10 1000 10,000 
 Monthly active entity ID overage Overage not allowed overage allowed overage allowed 
 Max monthly active entity IDs per instance 10 Unlimited Unlimited 
 API calls included with instance 5,000 100,000 1,000,000 
 API call overage price Overage not allowed Overage allowed Overage allowed 
 Max monthly API calls per instance 5,000 Unlimited Unlimited 
 Environments 1 15 15 
 Collections 1 20 Unlimited 
 Properties 10 (properties + flags) 1000 Unlimited 
 Property types All All All 
 Max property size 10 kB 10 kB 10 kB 
 Max storage size (all properties) 0.1 MB 10 MB 10 MB 
 Flags 10 (properties + flags) 100 Unlimited 
 Attributes Glean from response and custom attributes Glean from response and custom attributes Glean from response and custom attributes 
 Segments 3 <br><br> * <br><br><br> Unlimited 
 Segment definition rules per segment 3 <br><br> * <br><br><br> 25 
 Max targeting definition rules per instance 3 <br><br> * <br><br><br> 100 
 Targeting definition rules per feature <br><br> * <br><br><br> <br><br> * <br><br><br> 50 
 Delivery mode Websocket (server)pull or get (client) Websocket (server) pull or get(client) Websocket(server)pull or get (client) 
 Role-based access Env-level Env-level Env-level
Architecture decisions

 Requirement Component Reasons for choice Alternative choice 

 Provide access management and tooling for the workload that is deployed in the workload VPC Management VPC service Create a separate VPC service where SSH connectivity from outside is allowed 
 Provide compute, storage, and network services to support hosted applications and operations that deliver services to the consumer Workload VPC service Create a separate VPC service as an isolated environment, without direct public internet connectivity and without direct SSH access 
 <br><br> * Demonstrate compliance with control requirements of the IBM Cloud Framework for Financial Services<br> * Set up network for all created services<br> * Isolate network for all created services<br> * Ensure all created services are interconnected<br><br><br> Secure landing zone components Create a minimum set of required components for a secure landing zone Create a modified set of required components for a secure landing zone in preset 







 Network security architecture decisions 



Table 2. Network security architecture decisions

 Requirement Component Reasons for choice Alternative choice 

 <br><br> * Isolate management VPC and allow only a limited number of network connections<br> * All other connections from or to management VPC are forbidden<br><br><br> ACL and security group rules in management VPC More ports might be opened in preset or added manually after deployment 
 <br><br> * Isolate workload VPC and allow only a limited number of network connections<br> * All other connections from or to workload VPC are forbidden<br><br><br> ACL and security group rules in workload VPC Open following ports by default: 53 (DNS service) <br>All ports to other VPCs are open More ports might be opened in preset or added manually after deployment 
 Enable floating IP on bastion host to execute deployment Floating IPs on bastion host in management VPC Use floating IP on bastion host from IBM Schematics to complete deployment 
 Load VPN configuration to simplify VPN setup VPNs VPN configuration is the responsibility of the customer 
 Collect and store Internet Protocol (IP) traffic information with Activity Tracker and Flow Logs Activity Tracker 
 Securely connect to multiple networks with a site-to-site virtual private network 









 Next steps
You can also update other configuration settings for your app, including referencing a [different image](https://cloud.ibm.com/docs/codeengine?topic=codeengine-update-appupdate-app-crimage-console) or [different image build](https://cloud.ibm.com/docs/codeengine?topic=codeengine-update-appupdate-app-source-console) from the Code tab. From the Runtime tab, you can update [memory](https://cloud.ibm.com/docs/codeengine?topic=codeengine-mem-cpu-combo) and [application scaling](https://cloud.ibm.com/docs/codeengine?topic=codeengine-app-scale) settings for your app. From the Environment variables tab, you can add or update [environment variables](https://cloud.ibm.com/docs/codeengine?topic=codeengine-envvar) for your app. From the Command tab, you can add or update [command and arguments](https://cloud.ibm.com/docs/codeengine?topic=codeengine-cmd-args) to override settings within your container image.





 Updating your app to use project-only endpoints from the console 

By default, when you deploy an app, the app deploys such that it can receive requests from the public internet, from a private network, or from components within the project. Let's change the visibility of this app such that it is accessed only by other Code Engine resources that are running in the same Code Engine environment. Use the Domain mapping tab to change the visibility of an app.



1. Navigate to your application page. One way to navigate to your application page is to



* Locate the [Code Engine Projects page](https://cloud.ibm.com/codeengine/projects).
* Click the name of your project to open the Overview page.
* Click Applications to open a list of your applications. Click the name of your application to open its application page.



2.
License Mobility Deployment Process 



  Step-by-step deployment overview 

Review the License Mobility through Software Assurance Verification Guide for Customers. This document can guide you through the [process](https://download.microsoft.com/download/7/9/b/79bd917e-760b-48b6-a266-796b3e47c47a/License_Mobility_Customer_Verification_Guide.pdf).

1. Determine your license eligibility.

Decide which eligible products you want to deploy with Microsoft Azure or an Authorized Mobility Partner and how many licenses you require. Typically, the IT or procurement department in your organization can access the [Microsoft licensing agreement details](http://www.microsoftvolumelicensing.com). For a list of eligible products, refer to the [Product Terms](http://www.microsoftvolumelicensing.com).



*  Active Software Assurance is required on all licenses for eligible products.
*  Where applicable, you must maintain appropriate Client Access Licenses (CALs) with active Software Assurance.



2. Choose a License Mobility through Software Assurance Partner.

You may choose Microsoft Azure or an eligible Service Provider as a License Mobility through Software Assurance Partner. Find the [list of partners](https://www.microsoft.com/en-us/licensing/licensing-programs/software-assurance-license-mobility.aspx). Make sure the partner is a good match for your organization’s objectives and deployment plan.

3. Fill out a verification form.

Find the [license verification form for your region](http://www.microsoftvolumelicensing.com/DocumentSearch.aspx). The form asks you for your Agreement Number, Enrollment Number, and Software Assurance expiration date, so make sure that you have the information available. Guidance for completing the form is at the License Mobility web page listed in step 2.

A new form is required if you add a product, renew Software Assurance, or switch Authorized Mobility Partners.

4. Submit the verification form to Microsoft.

Your Microsoft channel partner can help you fill out the form properly.

5. Deploy your solution.

Work with your Authorized Mobility Partner to deploy the solution in their server farm. You can deploy while you wait for confirmation from Microsoft on your eligibility for License Mobility.
* 100 MB threshold (this is the recommended value for most applications)



AsperaTransferManagerConfig transferConfig = new AsperaTransferManagerConfig()
.withMultiSession(true);

AsperaConfig asperaConfig = new AsperaConfig()
.withTargetRateMbps(2500L)
.withMultiSessionThresholdMb(100);

TokenManager tokenManager = new DefaultTokenManager(new DelegateTokenProvider(API_KEY));

AsperaTransferManager asperaTransferMgr = new AsperaTransferManagerBuilder(API_KEY, s3Client)
.withAsperaTransferManagerConfig(transferConfig)
.withAsperaConfig(asperaConfig)
.build();

In the above example, the sdk will spawn enough sessions to attempt to reach the target rate of 2500 MBps.

Alternatively, session management can be explicitly configured in the sdk. This is useful in cases where more precise control over network utilization is desired.

The typical configuration for using explicit multi-session should be:



* 2 or 10 sessions
* 100 MB threshold (this is the recommended value for most applications)



AsperaConfig asperaConfig = new AsperaConfig()
.withMultiSession(2)
.withMultiSessionThresholdMb(100);

TokenManager tokenManager = new DefaultTokenManager(new DelegateTokenProvider(API_KEY));

AsperaTransferManager asperaTransferMgr = new AsperaTransferManagerBuilder(API_KEY, s3Client)
.withAsperaConfig(asperaConfig)
.build();

For best performance in most scenarios, always make use of multiple sessions to minimize any processing associated with instantiating an Aspera high-speed transfer.
* [Limitations](https://cloud.ibm.com/docs/framework-financial-services?topic=framework-financial-services-vpc-architecture-connectivity-bastion-tutorial-teleportteleport-limitations)
* [Configure Object Storage](https://cloud.ibm.com/docs/framework-financial-services?topic=framework-financial-services-vpc-architecture-connectivity-bastion-tutorial-teleportsetup-install-cloud-object-storage)
* [Configure App ID](https://cloud.ibm.com/docs/framework-financial-services?topic=framework-financial-services-vpc-architecture-connectivity-bastion-tutorial-teleportsetup-install-cloud-app-id)
* [Provision virtual server instances for Teleport Enterprise](https://cloud.ibm.com/docs/framework-financial-services?topic=framework-financial-services-vpc-architecture-connectivity-bastion-tutorial-teleportsetup-vsi)
* [Configure a security group for your virtual server instances](https://cloud.ibm.com/docs/framework-financial-services?topic=framework-financial-services-vpc-architecture-connectivity-bastion-tutorial-teleportset-up-security-groups)
* [Configure an access control list](https://cloud.ibm.com/docs/framework-financial-services?topic=framework-financial-services-vpc-architecture-connectivity-bastion-tutorial-teleportset-up-acl)
* [Configure virtual server instances for Teleport Enterprise](https://cloud.ibm.com/docs/framework-financial-services?topic=framework-financial-services-vpc-architecture-connectivity-bastion-tutorial-teleportsetup-install-teleport)
* [Log in to the bastion host](https://cloud.ibm.com/docs/framework-financial-services?topic=framework-financial-services-vpc-architecture-connectivity-bastion-tutorial-teleportsetup-login)