Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
tap-rtp-analysis.h
Go to the documentation of this file.
1 /* tap-rtp-analysis.h
2  * RTP analysis addition for Wireshark
3  *
4  * Copyright 2003, Alcatel Business Systems
5  * By Lars Ruoff <lars.ruoff@gmx.net>
6  *
7  * based on tap_rtp.c
8  * Copyright 2003, Iskratel, Ltd, Kranj
9  * By Miha Jemec <m.jemec@iskratel.si>
10  *
11  * Wireshark - Network traffic analyzer
12  * By Gerald Combs <gerald@wireshark.org>
13  * Copyright 1998 Gerald Combs
14  *
15  * SPDX-License-Identifier: GPL-2.0-or-later
16  */
17 
18 #ifndef __TAP_RTP_ANALYSIS_H__
19 #define __TAP_RTP_ANALYSIS_H__
20 
21 #include <epan/address.h>
22 #include <epan/packet_info.h>
23 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif /* __cplusplus */
32 
33 void rtp_analysis(
34  address *ip_src_fwd,
35  guint32 port_src_fwd,
36  address *ip_dst_fwd,
37  guint32 port_dst_fwd,
38  guint32 ssrc_fwd,
39  address *ip_src_rev,
40  guint32 port_src_rev,
41  address *ip_dst_rev,
42  guint32 port_dst_rev,
43  guint32 ssrc_rev
44  );
45 
46 /****************************************************************************/
47 /* structure that holds the information about the forward and reversed direction */
48 typedef struct _bw_history_item {
49  double time;
50  guint32 bytes;
52 
53 #define BUFF_BW 300
54 
55 typedef struct _tap_rtp_stat_t {
56  gboolean first_packet;
57  /* use (flags & STAT_FLAG_FIRST) instead */
58  /* all of the following fields will be initialized after
59  * rtp_packet_analyse has been called
60  */
62  guint32 flags; /* see STAT_FLAG-defines below */
63  guint16 seq_num;
64  guint32 timestamp;
65  guint32 first_timestamp;
66  guint32 delta_timestamp;
67  double bandwidth;
68  bw_history_item bw_history[BUFF_BW];
69  guint16 bw_start_index;
70  guint16 bw_index;
71  guint32 total_bytes;
72  guint32 clock_rate;
73  double delta;
74  double jitter;
75  double diff;
76  double skew;
77  double sumt;
78  double sumTS;
79  double sumt2;
80  double sumtTS;
81  double time;
82  double start_time;
83  double lastnominaltime;
84  double max_delta;
85  double max_jitter;
86  double max_skew;
87  double mean_jitter;
88  guint32 max_nr;
89  guint16 start_seq_nr;
90  guint16 stop_seq_nr;
91  guint32 total_nr;
92  guint32 sequence;
93  gboolean under;
94  gint cycles;
95  guint16 pt;
96  int reg_pt;
97  guint32 first_packet_num;
98  guint last_payload_len;
100 
101 typedef struct _tap_rtp_save_data_t {
102  guint32 timestamp;
103  unsigned int payload_type;
104  size_t payload_len;
106 
107 #define PT_UNDEFINED -1
108 
109 /* status flags for the flags parameter in tap_rtp_stat_t */
110 #define STAT_FLAG_FIRST 0x001
111 #define STAT_FLAG_MARKER 0x002
112 #define STAT_FLAG_WRONG_SEQ 0x004
113 #define STAT_FLAG_PT_CHANGE 0x008
114 #define STAT_FLAG_PT_CN 0x010
115 #define STAT_FLAG_FOLLOW_PT_CN 0x020
116 #define STAT_FLAG_REG_PT_CHANGE 0x040
117 #define STAT_FLAG_WRONG_TIMESTAMP 0x080
118 #define STAT_FLAG_PT_T_EVENT 0x100
119 #define STAT_FLAG_DUP_PKT 0x200
120 
121 /* forward */
122 struct _rtp_info;
123 
124 /* function for analysing an RTP packet. Called from rtp_analysis and rtp_streams */
125 extern void rtp_packet_analyse(tap_rtp_stat_t *statinfo,
126  packet_info *pinfo,
127  const struct _rtp_info *rtpinfo);
128 
129 #ifdef __cplusplus
130 }
131 #endif /* __cplusplus */
132 
133 #endif /* __TAP_RTP_ANALYSIS_H__ */
134 
135 /*
136  * Editor modelines - http://www.wireshark.org/tools/modelines.html
137  *
138  * Local variables:
139  * c-basic-offset: 4
140  * tab-width: 8
141  * indent-tabs-mode: nil
142  * End:
143  *
144  * vi: set shiftwidth=4 tabstop=8 expandtab:
145  * :indentSize=4:tabSize=8:noTabs=true:
146  */
double start_time
Definition: tap-rtp-analysis.h:82
address first_packet_mac_addr
Definition: tap-rtp-analysis.h:61
Definition: packet_info.h:44
Definition: tap-rtp-analysis.h:55
gboolean first_packet
Definition: tap-rtp-analysis.h:56
double time
Definition: tap-rtp-analysis.h:81
Definition: tap-rtp-analysis.h:48
Definition: packet-rtp.h:26
Definition: tap-rtp-analysis.h:101
Definition: address.h:47