On Jan 24, 2004, at 1:37 AM, Martin Regner wrote:
I have made a patch to support both T.38IFP/TCP and T38IFP/TPKT/TCP.
I've checked in some changes atop that:
rename "dissect_t38_tcp()" to "dissect_t38_tcp_pdu()" to make it
clearer what it does (dissect a single T.38-over-TCP or T.38-over-TPKT
PDU);
have "dissect_t38_udp()" that does T.38-over-UDP dissection and
"dissect_t38_tcp()" that does T.38-over-TCP dissection; register handles
for them for the appropriate protocols, rather than having a single
dissector that checks the IP protocol type.
The T.38 dissector registers itself by name as "t38"; the dissector for
that currently checks the IP protocol type. Does anything directly
call the T.38 dissector, with a handle obtained from
find_dissector("t38")
If not, the dissector that checks the IP protocol type can be removed.
There is also a new preference setting regarding TCP desegmentation.
TCP
desegmentation is currently only supported when TPKT header
is used.
For T.38-over-TPKT, is there only one IFP packet inside a TPKT PDU, or
can there be more than one IFP packet per TPKT PDU? If there is only
one, a handle to a routine to dissect only one IFP packet should be
supplied to the TPKT dissector.
For T.38-over-TCP, is there a convenient way to find the length of a
PER sequence, using a bounded number of bytes from the beginning of the
packet, and not using more bytes than the minimum length of a PER
sequence? If so, that should perhaps be exported by packet-per.c -
it'd let you use "tcp_dissect_pdus()" to handle T.38-over-TCP
desegmentation. If not, the desegmentation might have to be done by
hand.