New version of VoxImplant mobile SDK with support for WebRTC, P2P, video calls for iOS and Android

    In today's world, mobile devices have become more popular than PCs and have long surpassed them in sales. We made the first version of the mobile SDK for VoxImplant using our previous experience, namely the SDK for Zingaya, but the requirements and functionality of VoxImplant are much wider, so we had no choice but to make a new version of the SDK. This version received full support for WebRTC, which allowed us to give developers the full functionality of the Web SDK, including video calls, peer-to-peer and other useful features. Read more about creating a new version of the SDK and new features under the cut.

    Short introduction

    To begin with, the SDK is designed to work with the VoxImplant platform , therefore, in addition to the SDK itself, you also need to register a VoxImplant developer account, create an application, a call processing script, application users, etc. - it all depends on what kind of application you are doing. In the archive with the SDK, there is a demo app (softphone) that will work with the account and application that will be indicated to it when you login, you can safely use the video chat we described earlier with it , instead of the web application and the Web SDK, a demo will be used -application and mobile SDK respectively.

    iOS SDK

    Build WebRTC for iOS took some time, attempts to enable optimizations to increase performance were ultimately successful and the SDK began to work quite well even on not the newest and top-end devices, for example, audio and video work quite well on the iPad 2. We collected the SDK immediately for iOS 8, since Apple applications built for other versions will not miss the appstore anyway. Back when we were working on the Zingaya application, we found out that iOS developers really like to use CocoaPods and this greatly simplifies their life, so at the same time we washed down the VoxImplantSDK Pod . In the archive along with the SDK there is a demo application. Let's take an example of it and consider using the SDK. Since we made a pod, we can use it:

    1. Download the archive with the SDK and demo application from here
    2. Unpack and delete the extra folder VoxImplantSDKiOS, it will not be needed, since we will use CocoaPods
    3. Install CocoaPods if you haven’t already installed it (see )
    4. We open the terminal, and
      $ cd
      to your project directory
    5. Create a Podfile. This is done using
      $ touch Podfile
    6. Open the created Podfile. The first line should indicate the platform and version.
      platform :ios, '8.0'
    7. Add a line
      pod 'VoxImplantSDK'
    8. Save Podfile
    9. We launch
      $ pod install
    10. Open the created * .xcworkspace
    11. In the project in the Frameworks folder, delete
      in this case it is superfluous
    12. Build and run the demo application

    If everything is ok, then the application should start, which will ask you to enter the application username, password, the name of the VoxImplant application, as well as the name of the VoxImplant account. If you set up a VoxImplant account (create an application, script, rules and users) in accordance with the article about p2p video chat , you can safely log in and make p2p audio / video calls between users of the application (ios sdk <-> ios sdk, web sdk < -> ios sdk, ios sdk <-> android sdk, etc.). The main thing to remember is that the video camera is not available on the iPhone / iPad emulator. No one restricts the use of the SDK only for p2p audio / video calls, just like from web sdk you can make calls to regular numbers, to SIP, use the SDK as a client to IP PBX, call center, etc., the scenarios are true all of these cases will require others.

    Android SDK

    In the case of Android, the process of creating the SDK was generally similar to the creation process for iOS, but it was somewhat simpler, since WebRTC is built into Chrome on Android and is constantly maintained in a healthy and up-to-date state. For example, one of the latest builds brought hardware support for the H.264 codec, but we still do not use it, as there are a number of nuances. In the near future, we should expect H.264 support for WebRTC in Firefox, and maybe in Chrome, as the WebRTC working group announced that both codecs (VP8 and H.264) are mandatory to implement for browser vendors. While there are some doubts about Chrome and IE (where they implement ORTC and H.264), but time will tell. Firefox is still in a winning position by announcing support for both codecs (not without the help of Cisco). Functionally, the SDKs for iOS and Android are identical,

    1. If you have not already installed ADT, then you can get it here
    2. Download the archive from the SDK from here
    3. Unpack and run ADT
    4. We import the project from the folder that turned out after unpacking the archive from the SDK
    5. Build and run the demo application project

    If everything is fine, then an application will launch that has a functionality similar to the demo application on iOS, but there are more and more control buttons (in the iOS version, not all were brought out).

    In this application, you must enter the entire login, after connecting and authorizing you can call (if you have already set up your VoxImplant account). The minimum version of Android that the new SDK will work with is 4.1+ (API level 16).

    In general, that's all, we will be grateful for the feedback if you find any problems in the SDK and if you tell us on Habr which applications you managed to make on the basis of our platform. We decided that up to 1000 users can use peer-to-peer audio and video calls for free. Future plans include adding IM / presence, packaging SDK for Appcelerator, PhoneGap, Parse, support for H.264.

    Only registered users can participate in the survey. Please come in.

    Would you use the VoxImplant mobile SDK for your project?

    • 38.8% Yes 21
    • 33.3% Don't know 18
    • 27.7% Hardly 15

    Also popular now: