Triggers

According to the notification type, the triggers can be divided into two groups: state and events.

State — this type of messages contains start and end points of an event. The status is displayed in the Status field, that can have two values: active|cleared. The notifying messages are sent twice: at the start and in the end of an event. For example, if the BadSource (No signal) event is registered, and input data is lost, the message with Status = active is sent. When valid data occur (error is cleared), the second message with Status = cleared is sent, and the event end time is registered.
Event — this type of messages is sent once. Basically, these messages refer to the state change. For example, if any change occurs in PSI table, the Program Specific Information changed message is automatically sent. For some events (Continuity Counter and PTS/DTS Discontinuity) the message is sent if the number of registered errors exceeds the preset value.

All available triggers and their short description are represented in the table below. See detailed description of parameters and events in the Registered Parameters section. Detailed description of thresholds and configurations is represented in the section Thresholds.

Name

Key name

Type

Description

ToS/DSCP Changed

TosDscp

Event

It triggers in case of ToS/DSCP field change in IP header.

TTL Changed

Ttl

Event

It triggers in case of the Time to live (TTL) value change in IP header.

maxIAT Error

IatError

State

It triggers in case the Error threshold is exceeded. Maximum Inter-packet Arrival Time (maxIAT) – is maximum time between packets arrival and defined as a summary of average IAT and jitter.
Set the threshold value in the Threshold tab.

maxIAT Warning

IatWarning

State

It triggers in case the Warning threshold is exceeded. Maximum Inter-packet Arrival Time (maxIAT) – is maximum time between packets arrival and defined as a summary of average IAT and jitter.
Set the threshold value in the Threshold tab.

MLR Error

MlrError

State

It triggers in case the Error threshold is exceeded. Media Loss Rate (MLR) refers to the number of transport packets lost per 1 second.
Set the threshold value in the Threshold tab.

MLR Warning

MlrWarning

State

It triggers in case the Warning threshold is exceeded. Media Loss Rate (MLR) refers to the number of transport packets lost per 1 second.
Set the threshold value in the Threshold tab.

Input Bitrate Overflow

MaxBitrate

State

It triggers in case the upper threshold is exceeded. Input bitrate refers to data volume received from the source per 1 second.
Set the threshold value in the Threshold tab.

Input Bitrate Underflow

MinBitrate

State

It triggers in case input bitrate goes below the lower threshold. Input bitrate refers to data volume received from the source per 1 second.
Set the threshold value in the Threshold tab.

BadSource (No signal)

BadSource

State

It triggers when the probe cannot receive data for further analysis.

Several Broadcasters

BadBroadcast

State

It triggers when several broadcasters are detected in the same group.

Task Has No Subtasks

NoChildren

State

It triggers depending on the protocol type when:
HLS and DASH
The service analysis task has only a Manifest task and doesn’t contain any subtasks. This may occur when in the manifest (playlist) no links to a media representation or to a variant stream can be found (HLSv3). At the same time, the manifest (playlist) is reachable and valid.
SRT
The task analyzing a SRT stream has only a Master task and doesn’t contain any subtasks. This may occur when the task is active and started in the Listener mode. At this time, a task doesn’t receive any SRT streams and waits for incoming connection.

TS Sync Loss

TR_101_290_TSSyncLoss

State

It triggers when two or more successive Sync_Byte_Errors are detected and disappears after five or more successive sync bytes are received (synchronization is achieved again).

Sync Byte Error

TR_101_290_SyncByteError

Event

It triggers when a sync byte 0x47 is missing in the successive packet (after 188 or 204 bytes).

PAT Error

TR_101_290_PatError

State

It triggers under the conditions described below:
  • PID 0x0000 does not appear every 0,5 sec. (configurable parameters);

  • PID 0x0000 does not contain a table_id 0x00 (i.e. a PAT);

  • Scrambling_control_field is not equal to 00 for PID 0x0000.

Adjust the threshold value in the Threshold tab if required.

Continuity Counter

TR_101_290_ContinutyCount

State

It triggers under the conditions described below:
  • Incorrect packet order;

  • One and the same packet successively occurs more than twice;

  • Packets loss.

To enable detection of the error, go to the Thresholds tab and activate the Enable TR 101 290 (Priority 1) compliance setting.

PMT Error

TR_101_290_PmtError

