Oracle Communications
WebRTC Session Controller:
Basic Admin
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Disclaimer
This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and print this document solely for your own use in an Oracle training course. The document may not be modified or altered in any way. Except where your use constitutes "fair use" under copyright law, you may not use, share, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization of Oracle.
The information contained in this document is subject to change without notice. This document is not warranted to be error-free.
Restricted Rights Notice
If this documentation is delivered to the United States Government or anyone using the documentation on behalf of the United States Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS
The U.S. Government’s rights to use, modify, reproduce, release, perform, display, or disclose these training materials are restricted by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract.
Trademark Notice
Oracle and Java are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Table of Contents
Architecture ...1-1
WebRTC Session Controller Architecture ...1-3 Agenda ...1-4 Network Deployment ...1-5 Signaling and Media ...1-6 Signaling and Media Integration ...1-7 Signaling and Media Anchored Flow ...1-8 Signaling and Media Deployment ...1-9 Agenda ...1-10 Signaling Engine Technologies ...1-11 Signaling Engine Feature Highlights ...1-12 Signaling Engine Components ...1-13 Signaling Engine Architecture ...1-14 Signaling Engine Protocols ...1-15 Signaling Engine APIs and Extensibility ...1-16 Signaling Engine Interfaces ...1-17 Signaling Engine Domain ...1-18 Signaling Engine JSON-RTC protocol ...1-19 Signaling Engine Sessions ...1-20 Signaling Engine Application Concepts ...1-21 Signaling Engine Message Flow ...1-22 Signaling Engine Templating ...1-23 Signaling Engine Templating, Continued ...1-26 Signaling Engine Templating , Continued ...1-27 Signaling Engine Configuration ...1-28 Signaling Engine High Availability and Load Balancing ...1-29 Signaling Engine Failover Scenario ...1-30 Signaling Engine Failover Scenario, Continued ...1-31 Signaling Engine Security ...1-32 Agenda ...1-33 Media Engine Technologies ...1-34 Media Engine Feature Highlights ...1-35 Media Engine Components ...1-36 Media Engine Architecture ...1-37 Media Engine Protocols ...1-38
Hardware Requirements ...2-7 Installation Overview ...2-8 Hardware Installation Overview ...2-9 Xen Installation Overview ...2-10 Setup Management IP Interface...2-11 Shell and Poweroff ...2-12 Media Engine Directories ...2-13 Agenda ...2-14 Media Engine Configuration ...2-15 Access Configuration ...2-16 Cluster Configuration ...2-17 Load Factor Application Configuration ...2-18 Master Services Configuration ...2-19 Virtual System Partition Configuration ...2-21 Agenda ...2-22 Media Engine Object Types ...2-23 Media Engine Object Types – Configuration ...2-24 Media Engine Object Types – Status ...2-25 Media Engine Object Types – Actions ...2-26 Media Engine Object Types – Events ...2-27 Agenda ...2-28 Media Engine Administration Tools ...2-29 Media Engine Administration Tools – CLI ...2-30 Configure box object using CLI command (example: box IP address) ...2-31 Configure vsp object using CLI command (example: default-session-config in-encryption) ...2-32 Configure vsp object using CLI command (continue) ...2-33 Show object status using CLI command (example: ice-state-status) ...2-34 Show object status using CLI command (verbose) ...2-35 Media Engine Administration Tools – Web UI ...2-36 Configure vsp object using web UI (example: default-session-config in-encryption) ...2-37 Configure box object using web UI (example: box IP address) ...2-38 Configure box object using web UI (continue) ...2-39 Show object status using Web UI (example: ice-state-status) ...2-40 Show object status using Web UI (verbose) ...2-41
Signaling Engine Installation and Administration ...3-1
WebRTC Session Controller Signaling Engine Installation and Administration ...3-3 Agenda ...3-4 Installation Prerequisites and Requirements ...3-5 Installation Modes ...3-6 Signaling Engine Installation ...3-7 Signaling Engine Installation (Optional Silent Mode) ...3-8 Agenda ...3-10 WebLogic Server Concepts ...3-11 WebLogic Server Domain ...3-12 WebLogic Server Domain, Continued ...3-13 WebLogic Administration Server ...3-15 WebLogic Managed Servers ...3-16 WebLogic Managed Server Clusters ...3-17 Agenda ...3-18
Creating the Signaling Engine Domain ...3-19 Silent Domain Creation ...3-20 Silent Domain Creation, Continued ...3-21 Agenda ...3-22 Signaling Engine Administration...3-23 Accessing the Administration Consoles ...3-24 User Interface Overview ...3-25 Concepts ...3-26 Applications ...3-27 Packages ...3-28 Packages and Mapping to Criteria ...3-29 Applications ...3-30 Applications – Request URI ...3-31 Applications – Security Group ...3-32 Applications – Resource Limits ...3-33 Applications – Allowed Domains ...3-34 Applications – Packages ...3-35 Packages ...3-36 Script Library ...3-37 Configuration – Signaling Engine ...3-38 Configuration – Media Engine ...3-39
Architecture
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 4
Network Deployment
Network Deployment
WebRTC Session Controller is a gateway server at the border of SIP/IMS network.
Architecturally parallel to a P-CSCF. While P-CSCF is entry for the SIP endpoints, WebRTC
Session Controller is entry point for HTML5 endpoints.
Provide signaling and media integration between WebRTC browser clients with SIP/IMS.
WebRTC Session Controller does not host any business applications, but leverage such
functions from IMS applications deployed in the IMS application server.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 6
Signaling and Media
Signaling and Media
WebRTC Session Controller interact with WebRTC app:
•
Using JSON-RTC (JSON over WebSockets) for signaling.
•
Using SRTP/ICE/STUN/TURN for media.
WebRTC Session Controller interact with SIP network for signaling.
Signaling and Media Integration
Signaling and Media Integration
WebRTC Session Controller is physically split in a Signaling Engine (WSC-SE) and a Media
Engine (WSC-ME).
WSC-SE handle all signaling and WSC-ME handle all media.
WSC-SE and WSC-ME communicate to control the media sessions using an internal
HTTP/SOAP based protocol: JSON-RTC.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 8
Signaling and Media Anchored Flow
Signaling and Media Deployment
Signaling and Media Deployment
Signaling Engine Cluster
-
All nodes are active
-
Cluster state is shared
-
Load balance logic towards Media Engines is built in
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 10
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 12
Signaling Engine Components
Signaling Engine Components
Admin Server
Configuration and Management
Engine Servers
WSC-SE app with runtime processing
Client javascript library
For writing WebRTC HTML5 apps
Converged Load Balancer (CLB)
SIP load balancer
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 14
Signaling Engine Architecture
Main layers:
- JVM
- WLS
- Protocol stacks (SIP, HTTP, Diameter)
- Services
- Message processing, including Template Engine (Groovy) and APIs
- Fabric
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 16
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 18
Signaling Engine Domain
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 20
Signaling Engine Sessions
Signaling Engine Sessions
WEB Session ~ Web Socket
Sub Session ~ SIP Session
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 22
Signaling Engine Message Flow
Signaling Engine Message Flow
Web Handler
manage websockets (Web Socket Application)
Fabric
makes the right node process each message (local if possible). Leverage Coherence.
Message Processing
do protocol mapping and translation
SIP Handler
manage SIP (SIP Servlet) and maintains SIP session state. Leverage SIP
application session.
Signaling Engine Templating
Signaling Engine Templating
Groovy scripts are used for mediation between web and sip messages.
There are a large number of template groovy scripts available out-of-the-box.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 24
Note that example is simplified for readability.
1. Standard HTTP authentication (e.g. username/password or OAuth)
2. Browser establish Web Socket connection
3. Browser send connect JSON message
4. Signaling Engine process the JSON frame (creates session “A”, sub session “1”, SIP
session)
5. Signaling Engine resolve script to execute based on criteria
6. Groovy execute script
7-8. Groovy script create and send SIP REGISTER to SIP network
9. 200 OK received from SIP network
10-11. Signaling Engine process the SIP response and resolve script to execute
12. Groovy execute script
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 26
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 28
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 30
Signaling Engine Failover Scenario
Signaling Engine Failover Scenario
Application web socket connected to Signaling Engine 1
SIP signaling flow through Signaling Engine 1
Media interaction between Signaling Engine 1 and Media Engine
Media flow through Media Engine
Signaling Engine Failover Scenario, Continued
Signaling Engine Failover Scenario, Continued
The application detect web socket disconnect (by heartbeat or socket disconnect)
-
Reconnects to the Load Balancer, which forwards to Signaling Engine 2 and recovers
full state
-
Messages are queued until the application is reconnected
-
SIP signaling flow redirected through Signaling Engine 2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 32
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 34
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 36
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 38
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 40
Media Engine Interfaces
Each node in the cluster can host a VRRP interface on one or more local physical interfaces.
Each physical interface can host more than one VRRP interface at a time.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 42
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Chapter 1 - Page 44
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Architecture
Media Engine Installation and
Administration
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
WebRTC Session Controller Media Engine Installation and
Administration
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 4
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 6
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 8
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 10
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 12
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 14
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 16
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 18
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 22
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 24
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 26
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 28
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 30
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 32
Configure vsp object using CLI command (example:
default-session-config in-encryption)
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 34
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 36
Configure vsp object using web UI (example: default-session-config
in-encryption)
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 38
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Chapter 2 - Page 40
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Media Engine Installation and Administration
Signaling Engine Installation
and Administration
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
WebRTC Session Controller Signaling Engine Installation and
Administration
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 4
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 6
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 8
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 10
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 12
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 14
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 16
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 18
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 20
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 22
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 24
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 26
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 28
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 30
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 32
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 34
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 36
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration
Chapter 3 - Page 38
Configuration – Signaling Engine
Glare Handling:
Handles simultaneous updates.
Sip Session Default Time:
Maps to sip extension field Session-Expires
(default time is
3600 seconds), which defines lifetime of a sip session.
Sip Session Minimum Time:
Maps to sip extension field Min-SE (min value 90
seconds), defines sip session timer.
Websocket Disconnect Time Limit:
Time interval between disconnect and reconnect
of the websocket session (default time is 60000 ms).
Websocket Idle Time Limit:
Idle time interval after which websocket times out (30
seconds).
Configuration – Media Engine
User/Password:
Media engine user and password.
Block Traffic:
To unblock the traffic from the node.
Unblock Traffic:
To block the traffic from the node.
Address/Port:
Media engine address and port
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Signaling Engine Installation and Administration