diff options
author | Guy Harris <guy@alum.mit.edu> | 2006-01-29 00:40:40 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2006-01-29 00:40:40 +0000 |
commit | f9eaba6d69948dd1a71a973b98c2ea6636f15a91 (patch) | |
tree | 9b055bbc752c83cf45fea8dc3f6ae50d55bd101b /epan/dissectors/packet-rtp.c | |
parent | b0a28a80800ad7bca85dcb271bbd4952fb043a64 (diff) |
Add an option to dissect purported RTP packets with a version number of
0 as T.38 rather than STUN.
svn path=/trunk/; revision=17116
Diffstat (limited to 'epan/dissectors/packet-rtp.c')
-rw-r--r-- | epan/dissectors/packet-rtp.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/epan/dissectors/packet-rtp.c b/epan/dissectors/packet-rtp.c index 66eeea0c0f..6549f49bbd 100644 --- a/epan/dissectors/packet-rtp.c +++ b/epan/dissectors/packet-rtp.c @@ -71,6 +71,7 @@ static dissector_handle_t rtp_handle; static dissector_handle_t stun_handle; +static dissector_handle_t t38_handle; static int rtp_tap = -1; @@ -112,10 +113,12 @@ static gint ett_rtp_setup = -1; #define RTP0_INVALID 0 #define RTP0_STUN 1 +#define RTP0_T38 2 static enum_val_t rtp_version0_types[] = { { "invalid", "Invalid RTP packets", RTP0_INVALID }, { "stun", "STUN packets", RTP0_STUN }, + { "t38", "T.38 packets", RTP0_T38 }, { NULL, NULL, 0 } }; static guint global_rtp_version0_type = 0; @@ -337,6 +340,10 @@ dissect_rtp_heur( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) call_dissector(stun_handle, tvb, pinfo, tree); return TRUE; + case RTP0_T38: + call_dissector(t38_handle, tvb, pinfo, tree); + return TRUE; + case RTP0_INVALID: default: return FALSE; /* Unknown or unsupported version */ @@ -438,6 +445,10 @@ dissect_rtp( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) call_dissector(stun_handle, tvb, pinfo, tree); return; + case RTP0_T38: + call_dissector(t38_handle, tvb, pinfo, tree); + return; + case RTP0_INVALID: default: ; /* Unknown or unsupported version (let it fall through */ @@ -1092,6 +1103,7 @@ proto_reg_handoff_rtp(void) { data_handle = find_dissector("data"); stun_handle = find_dissector("stun"); + t38_handle = find_dissector("t38"); /* * Register this dissector as one that can be selected by a * UDP port number. |