1.1 --- a/epoc32/include/networking/qos3gpp_subconparams.inl Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/networking/qos3gpp_subconparams.inl Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,486 @@
1.4 -qos3gpp_subconparams.inl
1.5 +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
1.6 +// All rights reserved.
1.7 +// This component and the accompanying materials are made available
1.8 +// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.9 +// which accompanies this distribution, and is available
1.10 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.11 +//
1.12 +// Initial Contributors:
1.13 +// Nokia Corporation - initial contribution.
1.14 +//
1.15 +// Contributors:
1.16 +//
1.17 +// Description:
1.18 +// Inline Functions file for the 3GPP SubConnection Extension Parameters
1.19 +//
1.20 +//
1.21 +
1.22 +
1.23 +
1.24 +/**
1.25 + @file
1.26 + @publishedAll
1.27 +*/
1.28 +
1.29 +
1.30 +
1.31 +#ifndef QOS3GPP_SUBCONPARAMS_INL
1.32 +#define QOS3GPP_SUBCONPARAMS_INL
1.33 +
1.34 +/**
1.35 +@param aFamily the sub-connection parameter to which the newly created object is to be added
1.36 +@param aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted)
1.37 +@return pointer to the created object
1.38 +*/
1.39 +CSubConQosR99ParamSet* CSubConQosR99ParamSet::NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType)
1.40 + {
1.41 + CSubConQosR99ParamSet* obj = NewL();
1.42 + CleanupStack::PushL(obj);
1.43 + aFamily.AddExtensionSetL(*obj, aType);
1.44 + CleanupStack::Pop(obj);
1.45 + return obj;
1.46 + }
1.47 +
1.48 +/**
1.49 +@return pointer to the created object
1.50 +*/
1.51 +CSubConQosR99ParamSet* CSubConQosR99ParamSet::NewL()
1.52 + {
1.53 + STypeId typeId(KSubCon3GPPExtParamsFactoryUid, KSubConQosR99ParamsType);
1.54 + return static_cast<CSubConQosR99ParamSet*>(CSubConParameterSet::NewL(typeId));
1.55 + }
1.56 +
1.57 +/**
1.58 +*/
1.59 +CSubConQosR99ParamSet::CSubConQosR99ParamSet()
1.60 + : CSubConExtensionParameterSet(),
1.61 + iTrafficClass(RPacketQoS::ETrafficClassUnspecified),
1.62 + iDeliveryOrder(RPacketQoS::EDeliveryOrderUnspecified),
1.63 + iDeliveryOfErroneusSdu(RPacketQoS::EErroneousSDUDeliveryUnspecified),
1.64 + iResidualBer(RPacketQoS::EBERUnspecified),
1.65 + iErrorRatio(RPacketQoS::ESDUErrorRatioUnspecified),
1.66 + iPriority(RPacketQoS::ETrafficPriorityUnspecified),
1.67 + iTransferDelay(0),
1.68 + iMaxSduSize(0),
1.69 + iMaxBitrateUplink(0),
1.70 + iMaxBitrateDownlink(0),
1.71 + iGuaBitrateUplink(0),
1.72 + iGuaBitrateDownlink(0)
1.73 + {
1.74 + }
1.75 +
1.76 +/** Identifies the current traffic class. Traffic class is; Converstional, Streaming, Interactive or Background.
1.77 +See 3GPP TS 23.107.
1.78 +@return the traffic class */
1.79 +RPacketQoS::TTrafficClass CSubConQosR99ParamSet::GetTrafficClass() const
1.80 + {
1.81 + return iTrafficClass;
1.82 + }
1.83 +
1.84 +/** Current delivery order. Indicates whether the bearer shall provide in-sequence SDU delivery or not.
1.85 +@return Current delivery order. */
1.86 +RPacketQoS::TDeliveryOrder CSubConQosR99ParamSet::GetDeliveryOrder() const
1.87 + {
1.88 + return iDeliveryOrder;
1.89 + }
1.90 +
1.91 +/** Current delivery of erroneous SDUs. Indicates whether SDUs detected as erroneous shall be delivered or discarded.
1.92 +@return Current delivery of erroneous SDUs. */
1.93 +RPacketQoS::TErroneousSDUDelivery CSubConQosR99ParamSet::GetErroneousSDUDelivery() const
1.94 + {
1.95 + return iDeliveryOfErroneusSdu;
1.96 + }
1.97 +
1.98 +/** Indicates the undetected bit error ratio in the delivered SDUs. If no error detection is
1.99 +requested, Residual bit error ratio indicates the bit error ratio in
1.100 +the delivered SDUs.
1.101 +@return the residual bit error ratio. */
1.102 +RPacketQoS::TBitErrorRatio CSubConQosR99ParamSet::GetResidualBitErrorRatio() const
1.103 + {
1.104 + return iResidualBer;
1.105 + }
1.106 +
1.107 +/** Indicates the fraction of SDUs lost or detected as erroneous.
1.108 +@return the SDU error ratio. */
1.109 +RPacketQoS::TSDUErrorRatio CSubConQosR99ParamSet::GetSDUErrorRatio() const
1.110 + {
1.111 + return iErrorRatio;
1.112 + }
1.113 +
1.114 +/** Current traffic handling priority. Specifies the relative importance for handling of all SDUs
1.115 +belonging to the UMTS bearer compared to the SDUs of other bearers. This is defined only for
1.116 +Interactive traffic class. See 3GPP TS 23.107
1.117 +@return the traffic handling priority. */
1.118 +RPacketQoS::TTrafficHandlingPriority CSubConQosR99ParamSet::GetTrafficHandlingPriority() const
1.119 + {
1.120 + return iPriority;
1.121 + }
1.122 +
1.123 +/** @return the transfer delay. Indicates maximum delay for 95th percentile of the distribution
1.124 +of delay for all delivered SDUs during the lifetime of a bearer service, where delay for an SDU
1.125 +is defined as the time from a request to transfer an SDU at one SAP to its delivery at the other
1.126 +SAP. */
1.127 +TInt CSubConQosR99ParamSet::GetTransferDelay() const
1.128 + {
1.129 + return iTransferDelay;
1.130 + }
1.131 +
1.132 +/** @return the maximum SDU size. */
1.133 +TInt CSubConQosR99ParamSet::GetMaxSduSize() const
1.134 + {
1.135 + return iMaxSduSize;
1.136 + }
1.137 +
1.138 +/** @return Current maximum bitrate for uplink direction. The traffic is conformant with Maximum
1.139 +bitrate as long as it follows a token bucket algorithm where token rate equals Maximum bitrate
1.140 +and bucket size equals Maximum SDU size.
1.141 +*/
1.142 +TInt CSubConQosR99ParamSet::GetMaxBitrateUplink() const
1.143 + {
1.144 + return iMaxBitrateUplink;
1.145 + }
1.146 +
1.147 +/** Getter function for the maximum downlink bit rate.
1.148 +@return the maximum downlink bit rate. */
1.149 +TInt CSubConQosR99ParamSet::GetMaxBitrateDownlink() const
1.150 + {
1.151 + return iMaxBitrateDownlink;
1.152 + }
1.153 +
1.154 +/** Getter function for the guaranteed uplink bit rate.
1.155 +@return the guaranteed uplink bit rate. */
1.156 +TInt CSubConQosR99ParamSet::GetGuaBitrateUplink() const
1.157 + {
1.158 + return iGuaBitrateUplink;
1.159 + }
1.160 +
1.161 +/** Getter function for the guaranteed downlink bit rate.
1.162 +@return the guaranteed downlink bit rate. */
1.163 +TInt CSubConQosR99ParamSet::GetGuaBitrateDownlink() const
1.164 + {
1.165 + return iGuaBitrateDownlink;
1.166 + }
1.167 +
1.168 +/** Sets the traffic class.
1.169 +@param aTrafficClass Value to which to set the traffic class. */
1.170 +void CSubConQosR99ParamSet::SetTrafficClass(RPacketQoS::TTrafficClass aTrafficClass)
1.171 + {
1.172 + iTrafficClass = aTrafficClass;
1.173 + }
1.174 +
1.175 +/** Sets the delivery order. Indicates whether in-sequence SDU delivery shall be provided or not.
1.176 +@param aDeliveryOrder Value to which to set the delivery order. */
1.177 +void CSubConQosR99ParamSet::SetDeliveryOrder(RPacketQoS::TDeliveryOrder aDeliveryOrder)
1.178 + {
1.179 + iDeliveryOrder = aDeliveryOrder;
1.180 + }
1.181 +
1.182 +/** Sets the handling of the delivery of erroneous SDUs
1.183 +@param aDeliveryOfErroneusSdu Value to which to set the dilvery of erroneous SDUs.
1.184 +Indicates whether SUDs detected as erroneous shall be delivered or discarded. */
1.185 +void CSubConQosR99ParamSet::SetErroneousSDUDelivery(RPacketQoS::TErroneousSDUDelivery aDeliveryOfErroneusSdu)
1.186 + {
1.187 + iDeliveryOfErroneusSdu = aDeliveryOfErroneusSdu;
1.188 + }
1.189 +
1.190 +/** Sets the residual bit error ratio. Indicates the undetected bit error ratio in the delivered SDUs.
1.191 +If no error detection is requested, Residual bit error ratio indicates the bit error ratio in the delivered SDUs.
1.192 +@param aResidualBer Value to which to set the residual bit error ratio. */
1.193 +void CSubConQosR99ParamSet::SetResidualBitErrorRatio(RPacketQoS::TBitErrorRatio aResidualBer)
1.194 + {
1.195 + iResidualBer = aResidualBer;
1.196 + }
1.197 +
1.198 +/** Sets the error ratio. Indicates the fraction of SDUs lost or detected as erroneous.
1.199 +SDU error ratio is defined only for conforming traffic.
1.200 +@param aErrorRatio Sets the error ratio. Indicates the fraction of SDUs lost or detected as erroneous.
1.201 +SDU error ratio is defined only for conforming traffic. */
1.202 +void CSubConQosR99ParamSet::SetSDUErrorRatio(RPacketQoS::TSDUErrorRatio aErrorRatio)
1.203 + {
1.204 + iErrorRatio = aErrorRatio;
1.205 + }
1.206 +
1.207 +/** Sets the traffic handling priority.
1.208 +@param aPriority Value to which to set the traffic handling priority. */
1.209 +void CSubConQosR99ParamSet::SetTrafficHandlingPriority(RPacketQoS::TTrafficHandlingPriority aPriority)
1.210 + {
1.211 + iPriority = aPriority;
1.212 + }
1.213 +
1.214 +/** Sets the transfer delay. Indicates maximum delay for 95th percentile of the distribution of delay for
1.215 +all delivered SDUs during the lifetime of a bearer service, where delay for an SDU is defined as the time
1.216 +from a request to transfer an SDU at one SAP to its delivery at the other SAP.
1.217 +@param aTransferDelay Value to which to set the transfer delay. */
1.218 +void CSubConQosR99ParamSet::SetTransferDelay(TInt aTransferDelay)
1.219 + {
1.220 + iTransferDelay = aTransferDelay;
1.221 + }
1.222 +
1.223 +/** Sets the maximum SDU size. Defines the maximum allowed SDU size.
1.224 +@param aMaxSduSize Value to which to set the maximum SDU size. */
1.225 +void CSubConQosR99ParamSet::SetMaxSduSize(TInt aMaxSduSize)
1.226 + {
1.227 + iMaxSduSize = aMaxSduSize;
1.228 + }
1.229 +
1.230 +/** Sets the maximum bitrate for uplink direction. The traffic is conformant with Maximum bitrate as
1.231 +long as it follows a token bucket algorithm where token rate equals Maximum bitrate and bucket size
1.232 +equals Maximum SDU size.
1.233 +@param aMaxBitrate Value to which to set the maximum bitrate for uplink direction.
1.234 +*/
1.235 +void CSubConQosR99ParamSet::SetMaxBitrateUplink(TInt aMaxBitrateUplink)
1.236 + {
1.237 + iMaxBitrateUplink = aMaxBitrateUplink;
1.238 + }
1.239 +
1.240 +/** Sets the maximum bitrate for downlink direction. The traffic is conformant with Maximum bitrate as
1.241 +long as it follows a token bucket algorithm where token rate equals Maximum bitrate and bucket size
1.242 +equals Maximum SDU size.
1.243 +@param aMaxBitrate Value to which to set the maximum bitrate for downlink direction.
1.244 +*/
1.245 +void CSubConQosR99ParamSet::SetMaxBitrateDownlink(TInt aMaxBitrateDownlink)
1.246 + {
1.247 + iMaxBitrateDownlink = aMaxBitrateDownlink;
1.248 + }
1.249 +
1.250 +/** Sets the guaranteed bitrate for uplink direction.
1.251 +@param aGuaBitrateUplink Value to which to set the guaranteed SDU size.
1.252 +*/
1.253 +void CSubConQosR99ParamSet::SetGuaBitrateUplink(TInt aGuaBitrateUplink)
1.254 + {
1.255 + iGuaBitrateUplink = aGuaBitrateUplink;
1.256 + }
1.257 +
1.258 +/** Sets the guaranteed bitrate for downlink direction.
1.259 +@param aGuaBitrateDownlink Value to which to set the guaranteed SDU size.
1.260 +*/
1.261 +void CSubConQosR99ParamSet::SetGuaBitrateDownlink(TInt aGuaBitrateDownlink)
1.262 + {
1.263 + iGuaBitrateDownlink = aGuaBitrateDownlink;
1.264 + }
1.265 +
1.266 +
1.267 +#ifdef SYMBIAN_NETWORKING_UMTSR5
1.268 +/**
1.269 +@param aFamily the sub-connection parameter set family to which the newly created object it to be added.
1.270 +@param aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted)
1.271 +@return pointer to the created object
1.272 +*/
1.273 +CSubConImsExtParamSet* CSubConImsExtParamSet::NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType)
1.274 + {
1.275 + CSubConImsExtParamSet* obj = NewL();
1.276 + CleanupStack::PushL(obj);
1.277 + aFamily.AddExtensionSetL(*obj, aType);
1.278 + CleanupStack::Pop(obj);
1.279 + return obj;
1.280 + }
1.281 +
1.282 +/**
1.283 +@return pointer to the created object
1.284 +*/
1.285 +CSubConImsExtParamSet* CSubConImsExtParamSet::NewL()
1.286 + {
1.287 + STypeId typeId(KSubCon3GPPExtParamsFactoryUid, KSubConImsExtParamsType);
1.288 + return static_cast<CSubConImsExtParamSet*>(CSubConParameterSet::NewL(typeId));
1.289 + }
1.290 +
1.291 +CSubConImsExtParamSet::CSubConImsExtParamSet()
1.292 + : iImsSignallingIndicator(EFalse)
1.293 + {
1.294 + }
1.295 +
1.296 +/** @return the IMS Signalling Indicator flag for 3GPP R5 dedicated signalling PDP contexts.
1.297 +*/
1.298 +TBool CSubConImsExtParamSet::GetImsSignallingIndicator() const
1.299 + {
1.300 + return iImsSignallingIndicator;
1.301 + }
1.302 +
1.303 +/** Sets the IMS Signalling Indicator flag for 3GPP R5 dedicated signalling PDP contexts.
1.304 +@param aImsSignallingIndicator Value to which to set the IMS signalling indicator. */
1.305 +void CSubConImsExtParamSet::SetImsSignallingIndicator(TBool aImsSignallingIndicator)
1.306 + {
1.307 + iImsSignallingIndicator = aImsSignallingIndicator;
1.308 + }
1.309 +
1.310 +/**
1.311 +@param aFamily the sub-connection parameter to which the newly created object is to be added
1.312 +@param aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted)
1.313 +@return pointer to the created object
1.314 +*/
1.315 +CSubConQosR5ParamSet* CSubConQosR5ParamSet::NewL(CSubConParameterFamily& aFamily,CSubConParameterFamily::TParameterSetType aType)
1.316 + {
1.317 + CSubConQosR5ParamSet* obj = NewL();
1.318 + CleanupStack::PushL(obj);
1.319 + aFamily.AddExtensionSetL(*obj, aType);
1.320 + CleanupStack::Pop(obj);
1.321 + return obj;
1.322 + }
1.323 +
1.324 +/**
1.325 +@return pointer to the created object
1.326 +*/
1.327 +CSubConQosR5ParamSet* CSubConQosR5ParamSet::NewL()
1.328 + {
1.329 + STypeId typeId(KSubCon3GPPExtParamsFactoryUid, KSubConQosR5ParamsType);
1.330 + return static_cast<CSubConQosR5ParamSet*>(CSubConParameterSet::NewL(typeId));
1.331 + }
1.332 +
1.333 +/**
1.334 +*/
1.335 +CSubConQosR5ParamSet::CSubConQosR5ParamSet()
1.336 + : iSrcStatsDesc(RPacketQoS::ESourceStatisticsDescriptorUnknown), iSignallingIndicator(EFalse)
1.337 + {
1.338 + }
1.339 +
1.340 +/** Gets the signalling nature of the SDU's. Signalling traffic can have different characteristics
1.341 +to other interactive traffic, eg higher priority, lower delay and increased peakiness. This attribute
1.342 +permits enhancing the Radio Access Network (RAN) operation accordingly. See 3GPP TS 23.107
1.343 +@return the signalling nature of the SDU's.
1.344 +*/
1.345 +TBool CSubConQosR5ParamSet::GetSignallingIndicator() const
1.346 + {
1.347 + return iSignallingIndicator;
1.348 + }
1.349 +
1.350 +/** Sets signalling nature of the SDU's. This attribute is additional to the other QoS
1.351 +attributes and does not over-ride them. Signalling traffic can have different characteristics
1.352 +to other interactive traffic, eg higher priority, lower delay and increased peakiness. This
1.353 +attribute permits enhancing the Radio Access Network (RAN) operation accordingly. An example use of
1.354 +the Signalling Indication is for IMS signalling traffic. See 3GPP TS 23.107
1.355 +@param aSignallingIndicator Value to which to set the signalling indicator. */
1.356 +void CSubConQosR5ParamSet::SetSignallingIndicator(TBool aSignallingIndicator)
1.357 + {
1.358 + iSignallingIndicator = aSignallingIndicator;
1.359 + }
1.360 +
1.361 +/** @return the source of the SDU's. */
1.362 +RPacketQoS::TSourceStatisticsDescriptor CSubConQosR5ParamSet::GetSourceStatisticsDescriptor() const
1.363 + {
1.364 + return iSrcStatsDesc;
1.365 + }
1.366 +
1.367 +/** Sets the source characteristic of the SDU's. Conversational speech has a well-known statistical
1.368 +behaviour (or the discontinuous transmission (DTX) factor). By being informed that the SDUs for a Radio
1.369 +Access Bearer (RAB) are generated by a speech source, Radio Access Network (RAN) may, based on experience,
1.370 +calculate a statistical multiplex gain for use in admission control on the radio and RAN Access interfaces.
1.371 +@param aSrcStatsDescType Value to which to set the source statistics indicator. */
1.372 +void CSubConQosR5ParamSet::SetSourceStatisticsDescriptor(RPacketQoS::TSourceStatisticsDescriptor aSrcStatsDescType)
1.373 + {
1.374 + iSrcStatsDesc = aSrcStatsDescType;
1.375 + }
1.376 +
1.377 +#endif
1.378 +// SYMBIAN_NETWORKING_UMTSR5
1.379 +
1.380 +/** the Media Component number as specified in 3GPP TS 29.207
1.381 +@return the media component number portion of the flow identifier
1.382 +*/
1.383 +TUint16 TFlowId::GetMediaComponentNumber() const
1.384 + {
1.385 + return iMediaComponentNumber;
1.386 + }
1.387 +
1.388 +/** the IP flow number as specified in 3GPP TS 29.207
1.389 +@return the IP flow portion of the flow identifier
1.390 +*/
1.391 +TUint16 TFlowId::GetIPFlowNumber() const
1.392 + {
1.393 + return iIPFlowNumber;
1.394 + }
1.395 +
1.396 +/** Sets the media component number portion of the flow identifier. The Media Component number is specified in 3GPP TS 29.207
1.397 +@param aMediaComponentNumber the media component portion of the flow identifier
1.398 +*/
1.399 +void TFlowId::SetMediaComponentNumber(TUint16 aMediaComponentNumber)
1.400 + {
1.401 + iMediaComponentNumber = aMediaComponentNumber;
1.402 + }
1.403 +
1.404 +/**
1.405 +@param the IP flow portion of the flow identifier.
1.406 +*/
1.407 +void TFlowId::SetIPFlowNumber(TUint16 aIPFlowNumber)
1.408 + {
1.409 + iIPFlowNumber = aIPFlowNumber;
1.410 + }
1.411 +
1.412 +
1.413 +//===========================
1.414 +// Implementation Extension class
1.415 +CSubConSBLPR5ExtensionParamSet::CSubConSBLPR5ExtensionParamSet()
1.416 + : CSubConExtensionParameterSet()
1.417 + {
1.418 + }
1.419 +
1.420 +CSubConSBLPR5ExtensionParamSet::~CSubConSBLPR5ExtensionParamSet()
1.421 + {
1.422 + iFlowIds.Close();
1.423 + }
1.424 +
1.425 +/**
1.426 +@param aFamily the sub-connection parameter set family that this extension parameter set will be added to.
1.427 +@param aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted)
1.428 +@return pointer to the created object
1.429 +*/
1.430 +CSubConSBLPR5ExtensionParamSet* CSubConSBLPR5ExtensionParamSet::NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType)
1.431 + {
1.432 + CSubConSBLPR5ExtensionParamSet* sblpExtn = NewL();
1.433 + CleanupStack::PushL(sblpExtn);
1.434 + aFamily.AddExtensionSetL(*sblpExtn, aType);
1.435 + CleanupStack::Pop(sblpExtn);
1.436 + return sblpExtn;
1.437 + }
1.438 +
1.439 +/**
1.440 +@return pointer to the created object
1.441 +*/
1.442 +CSubConSBLPR5ExtensionParamSet* CSubConSBLPR5ExtensionParamSet::NewL()
1.443 + {
1.444 + STypeId typeId (KSubCon3GPPExtParamsFactoryUid, KSubConnSBLPR5ExtensionParamsType);
1.445 + return static_cast<CSubConSBLPR5ExtensionParamSet*>(CSubConParameterSet::NewL(typeId));
1.446 + }
1.447 +
1.448 +/**
1.449 +@return the media authorisation token
1.450 +*/
1.451 +const TAuthToken& CSubConSBLPR5ExtensionParamSet::GetMAT() const
1.452 + {
1.453 + return iAuthToken;
1.454 + }
1.455 +
1.456 +/**
1.457 +@param aAuthToken sets the media authorisation token
1.458 +*/
1.459 +void CSubConSBLPR5ExtensionParamSet::SetMAT(const TAuthToken& aAuthToken)
1.460 + {
1.461 + iAuthToken = aAuthToken;
1.462 + }
1.463 +
1.464 +/**
1.465 +@return the number of flow indexes in this session
1.466 +*/
1.467 +TInt CSubConSBLPR5ExtensionParamSet::GetNumberOfFlowIds() const
1.468 + {
1.469 + return iFlowIds.Count();
1.470 + }
1.471 +
1.472 +/**
1.473 +@param aIndex the index of the flow identifier that will be returned.
1.474 +@return the flow identifier at the index given by aIndex.
1.475 +*/
1.476 +const TFlowId& CSubConSBLPR5ExtensionParamSet::GetFlowIdAt(TInt aIndex) const
1.477 + {
1.478 + return iFlowIds[aIndex];
1.479 + }
1.480 +
1.481 +/** adds a flow identifier to this session.
1.482 +@param aFlowId the flow indentifier to be added.
1.483 +*/
1.484 +void CSubConSBLPR5ExtensionParamSet::AddFlowIdL(const TFlowId & aFlowId)
1.485 + {
1.486 + iFlowIds.AppendL(aFlowId);
1.487 + }
1.488 +
1.489 +#endif
1.490 +// QOS3GPP_SUBCONPARAMS_INL