Ethereal-dev: Re: [Ethereal-dev] Patch to prevent rtp/rtcp to register conversationwhen disabl

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Ruud Linders <[email protected]>
Date: Tue, 06 Jul 2004 13:17:00 +0200
Martin et al,

That's a good point.  I can make something for that.
It would make the preference default to the current behaviour, i.e.
create conversation for RTP on port X and RTCP on port X+1 and
let the preference switch off/on RTCP.

Note that my patch to disable RTP/RTCP creating conversations
when disabled should still go in IMHO.
(When the resp. protocols are disabled, they shouldn't claim frames
in a conversation, preventing other dissectors to decode).

	Ruud


Martin Mathieson wrote:
Would it make sense to (also?) add a preference setting to the SDP dissector
indicating whether or not RTCP conversations should be created?  H.245 and
RTSP specify the RTCP port explicity so wouldn't need such an option.

Disabling RTCP altogether seems maybe a drastic way to achieve what you
want.

Martin


----- Original Message -----
From: "Ruud Linders" <[email protected]>
To: <[email protected]>
Sent: 03 July 2004 18:04
Subject: [Ethereal-dev] Patch to prevent rtp/rtcp to register
conversationwhen disabled



Here is a patch (against nightly build 2004-07-02) to prevent both
RTCP and RTP to create conversations when the respective protocols
are disabled.

It solves for me the problem that in packet-sdp.c the function
rtp_add_address(... srcport ...) is blindly followed by
rtCp_add_address(..srcport+1...).
Since the SDP decoder can't now if RTCP is present or not, that
seems to be the only way to create a conversation for RTCP.
(IFF RTCP is present, it IS at the RTP port + 1)

However, in my trace there were no RTCP but instead RTP packets
at the srcport+1 which were subsequently decoded wrongly as RTCP.


Regards,
Ruud Linders





----------------------------------------------------------------------------
----



--- packet-rtcp.c.20040702 2004-06-30 23:08:58.000000000 +0200
+++ packet-rtcp.c 2004-07-03 18:38:57.000000000 +0200
@@ -248,6 +248,13 @@
 struct _rtcp_conversation_info *p_conv_data = NULL;

 /*
+ * If protocol isn't enabled, we shouldn't create a conversation
+ */
+ if (!proto_is_protocol_enabled(find_protocol_by_id(proto_rtcp))) {
+   return;
+ }
+
+ /*
 * If this isn't the first time this packet has been processed,
 * we've already done this work, so we don't need to do it
 * again.
--- packet-rtp.c.20040702 2004-07-01 08:59:38.000000000 +0200
+++ packet-rtp.c 2004-07-03 18:40:31.000000000 +0200
@@ -203,6 +203,13 @@
 struct _rtp_conversation_info *p_conv_data = NULL;

 /*
+ * If protocol isn't enabled, we shouldn't create a conversation
+ */
+ if (!proto_is_protocol_enabled(find_protocol_by_id(proto_rtp))) {
+   return;
+ }
+
+ /*
 * If this isn't the first time this packet has been processed,
 * we've already done this work, so we don't need to do it
 * again.




----------------------------------------------------------------------------
----



_______________________________________________
Ethereal-dev mailing list
[email protected]
http://www.ethereal.com/mailman/listinfo/ethereal-dev


_______________________________________________
Ethereal-dev mailing list
[email protected]
http://www.ethereal.com/mailman/listinfo/ethereal-dev