gprscdr: Update to 3GPP TS 32.298 V15.7.0

Change-Id: Id67fd508619d63a5c6cbd5857551493b77c41019
Reviewed-on: https://code.wireshark.org/review/33848
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-07-05 01:10:49 +02:00 committed by Anders Broman
parent 6726196afd
commit d560f76401
3 changed files with 107 additions and 99 deletions

View File

@ -1,5 +1,5 @@
--
-- 3GPP TS 32.298 v15.5.1 (2018-12-26)
-- 3GPP TS 32.298 v15.7.0 (2019-06-12)
--
GPRSChargingDataTypes {itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) charging (5) gprsChargingDataTypes (2) asn1Module (0) version2 (1)}
DEFINITIONS IMPLICIT TAGS ::=
@ -901,7 +901,8 @@ ChangeCondition ::= ENUMERATED
userPlaneToUEChange (18), -- bearer modification. "Change of user plane to UE"
servingPLMNRateControlChange (19),
-- bearer modification "Serving PLMN Rate Control Change"
threeGPPPSDataOffStatusChange (20) -- "Change of 3GPP PS DataO ff Status"
threeGPPPSDataOffStatusChange (20), -- "Change of 3GPP PS DataO ff Status"
aPNRateControlChange (21) -- bearer modification. "APN Rate ControlChange
}
@ -913,29 +914,31 @@ ChangeOfCharCondition ::= SEQUENCE
-- chargingID used in PGW-CDR only when Charging per IP-CAN session is active
-- accessAvailabilityChangeReason and relatedChangeOfCharCondition applicable only in PGW-CDR
-- cPCIoTOptimisationIndicator is used in SGW-CDR only
-- aPNRateControl is valid for PGW-CDR only
--
{
qosRequested [1] QoSInformation OPTIONAL,
qosNegotiated [2] QoSInformation OPTIONAL,
dataVolumeGPRSUplink [3] DataVolumeGPRS OPTIONAL,
dataVolumeGPRSDownlink [4] DataVolumeGPRS OPTIONAL,
changeCondition [5] ChangeCondition,
changeTime [6] TimeStamp,
userLocationInformation [8] OCTET STRING OPTIONAL,
ePCQoSInformation [9] EPCQoSInformation OPTIONAL,
chargingID [10] ChargingID OPTIONAL,
presenceReportingAreaStatus [11] PresenceReportingAreaStatus OPTIONAL,
userCSGInformation [12] UserCSGInformation OPTIONAL,
diagnostics [13] Diagnostics OPTIONAL,
enhancedDiagnostics [14] EnhancedDiagnostics OPTIONAL,
rATType [15] RATType OPTIONAL,
accessAvailabilityChangeReason [16] AccessAvailabilityChangeReason OPTIONAL,
uWANUserLocationInformation [17] UWANUserLocationInfo OPTIONAL,
relatedChangeOfCharCondition [18] RelatedChangeOfCharCondition OPTIONAL,
cPCIoTEPSOptimisationIndicator [19] CPCIoTEPSOptimisationIndicator OPTIONAL,
servingPLMNRateControl [20] ServingPLMNRateControl OPTIONAL,
threeGPPPSDataOffStatus [21] ThreeGPPPSDataOffStatus OPTIONAL,
listOfPresenceReportingAreaInformation [22] SEQUENCE OF PresenceReportingAreaInfo OPTIONAL
qosRequested [1] QoSInformation OPTIONAL,
qosNegotiated [2] QoSInformation OPTIONAL,
dataVolumeGPRSUplink [3] DataVolumeGPRS OPTIONAL,
dataVolumeGPRSDownlink [4] DataVolumeGPRS OPTIONAL,
changeCondition [5] ChangeCondition,
changeTime [6] TimeStamp,
userLocationInformation [8] OCTET STRING OPTIONAL,
ePCQoSInformation [9] EPCQoSInformation OPTIONAL,
chargingID [10] ChargingID OPTIONAL,
presenceReportingAreaStatus [11] PresenceReportingAreaStatus OPTIONAL,
userCSGInformation [12] UserCSGInformation OPTIONAL,
diagnostics [13] Diagnostics OPTIONAL,
enhancedDiagnostics [14] EnhancedDiagnostics OPTIONAL,
rATType [15] RATType OPTIONAL,
accessAvailabilityChangeReason [16] AccessAvailabilityChangeReason OPTIONAL,
uWANUserLocationInformation [17] UWANUserLocationInfo OPTIONAL,
relatedChangeOfCharCondition [18] RelatedChangeOfCharCondition OPTIONAL,
cPCIoTEPSOptimisationIndicator [19] CPCIoTEPSOptimisationIndicator OPTIONAL,
servingPLMNRateControl [20] ServingPLMNRateControl OPTIONAL,
threeGPPPSDataOffStatus [21] ThreeGPPPSDataOffStatus OPTIONAL,
listOfPresenceReportingAreaInformation [22] SEQUENCE OF PresenceReportingAreaInfo OPTIONAL,
aPNRateControl [23] APNRateControl OPTIONAL
}
@ -1194,7 +1197,8 @@ PDPPDNTypeExtension ::= INTEGER
PresenceReportingAreaElementsList ::= OCTET STRING
--
-- See Presence-Reporting-Area-Elements-List AVP defined in TS 29.212 [220]
-- For EPC see Presence-Reporting-Area-Elements-List AVP defined in TS 29.212 [220]
-- For 5GC see PresenceInfo defined in TS 29.571 [249] excluding praId and presenceState
--
@ -1220,7 +1224,8 @@ PresenceReportingAreaStatus ::= ENUMERATED
{
insideArea (0),
outsideArea (1),
inactive (2)
inactive (2),
unknown (3)
}
@ -1426,8 +1431,8 @@ TrafficSteeringPolicyIDUplink ::= OCTET STRING
TWANUserLocationInfo ::= SEQUENCE
{
sSID [0] OCTET STRING, -- see format in IEEE Std 802.11-2012 [408]
bSSID [1] OCTET STRING OPTIONAL, -- see format in IEEE Std 802.11-2012 [408]
sSID [0] OCTET STRING, -- see format in IEEE Std 802.11-2012 [408]
bSSID [1] OCTET STRING OPTIONAL, -- see format in IEEE Std 802.11-2012 [408]
civicAddressInformation [2] CivicAddressInformation OPTIONAL,
wLANOperatorId [3] WLANOperatorId OPTIONAL,
logicalAccessID [4] OCTET STRING OPTIONAL
@ -1445,10 +1450,10 @@ UserCSGInformation ::= SEQUENCE
UWANUserLocationInfo ::= SEQUENCE
{
uELocalIPAddress [0] IPAddress,
uDPSourcePort [1] OCTET STRING (SIZE(2)) OPTIONAL,
sSID [2] OCTET STRING OPTIONAL, -- see format in IEEE Std 802.11-2012 [408]
bSSID [3] OCTET STRING OPTIONAL, -- see format in IEEE Std 802.11-2012 [408]
uELocalIPAddress [0] IPAddress,
uDPSourcePort [1] OCTET STRING (SIZE(2)) OPTIONAL,
sSID [2] OCTET STRING OPTIONAL, -- see format in IEEE Std 802.11-2012 [408]
bSSID [3] OCTET STRING OPTIONAL, -- see format in IEEE Std 802.11-2012 [408]
tCPSourcePort [4] OCTET STRING (SIZE(2)) OPTIONAL,
civicAddressInformation [5] CivicAddressInformation OPTIONAL,
wLANOperatorId [6] WLANOperatorId OPTIONAL,

View File

@ -1,4 +1,4 @@
-- 3GPP TS 32.298 v15.5.1 (2018-12-26)
-- 3GPP TS 32.298 v15.7.0 (2019-06-12)
GenericChargingDataTypes {itu-t (0) identified-organization (4) etsi(0) mobileDomain (0) charging (5) genericChargingDataTypes (0) asn1Module (0) version2 (1)}
DEFINITIONS IMPLICIT TAGS ::=

View File

@ -3164,6 +3164,7 @@ static const value_string gprscdr_ChangeCondition_vals[] = {
{ 18, "userPlaneToUEChange" },
{ 19, "servingPLMNRateControlChange" },
{ 20, "threeGPPPSDataOffStatusChange" },
{ 21, "aPNRateControlChange" },
{ 0, NULL }
};
@ -3247,6 +3248,7 @@ static const value_string gprscdr_PresenceReportingAreaStatus_vals[] = {
{ 0, "insideArea" },
{ 1, "outsideArea" },
{ 2, "inactive" },
{ 3, "unknown" },
{ 0, NULL }
};
@ -3471,6 +3473,73 @@ dissect_gprscdr_SEQUENCE_OF_PresenceReportingAreaInfo(gboolean implicit_tag _U_,
}
static const value_string gprscdr_AdditionalExceptionReports_vals[] = {
{ 0, "notAllowed" },
{ 1, "allowed" },
{ 0, NULL }
};
static int
dissect_gprscdr_AdditionalExceptionReports(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 value_string gprscdr_RateControlTimeUnit_vals[] = {
{ 0, "unrestricted" },
{ 1, "minute" },
{ 2, "hour" },
{ 3, "day" },
{ 4, "week" },
{ 0, NULL }
};
static int
dissect_gprscdr_RateControlTimeUnit(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 APNRateControlParameters_sequence[] = {
{ &hf_gprscdr_additionalExceptionReports, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AdditionalExceptionReports },
{ &hf_gprscdr_rateControlTimeUnit, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RateControlTimeUnit },
{ &hf_gprscdr_rateControlMaxRate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
{ &hf_gprscdr_rateControlMaxMessageSize, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DataVolumeGPRS },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_APNRateControlParameters(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,
APNRateControlParameters_sequence, hf_index, ett_gprscdr_APNRateControlParameters);
return offset;
}
static const ber_sequence_t APNRateControl_sequence[] = {
{ &hf_gprscdr_aPNRateControlUplink, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNRateControlParameters },
{ &hf_gprscdr_aPNRateControlDownlink, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNRateControlParameters },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_APNRateControl(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,
APNRateControl_sequence, hf_index, ett_gprscdr_APNRateControl);
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 },
@ -3493,6 +3562,7 @@ static const ber_sequence_t ChangeOfCharCondition_sequence[] = {
{ &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 },
{ &hf_gprscdr_aPNRateControl, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNRateControl },
{ NULL, 0, 0, 0, NULL }
};
@ -4252,73 +4322,6 @@ dissect_gprscdr_RelatedChangeOfServiceCondition(gboolean implicit_tag _U_, tvbuf
}
static const value_string gprscdr_AdditionalExceptionReports_vals[] = {
{ 0, "notAllowed" },
{ 1, "allowed" },
{ 0, NULL }
};
static int
dissect_gprscdr_AdditionalExceptionReports(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 value_string gprscdr_RateControlTimeUnit_vals[] = {
{ 0, "unrestricted" },
{ 1, "minute" },
{ 2, "hour" },
{ 3, "day" },
{ 4, "week" },
{ 0, NULL }
};
static int
dissect_gprscdr_RateControlTimeUnit(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 APNRateControlParameters_sequence[] = {
{ &hf_gprscdr_additionalExceptionReports, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_AdditionalExceptionReports },
{ &hf_gprscdr_rateControlTimeUnit, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RateControlTimeUnit },
{ &hf_gprscdr_rateControlMaxRate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_INTEGER },
{ &hf_gprscdr_rateControlMaxMessageSize, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_DataVolumeGPRS },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_APNRateControlParameters(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,
APNRateControlParameters_sequence, hf_index, ett_gprscdr_APNRateControlParameters);
return offset;
}
static const ber_sequence_t APNRateControl_sequence[] = {
{ &hf_gprscdr_aPNRateControlUplink, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNRateControlParameters },
{ &hf_gprscdr_aPNRateControlDownlink, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_APNRateControlParameters },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_APNRateControl(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,
APNRateControl_sequence, hf_index, ett_gprscdr_APNRateControl);
return offset;
}
static int
dissect_gprscdr_TrafficSteeringPolicyIDDownlink(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {