gprscdr: Update to 3GPP TS 32.298 V15.5.1

Change-Id: I753f87080273f6d959cd75f7082c70ce62753498
Reviewed-on: https://code.wireshark.org/review/31537
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
Joakim Karlsson 2019-01-14 13:38:35 +01:00 committed by Anders Broman
parent 34c3d0104f
commit 2fee9c9726
3 changed files with 104 additions and 38 deletions

View File

@ -1,7 +1,7 @@
--
-- 3GPP TS 32.298 v15.4.0 (2018-09-21)
-- 3GPP TS 32.298 v15.5.1 (2018-12-26)
--
GPRSChargingDataTypes {itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) charging (5) gprsChargingDataTypes (2) asn1Module (0) version1 (0)}
GPRSChargingDataTypes {itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) charging (5) gprsChargingDataTypes (2) asn1Module (0) version2 (1)}
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
@ -923,7 +923,9 @@ ChangeOfCharCondition ::= SEQUENCE
relatedChangeOfCharCondition [18] RelatedChangeOfCharCondition OPTIONAL,
cPCIoTEPSOptimisationIndicator [19] CPCIoTEPSOptimisationIndicator OPTIONAL,
servingPLMNRateControl [20] ServingPLMNRateControl OPTIONAL,
threeGPPPSDataOffStatus [21] ThreeGPPPSDataOffStatus OPTIONAL
threeGPPPSDataOffStatus [21] ThreeGPPPSDataOffStatus OPTIONAL,
listOfPresenceReportingAreaInformation [22] SEQUENCE OF PresenceReportingAreaInfo OPTIONAL
}
ChangeOfMBMSCondition ::= SEQUENCE
@ -981,7 +983,9 @@ ChangeOfServiceCondition ::= SEQUENCE
threeGPPPSDataOffStatus [37] ThreeGPPPSDataOffStatus OPTIONAL,
trafficSteeringPolicyIDDownlink [38] TrafficSteeringPolicyIDDownlink OPTIONAL,
trafficSteeringPolicyIDUplink [39] TrafficSteeringPolicyIDUplink OPTIONAL,
tWANUserLocationInformation [40] TWANUserLocationInfo OPTIONAL
tWANUserLocationInformation [40] TWANUserLocationInfo OPTIONAL,
listOfPresenceReportingAreaInformation [41] SEQUENCE OF PresenceReportingAreaInfo OPTIONAL
}
ChangeLocation ::= SEQUENCE
@ -1208,13 +1212,21 @@ PresenceReportingAreaInfo ::= SEQUENCE
{
presenceReportingAreaIdentifier [0] OCTET STRING,
presenceReportingAreaStatus [1] PresenceReportingAreaStatus OPTIONAL,
presenceReportingAreaElementsList[2] PresenceReportingAreaElementsList OPTIONAL
presenceReportingAreaElementsList[2] PresenceReportingAreaElementsList OPTIONAL,
presenceReportingAreaNode [3] PresenceReportingAreaNode OPTIONAL
}
PresenceReportingAreaNode ::= ENUMERATED
{
oCS (0),
pCRF (1),
oCSandPCRF (2)
}
PresenceReportingAreaStatus ::= ENUMERATED
{
insideArea (0),
outsideArea (1) ,
outsideArea (1),
inactive (2)
}

View File

