Oracle® Communications WebRTC Session Controller Installation Guide Release 7.0 E40974-02 |
|
|
PDF · Mobi · ePub |
This chapter describes how to install Oracle Communications WebRTC Session Controller Media Engine (Media Engine).
Before you install Media Engine, you must complete the tasks in the following chapters:
Creating and Configuring a WebRTC Session Controller Signaling Engine Domain
WebRTC Session Controller Signaling Engine Post-Installation Tasks
Table 8-1 describes the Media Engine software distribution formats available from https://edelivery.oracle.com. Download the one that is appropriate for your environment.
Table 8-1 Media Engine Software Distribution Formats
Name | Description |
---|---|
Oracle Communications WebRTC Session Controller 7.0 - ME Software USB Image |
A Media Engine distribution suitable for use with the BMC tool to create a USB software installation stick. Only download this software archive if you are installing Media Engine using a USB stick. The BMC tool is included in the USB image archive. For more information on the BMC tool, see the discussion on creating and commissioning USB sticks in the Oracle Communications Application Session Controller Installation and Commissioning Guide. |
Oracle Communications WebRTC Session Controller 7.0 - ME Software Supertar |
A Media Engine installation file used for upgrading an existing installation. |
Oracle Communications WebRTC Session Controller 7.0 - ME Software ISO Image |
A Media Engine distribution suitable for creating a bootable CD/DVD image. Only download this software archive if you are installing Media Engine using a CD or DVD drive. |
Oracle Communications WebRTC Session Controller 7.0 - ME Software Xen Server Image |
A Media Engine distribution suitable for loading on a Xen virtualization server. Only download this software archive if you are installing Media Engine on a Xen hypervisor. |
For more information on Media Engine installation scenarios, see the Oracle Communications Application Session Controller System Installation and Commissioning Guide.
For details on supported bare metal servers as well as general hardware requirements, see "Media Engine Hardware Requirements".
Once you have created the Media Engine installation image, you first attach the bootable image to your hardware, run the Media Engine system installation, and configure basic networking information.
To install Media Engine and configure networking information:
Insert the bootable CD/DVD or attach the bootable USB drive to your server.
Power on the machine.
Once the installation image has booted, you are prompted to reformat the primary hard disk. Select yes.
When the installation is complete, the machine will reboot.
At the login prompt, enter root and press Enter.
The password prompt appears.
Note:
While not required for the initial login, the root password should be changed as soon as possible after installation. For more information, see the discussion about configuring permissions, users and authorization in Oracle Communications Application Session Controller System Administration Guide.Press Enter.
The application-level user name prompt appears.
Press Enter. No application-level user name is required upon initial login.
The application-level password prompt appears.
Press Enter.
After you have logged in, the Media Engine automatically reboots. Once the system has finished rebooting, you must run the setup script to create a management IP interface.
At the console prompt, type config setup
to access the basic configuration objects and properties you must modify on your first network interface to ping the Media Engine and access it via SSH on port 22, and HTTPS on port 443.
Note:
Once you have configured basic access to your first network interface, you can access the system and use the configuration commands to complete your system configuration. For more information on configuration objects and properties, see the Oracle Communications OS-E Objects and Properties Reference Guide.When prompted for a hostname, enter the name you want to use for the host and press Enter.
When prompted for an interface, enter the name of the ethernet interface, for example, eth1, and press Enter.
When prompted for an ip-address, enter the IP address and subnet mask of the host, for example, 192.168.12.123/24, and press Enter.
When asked if you want to enable ssh access to the Media Engine host, enter y
and press Enter.
When asked if you want to enable web access to the Media Engine host, enter y
and press Enter.
When prompted for a route, enter default
for the ethernet interface route and press Enter.
When prompted for a default gateway, enter the IP address of the host's default gateway and press Enter.
When prompted for the text you want to use for the host's prompt, enter a string of your choice and press Enter.
When prompted for media-sessions, enter the session capacity per feature to match what you have purchased, and press Enter.
When you are asked to commit this setup script, enter y.
When you are asked to update the startup configuration, enter y.
You must edit the sample configuration file provided with Media Engine with details specific to your installation. See "Sample Media Engine Configuration File" for more information.
Once you have made the necessary changes to the configuration file, you must upload it to the Media Engine /cxc folder.
To upload the sample configuration file to the Media Engine /cxc folder:
Navigate to the Media Engine login page:
https://
hostname
The login page appears.
Click Login.
The Media Engine home page appears.
Note:
No credentials are required to login until users, permissions, and authorization have been configured. For more information on configuring those objects and properties, see Oracle Communications OS-E System Administration Guide.Select the Tools tab.
Click Upload File.
Click Browse and navigate to the sample configuration file.
Click Update.
Sign out of the Media Engine web page and open a SSH session with the Media Engine host.
Sign in to the Media Engine console.
Enter the following command to validate the configuration file:
config validate /cxc/filename
Enter the following command to activate the configuration file:
config replace /cxc/filename
Enter the following command to save the sample configuration file:
config save /cxc/filename
Example 8-1 shows an annotated Media Engine configuration file. Variables that must be updated in this configuration file are indicated by the text, SET THIS
.
Note:
This is only an example. The exact contents of this configuration file can vary significantly depending upon your particular networking environment and requirements.For more information on the objects and properties referenced in this example, see the Oracle Communications OS-E Objects and Properties Reference Guide.
Example 8-1 Annotated Media Engine Configuration File
# # This is an example of a Media Engine cluster configuration with recommended configuration # settings. Details will be different for each customer site and may differ from this template. # # Items marked with ----> SET THIS must be supplied # config cluster # # Standard box-level settings. # config box 1 set hostname SET THIS to the host name set timezone SET THIS to the host's timezone set name SET THIS to the box name set identifier SET THIS to the box's eth0 MAC address # # Interface backing the VRRP vx interface - see VRRP configuration below. # config interface eth1 return # # Heartbeat interface for other boxes in the cluster. The eth0 interface is recommended. # config interface eth0 config ip heartbeat1 set ip-address static SET THIS to the IP address and network mask, for example, 192.168.1.1/24 # # Web services are configured here so the load factor application can retrieve statistics # for all boxes in the cluster. # config web-service return # # Set up a Network Time Protocol (NTP) server. It is important that cluster time is correct, and # this NTP server acts as backup in case an external NTP server is not available. # config ntp-server return config vrrp-advertisements return config messaging return return return config cli set prompt SET THIS to a useful descriptor such as the box name set display scrolled return # # Set to an external NTP server; it is important that the cluster have the correct time. # config ntp-client set server SET THIS to the external NTP server's IP, for example, 10.148.104.1 return # # Increases the size of the kernel Address Resolution Protocol (ARP) cache. # config os set arp-thresholds 4096 4096 8192 return # # Sets the number of active ports available for media anchoring. # config media-anchor-limits config port-limit CXC CXC set full-limit 800000 return return return # # Standard box-level settings for an additional box. # config box 2 set hostname SET THIS to the box's host name. set timezone SET THIS to box's timezone. set name SET THIS to the box's name. set identifier SET THIS to the box's MAC address. # # Interface backing the Virtual Router Redundancy Protocol (VRRP) vx interface - see VRRP # configuration below. # config interface eth0 return # # Heartbeat interface to the other box in the cluster # config interface eth1 config ip heartbeat2 set ip-address static SET THIS to the local interface/netmask, for example, 192.168.1.2/24 # # Web services are configured here so the load factor application can get access # to statistics on every box in the cluster. # config web-service return config vrrp-advertisements return config messaging return return return config cli set prompt SET THIS to the box name. set display scrolled return # # Set to an external NTP server; it's important that the cluster have the correct time # config ntp-client set server SET THIS to the external NTP server IP, for example, 10.148.104.1 set server SET THIS to the internal NTP server on ip Heartbeat1, for example, 192.168.1.1 return # # Increases the size of the kernel ARP cache. # config os set arp-thresholds 4096 4096 8192 return # # Sets the number of active ports available for media anchoring. # config media-anchor-limits config port-limit CXC CXC set full-limit 800000 return return return # # Cluster support # set share-signaling-entries true set mirror-media-streams true # # Cluster interfaces using VRRP # config vrrp # # management, web service and SIP interface # config vinterface vx36 # # Define a group of box interfaces tied to this cluster interface. # set group 1 set host-interface cluster\box 1\interface eth0 set host-interface cluster\box 2\interface eth0 # # We're doing "one-arm" routing, in that there are no separate public, private # and management interfaces. # config ip Service set ip-address static SET THIS to the IP address/netmask, for example, 10.1.1.1/16 # # Management protocols. # config ssh return config web return # # Required for the media control API between Signaling Engine and Media Engine. # config web-service set min-spare-threads 4 return # # SIP and media. Note that Network Address Translation (NAT) is enabled. # config sip set udp-port 5060 "" "" any 0 set tcp-port 5060 "" "" any 0 set tls-port 5061 "" "" any 0 config ws-port 9080 return return config icmp return config media-ports return # # Routing - default route for the box. # config routing config route default set gateway SET THIS to the gateway IP address, for example, 10.1.0.1 return return # # These are the default ports for the STUN server. 'disabled' refers to the TURN relay. # config stun-server set port UDP 3478 disabled return return # # Configuration for the load factor application which supplies load factor # values for the Media Engine cluster to the Signaling Engines. # config ip loadfactor set ip-address static SET THIS to an IP address/netmask, for example, 10.1.1.2/16 config web-service config virtual-host SET THIS to same static address for this ip, for example, 10.1.1.2 config web-app-config /loadfactor set context-parameter ascMgmtHost SET THIS to the web services IP address on the IP Service, for example, 10.1.1.1 set context-parameter ascUsername SET THIS to the Media Engine user name in ME access configuration with web services privileges set context-parameter ascPassword SET THIS to the password of the Media Engine user name specified above return return return return return # # Sets the Media Engine to initiate a VRRP failover to backup boxes if the local Session # Initialization Protocol (SIP) process goes dead # set sip-dead-groups 1 return return # # Standard logging, and other options. # config services config event-log config file krnlsys.log set filter krnlsys debug return config file management.log set filter management info return config file access.log set filter access info return config file system.log set filter general info set filter sipSvr info set filter system info config advanced-filter set blocked-event irqbalance return return config file error.log set filter all error return config file db.log set filter db debug return return config data-locations return config storage-device set fail-threshold 200 return # # Configure the collect command group specific to WebRTC for debugging. # config collect config collect-group wsc-me set status-class version set status-class ice-state-status set status-class ice-dtls-status set status-class media-stream-stats set status-class media-stream-addresses set status-class kernel-rule-stats set status-class kernel-rule set description "WSC ME Debug" return return return # # Enables and sets the master box for master services. Each master services can run on # one box in the cluster. # config master-services # # Box for controlling the cluster configuration. # config cluster-master set host-box cluster\box 1 set host-box cluster\box 2 set group 1 return # # The internal cluster database for call-log debugging. # config database set host-box cluster\box 2 set host-box cluster\box 1 set group 2 set media enabled return # # Failover for media processing. # config call-failover set host-box cluster\box 1 set host-box cluster\box 2 set group 3 return # # Event service settings. # config events set host-box cluster\box 1 set host-box cluster\box 2 set group 4 return return config vsp set admin enabled # # Default session config; this is overridden/supplemented by policy rules and named # session configs. # config default-session-config # # By default anchor media and terminate calls where there has been no media activity # for the specified period. # config media set anchor enabled config nat-traversal set symmetricRTP true return set inactivity-timeout enabled "0 days 00:01:00" set rtp-stats enabled return # # We'll allow endpoints to use media encryption if they want. reuse-key ensures # that the key is not renegotiated when a re-INVITE is received. Chrome uses SHA1-80, # so we'll disabled SHA1-32. # config in-encryption set mode allow set type multiple set priority-AES-128-CM-HMAC-SHA1-32 0 set priority-AES-128-CM-HMAC-SHA1-80 1 set reuse-key enabled set encryption-preferences 1 DTLS set encryption-preferences 2 RFC_3711 return config out-encryption set mode allow set type multiple set reuse-key enabled set encryption-preferences 1 DTLS set encryption-preferences 2 RFC_3711 return # # The only video codec supported by Chrome is VP8, so we'll get rid of anything else. # config media-type set allowed-media-types video VP8 set blocked-media-types video any return # # Minimizes the risk of Chrome and other endpoints choking on SDP attributes they don't understand. # Pass SDP attributes unchanged. # config sdp-regeneration set origin pass set add-rtpmaps enabled set pass-attribute candidate set pass-attribute ice-pwd set pass-attribute ice-ufrag set pass-attribute rtcp set pass-attribute rtcp-mux set pass-attribute ssrc set pass-attribute remote-candidates set pass-attribute fingerprint set pass-attribute rtcp-fb set pass-attribute wsc-session-id return # # We'll let calls in by default. # config sip-directive set directive allow return # # Enables call log for debugging purposes. # config log-alert return # # Makes sure we are using the RTP profile required by WebRTC. # config header-settings config altered-body 1 set altered-body "(.*)RTP/SAVP (.*)" "\1RTP/SAVPF \2" custom return return # # 3PCC is not just third party call control, it's the whole SIP state machine. # Note that setting always-apply-req-uri-spec to disabled means we do the right # thing when the request URI is changed during a call. # config third-party-call-control set admin enabled set handle-refer-locally disabled set always-apply-req-uri-spec disabled set terminate-reinvite-locally enabled return # # The event-settings are required for the media control API. # config event-settings set channel /wsc/agent/%$call.request-id% set named-variable-entry to set include-media-content enabled return # # In some cases, SSRC in SDP can cause trouble, so we'll strip it out, # and add it in elsewhere if we need it. # config in-sdp-attribute-settings set ssrc-in-sdp strip return config out-sdp-attribute-settings set ssrc-in-sdp strip return return # # DTLS settings. # config tls config default-dtls-settings set dtls-cookie-exchange disabled return return config static-stack-settings # # Set the maximum number of concurrent sessions. # set max-number-of-sessions 100000 # # So we don't have to worry about matching host names in the location cache. # set location-lookup-pattern user-only return # # Contains specific session configurations that are set in Signaling Engine configurations # to be sent to Media Engine depending on the type of call # config session-config-pool # # WebRTC to SIP call. Inbound leg ICE and encryption enabled. # config entry web-to-sip config in-encryption set mode require set type multiple set priority-AES-128-CM-HMAC-SHA1-32 0 set priority-AES-128-CM-HMAC-SHA1-80 1 set reuse-key enabled set encryption-preferences 1 DTLS set encryption-preferences 2 RFC_3711 return config header-settings config altered-body 1 set altered-body "(.*)RTP/SAVP (.*)" "\1RTP/SAVPF \2" custom return config altered-body 33 set altered-body "(.*)a=rtcp-fb(.*)nack pli\r\n(.*)" "\1a=rtcp-fb:* ccm fir \ba=rtcp-fb:* nack\r\n\b\3" custom return return config in-ice-settings set admin enabled return config in-sdp-attribute-settings set ssrc-in-sdp strip set patch-audio-group enabled return return # # SIP to WebRTC call. Outbound leg ICE and encryption enabled. # config entry sip-to-web config out-encryption set mode require set type multiple set reuse-key enabled set encryption-preferences 1 DTLS set encryption-preferences 2 RFC_3711 return config out-media-normalization config codec-payload-type-bindings set binding telephone-event 101 return return config out-ice-settings set admin enabled set suppress-re-invites enabled return return # # WebRTC to WebRTC call. Inbound and outbound ICE and encryption; enable rtcp-mux for rtp and # rtcp to use the same port. # config entry web-to-web-anchored config in-encryption set mode require set type multiple set priority-AES-128-CM-HMAC-SHA1-32 0 set priority-AES-128-CM-HMAC-SHA1-80 1 set reuse-key enabled set encryption-preferences 1 DTLS set encryption-preferences 2 RFC_3711 return config out-encryption set mode require set type multiple set reuse-key enabled set encryption-preferences 1 DTLS set encryption-preferences 2 RFC_3711 return config sdp-regeneration set origin pass set add-rtpmaps enabled set pass-attribute candidate set pass-attribute ice-ufrag set pass-attribute ice-pwd set pass-attribute rtcp set pass-attribute rtcp-mux set pass-attribute rtcp-fb set pass-attribute ssrc set pass-attribute remote-candidates set pass-attribute fingerprint set pass-attribute wsc-session-id return config in-ice-settings set admin enabled return config out-ice-settings set admin enabled set suppress-re-invites enabled return config in-sdp-attribute-settings set rtcp-mux enabled return config out-sdp-attribute-settings set rtcp-mux enabled return return # # WebRTC to SIP call. Media conditionally anchored; release if possible. Inbound leg ICE and # encryption enabled; augmented ICE enabled, and rtcp mux disabled. # config entry web-to-web-anchor-conditional config media set anchor enabled config nat-traversal set symmetricRTP true return set inactivity-timeout enabled "0 days 00:01:00" set rtp-stats enabled set augmented-ice enabled return config in-encryption set mode pass-thru set type multiple set reuse-key enabled set encryption-preferences 1 DTLS set encryption-preferences 2 RFC_3711 return config out-encryption set mode pass-thru set type multiple set reuse-key enabled set encryption-preferences 1 DTLS set encryption-preferences 2 RFC_3711 return config sdp-regeneration set origin pass set add-rtpmaps enabled set pass-attribute candidate set pass-attribute ice-ufrag set pass-attribute ice-pwd set pass-attribute rtcp set pass-attribute rtcp-mux set pass-attribute rtcp-fb set pass-attribute ssrc set pass-attribute remote-candidates set pass-attribute fingerprint set pass-attribute wsc-session-id return config in-ice-settings set admin enabled set delay-stun-requests enabled return config out-ice-settings set admin enabled set suppress-re-invites enabled set delay-stun-requests enabled return config in-sdp-attribute-settings return config out-sdp-attribute-settings return return return # # Dial plan. Note the special type of peer server, 'web', for event-based WebRTC endpoints # signaled via the media control API. # config dial-plan config route WebRTC config condition-list set to-uri-condition scheme match webrtc return set priority 80 set location-match-preferred no set peer web set request-uri-match condition-list return return return config external-services return # # Display Oracle Communications WebRTC Session Controller Media Engine brand in the # web management UI. # config preferences config gui-preferences set show-unlicensed-features false set channel webrtc-session-controller-media-engine set display-home-page-links disabled set display-footer disabled return return # # Don't forget to configure users here. # config access return config features return
After you install Media Engine, you must complete Media Engine post-installation tasks. See "WebRTC Session Controller Media Engine Post-Installation Tasks" for instructions.