Contents

Release Notes

- Change Log

- Patch Set 7.2.0.1.2 Release Notes

- Prerequisites

- Media Engine Fixed Issues

- Signaling Engine Fixed Issues

- About Installing or Upgrading to Patch Set 7.2.0.1.2

- WSC Media Engine Enhancements

- ICE Candidate Preferences

- Configuration

- In-Ice-Candidate-Preferences Syntax

- Out-Ice-Candidate-Preferences Syntax

- Status

- Documentation Enhancements

- Known Issues

- Patch Set 7.2.0.1.1 Release Notes

- Prerequisites

- Fixed Issues

- About Installing or Upgrading to Patch Set 7.2.0.1.1

- WSC Software Development Kit Enhancements

- SE SDK API Supports Setting Bitrate

- Browser Support

- WSC Media Engine Enhancements

- Simplified Installation and Configuration

- Documentation Enhancements

- Patch Set 7.2.0.1 Release Notes

- Prerequisites

- Fixed Issues

- About Installing or Upgrading to Patch Set 7.2.0.1

- WSC Software Development Kit Enhancements

- WSC Signaling Engine Enhancements

- New Sample Sources

- Support for Temasys Plug-In

- H.264 Hardware Support

- Browser Support

- WSC Media Engine Enhancements

- Documentation Enhancements

- Documentation Amendment

- Implementing OPUS Transcoding in the Media Engine

- Release 7.2.0.0 Release Notes

- Signaling Engine New Features

- HTTPS Between the Signaling Engine and Media Engine

- JavaScript Client Software Development Kit

- Android and iOS Native Platform Support

- Multitenancy Support

- Statistics and Resource Limits

- Sample Applications

- Media Engine New Features

- Media Engine On Oracle Linux

- Certified Platforms

- TURN Server Long Term Credentials

- Flexible MSRP Message Matching

- OPUS Codec Support

- Known Issues

- Documentation Accessibility

Oracle® Communications WebRTC Session Controller

Release Notes

Release 7.2

E69515-04

July 2017

These release notes describe the product and documentation updates included in WebRTC Session Controller release 7.2, which consists of software and documentation described in the following sections:

- Patch Set 7.2.0.1.2 Release Notes

- Patch Set 7.2.0.1.1 Release Notes

- Patch Set 7.2.0.1 Release Notes

- Release 7.2.0.0 Release Notes

The Change Log describes updates to the product documentation.

Change Log

Table 1 lists the changes made to the documentation for release 7.2.

Table 1 WebRTC Session Controller Documentation Change Log

Date

Details

July 2017

The following documents are included with the patch set as PDF files:

- Oracle Communications WebRTC Session Controller Installation Guide

- Oracle Communications WebRTC Session Controller System Administrator's Guide

- Oracle Communications WebRTC Session Controller Media Object Reference

You can find them in the SE patch zip file under /custom/documents.

These documents have been updated on the documentation website:

- Oracle Communications WebRTC Session Controller Android API Reference

- Oracle Communications WebRTC Session Controller iOS API Reference

- Oracle Communications WebRTC Session Controller JavaScript API Reference

You can find these documents here:

https://docs.oracle.com/cd/E69505_01/index.htm

April 2017

The following updated documents are included with the patch set as PDF files:

- Oracle Communications WebRTC Session Controller Installation Guide

- Oracle Communications WebRTC Session Controller System Administrator's Guide

- Oracle Communications WebRTC Session Controller Media Object Reference

You can find them in the SE patch zip file under /custom/documents.

These documents have been updated on the documentation website:

- Oracle Communications WebRTC Session Controller Android API Reference

- Oracle Communications WebRTC Session Controller iOS API Reference

- Oracle Communications WebRTC Session Controller JavaScript API Reference

You can find these documents here:

https://docs.oracle.com/cd/E69505_01/index.htm

November 2016

- Replaced Chapter 9, "Creating WebRTC Session Controller Applications Compatible with Internet Explorer" with "Using the WebRTC Browser Extension", a new chapter in Oracle Communications Application Developer's Guide.

May 2016

- Added chapter on configuring WebRTC Session Controller in a Demilitarized Zone (DMZ) deployment in Oracle Communications WebRTC Session Controller Security Guide.

- Updated Media Engine (ME) installation instructions adding details on deploying ME on Oracle Linux, as well as new upgrade instructions in Oracle Communications WebRTC Session Controller Installation Guide.

- Extensive updates to Oracle Communications WebRTC Session Controller System Administrator's Guide including multitenancy configuration.

- Updates to the JavaScript, iOS and Android API sections as well as a new section on debugging and troubleshooting WebRTC-Enabled Applications in the Oracle Communications WebRTC Session Controller Application Developer's Guide.

Patch Set 7.2.0.1.2 Release Notes

This section contains the release notes for WebRTC Session Controller Patch Set 7.2.0.1.2. See "Patch Set 7.2.0.1.1 Release Notes", "Patch Set 7.2.0.1 Release Notes" and "Release 7.2.0.0 Release Notes" for the notes on those releases, which are still applicable.

Prerequisites

Patch Set 7.2.0.1.2 requires that WebRTC Session Controller 7.2, Patch Set 7.2.0.1, and Patch Set 7.2.0.1.1 have been installed.

For prerequisite patches to Oracle WebLogic Server, Oracle Communications Converged Application Server, and Oracle Coherence, see the following page:

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=451591665207314&id=2008133.1&_adf.ctrl-state=nag2xjggu_137

For known issues with this release, see "Known Issues."

Media Engine Fixed Issues

The following issues related to the Media Engine have been fixed in Patch Set 7.2.0.1.2.

Table 2 Fixed Issues for the Media Engine

Bug

Description

25738807

WSC iOS client fails down to TURN, even when SRTP path is open

25605125

PCMA2 Opus NOK

24970042

Audio transcoding Opus - AMR not working

25853069

STUN/TURN do not adjust to IP address changes

25831496

iceEnquiry response has invalid URLs

25827285

WSC-ME:packet-marking tos not working

25969958

Error while saving the config using the Web GUI

26168646

WSC-ME media port pool failed to adapt to IP address change

Signaling Engine Fixed Issues

The following issues related to the Signaling Engine have been fixed in Patch Set 7.2.0.1.2.

Table 3 Fixed Issues for the Signaling Engine

Bug

Description

26226010

Add getServerName() interface to TemplateContext

26194644

Extending call package fails

26170880

WSC Groovy Script Security Context - Coherence Replication

26027719

Implement testNetwork for Android SDK

25723212

Web Sampleapp wrongly uses guest websocket url when refresh when using rest auth

25716825

RestAuth provider does not save the login user into Principal

About Installing or Upgrading to Patch Set 7.2.0.1.2

You can obtain WebRTC Session Controller, Patch Set 7.2.0.1.2 from My Oracle Support:

1. Sign into your Oracle account at: https://support.oracle.com

2. Click the Patches and Updates tab.

3. In the Search dialog, select Patch Name or Number from the drop down list.

4. Enter 26163409 in the adjacent text field.

5. Click Search.

6. In the search results, click the link for 26163409, Description: OCWSC 7.2 PS2 Update 2.

7. Click Read Me to access the ReadMe file for the patch; click Download to download the patch.

For instructions on upgrading from WebRTC Session Controller, Release 7.2.0.1.1 to Patch Set 7.2.0.1.2, see the ReadMe file that is included with the patch set.

Note:
You must restart Signaling Engine after upgrading Media Engine.

WSC Media Engine Enhancements

This section describes enhancements to the Media Engine for this patch set.

ICE Candidate Preferences

For WebRTC calls, the ICE protocol determines the best media path between two endpoints. An ICE candidate is a transport address consisting of IP address, port, and transport protocol. Each media endpoint is represented by one or more ICE candidates, of which there are four different types, listed in Table 4 in order of preference.

Table 4 ICE Candidate Types

ICE Candidate Type

Description

host

A local host IP address.

peer reflexive

A new peer's transport address, learned through a STUN Binding request. If a NAT device is in front of the peer, the transport address will represent the public side IP address of the NAT device.

server reflexive

A translated transport address on the public side of a NAT device learned through an SDP offer/answer transaction.

relay

A transport address allocated from a TURN server.

