Installation and Configuration Guide
Installation and Configuration Guide
Index
1 Software tools installation 2
1.1 Installing Wireshark ................................................................................................ 2
1.2 Installing Java Development Kit (JDK) ................................................................... 2
1.3 Installing NetBeans IDE (Integrated Development Environment) ............................ 3
sudo apt-get install autoconf bison flex libtool libgtk2.0-dev libpcap-dev libc-
ares-dev libsmi2-dev libgnutls-dev libgcrypt11-dev libkrb5-dev libcap2-bin
libgeoip-dev libortp-dev libportaudio-dev
2. Open a web browser and navigate to the website http://www.wireshark.org/download.html and download
the source code of the stable release 1.10.0. Another possibility is to run the following command from a
terminal:
sudo wget http://wiresharkdownloads.riverbed.com/wireshark/src/wireshark-
1.10.0.tar.bz2
3. The next step is to change to the directory where the Wireshark compressed tarball file is saved. After that
unpack the compressed tarball file by running the following command:
sudo tar xf wireshark-1.10.0.tar.bz2
4. Change to the directory wireshark-1.10.0 and then run the autogen.sh script to configure the build directory
cd usr/local/src/wireshark-1.10.0
sudo sh ./autogen.sh
5. Run the configure script to check the dependencies on your Ubuntu system
sudo ./configure --prefix=/usr --enable-setcap-install
6. Run the make command to compile the source code and to create the executable files
sudo make
4. After the file has been completely extracted, the directory jdk1.6.0_45 is created. The next step is to define
the JAVA_HOME variable, which tells the OS where the JDK files are located. Additionally the path to
Java executable files has to be set. To do that, edit the global environment file by run the following
command from a terminal:
sudo gedit /etc/environment
After that add a line that defines the location of the JDK (JAVA_HOME) and then extend the PATH
variable by adding JAVA_HOME/bin (see Figure 1)
Figure 1
5. Finally save the changes and reboot your machine. To make sure that the JDK has been successfully
installed and the correct path to Java executable files has been correctly set, run the command java -
version, which shows the installed and used version of Java on your Operating System (see Figure 2)
Figure 2
6. In case you have other Java versions installed on your Ubuntu machine, then you have to define Oracle
JDK as the standard Java version to make sure that it will be used for running and developing Java
applications. To do that, run the following commands from a terminal:
sudo update-alternatives --install "/usr/bin/java" "java"
"/usr/local/src/jdk1.6.0_45/jre/bin/java" 1
This command will extract the installation files and starts the installation wizard
4. Follow the steps provided by the installation wizard. Here you have to accept the terms in the licence
agreement. After that choose the directory, in which NetBeans should be installed (default is
/usr/local/netbeans-7.3.1) and make sure that the right Java JDK is used for NetBeans (see Figure 3).
Finally click on install
Figure 3
5. To start NetBeans, run the commands
cd /usr/local/netbeans-7.3.1/bin/
sudo ./netbeans &
Before installing the Media Server, some additional software and libraries are needed. The external software and
libraries required are:
• SRTP development libraries (libsrtp0-dev)
• SSL (Secure Sockets Layer ) development libraries (libssl-dev)
• GSM development libraries (libgsm1-dev)
• Yasm assembler
• x264 encoder library
• FFmpeg
• mp4v2 library and tools
• XML-RPC for C (Xmlrpc-c) library
• VP8 encoder library
• Speex codec library
• Opus codec library
• Google WebRTC source code to enable VAD support
The following is an explanation how to install the above mentioned software and libraries. First some
dependency packages and libraries have to be fetched and installed including the SRTP, SSL and GSM
development libraries
sudo apt-get install libgsm1-dev g++ make libtool yasm git automake libsrtp0-dev
libssl-dev ant libnss3-dev autoconf
cd yasm-1.2.0
sudo make
cd /usr/local/src/x264
sudo make
c) Installing FFmpeg
To configure, compile and install the latest version of FFmpeg and its software libraries, run the following
commands in the source directory:
sudo git clone git://git.videolan.org/ffmpeg.git
cd /usr/local/src/ffmpeg
sudo make
cd /usr/local/src/mp4v2
sudo make
sudo su
cd /usr/local/src/xmlrpc-c-1.16.44
./configure --prefix=/usr
make
make install
exit
cd /usr/local/src/libvpx
sudo make
cd /usr/local/src/speex-1.2rc1
sudo make
cd /usr/local/src/opus-1.0.2
sudo make
cd webrtc
cd trunk
Finally build the required libraries by compiling WebRTC VAD and the corresponding signal processing
libraries
ninja -C out/Release/ common_audio
exit
cd /usr/local/src/medooze/mcu
make
make install
ldconfig
exit
Table 1 explains the functionality of the different parameters that can be set for the Media Mixer Server.
Table 1
Parameter Function
-h,--help Print help
-f Run as daemon in safe mode
--mcu-log Set MCU log file path (default: mcu.log)
--mcu-pid Set MCU pid file path (default: mcu.pid)
--http-port Set HTTP XML-RPC API port
--rtmp-port Set RTMP XML-RPC API port
For example to run the Media Mixer Server using port 9090 for HTTP XML-RPC API, run the following
command
sudo ./mcu --http-port 9090
The next step is to edit the project properties to match the Apache XML-RPC library directory. Therefore
navigate to the XML-RPC client project directory and then edit the file “project.properties” (see Figure 5).
cd /usr/local/src/medooze/XmlRpcMcuClient/nbproject
Figure 5
After that save the changes and compile the XML-RPC client project
cd /usr/local/src/medooze/XmlRpcMcuClient
sudo ant
The second important component needed to compile the mcuWeb application is the SailFin project, which is
based on robust and scalable SIP Servlets technology on top of a Java EE-based GlassFish Application Server.
To download and install Sailfin version 2, which is the final build based on GlassFish AS version 2.1.1 and SIP
Servlet API 1.1, run the following commands:
cd /usr/local/
sudo wget
http://download.java.net/javaee5/sailfin/v2_branch/promoted/Linux/sailfin-
installer-v2-b31g-linux.jar
After the installation of SailFin project, a new domain has to be created on the GlassFish Application Server. To
do that, open and edit the installation file “setup.xml”. Important configuration parameters are the domain name,
administrator username and password and HTTP port numbers for administrator and other users (see Figure 6).
cd sailfin
Now it is time to compile the mcuWeb application. First navigate to the mcuWeb project directory, and then edit
the file “project.properties” to match the Apache XML-RPC library and SailFin project directories (see Figure
7).
cd /usr/local/src/medooze/mcuWeb/nbproject
Figure 7
Finally compile the mcuWeb project
cd /usr/local/src/medooze/mcuWeb
2. After that login to the admin web interface of GlassFish AS by opening a web browser on Ubuntu and
visiting the link http://localhost:4848, where 4848 is the administrator HTTP port number specified by the
creation of the domain. Additionally you can login to the admin web interface using a web browser on
other computers connected to the same network by visiting the link http://ipaddress:4848, where ipaddress
is the IP address of Ubuntu. Enter the administrator username and password and then click on Login (see
Figure 8)
Figure 8
3. The next step is to change the listening port numbers of the SIP protocol. The default port numbers used for
SIP are 5060 and 5061. But since the mcuWeb application will be deployed on several Application Servers
running on the same machine, it is important that each AS is using different port numbers for the SIP
signalling. To change the default listening port numbers, click on Configuration SIP Service sip-
listener-1 and change the listening port to 5070 (see Figure 9). After that save the changes and repeat these
steps to change the listening port on sip-listener-2 to 5071
Figure 9
4. The default SIP port numbers in the SIP container have to be changed too. Therefore click on Configuration
SIP Container, and then change the values under “SIP Port” and “Secure SIP Port” to 5070 and 5071
(see Figure 10). Finally save the changes
Figure 10
5. Now it is time to deploy the mcuWeb application. Under Application Converged SIP Modules click on
“Deploy”. Under Location click on “Browse” and select the mcuWeb.sar file, which is located under
/usr/local/src/Medooze/mcuWeb/dist, and then click on “OK” (see Figure 11)
Figure 11
6. The deployed application can be found under Converged SIP Modules (see Figure 12). To run the
application click on “Launch” or navigate with a web browser to the link http://ipaddress:8070/mcuWeb,
where ipaddress is the IP address of Ubuntu
Figure 12
2.4 Deploying mcuWeb in JBoss Application Server
To deploy mcuWeb application in JBoss Application Server, do the following:
1. The first step is to download JBoss Application Server with Mobicents SIP Servlets from the hosting
website
cd /usr/local/
sudo wget
http://sourceforge.net/projects/mobicents/files/Mobicents%20Sip%20Servlets/Mobic
ents%20Sip%20Servlets%202.0.0.FINAL/mss-2.0.0.FINAL-jboss-as-7.1.2.Final-
1349104459.zip
2. In order to deploy the mcuWeb application in JBoss AS, all needed is to rename the mcuWeb.sar file to
mcuWeb.war and then copy it to the auto deployment directory
cd /usr/local/src/medooze/mcuWeb/dist
3. The next step is to configure the JBoss server by editing the configuration file “standalone-sip.xml”. The
HTTP listening port number 8080 and SIP listening port numbers 5080 and 5081 can be used, for example,
for the JBoss AS (see Figure 13)
cd /usr/local/jboss/standalone/configuration
Figure 13
4. After editing the configuration file and saving the changes, run the JBoss server
cd /usr/local/jboss/bin/
sudo wget
http://sourceforge.net/projects/mobicents/files/Mobicents%20Sip%20Servlets/Mobic
ents%20Sip%20Servlets%202.0.0.FINAL/mss-2.0.0.FINAL-apache-tomcat-7.0.29-
1210011535.zip
unzip mss-2.0.0.FINAL-apache-tomcat-7.0.29-1210011535.zip
mv mss-2.0.0.FINAL-apache-tomcat-7.0.29-1210011535 tomcat
2. In order to deploy the mcuWeb application in Tomcat Servlet Container, all needed is to rename the
mcuWeb.sar file to mcuWeb.war and then copy it to the auto deployment directory
cd /usr/local/src/medooze/mcuWeb/dist
5. Once the mcuWeb is deployed, the SIP Servlets routing routine has to be changed to make the mcuWeb
application handle the SIP signalling. This is done via the Mobicents SIP Servlets management console
available at http://ipaddress:8090/sip-servlets-management. Under INVITE choose the application
“mcuWeb” and save the changes (see Figure 14)
6. To configure the mcuWeb application navigate with a web browser to the link ipaddress:8090/mcuWeb,
where ipaddress is the IP address of Ubuntu
Figure 16
To create and configure a media mixer for videoconferences, click on the “Add” button under Media Mixers
section. In the Media Mixer Data web page enter the following parameters and then click on the “Create” button
(see Figure 17):
• Name: The name of the media mixer
• Url: Uniform Resource Locator (URL) of the MCU Media Server, which is used to send and receive
XML-RPC requests and responses. If the Media Server and the Application Server are installed on
same host, then you can enter http://127.0.0.1:port, where port is the HTTP XML-RPC API listening
port number used by the Media Server, which can be changed via the --http-port argument
• Media Ip: The IP address of the Media Server that is used to transfer data (video, voice and text). This
IP address will be included in the SDP answer sent form the Application Server to the SIP UA.
Therefore it should be the IP address of the Media Server facing the Application Server
• Public Ip: The public IP address of the Media Server, which is used to create the RTMP (Real Time
Messaging Protocol) URLs for flash streaming
• Local Net: This parameter is used to check whether the SIP UA is behind NAT or not. A SIP UA is
behind NAT if the media IP in the SDP request is private and the IP address of the UA does not belong
to the local net. The default value is 0.0.0.0/0, which means that all participants are not behind a NAT
Figure 17
After entering all these parameters, click on the “Create” button. The created video profile can be seen then on
the mcuWeb home page.
Figure 19
After entering the above mentioned conference parameters, click on the “Create” button. As soon as a
videoconference has been created, the conference web page will be displayed, which enables the user or
administrator to manage the conference. For example the number of participants, the video resolution and the
used video profile can be changed during a conference session by changing the corresponding parameters under
the Conference section (see Figure 20).
Additionally participants can be invited to a conference by entering the corresponding SIP URI under the Add
participants section, and then by clicking on the “Invite” button (see Figure 21).
Figure 20
Figure 21
The Mosaic section allows the user to change the position of each participant (see Figure 4.22).
Figure 22
The Participant List section offers the ability of enabling/disabling audio and/or video by a participant. It allows
as well the user to change the video profile of each participant. Finally a participant can be removed from a
videoconference by clicking on the corresponding “Remove from conference” button (see Figure 23).
Figure 23
The Conference List section on the mcuWeb home page offers the following configuration options (see Figure
24):
• Remove conference: To remove an existing videoconference
• Conference detail: To change to the managing page of the videoconference
• Watch conference: To watch an existing videoconference on a web browser using flash streaming (see
Figure 25)
Figure 24
Figure 25
2.9 Joining a videoconference
To join a videoconference using a SIP UA (for example Linphone), enter the SIP URI of the videoconference in
the field “SIP address or phone number” and then click on the “Call” button (see Figure 26).
Figure 26
According to Figure 26 the SIP URI of a videoconference consists of the following parts:
• conf: The SIP username part that should match a conference DID parameter (see Figure 19)
• 192.168.1.41: The IP address of the Application Server, on which the mcuWeb application is running
• 5070: The SIP listening port number of the Application Server
Figure 27
Figure 28
Figure 29
To start live broadcasting and flash streaming, run the software Adobe Flash Media Live Encoder. As shown in
Figure 30, the software offers many configuration options. It supports both VP6 and H.264 video codecs. The
software allows the user to set the used video and audio codecs, the frame rate, the sample rate, the used
bandwidth and finally the input and output video resolutions.
Figure 30
Under the Panel Options “Output” enable the option “Stream to Flash Media Server”, and then enter the
following parameters (see Figure 31):
• Under “FMS URL:” enter the URL of the Flash Video Streaming Service provided by the media server.
The URL has to be entered in the following form:
rtmp://ipaddress:port/broadcaster/publisher/identifier
Where ipaddress is the IP address of the media server, port is the port number used for flash streaming
(default is 1935), identifier is the identifier of the live streaming channel (Tag parameter)
• Under “Stream” enter the identifier of the live streaming channel (Tag parameter)
• Optionally you can enable and configure the auto adjustment options
• To save the live stream on your computer, enable the option “Save to File” and enter the name of the
video, where the extension file has to be FLV (Flash Video)
Figure 31
Finally to start video and audio encoding, click on the “Connect” button and then on the “Start” button. To view
the live stream on the web, open a web browser and navigate to the mcuWeb home page, and then click on
“Watch broadcast” under the Broadcast List section (see Figure 32).
Figure 32