forked from osmocom/wireshark
Use the new fn_par functions, fix of a bug and export functions used by gsm_ss.
svn path=/trunk/; revision=15203
This commit is contained in:
parent
92588a098f
commit
7789e73a99
|
@ -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
|
||||
|
|
|
@ -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
|
||||
guint8 pdp_type_org;
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
#.FN_PARS PDP-Type
|
||||
|
||||
VAL_PTR = ¶meter_tvb
|
||||
|
||||
#.FN_FTR PDP-Type
|
||||
#.FN_BODY PDP-Type
|
||||
guint8 pdp_type_org;
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
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;
|
||||
|
|
|
@ -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" },
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue