2 * Routines for SDP packet disassembly (RFC 2327)
4 * Jason Lango <jal@netapp.com>
5 * Liberally copied from packet-http.c, by Guy Harris <guy@alum.mit.edu>
6 * 2005 Alejandro Vaquero <alejandro.vaquero@verso.com>, add support for tap
8 * Wireshark - Network traffic analyzer
9 * By Gerald Combs <gerald@wireshark.org>
10 * Copyright 1998 Gerald Combs
12 * SPDX-License-Identifier: GPL-2.0-or-later
15 #ifndef __PACKET_SDP_H__
16 #define __PACKET_SDP_H__
18 typedef struct _sdp_packet_info
{
19 char summary_str
[50]; /* SDP summary string for VoIP calls graph analysis */
22 enum sdp_exchange_type
24 SDP_EXCHANGE_OFFER
= 0,
25 SDP_EXCHANGE_ANSWER_ACCEPT
,
26 SDP_EXCHANGE_ANSWER_REJECT
29 enum sdp_trace_id_hf_type
31 SDP_TRACE_ID_HF_TYPE_STR
= 0, /* */
32 SDP_TRACE_ID_HF_TYPE_UINT32
/* */
36 * Information needed to set up a trace id in RTP(t ex SIP CallId )
38 #define SDP_INFO_OFFSET 10 /* Max number of SDP data occurrences in a single frame */
40 typedef struct _sdp_setup_info
{
41 int hf_id
; /* Header field to use */
42 enum sdp_trace_id_hf_type hf_type
; /* Indicates which of the following variables to use( add uint32_t etc as needed)*/
46 char *str
; /* The trace id if the hf_type is str */
47 uint32_t num
; /* Numerical trace id */
51 extern void setup_sdp_transport(tvbuff_t
*tvb
, packet_info
*pinfo
, enum sdp_exchange_type type
, int request_frame
, const bool delay
, sdp_setup_info_t
*setup_info
);
52 /* Handles duplicate OFFER packets so they don't end up processed by dissect_sdp(). This can probably
53 * be removed when all higher layer dissectors properly handle SDP themselves with setup_sdp_transport()
55 extern void setup_sdp_transport_resend(int current_frame
, int request_frame
);
57 #endif /* __PACKET_SDP_H__ */