Release Notes for Mobile SDK 5.2.36
User documentation
2022-06-16
Release Notes for Mobile SDK 5.2.36¶
Issues Fixed¶
General¶
- Optimize WebRTC integration so it responds quicker to client events.
- Shutdown WebRTC resources when the last call ends to reduce resource usage when idling.
- Improved handling of SDK shutdowns - the SDK should now be fully restartable on both Android and iOS.
- The SDK logs now show a warning when trying to make a second call when mutli-call is disabled by configuration.
- Change call key format from an auto incrementing number to a UUID, making logging and tracking calls easier by having a more unique identifier that can't be confused with PJSIP's call ID
- The SDK keeps an archive of finished call data, so that the application can request information about calls (by call key) for calls that are no longer available in the list of active calls.
- The SDK default log level is now "info" (instead of "error") so that progress reports and other important (non-error) activity information can be seen without enabling full debug logging.
- The SDK is more resilient to white space in the license key and also detects and reports invalid license keys and the reason they are invalid.
- A valid SIP account configuration no longer needs a non-empty user name (this is useful for registration-free and registration-less workflows where authorization is reached by other means).
- A collection of performance optimizations and logging improvement.
Android¶
- Fixed service auto-restart not initializing the license correctly.
- Add API
CloudonixSDKClient.setServiceAutoRestart(boolean)
to disable the service auto-restart on boot when it isn't needed. - Add API
CloudonixSDKClient.setForegroundRes()
to set the individual resources for the in-call foreground service notification. - Fixed crash when the foreground service notification icon provided is invalid or missing - instead, issue a warning in the log and don't use an icon.
- Allow application to set the SDK default log level before initialization by setting a static field:
CloudonixSDKClient.defaultLogLevel = CloudonixSDKClient.LOG_LEVEL_DEBUG
. - Deprecate
getInstance()
style SDK initialization - The application should use one of theCloudonixSDKClient
constructors to initialize the SDK and the application should be in charge of the SDK lifecycle - the SDK can be shutdown by Java finalization. - Deprecate
CloudonixSDKClient.bind()
method, as it doesn't map to the Android concept of service binding (and hasn't for a while now). Applications should use the newstart()
methods.
iOS¶
- Remove access to internal
AudioSessionManager
class - applications should not have been using it. UseCloudonixSDKClient
APIs to control audio routing. - The SDK now clears the licensing certificate cache on every re-install to prevent using stale certificates from a previous installation.
Known Issues¶
- #426 - On Android, SDK cannot use NAT64 networks. This is a limitation of the operating system. Use dual-stack SIP servers to support IPv6 only clients.
- #365 - WiFi to WiFi handoff can cause the call to disconnect if the handoff is too slow (~30 seconds), especially using TLS transport.
- #135 - DNS SRV isn't supported.