spandsp: t38_core_state_s Struct Reference

spandsp 0.0.6

Public Attributes | List of all members
t38_core_state_s Struct Reference

`#include <t38_core.h>`

## Public Attributes
t38_tx_packet_handler_t * | tx_packet_handler
| Handler routine to transmit IFP packets generated by the T.38 protocol engine.
void * | tx_packet_user_data
| An opaque pointer passed to tx_packet_handler.
t38_rx_indicator_handler_t * | rx_indicator_handler
| Handler routine to process received indicator packets.
t38_rx_data_handler_t * | rx_data_handler
| Handler routine to process received data packets.
t38_rx_missing_handler_t * | rx_missing_handler
| Handler routine to process the missing packet condition.
void * | rx_user_data
| An opaque pointer passed to any of the above receive handling routines.
int | data_rate_management_method
| Method 1: Local generation of TCF (required for use with TCP). Method 2: Transfer of TCF is required for use with UDP (UDPTL or RTP). Method 2 is not recommended for use with TCP.
int | data_transport_protocol
| The emitting gateway may indicate a preference for either UDP/UDPTL, or UDP/RTP, or TCP for transport of T.38 IFP Packets. The receiving device selects the transport protocol.
int | fill_bit_removal
| Indicates the capability to remove and insert fill bits in Phase C, non-ECM data to reduce bandwidth in the packet network.
int | mmr_transcoding
| Indicates the ability to convert to/from MMR from/to the line format to improve the compression of the data, and reduce the bandwidth, in the packet network.
int | jbig_transcoding
| Indicates the ability to convert to/from JBIG to reduce bandwidth.
int | max_buffer_size
| For UDP (UDPTL or RTP) modes, this option indicates the maximum number of octets that can be stored on the remote device before an overflow condition occurs. It is the responsibility of the transmitting application to limit the transfer rate to prevent an overflow. The negotiated data rate should be used to determine the rate at which data is being removed from the buffer.
int | max_datagram_size
| This option indicates the maximum size of a UDPTL packet or the maximum size of the payload within an RTP packet that can be accepted by the remote device.
int | t38_version
| This is the version number of ITU-T Rec. T.38. New versions shall be compatible with previous versions.
int | allow_for_tep
| Allow time for TEP playout.
int | fastest_image_data_rate
| The fastest data rate supported by the T.38 channel.
int | pace_transmission
| Pace transmission.
int | check_sequence_numbers
| TRUE if IFP packet sequence numbers are relevant. For some transports, like TPKT over TCP they are not relevent.
int | category_control [5]
| The number of times each packet type will be sent (low byte). The depth of redundancy (2nd byte). Higher numbers may increase reliability for UDP transmission. Zero is valid for the indicator packet category, to suppress all indicator packets (typicaly for TCP transmission).
int | tx_seq_no
| The sequence number for the next packet to be transmitted.
int | rx_expected_seq_no
| The sequence number expected in the next received packet.
int | current_rx_indicator
| The current receive indicator - i.e. the last indicator received.
int | current_rx_data_type
| The current receive data type - i.e. the last data type received.
int | current_rx_field_type
| The current receive field type - i.e. the last field_type received.
int | current_tx_indicator
| The current transmit indicator - i.e. the last indicator transmitted.
int | v34_rate
| The bit rate for V.34 operation.
int | missing_packets
logging_state_t | logging
| Error and flow logging control.

## Detailed Description

Core T.38 state, common to all modes of T.38.

## Member Data Documentation

## ◆ data_rate_management_method

int t38_core_state_s::data_rate_management_method

Method 1: Local generation of TCF (required for use with TCP). Method 2: Transfer of TCF is required for use with UDP (UDPTL or RTP). Method 2 is not recommended for use with TCP.

NOTE - Bandwidth reduction shall only be done on suitable Phase C data, i.e., MH, MR and - in the case of transcoding to JBIG - MMR. MMR and JBIG require reliable data transport such as that provided by TCP. When transcoding is selected, it shall be applied to every suitable page in a call.

Referenced by t38_core_init(), and t38_set_data_rate_management_method().

## ◆ missing_packets

int t38_core_state_s::missing_packets

A count of missing receive packets. This count might not be accurate if the received packet numbers jump wildly.

The documentation for this struct was generated from the following file:

- private/t38_core.h