Network Requirements

From IVS Wiki
Jump to: navigation, search

Architecture and Terms

Our software is built on the standard LAMP (Linux, Apache, MYSQL, and PHP) architecture. The software has been designed to work on the latest LTS version of Ubuntu Linux. For networking purposes, there are 2 main components to the software application:

Application Server: This makes up the bulk of the application and consists of 3 primary components:

  • PHP web pages being served up by the Apache web server
  • MySQL Database
  • NodeJS messaging and control service

Media Server: This portion of the application handles all the communication with the cameras and video streams being served out to the client PCs. It also handles all the recording and clip creation.

From a physical or virtual server perspective, the entire server side software stack can be run on a single server. For applications requiring more than 50 cameras or consisting of different departments the software can be broken out and additional Media Servers can be added. These servers only run the Media Server portion of the VALT application.

Visual Overview

VALT Server Structure.png

Basic Configuration

Client to Application & Media Server(s)
Port Protocol Service Source Destination
🔓 TCP 80 HTTP Web Application Client Application Server
🔓 TCP 1935 WS Video Streaming Client Application & Media Server
🔒 TCP 443 HTTPS Web Application Client Application Server
🔒 TCP 444 WSS Video Streaming Client Application & Media Server
TCP 8000 HTTP/HTTPS* Downloads/Wowza webserver Client Application & Media Server
TCP 20100 HTTP Node.js Client Application & Media Server
For Administration Only
🔧 TCP 22 SSH SSH Client Application & Media Server
🔧 TCP 8088 HTTP Wowza admin Client Application & Media Server

🔓 Required when SSL is Disabled 🔒 Required when SSL is Enabled 🔧 Required only for Administration


Media Server(s) to Camera(s)
Port Protocol Service Source Destination
TCP 80 HTTP Web Application/API Media Server Camera
TCP 554 RTSP Video Stream Media Server Camera

BEAM (Mobile Application)

Only required for those who have purchased BEAM licenses.
BEAM is an application that allows users to leverage devices, such as iPads and iPhones, as a mobile video endpoint. This includes the following features:
  • Live streaming to VALT
  • Recording sessions
  • Uploading sessions
BEAM Device(s) to Media Server
Port Protocol Service Source Destination
🔓 TCP 80 HTTP BEAM API/HTTP Upload BEAM Device Media Server
🔒 TCP 443 HTTPS BEAM API/HTTPS Upload BEAM Device Media Server
TCP 444 RTMP Video Streaming BEAM Device Media Server
TCP 1935 RTMP Video Streaming BEAM Device Media Server

🔓 Required when SSL is Disabled 🔒 Required when SSL is Enabled

Online Updates

Valid DNS servers are required to download updates
Application & Media Server(s) to Repositories
Port Protocol Package Source Destination
TCP 80 HTTP Ubuntu Application & Media Server http://us.archive.ubuntu.com
TCP 80 HTTP Ubuntu Application & Media Server http://security.ubuntu.com
TCP 80 HTTP Ubuntu Application & Media Server http://kazooie.canonical.com
TCP 80 HTTP Ubuntu Application & Media Server http://banjo.canonical.com
TCP 80 HTTP IVS Application & Media Server http://apt.ipivs.com
TCP 80 HTTP Ondrej Apache/PHP Application & Media Server http://ppa.launchpad.net
TCP 443 HTTPS Ondrej Apache/PHP Application & Media Server https://ppa.launchpadcontent.net
TCP 443 HTTPS Ubuntu Changelogs Application & Media Server https://changelogs.ubuntu.com
TCP 443 HTTPS Node Application & Media Server https://deb.nodesource.com
TCP 443 HTTPS Docker Application & Media Server https://download.docker.com
TCP 443 HTTPS Docker Application & Media Server https://docker.ipivs.com

Application Server to Additional Media Server(s)

Only required for installations where additional servers, acting as Media Servers, are present.
Application Server to Media Server(s)
Port Protocol Service Source Destination
TCP 8086 HTTP/HTTPS Wowza Streaming Engine Application Server Media Server
TCP 8087 HTTP Wowza Streaming Engine Application Server Media Server
Media Server(s) to Application Server
Port Protocol Service Source Destination
🔓 TCP 80 HTTP Wowza Streaming API Media Server Application Server
🔒 TCP 443 HTTPS Wowza Streaming API Media Server Application Server
TCP 8086 HTTP/HTTPS Wowza Streaming Engine Media Server Application Server
TCP 8087 HTTP Wowza Streaming Engine Media Server Application Server

🔓 Required when SSL is Disabled 🔒 Required when SSL is Enabled



Application Server and Media Servers.png

Digital Wowza License

Only required for servers utilizing an electronic Wowza key. Servers with a physical Wowza key do not need access to the licensing servers.


This communication is required to verify valid Wowza Streaming licenses.

Media Servers to Wowza Licensing Servers
Port Protocol Source Destination
TCP 80 HTTP Media Server wowzalicense-all.wowzamedia.com
TCP 80 HTTP Media Server wowzalicense1.wowzamedia.com
TCP 80 HTTP Media Server wowzalicense2.wowzamedia.com
TCP 80 HTTP Media Server wowzalicense3.wowzamedia.com
TCP 80 HTTP Media Server wowzalicense4.wowzamedia.com

VALT Cloud

VALT Cloud is a hybrid solution that requires an on-premise server and a cloud server.

The cloud server is the Application Server. This hosts the website where users will access the application.

The on-premise server is a Media Server. This hosts the camera streams and recordings.


It is required to implement Network Address Translation (NAT) for the on-premise Media Server for the following:

Cloud Application Server to On-Premise Media Server
Port Source Destination
TCP 444 Cloud Application Server On-Premise Media Server
TCP 8000 Cloud Application Server On-Premise Media Server
TCP 8086 Cloud Application Server On-Premise Media Server
TCP 8087 Cloud Application Server On-Premise Media Server
TCP 8088 Cloud Application Server On-Premise Media Server