State

It triggers under the conditions described below:
  • Sections with table_id 0x02, ( i. e. PMT), do not occur at least every 0,5 sec. (configurable parameters) on the PID which is referred to in the PAT;

  • Scrambling_control_field is not equal to 00 for all PIDs containing table_id 0x02 (i.e. PMT).

Adjust the threshold value or disable detection in the Threshold tab if required.

PID Error

TR_101_290_PidError

State

It triggers when data for the specified PIDs does not occur during the specified period (default interval is 5 s). It corresponds to partial loss of service or to errors occurred in PAT/PMT.
Adjust the threshold value or exclude the selected media types or fully disable detection in the Threshold tab if required.

Audio/Video PID Error

TR_101_290_PidError_VA

State

It triggers when data for the specified Audio and Video PIDs does not occur during the specified period (default interval is 5 s). It corresponds to partial loss of service or to errors occurred in PAT/PMT.
Adjust the threshold value or exclude the selected media types or fully disable detection in the Threshold tab if required.

Transport Error

TR_101_290_TsError

State

It triggers when the Transport_error_indicator field in TS header is equal to “1”

CRC Error

TR_101_290_CrcError

State

It triggers when the CRC error is detected in the CAT, PAT, PMT, NIT, EIT, BAT, SDT or TOT table.

PCR Repetition Error

TR_101_290_PcrRepetitionError

State

It triggers when the time interval between two packets with PCR values exceeds the interval specified by a user.
You can select the interval in the Thresholds tab.

PCR Discontinuity

TR_101_290_PcrDiscontinuityError

State

It triggers when the difference between two consecutive PCR values is outside the range of 0…100 ms without the discontinuity_indicator set.

PCR Accuracy Error

TR_101_290_PcrAccuracyError

State

It triggers when PCR accuracy of selected program is not within ±500 ns.

PTS Repetition Error

TR_101_290_PtsError

State

It triggers when the time interval between two consecutive PTS values exceeds the interval specified by a user.
You can set the interval in the Thresholds tab.

CAT Error

TR_101_290_CatError

State

It triggers under the following conditions:
  • section with table_id other than 0x01 (i.e. not a CAT) is found on PID 0x0001;

  • packets with transport_scrambling_control not equal to 00 are present, but there is no section with table_id 0x01 (i.e. a CAT). It assumes that the last received CAT is valid for 500 ms.

NIT Error

TR_101_290_NitError

State

It triggers under the conditions described below:
  • Section with table_id other than 0x40 or 0x41 or 0x72 (i.e. not an NIT or ST) is found on PID 0x0010;

  • No section with table_id 0x40 (i.e. an NIT_actual) in PID value 0x0010 for more than 10 s;

  • Any two sections with table_id = 0x40 (NIT_actual) occur on PID 0x0010 within a specified value (25 ms or lower);

  • Interval between sections with the same section_number and table_id = 0x41 (NIT_other) on PID 0x0010 longer than a specified value (10s or higher).

Select the Delivery System in the Threshold tab if required.

SI Repetition Error

TR_101_290_SIError

State

It triggers under the conditions described below:
  • Section with the same PID, table_id and table_id_extension transmitted more frequently than specified interval (default 25 ms, ETSI TR 101 211 par. 4.4);

  • All sections of the table does not transmitted at least every defined interval (the default depends on delivery system, ETSI TR 101 211 par. 4.4).

Select the Delivery System in the Threshold tab if required.

Unreferenced PID Error

TR_101_290_UnrefPidError

State

It triggers when PID is not referred to by a PMT or a CAT within 0,5 s. This does not apply to PMT_PIDs, PIDs with numbers between 0x00 and 0x1F or PIDs user defined as private data streams).

SDT Error

TR_101_290_SdtError

State

It triggers under the conditions described below:
  • Section with table_ids other than 0x42, 0x46, 0x4A or 0x72 is found on PID 0x0011;

  • No section with table_id 0x42 (i.e. an SDT_actual) appears on PID 0x0011 for more than 2 s;

  • Any two sections with table_id = 0x42 (SDT_actual) occur on PID 0x0011 within a specified value (25 ms or lower);

  • Interval between sections with the same section_number and table_id = 0x46 (SDT_other) on PID 0x0011 is longer than a specified value (10s or higher).