A new WSC-ME media policy allows you to assign preferences to remote ICE candidate types, to be used during media path selection when multiple, valid, nominated media paths exist. You can control the remote ICE candidate preferences on a per-session configuration and on a per-call-leg basis.

Configuration

You can specify remote ICE candidate preferences for the in-leg (the A side of an A to B call) and the out-leg (the B side of an A to B call) through the advanced configuration objects in-ice-candidate-preferences and out-ice-candidate-preferences. These are configurable under the session-config object, allowing you the flexibility to specify different ICE candidate preferences for both web-to-sip and sip-to-web call flows.

To configure these objects, you must select must select the Show advanced tab on the WSC-ME console.

In-Ice-Candidate-Preferences Syntax

The in-ice-candidate-preferences object has the following syntax:

in-ice-candidate-preferences admin enabled | disabled  host-preference value peer-reflexive-preference value server-reflexive-preference value relay-preference value

Where:

- admin enabled | disabled controls whether the in-ice-candidate-preferences are used during in-leg media path selection

- host-preference value assigns a preference to the remote ICE host candidates where value can be from 1 to 4 where 1 is the most preferred

- peer-reflexive-preference value assigns a preference to the remote ICE peer-reflexive candidates where value can be from 1 to 4 where 1 is the most preferred

- server-reflexive-preference value assigns a preference to the remote ICE server reflexive candidates where value can be from 1 to 4 where 1 is the most preferred

- relay-preference value assigns a preference to the remote ICE relay candidates where value can be from 1 to 4 where 1 is the most preferred

Out-Ice-Candidate-Preferences Syntax

The out-ice-candidate-preferences object has the following syntax:

out-ice-candidate-preferences admin enabled | disabled  host-preference value peer-reflexive-preference value server-reflexive-preference value relay-preference value

Where:

- admin enabled | disabled controls whether the out-ice-candidate-preferences are used during out-leg media path selection

- host-preference value assigns a preference to the remote ICE host candidates where value can be from 1 to 4 where 1 is the most preferred

- peer-reflexive-preference value assigns a preference to the remote ICE peer-reflexive candidates where value can be from 1 to 4 where 1 is the most preferred

- server-reflexive-preference value assigns a preference to the remote ICE server reflexive candidates where value can be from 1 to 4 where 1 is the most preferred

- relay-preference value assigns a preference to the remote ICE relay candidates where value can be from 1 to 4 where 1 is the most preferred

Status

When the in or out candidate preferences are enabled, you can use the show ice-candidate-pair-preference status provider to view the ICE candidate pairs for each media session, sorted by preference. This status provider displays the candidate pairs for a session, where a candidate pair is a local candidate paired with a remote candidate. Each of the candidate pairs represents a potential media path between the local endpoint (WSC-ME) and the remote endpoint. The remote-pref column indicates the user configured preference assigned to this ICE candidate type and is used to sort the candidate pairs, with the most preferred candidates listed first.

The show-ice-candidate-pair-preference example that follows shows the ICE candidate pairs for a 2-party media session with audio and video streams. Leg 0, checklist 0 represents the audio stream on the in-leg of the call, and checklist 1 represents the video stream. Leg 1, checklist 0 represents the audio stream on the out-leg of the call, and checklist 1 represents the video stream. In this example, the relay candidate type is configured as the most preferred with a preference (remote-pref) of 1, but since that media path failed connectivity checks, the media path represented by the host candidate was successfully nominated and chosen as the media path

Example

Figure 1 shows sample output for the following show ice-candidate-pair-preference command:

me1>show ice-candidate-pair-preference

Figure 1 Output for show ice-candidate-pair-preference

Documentation Enhancements

In "Implementing OPUS Transcoding in the Media Engine" in "Patch Set 7.2.0.1 Release Notes" the following changes (previously 24khz) have been made to the example:

config default-session-config
config media
config transcoding-policy
set media-types pcmu
set media-types opus-48khz
return
return
config in-codec-preferences
set preference audio opus-48khz 1
set preference audio pcmu 1
set preference audio any 0
return
config out-codec-preferences
set preference audio opus-48khz 1
set preference audio pcmu 1
set preference audio any 0
return
return

Known Issues

Table 5 lists the known issues for this release:

Table 5 Known Issues with 7.2.0.1.2

Bug ID

Description

26392368

