|
spandsp 3.0.0
|
#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 | microseconds_per_tx_chunk |
| Required time between T.38 transmissions, in us. | |
| int | chunking_modes |
| Bit fields controlling the way data is packed into chunks for transmission. | |
| int | iaf |
| Internet Aware FAX mode bit mask. | |
| 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. | |
| bool | 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. | |
Core T.38 state, common to all modes of T.38. Higher layers should support the specifics of a gateway, terminal, T.31 interface, etc and incorporate an instance of this structure to handle the basics of T.38, mostly IFP.
| int t38_core_state_s::allow_for_tep |
Allow time for TEP playout.
Referenced by t38_core_send_indicator(), and t38_set_tep_handling().
| int t38_core_state_s::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).
Referenced by t38_core_init(), t38_core_send_data(), t38_core_send_data_multi_field(), t38_core_send_indicator(), and t38_set_redundancy_control().
| bool t38_core_state_s::check_sequence_numbers |
True if IFP packet sequence numbers are relevant. For some transports, like TPKT over TCP they are not relevent.
Referenced by t38_core_init(), t38_core_rx_ifp_packet(), and t38_set_sequence_number_handling().
| int t38_core_state_s::chunking_modes |
Bit fields controlling the way data is packed into chunks for transmission.
Referenced by t38_terminal_set_config(), and t38_terminal_set_tep_mode().
| int t38_core_state_s::current_rx_data_type |
The current receive data type - i.e. the last data type received.
Referenced by t38_core_restart(), and t38_core_rx_ifp_stream().
| int t38_core_state_s::current_rx_field_type |
The current receive field type - i.e. the last field_type received.
Referenced by t38_core_restart(), and t38_core_rx_ifp_stream().
| int t38_core_state_s::current_rx_indicator |
The current receive indicator - i.e. the last indicator received.
Referenced by t38_core_restart(), and t38_core_rx_ifp_stream().
| int t38_core_state_s::current_tx_indicator |
The current transmit indicator - i.e. the last indicator transmitted.
Referenced by t38_core_restart(), and t38_core_send_indicator().
| 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().
| int t38_core_state_s::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.
Referenced by t38_core_init(), t38_core_rx_ifp_stream(), and t38_set_data_transport_protocol().
| int t38_core_state_s::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.
Referenced by t38_core_init(), and t38_set_fill_bit_removal().
| int t38_core_state_s::iaf |
Internet Aware FAX mode bit mask.
Referenced by t38_terminal_init(), and t38_terminal_set_fill_bit_removal().
| int t38_core_state_s::jbig_transcoding |
Indicates the ability to convert to/from JBIG to reduce bandwidth.
Referenced by t38_core_init(), and t38_set_jbig_transcoding().
| logging_state_t t38_core_state_s::logging |
Error and flow logging control.
Referenced by t38_core_get_logging_state(), t38_core_init(), t38_core_rx_ifp_packet(), t38_core_rx_ifp_stream(), t38_core_send_data(), t38_core_send_data_multi_field(), and t38_core_send_indicator().
| int t38_core_state_s::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.
Referenced by t38_core_init(), and t38_set_max_buffer_size().
| int t38_core_state_s::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.
Referenced by t38_core_init(), and t38_set_max_datagram_size().
| int t38_core_state_s::microseconds_per_tx_chunk |
Required time between T.38 transmissions, in us.
Referenced by t38_core_init(), t38_get_tx_packet_interval(), and t38_set_tx_packet_interval().
| 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.
Referenced by t38_core_rx_ifp_packet().
| int t38_core_state_s::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.
Referenced by t38_core_init(), and t38_set_mmr_transcoding().
| int t38_core_state_s::pace_transmission |
Pace transmission.
Referenced by t38_core_init(), t38_core_send_flags_delay(), t38_core_send_indicator(), and t38_core_send_training_delay().
| t38_rx_data_handler_t t38_core_state_s::rx_data_handler |
Handler routine to process received data packets.
Referenced by t38_core_init(), and t38_core_rx_ifp_stream().
| int t38_core_state_s::rx_expected_seq_no |
The sequence number expected in the next received packet.
Referenced by t38_core_restart(), and t38_core_rx_ifp_packet().
| t38_rx_indicator_handler_t t38_core_state_s::rx_indicator_handler |
Handler routine to process received indicator packets.
Referenced by t38_core_init(), and t38_core_rx_ifp_stream().
| t38_rx_missing_handler_t t38_core_state_s::rx_missing_handler |
Handler routine to process the missing packet condition.
Referenced by t38_core_init(), and t38_core_rx_ifp_packet().
| void* t38_core_state_s::rx_user_data |
An opaque pointer passed to any of the above receive handling routines.
Referenced by t38_core_init(), t38_core_rx_ifp_packet(), and t38_core_rx_ifp_stream().
| int t38_core_state_s::t38_version |
This is the version number of ITU-T Rec. T.38. New versions shall be compatible with previous versions.
Referenced by t38_core_init(), t38_core_rx_ifp_stream(), and t38_set_t38_version().
| t38_tx_packet_handler_t t38_core_state_s::tx_packet_handler |
Handler routine to transmit IFP packets generated by the T.38 protocol engine.
Referenced by t38_core_init(), t38_core_send_data(), t38_core_send_data_multi_field(), and t38_core_send_indicator().
| void* t38_core_state_s::tx_packet_user_data |
An opaque pointer passed to tx_packet_handler.
Referenced by t38_core_init(), t38_core_send_data(), t38_core_send_data_multi_field(), and t38_core_send_indicator().
| int t38_core_state_s::tx_seq_no |
The sequence number for the next packet to be transmitted.
Referenced by t38_core_send_data(), t38_core_send_data_multi_field(), and t38_core_send_indicator().