Tag: voxengine

Blind transfer support for SIP phones

A lot of traditional telephony services rely on this function. It lets callee transfer a call to another person by pressing special transfer button and entering another person's number (usually extension number). It's called blind transfer because the person who transfers the call won't talk with the person to whom he transfers it.

Blind transfer The following scheme describes the process in Voximplant terms:

read more >>>

Microphone testing service


Many Skype users are familiar with its microphone testing service (echo123). When you call the testing service it asks you to say something and records the stream, then it plays it back and if you hear your voice it means that your audio recording device is configured correctly. You can implement similar scenario for your VoxImplant application by using the following VoxEngine scenario:


let fileURL;
let call;

VoxEngine.addEventListener(AppEvents.CallAlerting, (e) => {
  call =;;, (e) => {
    call.say('Hello, welcome to VoxImplant testing service.' +
      'After the beep please record your message,' +
      'afterwards your message will be played back to you.',
    call.addEventListener(CallEvents.PlaybackFinished, handleIntroPlayed);

  });, VoxEngine.terminate);

function handleIntroPlayed(e) {
  call.removeEventListener(CallEvents.PlaybackFinished, handleIntroPlayed);
  call.addEventListener(CallEvents.PlaybackFinished, handleRecordStart);

function handleRecordStart(e) {
  call.removeEventListener(CallEvents.PlaybackFinished, handleRecordStart);
  let rec = VoxEngine.createRecorder();
  rec.addEventListener(RecorderEvents.Started, handleRecordingStarted);
  rec.addEventListener(RecorderEvents.Stopped, handleRecordingStopped);;
  setTimeout(() => {
  }, 6000);

function handleRecordingStarted(e) {
  fileURL = e.url;

function handleRecordingStopped(e) {
  call.addEventListener(CallEvents.PlaybackFinished, (e) => {
    setTimeout(handleRecordPlayed, 1000);

function handleRecordPlayed() {
  call.say('If you were able to hear your own voice, ' +
    'then you have configured your audio recording device correctly.' +
    'If you hear this message but not your own voice then you need to configure' +
    ' your audio recording device. Goodbye.', 
  call.addEventListener(CallEvents.PlaybackFinished, (e) => {
read more >>>

Microphone activity event

Mic Activity

Measuring microphone activity can be useful in many cases. For example, in case of audio conference it lets developer highlight conference participant who is talking at the moment, or another useful scenario example - measuring call participant's speech length. Now VoxImplant developers can detect microphone activity at VoxEngine scenarios level, we've implement new method for Call class - handleMicStatus , set handle to true and then use new CallEvents.MicStatusChange event to receive the information about microphone activity. Please check the usage example below:

// Inbound call processing
VoxEngine.addEventListener(AppEvents.CallAlerting, e => {
  const call =;
  // Enable mic status tracking
  call.addEventListener(CallEvents.Connected, e => {
    Logger.write("Call connected");
  // Add event listener for mic activity events
  call.addEventListener(CallEvents.MicStatusChange, e => {
    // Write mic activity info into log file
    Logger.write("Mic active: " +;
read more >>>

Audio conferencing

Audio Conference

Audio conferencing functionality offered by VoxImplant is one of the most advanced and flexible audio conferencing implementations you can find. Developers have full control of every call connected to the conference via VoxEngine. For example, it's possible to record particular calls connected to the conference or the whole conference, developers can record only one audio stream that goes to the conference (if you need to get the audio from particular participant). It's possible to play audio file (or TTS) into the conference or to particular participant (call connected to the conference), mute/unmute participants, and even join different conferences together. Our Web SDK lets developers create web client applications for the conference in minutes (WebRTC will be used Chrome/Firefox/Opera or Flash in IE/Safari), same with Mobile SDKs. It's possible to implement convenient conference controls using messaging functionality (inside the call). In addition, SIP software and devices can be connected to the conference. It's hard to imagine audio conferencing service you can't build using VoxImplant. There are only few things we haven't finished yet - wideband audio support and voice activity detection (both are being developed by our brilliant engineering team, so they should become available soon).

read more >>>

Introducing VoxImplant Cookbook


We are going to make things easier for VoxImplant developers by providing ready-to-use VoxEngine scenarios, How To's and screencasts. First scenarios including cloud pbx and simple callback are already available at, in addition to README we will write "How To" for each scenario and post here. Feel free to fork, make your own scenarios and share them with the community!

read more >>>

Debugging VoxEngine scenarios


It's much easier to develop apps with the right tools. One of the important processes during any app development is debugging. Keeping in mind that call control logic is written in Javascript and usual web developers can build apps for VoxImplant, we decided to create convenient debugger to let developers debug their apps in real-time right in a web browser. We called it call control debugger and it's now available at VoxImplant control panel.

read more >>>

High quality Text-to-Speech functionality is now available for all VoxImplant developers


We have finished the integration of TTS functionality with VoxEngine, now developers can specify text that will be converted into speech and sent to a call as an audio stream in 25 languages (for many of the languages you can choose between male and female voice). It will help developers build better cloud IVR, cloud contact center, cloud PBX, and other apps faster and automate a lot of standard interactions with a caller. To learn more about the function please check say function of the Call class and Language namespace in the VoxEngine Reference. In the near future we will add ASR (automatic speech recognition) function to let developers transcribe call records to text and do real-time speech recognition if required. Let us know if you have any questions and stay tuned!

read more >>>
Get your free developer account or talk with our sales team to learn more about Voximplant solutions
Contact sales

Please complete this field.

Please complete this field.

Please complete this field.

Choose the solution

Please complete this field.

Please complete this field.