diff options
author | AndersBroman <anders.broman@ericsson.com> | 2016-05-31 14:37:11 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2016-06-01 13:37:44 +0000 |
commit | 2184ae16737f768aaca1fbff608c95034b98c4d3 (patch) | |
tree | a21422f6164de5e88e30ddfecda5cbb40d4be0e4 /epan | |
parent | 10f1ea6369796f68728e145d122ce44803806780 (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.c | 4 |
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) { |