summaryrefslogtreecommitdiff
path: root/asn1/ranap
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2011-10-13 19:41:34 +0000
committerAnders Broman <anders.broman@ericsson.com>2011-10-13 19:41:34 +0000
commitc20e6b8a25253650267fe347fd6fb7accd784214 (patch)
tree0182ffc4925ee1c1a73917edf667b1f7cdc969fb /asn1/ranap
parent022929724b747a70f8978df4dddbbd1da8efb705 (diff)
downloadwireshark-c20e6b8a25253650267fe347fd6fb7accd784214.tar.gz
Dissect NSAP encoded transport layer address.
svn path=/trunk/; revision=39408
Diffstat (limited to 'asn1/ranap')
-rw-r--r--asn1/ranap/packet-ranap-template.c8
-rw-r--r--asn1/ranap/ranap.cnf19
2 files changed, 23 insertions, 4 deletions
diff --git a/asn1/ranap/packet-ranap-template.c b/asn1/ranap/packet-ranap-template.c
index 3a59de16dc..04793b87aa 100644
--- a/asn1/ranap/packet-ranap-template.c
+++ b/asn1/ranap/packet-ranap-template.c
@@ -44,6 +44,7 @@
#include "packet-e212.h"
#include "packet-sccp.h"
#include "packet-gsm_a_common.h"
+#include "packet-isup.h"
#ifdef _MSC_VER
/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
@@ -72,12 +73,14 @@ static dissector_handle_t rrc_ho_to_utran_cmd = NULL;
static int hf_ranap_imsi_digits = -1;
static int hf_ranap_transportLayerAddress_ipv4 = -1;
static int hf_ranap_transportLayerAddress_ipv6 = -1;
+static int hf_ranap_transportLayerAddress_nsap = -1;
#include "packet-ranap-hf.c"
/* Initialize the subtree pointers */
static int ett_ranap = -1;
static int ett_ranap_TransportLayerAddress = -1;
+static int ett_ranap_TransportLayerAddress_nsap = -1;
#include "packet-ranap-ett.c"
@@ -308,6 +311,10 @@ void proto_register_ranap(void) {
{ "transportLayerAddress IPv6", "ranap.transportLayerAddress_ipv6",
FT_IPv6, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_ranap_transportLayerAddress_nsap,
+ { "transportLayerAddress NSAP", "ranap.transportLayerAddress_NSAP",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
#include "packet-ranap-hfarr.c"
@@ -317,6 +324,7 @@ void proto_register_ranap(void) {
static gint *ett[] = {
&ett_ranap,
&ett_ranap_TransportLayerAddress,
+ &ett_ranap_TransportLayerAddress_nsap,
#include "packet-ranap-ettarr.c"
};
diff --git a/asn1/ranap/ranap.cnf b/asn1/ranap/ranap.cnf
index 942b1c0c79..5f802c4ad8 100644
--- a/asn1/ranap/ranap.cnf
+++ b/asn1/ranap/ranap.cnf
@@ -293,9 +293,14 @@ MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
# if (parameter_tvb)
# dissect_gtp_mbms_ses_dur(parameter_tvb, actx->pinfo, tree);
+# 9.2.2.1 Transport Layer Address
+# For details on the Transport Layer Address, see ref
+# 3GPP TS 25.414: "UTRAN Iu interface data transport and transport signalling".
+#
#.FN_BODY TransportLayerAddress VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb=NULL;
- proto_tree *subtree;
+ proto_tree *item;
+ proto_tree *subtree, *nsap_tree;
gint tvb_len;
%(DEFAULT_BODY)s
@@ -308,11 +313,16 @@ MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
subtree = proto_item_add_subtree(actx->created_item, ett_ranap_TransportLayerAddress);
if (tvb_len==4){
/* IPv4 */
- proto_tree_add_item(subtree, hf_ranap_transportLayerAddress_ipv4, parameter_tvb, 0, tvb_len, FALSE);
+ proto_tree_add_item(subtree, hf_ranap_transportLayerAddress_ipv4, parameter_tvb, 0, tvb_len, ENC_NA);
}
if (tvb_len==16){
/* IPv6 */
- proto_tree_add_item(subtree, hf_ranap_transportLayerAddress_ipv6, parameter_tvb, 0, tvb_len, FALSE);
+ proto_tree_add_item(subtree, hf_ranap_transportLayerAddress_ipv6, parameter_tvb, 0, tvb_len, ENC_NA);
+ }
+ if (tvb_len==20){
+ item = proto_tree_add_item(subtree, hf_ranap_transportLayerAddress_nsap, parameter_tvb, 0, tvb_len, ENC_NA);
+ nsap_tree = proto_item_add_subtree(item, ett_ranap_TransportLayerAddress_nsap);
+ dissect_nsap(parameter_tvb, 0, 20, nsap_tree);
}
#.FN_BODY GTP-TEI VAL_PTR = &parameter_tvb
@@ -662,7 +672,8 @@ id-IRAT-Measurement-Configuration ProtocolIE-ID
id-MDT-Configuration ProtocolIE-ID
id-Priority-Class-Indicator ProtocolIE-ID
id-RNSAPRelocationParameters ProtocolIE-ID
-id-RABParametersList ProtocolIE-ID
+id-RNSAPRelocationParameters ProtocolIE-ID
+id-Not-Used-246 ProtocolIE-ID
id-Management-Based-MDT-Allowed ProtocolIE-ID
#.END