aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rtpproxy.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2013-11-26 22:40:52 +0000
committerPascal Quantin <pascal.quantin@gmail.com>2013-11-26 22:40:52 +0000
commitf2d28c05bc16429acde68c5ba255c423eb03c4d6 (patch)
treeeebf207190e2af7e635b5ddedde682421ad29e7e /epan/dissectors/packet-rtpproxy.c
parenta955db9c0d7ca3316c5213416d4aae678e7c4f2e (diff)
From Peter Lemenkov via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9476 :
Add DTMF dissector setup based on the information found in RTPproxy requests svn path=/trunk/; revision=53605
Diffstat (limited to 'epan/dissectors/packet-rtpproxy.c')
-rw-r--r--epan/dissectors/packet-rtpproxy.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/epan/dissectors/packet-rtpproxy.c b/epan/dissectors/packet-rtpproxy.c
index 965599bdcf..bdf26fb4dc 100644
--- a/epan/dissectors/packet-rtpproxy.c
+++ b/epan/dissectors/packet-rtpproxy.c
@@ -101,8 +101,9 @@ typedef struct _rtpproxy_info {
nstime_t req_time;
} rtpproxy_info_t;
-static dissector_handle_t rtp_handle;
static dissector_handle_t rtcp_handle;
+static dissector_handle_t rtp_events_handle;
+static dissector_handle_t rtp_handle;
typedef struct _rtpproxy_conv_info {
wmem_tree_t *trans;
@@ -295,6 +296,7 @@ rtpproxy_add_parameter(proto_tree *rtpproxy_tree, tvbuff_t *tvb, guint begin, gu
guint offset = 0;
guint new_offset = 0;
gint i = 0;
+ guint pt = 0;
gchar** codecs = NULL;
guint8* rawstr = NULL;
@@ -344,6 +346,10 @@ rtpproxy_add_parameter(proto_tree *rtpproxy_tree, tvbuff_t *tvb, guint begin, gu
new_offset = (gint)strspn(rawstr+offset, "0123456789");
another_tree = proto_item_add_subtree(ti, ett_rtpproxy_command_parameters_dtmf);
proto_tree_add_item(another_tree, hf_rtpproxy_command_parameter_dtmf, tvb, begin+offset, new_offset, ENC_ASCII | ENC_NA);
+ if(rtpproxy_establish_conversation){
+ pt = (guint)strtoul(tvb_format_text(tvb,begin+offset,new_offset),NULL,10);
+ dissector_add_uint("rtp.pt", pt, rtp_events_handle);
+ }
offset += new_offset;
break;
case 'm':
@@ -1321,8 +1327,9 @@ proto_reg_handoff_rtpproxy(void)
dissector_add_uint("udp.port", rtpproxy_udp_port, rtpproxy_udp_handle);
old_rtpproxy_udp_port = rtpproxy_udp_port;
- rtp_handle = find_dissector("rtp");
rtcp_handle = find_dissector("rtcp");
+ rtp_events_handle = find_dissector("rtpevent");
+ rtp_handle = find_dissector("rtp");
}
/*