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

    Good day,% USERNAME%! We want to share great news with the entire community of developers - we (represented by Zingaya) launched a cloud platform for developers of communication services and applications, thanks to which you can now easily add support for audio and video communications, as well as telephony in your web or mobile application. So, meet VoxImplant VoxImplant has a number of unique features that you will not find on other communication platforms. We will tell you more about them and about what opportunities the platform under cut provides you. You should start with a more detailed description of what it is all the same and why it is needed. VoxImplant






    Is a cloud platform that offers a number of APIs with which the developer interacts directly: Web SDK, Mobile SDK, VoxEngine and HTTP API. All SDKs 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 passing through the VoxImplant Cloud to Javascript. In addition, any SIP client can be registered on the platform, and you can also make and receive calls through SIP. For example, if you already have a phone number forwarded to SIP, then you can easily send a call to VoxImplant and process it in accordance with the logic of your application, and then forward it to some SIP client connected to your application.



    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 operating mode hard, but if your browser does not support it, which is especially important for WebRTC (which is currently only available in Chrome and Firefox + in the Yandex browser, but there it is still buggy), then the SDK will throw an exception and will not work will be, therefore, we recommend giving the SDK the opportunity 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 specific browser or some function is available only in a specific SDK mode (for example, while video calls work only in Flash mode). A detailed description of the Web SDK features and capabilities is available athttp://voximplant.com/docs/references/websdk/ .

    VoxImplant Mobile SDK


    The same as the Web SDK, only in the form of native libraries for iOS / Android. At the moment, libraries are being brought to mind, and documentation is being 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 runs scripts written in Javascript. In essence, scripts are full-fledged Javascript applications that VoxEngine launches and executes when a call passes through the VoxImplant Cloud. For writing applications, all ECMA5 functions are available + additional functions that give access to the capabilities of VoxImplant and allow you to interact with the outside world, for example, make HTTP requests or send email. A detailed list of available functions 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 of the application, that is, completely different scripts can be executed depending on the type of call. After the session ends (when there are no more calls in the session or the developer himself called the method to destroy the session in the script), VoxEngine gives the session some more time to free resources (for example, to complete the last few HTTP requests), then the session is destroyed. Within one session, there can be several different calls at once, which can be connected / disconnected with each other and do various things with them, such as playing a sound file to a caller or recording a conversation, but there are restrictions on the number of calls, the number of simultaneously executed HTTP requests and the use of other platform resources for one session. You can read more about this in the documentation. If the readers of Habr find our platform interesting enough, then we will go in for a series of tutorials and articles in the style of “How To” in order to tell in more detail what and how can be done using the platform. Below is an example of the simplest scenario - call forwarding when calling from the Web SDK to the phone:

    VoxEngine.forwardCallToPSTN();
    


    in fact, the forwardCallToPSTN function is a helper written to simplify and shorten the code; if this helper weren’t there, 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 an autocomplete, so it is not necessary to memorize all function names by heart. See screenshot below:



    HTTP API


    VoxImplant HTTP API provides the ability to remotely create / edit / delete all entities that VoxImplant works with, 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. The 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 (for example, try to manually create 1000 users). A description of the HTTP API is 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, which will allow you to remotely create a session and call the functions described in the script for VoxEngine. This type of API is necessary 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 that can be rented to receive incoming calls from the regular telephone network on the side of the platform. In the very near future it will be possible to rent rooms in the USA and in Russia (including toll free). If you already have a phone number with forwarding to SIP, then you can easily configure it so that incoming calls go to VoxImplant for further processing.

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

    Also popular now: