Triggers¶
According to the notification type, the triggers can be divided into two groups: state and events.
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:
Adjust the threshold value in the Threshold tab if required. |
Continuity Counter |
TR_101_290_ContinutyCount |
State |
It triggers under the conditions described below:
To enable detection of the error, go to the Thresholds tab and activate the Enable TR 101 290 (Priority 1) compliance setting. | Note that for the excluded media types the corresponding recording triggers won’t fire. |
PMT Error |
TR_101_290_PmtError |
State |
It triggers under the conditions described below:
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.
Note that for the excluded media types the corresponding recording triggers won’t fire.
|
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:
|
NIT Error |
TR_101_290_NitError |
State |
It triggers under the conditions described below:
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:
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:
Select the Delivery System in the Threshold tab if required. |
EIT Error |
TR_101_290_EitError |
State |
It triggers under the conditions described below:
Select the Delivery System in the Threshold tab if required. |
RST Error |
TR_101_290_RstError |
State |
It triggers under the conditions described below:
Select the Delivery System in the Threshold tab if required. |
TDT Error |
TR_101_290_TdtError |
State |
It triggers under the conditions described below:
Select the Delivery System in the Threshold tab if required. |
Buffer Error |
TR_101_290_BufferError |
State |
It triggers under the conditions described below:
|
Empty Buffer Error |
TR_101_290_BufferEmptyError |
State |
It triggers under the conditions described below:
|
PCR Is Not Present |
PcrError |
State |
It triggers when the PCR is not detected in a stream for the 3-second 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 in a 1 minute. The state disappears as soon as the PCR occurs again. For UDP (RTP) and SRT only.
Attention: if the PCR has already disappeared, but the probe has not switched to system time yet, elementary stream bitrates and most of TR 101 290 time-counting errors cannot be detected correctly.
|
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.
Note that for the excluded media types the corresponding recording triggers won’t fire.
|
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:
|
Invalid Resolution in Variant Streams |
HlsInvalidResolution |
Event |
It triggers if:
|
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:
|
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:
|
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
DASH
|
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:
|
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.
|