Sample application cannot be installed on Android 4 due to size limitations. Android 5 is required for the SDK and sample application.

26418825

Message package for chat not working on iOS 10.

Patch Set 7.2.0.1.1 Release Notes

This section contains the release notes for WebRTC Session Controller Patch Set 7.2.0.1.1. See "Patch Set 7.2.0.1 Release Notes" and "Release 7.2.0.0 Release Notes" for the notes on those releases, which are still applicable.

Prerequisites

Patch Set 7.2.0.1.1 requires that WebRTC Session Controller 7.2 and Patch Set 7.2.0.1 have been installed.

For prerequisite patches to Oracle WebLogic Server, Oracle Communications Converged Application Server, and Oracle Coherence, see the following page:

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=451591665207314&id=2008133.1&_adf.ctrl-state=nag2xjggu_137

Fixed Issues

The following issues that were reported from the field have been fixed in Patch Set 7.2.0.1.1.

Table 6 Fixed Field-Reported Issues

Bug

Description

25392864

WSC 500 Internal Error - iOS App hibernate

24747471

Video call drop when network switchover occurs on Android phone, if browser on PC to SP

24747564

Some times call drop on browser when switching over of network on android

24821897

No Video and No Voice after disconnect network then reconnect net...

25652580

Need ability to set maxbitrate for all media streams by way of the Session Description Protocol.

25616871

Support for public TURN IP addresses from ME

22531309

WSC API: createOffer error with FireFox

For additional information about issues fixed by this patch set, see the ReadMe file that is included in the patch set.

About Installing or Upgrading to Patch Set 7.2.0.1.1

You can obtain WebRTC Session Controller, Patch Set 7.2.0.1.1 from My Oracle Support:

1. Sign into your Oracle account at: https://support.oracle.com

2. Click the Patches and Updates tab.

3. In the Search dialog, select Patch Name or Number from the drop down list.

4. Enter 25653580 in the adjacent text field.

5. Click Search.

6. In the search results, click the link for 25653580, Description: OCWSC 7.2 PS1 Update 1.

7. Click Read Me to access the ReadMe file for the patch; click Download to download the patch.

For instructions on upgrading from WebRTC Session Controller, Release 7.2.0.1. to Patch Set 7.2.0.1.1, see the ReadMe file that is included with the patch set.

Note:
You must restart Signaling Engine after upgrading Media Engine.

WSC Software Development Kit Enhancements

This section describes the enhancements to the WebRTC Session Controller Software Development Kit (SDK).

The SDKs are not included in the patch set. They are available from the Oracle Technology Network:

http://www.oracle.com/technetwork/developer-tools/webrtc/downloads/index.html

Note:
You must use the SDK version that is compatible with the Signaling Engine version. For example, to maintain compatibility you must use version 7.2.0.1.1 of the SDK with version 7.2.0.1.1 of the Signaling Engine.

For a list of problems that have been fixed in JavaScript, Android, and iOS SDKs, see the Read Me file that is included with the patch set.

SE SDK API Supports Setting Bitrate

An optional parameter for the CallConfig constructor, maxAudioBitrate, allows you to specify a maximum audio bitrate for the Opus codec in the session descriptor protocol (SDP).

CallConfig::CallConfig(audioMediaDirection, videoMediaDirection, dataChannelConfig, maxAudioBitrate)

Table 7 maxAudioBitrate Parameter

Parameter

Type

Description

maxAudioBitrate

Number

Passed to the CallConfig constructor to set a maximum value in bits per second for the maxaveragebitrate parameter of the Opus codec.

Example:

new wsc.CallConfig(null,null,null,15000)

The maxAudioBitrate parameter has the following restrictions:

- If the value is less than 0, an exception will be thrown and an error logged.

- If the parameter is not supplied or has a value of NULL, 0, or undefined, the maxaveragebitrate parameter will not be set.

- If the value is a positive non-zero integer, maxaveragebitrate will be set to the value of the parameter.

- Opus restricts the range of maxaveragebitrate values to 6000 to 510000, although clients are free to ignore values outside of this range. If the passed value exceeds this range, a warning is logged but maxaveragebitrate is set to the value passed.

