Server

Besides the classical p2p approach (peer to peer) you can also connect to a mix server. When doing so the advantages are that no port-forward is required anymore even with highly secured routers/NATs and the amount of participants can be higher. The drawback, however, is additional latency due to possible routing detours and server internal buffering.

We offer two types of mix servers – the simple server (SS) and the complex server (CS). The SS is the SJC itself which you can ideally install and run on a remote server instance such as AWS or Azure etc. but also any other machine with Linux, OSX or Windows. In SS mode the SJC bind port is set to 50050 but it will be freely adjustable soon. The command line args are ./SJC201112 SERVER CHANNELS NETWORKBUFFER JITTERBUFFER BINDPORT e.g. ./SJC201112 SERVER 2 256 2 50050. Alternatively you can run the script ./SJC201112_SERVER.sh which also contains a virtual display which is required when the host has no graphics card. You might want to edit the script according to your needs as long as the call above is being executed. If it launched fine it will come up with the message “SJC STARTED IN SERVER MODE”. When intending to run the SS your own LAN or even machine side-by-side with the SJC client you must make sure that the server can be reached by possibly applying port forwarding etc. plus you need to define an SS bind port other than 50050 (available soon). The SS in a (n-1) mixer which means that one’s own signal is not included in the mix. A running example of the SS is the SJC Server Nürnberg in the public servers group. If you have installed a SS and want to have it show up in a private group you need to insert the server name, its IP, its UDP bind port and the desired group name into your user profile page as shown in the example image below. One SS can be assigned to three groups of your choice.



The complex server (CS) is a more complex version of the SS in order to provide a higher amount of participants. It is currently available in a non-public beta test version on an AWS server. For further info please visit the “groups” tab and choose the “Create mass server” option. This version consists of currently 32 SJC instances (more to come later) and a matrix mixer.

The CS provides a matrix mixer (the SS currently not) which allows individual adjustment of each signal and for one’s own signal as well. The altogether amount of 32 channels on the server is currently divided into 4 * 8 subchannels which can can be reached via an https address. Below is an image of the submixer’s main features.


The CS matrix mixer is designed to mix down to a stereo signal and therefore each of the 8 channel strip consists of two input channels (left/right). The input level of them is displayed on the bottom of the image. Their adjustable panning is shown on top of the channel strip. It also hold two volume faders in the middle row. The left one adjusts the volume of one’s own signal. The right one impacts the volume in the final mix heard by the other participants. The real version of the mixer hold two more rows: The lowest row shows the final level which is sent to each channel strip’s member. Above that the mixes of the three others submixers is being displayed (this row is not alligned to the actual channal strip). The mixer and its design are also in beta state and will be improved over time.