aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorAndersBroman <anders.broman@ericsson.com>2016-05-31 14:37:11 +0200
committerAnders Broman <a.broman58@gmail.com>2016-06-01 13:37:44 +0000
commit2184ae16737f768aaca1fbff608c95034b98c4d3 (patch)
treea21422f6164de5e88e30ddfecda5cbb40d4be0e4 /epan
parent10f1ea6369796f68728e145d122ce44803806780 (diff)
[SIP] If SIP URI userpart starts with a + add an MSISDN filter.
Change-Id: I047374100baa0bf90e0e88460bcb7694a5ef78da Reviewed-on: https://code.wireshark.org/review/15639 Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-sip.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/epan/dissectors/packet-sip.c b/epan/dissectors/packet-sip.c
index 8e818a2a76..9d067ba2cf 100644
--- a/epan/dissectors/packet-sip.c
+++ b/epan/dissectors/packet-sip.c
@@ -49,6 +49,7 @@
#include "packet-ssl.h"
#include "packet-isup.h"
+#include "packet-e164.h"
#include "packet-sip.h"
#include "packet-sdp.h" /* SDP needs a transport layer to determine request/response */
@@ -1568,6 +1569,9 @@ display_sip_uri (tvbuff_t *tvb, proto_tree *sip_element_tree, packet_info *pinfo
if(uri_offsets->uri_user_end > uri_offsets->uri_user_start) {
proto_tree_add_item(uri_item_tree, *(uri->hf_sip_user), tvb, uri_offsets->uri_user_start,
uri_offsets->uri_user_end - uri_offsets->uri_user_start + 1, ENC_UTF_8|ENC_NA);
+ if (tvb_get_guint8(tvb, uri_offsets->uri_user_start) == '+') {
+ dissect_e164_msisdn(tvb, uri_item_tree, uri_offsets->uri_user_start + 1, uri_offsets->uri_user_end - uri_offsets->uri_user_start, E164_ENC_UTF8);
+ }
/* If we have a SIP diagnostics sub dissector call it */
if (sip_uri_userinfo_handle) {