1 Creating HTML5 Applications for WebRTC-Enabled Browsers

This chapter presents an overview of how you can use the Oracle Communications WebRTC Session Controller JavaScript application programming interface (API) library to create multimedia applications that run in WebRTC-enabled browsers.

About Applications for WebRTC-Enabled Browsers

WebRTC-enabled browsers are web browsers that have real-time communications (RTC) capabilities. The WebRTC standardization effort employs standardized browser capabilities, JavaScript API, and HTML5 to support real-time multimedia communication in applications without the use of any browser plugins. For more information, see the WebRTC website at http://www.webrtc.org.

WebRTC Session Controller JavaScript API enables your web applications to communicate with WebRTC Session Controller so that the applications can allow the user to make calls, configure the callbacks to handle incoming calls, notifications, media state in the call, session state changes, and so on.

Web applications developed for WebRTC-enabled browsers can establish real-time communication with each other and with legacy network services. To access such applications, a subscriber needs to be connected to the Internet and use a device (such as a mobile phone, a laptop, a tablet or a desktop computer) equipped with a WebRTC-enabled browser.

Such applications enable end users to perform a multitude of tasks. Suppose that you create an application for the web pages of a real-estate company. When an interested party, such as a buyer's agent, accesses the company's web page, your application starts to respond to the agent's actions while the agent is on that web page. The content of the session managed by your application could include:

A call session when the buyer's agent uses the calling feature in your application to contact and communicate with the seller's agent

An online video chat between the two agents, where your application manages the audio and video synchronization

Sending and/or receiving text or data files, such as a data sheet about the property with a photo of the house

Sending and/or receiving video data, such as an online tour of the house

About WebRTC Session Controller Signaling Engine

WebRTC Session Controller Signaling Engine manages the connectivity between the browser and the end network services. Sitting between the browser and the telecommunication network, it does the following:

Acts as an intermediary between the web browser and the telecommunication network services, thereby making the browser a client of the network services.

Provides security to the interactions between your applications and the telecommunication network services.

Provides the JavaScript API enabling you to develop applications targeted for WebRTC-enabled browsers.

For more information on Signaling Engine, see WebRTC Session Controller Concepts.

About the WebRTC Session Controller and Your Applications

The WebSocket uniform resource identifier (URI) your application uses to connect to the WebRTC Session Controller identifies your application, its configuration, and extensions to that default configuration (when present). All interactions between the WebRTC Session Controller and your application take place within that default or extended configuration.

About the Supported WebRTC-Enabled Browsers

WebRTC Session Controller works with any WebRTC-enabled browser. Currently, it is certified with the Google Chrome browser and the Mozilla Firefox browser. See WebRTC Session Controller Installation Guide for more information.

About JavaScript

The business logic of a web application is implemented in JavaScript along with HTML and CSS for the presentation layer. Applications written in JavaScript can interact with the user, control the browser, communicate asynchronously, and alter the content displayed on the browser page.

About the Browser Protocols and Your Applications

The WebRTC Session Controller JavaScript API library communicates with WebRTC Session Controller using JsonRTC protocol for communication-related functions such as call control, file transfer, and message notification. JsonRTC protocol is a sub protocol of the MessageBroker WebSocket protocol. For more information on JsonRTC, see Appendix A of WebRTC Session Controller Extension Developer's Guide.

Your applications can use the WebRTC Session Controller JavaScript API to set up and manage communication-related functions associated with calls and subscriptions. See "About Using the WebRTC Session Controller JavaScript API" for a description of the components of the WebRTC Session Controller JavaScript API.

About the Conventions Used in This Guide

This guide uses the following conventions:

Whenever the term "application" is used, it refers to a WebRTC-enabled web application.

The WebRTC Session Controller JavaScript API class objects, their events, and methods are shown in bold font. For example: