aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/gsmmap/gsmmap.cnf
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-01-26 20:07:35 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-01-26 20:07:35 +0000
commit84a6808dca6f1ad3083f680854d98607e866e1a4 (patch)
treef4c7cbe28b1c0819dea145518a39367c26138682 /asn1/gsmmap/gsmmap.cnf
parenta4a33b58e781ee40638050d08d419b28e74fa0ef (diff)
Unpack and display digits, Decode SS-status.
svn path=/trunk/; revision=13175
Diffstat (limited to 'asn1/gsmmap/gsmmap.cnf')
-rw-r--r--asn1/gsmmap/gsmmap.cnf77
1 files changed, 77 insertions, 0 deletions
diff --git a/asn1/gsmmap/gsmmap.cnf b/asn1/gsmmap/gsmmap.cnf
index aae5f4c875..15d41e83c0 100644
--- a/asn1/gsmmap/gsmmap.cnf
+++ b/asn1/gsmmap/gsmmap.cnf
@@ -31,6 +31,83 @@ RequestedInfo/subscriberState subscriberStateFlag
dissector_try_port(sms_dissector_table, 0, tpdu_tvb, pinfo, top_tree);
#.END
#----------------------------------------------------------------------------------------
+#.FN_BODY Imsi
+
+ tvbuff_t *parameter_tvb;
+ char *digit_str;
+
+ offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+ &parameter_tvb);
+
+ digit_str = unpack_digits(parameter_tvb, 0);
+
+ proto_tree_add_string(tree, hf_gsm_map_imsi_digits, parameter_tvb, 1, -1, digit_str);
+ g_free(digit_str);
+
+
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY ServiceCentreAddress
+
+ tvbuff_t *parameter_tvb;
+ char *digit_str;
+
+ offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+ &parameter_tvb);
+
+ proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
+ proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
+ proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
+
+ digit_str = unpack_digits(parameter_tvb, 1);
+
+ proto_tree_add_string(tree, hf_gsm_map_servicecentreaddress_digits, parameter_tvb, 1, -1, digit_str);
+ g_free(digit_str);
+
+
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY Msisdn
+
+ tvbuff_t *parameter_tvb;
+ char *digit_str;
+
+ offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+ &parameter_tvb);
+
+ proto_tree_add_item(tree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE);
+ proto_tree_add_item(tree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE);
+ proto_tree_add_item(tree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE);
+
+ digit_str = unpack_digits(parameter_tvb, 1);
+
+ proto_tree_add_string(tree, hf_gsm_map_misdn_digits, parameter_tvb, 1, -1, digit_str);
+ g_free(digit_str);
+
+
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY Ss-Status
+
+ tvbuff_t *parameter_tvb;
+ guint8 octet;
+
+ offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+ &parameter_tvb);
+
+ octet = tvb_get_guint8(parameter_tvb,0);
+
+ proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
+ if ((octet & 0x01)== 1)
+ proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
+
+ proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
+ proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
+ proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
+
+
+#.END
+#----------------------------------------------------------------------------------------
#.TYPE_ATTR
Ss-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ssCode_vals)
Teleservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)