Select the Delivery System in the Threshold tab if required.

EIT Error

TR_101_290_EitError

State

It triggers under the conditions described below:
  • Section ‘0’ with table_id = 0x4E (EIT-P, actual TS) is not present on PID 0x0012 for more than 2 s;

  • Section ‘1’ with table_id = 0x4E (EIT-F, actual TS) is not present on PID 0x0012 for more than 2 s;

  • Sections with table_ids other than in the range 0x4E - 0x6F or 0x72 are found on PID 0x0012;

  • Any two sections with table_id = 0x4E (EIT-P/F, actual TS) occur on PID 0x0012 within a specified value (25ms or lower);

  • Interval between sections ‘0’ with table_id = 0x4F (EIT-P, other TS) on PID 0x0012 longer than a specified value (10s or higher);

  • Interval between sections ‘1’ with table_id = 0x4F (EIT-F, other TS) on PID 0x0012 longer than a specified value (10s or higher);

  • If either section (‘0’ or ‘1’) of each EIT P/F subtable is present both must exist.

Select the Delivery System in the Threshold tab if required.

RST Error

TR_101_290_RstError

State

It triggers under the conditions described below:
  • Sections with table_id other than 0x71 or 0x72 are found on PID 0x0013;

  • Any two sections with table_id = 0x71 (RST) occur on PID 0x0013 within a specified value (25 ms or lower).

Select the Delivery System in the Threshold tab if required.

TDT Error

TR_101_290_TdtError

State

It triggers under the conditions described below:
  • Sections with table_id = 0x70 (TDT) are not present on PID 0x0014 for more than 30 s;

  • Sections with table_id other than 0x70, 0x72 (ST) or 0x73 (TOT) are found on PID 0x0014;

  • Any two sections with table_id = 0x70 (TDT) occur on PID 0x0014 within a specified value (25 ms or lower).

Select the Delivery System in the Threshold tab if required.

Buffer Error

TR_101_290_BufferError

State

It triggers under the conditions described below:
  • Overflow of transport buffer (TBn);

  • Overflow of transport buffer for system information (Tbsys);

  • Overflow of PSI input buffer (Bsys).

Empty Buffer Error

TR_101_290_BufferEmptyError

State

It triggers under the conditions described below:
  • Transport buffer (TBn) is not empty at least once per second;

  • Transport buffer for system information (TBsys) is not empty at least once per second;

PCR Is Not Present

PcrError

State

It triggers when the PCR is not detected in a stream for the 1-minute period. The PCR is used to calculate elementary stream bitrates. In case the PCR is not detected, the analyzer switches to the use of the system time. The state disappears as soon as the PCR occurs again. For UDP (RTP) only.

Timestamp Discontinuity

ClockContinuity

State

It triggers when timestamp discontinuity is detected (i.e. the absolute difference of timestamps values exceeds the set threshold). It monitors continuity of the timestamps (PTS/DTS for MPEG-TS), detects backward time shifts and sudden skips in the stream (it relates to packet loss and/or stream splicing).
Adjust the threshold value or disable detection in the Threshold tab if required.

Program Specific Information Changed

ProgramSpecificInformation

Event

It triggers when program information described in PAT, PMT and SDT changed.

Encryption State Changed

Detect_crypt

State

It triggers if encryption state is changed. Encryption state change of any elementary stream contained in the service is taken into account.
For example, encrypted service becomes open or an open service becomes encrypted.

Video Information Changed

VI_changed

Event

It triggers if video stream header changes (format, profile, resolution, aspect ratio, frame rate, etc.).

Invalid Video Elementary Stream

Invalid_ES

State

It triggers if video headers (SPS, PPS) are not detected in a stream during 20 seconds that does not allow decoding the stream. The parameter is used only for video elementary streams. The stream may be encrypted.

Video Freeze

VideoFreeze

State

It triggers if Video freeze is detected during the specified period.
Enable the Video Freeze Detection option in the Add Task form and set sensitivity and detection interval values in the Threshold tab.

Video Decodability Error

VideoDecodabilityError

State

It triggers if the number of correctly decoded frames is less than the threshold.
Enable Video Decodability Analysis in the Add Task form and set the threshold value in the Threshold tab.

Audio Information Changed

AudioInformation_changed

Event

It triggers if audio stream header changes (format, channels, sample rate, etc.).

