diff options
Diffstat (limited to 'asn1')
-rw-r--r-- | asn1/gsmmap/gsm_map-exp.cnf | 74 | ||||
-rw-r--r-- | asn1/gsmmap/gsmmap.cnf | 144 | ||||
-rw-r--r-- | asn1/gsmmap/packet-gsm_map-template.c | 4 | ||||
-rw-r--r-- | asn1/gsmmap/packet-gsm_map-template.h | 1 |
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 = ¶meter_tvb + #.FN_BODY IMSI tvbuff_t *parameter_tvb; char *digit_str; - offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index, - ¶meter_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 = ¶meter_tvb + #.FN_BODY ServiceCentreAddress tvbuff_t *parameter_tvb; char *digit_str; - offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index, - ¶meter_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 = ¶meter_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, - ¶meter_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 = ¶meter_tvb + #.FN_BODY AddressString tvbuff_t *parameter_tvb; char *digit_str; - offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index, - ¶meter_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 = ¶meter_tvb + #.FN_BODY SS-Status tvbuff_t *parameter_tvb; guint8 octet; - offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index, - ¶meter_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 = ¶meter_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, - ¶meter_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 = ¶meter_tvb + +#.FN_BODY SignalInfo tvbuff_t *parameter_tvb; guint8 octet; guint8 length; tvbuff_t *next_tvb; - #.FN_PARS SignalInfo - VAL_PTR = ¶meter_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 = ¶meter_tvb + +#.FN_BODY LongSignalInfo tvbuff_t *parameter_tvb; guint8 octet; guint8 length; tvbuff_t *next_tvb; -#.FN_PARS LongSignalInfo - - VAL_PTR = ¶meter_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 = ¶meter_tvb + +#.FN_BODY PDP-Type guint8 pdp_type_org; tvbuff_t *parameter_tvb; -#.FN_PARS PDP-Type - VAL_PTR = ¶meter_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 = ¶meter_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 = ¶meter_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 */ |