aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-08-03 20:51:54 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-08-03 20:51:54 +0000
commit7789e73a99706e484f048ec4df3f5ed9317143f8 (patch)
tree8d31e35c7d4659f13430f924a502f26201cc46dc
parent92588a098fa337aed646486da94c10136dd88380 (diff)
Use the new fn_par functions, fix of a bug and export functions used by gsm_ss.
svn path=/trunk/; revision=15203
-rw-r--r--asn1/gsmmap/gsm_map-exp.cnf74
-rw-r--r--asn1/gsmmap/gsmmap.cnf144
-rw-r--r--asn1/gsmmap/packet-gsm_map-template.c4
-rw-r--r--asn1/gsmmap/packet-gsm_map-template.h1
4 files changed, 184 insertions, 39 deletions
diff --git a/asn1/gsmmap/gsm_map-exp.cnf b/asn1/gsmmap/gsm_map-exp.cnf
index 62ae97b233..6d726d385f 100644
--- a/asn1/gsmmap/gsm_map-exp.cnf
+++ b/asn1/gsmmap/gsm_map-exp.cnf
@@ -1,12 +1,86 @@
#.IMPORT_TAG
+ISDN_AddressString BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+SS_Status BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+CUG_Index BER_CLASS_UNI BER_UNI_TAG_INTEGER
+NotificationToMSUser BER_CLASS_UNI BER_UNI_TAG_ENUMERATED
+AlertingPattern BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+LCSClientExternalID BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+LCSServiceTypeID BER_CLASS_UNI BER_UNI_TAG_INTEGER
+RegisterSS_Arg BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+SS_Info BER_CLASS_CON -1/*choice*/
+InterrogateSS_Res BER_CLASS_CON -1/*choice*/
+Ussd_Arg BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+Ussd_Res BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+USSD_DataCodingScheme BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+USSD_String BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+SS_Code BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+NewPassword BER_CLASS_UNI BER_UNI_TAG_NumericString
+GetPasswordArg BER_CLASS_UNI BER_UNI_TAG_ENUMERATED
+CurrentPassword BER_CLASS_UNI BER_UNI_TAG_NumericString
+RegisterCC_EntryRes BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+EraseCC_EntryArg BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+EraseCC_EntryRes BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+SS_ForBS_Code BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+CCBS_Feature BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+AgeOfLocationInformation BER_CLASS_UNI BER_UNI_TAG_INTEGER
AddressString BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+ISDN_SubaddressString BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+GSN_Address BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+LocationType BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+DeferredLocationEventType BER_CLASS_UNI BER_UNI_TAG_BITSTRING
+LCSClientName BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+LCSRequestorID BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+LCS_QoS BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+SupportedGADShapes BER_CLASS_UNI BER_UNI_TAG_BITSTRING
+LCS_ReferenceNumber BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+LCSCodeword BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+AreaEventInfo BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+Ext_GeographicalInformation BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
+Add_GeographicalInformation BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
SecurityHeader BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
ProtectedPayload BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
ExtensionContainer BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
#.END
#.TYPE_ATTR
+ISDN_AddressString TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+SS_Status TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+CUG_Index TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+NotificationToMSUser TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(gsm_map_NotificationToMSUser_vals) BITMASK = 0
+AlertingPattern TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+LCSClientExternalID TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+LCSServiceTypeID TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+RegisterSS_Arg TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+SS_Info TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(gsm_map_SS_Info_vals) BITMASK = 0
+InterrogateSS_Res TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(gsm_map_InterrogateSS_Res_vals) BITMASK = 0
+Ussd_Arg TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+Ussd_Res TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+USSD_DataCodingScheme TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+USSD_String TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+SS_Code TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ssCode_vals) BITMASK = 0
+NewPassword TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+GetPasswordArg TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(gsm_map_GetPasswordArg_vals) BITMASK = 0
+CurrentPassword TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+RegisterCC_EntryRes TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+EraseCC_EntryArg TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+EraseCC_EntryRes TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+SS_ForBS_Code TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+CCBS_Feature TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+AgeOfLocationInformation TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
AddressString TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+ISDN_SubaddressString TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+GSN_Address TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+LocationType TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+DeferredLocationEventType TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+LCSClientName TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+LCSRequestorID TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+LCS_QoS TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+SupportedGADShapes TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+LCS_ReferenceNumber TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+LCSCodeword TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+AreaEventInfo TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+Ext_GeographicalInformation TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+Add_GeographicalInformation TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
SecurityHeader TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
ProtectedPayload TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
ExtensionContainer TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
diff --git a/asn1/gsmmap/gsmmap.cnf b/asn1/gsmmap/gsmmap.cnf
index 9d8720d924..0a181cab90 100644
--- a/asn1/gsmmap/gsmmap.cnf
+++ b/asn1/gsmmap/gsmmap.cnf
@@ -10,7 +10,43 @@ AddressString
ExtensionContainer
SecurityHeader
ProtectedPayload
-
+SS-Code
+SS-Status
+CUG-Index
+CCBS-Feature
+AlertingPattern
+USSD-DataCodingScheme
+USSD-String
+ISDN-AddressString
+ISDN-SubaddressString
+NotificationToMSUser
+LocationType
+LCSClientExternalID
+LCSClientName
+LCSRequestorID
+LCSCodeword
+LCSServiceTypeID
+LCS-QoS
+SupportedGADShapes
+AgeOfLocationInformation
+Ext-GeographicalInformation
+Add-GeographicalInformation
+LCS-ReferenceNumber
+GSN-Address
+DeferredLocationEventType
+AreaEventInfo
+SS-Info
+RegisterSS-Arg
+SS-ForBS-Code
+GetPasswordArg
+CurrentPassword
+NewPassword
+Ussd-Arg
+Ussd-Res
+EraseCC-EntryArg
+EraseCC-EntryRes
+RegisterCC-EntryRes
+InterrogateSS-Res
#.PDU
#.NO_EMIT
@@ -61,12 +97,16 @@ Ext-ForwardingInfoFor-CSE/forwardingFeatureList ext-forwardingFeatureList
Ext-ForwFeature/noReplyConditionTime ext-noReplyConditionTime
ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
#----------------------------------------------------------------------------------------
+#.FN_PARS Sm-RP-UI
+
+ VAL_PTR = &tpdu_tvb
+
#.FN_BODY Sm-RP-UI
tvbuff_t *tpdu_tvb;
- offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
- &tpdu_tvb);
+ %(DEFAULT_BODY)s
+
/*
* dissect the embedded TPDU message
*/
@@ -76,13 +116,17 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
dissector_try_port(sms_dissector_table, 0, tpdu_tvb, pinfo, top_tree);
#.END
#----------------------------------------------------------------------------------------
+#.FN_PARS IMSI
+
+ VAL_PTR = &parameter_tvb
+
#.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);
+ %(DEFAULT_BODY)s
+
if (!parameter_tvb)
return offset;
@@ -96,13 +140,17 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
#.END
#----------------------------------------------------------------------------------------
+#.FN_PARS ServiceCentreAddress
+
+ VAL_PTR = &parameter_tvb
+
#.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);
+ %(DEFAULT_BODY)s
+
if (!parameter_tvb)
return offset;
@@ -119,13 +167,16 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
#.END
#----------------------------------------------------------------------------------------
+#.FN_PARS ISDN-AddressString
+
+ VAL_PTR = &parameter_tvb
+
#.FN_BODY ISDN-AddressString
tvbuff_t *parameter_tvb;
char *digit_str;
- offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
- &parameter_tvb);
+%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
@@ -145,13 +196,16 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
#.END
#----------------------------------------------------------------------------------------
+#.FN_PARS AddressString
+
+ VAL_PTR = &parameter_tvb
+
#.FN_BODY AddressString
tvbuff_t *parameter_tvb;
char *digit_str;
- offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
- &parameter_tvb);
+%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
@@ -167,13 +221,17 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
g_free(digit_str);
#----------------------------------------------------------------------------------------
+#.FN_PARS SS-Status
+
+ VAL_PTR = &parameter_tvb
+
#.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);
+%(DEFAULT_BODY)s
+
if (!parameter_tvb)
return offset;
@@ -190,14 +248,18 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
#.END
#----------------------------------------------------------------------------------------
+#.FN_PARS Ext-SS-Status
+
+ VAL_PTR = &parameter_tvb
+
#.FN_BODY Ext-SS-Status
/* Note Ext-SS-Status can have more than one byte */
tvbuff_t *parameter_tvb;
guint8 octet;
- offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
- &parameter_tvb);
+%(DEFAULT_BODY)s
+
if (!parameter_tvb)
return offset;
@@ -224,18 +286,20 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
VAL_PTR = &AccessNetworkProtocolId
#----------------------------------------------------------------------------------------
-#.FN_HDR SignalInfo
+#.FN_PARS SignalInfo
+
+ VAL_PTR = &parameter_tvb
+
+#.FN_BODY SignalInfo
tvbuff_t *parameter_tvb;
guint8 octet;
guint8 length;
tvbuff_t *next_tvb;
- #.FN_PARS SignalInfo
- VAL_PTR = &parameter_tvb
+%(DEFAULT_BODY)s
-#.FN_FTR SignalInfo
if (!parameter_tvb)
return offset;
switch (protocolId){
@@ -266,19 +330,20 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
}
#----------------------------------------------------------------------------------------
-#.FN_HDR LongSignalInfo
+#.FN_PARS LongSignalInfo
+
+ VAL_PTR = &parameter_tvb
+
+#.FN_BODY LongSignalInfo
tvbuff_t *parameter_tvb;
guint8 octet;
guint8 length;
tvbuff_t *next_tvb;
-#.FN_PARS LongSignalInfo
-
- VAL_PTR = &parameter_tvb
+%(DEFAULT_BODY)s
-#.FN_FTR LongSignalInfo
if (!parameter_tvb)
return offset;
switch (AccessNetworkProtocolId){
@@ -320,15 +385,17 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
proto_tree_add_item(tree, hf_gsm_map_notification_to_calling_party, tvb, 0,1,FALSE);
proto_tree_add_item(tree, hf_gsm_map_forwarding_reason, tvb, 0,1,FALSE);
-#.FN_HDR PDP-Type
+#.FN_PARS PDP-Type
+
+ VAL_PTR = &parameter_tvb
+
+#.FN_BODY PDP-Type
guint8 pdp_type_org;
tvbuff_t *parameter_tvb;
-#.FN_PARS PDP-Type
- VAL_PTR = &parameter_tvb
+%(DEFAULT_BODY)s
-#.FN_FTR PDP-Type
if (!parameter_tvb)
return offset;
proto_tree_add_item(tree, hf_gsm_map_pdp_type_org, parameter_tvb, 0,1,FALSE);
@@ -343,29 +410,32 @@ ModificationRequestFor-CF-Info/noReplyConditionTime ext-noReplyConditionTime
default:
break;
}
-#.FN_HDR QoS-Subscribed
-
- tvbuff_t *parameter_tvb;
#.FN_PARS QoS-Subscribed
VAL_PTR = &parameter_tvb
-#.FN_FTR QoS-Subscribed
+#.FN_BODY QoS-Subscribed
+
+ tvbuff_t *parameter_tvb;
+
+
+%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
de_sm_qos(parameter_tvb, tree, 0, 3, NULL);
-#.FN_HDR Ext-QoS-Subscribed
-
- tvbuff_t *parameter_tvb;
-
#.FN_PARS Ext-QoS-Subscribed
VAL_PTR = &parameter_tvb
-#.FN_FTR Ext-QoS-Subscribed
+#.FN_BODY Ext-QoS-Subscribed
+
+ tvbuff_t *parameter_tvb;
+
+
+%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
diff --git a/asn1/gsmmap/packet-gsm_map-template.c b/asn1/gsmmap/packet-gsm_map-template.c
index 6ea9ebb01f..4579be8449 100644
--- a/asn1/gsmmap/packet-gsm_map-template.c
+++ b/asn1/gsmmap/packet-gsm_map-template.c
@@ -681,7 +681,7 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
offset=dissect_gsm_map_InterrogateSS_Res(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 15: /*authenticationFailureReport*/
- offset=dissect_gsm_map_AuthenticationFailureReportArg(FALSE, tvb, offset, pinfo, tree, -1);
+ offset=dissect_gsm_map_AuthenticationFailureReportRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 17: /*registerPassword*/
offset=dissect_gsm_map_NewPassword(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_ss_Code);
@@ -1074,7 +1074,7 @@ dissect_gsm_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
tap_queue_packet(gsm_map_tap, pinfo, &tap_rec);
}
-static const value_string ssCode_vals[] = {
+const value_string ssCode_vals[] = {
{ 0x00, "allSS - all SS" },
{ 0x10 ,"allLineIdentificationSS - all line identification SS" },
{ 0x11 ,"clip - calling line identification presentation" },
diff --git a/asn1/gsmmap/packet-gsm_map-template.h b/asn1/gsmmap/packet-gsm_map-template.h
index 5a2d55d86b..0b90edc827 100644
--- a/asn1/gsmmap/packet-gsm_map-template.h
+++ b/asn1/gsmmap/packet-gsm_map-template.h
@@ -38,6 +38,7 @@ typedef struct _gsm_map_tap_rec_t {
ETH_VAR_IMPORT const value_string gsm_map_opr_code_strings[];
char* unpack_digits(tvbuff_t *tvb, int offset);
+extern const value_string ssCode_vals[];
#include "packet-gsm_map-exp.h"
#endif /* PACKET_GSM_MAP_H */