RTP_INDICATION

This indication is generated when:
  • An RTP connection is connected or disconnected
  • The active session count changes
  • The connection performs a path-switch

When the connection is disconnected, final RTP statistics will be returned. At other times the rtp_stats field is reserved.

VCB Structure

typedef struct rtp_indication
{
   unsigned short  opcode;              /* verb operation code            */
   unsigned char   reserv2;             /* reserved                       */
   unsigned char   format;              /* format                         */
   unsigned short  primary_rc;          /* primary return code            */
   unsigned long   secondary_rc;        /* secondary return code          */
   unsigned char   data_lost;           /* previous indication(s) lost    */
   unsigned char   connection_state;    /* the current state of the RTP   */
                                        /* connection                     */
   unsigned char   rtp_name[8];         /* name of the RTP connection     */
   unsigned short  num_sess_active;     /* number of active sessions      */
   unsigned char   indication_cause;    /* reason for this indication     */
   unsigned char   reserv3[3];          /* reserved                       */
   RTP_STATISTICS  rtp_stats;           /* RTP statistics                 */
} RTP_INDICATION;
 typedef struct rtp_statistics
{
   unsigned long   bytes_sent;          /* total num of bytes sent        */
   unsigned long   bytes_received;      /* total num bytes received       */
   unsigned long   bytes_resent;        /* total num of bytes resent      */
   unsigned long   bytes_discarded;     /* total num bytes discarded      */
   unsigned long   packets_sent;        /* total num of packets sent      */
   unsigned long   packets_received;    /* total num packets received     */
   unsigned long   packets_resent;      /* total num of packets resent    */
   unsigned long   packets_discarded;   /* total num packets discarded    */
   unsigned long   gaps_detected;       /* gaps detected                  */
   unsigned long   send_rate;           /* current send rate              */
   unsigned long   max_send_rate;       /* maximum send rate              */
   unsigned long   min_send_rate;       /* minimum send rate              */
   unsigned long   receive_rate;        /* current receive rate           */
   unsigned long   max_receive_rate;    /* maximum receive rate           */
   unsigned long   min_receive_rate;    /* minimum receive rate           */
   unsigned long   burst_size;          /* current burst size             */
   unsigned long   up_time;             /* total uptime of connection     */
   unsigned long   smooth_rtt;          /* smoothed round-trip time       */
   unsigned long   last_rtt;            /* last round-trip time           */
   unsigned long   short_req_timer;     /* SHORT_REQ timer duration       */
   unsigned long   short_req_timeouts;  /* number of SHORT_REQ timeouts   */
   unsigned long   liveness_timeouts;   /* number of liveness timeouts    */
   unsigned long   in_invalid_sna_frames;
                                        /* number of invalid SNA frames   */
                                        /* received                       */
   unsigned long   in_sc_frames;        /* number of SC frames received   */
   unsigned long   out_sc_frames;       /* number of SC frames sent       */
   unsigned char   reserve[40];         /* reserved                       */
} RTP_STATISTICS;

Parameters

opcode
AP_RTP_INDICATION
format
Identifies the format of the VCB. This field is set to zero to specify the version of the VCB listed above.
primary_rc
AP_OK
secondary_rc
Equals zero.
data_lost
Specifies whether data has been lost (AP_YES or AP_NO). It is set when an internal component detects a failure that has caused a previous indication to be lost. If the data_lost flag is set to AP_YES then the data contained might have changed more than once since the previous indication received.
connection_state
The current state of the RTP connection. It is one of the following values:
AP_CONNECTING
Connection setup has started, but is not yet complete.
AP_CONNECTED
The connection is fully active.
AP_DISCONNECTED
The connection is no longer active.
rtp_name
RTP connection name. This name is an 8-byte string in a locally displayable character set. All 8 bytes are significant.
num_sess_active
Number of sessions currently active on the connection.
indication_cause
Cause of the indication. It is one of the following values:
AP_ACTIVATED
The connection has become active.
AP_DEACTIVATED
The connection has become inactive.
AP_PATH_SWITCHED
The connection has successfully completed a path switch.
AP_SESS_COUNT_CHANGING
The number of active sessions using the connection has changed.
AP_SETUP_FAILED
The connection has failed before becoming fully active. Note that RTP connection statistics are only supplied when the connection becomes inactive, that is when indication_cause is AP_DEACTIVATED or AP_SETUP_FAILED. In all other cases the fields are reserved.
rtp_stats.bytes_sent
Total number of bytes that the local node has sent on this RTP connection.
rtp_stats.bytes_received
Total number of bytes that the local node has received on this RTP connection.
rtp_stats.bytes_resent
Total number of bytes resent by the local node owing to loss in transit.
rtp_stats.bytes_discarded
Total number of bytes sent by the other end of the RTP connection that were discarded as duplicates of data already received.
rtp_stats.packets_sent
Total number of packets that the local node has sent on this RTP connection.
rtp_stats.packets_received
Total number of packets that the local node has received on this RTP connection.
rtp_stats.packets_resent
Total number of packets resent by the local node owing to loss in transit.
rtp_stats.packets_discarded
Total number of packets sent by the other end of the RTP connection that were discarded as duplicates of data already received.
rtp_stats.gaps_detected
Total number of gaps detected by the local node. Each gap corresponds to one or more lost frames.
rtp_stats.send_rate
Current send rate on this RTP connection (measured in kilobits per second). This is the maximum allowed send rate as calculated by the ARB algorithm.
rtp_stats.max_send_rate
Maximum send rate on this RTP connection (measured in kilobits per second).
rtp_stats.min_send_rate
Minimum send rate on this RTP connection (measured in kilobits per second).
rtp_stats.receive_rate
Current receive rate on this RTP connection (measured in kilobits per second). This is the actual receive rate calculated over the last measurement interval.
rtp_stats.max_receive_rate
Maximum receive rate on this RTP connection (measured in kilobits per second).
rtp_stats.min_receive_rate
Minimum receive rate on this RTP connection (measured in kilobits per second).
rtp_stats.burst_size
Current burst-size on the RTP Connection measured in bytes.
rtp_stats.up_time
Total number of seconds the RTP connection has been active.
rtp_stats.smooth_rtt
Smoothed measure of round-trip time between the local node and the partner RTP node (measured in milliseconds).
rtp_stats.last_rtt
The last measured round-trip time between the local node and the partner RTP node (measured in milliseconds).
rtp_stats.short_req_timer
The current duration used for the SHORT_REQ timer (measured in milliseconds).
rtp_stats.short_req_timeouts
Total number of times the SHORT_REQ timer has expired for this RTP connection.
rtp_stats.liveness_timeouts
Total number of times the liveness timer has expired for this RTP connection. The liveness timer expires when the connection has been idle for the period specified in rtp_connection_detail.liveness_timer.
rtp_stats.in_invalid_sna_frames
Total number of SNA frames received and discarded as not valid on this RTP connection.
rtp_stats.in_sc_frames
Total number of session control frames received on this RTP connection.
rtp_stats.out_sc_frames
Total number of session control frames sent on this RTP connection.