Prosody data communications: API: smdc_rx_status_t38
Prototype Definition
int smdc_rx_status_t38(struct smdc_rx_status_t38_parms *statusp)
Parameters
- *statusp
-
a structure of the following type:
typedef struct smdc_rx_status_t38_parms {
tSMChannelId channel; /* in */
tSM_INT available_octets; /* out */
enum kSMDCRxT38Status {
kSMDCRxT38StatusEmpty,
kSMDCRxT38StatusTone,
kSMDCRxT38StatusV34,
kSMDCRxT38StatusData,
kSMDCRxT38StatusOverrun,
kSMDCRxT38StatusCarrier,
kSMDCRxT38StatusFinished,
kSMDCRxT38StatusProtocol,
kSMDCRxT38StatusRate,
} status; /* out */
tSM_INT flow; /* out */
union {
struct {
enum kSMDCT38ToneType tone_type; /* out */
} tone; /* out */
struct {
enum kSMDCT38_V34Type {
kSMDCT38_V34Type_V34_CC_1200,
kSMDCT38_V34Type_V34_PRI_CHAN,
kSMDCT38_V34Type_V34_CC_RETRAIN,
} v34_type; /* out */
} v34; /* out */
struct {
tSM_INT carrier; /* out */
} carrier; /* out */
struct {
tSM_INT rate; /* out */
} rate; /* out */
struct {
tSM_INT protocol; /* out */
} protocol; /* out */
} u; /* out */
} SMDC_RX_STATUS_T38_PARMS;
Description
Reports the status of a channel whose input half has been
configured for T.38 data communications.
Fields
- channel
- The T.38 data communication channel.
- available_octets
- The amount of data currently buffered in this channel. Only
valid if the
status
field reports
kSMDCRxT38StatusData.
- status
- The receiver status.
One of these values:
- kSMDCRxT38StatusEmpty
- No data is available for reading.
- kSMDCRxT38StatusTone
- A T.38 tone indicator was received on this channel
- kSMDCRxT38StatusV34
- A T.38 v34 indicator was received on this channel
- kSMDCRxT38StatusData
- Some data is available for reading.
- kSMDCRxT38StatusOverrun
- Data has been lost because the buffer has overflowed.
- kSMDCRxT38StatusCarrier
- The input half is not receiving a meaningful signal.
- kSMDCRxT38StatusFinished
- The receiver has finished with data communications. When this
status is reported, the channel's input half reverts to the
idle state that it was in before
smdc_rx_config_t38()
was used. Therefore it can be re-configured or used for
another purpose and a subsequent call to
smdc_rx_status_t38()
will report the error
ERR_SM_WRONG_CHANNEL_STATE
.
- kSMDCRxT38StatusProtocol
- The protocol of the data received has changed. This status is
only possible when the channel has been configured to receive
all protocols.
- kSMDCRxT38StatusRate
- v34 primary bit-rate in bits/s.
- flow
- Indicator of whether the receiver has stopped incoming data by
using flow control (non-zero) or not (zero).
- u
-
- tone
- This field is only valid if the status is
kSMDCRxT38StatusTone
- tone_type
- The type of tone that was reported on this channel.
One of these values:
- kSMDCT38ToneTypeCNG
- A CNG tone
- kSMDCT38ToneTypeCED
- A CED tone
- kSMDCT38ToneTypeANSAM
- An ANSAM tone
- v34
- This field is only valid if the status is
kSMDCRxT38StatusV34
- v34_type
- The type of v34 action that was requested on this channel.
This may be a switch from primary to control channel, or switch from
control to primary channel or control channel retrain due
to a synchronisation problem or a need for a new primary channel bitrate.
One of these values:
- kSMDCT38_V34Type_V34_CC_1200
- A Control Channel
- kSMDCT38_V34Type_V34_PRI_CHAN
- A Primary Channel
- kSMDCT38_V34Type_V34_CC_RETRAIN
- A Control Channel Retrain
- carrier
- This field is only valid if the status is
kSMDCRxT38StatusCarrier
- carrier
- The current carrier status: 0=off, 1=on.
- rate
- This field is only valid if the status is
kSMDCRxT38StatusRate
- rate
- The primary bitrate value, anything from 2400 bps to 33600 bps.
- protocol
- This field is only valid if the status is
kSMDCRxT38StatusProtocol
- protocol
- The protocol, from Table 4/T.38, of the data being received
Returns
0
if call completed successfully, otherwise a standard error such as:
- ERR_SM_DEVERR - device error
This function is part of the Prosody data communications API.