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:
Anders Broman 2005-08-03 20:51:54 +00:00
parent 92588a098f
commit 7789e73a99
4 changed files with 185 additions and 40 deletions

View File

@ -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

View File

@ -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
guint8 pdp_type_org;
tvbuff_t *parameter_tvb;
#.FN_PARS PDP-Type
VAL_PTR = &parameter_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 = &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;

View File

@ -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" },

View File

@ -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 */