Avaya Client SDK

< Back to Package Overview

Build and Runtime Environment

Development Environment

  • Android Studio 4.1 or later

Runtime Environment

  • Android OS 7.x and higher (minimum API level is 24, target API level is 33)
  • 512 MB of memory is recommended to support audio, video and collaboration.

Root certificates installed by user and API level 24+

The platform trust store is used for trust chain validation for any TLS connections initiated by Client SDK. By default, applications with target API level 24+ don't trust certificates installed by user on Android 7 and higher. To allow your app to trust user-installed certificates, you need to add custom Network Security Config. Make two simple steps.

  • Add Network Security Config file (network_security_config.xml) in your xml resouces.


    
        
            
            
            
            
        
    

  • Add attribute android:networkSecurityConfig with link to this file into application element in your AndroidManifest.xml file.

...

  • Set attribute android:extractNativeLibs="true" into application element of your app's manifest when building the release version of your app, to package your native libraries, compressed in the APK. Eg: this may be useful to reduce the size of the APK when it approaches the max limit allowed by Play store. When building your app using Android Gradle plugin 3.6.0 or higher, the plugin sets this property to "false" by default.
  
 ...
 

Application Permissions

Users must grant applications permissions to access personal information. The table below shows the permissions that Android exposes, and the Client SDK service impact if the permission is not granted. Your application should request permissions based on the Client SDK services consumed by your application. Your application may request additional permissions beyond what the Client SDK can use.

Permission Impact if permission is not granted
Directly call phone numbers None
Take pictures and video Video input will not be available for the Calls service. Video capture is not available for Messaging service. Picture capture is not available for Messaging service.
Record audio Audio input will not be available for CSDK services, including calls and recording.
Notifications None
Modify your contacts Device contacts will not be loaded by the Client SDK Contacts Service, and device contacts will not be available within your application.
Read your contacts Device contacts will not be loaded by the Client SDK Contacts Service, and device contacts will not be available within your application.
Read calendar The Contacts Services self contact may not be identified by the Client SDK Contacts Service.
Read your own contact card The Contacts Services self contact may not be identified by the Client SDK Contacts Service.
Modify or delete the contents of your USB storage None
Read the contents of your USB storage None
Disable screen lock None
Find accounts on this device None
Full network access The Client SDK cannot interact with network infrastructure. A limited subset of Client SDK service capabilities will be available.
Access bluetooth settings Bluetooth devices may not be available for media services.
Run at startup None
Control vibration None
Prevent phone from sleeping None
Change your audio settings Client SDK cannot modify audio settings.
Delete all app cache data None
Send sticky broadcast None
Change network state When user prefers to use cellular network when both WiFi and cellular networks are available, then Application will not be able to route the network traffic through cellular data interface.The traffic will be routed through WiFi.

Android Devices Validated by Avaya

It is the responsibility of the application developers to ensure that applications are compatible and fully tested with devices which meet the minimum requirements.

Use of Undocumented/Internal APIs

Any APIs visible in the library that are not documented or are marked as for internal Avaya use only should not be used by third party applications. These APIs are internal to the Avaya Client Services library and their use by third party applications could result in unpredictable behavior of the resulting application.

No support will be provided by Avaya related to the use of any internal APIs.