User Tools

Site Tools


dual_output_el_switch_on_loss_of_all_output_interfaces

Dual Output EL Switch on loss of all output interfaces

May 2024


Introduction

Okay, it's a long title, but what does it mean? If we look at the nCompass map below, we can see that the Encoders are outputting, but only a single interface is show, even though we are outputting on two interfaces (eno3 and eno4)


when using dual outputs, if either output fails, we get a Critical Alarm. This means that the second encoder will take over, even though we still have a valid output from one of the output interfaces on the first encoder.


Remove Dual Output Prevention from EL


If you are using DOP (dual output prevention) in the Encoders, you need to turn this off.


From the General tab on the Encoder, untick Dual Output Prevention.

In a 1+1 EL configuration, Dual Output Prevention means that only one encoder is outputting, this stops duplicate streams on the network. For the Mux, this isn't an issue. With DOP on, when the first encoder has an interface failure (Critical) then the second Encoder will take over, and the first Encoder stops outputting.

This causes an issue because there is a short period of time where neither Encoder is outputting, While the time for this condition is very short, it is long enough that the active Mux will have no inputs from either Encoder, and the active Mux will switch to the backup. Disabling DOP on the Encoders will stop this happening.


nCompass Changes


There are a couple of things we need to change in nCompass. One is the criticality of an alarm and the other is a config file.

We know that if one of our output interfaces goes down, the ELs will switch, for this reason we need to change the criticality of an interface down alarm. If we do this and nothing else, if both interfaces go down, then we will NOT get an encoder switch, so we need to change an nCompass file.

Alarm Criticality


By default, an interface down on an Encoder will result in a Critical (red) Alarm, any critical alarm will result in a switch to a spare.

Unplug the first output data interface on the first EL, this will cause an Alarm in nCompass ESM.


Because this system is encoding four services, I get an alarm for each service:


Right click on one of the alarms and select 'Override'


Now select the 'Commit' button.

This fixes the issue where an encoder will switch on a single interface alarm, however at this time the encoder will never switch due to interface alarms, we need to make some more changes.

nCompass AlarmHandlerService.exe.config


The nCompass AlarmHandlerService.exe.config file is found in the following location:

C:\Program Files (x86)\MediaKind\nCompass Control\Bin


Open this file in notepad++ (or your favorite editor, just not notepad) and scroll down until you see the line:

<add key="MkelOutputInterfaces" value="eno3, eno4"/>


It is line 165 in this example, this line does change over time as things are added to the nCompass Configuration.


Add your EL output interfaces to this line - '<add key=“MkelOutputInterfaces” value=“eno3, eno4”/>'

What this means is that only when (in this example) eno3 and eno4 are failed, will the Encoder switch.

You can use this command to test the state of the encoder

  http://<device ip address>:8080/api/servers/<device name>/?fields=statistics




Scroll down until you see the enox information for your Encoders.

There are two important pieces of information here isup and operstate isup lets you know the interface is 'up' even if you have unplugged the interface, the isup will be true, a 'down' interface is one that has been set down at boot due to the ifcfg file or from command line using ip set.

This means if you are trying to test to see how this works, it will not work with set down commands, only if you actually unplug the cable to the interface.

The operstate will show 'down' if the interface has been unplugged. Rememer, isup will still show 'true' for an unplugged interface.

Save the AlarmHandlerService.exe.config file and from Windows Services restart the Mediakind Alarm Handler service.




nCompass ServerCoreService.exe.config


In the same folder as the AlarmHandlerService.exe.config file is the ServerCoreService.exe.config file.

C:\Program Files (x86)\MediaKind\nCompass Control\Bin

Open this file and find the following line (around line 31)

<add key="RedundancySwitchNearestDeviceFirst" value="false"/>

By default, it will be set to 'false' change this to 'true' and save the file.

Restart the Windows Service 'Mediakind - Server Core'

The description for this is as follows:

    In the event of an input alarm this setting controls whether redundancy
    will switch the furthest upstream device first (when set to false) or
    switch the nearest upstream device first (when set to true). Nearest and
    furthest are with respect the device that raised the input alarm.


If the Encoder loses both its output interfaces, the Mux will lose it's multicast inputs from the encoder, this would normally mean the Mux will switch to the spare. However, the Upstream Device (the Encoder) will, if the value “RedundancySwitchNearestDeviceFirst” value=“true” be switched rather than the Mux.


dual_output_el_switch_on_loss_of_all_output_interfaces.txt · Last modified: 2024/05/24 10:13 by walkeradmin