3 * Routines for T38 dissection
5 * 2004 Alejandro Vaquero, add support to conversation
7 * Wireshark - Network traffic analyzer
8 * By Gerald Combs <gerald@wireshark.org>
9 * Copyright 1998 Gerald Combs
11 * SPDX-License-Identifier: GPL-2.0-or-later
14 #include "ws_symbol_export.h"
16 #define MAX_T38_DATA_ITEMS 4
17 #define MAX_T38_DESC 128
19 typedef struct _t38_packet_info
{
20 uint16_t seq_num
; /* UDPTLPacket sequence number */
21 int32_t type_msg
; /* 0=t30-indicator 1=data */
22 uint32_t t30ind_value
;
23 uint32_t data_value
; /* standard and speed */
24 uint32_t setup_frame_number
;
25 uint32_t Data_Field_field_type_value
;
26 uint8_t t30_Facsimile_Control
;
27 char desc
[MAX_T38_DESC
]; /* Description used to be displayed in the frame label Graph Analysis */
28 char desc_comment
[MAX_T38_DESC
]; /* Description used to be displayed in the Comment Graph Analysis */
29 double time_first_t4_data
;
30 uint32_t frame_num_first_t4_data
;
34 #define MAX_T38_SETUP_METHOD_SIZE 7
37 /* Info to save the State to reassemble Data (e.g. HDLC) and the Setup (e.g. SDP) in T38 conversations */
38 typedef struct _t38_conv_info t38_conv_info
;
40 struct _t38_conv_info
{
43 int reass_start_seqnum
;
44 uint32_t reass_start_data_field
;
45 uint32_t reass_data_type
;
46 int32_t last_seqnum
; /* used to avoid duplicated seq num shown in the Graph Analysis */
49 double time_first_t4_data
;
50 uint32_t additional_hdlc_data_field_counter
;
51 int32_t seqnum_prev_data_field
;
56 /* Info to save the State to reassemble Data (e.g. HDLC) and the Setup (e.g. SDP) in T38 conversations */
57 typedef struct _t38_conv
59 char setup_method
[MAX_T38_SETUP_METHOD_SIZE
+ 1];
60 uint32_t setup_frame_number
;
61 t38_conv_info src_t38_info
;
62 t38_conv_info dst_t38_info
;
65 /* Add an T38 conversation with the given details */
67 void t38_add_address(packet_info
*pinfo
,
68 address
*addr
, int port
,
70 const char *setup_method
, uint32_t setup_frame_number
);
73 #include "packet-t38-exp.h"