📜 ⬆️ ⬇️

VoxImplant - a cloud platform for developers of communication services and applications

Good day,% USERNAME%! We want to share great news with the entire developer community - we (represented by Zingaya) launched a cloud platform for developers of communication services and applications, thanks to which you can now easily add audio and video communications support, as well as telephony to your web or mobile app. So, meet VoxImplant



VoxImplant has a number of unique features that you will not find in other communication platforms. We will tell you more about them and what opportunities the platform under the cut provides you.

')
You should start with a more detailed description of what this is all the same and why it is needed. VoxImplant is a cloud platform that offers a number of APIs with which the developer directly interacts: Web SDK, Mobile SDK, VoxEngine and HTTP API. All SDK and HTTP APIs allow you to interact with the platform remotely, and VoxEngine allows you to run applications in the cloud that describe the logic for processing calls that pass through VoxImplant Cloud in Javascript. In addition, any SIP client can be registered on the platform, and you can also make and receive calls via SIP. For example, if you already have a phone number with redirection to SIP, then you can easily direct a call to VoxImplant and process it according to the logic of your application, and then send it to some SIP client connected to your application. Thus, you can quickly write the functionality of a simple IP PBX and adjust the call processing logic to fit your requirements or integrate all this with some of your web services, for example, CRM.



VoxImplant Web SDK


VoxImplant Web SDK is a Javascript library with a number of functions for interacting with the VoxImplant cloud, or rather with your applications that you deployed there. Depending on the capabilities of the browser, the Web SDK can work in WebRTC mode, or use Flash. It is possible to set the operation mode hard, but if your browser does not support it, which is especially important for WebRTC (which is currently available only in Chrome and Firefox + in the Yandex browser, but there it is still buggy), the SDK will throw out the exception and it will not work will, therefore, we recommend enabling the SDK to determine the technology that will be used to avoid unnecessary problems, unless you want to force the user to work with your application in a particular browser or some function is available only in certain th SDK operation (such as video calls only work in the Flash-mode). A detailed description of the functions and features of the Web SDK is available at http://voximplant.com/docs/references/websdk/ .

VoxImplant Mobile SDK


The same as Web SDK, only in the form of native libraries for iOS / Android. At the moment, libraries are brought to mind, as well as documentation is written, so they will become available a little later.

VoxEngine


One of the most interesting parts of the platform is VoxEngine (cloud application engine), which executes scripts written in Javascript. In essence, scripts are full-fledged Javascript applications that VoxEngine launches and executes when a call passes through VoxImplant Cloud. For writing applications, all ECMA5 + functions are available; additional functions that give access to VoxImplant's capabilities and allow you to interact with the outside world, for example, to make HTTP requests or send email. A detailed list of available features can be found at http://voximplant.com/docs/references/appengine/ . When creating a new session, VoxEngine runs exactly those scripts (Scenarios) that the developer described in the Rules (Rules) of the application, that is, depending on the type of call, completely different scripts can be executed. After the session is finished (when there are no more calls in the session or the developer himself called the session deletion method in the script) VoxEngine gives the session some more time to release resources (for example, to complete the last several HTTP requests), then the session is destroyed. Within one session, there can be several different calls that can be connected / disconnected with each other and do various things with them, such as playing a sound file to the caller or recording conversations, but there are limitations on the number of calls, the number of HTTP requests performed simultaneously and other calls. platform resources for one session. More information about this can be found in the documentation. If Habr's readers find our platform quite interesting, then we will be engaged in a cycle of tutorials and articles in the “How To” style to tell in more detail how and what can be done using the platform. Below is an example of the simplest scenario - forwarding a call when calling from the Web SDK to a phone:

VoxEngine.forwardCallToPSTN(); 


in fact, the forwardCallToPSTN function is a helper written to simplify and shorten the code, if this helper were not present, the code would look like this:

 VoxEngine.addEventListener(AppEvents.CallAlerting, function(e) { //       ,       Voximplant var pstnCall = VoxEngine.callPSTN(e.destination, "+1234567890"); VoxEngine.easyProcess(e.call, pstnCall); }); 


By the way, for your convenience, we have built in the VoxImplant control panel a script editor based on CodeMirror with autocomplete, so it is not necessary to remember by heart all the function names. See screenshot below:



HTTP API


VoxImplant HTTP API provides the ability to remotely create / edit / delete all entities with which VoxImplant works, such as applications (Applications), users (Identitites), scripts (Scenarios), rules (Rules), and also allows you to work with some billing functions to distribute funds between user accounts. HTTP API is very useful for integration with existing applications and services, otherwise everything would have to be done in the VoxImplant control panel, which is not very convenient (try, for example, manually create 1000 users). Description HTTP API available at http://voximplant.com/docs/references/httpapi/ . We call this part of the HTTP API Provisioning API, there is another part of the HTTP API that is currently under development - the Control API, it will allow you to remotely create a session and call the functions described in the script for VoxEngine. This type of API is required when the client application is not used, for example, if you need to make two calls from the platform and connect them together - a standard callback script.

VoxImplant Phone Numbers


We will offer telephone numbers connected to the platform, which can be rented to receive incoming calls from the regular telephone network on the platform side. In the near future it will be possible to rent rooms in the US and in Russia (including toll free) If you already have a phone number, with redirection to SIP, then you can easily configure it so that incoming calls go to VoxImplant for further processing.

Using all of these platform components, you can create a wide variety of services and applications. This is a short overview article and its main task is to inform about the launch of the platform and very briefly describe the possibilities. At voximplant.com we have created a special section of the site where you can read about how to start developing applications http://voximplant.com/docs/quickstart/18/getting-started-with-voximplant/ . We are actively working on the documentation, so if something else is missing or described in an unintelligible way - write, we will be happy to add / correct / improve.

Source: https://habr.com/ru/post/194354/


All Articles