Vox Implant. Blog

Tag Archives: webrtc

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!

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/

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.

Click-to-call for web and mobile application

One of the most popular scenarios for our Web/Mobile SDK is about enabling true click-to-call/tap-to-call function in web and mobile applications. True click-to-call means that it’s not about callback version when a call is initiated from the platform to both parties and connects them together, it means that call is initiated from the client side and goes via IP to the platform and then routed to required destination. True click-to-call is cheaper, faster and offers better UX; of course, you need to have the internet connection to use it (shouldn’t be an issue these days). This tutorial explains how to easily embed click-to-call into your app using VoxImplant SDKs and setup call routing using VoxEngine scenarios.

We recommend to check our Quickstart before you proceed

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!

Web SDK: Microphone Activity Visualization

Mic Activity

If you are embedding VoIP functionality into your web application then it’s a good idea to show end user some feedback from the system about his audio settings, especially related to his microphone / audio recording device. Combining the power of WebRTC , HTML5 and Web we can visualize audio stream coming from microphone after user allowed access to the device. The last version of Web SDK (3.6.294) provides developers with access to MediaStream object – it’s available as stream property of MicAccessResult event, or as successCallback function argument which itself is an argument of the following functions attachRecordingDevice, useAudioSource, useVideoSource, setVideoSettings.

Video Call Recording has arrived

meteor

It’s been awhile since we announced video calls support for VoxImplant. There are number of ways how developers can implement video calling with VoxImplant using Web/Mobile SDKs or SIP video phones as endpoints. If call is made in non-P2P mode then its media stream goes via our media servers and we can record it if required.

Using VoxImplant module for React Native

React

Web developers have been using React JS for a while, this javascript library from Facebook has changed the way how many developers were building their apps. At some point React team decided that it would be great to let mobile developers use the same approach to build their iOS/Android apps and released React Native framework. Now javascript developers can build native apps for iOS & Android. React Native has some built-in components that can be used for application development, but since native app developers like to use a lot of different mobile OS features there is a way to create React Native modules and components:

“Sometimes an app needs access to platform API, and React Native doesn’t have a corresponding module yet. Maybe you want to reuse some existing Objective-C, Swift or C++ code without having to reimplement it in JavaScript, or write some high performance, multi-threaded code such as for image processing, a database, or any number of advanced extensions.”


We like React Native and believe in its bright future, that’s why we created react-native-voximplant module.

Video Conferencing

Video Conference

A lot of people use video conferencing functionality in Skype, but Skype is standalone application and it’s hard to integrate it with your own service. VoxImplant lets developers embed similar functionality into any web or mobile application. This tutorial will explain how to build video conferencing service with dial-in/dial-out functionality (to connect PSTN participants) and browser-based client application using WebRTC capabilities and VoxImplant.

New mobile SDK for iOS and Android with WebRTC support

Mobile SDKWe’ve been working hard to deliver new version of mobile SDK to our developers and now it’s available! First version of our mobile SDK didn’t support some important features like video calls and peer-to-peer communication and had some design issues, new version uses WebRTC engine for audio/video processing and supports all features available for WebSDK. We also simplified API, so new SDK isn’t compatible with the previous one, but it should easy to switch – feel free to ask us any questions related to migration to new mobile SDK version.

CocoaPods

Since many iOS developers uses CocoaPods we have created VoxImplantSDK pod to make their life easier =)

Links

New iOS SDK and documentation
New Android SDK and documentation

Older posts

Categories

Recent Posts

Feb 13, 2017 10:22
Authorization using tokens instead of passwords
Feb 03, 2017 01:45
Push Notifications for Android
Feb 03, 2017 01:45
Push Notifications for iOS
Jan 19, 2017 08:38
Speech-to-text: ASR
Jan 19, 2017 08:38
Speech-to-text: transcription
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

Archive

Tags