Audio Track Missing

AudioTrackMissing

State

It triggers if sound is missing in a program (there are no audio PIDs). Each program contained in a stream is analyzed.
Enabling of sound analysis options (such as Loudness and Decodability analysis) in the Add Task form is not required.

Audio Decodability Error

AudioDecodabilityError

State

It triggers if bitrate of the decoded stream is less than the threshold.
Enable Audio Decodability Analysis in the Add Task form and set the threshold value as a percentage of declared bitrate in the Threshold tab.

Audio Silence

AudioSilence

State

It triggers if audio silence is detected in a sound track. There is a sound track in a program but its Short-Term Loudness is lower than the threshold.
The Audio Loudness Analysis option should be enabled in task settings, and Audio silence threshold should be set.

Variant Stream Switching

HlsBandwidthSwitched

Event

It triggers when algorithm switches to a Variant Stream with different bandwidth (Adaptive bitrate service analysis). It is applied only for a task in the Player mode.

The Number of Variant Streams Changed

HlsNumberOfProfilesChanged

Event

HLS
It triggers if the number of Variant Streams in a Master playlist is changed. The Update MasterPlaylist option should be enabled.
DASH
It triggers if the number of media content Representations declared in the manifest within the analysed Period has changed. When going to the next Period, the probe will compare the number of Representations between Periods.

Minimum Variant Streams

HlsMinimumProfiles

State

HLS
It triggers if the number of Variant Streams stated in Master playlist is less than the minimum threshold.
DASH
It triggers if the number of video Representations declared in the manifest within the analysed Period is less than the minimum threshold.
Set the Minimum Variant Streams value in the Threshold tab.

Sequence Divergence in Variant Streams

HlsSequenceDivergence

Event

It triggers if divergence occurs in the #EXT-X-MEDIA-SEQUENCE fields in Media playlists. All declared Variant Streams are compared.
For HLS only.

Few Segments in Manifest

HlsFewSegments

State

It triggers if the number of segments stated in the playlist is less than the minimum threshold. For DASH: only those MPD files can be validated in which Segment List information is specified for the SegmentList element.
Set the Minimum segments value in the Threshold tab.

Variant Stream Attributes Changed

HlsProfileStreamTypeChanged

Event

HLS
It triggers if any Variant Stream attribute contained in the Master playlist changes (a line that follows the EXT-X-STREAM-INF tag).
DASH
It triggers if the Presentation description changes (a line containing attributes of the Representation element) declared in the manifest within the analysed Period. When going to the next Period, the probe will search for similar Representations and compare descriptions between Periods.

Duplicate Bandwidth in Variant Streams

HlsDuplicateBandwidth

Event

It triggers if the Master playlist or manifest has two similar Bandwidth values for different Variant Streams within the same codec.
The Bandwidth parameter is the upper bound of the overall bitrate for each segment, in bps. It includes any container overhead that appears or will appear in the playlist.

Bandwidth Missed in Variant Stream

OttBandwidthMissed

State

It triggers if the Bandwidth field is not present in the Variant Stream description of the Master playlist or manifest.
In the Player analysis mode, the probe will not switch to Variant Streams with the Bandwidth field not specified. If there is no bitrate information for all Variant Streams, the probe analyzes an arbitrary Variant Stream without switching to other Variant Streams.
Additionally, such Variant Streams will not be analyzed for the following characteristics:
  • Duplicate Bandwidth in Variant Streams;

  • Actual Bitrate;

  • Bad Segment Size;

  • Bad Segment Duration.

Invalid Resolution in Variant Streams

HlsInvalidResolution

Event

It triggers if:
  • The declared height or width of the video resolution is out of the range 16..65536;

  • The DASH manifest declares only one resolution attribute (@width or @height).

Download Bitrate Low

HlsDownloadBitrateWarn

State

It triggers if low download bitrate of a segment is registered (download time exceeds warning threshold). Trigger conditions: download time / segment duration >= warning threshold (%).
Set the Download speed warning threshold in the Threshold tab.

Download Bitrate Too Low

HlsDownloadBitrateErr

State

It triggers if download bitrate of a segment is too low (download time exceeds error threshold (segment duration by default)). Trigger conditions: download time / segment duration >= error threshold (%).
Set the Download speed error threshold in the Threshold tab

