VoxImplant Android SDK changelog


  • Fix for invocation IClientLoginListener.onLoginSuccessful after login timeout
  • IClientSessionListener.onConnectionClosed is invoked instead of IClientSessionListener.onConnectionFailed in case if connection to VoxImplant Cloud is lost. IClientSessionListener.onConnectionFailed is now invoked only in case if connection to VoxImplant Cloud could not be established for any reason.
  • New API: Introduce new login error NETWORK_ISSUES for the cases when the connection to VoxImplant Cloud is lost during login
  • Improvements for connect functionality
  • Improvements for video call on Nexus 7 device


  • 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: intoduce 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 incoiming 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 spekerphone 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.setAndroidConext(Conatext, 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