FCSDK Installation Guide
FCSDK Installation Guide
Updated: 2023-03-14
Mac®, iTunes and iPhone are trademarks of Apple Inc., registered in the U.S. and other
countries. iOS is a trademark or registered trademark of Cisco in the U.S. and other countries
and is used under license by Apple Inc.
Microsoft, Lync and Windows are either registered trademarks or trademarks of Microsoft
Corporation in the United States and/or other countries.
VMware is a registered trademark of VMware, Inc. in the United States and/or other jurisdictions
Contact Information
support@cbaliveassist.com
Related Documentation
Make and receive voice and video calls directly from a Web browser to telephones and
other browsers, without employing web plugins.
The Core SDK, which developers can use to develop browser-based applications
The iOS SDK, which developers can use to develop applications for iOS and OSX based
devices.
The Android SDK, which developers can use to develop applications for Android devices
Fusion Client SDK also includes components which allow the enterprise to deploy the
applications which they develop.
Prerequisites
Before you start the installation of Fusion Client SDK, ensure that you have a compatible
Operating System, and that you have a supported JDK installed. See the Fusion Client SDK
Release Notes for details of the supported operating systems and JDK versions.
It is important to read the FCSDK Architecture Guide before you start your installation.
This guide introduces the core concepts, terminology, and the different options for Fusion Client
SDK deployment topologies. This guide assumes you are already familiar with these options.
Service Continuity
Service Availability
Note: To ensure continuity in your service when a component fails, you will need a Highly
Available deployment of the Fusion Application Server. See the Fusion Application Server
documentation.
For voice and video, you will need to know the details of the network’s SIP infrastructure.
Your budget.
The following logical diagram shows a sample installation offering external access via a
DMZ:
For detailed descriptions of each network component, please refer to the FCSDK Architecture
Guide.
You must also configure the controlled domains on the DNS server, to ensure that they are
resolved to the Fusion Application Server IP address.
In an example deployment where the Web Gateway is hosted on a Fusion Application Server
with the IP address 192.123.45.67, the following settings may apply:
You define these controlled domains during the installation process. Ensure that you have
prepared the DNS resolution and any domain names you plan to use are not used elsewhere on
the Fusion Application Server.
After you have completed the installation procedures in this document, there are a number of
configuration tasks that you may need to perform before you can deploy applications developed
with Fusion Client SDK. For example:
Each of these tasks is described in the Fusion Client SDK Administration Guide.
Installation Tasks
Run the Fusion Client SDK installer See the Installing Fusion Client SDK section
Install the Media Broker See the Installing the Media Broker section
CBA Components
See the Fusion Client SDK Release Notes for information on compatible versions of Fusion
Application Server.
Server Hardware
6GB of RAM
This is the minimum necessary for installing and running both FAS and FCSDK, together with a
single Media Broker, on the same host.
Operating Systems
Fusion Client SDK is supported on the same operating systems as Fusion Application Server.
See the Fusion Application Server Release Notes for details of the supported operating
systems.
Media Broker
Media Broker supports:
CentOS 7
Java
Network
To support the transfer of RTP, Media Brokers need the following bandwidth:
Audio calls need approximately 100kbit/s in each direction; however, this depends on the
codec used
Failure to meet these requirements can result in degraded media quality, but enabling Call
Admission Control can prevent overloading of the Media Brokers (see the FCSDK
Administration Guide).
You can install Fusion Client SDK using the unattended installer. Using the unattended installer
allows you set your preferences once in a properties file, and to run the installer with that
properties file as many times as you require.
The FCSDK has a number of optional components. If you do not install an optional component
the first time, you can re-run the installer later with only the missing components selected.
When you install FAS and FCSDK as a non-root user, you have to specify at least one of two
non-root OS-level users in the installation properties file:
os.user is the user which the FAS and FCSDK systems are to run as.
This user can read and write log files, and start and stop the services (FAS and Media Broker).
This user can run the CLI and logcapture, view the audit logs, and perform administration duties
(for example, deploy files or make administration changes).
The first user (os.user) is mandatory, but is set to root in the FAS and FCSDK installation
properties file by default. If the installation properties file does not specify the second user
(os.admin), both installers assign os.admin’s responsibilities to os.user. Therefore, if you did not
change the defaults when you installed FAS and FCSDK, both the administration tools and the
system itself will run as root. See the FCSDK installer’s advanced-install.properties file for details
of the permissions and groups needed for these users.
Note:
The FCSDK Web Gateway is installed to an existing instance of FAS, and FCSDK will use
the os.user and admin.user which FAS runs under. When installing a Media Broker,
however, the installed Media Broker will run using the os.user and admin.user defined in the
Installation Modes
Quick
This mode uses default values for most of the installation options, and is suitable for lightly
loaded development systems. It should not be used for production systems, as it includes the
deployment and configuration of the CBA sample application on the Gateway server.
Upgrade
This mode will upgrade existing FCSDK applications on the Fusion Application Server, while
also maintaining the applications’ configuration - you can also upgrade a Media Broker.
When upgrading FCSDK applications, we recommend that you first upgrade the Fusion
Application Server (as documented in the FAS Installation Guide), even if a newer version is
not required, as this will allow you to rollback the upgrade by switching to the old FAS instance
(which it will not delete).
Advanced
This is the most flexible installation mode, in which you can choose exactly which components
you wish to install.
Pack Descriptions
Pack Description
Web Gateway Installs all the components for the Web Gateway. This includes:
Administration Web
Administration Command Line Interface
UI
Deploys the sample applications to the FAS and installs the sample
Core SDK
source code and core JavaScript SDK to a local directory.
Installs the services for the Media Broker and associated scripts. It
Fusion Media
will install the Media Broker to the selected directory; Media Broker
Broker
does not run on a FAS instance.
Deploy and
Deploys the sample application and configures it with two users.
Configure the
Configures the gateway for the sample application.
Sample Application
Fusion Client SDK can be installed from the command-line by specifying the required
installation configuration in a properties file. Sample template properties files are bundled with
Fusion Client SDK. See the Installer Properties section for details of how to complete the
properties fields.
1. Extract the installation files from fusionweb-installer-3.x.x.zip into a temporary folder on the
install machine.
quick-install.properties
advanced-install.properties
upgrade-install.properties
The quick version only has those properties required for a quick install.
Installer Properties
Property Description
Set to:
installation.install.type
●upgrade to upgrade an existing installation
● COMMON
●GATEWAY
・RUNTIME
・REST
・WEB_ADMIN
・CLI_ADMIN
●GATEWAY.RUNTIME
●GATEWAY.REST
● GATEWAY.WEB_ADMIN
● GATEWAY.CLI_ADMIN
●CORE_SDK
●CORE_SDK.SAMPLE.RUNTIME
●CORE_SDK.SAMPLE.SOURCE
●CORE_SDK.JAVASCRIPT
●SAMPLE_APP
appserver.admin.address
Note: This is not set by default and needs to be set by
the user.
Note: Specify the user that should own and run the
application server files and processes, for example,
root.
os.user
Note: This is very important if installing as a non-root
user. See the Installing as a Non-Root User section
and the comments in the advanced properties file.
os.admin
Note: This property is commented out in the
properties file, and must be uncommented before you
can set it.
Property Description
gateway.admin.username You should use these if the existing system has an external
authentication system for the REST API. In most cases, these
gateway.admin.password can be ignored.
Multi-box Installations
The master node copies its configuration, including the FCSDK and applications, to the slaves.
To install the Fusion Client SDK for iOS, open fusion_client_ios_sdk-3.x.x.tar.gz on your Mac
and extract the contents to an appropriate area of your file system.
Note: If using a self-signed server certificate, please refer to the FCSDK Developer Guide for
instructions on how to correctly install the server and CA root certificates on your iOS or OSX
client.
2. Copy the contents of the libs directory to the libs folder of your project.
3. In the Project view, right click on the fusion-android-sdk.3.x.x.jar file, and select Add As
Library…:
4. Copy the contents of the res directory to the res directory of your project
The fusion-android-sdk.3.x.x.jar also contains src, docs, and assets folders - you probably do not
want to copy these to your project: the assets folder is empty, the docs folder contains the
JavaDocs for the SDK classes, and the src folder contains the source code for a sample
application.
For details on how to develop applications using the SDK, see the FCSDK Developer Guide.
If you wish to roll back the upgrade of SDK applications on Fusion Application Server, follow
the rollback instructions in the FAS Installation Guide.
You should configure DNS for each host running Media Broker, or put suitable entries in relevant
hosts files. Failure to do this can cause problems during call setup, and may result in no media.
Media Broker may require certain dependencies to be installed, dependent upon the OS in use:
libxml2
libpng
Please ensure these packages are installed, before attempting to install Media Broker
1. Extract the installation files from fusionweb-installer-3.x.x.zip into a temporary folder on the
virtual machine.
2. Copy the native tarball to the same temporary directory as the extracted installer zip files.
This file will typically be named media-broker-native-….tar.gz
3. Run through unattended installer, ensuring that you only select the Media Broker installation
pack. See the Installing Fusion Client SDK section.
You can install the Media Broker unattended from the command-line by specifying the required
installation configuration in a properties file. A sample template properties file is bundled with
Fusion Client SDK.
1. Extract the installation files from fusionweb-installer-3.x.x.zip into a temporary folder on the
install machine.
Post Installation
Create a Service
If you run the installer as a non-root user, it cannot automatically create the services to start FAS
and the Media Broker. Perform the following steps to manually create the services:
/opt/fusion/FAS-<fas-version>/resources/add-service.sh
/opt/fusion/FCSDK-3.x.x/resources/post-install.sh -s
Note: If the installer creates the Media Broker service, it automatically starts it.
If you choose a new installation directory, the previous versions of the Media Broker and FCSDK
remain on the disk after an upgrade. To roll back to the previous installation:
2. Edit the /etc/fcsdk.conf file, and change the RTPPROXY_HOME and FCSDK_HOME
properties to point to the previous installation.
The Media Broker has a native log file (master.console.log) and a number of java log files (e.g.
proxy.log, stun.log, rest.log, etc.). It rotates its log files in order to preserve disk space without
deleting them before they can be examined or backed up. By default, log files rotate when they
reach a specific size, but you can configure the system to rotate at a specific time, such as daily
at midnight.
The logrotate process is configured using the lograte.conf file in the Media Broker installation
directory (e.g. /opt/fusion/FCSDK/fusion_media_broker/logrotate.conf). By default it rotates the
log file if it is bigger than 50 MB in size, and stores the previous 10 log files before deleting older
logs:
/opt/fusion/FCSDK/fusion_media_broker/master.console.log {
copytruncate
size 50M
rotate 10
missingok
The documentation (man page) for logrotate explains how logrotate can be reconfigured. e.g.
size 50M could be replaced with daily.
Native logging level is managed through the GST_DEBUG environment variable, which is
typically set in the gst-env file in the native directory inside the Media Broker installation directory
(e.g. /opt/fusion/FCSDK/fusion_media_broker/native/gst-env).
You can configure Java logging using a standard log4j.properties file, located in the media broker
install directory. Most Java logging is directed to the DEBUG_LOG appender, which typically logs
to a proxy.log file with MaxFileSize of 20M, storing the 10 previous log files before deleting older
logs. You can configure other Log4j appenders (e.g. rest, stun, and console) similarly.
See the Log4j documentation for what options are available for reconfiguring Java logging, and
how to use them (e.g. the RollingFileAppender could be replaced by a
DailyRollingFileAppender).
Manual Tests
You can perform basic testing on the customized version of gstreamer used by Media Broker.
Commands (in this font) should be entered on a single line; the responses are shown like this.
1. Setup your environment to use the customized native libraries, by sourceing the Media
Broker native configuration file, e.g.:
source /opt/fusion/FCSDK/fusion_media_broker/native/setup-env.sh
echo $GST_PLUGIN_PATH
/opt/fusion/FCSDK/fusion_media_broker/native/lib/gstreamer-1.0
echo $LD_LIBRARY_PATH
/opt/fusion/FCSDK/fusion_media_broker/native/lib:/opt/fusion/FCSDK/fusion_media_broker/nativ
e/lib/intel64
3. Execute a simple test to ensure the VP8 parser has been installed correctly:
gst-inspect-1.0 vp8parse
Factory Details:
Pipeline is PREROLLING …
Redistribute latency…
Pipeline is PREROLLED …
Freeing pipeline …
The above command will run for around one second. It will generate a test.mka file in the current
directory, that can then be played with an appropriate player:
Pipeline is PREROLLING …
Redistribute latency…
Redistribute latency…
Pipeline is PREROLLED …
Freeing pipeline …
This should generate a test2.mka file in the current directory. Again, as for the file in the previous
step, the file should be playable in a suitable player.
Note: If any of the above tests fail to execute correctly, you can turn on debugging as an aid in
diagnosing the problem. To turn on gstreamer debugging, you will need to set the GST_DEBUG
environment property (or provide gstreamer command debug arguments) accordingly:
See the following guides for details of how to install and configure LDAP authentication:
Option 1
If you chose the Sample Application pack during installation, the sample application is already
deployed and configured with two users. Navigate to https://<fas address>:8443/csdk-sample
(where <fas address> is the host name or IP address of the FAS server running FCSDK) and
use the following credentials:
Username Password
1001 123
1002 123
Option 2
If you did not choose the Sample Application pack during installation then you must follow the
following steps:
4. Test your installation by logging in to the sample application using two AED-only users.
The Web Application ID is a unique text string which it includes in this message; it identifies the
Web Application to the Web Gateway, and confirms that the Web Application is allowed to create
sessions. The Fusion Client SDK Web Administration interface enables you to define the list of
Web Application IDs that the Web Gateway accepts. The same Web Application ID needs to be
configured on both the sample application and the Web Gateway. To add a Web Application ID
for the sample application to the Web Gateway:
https://<fas address>:8443/web_plugin_framework/webcontroller/admin
where <fas address> is the IP address or host name of the FAS host on which FCSDK is
running, using the default login credentials:
Username: administrator
Password: administrator
2. Choose the Gateway tab, then the General Administration tab. The web admin console
displays the Gateway Administration page.
4. Enter the Web Application ID in the Key field (it should have at least 16 characters). For
example:
FUSIONCSDK-A8C1D
Click Submit. You should now see the Web Application ID you entered in the list of Web
Application IDs
Note: The Web Application ID can be any text string of 16 characters or greater. The important
thing is that the same value is used both here and when configuring the sample application (see
the Configuring the Sample Application section), and that nothing else should use it.
The sample application takes its configuration from an XML file, named csdksample-db.xml,
which you must deploy to the Fusion Application Server. Before deploying the application and
the configuration file, you need to edit csdksample-db.xml to provide the correct configuration,
and to add users to the sample application:
1. Open csdksample-db.xml in a text editor. You can find a template for this file at <install-
dir>/Core_SDK/Sample_Source/csdksample-db-template.xml which you can rename to
csdksample-db.xml.
<config>
<!– The webappId is a string of at least 16 characters and is passed to the Gateway to identify
this application instance. The Gateway also needs to contain this ID in its list of configured
application IDs –>
<webappId>FUSIONCSDK-A8C1D</webappId>
<!– The gwUrl is the URL that we connect to the Gateway on to manage sessions for the client.
This needs to have the correct hostname or IP address specified. To make a secure connection
change the scheme to be https and update the port as well. –>
<gwUrl>https://web\_gateway\_address:8443/gateway\</gwUrl>
<!– The externalgwUrl is the external URL that we connect to the Gateway on to manage
sessions for the client. This needs to have the correct hostname or IP address specified. To
make a secure connection change the scheme to be https and update the port as well. –>
<externalGwUrl>https://external\_web\_gateway\_address:8443/gateway\</externalGwUrl>
<!– This is the JSON configuration that is passed to the Client SDK libraries for their stun server
configuration. The following example is a single stun server <stunServers>[{“url”:
“stun:stun.l.google.com:19302”}]</stunServers> –>
<!– No Stun Servers would be configured as follows which is the default example. –>
<stunServers></stunServers>
3. The Web Application ID must match the one configured on the Web Gateway (see the
Configuring the Web Application ID on the Web Gateway section). To set it here, enter the
unique text string, with a minimum of 16 characters, between the <webappID> tags.
4. Enter the URL of the Web Gateway between the <gwUrl> tags. This is the address the
sample Web Application can access the Gateway HTTP interface on to create sessions.
5. Enter the external URL of the Web Gateway between the <externalGwUrl> tags. This is the
address clients can access the Gateway HTTP interface on to create and manage calls.
This URL may well be the same as the <gwUrl> for internal or test systems.
6. If you are using one or more stun servers, enter the URLs between the <stunServers> tags,
in the format [{stun:stunserver_url1:port}, {stun:stunserver_url2:port}].
Adding Users
Each user can have access to a different function (for example, AED only, or Voice and Video
only), or a user can have access to a combination of functions. To test your installation using the
process described in the Testing the Installation section, you need to provision two AED users in
csdksample-db.xml. The template file already contains two such users, so there is no need to
edit this file further to test the install. If you need to do so, the rest of this section describes the
format of this file and how to add users to it.
The template csdksample-db.xml file supplied with Fusion Client SDK contains some example
users with different features enabled.
1. Open the csdksample-db.xml file in a text editor and add a new user element for each user
you want to add.
1. Open a web browser and navigate to the FAS Management Console at:
https://<fas address>:9990
Where <fas address> is the IP address or host name of the FAS where FCSDK is installed.
2. When prompted for login information, enter the administrator login details. The default
details are:
Username: administrator
Password: administrator
5. Click Browse and navigate to the /Core_SDK/Sample_Source in the Fusion Client SDK
installation directory. Select csdk-sample.war and click Next.
6. To confirm your selection, click Save on the Verify Deployment Names dialog. The
Available Deployment Content list on the Content Repository page now shows csdk-
sample.war.
The Available Deployment Content list on the Content Repository page now shows csdksample-
db.xml.
8. In the Available Deployment Content list, select csdk-sample.war and click Assign. The
Select Server Groups dialog displays.
In the Available Deployment Content list, the entry in the Assignments column for csdksample-
db.xml should now read 1.
To validate that the installation has been successful, you need two AED users in the csdksample-
db.xml file. Use the user names and passwords from that file to log into the sample application at
https://<fas address>:8443/csdk-sample/. If you used the template file provided by CBA then the
credentials are as follows:
Username Password
aed 123
aed2 123
1. Once you have logged into two separate browser windows using the two sets of credentials
above, you will see in each browser a screen similar to that below:
3. Type a message in the type message here text box, then click Send. The message will
appear in the message window of both users. You can also experiment with moving the
sliders in the left hand pane, which will be replicated to the other user.
If the web page does not display, contact your web administrator to verify that the proxy or
firewall does not block HTTP traffic on port 8443.
To log in as a voice and video user requires further configuration of the network.
See the FCSDK Administration Guide for details of the required configuration.
To use the sample application on Chrome for Android, you must first enable WebRTC on the
browser:
1. Open Chrome for Android, and type the following address into the address field:
chrome://flags
2. Scroll down the page until you find Enable WebRTC, and click Enable for this setting.
This setting takes effect the next time you launch Chrome for Android; click Relaunch Now for
the change to take effect.