Go to main content
1/17
Contents
Title and Copyright Information
Preface
Audience
Related Documents
Documentation Accessibility
1
Creating HTML5 Applications for WebRTC-Enabled Browsers
About Applications for WebRTC-Enabled Browsers
About Your Application Development Environment
About WebRTC Session Controller Signaling Engine
About the WebRTC Session Controller and Your Applications
About Supported WebRTC-Enabled Browsers
About JavaScript
About the Browser Protocols and Your Applications
About the Conventions Used in This Guide
2
About Using the WebRTC Session Controller JavaScript API
About the wsc Namespace
About Using the WebRTC Session Controller JavaScript API Library
About the API Used for General Tasks
About the API Used for Call-Related Tasks
About the API Used for Message-Related Tasks
About Extending WebRTC Session Controller JavaScript API
Managing Sessions with wsc.Session
Authenticating Users with wsc.AuthHandler
Handling Session State Changes
Debugging Your Application with wsc.LOGLEVEL
Managing Calls with wsc.CallPackage
Managing a Call with wsc.Call
Specifying the Configuration for Calls with wsc.CallConfig
Handling Changes in Call States
Handling Changes in Media Stream States
Transferring Data With wsc.DataTransfer
Sending Data Using wsc.DataSender
Receiving Data Using wsc.DataReceiver
About the Code Segments Displayed in This Guide
About the Application HTML File
About Web Applications Using WebRTC Session Controller JavaScript API
General Call Logic of Your Applications
General Notifications Logic of Your Applications
WebRTC Session Controller Support Libraries
Verifying Browser Capabilities
About Monitoring Your Application WebSocket Connection
About Handling Events in the Application Environment
Managing the Sessions in Your Application
How Your Application Saves Session Information
Recreating the Session Using the Session ID
How WebRTC Session Controller JavaScript API Library Restores Application Data
Restoring Your Application Package Data After Your Application Pages Reload
Restoring CallPackage Data After Pages Reload
Restoring Extended MessageAlertPackage Data After Pages Reload
Restoring a Call Session
Restoring a Subscription Session
Resuming Your Application Operation
3
Setting Up Security
Handling Login to WebRTC Session Controller
Login Using Basic Authentication
Redirecting After a Successful Login
Login Using OAuth Authentication
Login Using Form-Based Authentication
Login Using REST Authentication
Handling Logout from WebRTC Session Controller
4
Setting Up Audio Calls in Your Applications
About Implementing the Audio Call Feature in Your Applications
About the WebRTC Session Controller JavaScript API Used in Implementing Audio Calls
Setting Up Audio Calls in Your Applications
About the Sample Audio Call Application
Overview of Setting Up the Audio Call Feature in Your Application
Setting Up the General Elements for the Audio Call Feature
Setting Up the Main Objects and Values
Current Stage in the Development of the Audio Call Feature
Enabling Users to Make Audio Calls From Your Application
Setting Up the Configuration for Calls Supported by the Application
Setting Up the Session Object
Setting Up the Call Package for the Session
Handling Session State Changes
Obtaining the Callee Information
Current Stage in the Development of the Audio Call Feature in Your Application
Initial Actions of the Sample Audio Call Application
Implementing the Logic to Set Up the Call Session
Starting a Call From Your Application
Retrieving the Appropriate Authentication Headers
About Digest Access Authentication
Creating the authHeader Object for the Response
Setting Up the Event Handler for Call State Changes
Setting Up the Event Handler for the Media Streams
Current Stage in the Development of the Audio Call Feature in Your Application
How the Sample Audio Call Application Starts a Call
Enabling Your Application Users to Receive Calls
Responding to Your User's Actions on an Incoming Call
Current Stage in the Development of the Audio Call Feature in Your Application
How the Sample Audio Call Application Handles Incoming Calls
How a Call is Established in the Sample Audio Call Application
Monitoring the Call
How the Sample Audio Call Application Monitors a Call
Ending the Call
Current Stage in the Development of the Audio Call Feature in Your Application
Closing the Session When the User Logs Out
Other Actions on Calls
Gathering Information on the Current Call
Supporting Multiple Calls Using CallPackage
Managing Interactive Connectivity Establishment Interval
About the Use of ICE and ICE Candidate Trickling
About WebRTC Session Controller Signaling Engine and the ICE Interval
Retrieving the Current ICE Interval for the Call
Setting Up the ICE Interval for the Call
Enabling Trickle ICE to Improve Application Performance
Updating a Call
Reconnecting Dropped Calls
5
Setting Up Video Calls in Your Applications
About Implementing the Video Call Feature in Your Applications
About the WebRTC Session Controller JavaScript API Used in Implementing Video Calls
Setting Up Video Calls in Your Applications
Setting Up the Video Display
Specifying the Video Direction in the Call Configuration
Managing the Video Display on Your Application Page
Managing the Video Streams in the Media Stream Event Handler
6
Setting Up Data Transfers in Your Applications
About Data Transfers and Signaling Engine
About Setting Up Data Transfers in Your Applications
About the API Used to Manage the Transfer of Data
Managing Data Channels Using wsc.DataTransfer
Sending Data Using wse.DataSender
Handling Incoming Data Using wsc.DataReceiver
Setting up Data Transfers in Your Application
Setting Up the General Elements for the Data Transfer Feature
Declaring Variables Specific to the Chat Sessions
Setting Up the Configuration for Data Transfers in Chat Sessions
Assigning the Data Transfer Event Handler to the Call Package
Obtaining the Callee Information
Starting the Call with the Data Transfer Feature in the Call
Responding to Your User's Actions on an Incoming Call
Setting Up the Chat Session User Interface
Setting Up the Data Transfer State Event Handler for the Chat Session
Managing the Flow of Data
Handling the Open State of the Data Channel
Handling the Received Text
Sending the Text
Handling the Closed State of the Data Channel
Monitoring the Chat Session
7
Setting Up Message Alert Notifications
About Message Alert Notifications and Signaling Engine
Handling Message Notifications in Your Web Applications
About the API Used to Manage Message Alert Notifications
Managing Message Alert Notifications with wsc.MessageAlertPackage
Handling Notifications with wsc.Notification
Subscribing to Notifications with wsc.Subscription
Getting Message Summary Information
Retrieving Message Counts from Message-Summary Notifications
Managing Subscriptions
Enabling the User to Subscribe to Notifications
Setting Up a Subscription
Creating a Subscription
Verifying that a Subscription is Active
Handling the Ending of a Subscription
Restoring a Subscription
Managing Notifications
Handling Message Notifications
8
Developing Rich Communication Services Applications
About Rich Communication Services
About WebRTC Session Controller RCS Support
Prerequisites
About the Examples in This Chapter
Capabilities Exchange
Sample Capability Exchange HTML File
Initiate a Capability Exchange Query
Handle a Capability Query Response
Handle an Incoming Capability Query
Handle Capability Exchange Errors
Initiate a Capability Exchange Request in a Call
Sending a Standalone Message
Messaging Sample HTML File
Send a Message
Handle an Incoming Message
Handle Messaging Success Events
Handle Messaging Error Events
Creating an RCS Chat Application
Chat Sample HTML File
Implementing Chat
Initiate the Chat Session
Send a Chat Message
Handle Incoming Chat Requests
Handle Chat Signaling State Changes
Handle Chat Connection State Changes
Handle Incoming Chat Messages
Handle Message Transmission Success and Failure Events
Handle Participant Typing Notifications
Implementing File Transfer
File Exchange Example HTML File
Setup a File Transfer Session
Control and Return Information on the File Transfer
Terminate the File Transfer Session
Send a File from Your Application
Handle Incoming File Transfer Requests
Handle File Transfer Signaling State Changes
Handle File Transfer Connection State Changes
Handle Message Transmission Success and Failure Events
Handle File Data Transmission
Handle File Transfer Progress Updates
9
Creating WebRTC Session Controller Applications Compatible with Internet Explorer
About WebRTC Session Controller Internet Explorer Support
System Requirements
Supported Flash Plug-ins
Supported Browsers
Supported Video and Audio Codecs
About the WebRTC Session Controller Flash Interface
Installing the Flash Extension Patch
Downloading the Flash Extension Patch
Installing the Flash Extension on Signalling Engine
Grant a WebRTC Session Controller Application Access to the Flash extension
Configuring Flash Extension Support for Media Engine
About ME Flash Extension Configuration
Configuring RTMP
Configuring RTMPS
Configuring RTMPT
Adding Flash Support to a Session Config
Adding Flash Support to Your WebRTC Web Application
WebRTC Session Controller JavaScript Flash Support Overview
Downloading the Google SWFObject JavaScript Support Library
Referencing the WebRTC Session Controller Flash JavaScript Extension Libraries
Initializing the Flash JavaScript Extension
Determining Flash Browser Support
Passing Flash/WebRTC Support Information to a WebRTC Session Controller Session
Initiating a Call Using the Flash Extension
Terminating a Flash Extension Call
Processing an Incoming Audio/Video Call
Determining Whether a Particular Call is Flash-based
10
Extending Your Applications Using WebRTC Session Controller JavaScript API
About the Default Messaging Mechanism Used by Your Applications
About Extending the WSC Namespace
Extending Objects Using the wsc.extend Method
Extending Sessions with wsc.ExtensibleSession Class
Extending and Overriding WebRTC Session Controller JavaScript API Object Methods
Handling Extended Call Sessions with CallPackage.onMessage
Preparing Custom Calls with CallPackage.prepareCall
Inserting Calls into a Session with CallPackage.putCall
Processing Custom Messages for a Call with Call.onMessage
Extending Headers in Call Messages
Handling Custom Message Notifications
Handling Extensions to Notifications with MessageAlertPackage.onMessage
Handling Additional Headers in Messages
About Additional Headers in Messages
Handling Additional Headers
Managing Calls with Additional Headers
Working with wsc.ExtensibleSession
Creating an Extensible Session in Your Application
Creating Custom Packages Using the ExtensibleSession Object
Saving Your Custom Session
Sending And Receiving Custom Messages
About the API Classes Used to Create Custom Message
wsc.Message
wsc.Message#control
wsc.Message#header
wsc.Message#payload
Managing Custom Message Data Flows
Sending a Custom Message to Signaling Engine
Processing an Incoming Custom Message
Customizing Your Applications by Extending the Package Objects
Working with Extended CallPackage Objects
Creating an Extended Call Package
Registering the Extended Package with the Session
Extending the Methods and Event Handlers in the Extended Call Package
Working with Extended Calls
Working with Extended MessageAlertPackage Objects
Extending the Methods and Event Handlers
Extending the MessageAlertPackage to Support Other Message Events
11
WebRTC Session Controller JavaScript API Error Codes and Errors
About wsc.ERRORCODE
About the Error Codes
Using wsc.ErrorInfo
About the Error Handlers
Handling Errors Related to Sessions
Handling Errors Related to Calls
Handling Errors Related to Data Transfers
Handling Errors Related to Subscriptions
12
Sample Audio Call Application
About the Sample Audio Call Application
The Sample Audio Call Application Code
13
Developing WebRTC-enabled Android Applications
About the Android SDK
About the Android SDK WebRTC Call Workflow
Prerequisites
Android SDK System Requirements
About the Examples in This Chapter
General Android SDK Best Practices
Installing the Android SDK
WebRTC Session Controller SDK Required Permissions
Configuring Logging
Authenticating with WebRTC Session Controller
Initialize the CookieManager
Initialize a URL Connection
Configure Authorization Headers if Required
Configure the SSL Context if Required
Build the HTTP Context
Connect to the URL
Configuring Interactive Connectivity Establishment (ICE)
Creating a WebRTC Session Controller Session
Implement the ConnectionCallback Interface
Create a Session Observer Object
Build the Session Object
Configure Session Properties
Adding WebRTC Voice Support to your Android Application
Initialize the CallPackage Object
Place a WebRTC Voice Call from Your Android Application
Initialize the Call Object
Configure Trickle ICE
Create a Call Observer Object
Register the CallObserver with the Call Object
Create a CallConfig Object
Configure the Local MediaStream for Audio
Start the Audio Call
Terminating the Audio Call
Receiving a WebRTC Voice Call in Your Android Application
Create a CallPackage Observer
Bind the CallPackage Observer to the CallPackage
Adding WebRTC Video Support to your Android Application
Find and Return the Video Capture Device
Create a GLSurfaceView in Your User Interface Layout
Initialize the GLSurfaceView Control
Placing a WebRTC Video Call from Your Android Application
Create a CallConfig Object
Configure the Local MediaStream for Audio and Video
Start the Video Call
Terminate the Video Call
Receiving a WebRTC Video Call in Your Android Application
Upgrading and Downgrading Calls
Handle Upgrade and Downgrade Requests from Your Application
Handle Incoming Upgrade Requests
14
Developing WebRTC-enabled iOS Applications
About the iOS SDK
Supported Architectures
About the iOS SDK WebRTC Call Workflow
Prerequisites
iOS SDK System Requirements
About the Examples in This Chapter
Installing the iOS SDK
Authenticating with WebRTC Session Controller
Initialize a URL Object
Configure Authorization Headers if Required
Connect to the URL
Configure the SSL Context if Required
Retrieve the Response Headers from the Request
Build the HTTP Context
Configure Interactive Connectivity Establishment (ICE)
Creating a WebRTC Session Controller Session
Implement the WSCSessionConnectionDelegate Protocol
Implement the WSCSession Connection Observer Protocol
Build the Session Object and Open the Session Connection
Configure Additional WSCSession Properties
Adding WebRTC Voice Support to your iOS Application
Initialize the CallPackage Object
Place a WebRTC Voice Call from Your iOS Application
Add the Audio Capture Device to Your Session
Initialize the Call Object
Configure Trickle ICE
Create a CallObserverDelegate Protocol
Register the CallObserverDelegate Protocol with the Call Object
Create a WSCCallConfig Object
Configure the Local MediaStream for Audio
Start the Audio Call
Terminating the Audio Call
Receiving a WebRTC Voice Call in Your iOS Application
Create a CallPackageObserverDelegate
Bind the CallPackage Observer to the CallPackage
Adding WebRTC Video Support to your iOS Application
Add the Audio and Video Capture Devices to Your Session
Configure a View Controller and a View Display Incoming Video
Placing a WebRTC Video Call from Your iOS Application
Create a WSCCallConfig Object
Configure the Local WSCMediaStream for Audio and Video
Bind the Video Track to the View Controller
Start the Video Call
Terminate the Video Call
Receiving a WebRTC Video Call in Your iOS Application
Upgrading and Downgrading Calls
Handle Upgrade and Downgrade Requests from Your Application
Handle Incoming Upgrade Requests
Scripting on this page enhances content navigation, but does not change the content in any way.