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.