Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-bugs: [Wireshark-bugs] [Bug 8355] Support RTP/RTCP multiplexing

Date: Fri, 20 Dec 2013 01:11:50 +0000

Comment # 17 on bug 8355 from
Comment on attachment 12354 [details]
Patch for RTP/RTCP mux

>Index: epan/dissectors/packet-rtp.c
>===================================================================
>--- epan/dissectors/packet-rtp.c	(revision 54243)
>+++ epan/dissectors/packet-rtp.c	(working copy)
>@@ -134,6 +134,7 @@
> };
> 
> static dissector_handle_t rtp_handle;
>+static dissector_handle_t rtcp_handle;
> static dissector_handle_t classicstun_handle;
> static dissector_handle_t stun_handle;
> static dissector_handle_t classicstun_heur_handle;
>@@ -502,6 +503,9 @@
> #define RTP_PAYLOAD_TYPE(octet)	((octet) & 0x7F)
> /* http://www.iana.org/assignments/rtp-parameters */
> 
>+#define FIRST_RTCP_CONFLICT_PAYLOAD_TYPE 64
>+#define LAST_RTCP_CONFLICT_PAYLOAD_TYPE  95
>+
> static const value_string rtp_payload_type_vals[] =
> {
> /*  0 */	{ PT_PCMU,			"ITU-T G.711 PCMU" },
>@@ -1685,6 +1689,11 @@
> 	marker_set = RTP_MARKER( octet2 );
> 	payload_type = RTP_PAYLOAD_TYPE( octet2 );
> 
>+	if (marker_set && payload_type >= FIRST_RTCP_CONFLICT_PAYLOAD_TYPE && payload_type <=  LAST_RTCP_CONFLICT_PAYLOAD_TYPE) {
>+		call_dissector(rtcp_handle, tvb, pinfo, tree);
>+		return tvb_length(tvb);
>+	}
>+
> 	/* Get the subsequent fields */
> 	seq_num = tvb_get_ntohs( tvb, offset + 2 );
> 	timestamp = tvb_get_ntohl( tvb, offset + 4 );
>@@ -3294,6 +3303,7 @@
> 		dissector_add_uint("rtp.hdr_ext", RTP_ED137_SIG, rtp_hdr_ext_ed137_handle);
> 		dissector_add_uint("rtp.hdr_ext", RTP_ED137A_SIG, rtp_hdr_ext_ed137a_handle);
> 
>+		rtcp_handle = find_dissector("rtcp");
> 		data_handle = find_dissector("data");
> 		stun_handle = find_dissector("stun-udp");
> 		classicstun_handle = find_dissector("classicstun");


You are receiving this mail because:
  • You are watching all bug changes.