OpenClove Video Exchange (OVX) Cloud

OpenClove Video Exchange (OVX)
Cloud-based Secure Communications as a Service
and
Overview and Configuration Guide for Embedded
Video Communications
CONFIDENTIAL INFORMATION
© 2014. OpenClove, Inc.
TABLE OF CONTENTS
1.
Introduction ..................................................................................................................................................... 3
2.
Quick Starter Guide for HTML/JS Developers ........................................................................................ 4
3.
OVX Secure Communications as a Service (SCaaS) .............................................................................. 5
4.
OVX Engage Conversations Player ............................................................................................................ 6
4.1.
Engage Conversations Player Customization .................................................................................... 7
4.2.
Standard OVX Live HTML and JS Embed Code ............................................................................... 10
4.3.
OVX Live Configuration Parameters ......................................................................................... 11
CONFIDENTIAL INFORMATION
© 2014. OpenClove, Inc.
1.
Introduction
This document defines provides a simple way to embed and launch the Group Video Conversations
directly into any application using the OpenClove OVX Live Conversations Player.
OpenClove offers its OpenClove Video Exchange (OVXTM) Cloud SCaaS (Secure Communications as a
Service) to enable real-time chat embedded inside applications and web pages. The service is easily
accessible using its Engage Conversations Player, which enables users to conduct live video and audio
chat across multiple platforms.







Customizable Real-time Group Video Conversations Player
Connects your users across WebRTC, non-WebRTC browsers, iOS and Android devices.
Available as JavaScript for HTML apps and SDKs for iOS and Android.
Allows 9 parties to communicate in real-time using audio / video / text chat
Encrypts end to end communications channel between the user device and OVX Cloud
Delivers all the OVX Cloud Features including multi-format recording and streaming
Provides session control functions to the users
OVX Cloud and OVX Live Conversations Player can be configured and customized for any application as
per the guidelines described below.
CONFIDENTIAL INFORMATION
© 2014. OpenClove, Inc.
2.
Quick Starter Guide for HTML/JS Developers
Here are the simple steps for any web developer to embed live group video conversations into their
application.
Step 1: Get APIKey
-
Register @ http://developer.openclove.com/member
Get a key @ http://developer.openclove.com/apps/mykeys
Step 2: Select your starter OVX Live Conversations Player Template
-
Visit http://ovx.me/demos/ to browse, test and select a basic look and feel
Step 3: Paste code in your Web App
-
View source for any of the templates above
Cut and paste the JavaScript code into your own app (sample code in section 4.2)
Embed the HTML elements as per your design specifications
Step 4: Configure your Engage Player
There are several configuration options for you to select, see section 4.3. Here are the mandatory ones
to get you started.
-
ovx-apiKey (from step 1)
ovx-session which assigns a unique session ID for each conversation session. The app will
require your app to share the session ID across the users wanting to join the same session. You
can manually request the users to enter the ID, or use any alphanumeric session ID that you may
already have as part of your application.
Rest of the parameters are set to default and can be modified as per your app user experience
requirements.
Step 5: Launch and Test across multiple platforms
Your application is now ready with embedded video and audio communications. Simple launch your
app and test the experience.
-
Chrome (v23+) and Firefox (v22+) will provide option to Video chat using Computer and voice
call back option to any phone number.
Other non-WebRTC browsers, will automatically provide voice call only option.
Download LiveBoard Lite application from Google Play or Apple iTunes app stores and access
our application from this WebRTC-enabled browser for complete video chat experience.
CONFIDENTIAL INFORMATION
© 2014. OpenClove, Inc.
3.
OVX Secure Communications as a Service (SCaaS)
OVX Cloud provides powerful functionality to fuel use cases across various verticals – social networks,
messaging, healthcare, education, financial, e-commerce, enterprise collaboration, HR, CRM and
gaming. OVX Cloud Platform is based on OpenClove’s telco-grade cloud MCU, which provides a
combination of cloud-based real-time media processing to do audio and video mixing, transcoding,
streaming, recording and layering, all exposed via simple to use API’s.
The following features are available on the cloud and easily configurable using the OVX Live
Conversations Player. Please note that while some of the features are available and activated, you will
only pay (or count against the package limits) only if and when they are used on a per user minute basis
(marked by ).











