Voximplant Android SDK changelog








  • Introduce ClientConfig.packageName field to specify Android application package name to enable push notifications between different Android applications using a single Voximplant application.




  • Fix for login fail with access token, if previously login was performed via one time key
  • Stability improvements for react-native




  • Introduce RejectMode to manage reject call behavior
  • Fix crashes on emulator


  • Improve stability of connection to Voximplant Cloud
  • Introduce new API for audio device management. Please consider the changes in audio device selection described in IAudioDeviceManager documentation
  • Front facing camera is now mirrored rendering by default. Use ClientConfig.enableCameraMirroring to disable camera mirroring.
  • ClientConfig.enableHWAcceleration option is split into 2 options: for hardware acceleration for encoding and decoding. Both are true by default.



  • Deprecated API: fix for remote video rendering issues after midcall operations in the call with web sdk
  • New API: if the call is on hold, using ICall.receiveVideo() will result in the MEDIA_IS_ON_HOLD error that is reported via completion handler callback
  • New API: introduce new API IClient.getClientState() for checking current client state
  • New API: introduce new login errors: INVALID_STATE and TIMEOUT reported via IClientLoginListener.onLoginFailed API
  • IClient.connect API may throw IllegalStateException in case if attempt to connect was performed in invalid state
  • ICall.start and ICall.answer may throw CallException if RECORD_AUDIO (for audio or video call) and CAMERA (for video call) are not granted
  • New API: introduce ILogListener interface to collect and handle Voximplant Android SDK logs
  • Fix for ICallListener.onLocalVideoStreamRemoved event invocation in case if local video stream was not previously added
  • Calling IClient.disconnect API in disconnected state will invoke IClientSessionListener.onConnectionClosed


  • New API: It is now possible to explicitly specify if video send/receive is required while initiating an outgoing call or accepting incoming call. You can find related changes in the IClient.callTo and ICall.answer
  • Bluetooth audio device support is improved. It is now recommended to enable speakerphone after call is connected
  • New API: Fix for crash on calling ICall.getCallDuration() after the call is disconnected
  • Fix for IClientSessionListener.onConnectionFailed is not invoked in some cases
  • ICall.start API now throws CallException if the call has been already started


  • Messaging API


  • Fix for onCallDisconnected event that was not invoked on emulators and devices without bluetooth support


  • Introduce ICustomVideoSource for alternative video frame source for a call
  • Bluetooth device support
  • Add ability to set custom data on call answer
  • New API: introduce onICECompleted and onICETimeout call events
  • New API: if call is on hold, using ICall.sendVideo() will result in the MEDIA_IS_ON_HOLD error that is reported via the completion handler callback.
  • Dependency update for the upstream (without the -compat prefix) Android SDK, okhttp is updated to version 3.8.1


  • Introduce IAudioFocusChangeListener to monitor and handle audio focus change events


  • Fix for crash on slice height check for texture output
  • Fix for camera is not switched if camera is opening
  • Fix for crash on creating EGL context


  • Deprecated API: fix for video rendering issues, if video renderer is set before video stream is added


  • Fix for audio focus is not abandoned in some cases
  • Deprecated API: fix for crash when call is rejected
  • Fix for crash on adding video renderer


  • Default audio device is changed from speakerphone to earpiece
  • Now all SDK logs are printed under the same tag (VOXSDK) in logcat. So it is easier now to grep them and provide to support team in case of any issues
  • Bugfix and improvements
  • New backward-compatible API. Please note, that you should not use old and new API simultaneously.
  • Experimental h.264 support can be enabled via the new API
  • New -compat version that uses legacy dependencies (like old OKHttp 3.4.1 version)
  • Fix for crash on fallback to software encoder or decoder
  • Hold functionality available via new API


  • Fix for inability to select front camera on call start


  • Add support for early media
  • Multiple call management bugfix and improvements
  • Fix for onCallAudioStarted callback that was not invoked in some case
  • Fix for crash on start to render local video on Samsung s3


  • API changes: add the ability to indicate server name for connection. VoxImplantClient.connect(boolean) is changed to VoxImplantClient.connect(boolean, String)


  • Add the ability for custom video renderer implementation
  • Fix for changing speakerphone mode issues on some android devices
  • Fix for crash on cyclic attempts to reconnect when internet is turned off on android device
  • Improve echo cancellation on Xiaomi Mi Note
  • onCallDisconnected event is received if internet connection is lost during active call
  • API changes: VoxImplantClient.enableDebugLogging() method is removed. Use VoxImplantClientConfig to enable debug logging instead
  • API changes: VoxImplantClient.setAndroidContext(Context, boolean, boolean) is changed to VoxImplantClient.setAndroidContext(Context, VoxImplantClientConfig). All configurations for VoxImplantClient can now be set via VoxImplantClientConfig


  • Multiple devices can now login through access tokens with a same Voximplant user name
  • Audio quality improvements
  • Fix for some renegotiation issues with Firefox
  • Reduce dependencies size
  • Emulator support