Note:
This feature was developed and tested against the Chrome 52 browser. The JavaScript SDK supports only the Chrome browser. The Firefox browser does not support this feature.

For additional information, see the Android, iOS, and JavaScript API Reference documents.

Browser Support

For a list of SDK supported browsers, see:

http://www.oracle.com/technetwork/developer-tools/webrtc/documentation/index.html

WSC Media Engine Enhancements

This section describes the enhancements to the WebRTC Session Controller Media Engine (ME).

Simplified Installation and Configuration

The installation and configuration process has been simplified and includes the initial deployment of an ME high-availability cluster. An action called config-init takes a file that you edit to provide site-specific values, along with a template for the configuration you are trying to deploy, and creates a complete ME configuration that takes effect when you restart the ME. To implement a 1+1 high-availability ME cluster, you would perform this process on both machines.

For more detailed information on the simplified installation and configuration process, see the PDF file for the Oracle Communications WebRTC Session Controller Installation Guide that is included with this patch set. For instructions on installing this patch set, however, you must follow the instructions in the accompanying ReadMe file.

Note:
The Media Engine TURN server does not support high-availability session replication. You can deploy an ME HA 1+1 configuration, but if the call uses TURN, then there is no session replication. If the call is established without TURN usage, session replication will occur.

Documentation Enhancements

This section describes the enhancements to the WebRTC Session Controller documentation.

The following documents have been updated to correspond to the patch set content:

- Oracle Communications Session Controller Installation Guide documents the simplified installation and configuration processes for the Media Engine.

- Oracle Communications Session Controller System Administrator's Guide has been updated to reflect the changes to Media Engine objects, commands, and status providers.

- Oracle Communications Session Controller Media Object Reference Guide was updated to correspond to the reduction in and changes to Media Engine objects, commands, and status providers.

Note:
These documents are included with the patch set for reference because they correspond to the patch set content. You can find these documents in the SE patch .zip file under /custom/documents.
To install the patch set, however, follow the instructions in the ReadMe file that accompanies the patch set.

If you are installing WebRTC Session Controller version 7.2, you must refer to the Oracle Communications WebRTC Session Controller Installation Guide on the Oracle Help Center:

https://docs.oracle.com/cd/E69505_01/index.htm

The following documents have been updated on the Oracle Help Center:

- Oracle Communications WebRTC Session Controller Android API Reference

- Oracle Communications WebRTC Session Controller iOS API Reference

- Oracle Communications WebRTC Session Controller JavaScript API Reference

You can find these documents here:

https://docs.oracle.com/cd/E69505_01/index.htm

Patch Set 7.2.0.1 Release Notes

This section contains the release notes for WebRTC Session Controller Patch Set 7.2.0.1. These notes describe the product and documentation updates for the patch set. See Release 7.2.0.0 Release Notes for the original 7.2.0.0 release notes, which are still applicable.

Prerequisites

The following patches for Oracle WebLogic Server (WLS) and Oracle Communications Converged Application Server (OCCAS) are prerequisites for WebRTC Session Controller Patch Set 7.2.0.1. Unless otherwise noted, you can obtain these patches from My Oracle Support.

Table 8 Prerequisite Patches for WSC Patch Set 7.2.0.1

Product

Patch

Description

WebLogic Server

23304470

Stuck thread at cluster.replication.replicationmanager

WebLogic Server

Mandatory patches; See description

The following WLS patches are required:

23744018: MANDATORY WLS PATCH SET UPDATE 12.1.3.0.161018

24369951: MANDATORY ORACLE COHERENCE 12.1.3 PATCH SET UPDATE (Document 1957618.1)

21889920: JAVA_OPTION -DWLSS.STATUS=FALSE WRITING SPL STATISTICS TO STDOUT

OCCAS

24670933

Bug 24670933 is a cumulative patch on OCCAS 7.0.0.1 as of 12/04/2016. It addresses issues fixed after OCCAS 7.0.0.1 was released.

For additional information, see the ReadMe file that is included with the patch set.

Fixed Issues

The following issues that were reported from the field have been fixed in Patch Set 7.2.0.1.

Table 9 Fixed Field-Reported Issues

Bug

Description

23586132

WSC-SE: Call drops due to garbage collection (for 9 minutes)

24490878

