diff options
author | Anders Broman <anders.broman@ericsson.com> | 2010-01-07 20:27:38 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2010-01-07 20:27:38 +0000 |
commit | 4d0c391d5db3b3ced6623908f51086659ee1ecd2 (patch) | |
tree | 47dfc8103be783101a9d60057c37a69ee27b440c /epan/dissectors/packet-ansi_map.c | |
parent | 6defe828fcff1d303e262f7941ce31d89dc818e8 (diff) |
From Michael Lum:
Fixes for E911 mobile positioning capability and Handoff Back2.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4373
svn path=/trunk/; revision=31462
Diffstat (limited to 'epan/dissectors/packet-ansi_map.c')
-rw-r--r-- | epan/dissectors/packet-ansi_map.c | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/epan/dissectors/packet-ansi_map.c b/epan/dissectors/packet-ansi_map.c index 7b36843eb1..e8d944a464 100644 --- a/epan/dissectors/packet-ansi_map.c +++ b/epan/dissectors/packet-ansi_map.c @@ -526,6 +526,7 @@ static int hf_ansi_map_authenticationCapability = -1; /* AuthenticationCapabili static int hf_ansi_map_callingFeaturesIndicator = -1; /* CallingFeaturesIndicator */ static int hf_ansi_map_geographicAuthorization = -1; /* GeographicAuthorization */ static int hf_ansi_map_meidValidated = -1; /* MEIDValidated */ +static int hf_ansi_map_mobilePositionCapability = -1; /* MobilePositionCapability */ static int hf_ansi_map_originationIndicator = -1; /* OriginationIndicator */ static int hf_ansi_map_restrictionDigits = -1; /* RestrictionDigits */ static int hf_ansi_map_sms_OriginationRestrictions = -1; /* SMS_OriginationRestrictions */ @@ -606,7 +607,6 @@ static int hf_ansi_map_pSID_RSIDInformation = -1; /* PSID_RSIDInformation */ static int hf_ansi_map_positionRequestType = -1; /* PositionRequestType */ static int hf_ansi_map_lcsBillingID = -1; /* LCSBillingID */ static int hf_ansi_map_lcs_Client_ID = -1; /* LCS_Client_ID */ -static int hf_ansi_map_mobilePositionCapability = -1; /* MobilePositionCapability */ static int hf_ansi_map_dtxIndication = -1; /* DTXIndication */ static int hf_ansi_map_cdmaCodeChannel = -1; /* CDMACodeChannel */ static int hf_ansi_map_cdmaMobileCapabilities = -1; /* CDMAMobileCapabilities */ @@ -7789,7 +7789,7 @@ static const ber_sequence_t HandoffBack2_U_set[] = { { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark }, { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 }, { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList }, - { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList }, + { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList }, { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData }, { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes }, { &hf_ansi_map_dataKey , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey }, @@ -9585,6 +9585,16 @@ dissect_ansi_map_MEIDValidated(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int } + +static int +dissect_ansi_map_MobilePositionCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + static const value_string ansi_map_OriginationIndicator_vals[] = { { 0, "not-used" }, { 1, "prior-agreement" }, @@ -9738,6 +9748,7 @@ static const ber_sequence_t QualificationDirective_U_set[] = { { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount }, { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType }, { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber }, + { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability }, { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator }, { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers }, { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator }, @@ -9870,6 +9881,7 @@ static const ber_sequence_t QualificationRequestRes_U_set[] = { { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount }, { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType }, { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber }, + { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability }, { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator }, { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers }, { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator }, @@ -10333,6 +10345,7 @@ static const ber_sequence_t RegistrationNotificationRes_U_set[] = { { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount }, { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType }, { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber }, + { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability }, { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator }, { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers }, { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator }, @@ -13848,16 +13861,6 @@ dissect_ansi_map_LCS_Client_ID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int -dissect_ansi_map_MobilePositionCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - - -static int dissect_ansi_map_DTXIndication(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); @@ -15220,6 +15223,7 @@ static const ber_sequence_t QualificationRequest2Res_U_set[] = { { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount }, { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType }, { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber }, + { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability }, { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator }, { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers }, { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator }, @@ -17937,6 +17941,10 @@ void proto_register_ansi_map(void) { { "meidValidated", "ansi_map.meidValidated", FT_NONE, BASE_NONE, NULL, 0, "ansi_map.MEIDValidated", HFILL }}, + { &hf_ansi_map_mobilePositionCapability, + { "mobilePositionCapability", "ansi_map.mobilePositionCapability", + FT_BYTES, BASE_NONE, NULL, 0, + "ansi_map.MobilePositionCapability", HFILL }}, { &hf_ansi_map_originationIndicator, { "originationIndicator", "ansi_map.originationIndicator", FT_UINT32, BASE_DEC, VALS(ansi_map_OriginationIndicator_vals), 0, @@ -18257,10 +18265,6 @@ void proto_register_ansi_map(void) { { "lcs-Client-ID", "ansi_map.lcs_Client_ID", FT_BYTES, BASE_NONE, NULL, 0, "ansi_map.LCS_Client_ID", HFILL }}, - { &hf_ansi_map_mobilePositionCapability, - { "mobilePositionCapability", "ansi_map.mobilePositionCapability", - FT_BYTES, BASE_NONE, NULL, 0, - "ansi_map.MobilePositionCapability", HFILL }}, { &hf_ansi_map_dtxIndication, { "dtxIndication", "ansi_map.dtxIndication", FT_BYTES, BASE_NONE, NULL, 0, |