VoxImplant. Blog

Category Archives: Announcements

VoIP Push Notifications support for iOS SDK has arrived

Dear Voximplant developers, we are happy to announce that Voximplant now supports VoIP Push Notifications for calls to iOS SDK. We tried to make everything as simple for developer as possible; the following steps are required to enable VoIP Push Notifications for your app:

1. Upload your Apple VoIP Push certificate at https://manage.voximplant.com/#certificates and specify (bind) Voximplant application(s) where you will be using VoIP Push functionality

2. Add

require(Modules.PushService);

in the beginning of your VoxEngine scenario

3. Now VoxEngine’s callUser and callUserDirect functions will start using VoIP Pushes to notify the SDK about incoming calls. (same applies to helper functions: forwardCallToUser and forwardCallToUserDirect)

4. Get new version of iOS SDK at http://voximplant.com/docs/references/mobilesdk/ios/

That’s it!

P.S. Android Push support is on its way to production, expect it right after the New Year in January 2017!

New billing for video calls running via servers

We are happy to announce that currently video calls that go via Voximplant servers (not P2P ones) are billed per megabyte of video traffic. Since the resolution of a video stream can be different (so as fps, video codec and other params) it means that per minute billing was a bad idea for this case – 1 minute of video call generates different load on our infrastructure depending on various parameters. So now the formula for video call going via Voximplant servers looks as follows:

SDK-platform / platform-SDK call – $0.002 per minute per call leg
+ $0.001 per megabyte of video traffic sent to the platform

See http://voximplant.com/pricing/ for the details

Tagged in , ,

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:

High quality Speech Recognition is now available

RecognitionHi everyone! We’ve been busy working on new cool features for you, many developers asked us about high quality speech recognition for both audio call records transcription and real-time recognition scenarios. We are happy to announce that this functionality is now available for all our developers.

Voximplant Web SDK v4 beta is now available with Edge/ORTC support

WebSDKv4We have released new version of Web SDK, it has been fully rewritten. New version will help us to accelerate the development process and includes a lot of new features and improvements. Key features of Voximplant’s Web SDK 4.0 include:

  • Support for audio calls in Microsoft Edge. With Microsoft recently updating the browser’s web and audio support, Voximplant is one of the first companies to make its platform compatible with Edge. With Web SDK 4.0, web apps are empowered to handle incoming and outgoing voice calls from within the Edge web browser. Video calls in Edge will be functional as soon as VP9 or h.264 codec support is added to the browser.
  • Video can be enabled during an existing audio call. Now developers can create web apps that offer a Skype-like “enable video” option during active audio calls. Video can be enabled or disabled at any time during the call.
  • Both local and remote audio and video streams can be modified by applying filters. Developers can now modify video and audio streams in realtime. Possible applications of this feature include using video and audio filters to add watermarks, hide or alter faces, mask voices, etc.
  • h.264 video codec can be set as “high priority”. The “h.264” video codec is known for its valuable speed in modern hardware, especially in mobile devices. Developers can now force this codec to provide better video quality with less CPU usage.

Additional enhancements include:

  • Reduced latency of audio and video calls.
  • Improved syncing between audio and video tracks.
  • Calls within the Chrome browser now maintain better performance – even with poor network conditions.
  • Peer-to-peer connections can now be enabled in scenarios using JavaScript in the cloud.
  • Audio and video codec priorities can be manually configured.
  • Full support for WebRTC to offer users the best in voice and video quality.

New SDK also supports asynchronous initialization and drops support for Flash, which can still be used with legacy systems via 3.x versions of the SDK. Complete documentation for Voximplant’s Web SDK 4.0 beta can be found at https://voximplant.com/docs/references/websdk4/

Diff in VoxEngine scenarios editor

Many voximplant developers use our online VoxEngine scenarios editor. It simplifies the development process since it has autocomplete and other useful functions, but there was a problem some our developers reported about – it’s hard to check the changes in the scenario before you save it, so the wrong version of the scenario can be saved accidentally. We have embedded the Diff utility that shows the difference between a scenario version which is now stored in the voximplant’s cloud and the one with the recent changes that will be saved. Developers can find the Diff button and Enforce Diff checkbox near the Save button now.
Diff
If the Enforce Diff checkbox is active then Diff util will be launched before scenario can be saved.
Diff Util

Tagged in , , ,

Promise support has arrived to VoxEngine

JS PromiseNow developers can use Promise in their VoxEngine scenarios and we also added Net.httpRequestAsync and Net.sendMailAsync functions that return Promise object in addition to standard ones that used callbacks. We will be working on additional ES6/ES7 functionality in the future to help VoxImplant developers build apps and services even faster.

HD Audio Playback / Streaming

This post is short and simple: your mp3 or ogg files played on VoxEngine scenario level with call.startPlayback or using Player will be played on the Web or Mobile SDK side in HD quality (48KHz), or on SIP side if it does support wideband audio codecs (Speex or Opus). It also appeared that Opus has 3 encoding presets – auto / speech / music, currently we use auto, but maybe we will let developers decide which preset can be used on VoxEngine scenario level later.

HD Audio Conferencing

HD Audio Conference

We were quite busy working on HD audio conferencing support and now it’s available for all VoxImplant developers. In HD mode audio is being mixed at 48KHz, all audio sources with lower sample rate will be resampled to 48KHz. Web and mobile SDK uses Opus audio codec and offers the best possible audio quality. Up to 100 participants can be connected to a conference.

It’s simple to enable HD mode for a conference in VoxEngine scenario:

// HD mode can be enabled for the conference by passing hd_audio parameter set to true
var conf = VoxEngine.createConference({ hd_audio: true });

You can learn more about building audio conferencing services using VoxImplant in our tutorial. HD audio conference demo available at https://demos.voximplant.com/hdconf/ (optimized for WebRTC browsers) , the demo app source code is available at https://github.com/voximplant/voxhdconf

HD Audio Recording

HD_recording

We’ve been offering audio recording for a while, but our audio recorder was saving audio in 8KHz, since it’s the most used format in good old telephony and when we have calls to/from PSTN. When we work with VoIP endpoints that do support wideband audio (WebRTC, SIP, mobile SDKs) we can save audio with much better quality without downsampling it to 8KHz. We chose 48 KHz as the base sample rate for HD audio recorder, since WebRTC/Opus can offer this quality, audio from endpoints with lower sample rate will be re-sampled.

It’s easy to use HD audio recording, just add hd_audio parameter in the recorder params:

  1. // Example for the record method of the Call class function
  2. call.record({hd_audio: true});
  3. // Example for the Recorder class
  4. require(Modules.Recorder);
  5. // ...
  6. var recorder = VoxEngine.createRecorder({hd_audio: true});
  7. call.sendMediaTo(recorder);

Feel free to start recording your calls in HD today, wideband audio conferencing is coming soon, stay tuned!

Older posts

Categories

Recent Posts

Jan 19, 2017 08:38
Speech-to-text: ASR
Jan 19, 2017 08:38
Speech-to-text: transcribing
Jan 19, 2017 08:37
Audio Recording
Dec 28, 2016 12:47
VoIP Push Notifications support for iOS SDK has arrived
Dec 14, 2016 02:00
New billing for video calls running via servers
Dec 07, 2016 02:29
Blind transfer support for SIP phones
Dec 02, 2016 06:18
Step-by-step call center tutorial part 8
Nov 22, 2016 11:01
Step-by-step call center tutorial part 7
Nov 14, 2016 04:04
Step-by-step call center tutorial part 6
Nov 11, 2016 09:27
High quality Speech Recognition is now available

Archive

Tags