H.2 SS and A-GNSS ASN.1 modules
34.123-33GPPPart 3: Abstract test suite (ATS)TSUser Equipment (UE) conformance specification
These asn.1 modules are used in both the TTCN-3 Positioning and Supplementary Services tests.
Figure H.2 shows the dependencies between the asn.1 modules.
Figure H.2: ASN.1 Dependencies
H.2.1 Encoding information
Even though the codec is out of scope of the present document there are aspects with impact on TTCN-3 implementation. SS ASN.1 types are grouped by applicable encoding rules in different modules to avoid circular references. Encoding rules are applied per module when the SS ASN.1 is imported by other modules.
Table H.2.1: Encoding rules applied to the SS ASN.1 modules
ASN.1 modules |
Encoding Rule |
TCAP-Definitions-Para |
DIRECT: no additional encoding rules required |
TCAP-Definitions, LCS-Definitions-Arguments, SS-Definitions-Arguments, Common-Definitions |
BER_Definite: Basic Encoding Rule referred to 3GPP TS 24.080 [13], clause 3.6.1 and 3GPP TS 29.002 [14], clause 17.1.1: – The definite short form is used for length encoding, if data length is less than 128 octets. – The definite long form is used for length encoding, if data length is greater than 127 octets, the minimum number of octets shall be used to code the length field. |
H.2.2 TCAP-Definitions ASN.1 module
TCAP-Definitions DEFINITIONS ::=
BEGIN
IMPORTS
InvokeArgument,
ReturnRes,
ReturnErrPara,
Lcs-MOLR-ErrPara
FROM TCAP-Definitions-Para;
–************************************************
— From ITU-T Rec. X.880 (July/1994)
–************************************************
Code ::= CHOICE {
local INTEGER,
global OBJECT IDENTIFIER
}
–********************************************************
— Derived from ITU-T Rec. Q.773 (June/1997)
–********************************************************
Component ::= CHOICE {
invoke [1] IMPLICIT Invoke,
returnResultLast [2] IMPLICIT ReturnResult,
returnError [3] IMPLICIT ReturnError,
reject [4] IMPLICIT Reject
}
— The used part of Q.773 is almost the same as the component portion of TC messages. The only
— difference is that returnResultNotLast is not used. (see 24.080, clause 3.6.1)
Invoke ::= SEQUENCE {
invokeID InvokeIdType,
linkedID [0] IMPLICIT InvokeIdType OPTIONAL,
operationCode Code,
parameter InvokeArgument OPTIONAL
}
ReturnResult ::= SEQUENCE {
invokeID InvokeIdType,
result SEQUENCE {
operationCode Code,
parameter ReturnRes
} OPTIONAL
}
ReturnError ::= SEQUENCE {
invokeID InvokeIdType,
errorCode Code,
parameter ReturnErrPara OPTIONAL
}
Reject ::= SEQUENCE {
invokeID CHOICE {
derivable InvokeIdType,
not-derivable NULL },
problem CHOICE {
generalProblem [0] IMPLICIT GeneralProblem,
invokeProblem [1] IMPLICIT InvokeProblem,
returnResultProblem [2] IMPLICIT ReturnResultProblem,
returnErrorProblem [3] IMPLICIT ReturnErrorProblem }
}
InvokeIdType ::= INTEGER (-128..127)
GeneralProblem ::= INTEGER {
unrecognizedComponent (0),
mistypedComponent (1),
badlyStructuredComponent (2) }
InvokeProblem ::= INTEGER {duplicateInvokeID (0),
unrecognizedOperation (1),
mistypedParameter (2),
resourceLimitation (3),
initiatingRelease (4),
unrecognizedLinkedID (5),
linkedResponseUnexpected (6),
unexpectedLinkedOperation (7) }
ReturnResultProblem ::= INTEGER {unrecognizedInvokeID (0),
returnResultUnexpected (1),
mistypedParameter (2) }
ReturnErrorProblem ::= INTEGER {unrecognizedInvokeID (0),
returnErrorUnexpected (1),
unrecognizedError (2),
unexpectedError (3),
mistypedParameter (4) }
END
H.2.3 TCAP-Definitions-Para ASN.1 module
TCAP-Definitions-Para DEFINITIONS ::=
BEGIN
IMPORTS
LocationNotificationArg,
LCS-MOLRArg,
LocationNotificationRes,
LCS-MOLRRes,
SystemFailureParam,
UnexpectedDataParam,
DataMissingParam,
FacilityNotSupParam,
SS-SubscriptionViolationParam,
PositionMethodFailure-Param
FROM LCS-Definitions-Arguments
RegisterSS-Arg,
InterrogateSS-Res,
NotifySS-Arg,
SS-Info,
SS-ForBS-Code,
CallBarredParam,
BearerServNotProvParam,
TeleservNotProvParam,
IllegalSS-OperationParam,
IllegalSubscriberParam,
IllegalEquipmentParam,
SS-IncompatibilityCause,
SS-ErrorStatus,
SS-NotAvailable,
SS-Code,
GuidanceInfo,
SS-UserData,
USSD-Arg,
USSD-Res,
Password,
PW-RegistrationFailureCause,
AbsentSubscriberParam
FROM SS-Definitions-Arguments;
–*****************************************************
–Derived from SS-DataTypes in 3GPP TS 24.080
–*****************************************************
InvokeArgument ::= CHOICE {
registerSS [0] EXPLICIT RegisterSS-Arg,
eraseSS [1] EXPLICIT SS-ForBS-Code,
activateSS [2] EXPLICIT SS-ForBS-Code,
deactivateSS [3] EXPLICIT SS-ForBS-Code,
interrogateSS [4] EXPLICIT SS-ForBS-Code,
registerPassword [5] EXPLICIT SS-Code,
getPassword [6] EXPLICIT GuidanceInfo,
processUnstructuredSS-Data [7] EXPLICIT SS-UserData,
processUnstructuredSS-Request [8] EXPLICIT USSD-Arg,
unstructuredSS-Request [9] EXPLICIT USSD-Arg,
unstructuredSS-Notify [10] EXPLICIT USSD-Arg,
notifySS [11] EXPLICIT NotifySS-Arg,
buildMPTY [12] EXPLICIT NULL, — EXPLICIT,
holdMPTY [13] EXPLICIT NULL, — EXPLICIT,
retrieveMPTY [14] EXPLICIT NULL, — EXPLICIT,
splitMPTY [15] EXPLICIT NULL, — EXPLICIT,
explicitCT [16] EXPLICIT NULL, — EXPLICIT,
lcsNotification [17] EXPLICIT LocationNotificationArg,
lcs-MOLR [18] EXPLICIT LCS-MOLRArg
}
ReturnRes ::= CHOICE {
registerSSRes [0] EXPLICIT SS-Info,
eraseSS [1] EXPLICIT SS-Info,
activateSS [2] EXPLICIT SS-Info,
deactivateSS [3] EXPLICIT SS-Info,
interrogateSSRes [4] EXPLICIT InterrogateSS-Res,
registerPassword [5] EXPLICIT Password,
getPassword [6] EXPLICIT Password,
processUnstructuredSS-Data [7] EXPLICIT SS-UserData,
processUnstructuredSS-Request [8] EXPLICIT USSD-Res,
unstructuredSS-Request [9] EXPLICIT USSD-Res,
unstructuredSS-Notify [10] EXPLICIT NULL, — EXPLICIT,
notifySS [11] EXPLICIT NULL, — EXPLICIT,
buildMPTY [12] EXPLICIT NULL, — EXPLICIT,
holdMPTY [13] EXPLICIT NULL, — EXPLICIT,
retrieveMPTY [14] EXPLICIT NULL, — EXPLICIT,
splitMPTY [15] EXPLICIT NULL, — EXPLICIT,
explicitCT [16] EXPLICIT NULL, — EXPLICIT,
lcsNotifficationRes [17] EXPLICIT LocationNotificationRes,
lcsMOLRRes [18] EXPLICIT LCS-MOLRRes
}
ReturnErrPara ::= CHOICE {
registerSSRes [0] EXPLICIT RegisterSSErrPara,
eraseSS [1] EXPLICIT EraseSSErrPara,
activateSS [2] EXPLICIT ActivateSSErrPara,
deactivateSS [3] EXPLICIT ActivateSSErrPara,
interrogateSSRes [4] EXPLICIT InterrogateSSErrPara,
registerPassword [5] EXPLICIT RegisterPasswordErrPara,
getPassword [6] EXPLICIT NULL,
processUnstructuredSS-Data [7] EXPLICIT DataErrPara,
processUnstructuredSS-Request [8] EXPLICIT ProcessUSSReqErrPara,
unstructuredSS-Request [9] EXPLICIT USSDErrPara,
unstructuredSS-Notify [10] EXPLICIT USSDErrPara,
notifySS [11] EXPLICIT NULL,
buildMPTY [12] EXPLICIT BuildMPTYErrPara,
holdMPTY [13] EXPLICIT MPTYErrPara,
retrieveMPTY [14] EXPLICIT MPTYErrPara,
splitMPTY [15] EXPLICIT MPTYErrPara,
explicitCT [16] EXPLICIT ExplicitCTErrPara,
lcsNotifficationErrPara [17] EXPLICIT DataErrPara,
lcs-MOLR-ResErrPara [18] EXPLICIT Lcs-MOLR-ErrPara
}
DataErrPara ::= CHOICE {
systemFailure [0] EXPLICIT SystemFailureParam,
unexpectedDataValue [1] EXPLICIT UnexpectedDataParam
}
Lcs-MOLR-ErrPara ::= CHOICE {
systemFailure [0] EXPLICIT SystemFailureParam,
unexpectedDataValue [1] EXPLICIT UnexpectedDataParam,
dataMissing [2] EXPLICIT DataMissingParam,
facilityNotSupported [3] EXPLICIT FacilityNotSupParam,
ss-SubscriptionViolation [4] EXPLICIT SS-SubscriptionViolationParam,
positionMethodFailure [5] EXPLICIT PositionMethodFailure-Param,
…
}
RegisterSSErrPara ::= CHOICE {
systemFailure [0] EXPLICIT SystemFailureParam,
unexpectedDataValue [1] EXPLICIT UnexpectedDataParam,
dataMissing [2] EXPLICIT DataMissingParam,
bearerServiceNotProvisioned [3] EXPLICIT BearerServNotProvParam,
teleServiceNotProvisioned [4] EXPLICIT TeleservNotProvParam,
callBarred [5] EXPLICIT CallBarredParam,
illegalSSOperation [6] EXPLICIT IllegalSS-OperationParam,
ss-ErrorStatus [7] EXPLICIT SS-ErrorStatus,
ss-Incompatibility [8] EXPLICIT SS-IncompatibilityCause,
…
}
EraseSSErrPara ::= CHOICE {
systemFailure [0] EXPLICIT SystemFailureParam,
dataMissing [1] EXPLICIT DataMissingParam,
unexpectedDataValue [2] EXPLICIT UnexpectedDataParam,
bearerServiceNotProvisioned [3] EXPLICIT BearerServNotProvParam,
teleServiceNotProvisioned [4] EXPLICIT TeleservNotProvParam,
callBarred [5] EXPLICIT CallBarredParam,
illegalSSOperation [6] EXPLICIT IllegalSS-OperationParam,
ss-ErrorStatus [7] EXPLICIT SS-ErrorStatus,
…
}
InterrogateSSErrPara ::= CHOICE {
systemFailure [0] EXPLICIT SystemFailureParam,
unexpectedDataValue [1] EXPLICIT UnexpectedDataParam,
dataMissing [2] EXPLICIT DataMissingParam,
bearerServiceNotProvisioned [3] EXPLICIT BearerServNotProvParam,
teleServiceNotProvisioned [4] EXPLICIT TeleservNotProvParam,
callBarred [5] EXPLICIT CallBarredParam,
illegalSSOperation [6] EXPLICIT IllegalSS-OperationParam,
ss-NotAvailable [7] EXPLICIT SS-NotAvailable,
…
}
ActivateSSErrPara ::= CHOICE {
systemFailure [0] EXPLICIT SystemFailureParam,
dataMissing [1] EXPLICIT DataMissingParam,
unexpectedDataValue [2] EXPLICIT UnexpectedDataParam,
bearerServiceNotProvisioned [3] EXPLICIT BearerServNotProvParam,
teleServiceNotProvisioned [4] EXPLICIT TeleservNotProvParam,
callBarred [5] EXPLICIT CallBarredParam,
illegalSSOperation [6] EXPLICIT IllegalSS-OperationParam,
ss-ErrorStatus [7] EXPLICIT SS-ErrorStatus,
ss-SubscriptionViolation [8] EXPLICIT SS-SubscriptionViolationParam,
negativePW-Check [9] EXPLICIT NULL, — EXPLICIT,
numberOfPW-AttemptsViolation [10] EXPLICIT NULL, — EXPLICIT,
…
}
RegisterPasswordErrPara ::= CHOICE {
systemFailure [0] EXPLICIT SystemFailureParam,
dataMissing [1] EXPLICIT DataMissingParam,
unexpectedDataValue [2] EXPLICIT UnexpectedDataParam,
callBarred [3] EXPLICIT CallBarredParam,
ss-SubscriptionViolation [4] EXPLICIT SS-SubscriptionViolationParam,
pw-RegistrationFailure [5] EXPLICIT PW-RegistrationFailureCause,
negativePW-Check [6] EXPLICIT NULL, — EXPLICIT,
numberOfPW-AttemptsViolation [7] EXPLICIT NULL, — EXPLICIT,
…
}
ProcessUSSReqErrPara ::= CHOICE {
systemFailure [0] EXPLICIT SystemFailureParam,
dataMissing [1] EXPLICIT DataMissingParam,
unexpectedDataValue [2] EXPLICIT UnexpectedDataParam,
unknownAlphabet [3] EXPLICIT NULL, — EXPLICIT,
callBarred [4] EXPLICIT CallBarredParam,
…
}
USSDErrPara ::= CHOICE {
systemFailure [0] EXPLICIT SystemFailureParam,
dataMissing [2] EXPLICIT DataMissingParam,
unexpectedDataValue [1] EXPLICIT UnexpectedDataParam,
absentSubscriber [3] EXPLICIT AbsentSubscriberParam,
illegalSubscriber [4] EXPLICIT IllegalSubscriberParam,
illegalEquipment [5] EXPLICIT IllegalEquipmentParam,
unknownAlphabet [6] EXPLICIT NULL, — EXPLICIT,
ussd-Busy [7] EXPLICIT NULL, — EXPLICIT,
…
}
BuildMPTYErrPara ::= CHOICE {
illegalSSOperation [0] EXPLICIT IllegalSS-OperationParam,
ss-ErrorStatus [1] EXPLICIT SS-ErrorStatus,
ss-NotAvailable [2] EXPLICIT SS-NotAvailable,
ss-Incompatibility [3] EXPLICIT SS-IncompatibilityCause,
systemFailure [4] EXPLICIT SystemFailureParam,
resourcesNotAvailable [5] NULL, — EXPLICIT,
maxNumberOfMPTY-ParticipantsExceeded [6] EXPLICIT NULL, — EXPLICIT,
…
}
MPTYErrPara ::= CHOICE {
illegalSSOperation [0] EXPLICIT IllegalSS-OperationParam,
ss-ErrorStatus [1] EXPLICIT SS-ErrorStatus,
ss-Incompatibility [2] EXPLICIT SS-IncompatibilityCause,
facilityNotSupported [3] EXPLICIT FacilityNotSupParam,
systemFailure [4] EXPLICIT SystemFailureParam,
…
}
ExplicitCTErrPara ::= CHOICE {
illegalSSOperation [0] EXPLICIT IllegalSS-OperationParam,
ss-ErrorStatus [1] EXPLICIT SS-ErrorStatus,
ss-NotAvailable [2] EXPLICIT SS-NotAvailable,
ss-Incompatibility [3] EXPLICIT SS-IncompatibilityCause,
facilityNotSupported [4] EXPLICIT FacilityNotSupParam,
systemFailure [5] EXPLICIT SystemFailureParam,
resourcesNotAvailable [6] NULL, — EXPLICIT,
callBarred [7] EXPLICIT CallBarredParam,
…
}
END
H.2.4 LCS-Definitions-Arguments ASN.1 module
LCS-Definitions-Arguments DEFINITIONS ::=
BEGIN
IMPORTS
AddressString,
maxAddressLength,
ExtensionContainer,
PrivateExtensionList,
PrivateExtension,
maxNumOfPrivateExtensions,
PCS-Extensions,
USSD-DataCodingScheme,
USSD-String,
maxUSSD-StringLength,
ISDN-AddressString
FROM Common-Definitions-Arguments;
–*****************************************************
–Derived from SS-DataTypes in 3GPP TS 24.080
–*****************************************************
LocationNotificationArg ::= SEQUENCE {
notificationType [0] IMPLICIT NotificationToMSUser,
locationType [1] IMPLICIT LocationType,
lcsClientExternalID [2] IMPLICIT LCSClientExternalID OPTIONAL,
lcsClientName [3] IMPLICIT LCSClientName OPTIONAL,
…,
lcsRequestorID [4] IMPLICIT LCSRequestorID OPTIONAL,
lcsCodeword [5] IMPLICIT LCSCodeword OPTIONAL,
lcsServiceTypeID [6] IMPLICIT LCSServiceTypeID OPTIONAL
}
— The notificationType may only be set to notifyLocationAllowed,
— notifyAndVerify-LocationAllowedIfNoResponse,
— or notifyAndVerify-LocationNotAllowedIfNoResponse.
— The locationEstimateType field of the locationType may only be set to
— currentLocation, currentOrLastKnownLocation,
— notificationVerificationOnly, or activateDeferredLocation.
— The deferredLocationEventType field of the locationType may only be set to
— enteringIntoArea, and/or leavingFromArea, and/or beingInsideArea,
— and/or periodicLDR.
— For LCS location notification of MT-LR for current location, the
— locationEstimateType field of the locationType shall be set to currentLocation.
— For LCS location notification of MT-LR for current or last known location, the
— locationEstimateType field of the locationType shall be set to currentOrLastKnownLocation.
— For the LCS location notification for the LDR of MS available event,
— the locationEstimateType field of the locationType shall be set to currentLocation.
— For LCS location notification for the LDR of change of area event,
— the locationEstimateType field of the locationType shall be set to
— activateDeferredLocation, and the deferredLocationEventType shall be
— set to enteringIntoArea, and/or leavingFromArea, and/or beingInsideArea.
— For the post positioning LCS location notification, the locationEstimateType
— field of the locationType shall be set to notificationVerificationOnly.
— For LCS location notification for the LDR of periodic location event,
— the locationEstimateType field of the locationType shall be set to
— activateDeferredLocation, and the
— deferredLocationEventType shall be set to periodicLDR.
— exception handling:
— At reception of an unrecognised notificationType value the receiver shall reject the
— operation with a return error cause of unexpected data value.
— At reception of an unrecognised locationType value the receiver shall reject the
— operation with a return error cause of unexpected data value.
— At reception of an unallowed notificationType value the receiver shall either ignore the
— received operation or reject the operation with a return error cause of unexpected
— data value.
— At reception of an unallowed locationType value the receiver shall either ignore the
— received operation or reject the operation with a return error cause of unexpected
— data value.
LocationNotificationRes ::= SEQUENCE {
verificationResponse [0] IMPLICIT VerificationResponse OPTIONAL,
… }
VerificationResponse::= ENUMERATED {
permissionDenied (0),
permissionGranted (1),
…
}
— exception handling:
— an unrecognized value shall be treated the same as value 0 (permissionDenied)
LCS-MOLRArg ::= SEQUENCE {
molr-Type [0] IMPLICIT MOLR-Type,
locationMethod [1] IMPLICIT LocationMethod OPTIONAL,
lcs-QoS [2] IMPLICIT LCS-QoS OPTIONAL,
lcsClientExternalID [3] IMPLICIT LCSClientExternalID OPTIONAL,
mlc-Number [4] IMPLICIT ISDN-AddressString OPTIONAL,
gpsAssistanceData [5] IMPLICIT GPSAssistanceData OPTIONAL,
…,
supportedGADShapes [6] IMPLICIT SupportedGADShapes OPTIONAL,
lcsServiceTypeID [7] IMPLICIT LCSServiceTypeID OPTIONAL,
ageOfLocationInfo [8] IMPLICIT AgeOfLocationInformation OPTIONAL,
locationType [9] IMPLICIT LocationType OPTIONAL,
pseudonymIndicator [10] IMPLICIT NULL OPTIONAL,
h-gmlc-address [11] IMPLICIT GSN-Address OPTIONAL,
locationEstimate [12] IMPLICIT Ext-GeographicalInformation OPTIONAL,
velocityEstimate [13] IMPLICIT VelocityEstimate-AGPS OPTIONAL,
referenceNumber [14] IMPLICIT LCS-ReferenceNumber OPTIONAL,
periodicLDRInfo [15] IMPLICIT PeriodicLDRInfo OPTIONAL,
locationUpdateRequest [16] IMPLICIT NULL OPTIONAL,
sequenceNumber [17] IMPLICIT SequenceNumber OPTIONAL,
terminationCause [18] IMPLICIT TerminationCause OPTIONAL,
mo-lrShortCircuit [19] IMPLICIT NULL OPTIONAL,
ganssAssistanceData [20] IMPLICIT GANSSAssistanceData OPTIONAL,
multiplePositioningProtocolPDUs [21] IMPLICIT MultiplePositioningProtocolPDUs OPTIONAL
}
— The parameter locationMethod shall be included if and only if the
— molr-Type is set to value deCipheringKeys or assistanceData.
— The parameter gpsAssistanceData shall be included if and only if the
— molr-Type is set to value assistanceData and
— locationMethod is set to value assistedGPS or assistedGPSandGANSS.
— The parameter ganssAssistanceData shall be included if and only if the molr-Type is set to value
— assistanceData and locationMethod is set to value assistedGANSS or assistedGPSandGANSS.
— supportedGADShapes shall not be included for deferred MO-LR initiation or deferred MO-LR or MT-LR
— responses.
— multiplePositioningProtocolPDUs may only be included for E-UTRAN access.
— locationMethod shall not be included for E-UTRAN access.
— gpsAssistanceData shall not be included for E-UTRAN access.
— h-gmlc-address shall not be included for E-UTRAN access.
— locationEstimate shall not be included for E-UTRAN access.
— velocityEstimate shall not be included for E-UTRAN access.
— referenceNumber shall not be included for E-UTRAN access.
— periodicLDRInfo shall not be included for E-UTRAN access.
— locationUpdateRequest shall not be included for E-UTRAN access.
— sequenceNumber shall not be included for E-UTRAN access.
— terminationCause shall not be included for E-UTRAN access.
— mo-lrShortCircuit shall not be included for E-UTRAN access.
— ganssAssistanceData shall not be included for E-UTRAN access.
MOLR-Type ::= ENUMERATED {
locationEstimate (0),
assistanceData (1),
deCipheringKeys (2),
…,
deferredMo-lrTTTPInitiation (3),
deferredMo-lrSelfLocationInitiation (4),
deferredMt-lrOrmo-lrTTTPLocationEstimate (5),
deferredMt-lrOrmo-lrCancellation (6)
}
— exception handling:
— an unrecognized value shall be rejected by the receiver with a return error cause of
— unexpected data value.
LocationMethod ::= ENUMERATED {
msBasedEOTD (0),
msAssistedEOTD (1),
assistedGPS (2),
…,
msBasedOTDOA (3) ,
assistedGANSS (4),
assistedGPSandGANSS (5)
}
— exception handling:
— When this parameter is received with value msBasedEOTD or msAssistedEOTD and the MS
— is camped on an UMTS Service Area then the receiver shall reject it
— with a return error cause of unexpected data value.
— When this parameter is received with value msBasedOTDOA and the MS
— is camped on a GSM Cell then the receiver shall reject it with
— a return error cause of unexpected data value.
— an unrecognized value shall be rejected by the receiver with
— a return error cause of unexpected data value.
GPSAssistanceData ::= OCTET STRING (SIZE (1..38))
— Octets 1 to 38 are coded in the same way as the octets 3 to 7+2n
— of Requested GPS Data IE in 3GPP TS 49.031.
GANSSAssistanceData::= OCTET STRING (SIZE (1..40))
— Octets 1 to 40 are coded in the same way as the octets 3 to 9+2n of Requested GANSS Data IE
— in 3GPP TS 49.031 [14] .
TerminationCause ::= ENUMERATED {
subscriberTermination (0),
uETermination (1),
… }
MultiplePositioningProtocolPDUs ::= SEQUENCE (SIZE (1..maxNumLPPMsg)) OF PositioningProtocolPDU
PositioningProtocolPDU ::= OCTET STRING
— PositioningProtocolPDU contains a LPP message defined in 3GPP TS 36.355 [17].
maxNumLPPMsg INTEGER ::= 3
LCS-MOLRRes ::= SEQUENCE {
locationEstimate [0] IMPLICIT Ext-GeographicalInformation OPTIONAL,
decipheringKeys [1] IMPLICIT DecipheringKeys OPTIONAL,
…,
add-LocationEstimate [2] IMPLICIT Add-GeographicalInformation OPTIONAL,
velocityEstimate [3] IMPLICIT VelocityEstimate-AGPS OPTIONAL,
referenceNumber [4] IMPLICIT LCS-ReferenceNumber OPTIONAL,
h-gmlc-address [5] IMPLICIT GSN-Address OPTIONAL,
mo-lrShortCircuit [6] IMPLICIT NULL OPTIONAL,
reportingPLMNList [7] IMPLICIT ReportingPLMNList OPTIONAL
}
— Parameters locationEstimate or add-LocationEstimate (one but not both)
— shall be included if and only if the
— molr-Type in LocationRequestArg was set to value locationEstimate.
— Parameter add-LocationEstimate shall not be included
— if the supportedGADShapes parameter was not received in the LCS-MOLRArg.
— The locationEstimate and the add-locationEstimate parameters shall not be
— sent if the supportedGADShapes parameter has been received in LCS-MOLRArg
— and the shape encoded in locationEstimate or add-LocationEstimate
— is not marked as supported in supportedGADShapes.
— In such a case LCS-MOLRArg shall be rejected with error
— FacilityNotSupported with additional indication
— shapeOfLocationEstimateNotSupported.
— Parameter decipheringKeys shall be included if and only if the molr-Type
— in LocationRequestArg was set to value deCipheringKeys.
— Parameter velocityEstimate may only be included if the lcs-QoS in LCS-MOLRarg includes
— velocityRequest
DecipheringKeys ::= OCTET STRING (SIZE (15))
— Octets in DecipheringKeys are coded in the same way as the octets 3 to 17
— of Deciphering Key IE in 3GPP TS 49.031. I.e. these octets contain
— Current Deciphering Key, Next Deciphering Key and Ciphering Key Flag.
–********************************************************
— Derived from MAP-Errors 3GPP 29.002
–********************************************************
SystemFailureParam ::= CHOICE {
networkResource NetworkResource,
— networkResource must not be used in version 3
extensibleSystemFailureParam ExtensibleSystemFailureParam
— extensibleSystemFailureParam must not be used in version <3
}
NetworkResource ::= ENUMERATED {
plmn (0),
hlr (1),
vlr (2),
pvlr (3),
controllingMSC (4),
vmsc (5),
eir (6),
rss (7)
}
ExtensibleSystemFailureParam ::= SEQUENCE {
networkResource NetworkResource OPTIONAL,
extensionContainer ExtensionContainer OPTIONAL,
…,
additionalNetworkResource [0] AdditionalNetworkResource OPTIONAL,
failureCauseParam [1] FailureCauseParam OPTIONAL
}
AdditionalNetworkResource ::= ENUMERATED {
sgsn (0),
ggsn (1),
gmlc (2),
gsmSCF (3),
nplr (4),
auc (5),
…,
ue (6),
mme (7)
}
— if unknown value is received in AdditionalNetworkResource
— it shall be ignored.
FailureCauseParam ::= ENUMERATED {
limitReachedOnNumberOfConcurrentLocationRequests (0),
… }
— if unknown value is received in FailureCauseParam it shall be ignored
UnexpectedDataParam ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
…,
unexpectedSubscriber [0] NULL OPTIONAL
}
— the unexpectedSubscriber indication in the unexpectedDataValue error shall not be used
— for operations that allow the unidentifiedSubscriber error.
DataMissingParam ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
…
}
FacilityNotSupParam ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
…,
shapeOfLocationEstimateNotSupported [0] IMPLICIT NULL OPTIONAL,
neededLcsCapabilityNotSupportedInServingNode [1] IMPLICIT NULL OPTIONAL
}
SS-SubscriptionViolationParam ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
…
}
PositionMethodFailure-Param ::= SEQUENCE {
positionMethodFailure-Diagnostic [0] IMPLICIT PositionMethodFailure-Diagnostic OPTIONAL,
extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
…
}
PositionMethodFailure-Diagnostic ::= ENUMERATED {
congestion (0),
insufficientResources (1),
insufficientMeasurementData (2),
inconsistentMeasurementData (3),
locationProcedureNotCompleted (4),
locationProcedureNotSupportedByTargetMS (5),
qoSNotAttainable (6),
positionMethodNotAvailableInNetwork (7),
positionMethodNotAvailableInLocationArea (8),
…
}
— exception handling:
— any unrecognized value shall be ignored
–*******************************************************
— From 3GPP TS 29.002
–*******************************************************
NotificationToMSUser ::= ENUMERATED {
notifyLocationAllowed (0),
notifyAndVerify-LocationAllowedIfNoResponse (1),
notifyAndVerify-LocationNotAllowedIfNoResponse (2),
…,
locationNotAllowed (3) }
— exception handling:
— At reception of any other value than the ones listed the receiver shall ignore
— NotificationToMSUser.
LocationType ::= SEQUENCE {
locationEstimateType [0] IMPLICIT LocationEstimateType,
…,
deferredLocationEventType [1] IMPLICIT DeferredLocationEventType OPTIONAL }
LocationEstimateType ::= ENUMERATED {
currentLocation (0),
currentOrLastKnownLocation (1),
initialLocation (2),
…,
activateDeferredLocation (3),
cancelDeferredLocation (4),
notificationVerificationOnly (5)
}
— exception handling:
— a ProvideSubscriberLocation-Arg containing an unrecognized LocationEstimateType
— shall be rejected by the receiver with a return error cause of unexpected data value
DeferredLocationEventType ::= BIT STRING {
msAvailable (0),
enteringIntoArea (1),
leavingFromArea (2),
beingInsideArea (3) ,
periodicLDR (4)
} (SIZE (1..16))
— beingInsideArea is always treated as oneTimeEvent regardless of the possible value
— of occurrenceInfo inside areaEventInfo.
— exception handling:
— a ProvideSubscriberLocation-Arg containing other values than listed above in
— DeferredLocationEventType shall be rejected by the receiver with a return error cause of
— unexpected data value.
LCSClientExternalID ::= SEQUENCE {
externalAddress [0] IMPLICIT ISDN-AddressString OPTIONAL,
extensionContainer [1] IMPLICIT ExtensionContainer OPTIONAL,
…
}
LCSClientName ::= SEQUENCE {
dataCodingScheme [0] IMPLICIT USSD-DataCodingScheme,
nameString [2] IMPLICIT NameString,
…,
lcs-FormatIndicator [3] IMPLICIT LCS-FormatIndicator OPTIONAL
}
— The USSD-DataCodingScheme shall indicate use of the default alphabet through the following encoding
— bit 7 6 5 4 3 2 1 0
— 0 0 0 0 1 1 1 1
NameString ::= USSD-String (SIZE (1..maxNameStringLength))
maxNameStringLength INTEGER ::= 63
LCSRequestorID ::= SEQUENCE {
dataCodingScheme [0] IMPLICIT USSD-DataCodingScheme,
requestorIDString [1] IMPLICIT RequestorIDString,
…,
lcs-FormatIndicator [2] IMPLICIT LCS-FormatIndicator OPTIONAL
}
LCS-FormatIndicator ::= ENUMERATED {
logicalName (0),
e-mailAddress (1),
msisdn (2),
url (3),
sipUrl (4),
… }
RequestorIDString ::= USSD-String (SIZE (1..maxRequestorIDStringLength))
maxRequestorIDStringLength INTEGER ::= 63
LCSCodeword ::= SEQUENCE {
dataCodingScheme [0] IMPLICIT USSD-DataCodingScheme,
lcsCodewordString [1] IMPLICIT LCSCodewordString,
…
}
LCSCodewordString ::= USSD-String (SIZE (1..maxLCSCodewordStringLength))
maxLCSCodewordStringLength INTEGER ::= 20
LCSServiceTypeID ::= INTEGER (0..127)
— the integer values 0-63 are reserved for Standard LCS service types
— the integer values 64-127 are reserved for Non Standard LCS service types
LCS-QoS ::= SEQUENCE {
horizontal-accuracy [0] IMPLICIT Horizontal-Accuracy OPTIONAL,
verticalCoordinateRequest [1] IMPLICIT NULL OPTIONAL,
vertical-accuracy [2] IMPLICIT Vertical-Accuracy OPTIONAL,
responseTime [3] IMPLICIT ResponseTime OPTIONAL,
extensionContainer [4] IMPLICIT ExtensionContainer OPTIONAL,
…,
velocityRequest [5] IMPLICIT NULL OPTIONAL
}
Horizontal-Accuracy ::= OCTET STRING (SIZE (1))
— bit 8 = 0
— bits 7-1 = 7 bit Uncertainty Code defined in 3GPP TS 23.032. The horizontal location
— error should be less than the error indicated by the uncertainty code with 67%
— confidence.
Vertical-Accuracy ::= OCTET STRING (SIZE (1))
— bit 8 = 0
— bits 7-1 = 7 bit Vertical Uncertainty Code defined in 3GPP TS 23.032.
— The vertical location error should be less than the error indicated
— by the uncertainty code with 67% confidence.
ResponseTime ::= SEQUENCE {
responseTimeCategory ResponseTimeCategory,
…
}
— note: an expandable SEQUENCE simplifies later addition of a numeric response time.
ResponseTimeCategory ::= ENUMERATED {
lowdelay (0),
delaytolerant (1),
…}
— exception handling:
— an unrecognized value shall be treated the same as value 1 (delaytolerant)
SupportedGADShapes ::= BIT STRING {
ellipsoidPoint (0),
ellipsoidPointWithUncertaintyCircle (1),
ellipsoidPointWithUncertaintyEllipse (2),
polygon (3),
ellipsoidPointWithAltitude (4),
ellipsoidPointWithAltitudeAndUncertaintyElipsoid (5),
ellipsoidArc (6) } (SIZE (7..16))
— A node shall mark in the BIT STRING all Shapes defined in 3GPP TS 23.032 it supports.
— exception handling: bits 7 to 15 shall be ignored if received.
Ext-GeographicalInformation ::= OCTET STRING (SIZE (1..maxExt-GeographicalInformation))
— Refers to geographical Information defined in 3GPP TS 23.032.
— This is composed of 1 or more octets with an internal structure according to
— 3GPP TS 23.032
— Octet 1: Type of shape, only the following shapes in 3GPP TS 23.032 are allowed:
— (a) Ellipsoid point with uncertainty circle
— (b) Ellipsoid point with uncertainty ellipse
— (c) Ellipsoid point with altitude and uncertainty ellipsoid
— (d) Ellipsoid Arc
— (e) Ellipsoid Point
— Any other value in octet 1 shall be treated as invalid
— Octets 2 to 8 for case (a) Ellipsoid point with uncertainty circle
— Degrees of Latitude 3 octets
— Degrees of Longitude 3 octets
— Uncertainty code 1 octet
— Octets 2 to 11 for case (b) Ellipsoid point with uncertainty ellipse:
— Degrees of Latitude 3 octets
— Degrees of Longitude 3 octets
— Uncertainty semi-major axis 1 octet
— Uncertainty semi-minor axis 1 octet
— Angle of major axis 1 octet
— Confidence 1 octet
— Octets 2 to 14 for case (c) Ellipsoid point with altitude and uncertainty ellipsoid
— Degrees of Latitude 3 octets
— Degrees of Longitude 3 octets
— Altitude 2 octets
— Uncertainty semi-major axis 1 octet
— Uncertainty semi-minor axis 1 octet
— Angle of major axis 1 octet
— Uncertainty altitude 1 octet
— Confidence 1 octet
— Octets 2 to 13 for case (d) Ellipsoid Arc
— Degrees of Latitude 3 octets
— Degrees of Longitude 3 octets
— Inner radius 2 octets
— Uncertainty radius 1 octet
— Offset angle 1 octet
— Included angle 1 octet
— Confidence 1 octet
— Octets 2 to 7 for case (e) Ellipsoid Point
— Degrees of Latitude 3 octets
— Degrees of Longitude 3 octets
—
— An Ext-GeographicalInformation parameter comprising more than one octet and
— containing any other shape or an incorrect number of octets or coding according
— to 3GPP TS 23.032 shall be treated as invalid data by a receiver.
—
— An Ext-GeographicalInformation parameter comprising one octet shall be discarded
— by the receiver if an Add-GeographicalInformation parameter is received
— in the same message.
—
— An Ext-GeographicalInformation parameter comprising one octet shall be treated as
— invalid data by the receiver if an Add-GeographicalInformation parameter is not
— received in the same message.
maxExt-GeographicalInformation INTEGER ::= 20
— the maximum length allows for further shapes in 3GPP TS 23.032 to be included in later
— versions of 3GPP TS 29.002
Add-GeographicalInformation ::= OCTET STRING (SIZE (1..maxAdd-GeographicalInformation))
— Refers to geographical Information defined in 3GPP TS 23.032.
— This is composed of 1 or more octets with an internal structure according to
— 3GPP TS 23.032
— Octet 1: Type of shape, all the shapes defined in 3GPP TS 23.032 are allowed:
— Octets 2 to n (where n is the total number of octets necessary to encode the shape
— according to 3GPP TS 23.032) are used to encode the shape itself in accordance with the
— encoding defined in 3GPP TS 23.032
—
— An Add-GeographicalInformation parameter, whether valid or invalid, received
— together with a valid Ext-GeographicalInformation parameter in the same message
— shall be discarded.
—
— An Add-GeographicalInformation parameter containing any shape not defined in
— 3GPP TS 23.032 or an incorrect number of octets or coding according to
— 3GPP TS 23.032 shall be treated as invalid data by a receiver if not received
— together with a valid Ext-GeographicalInformation parameter in the same message.
maxAdd-GeographicalInformation INTEGER ::= 91
— the maximum length allows support for all the shapes currently defined in 3GPP TS 23.032
AgeOfLocationInformation ::= INTEGER (0..32767)
— the value represents the elapsed time in minutes since the last
— network contact of the mobile station (i.e. the actuality of the
— location information).
— value "0" indicates that the MS is currently in contact with the network
— "32767" indicates that the location information is at least 32767 minutes old
GSN-Address ::= OCTET STRING (SIZE (5..17))
— Octets are coded according to TS 3GPP TS 23.003
LCS-ReferenceNumber ::= OCTET STRING (SIZE(1))
PeriodicLDRInfo ::= SEQUENCE {
reportingAmount ReportingAmount-AGPS,
reportingInterval ReportingInterval-AGPS,
…
}
— reportingInterval x reportingAmount shall not exceed 8639999 (99 days, 23 hours,
— 59 minutes and 59 seconds) for compatibility with OMA MLP and RLP
ReportingAmount-AGPS ::= INTEGER (1..maxReportingAmount)
maxReportingAmount INTEGER ::= 8639999
ReportingInterval-AGPS ::= INTEGER (1..maxReportingInterval)
— ReportingInterval is in seconds
maxReportingInterval INTEGER ::= 8639999
VelocityEstimate-AGPS ::= OCTET STRING (SIZE (4..7))
— Refers to Velocity description defined in 3GPP TS 23.032.
— This is composed of 4 or more octets with an internal structure according to
— 3GPP TS 23.032
— Octet 1: Type of velocity, only the following types in 3GPP TS 23.032 are allowed:
— (a) Horizontal Velocity
— (b) Horizontal with Vertical Velocity
— (c) Horizontal Velocity with Uncertainty
— (d) Horizontal with Vertical Velocity and Uncertainty
— For types Horizontal with Vertical Velocity and Horizontal with Vertical Velocity
— and Uncertainty, the direction of the Vertical Speed is also included in Octet 1
— Any other value in octet 1 shall be treated as invalid
— Octets 2 to 4 for case (a) Horizontal velocity:
— Bearing 1 octet
— Horizontal Speed 2 octets
— Octets 2 to 5 for case (b) Horizontal with Vertical Velocity:
— Bearing 1 octet
— Horizontal Speed 2 octets
— Vertical Speed 1 octet
— Octets 2 to 5 for case (c) Horizontal velocity with Uncertainty:
— Bearing 1 octet
— Horizontal Speed 2 octets
— Uncertainty Speed 1 octet
— Octets 2 to 7 for case (d) Horizontal with Vertical Velocity and Uncertainty:
— Bearing 1 octet
— Horizontal Speed 2 octets
— Vertical Speed 1 octet
— Horizontal Uncertainty Speed 1 octet
— Vertical Uncertainty Speed 1 octet
SequenceNumber ::= INTEGER (1..maxReportingAmount)
ReportingPLMNList::= SEQUENCE {
plmn-ListPrioritized [0] NULL OPTIONAL,
plmn-List [1] PLMNList
}
PLMNList::= SEQUENCE SIZE (1..maxNumOfReportingPLMN) OF
ReportingPLMN
maxNumOfReportingPLMN INTEGER ::= 20
ReportingPLMN::= SEQUENCE {
plmn-Id [0] PLMN-Id,
ran-Technology [1] RAN-Technology OPTIONAL,
ran-PeriodicLocationSupport [2] NULL OPTIONAL,
…
}
RAN-Technology ::= ENUMERATED {
gsm (0),
umts (1),
… }
PLMN-Id ::= OCTET STRING (SIZE (3))
— The internal structure is defined as follows:
— octet 1 bits 4321 Mobile Country Code 1st digit
— bits 8765 Mobile Country Code 2nd digit
— octet 2 bits 4321 Mobile Country Code 3rd digit
— bits 8765 Mobile Network Code 3rd digit
— or filler (1111) for 2 digit MNCs
— octet 3 bits 4321 Mobile Network Code 1st digit
— bits 8765 Mobile Network Code 2nd digit
END
H.2.5 SS-Definitions-Arguments ASN.1 module
SS-Definitions-Arguments DEFINITIONS ::=
BEGIN
IMPORTS
AddressString,
maxAddressLength,
ExtensionContainer,
PrivateExtensionList,
PrivateExtension,
maxNumOfPrivateExtensions,
PCS-Extensions,
USSD-DataCodingScheme,
USSD-String,
maxUSSD-StringLength,
ISDN-AddressString
FROM Common-Definitions-Arguments;
–*****************************************************
–Derived from SS-DataTypes in 3GPP TS 24.080
–*****************************************************
RegisterSS-Arg ::= SEQUENCE {
ss-Code SS-Code,
basicService BasicServiceCode OPTIONAL,
forwardedToNumber [4] AddressString OPTIONAL,
forwardedToSubaddress [6] ISDN-SubaddressString OPTIONAL,
noReplyConditionTime [5] NoReplyConditionTime OPTIONAL,
…,
defaultPriority [7] EMLPP-Priority OPTIONAL,
nbrUser [8] MC-Bearers OPTIONAL,
longFTN-Supported [9] NULL OPTIONAL }
InterrogateSS-Res ::= CHOICE {
ss-Status [0] SS-Status,
basicServiceGroupList [2] BasicServiceGroupList,
forwardingFeatureList [3] ForwardingFeatureList,
genericServiceInfo [4] GenericServiceInfo }
USSD-Arg ::= SEQUENCE {
ussd-DataCodingScheme USSD-DataCodingScheme,
ussd-String USSD-String,
… ,
alertingPattern AlertingPattern OPTIONAL,
msisdn [0] ISDN-AddressString OPTIONAL }
USSD-Res ::= SEQUENCE {
ussd-DataCodingScheme USSD-DataCodingScheme,
ussd-String USSD-String,
…}
NotifySS-Arg ::= SEQUENCE{
ss-Code [1] SS-Code OPTIONAL,
ss-Status [4] SS-Status OPTIONAL,
ss-Notification [5] SS-Notification OPTIONAL,
callIsWaiting-Indicator [14] NULL OPTIONAL,
callOnHold-Indicator [15] CallOnHold-Indicator OPTIONAL,
mpty-Indicator [16] NULL OPTIONAL,
cug-Index [17] CUG-Index OPTIONAL,
clirSuppressionRejected [18] NULL OPTIONAL,
… ,
ect-Indicator [19] ECT-Indicator OPTIONAL,
nameIndicator [20] NameIndicator OPTIONAL,
ccbs-Feature [21] CCBS-Feature OPTIONAL,
alertingPattern [22] AlertingPattern OPTIONAL,
multicall-Indicator [23] Multicall-Indicator OPTIONAL
}
— The nameIndicator is defined because of CNAP.
NoReplyConditionTime ::= INTEGER (5..30)
CallBarredParam ::= CHOICE {
callBarringCause CallBarringCause,
— call BarringCause must not be used in version 3 and higher
extensibleCallBarredParam ExtensibleCallBarredParam
— extensibleCallBarredParam must not be used in version <3
}
CallBarringCause ::= ENUMERATED {
barringServiceActive (0),
operatorBarring (1)}
ExtensibleCallBarredParam ::= SEQUENCE {
callBarringCause CallBarringCause OPTIONAL,
extensionContainer ExtensionContainer OPTIONAL,
… ,
unauthorisedMessageOriginator [1] NULL OPTIONAL,
anonymousCallRejection [2] NULL OPTIONAL }
— unauthorisedMessageOriginator and anonymousCallRejection shall be mutually exclusive.
ECT-Indicator ::= SEQUENCE {
ect-CallState [0] ECT-CallState,
rdn [1] RDN OPTIONAL,
…}
ECT-CallState ::= ENUMERATED {
alerting (0),
active (1)}
RDN ::= CHOICE {
presentationAllowedAddress [0] RemotePartyNumber,
presentationRestricted [1] NULL,
numberNotAvailableDueToInterworking [2] NULL,
presentationRestrictedAddress [3] RemotePartyNumber}
RemotePartyNumber ::= SEQUENCE {
partyNumber [0] ISDN-AddressString,
partyNumberSubaddress [1] ISDN-SubaddressString OPTIONAL,
…}
IllegalSubscriberParam ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
…}
IllegalEquipmentParam ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
…}
BearerServNotProvParam ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
…}
TeleservNotProvParam ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
…}
IllegalSS-OperationParam ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
…}
SS-NotAvailableParam ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
…}
SS-SubscriptionViolationParam ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
…}
SS-IncompatibilityCause ::= SEQUENCE {
ss-Code [1] SS-Code OPTIONAL,
basicService BasicServiceCode OPTIONAL,
ss-Status [4] SS-Status OPTIONAL,
…}
PW-RegistrationFailureCause ::= ENUMERATED {
undetermined (0),
invalidFormat (1),
newPasswordsMismatch (2)}
SS-ErrorStatus ::= SEQUENCE {
sS-Status SS-Status OPTIONAL,
…}
SS-NotAvailable ::= SEQUENCE {
sS-NotAvailable SS-NotAvailableParam OPTIONAL,
…}
Password ::= NumericString
(FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"))
(SIZE (4))
GuidanceInfo ::= ENUMERATED {
enterPW (0),
enterNewPW (1),
enterNewPW-Again (2)}
— How this information is really delivered to the subscriber
— (display, announcement, …) is not part of this
— specification.
AbsentSubscriberParam ::= SEQUENCE {
extensionContainer ExtensionContainer OPTIONAL,
…,
absentSubscriberReason [0] AbsentSubscriberReason OPTIONAL}
AbsentSubscriberReason ::= ENUMERATED {
imsiDetach (0),
restrictedArea (1),
noPageResponse (2),
… ,
purgedMS (3),
mtRoamingRetry (4),
busySubscriber (5)}
— exception handling: at reception of other values than the ones listed the
— AbsentSubscriberReason shall be ignored.
— The AbsentSubscriberReason: purgedMS is defined for the Super-Charger feature
— (see TS 23.116). If this value is received in a Provide Roaming Number response
— it shall be mapped to the AbsentSubscriberReason: imsiDetach in the Send Routeing
— Information response
— The AbsentSubscriberReason: mtRoamingRetry is used during MT Roaming Retry,
— see 3GPP TS 23.018[97].
— The AbsentSubscriberReason: busySubscriber is used during MT Roaming Forwarding,
— see 3GPP TS 23.018[97].
SS-UserData ::= IA5String (SIZE (1.. maxSignalInfoLength))
maxSignalInfoLength INTEGER ::= 200
— This NamedValue represents the theoretical maximum number of octets which is
— available to carry a single instance of the SignalInfo data type,
— without requiring segmentation to cope with the network layer service.
— However, the actual maximum size available for an instance of the data
— type may be lower, especially when other information elements
— have to be included in the same component.
SS-ForBS-Code ::= SEQUENCE {
ss-Code SS-Code,
basicService BasicServiceCode OPTIONAL,
…,
longFTN-Supported [4] NULL OPTIONAL }
SS-Code ::= OCTET STRING (SIZE (1))
— This type is used to represent the code identifying a single
— supplementary service, a group of supplementary services, or
— all supplementary services. The services and abbreviations
— used are defined in TS 3GPP TS 22.004 [5]. The internal structure is
— defined as follows:
—
— bits 87654321: group (bits 8765), and specific service
— (bits 4321)
SS-Info ::= CHOICE {
forwardingInfo [0] ForwardingInfo,
callBarringInfo [1] CallBarringInfo,
ss-Data [3] SS-Data}
ForwardingInfo ::= SEQUENCE {
ss-Code SS-Code OPTIONAL,
forwardingFeatureList ForwardingFeatureList,
…}
CallBarringInfo ::= SEQUENCE {
ss-Code SS-Code OPTIONAL,
callBarringFeatureList CallBarringFeatureList,
…}
CallBarringFeatureList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
CallBarringFeature
CallBarringFeature ::= SEQUENCE {
basicService BasicServiceCode OPTIONAL,
ss-Status [4] SS-Status OPTIONAL,
…}
SS-Data ::= SEQUENCE {
ss-Code SS-Code OPTIONAL,
ss-Status [4] SS-Status OPTIONAL,
ss-SubscriptionOption SS-SubscriptionOption OPTIONAL,
basicServiceGroupList BasicServiceGroupList OPTIONAL,
…,
defaultPriority EMLPP-Priority OPTIONAL,
nbrUser [5] MC-Bearers OPTIONAL
}
SS-SubscriptionOption ::= CHOICE {
cliRestrictionOption [2] CliRestrictionOption,
overrideCategory [1] OverrideCategory}
BasicServiceCode ::= CHOICE {
bearerService [2] BearerServiceCode,
teleservice [3] TeleserviceCode}
BearerServiceCode ::= OCTET STRING (SIZE (1))
— This type is used to represent the code identifying a single
— bearer service, a group of bearer services, or all bearer
— services. The services are defined in TS 3GPP TS 22.002 [3].
— The internal structure is defined as follows:
—
— plmn-specific bearer services:
— bits 87654321: defined by the HPLMN operator
— rest of bearer services:
— bit 8: 0 (unused)
— bits 7654321: group (bits 7654), and rate, if applicable
— (bits 321)
TeleserviceCode ::= OCTET STRING (SIZE (1))
— This type is used to represent the code identifying a single
— teleservice, a group of teleservices, or all teleservices. The
— services are defined in TS GSM 22.003 [4].
— The internal structure is defined as follows:
— bits 87654321: group (bits 8765) and specific service
— (bits 4321)
ISDN-SubaddressString ::=
OCTET STRING (SIZE (1..maxISDN-SubaddressLength))
— This type is used to represent ISDN subaddresses.
— It is composed of
— a) one octet for type of subaddress and odd/even indicator.
— b) 20 octets for subaddress information.
— a) The first octet includes a one bit extension indicator, a
— 3 bits type of subaddress and a one bit odd/even indicator,
— encoded as follows:
— bit 8: 1 (no extension)
— bits 765: type of subaddress
— 000 NSAP (X.213/ISO 8348 AD2)
— 010 User Specified
— All other values are reserved
— bit 4: odd/even indicator
— 0 even number of address signals
— 1 odd number of address signals
— The odd/even indicator is used when the type of subaddress
— is "user specified" and the coding is BCD.
— bits 321: 000 (unused)
— b) Subaddress information.
— The NSAP X.213/ISO8348AD2 address shall be formatted as specified
— by octet 4 which contains the Authority and Format Identifier
— (AFI). The encoding is made according to the "preferred binary
— encoding" as defined in X.213/ISO834AD2. For the definition
— of this type of subaddress, see ITU-T Rec I.334.
— For User-specific subaddress, this field is encoded according
— to the user specification, subject to a maximum length of 20
— octets. When interworking with X.25 networks BCD coding should
— be applied.
maxISDN-SubaddressLength INTEGER ::= 21
EMLPP-Priority ::= INTEGER (0..15)
— The mapping from the values A,B,0,1,2,3,4 to the integer-value is
— specified as follows where A is the highest and 4 is the lowest
— priority level
— the integer values 7-15 are spare and shall be mapped to value 4
MC-Bearers ::= INTEGER (1..maxNumOfMC-Bearers)
maxNumOfMC-Bearers INTEGER ::= 7
SS-Status ::= OCTET STRING (SIZE (1))
— bits 8765: 0000 (unused)
— bits 4321: Used to convey the "P bit","R bit","A bit" and "Q bit",
— representing supplementary service state information
— as defined in TS 3GPP TS 23.011 [22]
— bit 4: "Q bit"
— bit 3: "P bit"
— bit 2: "R bit"
— bit 1: "A bit"
SS-Notification ::= OCTET STRING (SIZE (1))
— Bit 8 7 6 5 4 00000 (Unused)
— Bit 3 Call is forwarded indication to A-subscriber
— (calling subscriber)
— 0 No information content
— 1 Outgoing call has been forwarded to C
— Bit 2 Call is forwarded indication to B-subscriber
— (forwarding subscriber)
— 0 No information content
— 1 Incoming call has been forwarded to C
— Bit 1 Call is forwarded indication to C-subscriber
— (forwarded-to subscriber)
— 0 No information content
— 1 Incoming call is a forwarded call
ForwardingFeatureList ::=
SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
ForwardingFeature
ForwardingFeature ::= SEQUENCE {
basicService BasicServiceCode OPTIONAL,
ss-Status [4] SS-Status OPTIONAL,
forwardedToNumber [5] ISDN-AddressString OPTIONAL,
forwardedToSubaddress [8] ISDN-SubaddressString OPTIONAL,
forwardingOptions [6] ForwardingOptions OPTIONAL,
noReplyConditionTime [7] NoReplyConditionTime OPTIONAL,
…,
longForwardedToNumber [9] FTN-AddressString OPTIONAL }
ForwardingOptions ::= OCTET STRING (SIZE (1))
— bit 8: notification to forwarding party
— 0 no notification
— 1 notification
— bit 7: redirecting presentation
— 0 no presentation
— 1 presentation
— bit 6: notification to calling party
— 0 no notification
— 1 notification
— bit 5: 0 (unused)
— bits 43: forwarding reason
— 00 ms not reachable
— 01 ms busy
— 10 no reply
— 11 unconditional when used in a SRI Result,
— or call deflection when used in a RCH Argument
— bits 21: 00 (unused)
FTN-AddressString ::=
AddressString (SIZE (1..maxFTN-AddressLength))
— This type is used to represent forwarded-to numbers.
— If NAI = international the first digits represent the country code (CC)
— and the network destination code (NDC) as for E.164.
maxFTN-AddressLength INTEGER ::= 15
BasicServiceGroupList ::= SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF
BasicServiceCode
maxNumOfBasicServiceGroups INTEGER ::= 13
OverrideCategory ::= ENUMERATED {
overrideEnabled (0),
overrideDisabled (1)}
CliRestrictionOption ::= ENUMERATED {
permanent (0),
temporaryDefaultRestricted (1),
temporaryDefaultAllowed (2)}
GenericServiceInfo ::= SEQUENCE {
ss-Status SS-Status,
cliRestrictionOption CliRestrictionOption OPTIONAL,
…,
maximumEntitledPriority [0] EMLPP-Priority OPTIONAL,
defaultPriority [1] EMLPP-Priority OPTIONAL,
ccbs-FeatureList [2] CCBS-FeatureList OPTIONAL,
nbrSB [3] MaxMC-Bearers OPTIONAL,
nbrUser [4] MC-Bearers OPTIONAL,
nbrSN [5] MC-Bearers OPTIONAL }
MaxMC-Bearers ::= INTEGER (2..maxNumOfMC-Bearers)
CCBS-FeatureList ::= SEQUENCE SIZE (1..maxNumOfCCBS-Requests) OF
CCBS-Feature
maxNumOfCCBS-Requests INTEGER ::= 5
CCBS-Feature ::= SEQUENCE {
ccbs-Index [0] CCBS-Index OPTIONAL,
b-subscriberNumber [1] ISDN-AddressString OPTIONAL,
b-subscriberSubaddress [2] ISDN-SubaddressString OPTIONAL,
basicServiceGroup [3] BasicServiceCode OPTIONAL,
…}
CCBS-Index ::= INTEGER (1..maxNumOfCCBS-Requests)
CallOnHold-Indicator ::= ENUMERATED {
callRetrieved (0),
callOnHold (1)}
CUG-Index ::= INTEGER (0..32767)
— The internal structure is defined in ETS 300 138.
NameIndicator ::= SEQUENCE {
callingName [0] Name OPTIONAL,
…}
Name ::= CHOICE {
namePresentationAllowed [0] NameSet,
presentationRestricted [1] NULL,
nameUnavailable [2] NULL,
namePresentationRestricted [3] NameSet}
NameSet ::= SEQUENCE {
dataCodingScheme [0] USSD-DataCodingScheme,
lengthInCharacters [1] INTEGER,
nameString [2] USSD-String,
…}
— NameIndicator, Name and NameSet are defined because of CNAP.
— The USSD-DataCodingScheme shall indicate use of the default alphabet through the
— following encoding:
— bit 7 6 5 4 3 2 1 0
— | 0 0 0 0 | 1 1 1 1|
AlertingPattern ::= OCTET STRING (SIZE (1) )
— This type is used to represent Alerting Pattern
— bits 8765 : 0000 (unused)
— bits 43 : type of Pattern
— 00 level
— 01 category
— 10 category
— all other values are reserved.
— bits 21 : type of alerting
alertingLevel-0 AlertingPattern ::= ‘00000000’B
alertingLevel-1 AlertingPattern ::= ‘00000001’B
alertingLevel-2 AlertingPattern ::= ‘00000010’B
— all other values of Alerting level are reserved
— Alerting Levels are defined in GSM 02.07
alertingCategory-1 AlertingPattern ::= ‘00000100’B
alertingCategory-2 AlertingPattern ::= ‘00000101’B
alertingCategory-3 AlertingPattern ::= ‘00000110’B
alertingCategory-4 AlertingPattern ::= ‘00000111’B
alertingCategory-5 AlertingPattern ::= ‘00001000’B
— all other values of Alerting Category are reserved
— Alerting categories are defined in GSM 02.07
Multicall-Indicator ::= ENUMERATED {
nbr-SNexceeded (0),
nbr-Userexceeded (1)}
END
H.2.6 Common-Definitions ASN.1 module
Common-Definitions-Arguments DEFINITIONS ::=
BEGIN
–*****************************************************
–Derived from SS-DataTypes in 3GPP TS 24.080
–*****************************************************
ISDN-AddressString ::= AddressString (SIZE (1..maxISDN-AddressLength))
— This type is used to represent ISDN numbers.
maxISDN-AddressLength INTEGER ::= 9
AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
— This type is used to represent a number for addressing purposes. It is
— composed of
— a) one octet for nature of address, and numbering plan indicator.
— b) digits of an address encoded as TBCD-String.
— a) The first octet includes a one bit extension indicator, a
— 3 bits nature of address indicator and a 4 bits numbering
— plan indicator, encoded as follows:
— bit 8: 1 (no extension)
— bits 765: nature of address indicator
— 000 unknown
— 001 international number
— 010 national significant number
— 011 network specific number
— 100 subscriber number
— 101 reserved
— 110 abbreviated number
— 111 reserved for extension
— bits 4321: numbering plan indicator
— 0000 unknown
— 0001 ISDN/Telephony Numbering Plan (Rec ITU-T E.164)
— 0010 spare
— 0011 data numbering plan (ITU-T Rec X.121)
— 0100 telex numbering plan (ITU-T Rec F.69)
— 0101 spare
— 0110 land mobile numbering plan (ITU-T Rec E.212)
— 0111 spare
— 1000 national numbering plan
— 1001 private numbering plan
— 1111 reserved for extension
— all other values are reserved.
— b) The following octets representing digits of an address
— encoded as a TBCD-STRING.
maxAddressLength INTEGER ::= 20
ExtensionContainer ::= SEQUENCE {
privateExtensionList [0] IMPLICIT PrivateExtensionList OPTIONAL,
pcs-Extensions [1] IMPLICIT PCS-Extensions OPTIONAL,
…
}
PrivateExtensionList ::= SEQUENCE SIZE (1..maxNumOfPrivateExtensions) OF
PrivateExtension
PrivateExtension ::= SEQUENCE {
extId OBJECT IDENTIFIER,
extType OCTET STRING OPTIONAL}
maxNumOfPrivateExtensions INTEGER ::= 10
PCS-Extensions ::= SEQUENCE {…}
USSD-DataCodingScheme ::= OCTET STRING (SIZE (1))
— The structure of the USSD-DataCodingScheme is defined by the Cell
— Broadcast Data Coding Scheme as described in TS 3GPP TS 23.038 [2]
USSD-String ::= OCTET STRING (SIZE (1..maxUSSD-StringLength))
— The structure of the contents of the USSD-String is dependent
— on the USSD-DataCodingScheme as described in TS 3GPP TS 23.038 [25].
maxUSSD-StringLength INTEGER ::= 160
END
Annex I (Informative):
Guidance on test execution
This clause provides the guidance on test execution of the different ATSs.