@ -1,5 +1,5 @@
-- 3GPP TS 32.298 v15.4.0 (2018-09-21)
GenericChargingDataTypes {itu-t (0) identified-organization (4) etsi(0) mobileDomain (0) charging (5) genericChargingDataTypes (0) asn1Module (0) version1 (0)}
-- 3GPP TS 32.298 v15.5.1 (2018-12-26)
GenericChargingDataTypes {itu-t (0) identified-organization (4) etsi(0) mobileDomain (0) charging (5) genericChargingDataTypes (0) asn1Module (0) version2 (1)}
DEFINITIONS IMPLICIT TAGS ::=
@ -23,7 +23,7 @@ FROM MAP-ER-DataTypes { itu-t identified-organization (4) etsi (0) mobileDomain
ObjectInstance
FROM CMIP-1 {joint-iso-itu-t ms (9) cmip (1) modules (0) protocol (3)}
-- from Rec. X.2ab[304]
-- from Rec. X.711 [304]
-- WS localy defined
--ManagementExtension
@ -32,8 +32,8 @@ FROM CMIP-1 {joint-iso-itu-t ms (9) cmip (1) modules (0) protocol (3)}
AE-title
FROM ACSE-1 {joint-iso-itu-t association-control (2) modules (0) apdus (0) version1 (1) };
-- From Rec. X.2cd[306]. Note that the syntax of AE-title to be used is from
-- ITU-T Rec. X.227 / ISO 8650 corrigendum and not "ANY"
-- Note that the syntax of AE-title to be used is from
-- ITU-T Rec. X.227[306) / ISO 8650 corrigendum and not "ANY"
--
-- Generic Data Types
@ -657,11 +657,13 @@ aTCFRecord (91),
--
cPDTSCERecord (105),
cPDTSNNRecord (106), --
-- Record values 110 to 111 are SMS specific. The contents are defined in TS
-- Record values 110 to 113 are SMS specific. The contents are defined in TS
-- 32.274 [34]
--
sCDVTT4Record (110),
sCSMOT4Record (111),
iSMSMORecord (112),
iSMSMTRecord (113),
--
-- Record values 120 are Exposure Function API specific. The contents are defined in TS
-- 32.254 [14]

View File

@ -344,6 +344,8 @@ static int hf_gprscdr_userLocationInformation_09 = -1; /* T_userLocationInforma
static int hf_gprscdr_presenceReportingAreaStatus = -1; /* PresenceReportingAreaStatus */
static int hf_gprscdr_accessAvailabilityChangeReason = -1; /* AccessAvailabilityChangeReason */
static int hf_gprscdr_relatedChangeOfCharCondition = -1; /* RelatedChangeOfCharCondition */
static int hf_gprscdr_listOfPresenceReportingAreaInformation = -1; /* SEQUENCE_OF_PresenceReportingAreaInfo */
static int hf_gprscdr_listOfPresenceReportingAreaInformation_item = -1; /* PresenceReportingAreaInfo */
static int hf_gprscdr_dataVolumeMBMSUplink = -1; /* DataVolumeMBMS */
static int hf_gprscdr_dataVolumeMBMSDownlink = -1; /* DataVolumeMBMS */
static int hf_gprscdr_serviceConditionChange_01 = -1; /* ServiceConditionChange */
@ -386,6 +388,7 @@ static int hf_gprscdr_counterTimestamp = -1; /* TimeStamp */
static int hf_gprscdr_iPAddress = -1; /* IPAddress */
static int hf_gprscdr_presenceReportingAreaIdentifier = -1; /* OCTET_STRING */
static int hf_gprscdr_presenceReportingAreaElementsList = -1; /* PresenceReportingAreaElementsList */
static int hf_gprscdr_presenceReportingAreaNode = -1; /* PresenceReportingAreaNode */
static int hf_gprscdr_pSFreeFormatData = -1; /* FreeFormatData */
static int hf_gprscdr_pSFFDAppendIndicator = -1; /* FFDAppendIndicator */
static int hf_gprscdr_dataVolumeUplink = -1; /* DataVolumeGPRS */
@ -582,6 +585,7 @@ static gint ett_gprscdr_CAMELInformationMM = -1;
static gint ett_gprscdr_CAMELInformationPDP = -1;
static gint ett_gprscdr_CAMELInformationSMS = -1;
static gint ett_gprscdr_ChangeOfCharCondition = -1;
static gint ett_gprscdr_SEQUENCE_OF_PresenceReportingAreaInfo = -1;
static gint ett_gprscdr_ChangeOfMBMSCondition = -1;
static gint ett_gprscdr_ChangeOfServiceCondition = -1;
static gint ett_gprscdr_SEQUENCE_OF_ServiceSpecificInfo = -1;
@ -1612,6 +1616,8 @@ static const value_string gprscdr_RecordType_vals[] = {
{ 106, "cPDTSNNRecord" },
{ 110, "sCDVTT4Record" },
{ 111, "sCSMOT4Record" },
{ 112, "iSMSMORecord" },
{ 113, "iSMSMTRecord" },
{ 120, "eASCERecord" },
{ 200, "chargingFunctionRecord" },
{ 0, NULL }
@ -3401,6 +3407,63 @@ dissect_gprscdr_ServingPLMNRateControl(gboolean implicit_tag _U_, tvbuff_t *tvb
}
static int
dissect_gprscdr_PresenceReportingAreaElementsList(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 gprscdr_PresenceReportingAreaNode_vals[] = {
{ 0, "oCS" },
{ 1, "pCRF" },
{ 2, "oCSandPCRF" },
{ 0, NULL }
};
static int
dissect_gprscdr_PresenceReportingAreaNode(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_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
return offset;
}
static const ber_sequence_t PresenceReportingAreaInfo_sequence[] = {
{ &hf_gprscdr_presenceReportingAreaIdentifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_presenceReportingAreaStatus, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaStatus },
{ &hf_gprscdr_presenceReportingAreaElementsList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaElementsList },
{ &hf_gprscdr_presenceReportingAreaNode, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaNode },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_PresenceReportingAreaInfo(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_sequence(implicit_tag, actx, tree, tvb, offset,
PresenceReportingAreaInfo_sequence, hf_index, ett_gprscdr_PresenceReportingAreaInfo);
return offset;
}
static const ber_sequence_t SEQUENCE_OF_PresenceReportingAreaInfo_sequence_of[1] = {
{ &hf_gprscdr_listOfPresenceReportingAreaInformation_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gprscdr_PresenceReportingAreaInfo },
};
static int
dissect_gprscdr_SEQUENCE_OF_PresenceReportingAreaInfo(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_sequence_of(implicit_tag, actx, tree, tvb, offset,
SEQUENCE_OF_PresenceReportingAreaInfo_sequence_of, hf_index, ett_gprscdr_SEQUENCE_OF_PresenceReportingAreaInfo);
return offset;
}
static const ber_sequence_t ChangeOfCharCondition_sequence[] = {
{ &hf_gprscdr_qosRequested, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_QoSInformation },
{ &hf_gprscdr_qosNegotiated, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_QoSInformation },
@ -3422,6 +3485,7 @@ static const ber_sequence_t ChangeOfCharCondition_sequence[] = {
{ &hf_gprscdr_cPCIoTEPSOptimisationIndicator, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CPCIoTEPSOptimisationIndicator },
{ &hf_gprscdr_servingPLMNRateControl, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ServingPLMNRateControl },
{ &hf_gprscdr_threeGPPPSDataOffStatus, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ThreeGPPPSDataOffStatus },
{ &hf_gprscdr_listOfPresenceReportingAreaInformation, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_PresenceReportingAreaInfo },
{ NULL, 0, 0, 0, NULL }
};
@ -3884,32 +3948,6 @@ dissect_gprscdr_SEQUENCE_OF_ServingNodeType(gboolean implicit_tag _U_, tvbuff_t
static int
dissect_gprscdr_PresenceReportingAreaElementsList(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 ber_sequence_t PresenceReportingAreaInfo_sequence[] = {
{ &hf_gprscdr_presenceReportingAreaIdentifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_OCTET_STRING },
{ &hf_gprscdr_presenceReportingAreaStatus, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaStatus },
{ &hf_gprscdr_presenceReportingAreaElementsList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PresenceReportingAreaElementsList },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_PresenceReportingAreaInfo(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_sequence(implicit_tag, actx, tree, tvb, offset,
PresenceReportingAreaInfo_sequence, hf_index, ett_gprscdr_PresenceReportingAreaInfo);
return offset;
}
static int
dissect_gprscdr_T_lastUserLocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 191 "./asn1/gprscdr/gprscdr.cnf"
@ -4349,6 +4387,7 @@ static const ber_sequence_t ChangeOfServiceCondition_sequence[] = {
{ &hf_gprscdr_trafficSteeringPolicyIDDownlink, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TrafficSteeringPolicyIDDownlink },
{ &hf_gprscdr_trafficSteeringPolicyIDUplink, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TrafficSteeringPolicyIDUplink },
{ &hf_gprscdr_tWANUserLocationInformation, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_TWANUserLocationInfo },
{ &hf_gprscdr_listOfPresenceReportingAreaInformation, BER_CLASS_CON, 41, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_SEQUENCE_OF_PresenceReportingAreaInfo },
{ NULL, 0, 0, 0, NULL }
};
@ -6129,6 +6168,14 @@ proto_register_gprscdr(void)
{ "relatedChangeOfCharCondition", "gprscdr.relatedChangeOfCharCondition_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_listOfPresenceReportingAreaInformation,
{ "listOfPresenceReportingAreaInformation", "gprscdr.listOfPresenceReportingAreaInformation",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_PresenceReportingAreaInfo", HFILL }},
{ &hf_gprscdr_listOfPresenceReportingAreaInformation_item,
{ "PresenceReportingAreaInfo", "gprscdr.PresenceReportingAreaInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_dataVolumeMBMSUplink,
{ "dataVolumeMBMSUplink", "gprscdr.dataVolumeMBMSUplink",
FT_INT32, BASE_DEC, NULL, 0,
@ -6297,6 +6344,10 @@ proto_register_gprscdr(void)
{ "presenceReportingAreaElementsList", "gprscdr.presenceReportingAreaElementsList",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_presenceReportingAreaNode,
{ "presenceReportingAreaNode", "gprscdr.presenceReportingAreaNode",
FT_UINT32, BASE_DEC, VALS(gprscdr_PresenceReportingAreaNode_vals), 0,
NULL, HFILL }},
{ &hf_gprscdr_pSFreeFormatData,
{ "pSFreeFormatData", "gprscdr.pSFreeFormatData",
FT_BYTES, BASE_NONE, NULL, 0,
@ -6837,6 +6888,7 @@ proto_register_gprscdr(void)
&ett_gprscdr_CAMELInformationPDP,
&ett_gprscdr_CAMELInformationSMS,
&ett_gprscdr_ChangeOfCharCondition,
&ett_gprscdr_SEQUENCE_OF_PresenceReportingAreaInfo,
&ett_gprscdr_ChangeOfMBMSCondition,
&ett_gprscdr_ChangeOfServiceCondition,
&ett_gprscdr_SEQUENCE_OF_ServiceSpecificInfo,