WSC iOS SDK: failure on call answer from SIP termination

24713261

Session rehydration on Android sample app

For additional information about issues fixed by this patch set, see the ReadMe file that is included in the patch set.

About Installing or Upgrading to Patch Set 7.2.0.1

You can obtain WebRTC Session Controller, Patch Set 7.2.0.1 from My Oracle Support:

1. Sign into your Oracle account at: https://support.oracle.com

2. Click the Patches and Updates tab.

3. In the Search dialog, select Patch Name or Number from the drop down list.

4. Enter 24409955 in the adjacent text field.

5. Click Search.

6. In the search results, click the link for 24409955, Description: OCWSC 7.2PS1 (Patch).

7. Click Read Me to access the ReadMe file for the patch; click Download to download the patch.

For instructions on upgrading from WebRTC Session Controller, Release 7.2, to Patch Set 7.2.0.1, see the ReadMe file that is included with the patch set.

Note:
You must restart Signaling Engine after upgrading Media Engine.

WSC Software Development Kit Enhancements

This section describes the enhancements to the WebRTC Session Controller Software Development Kit (SDK).

The SDKs are not included in the patch set. They are available from the Oracle Technology Network:

http://www.oracle.com/technetwork/developer-tools/webrtc/downloads/index.html

Note:
You must use the SDK version that is compatible with the Signaling Engine version. For example, to maintain compatibility you must use version 7.2.0.1 of the SDK with version 7.2.0.1 of the Signaling Engine.

For a list of problems that have been fixed in JavaScript, Android, and iOS SDKs, see the Read Me file that is included with the patch set.

WSC Signaling Engine Enhancements

This section describes the enhancements to the WebRTC Session Controller Signaling Engine.

New Sample Sources

The WSC Signaling Engine includes new sample sources.

Note:
You must use the samples that are compatible with the Signaling Engine version. For example, you must use the samples provided with version 7.2.0.1 of the SDK with version 7.2.0.1 of the Signaling Engine.

Support for Temasys Plug-In

WebRTC Session Controller certifies the Temasys Plug-in, version 0.8.884, to support WebRTC in desktop versions of Internet Explorer, version 11, and Safari, versions 9 and 10. Safari 9.1.2 was used for testing.

For information on implementing the Temasys Plug-in, see "Using the WebRTC Browser Extension" in the WebRTC Session Controller Application Developer's Guide.

H.264 Hardware Support

The iOS and Android mobile SDKs now support the H.264 video compression standard. The Android SDK supports H.264 on Android devices with the Qualcomm 801, 410, and 810 chip sets and on devices with the Intel Atom Z2560 chip set. The iOS SDK supports H.264 on iOS devices with iOS8 and the A7 and newer chip sets.

You can find a matrix of the devices that Oracle certifies for support of H.264 here:

http://www.oracle.com/technetwork/developer-tools/webrtc/documentation/index.html

Browser Support

For a list of SDK supported browsers, see:

http://www.oracle.com/technetwork/developer-tools/webrtc/documentation/index.html

WSC Media Engine Enhancements

This section describes the enhancements to the WebRTC Session Controller Media Engine.

The following problem has been fixed.

Table 10 Media Engine Problem Fixed

Bug ID

Description

23586132

Call drops were occurring due to a race condition that happened when a session was torn down.

Documentation Enhancements

This section describes the enhancements to the WebRTC Session Controller documentation.

Chapter 9, "Using the WebRTC Browser Extension" is a new chapter in Oracle Communications Application Developer's Guide. It replaces "Creating WebRTC Session Controller Applications Compatible with Internet Explorer."

Documentation Amendment

This section contains amendments to the documentation, which will be added to the product documentation in the next general release.

Implementing OPUS Transcoding in the Media Engine

To implement transcoding between OPUS and another codec, use the in-codec-preferences and out-codec-preferences objects to strip out unwanted codecs. Add to the appropriate session-config the transcoding-policy settings for the codecs that you want to transcode. The following example adds to default-session-config a transcoding policy for the opus-48khz and pcmu codecs.

config default-session-config
config media
config transcoding-policy
set media-types pcmu
set media-types opus-48khz
return
return
config in-codec-preferences
set preference audio opus-48khz 1
set preference audio pcmu 1
set preference audio any 0
return
config out-codec-preferences
set preference audio opus-48khz 1
set preference audio pcmu 1
set preference audio any 0
return
return

Release 7.2.0.0 Release Notes

These release notes list the documentation updates since General Availability (GA), new features and known issues for WebRTC Session Controller.

Signaling Engine New Features

This section briefly describes the new features of WebRTC Session Controller Signaling Engine.

HTTPS Between the Signaling Engine and Media Engine

For improved security, communications between Signaling Engines and Media Engines is now handled using HTTPS instead of HTTP.

JavaScript Client Software Development Kit

WebRTC Session Controller supplies a comprehensive JavaScript Development Kit that provides a framework for creating and extending WebRTC applications, while shielding Web developers from much of the complexity of WebRTC application development.

The JavaScript library provides a set of Application Programming Interface (API) packages that handle the following new tasks in this release:

- Client notifications

- Device hand-over

- Debugging and troubleshooting support including browser-compatibility checks, camera and microphone checks, general connection health, as well as enhanced logging

The JavaScript API maps to the underlying JSON-base protocol, and is extensible. In addition, the API is compatible with Firefox, Chrome, and Opera Web browsers on any of their supported platforms.

For more information on the WebRTC Session Controller JavaScript API, see Oracle Communications WebRTC Session Controller Application Developer's Guide.

Android and iOS Native Platform Support

The WebRTC Session Controller Android and iOS SDKs enable you to integrate your Android and iOS applications with core WebRTC Session Controller functions. You can use the Android and iOS SDKs to implement the following new features:

- Device hand-over support

- Data channel support

- Notification support for hibernated applications

- SIP-based messaging support

For more information on the Android SDK, see "Developing WebRTC-enabled Android Applications" in Oracle Communications WebRTC Session Controller Application Developer's Guide. For more information on the iOS SDK, see "Developing WebRTC-enabled iOS Applications" in Oracle Communications WebRTC Session Controller Application Developer's Guide.

Multitenancy Support

WebRTC Session Controller supports multi-tenant Software as a Service (SaaS) applications. An in-premise installation of WebRTC Session Controller enables multiple departments of a customer to use WebRTC Session Controller for their own specific applications. The main benefits of multitenancy in WebRTC Session Controller are increased density, tenant isolation, and simplified configuration and management.A tenant represents a configuration scope for a customer or a department that is authenticated to use its services. Multiple tenants can access a single WebRTC Session Controller installation or it can be configured as a single tenant installation. A tenant is associated with a tenant key that allows you to manage and track all usage of the installation by that customer or department. Every user account that is authenticated to access WebRTC Session Controller is associated with a tenant.

For more information on WebRTC Session Controller multitenancy, see "Configuring WebRTC Session Controller" in Oracle Communications WebRTC Session Controller System Administrator's Guide.

Statistics and Resource Limits

WebRTC Session Controller tracks a variety of statistics for use in license monitoring, performance monitoring, and controlling resource limits. In addition, a wide variety of statistics counters are available for more detailed system monitoring. For more information, see "Monitoring Statistics and Resource Limits" in Oracle Communications WebRTC Session Controller System Administrator's Guide.

Sample Applications

WebRTC Session Controller now provides a set of sample applications that show the use of the Web SDK, the Android SDK, and the iOS SDK. These samples can be found in the Oracle_home/wsc/samples directory, where Oracle_home is the storage location for Oracle product files created during the installation of WebRTC Session Controller.

The following sample applications are included:

- Android Sample App: implementing the following use cases:

- Audio/video calls

- Data-channel chat

- Call upgrades and downgrades

- Standalone messaging

- Device hand-over

- Push notifications

- iOS Sample App: implementing the following use cases:

- Audio/video calls

- Data-channel chat

- Call upgrades and downgrades

- Standalone messaging

- Device hand-over

- Push notifications

- Web Sample App: implementing the following use cases:

- Audio/video calls

- Data-channel chat

- Call upgrades and downgrades

- Message Session Relay Protocol (MSRP) chat and file transfer

- Standalone messaging

- Device hand-over

- Push notifications (Chrome only)

- Video Conferencing Sample App: implementing a video conferencing interface that integrates with Cisco Unified Communications Manager (CUCM) and Dialogic PowerMedia XMS.