Group Video Chat – OVX Cloud supports group video and audio conversations for up to 9 people in a
single session. If required, this can be extended to support 16 people on a single conference
session. 
Multi-Platform (WebRTC + Mobile) – Video and audio conversations can be made from any
WebRTC browser, iOS and Android devices with applications using OVX SDKs.
Tablet and Mobile Video Browser – Web applications utilizing OVX.js to implement group video
chat gain from our free WebRTC video browser (LiveBoard Lite) available on iOS and Android. Users
of web apps will be able to do video chat on any iOS and Android device using our browser.
Bandwidth Optimization – Each uplink and downlink streams are tightly controlled by the OVX
cloud to maintain sustainable quality over available bandwidth. This feature is critical to deliver high
quality video experience over 3G and 4G networks globally.
Global Number Dialing – OVX Cloud supports global PSTN connectivity to bridge in any user across
the world using any phone number. This feature is widely used to connect users without bandwidth
access or as a backup for non-WebRTC browsers. Additional calling charges apply. 
Network Recording – OVX Cloud can record the audio and video conversations for archiving or
sharing purposes. Files are stored in a temporary storage for retrieval by the customer. 
Live Streaming – Any conversation can be live streamed for live sharing to any target audience. By
default live stream can be viewed by up to 3 users. However, if required, OVX Cloud can be
configured to support 100’s or 1000’s of viewers. 
Moderator and Layer Controls – Allows application developers to control the live session by
modifying the video frame layouts of every user from the cloud, eliminating any complexity on the
client implementation.
Active User Messaging – Users connected in an active session can exchange text messages with
each other. This can be used to share links, images, whiteboard etc.
Elastic Cloud Capacity – Provides customers with unlimited capacity, as OVX Cloud utilizes latest
cloud technology to scale on demand.
Geo-Routing – This feature allows apps to connect to the nearest OVX Cloud instance to get the best
video and audio performance for their users.
CONFIDENTIAL INFORMATION
© 2014. OpenClove, Inc.