Actual Bitrate

HlsActualBitrate

State

It triggers if average bitrate of a downloaded segment is higher or lower than the specified thresholds.
Set the thresholds (%) relating to the Variant Stream bandwidth (stated in a Master playlist) in the Threshold tab.

Bad Segment Size

HlsBadSegmentSize

Event

It triggers if:
  • The segment size (content-length) is equal to 0 bytes;

  • Average segment bitrate exceeds the bandwidth (stated in a Master playlist) by 10 times. Average segment bitrate is calculated as the file size (content-length) divided by declared segment duration. Additionally, if the segment size is more than 15 MB, the download of this segment is terminated.

Segment Loss

HlsSequenceNumberDiscontinuity

Event

It triggers if one or several Media playlists (#EXT-X-MEDIA-SEQUENCE discontinuity) along with segments are missing during analysis. For HLS only.
There are several causes of the error:
  • Segment download bitrate is too low that results in skipping download of subsequent playlists;

  • Playlists are not available for downloading (Manifest Download Failure triggers additionally);

  • Issues with content generation at the headend: broken numerical sequence of playlists, restarts or pauses in transcoders/serializers operation. Note, if skipped playlists do not result in segments loss, the error does not trigger.

Static Manifest Error

HlsStaticManifest

State

It triggers when the probe downloads the same playlist during the specified number of attempts. If the probe detects the static playlist which has the same content during two sequent downloads, the download interval will be reduced to the half of the segment duration OR to the half of the TARGETDURATION tag value (the lowest value is selected). The error and reduced download interval will persist until the probe downloads an updated Media playlist. For DASH: only those MPD files can be validated in which Segment List information is specified in the SegmentList or SegmentTimeline element.
Set the number of download attempts in the Attempts of identical playlist downloads field in the Threshold tab.

Manifest Error

HlsManifestError

Event

Depending on an OTT type, it triggers if:
HLS
  • Media playlist URI has not been parsed in the Master playlist;

  • Segments URI has not been parsed in the Media playlist, or the segment URI has the .m3u8 extension (i.e. link to a playlist);

  • The “\n” symbol is missing in the end of the playlists;

  • The alternative rendition does not refer to any stream variants;

  • Failed to parse a #EXT-X-KEY tag content.

DASH

  • Manifest does not conform to the DASH XML Schema.

Unknown Manifest

HlsUnknownManifest

State

It triggers if the playlist content does not comply with the standard, or the playlist is empty.

Manifest Size Error

HlsManifestSize

State

It triggers if size of any playlist exceeds the Manifest size threshold.
Set the threshold value in the Threshold tab.

Manifest Download Failure

HlsFailedDownloadPlaylist

State

It triggers if a playlist cannot be downloaded. The error cause is saved in the Alarm journal: as HTTP status code or as curl error detailed description.
The playlist download timeout is 15 seconds.

Key Download Failure

HlsFailedDownloadKey

Event

It triggers if a decryption key cannot be downloaded. The error cause is saved in the Alarm journal: as HTTP status code or as curl error detailed description.
The key download timeout is 15 seconds.

Segment Download Failure

HlsFailedDownloadChunk

Event

It triggers if a segment cannot be downloaded. The error cause is saved in the Alarm journal: as HTTP status code or as curl error detailed description.
The segment download timeout is equal to double the segment stated duration, but not less than 5 seconds.

Start With non-IDR Frame

HlsStartWithIDR

State

It triggers if a segment starts with a non-IDR frame. Analysis of encrypted segments (decryption keys are not accessible) is unavailable. Enabling of video analysis options in the Add Task form is not required.

Interlaced Video

Ott_InterlacedVideo

State

It triggers if a segment has interlaced video stream. Analysis of encrypted segments (decryption keys are not accessible) is unavailable. Enabling of video analysis options in the Add Task form is not required.

OTT Buffer Overflow

HlsSkipSegment

Event

It triggers if system low performance results in OTT buffer overflow with downloaded segments that cannot be timely analyzed by a probe. The system starts skipping segments to avoid RAM overflow.

Bad Segment Duration

HlsBadSegmentDuration

Event

It triggers if declared segment duration exceeds or less than the estimated duration by 10 times. Estimated duration is calculated as the segment size (received in a header of http server response) divided by declared bitrate of variant stream (SegmentSize/DeclaredBitrate).

Zero Duration Segment

HlsSegmentZeroDuration

Event

It triggers if zero duration segment with segment size less than 564 bytes (three TS packets) is detected. If the segment duration is not declared, then the size of each downloaded segment is validated. However, if the downloaded segment size (content-length) is equal to zero, then regardless of its duration the Bad Segment Size event triggers.

Duplicated URI

OttDuplicateRenditionUri

Event

It triggers if some Alternative renditions or Variant Streams have the same URI in a Master Playlist or in a manifest.
For HLS only.

Media Playlist Event

HlsMediaPlaylistEvent

Event

It triggers when:
  • the Media playlist URL has been changed (HLS);

  • The playlist type (VOD/Event/Live) has been changed.

Segment duration exceeds TARGETDURATION

OttTargetDurationMismatch

State

It triggers when the segment duration exceeds the EXT-X-TARGETDURATION value declared in the Media playlist. For HLS only.

SCTE-35 Advertisement Insertion

AdInsert

State

It triggers when the probe detects the start of an Ad insertion (based on SCTE-35 tags data). The state disappears when the probe detects the end.

SCTE-35 Ad Insertion Exceeds the Specified Period

AdInsertDurationExceed

State

It triggers when the duration of an Ad insertion exceeds the specified period. The probe initiates counting of the period as it detects the start of an Ad insertion.

SCTE-35 Tags Parsing Error

SCTE35ParseError

Event

It triggers if the error was detected while Ad insertion tags parsing. The error details are returned in the message.

SCTE-35 Ad Insertions Are Missing

AdInsert_missing

State

It triggers when the probe does not detect the start of an Ad insertion (based on SCTE-35 tags data) during the specified period. The state disappears when the probe detects an Ad insertion start. The trigger is implemented on the basis of the SCTE-35 Advertisement Insertion event.

SCTE-35 Tags Are Not Present in the Playlist

SCTE35Ott_missing

State

It triggers when the probe does not detect SCTE-35 tags in a playlist during the specified period. The trigger is implemented on the basis of the SCTE-35 Tag in OTT Playlist event. For subtitles, you can disable SCTE-35 tags monitoring in Thresholds settings.

Video Buffer Overflow

Video_buffer_overflow

Event

It triggers if system low performance results in buffer overflow and video data cannot be timely analyzed by a probe. The system starts dropping video data before decoding. The data is dropped after TR 101 290 analysis and bitrate calculation, thus, the error does not influence the results of stream integrity analysis. This statement is also applicable to OTT, data drop before decoding does not influence calculation of segments download rate and detection of OTT errors.
The Video Buffer Overflow error occurs only if QoE options are enabled in a task (i.e. video decoder is used).

Task Crash Detected

Resumption

Event

It triggers if a child process analyzing the stream has been restarted by the parent process, because no reply was received within 10s. Parent process monitors the tasks (child processes) performance and in case of critical error restarts the tasks with backward recovery.

Out of Memory Warning

RAM_warning

State

Warning of exceeding the RAM threshold.

Out of Memory Error

RAM_error

State

Error of exceeding the RAM critical threshold.

High CPU Usage Warning

CPU_warning

State

Warning of exceeding the CPU threshold.

High CPU Usage Error

CPU_error

State

Error of exceeding the CPU critical threshold.

Server Lost Connection to Probe

Stalled

State

It triggers if the server does not receive data from a probe within 60 seconds. Afterwards, the connection with the probe is considered to be lost.

Probe Lost Connection to Server

ServerConnectionLost

State

It triggers if connection from the probe to server cannot be established within the stated period.

Pcap Loading Error

Pcap_loading_error

State

The Ethernet parameters are measured under the following conditions:
Windows: The Npcap (https://nmap.org/npcap/) packet capture library should be installed on the PC before a probe starts. While installing the library, WinPcap API-compatible Mode and Support Loopback Traffic options should be selected.
Linux: The probe should be launched with root privileges (sudo ./streamMonitor).

Record Access Error

Record_access_error

State

It triggers when the probe cannot access the ‘./record’ folder, its subfolders and content. Usually, the error occurs when the probe was initially started with superuser privileges and then was restarted with regular user permissions. To address the error, stop the probe and change owner/access permissions for the ‘./record’ folder and its content.