Voximplant. Blog

Phone Number Masking


How often do you think about masking your personal phone number? The question may seem strange for the first sight, but imagine the situation when you ordered a taxi and after the order had done the driver started calling you. This is not what you expected from the taxi service, right? On the other hand, look at it from the driver’s point of view. It isn’t great if previous customers would call and distract the driver during the work or (even worse) during the vacation.

Firstly, to have a delicate distance between you and service workers is rather better than have no one. Secondly, it is important for both sides to have the fastest way to contact each other. The Voximplant cloud can easily meet these requirements via Phone number masking approach. This article will guide you through all necessary steps to implement this functionality for the simplified case of only one driver and a few customers. Note that this solution is scalable for any number of drivers and customers.



Tagged in

ES7/2017 JavaScript syntax support

Both our cloud JavaScript engine and Web JavaScript editor now support modern JavaScript syntax. You can use “let”, “const”, “async”, “await”, arrow functions and other features known as “ES2017”. You can write code with our web-based editor or upload your code via HTTP API from a version control system of your choice. Following post highlights a few features of the new syntax that we ourselves like the most.

Safari 11 support

The latest version of our Web SDK is fully compatible with the new Safari 11 audio/video calls support. Please note that Safari imposes a number of restrictions for voice/video usage:

  • Web page should load with HTTPS
  • If voice or video call is initiated from iframe, this iframe and all iframes in-between should be loaded from the same domain as a website that loads them
  • Video will not autoplay on iOS Safari browser without the explicit user command.
  • Only H.264 video codec is supported, so set H264first flag to “true” while initializing the Web SDK.

User interface should be created in order for video to play during a call. It should be interactive element like an HTML “button” with “onclick” handler that calls “play” method on the “video” HTML element.

Messaging update

Voximplant Messaging API
A brand-new messaging API was added across Web, Android and iOS SDK. Single Voximplant user id can be used to log in from multiple SDK instances, with API to send online and offline messages across one-on-one or multi-user conversations. Both our client and server-side are highly optimized for minimal resource usage and push notifications support.

Messaging Features

  • One Voximplant user id can be used to login on multiple devices, with unread message count sync across all devices
  • Universal “conversations” that can be used to create one-on-one messaging, channels, public and private chats
  • Messages are saved if user is offline and delivered when they are back online
  • Push notifications support
  • “Moderators” support
  • “Typing” notification support
  • Channels, users and messages can be edited
  • Notifications for all event across all affected users
  • Conversations and messages can be saved to and loaded from app storage
  • Optimized for low cpu, memory and network usage

Coming Soon

  • Other messengers integration via HTTP API and callbacks

Getting started with Web SDK

Use the new Messenger singleton via getMessenger and createConversation/joinConversation API to access the Conversation object with a sendMessage method. Subscribe for different events to get notified when a conversation is created, new message arrives, new user joins a conversation etc.

Getting started with Android SDK

Use the new IMessenger singleton via getMessenger and createConversaton/joinConversation API to access the IConversation object with a sendMessage method. Subscribe for different events to get notified when a conversation is created, new message arrives, new user joins a conversation etc.

Getting started with iOS SDK

Use the new messenger singleton property via VIClient and createConversaton/joinConversation API to access the VIConversation object with a sendMessage method. Subscribe for different events to get notified when a conversation is created, new message arrives, new user joins a conversation etc.

Hot Summer Speech-to-Text Updates

Following Google’s release of new Speech API, we are happy to announce improved quality of call records transcription. No changes are required, your old code like will be producing more accurate results. In addition to that, you can now specify output format to get transcription in form of JSON file with timestamps for further processing. We are working on some examples that will be available in HowTo’s in the nearest future.

Screen Sharing in VoxImplant

Screen Sharing allows you to share information on your screen during a call. You can share the entire screen or one of the active windows.


The best way to understand any functionality is to build a simple demo application. Let’s create a demo app that allows username1 to make a video call to username2 and, during the call, users can share their screen with one another. The demo app has three video blocks: the first one is for your own video stream, the second one is for the incoming video stream and the third one is for viewing locally what is being shared.

To simplify the process, we will use our video chat demo as a boilerplate. You can follow the link and copy whatever piece of code you want. So let’s do it!

Tagged in ,

H.264 video call recording is now available (in mp4 format)

h264 avc mp4We are happy to announce that video calls that use H.264 video codec can now be recorded. Recorded video calls that use H.264 will be stored as mp4 files (calls with video in VP8 format are stored as webm files). There are few ways to enable H.264 in your video calls:
– Use H264first Config param (Web SDK)
– Use H264first flag in CallSettings (Web SDK)
– Mobile SDKs are being updated to let developers enable H264 in video calls

According to the following research from Chris Koehncke using H.264 instead of VP8 can save up to 50% in terms of power consumption https://www.chriskranky.com/webrtc-impacts-on-battery-life/ , in addition to that mp4/avc is widely used and supported by most players in both online and offline worlds.

See the example of video recording below (Firefox->Voximplant, no post-processing)

P.S. Feel free to ping us if you have any problems with video call recording

Voximplant mobile SDK for Unity in now available

Voximplant Unity SDK
We are happy to announce our new mobile SDK for Unity platform. Now Unity developers can use the SDK to embed real-time voice and video communication into VR/AR apps and games in minutes, we will take care of complexity and infrastructure. The SDK is compatible with Google Daydream. Please visit https://unity.voximplant.com/ to learn more.

Tagged in , , , , ,

Authorization using tokens instead of passwords

Storing and saving passwords inside applications is not safe. For better security our SDK provides two additional login methods: with the one-time login keys and with the renewable tokens. Keys omits the need to store passwords entirely by using your own backend that will generate a one-time login key each time your application needs to login the Voximplant cloud. Although very secure, the keys require your own backend to be created, while the “tokens” can be used entirely on the SDK side with some security and usability trade-offs that are explained in this article.

Tagged in

Push Notifications for Android

VoxImplant push notifications for Android are based on FirebaseCloud Messaging (FCM) platform and implemented as the “data messages”. Using notifications, a device can be awakened and an app started before a call arrives. Our SDK requires Android API 16 (4.1), while push notifications support also requires Play Services 10.0.1 or higher to be available on the device. Our Android SDK contains a sample application with all the code needed to handle push notification. Following tutorial explains that code and describes additional steps that should be performed to have a working Push Notifications solution for your mobile applications.

Push notifications are available since Android SDK version 2.1.0


Recent Posts

Dec 14, 2017 12:45
Phone Number Masking
Oct 16, 2017 12:59
ES7/2017 JavaScript syntax support
Sep 21, 2017 12:03
Safari 11 support
Aug 17, 2017 11:59
Messaging update
Aug 14, 2017 03:22
Hot Summer Speech-to-Text Updates
Aug 02, 2017 12:47
Screen Sharing in VoxImplant
May 02, 2017 12:08
H.264 video call recording is now available (in mp4 format)
Apr 17, 2017 10:58
Voximplant mobile SDK for Unity in now available
Feb 13, 2017 10:22
Authorization using tokens instead of passwords
Feb 03, 2017 01:45
Push Notifications for Android