Free Developer Tools – OVX Cloud access comes with free developer tools for any application
developer to build, enhance, modify their application when they want. OVX.js provides the benefit
of “code-once-for-any-platform” to allow WebRTC developers to deliver value across multiple
platforms with just one time development.
4.
OVX Engage Conversations Player
is a HTML-based real-time communications player to simplify the adoption of multiparty, multi-platform video and audio conversations into any web application. OVX Live has access to all
the functionality of the OVX Cloud SCaaS. The player can be customized via intuitive parameters to
define the desired user experience for your users and customers. Several samples and templates are
available for you to test and adopt at http://ovx.me/demos.
How to use ovxplayer
Once the OVX Live Conversation Player is customized integrated, app developers can commercialize
their service by subscribing to an OVX SCaaS subscription plan based on your features and usage. Please
contact [email protected] for pricing. Development is always free and does not require any
subscription.
Advanced developers still have the choice of building their own player and using our OVX Cloud SCaaS
API’s from http://developer.openclove.com.
CONFIDENTIAL INFORMATION
© 2014. OpenClove, Inc.
4.1.
Engage Conversations Player Customization
The following customization inputs will define the user experience, end user features and the look and
feel of the HTML application.
1. Video Chat Service Launch
1.1. START Buttons will be provided by the host application platform. Some of the templates on
http://ovx.me/demos provide a default button template for the developers. On clicking
start, the following actions will happen based on the device.
1.2. WebRTC browsers (Google Chrome v23+, Mozilla Firefox v22+) : Users will have the option
to Connect using Computer (Video Chat) or Connect via Phone as per their preference. The
player can also be configured to automatically start video in a popup window.
WebRTC Browser Launch Options
1.3. Non-WebRTC browsers (Microsoft IE 9+, Safari v XX): Users will be provided an option to
enter their phone number with country code to connect (outbound call to the user) to the
live conversation. Alternatively, the phone number maybe derived by from the user’s
profile of the host application.
IE/Safari Launch Option
1.4. iOS and Android browsers: Users will be prompted with a message to launch LiveBoard
browser to initiate video chat. First time users will be directed to the app download page
on Apple iTunes or Google Play store.
CONFIDENTIAL INFORMATION
© 2014. OpenClove, Inc.
iPad Launch Options
2. Web frame
2.1. Popup will launch with the Application Name in the header bar. This is configurable via
parameter below.
2.2. Transition frame will be displayed with an animated graphic indicating “Connecting”. IBM
to provide design input.
2.3. The web frame will contain the Video Screen. The web frame can be designed to include
background color, branding, header bar, logo, footer links like HELP, ABOUT etc.
ovxplayer Customizable Web Frame
3. Video Screen Design
3.1. Video Screen Layouts
3.1.1.Single party: Full screen self-view of local video feed. Displayed while the first user is
waiting for other parties to join or if other parties drop out.
3.1.2.Two party: Full screen remote user, with local self-video in PIP mode.
3.1.3.Multi party: tiled, film strip options for composite view.
3.1.4.On WebRTC/HTML5 browsers, users can toggle between the users locally by clicking on
the video screen.
CONFIDENTIAL INFORMATION
© 2014. OpenClove, Inc.
Tiled Layout
Film Strip Layout Option
3.2.
3.3.
3.4.
3.5.
Background Image
Frames
Text overlay (user name), font, size
Logo overlay (this logo is common across a multi-enterprise deployment)
Custom Elements in Video Screen
4. Video Screen User control buttons
4.1. Audio mute/unmute
4.2. Video mute/unmute
4.3. Video Full Screen
4.4. END button
4.5. Share Link
4.6. Record and Download File
CONFIDENTIAL INFORMATION
© 2014. OpenClove, Inc.
User Controls in the Video Screen
4.2.Standard OVX Live HTML and JS Embed Code
Engage Conversation Player – Helper Functions
Standard JavaScript Code:
(function(d, w) {
var x = d.getElementsByTagName('SCRIPT')[0];
var f = function () {
var s = d.createElement('SCRIPT');
s.type = 'text/javascript';
s.setAttribute('ovx-widget','ovxplayer');
s.setAttribute('ovx-apikey','myAPIKey');
s.setAttribute('ovx-name','Guest');
s.setAttribute('ovx-session’,'SomeUniqueID');
CONFIDENTIAL INFORMATION
© 2014. OpenClove, Inc.
s.setAttribute('ovx-render','popup');
s.setAttribute('ovx-chat',’disable');
s.src = "//ovx.me/ovxplayer/ovx-embed-ovxplayer.js?v1";
x.parentNode.insertBefore(s, x); };
w.attachEvent ? w.attachEvent('onload', f) :
w.addEventListener('load', f, false);
}(document, window));
HTML Code For CALLER:
<div id="ovx-player” style=”width:300px;height:100px”></div>
-- OR -<img onclick="OVXEMBED.launch();" src="//ovx.me/img/ibm-connect.png"
style="cursor:pointer; width:100px; margin-right:0px;">
JS Code For CALL RECEIVER:
<script>
OVXEMBED.setKeyValue('ovx-name', <userName>);
OVXEMBED.setKeyValue('ovx-session','SomeUniqueID');
OVXEMBED.launch();
</script>
4.3.
OVX Live Configuration Parameters
Parameter
Valid Settings
Description
IBM Configuration
ovx-apiKey
A valid API Key
from
OpenClove.
Signup and obtain a valide API Key
from OpenClove
OpenClove will assign
ovx-widget
ovxplayer,
ovxrecorder,
ovxagent(tbd),
ovxclient (tbd)
ovxplayer – provides 2-way
audio/video/text communications for
upto 9 parties
ovxplayer
voice, video
video –allows ovxrecorder to use
video/audio feed over the Internet to
record
ovx-type
ovxrecorder – provides option to
record user audio or video
voice – allows ovxrecorder to use a
phone dialout to record
CONFIDENTIAL INFORMATION
© 2014. OpenClove, Inc.
video for WebRTC
browsers, iOS and
Android
voice for non-WebRTC
browsers
ovx-name
Any AlphaNumeric string
ovx-session
Any AlphaNumeric string
ovx-segment
Any AlphaNumeric string
To specify further segments for
ovxrecorder (eg. Question ID for
screening)
n.a.
ovx-chat
enable, disable
To enable text chat, along with the
audio/video communications channel
disable
ovx-render
embed, popup,
panel (tbd)
Popup
ovx-record
enable, disable
ovx-dialout
enable, disable
embed – render the player in-page as
per the ovx-player <div> in the HTML
DOM
Popup – render the player as a popup
originating from the embedding page
ovxpanel – tbd.
To allow user initiated recording and
download of the live audio/video
session
To allow user’s to initiate a phone call
dialout from the live session
ovx-width
In CSS format
(eg. 300px)
Initial width of the ovx-player
400 px. Minimum is
300.
ovx-height
In CSS format
(eg. 300px)
User name for display purposes.
300 px. Minimum is
250.
ovx-poster
url to a valid
image file with
4:3 aspect ratio
url to a valid
image file with
75px x 75px size
true, false
Sets the background poster for the
ovxrecorder to visually display your
background/logo prior to recording
Specify custom branding logo image
4:3
To launch the call automatically as
soon as the script is configured.
True
ovx-logo
ovx-autostart
Passed by the hosting
application. Default is
Guest.
Unique session ID identifying the
IBM to provide as a
same session for multiple users to join parameter.
in
User name for display purposes.
Phase 1 – disable
Phase 2 – enable
Enable
Mandatory parameters in BOLD.
Please contact [email protected] for any questions or help regarding the customization of the
OVX Live Conversation Player.
CONFIDENTIAL INFORMATION
© 2014. OpenClove, Inc.