RTSP Monitor

The Real Time Streaming Protocol (RTSP) monitor tests audio and video stream playback on streaming servers. It gathers information about media files, and initiates stream playback, pause, and the end of a streaming session.

The following table lists the RTSP monitor files.

Table 1. RTSP monitor files 

Monitor files

Name or location

Monitor executable

nco_m_rtsp

Properties file

$ISHOME/etc/props/rtsp.props

Rules file

$ISHOME/etc/rules/rtsp.rules

Log file

$ISHOME/log/rtsp.log

Guidelines for configuring the RTSP monitor
The RTSP monitor connects to the streaming server in either DESCRIBE or PLAY mode. The monitor downloads information or statistics that are delivered by genuine RTSP servers such as Darwin.

RTSP monitor operation

DESCRIBE Mode

In the DESCRIBE mode, the RTSP monitor connects to the streaming server and requests information about the audio and video files and streams.

The server returns a status code where a value of 200 indicates a file that can be downloaded, and where other values indicate that why the requested file cannot be played.

However, the statistics that relate to playback are not reported in this mode, the basic function of the servers that support RTSP can be tested.

PLAY Mode

In PLAY mode, the RTSP monitor connects to the streaming server in the same way as in DESCRIBE mode, and then streams the file to provide statistics on requested downloads.

Properties
Properties options specific to the RTSP monitor are described in the following table.
Table 2. RTSP monitor properties options 

Property name

Property parameter

Description

StreamingSocket BufferSize

integer

The size of the streaming socket buffer, with a range of 8 to 64 KB.

Default: 8

Configuring the RTSP monitor service tests
Use the RTSP monitor configuration parameters to define service tests.

The following table lists the RTSP monitor configurations:

Table 3. RTSP monitor configuration 
Field Description

server

The target system that runs the streaming server. For example, rtsp.mymusic.com.

remotefile

The file that gets downloaded. For example, singalong.mp3.

description

A text field for providing descriptive information on the element. For example, RTSP monitor.

port

The port that the monitor connects to on the target system.

Default: 554

action

The action that the server performs on the stream:

  • DESCRIBE
  • PLAY

Default: DESCRIBE

duration

The portion of the stream, in seconds, that the server plays back.

Default: 5

maxbandwidth

The maximum bandwidth, n bits per second, that is used for streaming.

Default: 1500000

timeout

The time, in seconds, to wait for the RTSP server to respond.

Default: 10

poll

The time, in seconds, between each poll.

Default: 300

failureretests

The number of times to retest before failure is indicated.

Default: 0

retestinterval

The time, in seconds, to wait between each failure retest.

Default: 10

Service level classifications
Service level classifications define the rules for determining the level of service that is provided over RTSP.

Available service level classification options for the RTSP monitor are:

totalTime
lookupTime
connectTime
responseTime
sdpDownloadTime
playbackTime
status
percentPacketsLost
message

In service level classifications:

  • Specify more service level classifications by manually entering the name of the monitor element. The name must match the name that is shown for the element in the monitor elements section.
  • message can be any message that is forwarded in the $message element to IBM® Application Performance Management server if used in any widget. For a list of possible values, see.Status messages.
  • The operand is a string or a positive number.
  • A status code of 200 indicates success. See the RTSP protocol for other status codes returned by the operation.
Monitor elements
In addition to the test results common to all elements, the RTSP monitor generates a set of test results that contain data specific to RTSP service tests.

The following table describes the additional elements for the RTSP monitor.

Table 4. RTSP monitor elements

Element

Description

$action

The action taken by the monitor.

$averageBandwidth

The average total bandwidth, in bits.

$bytesReceived

The total number of bytes received.

$connectTime*

(ConnectTime)

The time taken to establish a connection with the target server.

$describeStageStatus

Status code for a stage of the RTSP conversation.

$filename

The name of the media file.

$lookupTime*

(LookupTime)

The time taken to obtain the IP address of the host server.

$maxBandwidth

The maximum bandwidth by using the configuration interface.

$mediaResponseTime

The time taken by the server to start streaming the requested file.

$numberOfStreams

The number of streams embedded in the media.

$percentPacketsLost

The percentage of packets lost.

$playbackTime*

(PlaybackTime)

The time that represents the sum of the setupResponseTime and the mediaResponseTime.

$playStageStatus

Status code for a stage of the RTSP conversation.

$port

The port used to access the monitor's server.

$responseTime*

(ResponseTime)

The time from when the connection is established to when the first byte of data is received.

$sdpDownloadTime*

(SdpDownloadTimed)

The time taken to download data about the media file.

$setupResponseTime

The time that represents part of the playbackTime.

Note: The element is only generated when the RTSP monitor is operating in PLAY mode.

$setupStageStatus

Status code for a stage of the RTSP conversation.

$status

The status code returned by the RTSP server.

$streamingTime

The time taken by the server to complete streaming the requested file.

$streamLength

The length of the longest stream in the media file.

$teardownStageStatus

Status code for a stage of the RTSP conversation.

$totalBandwidthRequired

The total bandwidth, in kilobits per second.

$totalPacketsLost

The total number of packets lost.

$totalPacketsReceived

The number of packets received.

Status messages
The RTSP monitor provides status messages in the ResultMessage attribute when using IBM Application Performance Management. These messages indicate the result of the test.
Table 5. RTSP monitor status messages

Message

Description

OK

The request succeeded.

Connection failed

The monitor failed to connect to the server. For more information, see the log file.

Connection closed by foreign host

The connection to the RTSP server was broken.

Timed out waiting to read/write

A data connection to the RTSP server was established, but a problem occurred.

Play failed - no streams

The monitor received a response, but no audio or video was available for playback.

select() failed on RTSP socket (PLAY stage)

The socket was closed from the remote server, or it timed out waiting for a response.

RTSP Server response not in expected format

The response from the server was in a format that the monitor does not support.

Redirection requested by server not supported by client

The response from the server is not supported by the client.

Server cannot fulfill client request

The request is failed and no further information is available.

Server Error

There was a problem with the server and the request failed.

A code of 500 or greater was returned by the server.

For more information, see the RTSP protocol (RFC 2326).

RTSP response header CSeq doesn't match request CSeq

The RTSP server is misconfigured and is not functioning correctly.

Corrupted RTSP server response

Corrupted session description

RTSP SETUP response CSeq doesn't match request CSeq

RTSP SETUP response, incomplete Session string

RTSP SETUP response, Session ID has changed within the same session

RTSP SETUP response does not contain server ports to connect to

RTSP SETUP response does not contain server port pair to connect to

RTSP PLAY response CSeq doesn't match request CSeq

RTSP PLAY response, incomplete Session string

RTSP PLAY response, Session ID has changed within the same session

RTSP PLAY response, incomplete RTP-Info string

RTSP PLAY response does not valid RTP seqnum in RTP-Info response

RTSP PLAY response does not valid RTP time in RTP-Info response