T38完整协议栈
int32 MT_T38_StartV21Modulation( x_MT_T38_ctx_t *px_T38id )
{
int32 i_rc;
x_MT_FR_MoDeMoInputStream x_InStrm;
#if MT_T38_AUTOSTART_MOD
px_T38id->ui_AutoStartTimeout = 0;
#endif
px_T38id->ui_TxChnFIFcount = 0;
px_T38id->ui_CurrentModStd = MT_FR_STD_V21;
px_T38id->ui_CurrentModT38Data = MT_T38_v21;
px_T38id->ui_CurrentModIndicator = MT_T38_v21_preamble;
/* set framing mode */
x_InStrm.e_framing_mode = MT_FR_FRAMING_HDLC;
/* set frame exit */
x_InStrm.uxByteStream.pfnGetHdlcByte = MT_T38_GetOutHdlcByte;
/* HDLC flags */
px_T38id->ui_FlagsFillsThreshold = sttblun_T38_SpoofingCount[MT_T38_v21];
#if MT_T38_UDP_BUILD
px_T38id->ui_FlushFillsThr = MT_T38_UDP_PC_V21_FLAGS_FLUSH_THRESHOLD;
#endif
px_T38id->i_T38_Flags |= MT_T38_FL_MODULATING;
px_T38id->i_T38_Flags1 &= ~MT_T38_FL1_MOD_V21_SENT;
mtStr( MT_MTRID_T38, "T38:Start v21 mod" )
if( ( i_rc =
MT_FR_MoDeMoStartModulation( &px_T38id->x_DownCtx, MT_FR_STD_V21, 0,
&x_InStrm ) ) != 0 ) {
mtStrNumD( MT_MTRID_T38 | MT_MTRID_ERR, "T38:Err StartModulation", i_rc )
}
return i_rc;
}
2022-04-26 20:05:03
40KB
T38
1