Configuration and usage information for each sample application is available in README.md files in the respective sample directories.

Note:
The README.md files are authored using markdown syntax which enables plain text to be formatted as styled HTML in Web browsers. For more information on markdown, see https://daringfireball.net/projects/markdown/.

Media Engine New Features

This section briefly describes the new features of WebRTC Session Controller Media Engine.

Media Engine On Oracle Linux

Starting with release 7.2, the ME runs on Oracle Linux and uses yum to install and update RPM files. In prior releases, the ME install package came with its own custom kernel. You must have Oracle Linux installed on your hardware prior to installing ME software.

Note:
While the ME operates under Oracle Linux, it is not certified to operate under other Linux environments.

You must have Oracle Linux Release 7.0 or higher to install the ME. For more information on installing Oracle Linux, see:

https://docs.oracle.com/cd/E52668_01/E54695/E54695.pdf

Certified Platforms

Several platforms have been tested and certified for use with release 7.2 of the ME.

The following platforms have been certified for use with release 7.2 of the ME:

- Sun Netra X5-2

- Sun Server X5-2

- Sun Netra X3-2

- HPDL 160 G9

The following VM platforms have been certified for use with release 7.2 of the ME:

- OVM 3.2.8

- VMware ESXi 5.5

- XEN 3.4.3

- KVM on OL7

TURN Server Long Term Credentials

The ME supports TURN server Long Term Credentials (LTC). You can configure one of the following three types of LTC:

- original: LTC authentication with username and password statically configured on the ASC. These credentials are manually configured in the WebRTC browser.

Note:
For security reasons, Oracle does not recommend setting this value to original, as credentials can be extracted from the WebRTC browser.

- uberti: Follows the "draft-uberti-behave-turn-rest-00" document which uses a standard REST API for obtaining access to TURN services via ephemeral credentials. For more information on the "draft-uberti-behave-turnrest- 00" document, see:
https://tools.ietf.org/html/rfc7635

- SDKv1: Follows the RFC 7635 document which uses OAuth 2.0 to obtain and validate ephemeral tokens that can be used for authentication. By using ephemeral tokens, you can ensure that access to a STUN server can be controlled even if the tokens are compromised. For more information on RFC 7635, see:
https://tools.ietf.org/html/rfc7635

Note:
SDKv1 is not completely RFC 7635 compliant due to the fact that WebRTC browser support is required and does not exist.

Flexible MSRP Message Matching

The ME gives you the option to choose the criteria on which to validate received MSRP messages. When the ME receives a MSRP message, the MSRP session manager checks the configured match criteria to verify the message belongs to the MSRP session associated with the connection transporting the MSRP message.

You can choose to match on the following criteria:

- scheme

- host

- port

- transport

- sessionID

OPUS Codec Support

The ME now supports OPUS.

Known Issues

Table 11 lists the known issues in this release.

Table 11 Known Issues

Bug ID

Description

22600762

Issue

A network disruption that lasts for more than 15 seconds may result in the loss of media in calls upon reconnection.

If the network disruption for an established call is short (under 15 seconds) and the call reconnects within that period, the Interactive Connectivity Establishment (ICE) State associated with the call enables the reconnected call to recover its media elements.

22034176

Issue

Enabling the negotiated property on the datachannel options is not supported at this time. WebRTC Session Controller supports data transfers without this negotiated property (which is the default, that is, false) for the DataChannel interface.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Oracle Communications WebRTC Session Controller Release Notes, Release 7.2

E69515-04

Copyright © 2013, 2017, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2017, Oracle and/or its affiliates. All rights reserved.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Pre-General Availability Draft Documentation Notice

If this document is in public or private pre-General Availability status:

This documentation is in pre-General Availability status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Private Pre-General Availability Draft Documentation Notice

If this document is in private pre-General Availability status:

The information contained in this document is for informational sharing purposes only and should be considered in your capacity as a customer advisory board member or pursuant to your pre-General Availability trial agreement only. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.

This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle Master Agreement, Oracle License and Services Agreement, Oracle PartnerNetwork Agreement, Oracle distribution agreement, or other license agreement which has been executed by you and Oracle and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.