forked from erlang/signerl
Initial import of MAP project from Motivity.
This commit is contained in:
parent
2c7a40e5ba
commit
794624ca47
|
@ -0,0 +1,17 @@
|
|||
|
||||
.PHONY: all
|
||||
all:
|
||||
cd asn_src && $(MAKE)
|
||||
cd src && $(MAKE)
|
||||
cd doc && $(MAKE)
|
||||
|
||||
.PHONY: doc
|
||||
doc:
|
||||
cd doc && $(MAKE) $@
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
cd asn_src && $(MAKE) $@
|
||||
cd src && $(MAKE) $@
|
||||
cd doc && $(MAKE) $@
|
||||
|
|
@ -0,0 +1,168 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-ApplicationContexts {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ApplicationContexts(2)
|
||||
version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
-- EXPORTS everything
|
||||
IMPORTS
|
||||
gsm-NetworkId, ac-Id
|
||||
FROM MobileDomainDefinitions {itu-t(0) identified-organization(4)
|
||||
etsi(0) mobileDomain(0) mobileDomainDefinitions(0) version1(1)};
|
||||
|
||||
-- application-context-names
|
||||
map-ac OBJECT IDENTIFIER ::= {gsm-NetworkId ac-Id}
|
||||
|
||||
networkLocUpContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac networkLocUp(1) version3(3)}
|
||||
|
||||
locationCancellationContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac locationCancel(2) version3(3)}
|
||||
|
||||
roamingNumberEnquiryContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac roamingNbEnquiry(3) version3(3)}
|
||||
|
||||
authenticationFailureReportContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac authenticationFailureReport(39) version3(3)}
|
||||
|
||||
locationInfoRetrievalContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac locInfoRetrieval(5) version3(3)}
|
||||
|
||||
resetContext-v2 OBJECT IDENTIFIER ::= {map-ac reset(10) version2(2)}
|
||||
|
||||
handoverControlContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac handoverControl(11) version3(3)}
|
||||
|
||||
equipmentMngtContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac equipmentMngt(13) version3(3)}
|
||||
|
||||
infoRetrievalContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac infoRetrieval(14) version3(3)}
|
||||
|
||||
interVlrInfoRetrievalContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac interVlrInfoRetrieval(15) version3(3)}
|
||||
|
||||
subscriberDataMngtContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac subscriberDataMngt(16) version3(3)}
|
||||
|
||||
tracingContext-v3 OBJECT IDENTIFIER ::= {map-ac tracing(17) version3(3)}
|
||||
|
||||
networkFunctionalSsContext-v2 OBJECT IDENTIFIER ::=
|
||||
{map-ac networkFunctionalSs(18) version2(2)}
|
||||
|
||||
networkUnstructuredSsContext-v2 OBJECT IDENTIFIER ::=
|
||||
{map-ac networkUnstructuredSs(19) version2(2)}
|
||||
|
||||
shortMsgGatewayContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac shortMsgGateway(20) version3(3)}
|
||||
|
||||
shortMsgMO-RelayContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac shortMsgMO-Relay(21) version3(3)}
|
||||
|
||||
shortMsgAlertContext-v2 OBJECT IDENTIFIER ::=
|
||||
{map-ac shortMsgAlert(23) version2(2)}
|
||||
|
||||
mwdMngtContext-v3 OBJECT IDENTIFIER ::= {map-ac mwdMngt(24) version3(3)}
|
||||
|
||||
shortMsgMT-RelayContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac shortMsgMT-Relay(25) version3(3)}
|
||||
|
||||
imsiRetrievalContext-v2 OBJECT IDENTIFIER ::=
|
||||
{map-ac imsiRetrieval(26) version2(2)}
|
||||
|
||||
msPurgingContext-v3 OBJECT IDENTIFIER ::= {map-ac msPurging(27) version3(3)}
|
||||
|
||||
subscriberInfoEnquiryContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac subscriberInfoEnquiry(28) version3(3)}
|
||||
|
||||
anyTimeInfoEnquiryContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac anyTimeInfoEnquiry(29) version3(3)}
|
||||
|
||||
callControlTransferContext-v4 OBJECT IDENTIFIER ::=
|
||||
{map-ac callControlTransfer(6) version4(4)}
|
||||
|
||||
ss-InvocationNotificationContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac ss-InvocationNotification(36) version3(3)}
|
||||
|
||||
sIWFSAllocationContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac sIWFSAllocation(12) version3(3)}
|
||||
|
||||
groupCallControlContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac groupCallControl(31) version3(3)}
|
||||
|
||||
gprsLocationUpdateContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac gprsLocationUpdate(32) version3(3)}
|
||||
|
||||
gprsLocationInfoRetrievalContext-v4 OBJECT IDENTIFIER ::=
|
||||
{map-ac gprsLocationInfoRetrieval(33) version4(4)}
|
||||
|
||||
failureReportContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac failureReport(34) version3(3)}
|
||||
|
||||
gprsNotifyContext-v3 OBJECT IDENTIFIER ::= {map-ac gprsNotify(35) version3(3)}
|
||||
|
||||
reportingContext-v3 OBJECT IDENTIFIER ::= {map-ac reporting(7) version3(3)}
|
||||
|
||||
callCompletionContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac callCompletion(8) version3(3)}
|
||||
|
||||
istAlertingContext-v3 OBJECT IDENTIFIER ::= {map-ac istAlerting(4) version3(3)}
|
||||
|
||||
serviceTerminationContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac immediateTermination(9) version3(3)}
|
||||
|
||||
locationSvcGatewayContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac locationSvcGateway(37) version3(3)}
|
||||
|
||||
locationSvcEnquiryContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac locationSvcEnquiry(38) version3(3)}
|
||||
|
||||
mm-EventReportingContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac mm-EventReporting(42) version3(3)}
|
||||
|
||||
anyTimeInfoHandlingContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac anyTimeInfoHandling(43) version3(3)}
|
||||
|
||||
subscriberDataModificationNotificationContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac subscriberDataModificationNotification(22) version3(3)}
|
||||
|
||||
secureTransportHandlingContext-v3 OBJECT IDENTIFIER ::=
|
||||
{map-ac secureTransportHandling(40) version3(3)}
|
||||
|
||||
-- The following Object Identifiers are reserved for application-contexts
|
||||
-- existing in previous versions of the protocol
|
||||
-- AC Name & Version Object Identifier
|
||||
--
|
||||
-- networkLocUpContext-v1 map-ac networkLocUp (1) version1 (1)
|
||||
-- networkLocUpContext-v2 map-ac networkLocUp (1) version2 (2)
|
||||
-- locationCancellationContext-v1 map-ac locationCancellation (2) version1 (1)
|
||||
-- locationCancellationContext-v2 map-ac locationCancellation (2) version2 (2)
|
||||
-- roamingNumberEnquiryContext-v1 map-ac roamingNumberEnquiry (3) version1 (1)
|
||||
-- roamingNumberEnquiryContext-v2 map-ac roamingNumberEnquiry (3) version2 (2)
|
||||
-- locationInfoRetrievalContext-v1 map-ac locationInfoRetrieval (5) version1 (1)
|
||||
-- locationInfoRetrievalContext-v2 map-ac locationInfoRetrieval (5) version2 (2)
|
||||
-- resetContext-v1 map-ac reset (10) version1 (1)
|
||||
-- handoverControlContext-v1 map-ac handoverControl (11) version1 (1)
|
||||
-- handoverControlContext-v2 map-ac handoverControl (11) version2 (2)
|
||||
-- equipmentMngtContext-v1 map-ac equipmentMngt (13) version1 (1)
|
||||
-- equipmentMngtContext-v2 map-ac equipmentMngt (13) version2 (2)
|
||||
-- infoRetrievalContext-v1 map-ac infoRetrieval (14) version1 (1)
|
||||
-- infoRetrievalContext-v2 map-ac infoRetrieval (14) version2 (2)
|
||||
-- interVlrInfoRetrievalContext-v2 map-ac interVlrInfoRetrieval (15) version2 (2)
|
||||
-- subscriberDataMngtContext-v1 map-ac subscriberDataMngt (16) version1 (1)
|
||||
-- subscriberDataMngtContext-v2 map-ac subscriberDataMngt (16) version2 (2)
|
||||
-- tracingContext-v1 map-ac tracing (17) version1 (1)
|
||||
-- tracingContext-v2 map-ac tracing (17) version2 (2)
|
||||
-- networkFunctionalSsContext-v1 map-ac networkFunctionalSs (18) version1 (1)
|
||||
-- shortMsgGatewayContext-v1 map-ac shortMsgGateway (20) version1 (1)
|
||||
-- shortMsgGatewayContext-v2 map-ac shortMsgGateway (20) version2 (2)
|
||||
-- shortMsgRelayContext-v1 map-ac shortMsgRelay (21) version1 (1)
|
||||
-- shortMsgAlertContext-v1 map-ac shortMsgAlert (23) version1 (1)
|
||||
-- mwdMngtContext-v1 map-ac mwdMngt (24) version1 (1)
|
||||
-- mwdMngtContext-v2 map-ac mwdMngt (24) version2 (2)
|
||||
-- shortMsgMT-RelayContext-v2 map-ac shortMsgMT-Relay (25) version2 (2)
|
||||
-- msPurgingContext-v2 map-ac msPurging (27) version2 (2)
|
||||
-- callControlTransferContext-v3 map-ac callControlTransferContext (6) version3 (3)
|
||||
-- gprsLocationInfoRetrievalContext-v3 map-ac gprsLocationInfoRetrievalContext (33) version3 (3)
|
||||
END
|
||||
|
|
@ -0,0 +1,165 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-BS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-BS-Code(20) version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
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)
|
||||
Ext-BearerServiceCode ::= OCTET STRING(SIZE (1..5))
|
||||
|
||||
-- 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:
|
||||
--
|
||||
-- OCTET 1:
|
||||
-- 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)
|
||||
-- OCTETS 2-5: reserved for future use. If received the
|
||||
-- Ext-TeleserviceCode shall be
|
||||
-- treated according to the exception handling defined for the
|
||||
-- operation that uses this type.
|
||||
-- Ext-BearerServiceCode includes all values defined for BearerServiceCode.
|
||||
allBearerServices BearerServiceCode ::=
|
||||
'00000000'B
|
||||
|
||||
allDataCDA-Services BearerServiceCode ::= '00010000'B
|
||||
|
||||
dataCDA-300bps BearerServiceCode ::= '00010001'B
|
||||
|
||||
dataCDA-1200bps BearerServiceCode ::= '00010010'B
|
||||
|
||||
dataCDA-1200-75bps BearerServiceCode ::= '00010011'B
|
||||
|
||||
dataCDA-2400bps BearerServiceCode ::= '00010100'B
|
||||
|
||||
dataCDA-4800bps BearerServiceCode ::= '00010101'B
|
||||
|
||||
dataCDA-9600bps BearerServiceCode ::= '00010110'B
|
||||
|
||||
general-dataCDA BearerServiceCode ::= '00010111'B
|
||||
|
||||
allDataCDS-Services BearerServiceCode ::= '00011000'B
|
||||
|
||||
dataCDS-1200bps BearerServiceCode ::= '00011010'B
|
||||
|
||||
dataCDS-2400bps BearerServiceCode ::= '00011100'B
|
||||
|
||||
dataCDS-4800bps BearerServiceCode ::= '00011101'B
|
||||
|
||||
dataCDS-9600bps BearerServiceCode ::= '00011110'B
|
||||
|
||||
general-dataCDS BearerServiceCode ::= '00011111'B
|
||||
|
||||
allPadAccessCA-Services BearerServiceCode ::= '00100000'B
|
||||
|
||||
padAccessCA-300bps BearerServiceCode ::= '00100001'B
|
||||
|
||||
padAccessCA-1200bps BearerServiceCode ::= '00100010'B
|
||||
|
||||
padAccessCA-1200-75bps BearerServiceCode ::= '00100011'B
|
||||
|
||||
padAccessCA-2400bps BearerServiceCode ::= '00100100'B
|
||||
|
||||
padAccessCA-4800bps BearerServiceCode ::= '00100101'B
|
||||
|
||||
padAccessCA-9600bps BearerServiceCode ::= '00100110'B
|
||||
|
||||
general-padAccessCA BearerServiceCode ::= '00100111'B
|
||||
|
||||
allDataPDS-Services BearerServiceCode ::= '00101000'B
|
||||
|
||||
dataPDS-2400bps BearerServiceCode ::= '00101100'B
|
||||
|
||||
dataPDS-4800bps BearerServiceCode ::= '00101101'B
|
||||
|
||||
dataPDS-9600bps BearerServiceCode ::= '00101110'B
|
||||
|
||||
general-dataPDS BearerServiceCode ::= '00101111'B
|
||||
|
||||
allAlternateSpeech-DataCDA BearerServiceCode ::= '00110000'B
|
||||
|
||||
allAlternateSpeech-DataCDS BearerServiceCode ::= '00111000'B
|
||||
|
||||
allSpeechFollowedByDataCDA BearerServiceCode ::= '01000000'B
|
||||
|
||||
allSpeechFollowedByDataCDS BearerServiceCode ::= '01001000'B
|
||||
|
||||
-- The following non-hierarchical Compound Bearer Service
|
||||
-- Groups are defined in TS 3GPP TS 22.030:
|
||||
allDataCircuitAsynchronous BearerServiceCode ::=
|
||||
'01010000'B
|
||||
|
||||
-- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA" and
|
||||
-- "allSpeechFollowedByDataCDA"
|
||||
allAsynchronousServices BearerServiceCode ::=
|
||||
'01100000'B
|
||||
|
||||
-- covers "allDataCDA-Services", "allAlternateSpeech-DataCDA",
|
||||
-- "allSpeechFollowedByDataCDA" and "allPadAccessCDA-Services"
|
||||
allDataCircuitSynchronous BearerServiceCode ::=
|
||||
'01011000'B
|
||||
|
||||
-- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS" and
|
||||
-- "allSpeechFollowedByDataCDS"
|
||||
allSynchronousServices BearerServiceCode ::=
|
||||
'01101000'B
|
||||
|
||||
-- covers "allDataCDS-Services", "allAlternateSpeech-DataCDS",
|
||||
-- "allSpeechFollowedByDataCDS" and "allDataPDS-Services"
|
||||
--
|
||||
-- Compound Bearer Service Group Codes are only used in call
|
||||
-- independent supplementary service operations, i.e. they
|
||||
-- are not used in InsertSubscriberData or in
|
||||
-- DeleteSubscriberData messages.
|
||||
allPLMN-specificBS BearerServiceCode ::=
|
||||
'11010000'B
|
||||
|
||||
plmn-specificBS-1 BearerServiceCode ::= '11010001'B
|
||||
|
||||
plmn-specificBS-2 BearerServiceCode ::= '11010010'B
|
||||
|
||||
plmn-specificBS-3 BearerServiceCode ::= '11010011'B
|
||||
|
||||
plmn-specificBS-4 BearerServiceCode ::= '11010100'B
|
||||
|
||||
plmn-specificBS-5 BearerServiceCode ::= '11010101'B
|
||||
|
||||
plmn-specificBS-6 BearerServiceCode ::= '11010110'B
|
||||
|
||||
plmn-specificBS-7 BearerServiceCode ::= '11010111'B
|
||||
|
||||
plmn-specificBS-8 BearerServiceCode ::= '11011000'B
|
||||
|
||||
plmn-specificBS-9 BearerServiceCode ::= '11011001'B
|
||||
|
||||
plmn-specificBS-A BearerServiceCode ::= '11011010'B
|
||||
|
||||
plmn-specificBS-B BearerServiceCode ::= '11011011'B
|
||||
|
||||
plmn-specificBS-C BearerServiceCode ::= '11011100'B
|
||||
|
||||
plmn-specificBS-D BearerServiceCode ::= '11011101'B
|
||||
|
||||
plmn-specificBS-E BearerServiceCode ::= '11011110'B
|
||||
|
||||
plmn-specificBS-F BearerServiceCode ::= '11011111'B
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,393 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-CH-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-CH-DataTypes(13) version8(8)} DEFINITIONS
|
||||
IMPLICIT TAGS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
SendRoutingInfoArg, SendRoutingInfoRes, ProvideRoamingNumberArg,
|
||||
ProvideRoamingNumberRes, ResumeCallHandlingArg, ResumeCallHandlingRes,
|
||||
NumberOfForwarding, SuppressionOfAnnouncement, CallReferenceNumber,
|
||||
ProvideSIWFSNumberArg, ProvideSIWFSNumberRes, SIWFSSignallingModifyArg,
|
||||
SIWFSSignallingModifyRes, SetReportingStateArg, SetReportingStateRes,
|
||||
StatusReportArg, StatusReportRes, RemoteUserFreeArg, RemoteUserFreeRes,
|
||||
IST-AlertArg, IST-AlertRes, IST-CommandArg, IST-CommandRes;
|
||||
|
||||
IMPORTS
|
||||
SubscriberInfo, SupportedCamelPhases, OfferedCamel4CSIs, CUG-Interlock,
|
||||
O-CSI, D-CSI, O-BcsmCamelTDPCriteriaList, T-BCSM-CAMEL-TDP-CriteriaList,
|
||||
IST-SupportIndicator, IST-AlertTimerValue, T-CSI
|
||||
FROM MAP-MS-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-MS-DataTypes(11)
|
||||
version8(8)}
|
||||
ForwardingOptions, SS-List, CCBS-Feature
|
||||
FROM MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-SS-DataTypes(14)
|
||||
version8(8)}
|
||||
ISDN-AddressString, ISDN-SubaddressString, FTN-AddressString,
|
||||
ExternalSignalInfo, Ext-ExternalSignalInfo, IMSI, LMSI,
|
||||
Ext-BasicServiceCode, AlertingPattern, NAEA-PreferredCI
|
||||
FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18)
|
||||
version8(8)}
|
||||
ExtensionContainer
|
||||
FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21)
|
||||
version8(8)};
|
||||
|
||||
CUG-CheckInfo ::= SEQUENCE {
|
||||
cug-Interlock CUG-Interlock,
|
||||
cug-OutgoingAccess NULL OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
NumberOfForwarding ::= INTEGER(1..5)
|
||||
|
||||
SendRoutingInfoArg ::= SEQUENCE {
|
||||
msisdn [0] ISDN-AddressString,
|
||||
cug-CheckInfo [1] CUG-CheckInfo OPTIONAL,
|
||||
numberOfForwarding [2] NumberOfForwarding OPTIONAL,
|
||||
interrogationType [3] InterrogationType,
|
||||
or-Interrogation [4] NULL OPTIONAL,
|
||||
or-Capability [5] OR-Phase OPTIONAL,
|
||||
gmsc-OrGsmSCF-Address [6] ISDN-AddressString,
|
||||
callReferenceNumber [7] CallReferenceNumber OPTIONAL,
|
||||
forwardingReason [8] ForwardingReason OPTIONAL,
|
||||
basicServiceGroup [9] Ext-BasicServiceCode OPTIONAL,
|
||||
networkSignalInfo [10] ExternalSignalInfo OPTIONAL,
|
||||
camelInfo [11] CamelInfo OPTIONAL,
|
||||
suppressionOfAnnouncement [12] SuppressionOfAnnouncement OPTIONAL,
|
||||
extensionContainer [13] ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
alertingPattern [14] AlertingPattern OPTIONAL,
|
||||
ccbs-Call [15] NULL OPTIONAL,
|
||||
supportedCCBS-Phase [16] SupportedCCBS-Phase OPTIONAL,
|
||||
additionalSignalInfo [17] Ext-ExternalSignalInfo OPTIONAL,
|
||||
istSupportIndicator [18] IST-SupportIndicator OPTIONAL,
|
||||
pre-pagingSupported [19] NULL OPTIONAL,
|
||||
callDiversionTreatmentIndicator
|
||||
[20] CallDiversionTreatmentIndicator OPTIONAL,
|
||||
longFTN-Supported [21] NULL OPTIONAL,
|
||||
suppress-VT-CSI [22] NULL OPTIONAL,
|
||||
suppressIncomingCallBarring [23] NULL OPTIONAL,
|
||||
gsmSCF-InitiatedCall [24] NULL OPTIONAL}
|
||||
|
||||
SuppressionOfAnnouncement ::= NULL
|
||||
|
||||
InterrogationType ::= ENUMERATED {basicCall(0), forwarding(1)}
|
||||
|
||||
OR-Phase ::= INTEGER(1..127)
|
||||
|
||||
CallReferenceNumber ::= OCTET STRING(SIZE (1..8))
|
||||
|
||||
ForwardingReason ::= ENUMERATED {notReachable(0), busy(1), noReply(2)}
|
||||
|
||||
SupportedCCBS-Phase ::= INTEGER(1..127)
|
||||
|
||||
-- exception handling:
|
||||
-- Only value 1 is used.
|
||||
-- Values in the ranges 2-127 are reserved for future use.
|
||||
-- If received values 2-127 shall be mapped on to value 1.
|
||||
CallDiversionTreatmentIndicator ::= OCTET STRING(SIZE (1))
|
||||
|
||||
-- callDiversionAllowed (xxxx xx01)
|
||||
-- callDiversionNotAllowed (xxxx xx10)
|
||||
-- network default is call diversion allowed
|
||||
SendRoutingInfoRes ::= [3] SEQUENCE {
|
||||
imsi [9] IMSI OPTIONAL,
|
||||
-- IMSI must be present if SendRoutingInfoRes is not segmented.
|
||||
-- If the TC-Result-NL segmentation option is taken the IMSI must be
|
||||
-- present in one segmented transmission of SendRoutingInfoRes.
|
||||
extendedRoutingInfo ExtendedRoutingInfo OPTIONAL,
|
||||
cug-CheckInfo [3] CUG-CheckInfo OPTIONAL,
|
||||
cugSubscriptionFlag [6] NULL OPTIONAL,
|
||||
subscriberInfo [7] SubscriberInfo OPTIONAL,
|
||||
ss-List [1] SS-List OPTIONAL,
|
||||
basicService [5] Ext-BasicServiceCode OPTIONAL,
|
||||
forwardingInterrogationRequired [4] NULL OPTIONAL,
|
||||
vmsc-Address [2] ISDN-AddressString OPTIONAL,
|
||||
extensionContainer [0] ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
naea-PreferredCI [10] NAEA-PreferredCI OPTIONAL,
|
||||
-- naea-PreferredCI is included at the discretion of the HLR operator.
|
||||
ccbs-Indicators [11] CCBS-Indicators OPTIONAL,
|
||||
msisdn [12] ISDN-AddressString OPTIONAL,
|
||||
numberPortabilityStatus [13] NumberPortabilityStatus OPTIONAL,
|
||||
istAlertTimer [14] IST-AlertTimerValue OPTIONAL,
|
||||
supportedCamelPhasesInVMSC [15] SupportedCamelPhases OPTIONAL,
|
||||
offeredCamel4CSIsInVMSC [16] OfferedCamel4CSIs OPTIONAL}
|
||||
|
||||
NumberPortabilityStatus ::= ENUMERATED {
|
||||
notKnownToBePorted(0), ownNumberPortedOut(1),
|
||||
foreignNumberPortedToForeignNetwork(2), ...
|
||||
}
|
||||
|
||||
-- exception handling:
|
||||
-- reception of other values than the ones listed the receiver shall ignore the
|
||||
-- whole NumberPortabilityStatus
|
||||
CCBS-Indicators ::= SEQUENCE {
|
||||
ccbs-Possible [0] NULL OPTIONAL,
|
||||
keepCCBS-CallIndicator [1] NULL OPTIONAL,
|
||||
extensionContainer [2] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
RoutingInfo ::= CHOICE {
|
||||
roamingNumber ISDN-AddressString,
|
||||
forwardingData ForwardingData}
|
||||
|
||||
ForwardingData ::= SEQUENCE {
|
||||
forwardedToNumber [5] ISDN-AddressString OPTIONAL,
|
||||
-- When this datatype is sent from an HLR which supports CAMEL Phase 2
|
||||
-- to a GMSC which supports CAMEL Phase 2 the GMSC shall not check the
|
||||
-- format of the number
|
||||
forwardedToSubaddress [4] ISDN-SubaddressString OPTIONAL,
|
||||
forwardingOptions [6] ForwardingOptions OPTIONAL,
|
||||
extensionContainer [7] ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
longForwardedToNumber [8] FTN-AddressString OPTIONAL}
|
||||
|
||||
ProvideRoamingNumberArg ::= SEQUENCE {
|
||||
imsi [0] IMSI,
|
||||
msc-Number [1] ISDN-AddressString,
|
||||
msisdn [2] ISDN-AddressString OPTIONAL,
|
||||
lmsi [4] LMSI OPTIONAL,
|
||||
gsm-BearerCapability [5] ExternalSignalInfo OPTIONAL,
|
||||
networkSignalInfo [6] ExternalSignalInfo OPTIONAL,
|
||||
suppressionOfAnnouncement
|
||||
[7] SuppressionOfAnnouncement OPTIONAL,
|
||||
gmsc-Address [8] ISDN-AddressString OPTIONAL,
|
||||
callReferenceNumber [9] CallReferenceNumber OPTIONAL,
|
||||
or-Interrogation [10] NULL OPTIONAL,
|
||||
extensionContainer [11] ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
alertingPattern [12] AlertingPattern OPTIONAL,
|
||||
ccbs-Call [13] NULL OPTIONAL,
|
||||
supportedCamelPhasesInInterrogatingNode
|
||||
[15] SupportedCamelPhases OPTIONAL,
|
||||
additionalSignalInfo
|
||||
[14] Ext-ExternalSignalInfo OPTIONAL,
|
||||
orNotSupportedInGMSC [16] NULL OPTIONAL,
|
||||
pre-pagingSupported [17] NULL OPTIONAL,
|
||||
longFTN-Supported [18] NULL OPTIONAL,
|
||||
suppress-VT-CSI [19] NULL OPTIONAL,
|
||||
offeredCamel4CSIsInInterrogatingNode [20] OfferedCamel4CSIs OPTIONAL}
|
||||
|
||||
ProvideRoamingNumberRes ::= SEQUENCE {
|
||||
roamingNumber ISDN-AddressString,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
ResumeCallHandlingArg ::= SEQUENCE {
|
||||
callReferenceNumber [0] CallReferenceNumber OPTIONAL,
|
||||
basicServiceGroup [1] Ext-BasicServiceCode OPTIONAL,
|
||||
forwardingData [2] ForwardingData OPTIONAL,
|
||||
imsi [3] IMSI OPTIONAL,
|
||||
cug-CheckInfo [4] CUG-CheckInfo OPTIONAL,
|
||||
o-CSI [5] O-CSI OPTIONAL,
|
||||
extensionContainer [7] ExtensionContainer OPTIONAL,
|
||||
ccbs-Possible [8] NULL OPTIONAL,
|
||||
msisdn [9] ISDN-AddressString OPTIONAL,
|
||||
uu-Data [10] UU-Data OPTIONAL,
|
||||
allInformationSent [11] NULL OPTIONAL,
|
||||
...,
|
||||
d-csi [12] D-CSI OPTIONAL,
|
||||
o-BcsmCamelTDPCriteriaList [13] O-BcsmCamelTDPCriteriaList OPTIONAL}
|
||||
|
||||
UU-Data ::= SEQUENCE {
|
||||
uuIndicator [0] UUIndicator OPTIONAL,
|
||||
uui [1] UUI OPTIONAL,
|
||||
uusCFInteraction [2] NULL OPTIONAL,
|
||||
extensionContainer [3] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
UUIndicator ::= OCTET STRING(SIZE (1))
|
||||
|
||||
-- Octets are coded according to ETS 300 356
|
||||
UUI ::= OCTET STRING(SIZE (1..131))
|
||||
|
||||
-- Octets are coded according to ETS 300 356
|
||||
ResumeCallHandlingRes ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
CamelInfo ::= SEQUENCE {
|
||||
supportedCamelPhases SupportedCamelPhases,
|
||||
suppress-T-CSI NULL OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
offeredCamel4CSIs [0] OfferedCamel4CSIs OPTIONAL}
|
||||
|
||||
ExtendedRoutingInfo ::= CHOICE {
|
||||
routingInfo RoutingInfo,
|
||||
camelRoutingInfo [8] CamelRoutingInfo}
|
||||
|
||||
CamelRoutingInfo ::= SEQUENCE {
|
||||
forwardingData ForwardingData OPTIONAL,
|
||||
gmscCamelSubscriptionInfo [0] GmscCamelSubscriptionInfo,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
GmscCamelSubscriptionInfo ::= SEQUENCE {
|
||||
t-CSI [0] T-CSI OPTIONAL,
|
||||
o-CSI [1] O-CSI OPTIONAL,
|
||||
extensionContainer [2] ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
o-BcsmCamelTDP-CriteriaList [3] O-BcsmCamelTDPCriteriaList OPTIONAL,
|
||||
t-BCSM-CAMEL-TDP-CriteriaList [4] T-BCSM-CAMEL-TDP-CriteriaList OPTIONAL,
|
||||
d-csi [5] D-CSI OPTIONAL}
|
||||
|
||||
ProvideSIWFSNumberArg ::= SEQUENCE {
|
||||
gsm-BearerCapability [0] ExternalSignalInfo,
|
||||
isdn-BearerCapability [1] ExternalSignalInfo,
|
||||
call-Direction [2] CallDirection,
|
||||
b-Subscriber-Address [3] ISDN-AddressString,
|
||||
chosenChannel [4] ExternalSignalInfo,
|
||||
lowerLayerCompatibility [5] ExternalSignalInfo OPTIONAL,
|
||||
highLayerCompatibility [6] ExternalSignalInfo OPTIONAL,
|
||||
extensionContainer [7] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
CallDirection ::= OCTET STRING(SIZE (1))
|
||||
|
||||
-- OCTET 1
|
||||
-- bit 1 (direction of call)
|
||||
-- 0 Mobile Originated Call (MOC)
|
||||
-- 1 Mobile Terminated Call (MTC)
|
||||
ProvideSIWFSNumberRes ::= SEQUENCE {
|
||||
sIWFSNumber [0] ISDN-AddressString,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
SIWFSSignallingModifyArg ::= SEQUENCE {
|
||||
channelType [0] ExternalSignalInfo OPTIONAL,
|
||||
chosenChannel [1] ExternalSignalInfo OPTIONAL,
|
||||
extensionContainer [2] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
SIWFSSignallingModifyRes ::= SEQUENCE {
|
||||
chosenChannel [0] ExternalSignalInfo OPTIONAL,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
SetReportingStateArg ::= SEQUENCE {
|
||||
imsi [0] IMSI OPTIONAL,
|
||||
lmsi [1] LMSI OPTIONAL,
|
||||
ccbs-Monitoring [2] ReportingState OPTIONAL,
|
||||
extensionContainer [3] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
ReportingState ::= ENUMERATED {stopMonitoring(0), startMonitoring(1), ...
|
||||
}
|
||||
|
||||
-- exception handling:
|
||||
-- reception of values 2-10 shall be mapped to 'stopMonitoring'
|
||||
-- reception of values > 10 shall be mapped to 'startMonitoring'
|
||||
SetReportingStateRes ::= SEQUENCE {
|
||||
ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
CCBS-SubscriberStatus ::= ENUMERATED {
|
||||
ccbsNotIdle(0), ccbsIdle(1), ccbsNotReachable(2), ...
|
||||
}
|
||||
|
||||
-- exception handling:
|
||||
-- reception of values 3-10 shall be mapped to 'ccbsNotIdle'
|
||||
-- reception of values 11-20 shall be mapped to 'ccbsIdle'
|
||||
-- reception of values > 20 shall be mapped to 'ccbsNotReachable'
|
||||
StatusReportArg ::= SEQUENCE {
|
||||
imsi [0] IMSI,
|
||||
eventReportData [1] EventReportData OPTIONAL,
|
||||
callReportdata [2] CallReportData OPTIONAL,
|
||||
extensionContainer [3] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
EventReportData ::= SEQUENCE {
|
||||
ccbs-SubscriberStatus [0] CCBS-SubscriberStatus OPTIONAL,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
CallReportData ::= SEQUENCE {
|
||||
monitoringMode [0] MonitoringMode OPTIONAL,
|
||||
callOutcome [1] CallOutcome OPTIONAL,
|
||||
extensionContainer [2] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
MonitoringMode ::= ENUMERATED {a-side(0), b-side(1), ...
|
||||
}
|
||||
|
||||
-- exception handling:
|
||||
-- reception of values 2-10 shall be mapped 'a-side'
|
||||
-- reception of values > 10 shall be mapped to 'b-side'
|
||||
CallOutcome ::= ENUMERATED {success(0), failure(1), busy(2), ...
|
||||
}
|
||||
|
||||
-- exception handling:
|
||||
-- reception of values 3-10 shall be mapped to 'success'
|
||||
-- reception of values 11-20 shall be mapped to 'failure'
|
||||
-- reception of values > 20 shall be mapped to 'busy'
|
||||
StatusReportRes ::= SEQUENCE {
|
||||
extensionContainer [0] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
RemoteUserFreeArg ::= SEQUENCE {
|
||||
imsi [0] IMSI,
|
||||
callInfo [1] ExternalSignalInfo,
|
||||
ccbs-Feature [2] CCBS-Feature,
|
||||
translatedB-Number [3] ISDN-AddressString,
|
||||
replaceB-Number [4] NULL OPTIONAL,
|
||||
alertingPattern [5] AlertingPattern OPTIONAL,
|
||||
extensionContainer [6] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
RemoteUserFreeRes ::= SEQUENCE {
|
||||
ruf-Outcome [0] RUF-Outcome,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
RUF-Outcome ::= ENUMERATED {
|
||||
accepted(0), rejected(1),
|
||||
noResponseFromFreeMS(2), -- T4 Expiry
|
||||
noResponseFromBusyMS(3), -- T10 Expiry
|
||||
udubFromFreeMS(4), udubFromBusyMS(5), ...
|
||||
}
|
||||
|
||||
-- exception handling:
|
||||
-- reception of values 6-20 shall be mapped to 'accepted'
|
||||
-- reception of values 21-30 shall be mapped to 'rejected'
|
||||
-- reception of values 31-40 shall be mapped to 'noResponseFromFreeMS'
|
||||
-- reception of values 41-50 shall be mapped to 'noResponseFromBusyMS'
|
||||
-- reception of values 51-60 shall be mapped to 'udubFromFreeMS'
|
||||
-- reception of values > 60 shall be mapped to 'udubFromBusyMS'
|
||||
IST-AlertArg ::= SEQUENCE {
|
||||
imsi [0] IMSI,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
IST-AlertRes ::= SEQUENCE {
|
||||
istAlertTimer [0] IST-AlertTimerValue OPTIONAL,
|
||||
istInformationWithdraw [1] NULL OPTIONAL,
|
||||
callTerminationIndicator [2] CallTerminationIndicator OPTIONAL,
|
||||
extensionContainer [3] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
IST-CommandArg ::= SEQUENCE {
|
||||
imsi [0] IMSI,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
IST-CommandRes ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
CallTerminationIndicator ::= ENUMERATED {
|
||||
terminateCallActivityReferred(0), terminateAllCallActivities(1), ...
|
||||
}
|
||||
|
||||
-- exception handling:
|
||||
-- reception of values 2-10 shall be mapped to ' terminateCallActivityReferred '
|
||||
-- reception of values > 10 shall be mapped to ' terminateAllCallActivities '
|
||||
-- In MSCs not supporting linkage of all call activities, any value received shall
|
||||
-- be interpreted as ' terminateCallActivityReferred '
|
||||
END
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-CallHandlingOperations {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-CallHandlingOperations(7)
|
||||
version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
sendRoutingInfo, provideRoamingNumber, resumeCallHandling,
|
||||
provideSIWFSNumber, siwfs-SignallingModify, setReportingState,
|
||||
statusReport, remoteUserFree, ist-Alert, ist-Command;
|
||||
|
||||
IMPORTS
|
||||
OPERATION
|
||||
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
|
||||
remote-operations(4) informationObjects(5) version1(0)}
|
||||
systemFailure, dataMissing, unexpectedDataValue, facilityNotSupported,
|
||||
or-NotAllowed, unknownSubscriber, numberChanged,
|
||||
bearerServiceNotProvisioned, teleserviceNotProvisioned,
|
||||
noRoamingNumberAvailable, absentSubscriber, busySubscriber,
|
||||
noSubscriberReply, callBarred, forwardingViolation, forwardingFailed,
|
||||
cug-Reject, resourceLimitation, incompatibleTerminal,
|
||||
unidentifiedSubscriber
|
||||
FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-Errors(10) version8(8)}
|
||||
SendRoutingInfoArg, SendRoutingInfoRes, ProvideRoamingNumberArg,
|
||||
ProvideRoamingNumberRes, ResumeCallHandlingArg, ResumeCallHandlingRes,
|
||||
ProvideSIWFSNumberArg, ProvideSIWFSNumberRes, SIWFSSignallingModifyArg,
|
||||
SIWFSSignallingModifyRes, SetReportingStateArg, SetReportingStateRes,
|
||||
StatusReportArg, StatusReportRes, RemoteUserFreeArg, RemoteUserFreeRes,
|
||||
IST-AlertArg, IST-AlertRes, IST-CommandArg, IST-CommandRes
|
||||
FROM MAP-CH-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-CH-DataTypes(13)
|
||||
version8(8)};
|
||||
|
||||
sendRoutingInfo OPERATION ::= { --Timer m
|
||||
-- The timer is set to the upper limit of the range if the GMSC supports pre-paging.
|
||||
ARGUMENT SendRoutingInfoArg
|
||||
RESULT SendRoutingInfoRes
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported |
|
||||
or-NotAllowed | unknownSubscriber | numberChanged |
|
||||
bearerServiceNotProvisioned | teleserviceNotProvisioned |
|
||||
absentSubscriber | busySubscriber | noSubscriberReply | callBarred |
|
||||
cug-Reject | forwardingViolation}
|
||||
CODE local:22}
|
||||
|
||||
provideRoamingNumber OPERATION ::= { --Timer m
|
||||
-- The timer is set to the upper limit of the range if the HLR supports pre-paging.
|
||||
ARGUMENT ProvideRoamingNumberArg
|
||||
RESULT ProvideRoamingNumberRes
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported |
|
||||
or-NotAllowed | absentSubscriber | noRoamingNumberAvailable}
|
||||
CODE local:4}
|
||||
|
||||
resumeCallHandling OPERATION ::= { --Timer m
|
||||
ARGUMENT ResumeCallHandlingArg
|
||||
RESULT ResumeCallHandlingRes
|
||||
-- optional
|
||||
ERRORS
|
||||
{forwardingFailed | or-NotAllowed | unexpectedDataValue | dataMissing}
|
||||
CODE local:6}
|
||||
|
||||
provideSIWFSNumber OPERATION ::= { --Timer m
|
||||
ARGUMENT ProvideSIWFSNumberArg
|
||||
RESULT ProvideSIWFSNumberRes
|
||||
ERRORS
|
||||
{resourceLimitation | dataMissing | unexpectedDataValue | systemFailure}
|
||||
CODE local:31}
|
||||
|
||||
siwfs-SignallingModify OPERATION ::= { --Timer m
|
||||
ARGUMENT SIWFSSignallingModifyArg
|
||||
RESULT SIWFSSignallingModifyRes
|
||||
-- optional
|
||||
ERRORS
|
||||
{resourceLimitation | dataMissing | unexpectedDataValue | systemFailure}
|
||||
CODE local:32}
|
||||
|
||||
setReportingState OPERATION ::= { --Timer m
|
||||
ARGUMENT SetReportingStateArg
|
||||
RESULT SetReportingStateRes
|
||||
-- optional
|
||||
ERRORS
|
||||
{systemFailure | unidentifiedSubscriber | unexpectedDataValue | dataMissing
|
||||
| resourceLimitation | facilityNotSupported}
|
||||
CODE local:73}
|
||||
|
||||
statusReport OPERATION ::= { --Timer m
|
||||
ARGUMENT StatusReportArg
|
||||
RESULT StatusReportRes
|
||||
-- optional
|
||||
ERRORS
|
||||
{unknownSubscriber | systemFailure | unexpectedDataValue | dataMissing}
|
||||
CODE local:74}
|
||||
|
||||
remoteUserFree OPERATION ::= { --Timer ml
|
||||
ARGUMENT RemoteUserFreeArg
|
||||
RESULT RemoteUserFreeRes
|
||||
ERRORS
|
||||
{unexpectedDataValue | dataMissing | incompatibleTerminal |
|
||||
absentSubscriber | systemFailure | busySubscriber}
|
||||
CODE local:75}
|
||||
|
||||
ist-Alert OPERATION ::= { --Timer m
|
||||
ARGUMENT IST-AlertArg
|
||||
RESULT IST-AlertRes
|
||||
-- optional
|
||||
ERRORS
|
||||
{unexpectedDataValue | resourceLimitation | unknownSubscriber |
|
||||
systemFailure | facilityNotSupported}
|
||||
CODE local:87}
|
||||
|
||||
ist-Command OPERATION ::= { --Timer m
|
||||
ARGUMENT IST-CommandArg
|
||||
RESULT IST-CommandRes
|
||||
-- optional
|
||||
ERRORS
|
||||
{unexpectedDataValue | resourceLimitation | unknownSubscriber |
|
||||
systemFailure | facilityNotSupported}
|
||||
CODE local:88}
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,449 @@
|
|||
MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-CommonDataTypes(18) version8(8)} DEFINITIONS
|
||||
IMPLICIT TAGS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
-- general data types and values
|
||||
AddressString, ISDN-AddressString, maxISDN-AddressLength, FTN-AddressString,
|
||||
ISDN-SubaddressString, ExternalSignalInfo, Ext-ExternalSignalInfo,
|
||||
AccessNetworkSignalInfo, SignalInfo, maxSignalInfoLength,
|
||||
AlertingPattern,
|
||||
-- data types for numbering and identification
|
||||
IMSI, TMSI, Identity, SubscriberId, IMEI, HLR-List, LMSI, GlobalCellId,
|
||||
NetworkResource, NAEA-PreferredCI, NAEA-CIC, ASCI-CallReference,
|
||||
SubscriberIdentity,
|
||||
-- data types for CAMEL
|
||||
CellGlobalIdOrServiceAreaIdOrLAI,
|
||||
-- data types for subscriber management
|
||||
BasicServiceCode, Ext-BasicServiceCode, EMLPP-Info, EMLPP-Priority,
|
||||
MC-SS-Info, MaxMC-Bearers, MC-Bearers,
|
||||
Ext-SS-Status,
|
||||
-- data types for geographic location
|
||||
AgeOfLocationInformation, LCSClientExternalID, LCSClientInternalID,
|
||||
LCSServiceTypeID;
|
||||
|
||||
IMPORTS
|
||||
TeleserviceCode, Ext-TeleserviceCode
|
||||
FROM MAP-TS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-TS-Code(19) version8(8)}
|
||||
BearerServiceCode, Ext-BearerServiceCode
|
||||
FROM MAP-BS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-BS-Code(20) version8(8)}
|
||||
SS-Code
|
||||
FROM MAP-SS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-SS-Code(15) version8(8)}
|
||||
ExtensionContainer
|
||||
FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21)
|
||||
version8(8)};
|
||||
|
||||
-- general data types
|
||||
TBCD-STRING ::= OCTET STRING
|
||||
|
||||
-- This type (Telephony Binary Coded Decimal String) is used to
|
||||
-- represent several digits from 0 through 9, *, #, a, b, c, two
|
||||
-- digits per octet, each digit encoded 0000 to 1001 (0 to 9),
|
||||
-- 1010 (*), 1011 (#), 1100 (a), 1101 (b) or 1110 (c); 1111 used
|
||||
-- as filler when there is an odd number of digits.
|
||||
-- bits 8765 of octet n encoding digit 2n
|
||||
-- bits 4321 of octet n encoding digit 2(n-1) +1
|
||||
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
|
||||
|
||||
-- vances@motivity.ca Mon Dec 20 2004
|
||||
-- There apears to be a bug in asn1 which we need to work around here
|
||||
--- ISDN-AddressString ::= AddressString(SIZE (1..maxISDN-AddressLength))
|
||||
ISDN-AddressString ::= AddressString(SIZE (1..9))
|
||||
|
||||
-- This type is used to represent ISDN numbers.
|
||||
maxISDN-AddressLength INTEGER ::= 9
|
||||
|
||||
-- vances@motivity.ca Mon Dec 20 2004
|
||||
-- There apears to be a bug in asn1 which we need to work around here
|
||||
-- FTN-AddressString ::= AddressString(SIZE (1..maxFTN-AddressLength))
|
||||
FTN-AddressString ::= AddressString(SIZE (1..15))
|
||||
|
||||
-- This type is used to represent forwarded-to numbers.
|
||||
-- For long forwarded-to numbers (longer than 15 digits) NPI shall be unknown;
|
||||
-- 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
|
||||
|
||||
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
|
||||
|
||||
ExternalSignalInfo ::= SEQUENCE {
|
||||
protocolId ProtocolId,
|
||||
signalInfo SignalInfo,
|
||||
-- Information about the internal structure is given in
|
||||
-- clause 7.6.9.
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
-- extensionContainer must not be used in version 2
|
||||
...}
|
||||
|
||||
SignalInfo ::= OCTET STRING(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.
|
||||
ProtocolId ::= ENUMERATED {
|
||||
gsm-0408(1), gsm-0806(2),
|
||||
gsm-BSSMAP(3),
|
||||
-- Value 3 is reserved and must not be used
|
||||
ets-300102-1(4)}
|
||||
|
||||
Ext-ExternalSignalInfo ::= SEQUENCE {
|
||||
ext-ProtocolId Ext-ProtocolId,
|
||||
signalInfo SignalInfo,
|
||||
-- Information about the internal structure is given in
|
||||
-- clause 7.6.9.10
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
Ext-ProtocolId ::= ENUMERATED {ets-300356(1), ... }
|
||||
|
||||
-- exception handling:
|
||||
-- For Ext-ExternalSignalInfo sequences containing this parameter with any
|
||||
-- other value than the ones listed the receiver shall ignore the whole
|
||||
-- Ext-ExternalSignalInfo sequence.
|
||||
AccessNetworkSignalInfo ::= SEQUENCE {
|
||||
accessNetworkProtocolId AccessNetworkProtocolId,
|
||||
signalInfo LongSignalInfo,
|
||||
-- Information about the internal structure is given in clause 7.6.9.1
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
LongSignalInfo ::= OCTET STRING(SIZE (1..maxLongSignalInfoLength))
|
||||
|
||||
maxLongSignalInfoLength INTEGER ::= 2560
|
||||
|
||||
-- This Named Value represents the maximum number of octets which is available
|
||||
-- to carry a single instance of the LongSignalInfo data type using
|
||||
-- White Book SCCP with the maximum number of segments.
|
||||
-- It takes account of the octets used by the lower layers of the protocol, and
|
||||
-- other information elements which may be included in the same component.
|
||||
AccessNetworkProtocolId ::= ENUMERATED {ts3G-48006(1), ts3G-25413(2), ... }
|
||||
|
||||
-- exception handling:
|
||||
-- For AccessNetworkSignalInfo sequences containing this parameter with any
|
||||
-- other value than the ones listed the receiver shall ignore the whole
|
||||
-- AccessNetworkSignalInfo sequence.
|
||||
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
|
||||
-- data types for numbering and identification
|
||||
IMSI ::= TBCD-STRING(SIZE (3..8))
|
||||
|
||||
-- digits of MCC, MNC, MSIN are concatenated in this order.
|
||||
Identity ::= CHOICE {imsi IMSI,
|
||||
imsi-WithLMSI IMSI-WithLMSI}
|
||||
|
||||
IMSI-WithLMSI ::= SEQUENCE {
|
||||
imsi IMSI,
|
||||
lmsi LMSI,
|
||||
-- a special value 00000000 indicates that the LMSI is not in use
|
||||
...}
|
||||
|
||||
ASCI-CallReference ::= TBCD-STRING(SIZE (1..8))
|
||||
|
||||
-- digits of VGCS/VBC-area,Group-ID are concatenated in this order.
|
||||
TMSI ::= OCTET STRING(SIZE (1..4))
|
||||
|
||||
SubscriberId ::= CHOICE {imsi [0] IMSI,
|
||||
tmsi [1] TMSI}
|
||||
|
||||
IMEI ::= TBCD-STRING(SIZE (8))
|
||||
|
||||
-- Refers to International Mobile Station Equipment Identity
|
||||
-- and Software Version Number (SVN) defined in TS 3GPP TS 23.003 [17].
|
||||
-- If the SVN is not present the last octet shall contain the
|
||||
-- digit 0 and a filler.
|
||||
-- If present the SVN shall be included in the last octet.
|
||||
HLR-Id ::= IMSI
|
||||
|
||||
-- leading digits of IMSI, i.e. (MCC, MNC, leading digits of
|
||||
-- MSIN) forming HLR Id defined in TS 3GPP TS 23.003 [17].
|
||||
HLR-List ::= SEQUENCE SIZE (1..maxNumOfHLR-Id) OF HLR-Id
|
||||
|
||||
maxNumOfHLR-Id INTEGER ::= 50
|
||||
|
||||
LMSI ::= OCTET STRING(SIZE (4))
|
||||
|
||||
GlobalCellId ::= OCTET STRING(SIZE (5..7))
|
||||
|
||||
-- Refers to Cell Global Identification defined in TS 3GPP TS 23.003 [17].
|
||||
-- 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
|
||||
-- octets 4 and 5 Location Area Code according to TS 3GPP TS 24.008 [35]
|
||||
-- octets 6 and 7 Cell Identity (CI) according to TS 3GPP TS 24.008 [35]
|
||||
NetworkResource ::= ENUMERATED {
|
||||
plmn(0), hlr(1), vlr(2), pvlr(3), controllingMSC(4), vmsc(5), eir(6), rss(7)
|
||||
}
|
||||
|
||||
NAEA-PreferredCI ::= SEQUENCE {
|
||||
naea-PreferredCIC [0] NAEA-CIC,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
NAEA-CIC ::= OCTET STRING(SIZE (3))
|
||||
|
||||
-- The internal structure is defined by the Carrier Identification
|
||||
-- parameter in ANSI T1.113.3. Carrier codes between “000” and “999” may
|
||||
-- be encoded as 3 digits using “000” to “999” or as 4 digits using
|
||||
-- “0000” to “0999”. Carrier codes between “1000” and “9999” are encoded
|
||||
-- using 4 digits.
|
||||
SubscriberIdentity ::= CHOICE {
|
||||
imsi [0] IMSI,
|
||||
msisdn [1] ISDN-AddressString}
|
||||
|
||||
LCSClientExternalID ::= SEQUENCE {
|
||||
externalAddress [0] ISDN-AddressString OPTIONAL,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
LCSClientInternalID ::= ENUMERATED {
|
||||
broadcastService(0), o-andM-HPLMN(1), o-andM-VPLMN(2), anonymousLocation(3),
|
||||
targetMSsubscribedService(4), ...
|
||||
}
|
||||
|
||||
-- for a CAMEL phase 3 PLMN operator client, the value targetMSsubscribedService shall be used
|
||||
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
|
||||
emergencyServices LCSServiceTypeID ::= 0
|
||||
|
||||
emergencyAlertServices LCSServiceTypeID ::= 1
|
||||
|
||||
personTracking LCSServiceTypeID ::= 2
|
||||
|
||||
fleetManagement LCSServiceTypeID ::= 3
|
||||
|
||||
assetManagement LCSServiceTypeID ::= 4
|
||||
|
||||
trafficCongestionReporting LCSServiceTypeID ::= 5
|
||||
|
||||
roadsideAssistance LCSServiceTypeID ::= 6
|
||||
|
||||
routingToNearestCommercialEnterprise LCSServiceTypeID ::= 7
|
||||
|
||||
navigation LCSServiceTypeID ::= 8
|
||||
|
||||
citySightseeing LCSServiceTypeID ::= 9
|
||||
|
||||
localizedAdvertising LCSServiceTypeID ::= 10
|
||||
|
||||
mobileYellowPages LCSServiceTypeID ::= 11
|
||||
|
||||
-- The values of LCSServiceTypeID are defined according to 3GPP TS 22.071.
|
||||
-- data types for CAMEL
|
||||
CellGlobalIdOrServiceAreaIdOrLAI ::= CHOICE {
|
||||
cellGlobalIdOrServiceAreaIdFixedLength
|
||||
[0] CellGlobalIdOrServiceAreaIdFixedLength,
|
||||
laiFixedLength [1] LAIFixedLength}
|
||||
|
||||
CellGlobalIdOrServiceAreaIdFixedLength ::= OCTET STRING(SIZE (7))
|
||||
|
||||
-- Refers to Cell Global Identification or Service Are Identification
|
||||
-- defined in 3GPP TS 23.003.
|
||||
-- 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
|
||||
-- octets 4 and 5 Location Area Code according to 3GPP TS 24.008
|
||||
-- octets 6 and 7 Cell Identity (CI) value or
|
||||
-- Service Area Code (SAC) value
|
||||
-- according to 3GPP TS 23.003
|
||||
LAIFixedLength ::= OCTET STRING(SIZE (5))
|
||||
|
||||
-- Refers to Location Area Identification defined in TS 3GPP TS 23.003 [17].
|
||||
-- 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
|
||||
-- octets 4 and 5 Location Area Code according to TS 3GPP TS 24.008 [35]
|
||||
-- data types for subscriber management
|
||||
BasicServiceCode ::= CHOICE {
|
||||
bearerService [2] BearerServiceCode,
|
||||
teleservice [3] TeleserviceCode}
|
||||
|
||||
Ext-BasicServiceCode ::= CHOICE {
|
||||
ext-BearerService [2] Ext-BearerServiceCode,
|
||||
ext-Teleservice [3] Ext-TeleserviceCode}
|
||||
|
||||
EMLPP-Info ::= SEQUENCE {
|
||||
maximumentitledPriority EMLPP-Priority,
|
||||
defaultPriority EMLPP-Priority,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
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
|
||||
priorityLevelA EMLPP-Priority ::= 6
|
||||
|
||||
priorityLevelB EMLPP-Priority ::= 5
|
||||
|
||||
priorityLevel0 EMLPP-Priority ::= 0
|
||||
|
||||
priorityLevel1 EMLPP-Priority ::= 1
|
||||
|
||||
priorityLevel2 EMLPP-Priority ::= 2
|
||||
|
||||
priorityLevel3 EMLPP-Priority ::= 3
|
||||
|
||||
priorityLevel4 EMLPP-Priority ::= 4
|
||||
|
||||
MC-SS-Info ::= SEQUENCE {
|
||||
ss-Code [0] SS-Code,
|
||||
ss-Status [1] Ext-SS-Status,
|
||||
nbrSB [2] MaxMC-Bearers,
|
||||
nbrUser [3] MC-Bearers,
|
||||
extensionContainer [4] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
MaxMC-Bearers ::= INTEGER(2..maxNumOfMC-Bearers)
|
||||
|
||||
MC-Bearers ::= INTEGER(1..maxNumOfMC-Bearers)
|
||||
|
||||
maxNumOfMC-Bearers INTEGER ::= 7
|
||||
|
||||
Ext-SS-Status ::= OCTET STRING(SIZE (1..5))
|
||||
|
||||
-- OCTET 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"
|
||||
-- OCTETS 2-5: reserved for future use. They shall be discarded if
|
||||
-- received and not understood.
|
||||
-- data types for geographic location
|
||||
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
|
||||
-- value “32767” indicates that the location information is at least
|
||||
-- 32767 minutes old
|
||||
END
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-DialogueInformation {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-DialogueInformation(3)
|
||||
version8(8)} DEFINITIONS IMPLICIT TAGS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
map-DialogueAS, MAP-DialoguePDU, map-ProtectedDialogueAS,
|
||||
MAP-ProtectedDialoguePDU;
|
||||
|
||||
IMPORTS
|
||||
gsm-NetworkId, as-Id
|
||||
FROM MobileDomainDefinitions {itu-t(0) identified-organization(4)
|
||||
etsi(0) mobileDomain(0) mobileDomainDefinitions(0) version1(1)}
|
||||
AddressString
|
||||
FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18)
|
||||
version8(8)}
|
||||
ExtensionContainer
|
||||
FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21)
|
||||
version8(8)}
|
||||
SecurityHeader, ProtectedPayload
|
||||
FROM MAP-ST-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ST-DataTypes(27)
|
||||
version8(8)};
|
||||
|
||||
-- abstract syntax name for MAP-DialoguePDU
|
||||
map-DialogueAS OBJECT IDENTIFIER ::=
|
||||
{gsm-NetworkId as-Id map-DialoguePDU(1) version1(1)}
|
||||
|
||||
MAP-DialoguePDU ::= CHOICE {
|
||||
map-open [0] MAP-OpenInfo,
|
||||
map-accept [1] MAP-AcceptInfo,
|
||||
map-close [2] MAP-CloseInfo,
|
||||
map-refuse [3] MAP-RefuseInfo,
|
||||
map-userAbort [4] MAP-UserAbortInfo,
|
||||
map-providerAbort [5] MAP-ProviderAbortInfo}
|
||||
|
||||
MAP-OpenInfo ::= SEQUENCE {
|
||||
destinationReference [0] AddressString OPTIONAL,
|
||||
originationReference [1] AddressString OPTIONAL,
|
||||
...,
|
||||
extensionContainer ExtensionContainer OPTIONAL}
|
||||
-- extensionContainer must not be used in version 2
|
||||
|
||||
MAP-AcceptInfo ::= SEQUENCE {
|
||||
...,
|
||||
extensionContainer ExtensionContainer OPTIONAL}
|
||||
-- extensionContainer must not be used in version 2
|
||||
|
||||
MAP-CloseInfo ::= SEQUENCE {
|
||||
...,
|
||||
extensionContainer ExtensionContainer OPTIONAL}
|
||||
-- extensionContainer must not be used in version 2
|
||||
|
||||
MAP-RefuseInfo ::= SEQUENCE {
|
||||
reason Reason,
|
||||
...,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
-- extensionContainer must not be used in version 2
|
||||
alternativeApplicationContext OBJECT IDENTIFIER OPTIONAL}
|
||||
-- alternativeApplicationContext must not be used in version 2
|
||||
|
||||
Reason ::= ENUMERATED {
|
||||
noReasonGiven(0), invalidDestinationReference(1),
|
||||
invalidOriginatingReference(2), encapsulatedAC-NotSupported(3),
|
||||
transportProtectionNotAdequate(4)}
|
||||
|
||||
-- encapsulatedAC-NotSupported and transportProtectionNotAdequate must not be used in
|
||||
-- dialogues with an AC different from secureTransportHandling
|
||||
MAP-UserAbortInfo ::= SEQUENCE {
|
||||
map-UserAbortChoice MAP-UserAbortChoice,
|
||||
...,
|
||||
extensionContainer ExtensionContainer OPTIONAL}
|
||||
-- extensionContainer must not be used in version 2
|
||||
|
||||
MAP-UserAbortChoice ::= CHOICE {
|
||||
userSpecificReason [0] NULL,
|
||||
userResourceLimitation [1] NULL,
|
||||
resourceUnavailable [2] ResourceUnavailableReason,
|
||||
applicationProcedureCancellation [3] ProcedureCancellationReason}
|
||||
|
||||
ResourceUnavailableReason ::= ENUMERATED {
|
||||
shortTermResourceLimitation(0), longTermResourceLimitation(1)}
|
||||
|
||||
ProcedureCancellationReason ::= ENUMERATED {
|
||||
handoverCancellation(0), radioChannelRelease(1), networkPathRelease(2),
|
||||
callRelease(3), associatedProcedureFailure(4), tandemDialogueRelease(5),
|
||||
remoteOperationsFailure(6)}
|
||||
|
||||
MAP-ProviderAbortInfo ::= SEQUENCE {
|
||||
map-ProviderAbortReason MAP-ProviderAbortReason,
|
||||
...,
|
||||
extensionContainer ExtensionContainer OPTIONAL}
|
||||
-- extensionContainer must not be used in version 2
|
||||
|
||||
MAP-ProviderAbortReason ::= ENUMERATED {abnormalDialogue(0), invalidPDU(1)}
|
||||
|
||||
-- abstract syntax name for MAP-ProtectedDialoguePDU
|
||||
map-ProtectedDialogueAS OBJECT IDENTIFIER ::=
|
||||
{gsm-NetworkId as-Id map-ProtectedDialoguePDU(3) version1(1)}
|
||||
|
||||
MAP-ProtectedDialoguePDU ::= SEQUENCE {
|
||||
encapsulatedAC OBJECT IDENTIFIER,
|
||||
securityHeader SecurityHeader OPTIONAL,
|
||||
protectedPayload ProtectedPayload OPTIONAL,
|
||||
...}
|
||||
|
||||
-- The protectedPayload carries the result of applying the security function
|
||||
-- defined in 3GPP TS 33.200 to the encoding of the securely transported
|
||||
-- MAP-DialoguePDU
|
||||
END
|
||||
|
|
@ -0,0 +1,332 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-ER-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-ER-DataTypes(17) version8(8)} DEFINITIONS
|
||||
IMPLICIT TAGS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
RoamingNotAllowedParam, CallBarredParam, CUG-RejectParam,
|
||||
SS-IncompatibilityCause, PW-RegistrationFailureCause,
|
||||
SM-DeliveryFailureCause, SystemFailureParam, DataMissingParam,
|
||||
UnexpectedDataParam, FacilityNotSupParam, OR-NotAllowedParam,
|
||||
UnknownSubscriberParam, NumberChangedParam, UnidentifiedSubParam,
|
||||
IllegalSubscriberParam, IllegalEquipmentParam, BearerServNotProvParam,
|
||||
TeleservNotProvParam, TracingBufferFullParam, NoRoamingNbParam,
|
||||
AbsentSubscriberParam, BusySubscriberParam, NoSubscriberReplyParam,
|
||||
ForwardingViolationParam, ForwardingFailedParam, ATI-NotAllowedParam,
|
||||
SubBusyForMT-SMS-Param, MessageWaitListFullParam, AbsentSubscriberSM-Param,
|
||||
AbsentSubscriberDiagnosticSM, ResourceLimitationParam, NoGroupCallNbParam,
|
||||
IncompatibleTerminalParam, ShortTermDenialParam, LongTermDenialParam,
|
||||
UnauthorizedRequestingNetwork-Param, UnauthorizedLCSClient-Param,
|
||||
PositionMethodFailure-Param, UnknownOrUnreachableLCSClient-Param,
|
||||
MM-EventNotSupported-Param, SecureTransportErrorParam,
|
||||
ATSI-NotAllowedParam, ATM-NotAllowedParam, IllegalSS-OperationParam,
|
||||
SS-NotAvailableParam, SS-SubscriptionViolationParam,
|
||||
InformationNotAvailableParam, TargetCellOutsideGCA-Param;
|
||||
|
||||
IMPORTS
|
||||
SS-Status
|
||||
FROM MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-SS-DataTypes(14)
|
||||
version8(8)}
|
||||
SignalInfo, BasicServiceCode, NetworkResource
|
||||
FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18)
|
||||
version8(8)}
|
||||
SecurityHeader, ProtectedPayload
|
||||
FROM MAP-ST-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ST-DataTypes(27)
|
||||
version8(8)}
|
||||
SS-Code
|
||||
FROM MAP-SS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-SS-Code(15) version8(8)}
|
||||
ExtensionContainer
|
||||
FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21)
|
||||
version8(8)};
|
||||
|
||||
RoamingNotAllowedParam ::= SEQUENCE {
|
||||
roamingNotAllowedCause RoamingNotAllowedCause,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
RoamingNotAllowedCause ::= ENUMERATED {
|
||||
plmnRoamingNotAllowed(0), operatorDeterminedBarring(3)}
|
||||
|
||||
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}
|
||||
|
||||
CUG-RejectParam ::= SEQUENCE {
|
||||
cug-RejectCause CUG-RejectCause OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
CUG-RejectCause ::= ENUMERATED {
|
||||
incomingCallsBarredWithinCUG(0), subscriberNotMemberOfCUG(1),
|
||||
requestedBasicServiceViolatesCUG-Constraints(5),
|
||||
calledPartySS-InteractionViolation(7)}
|
||||
|
||||
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)}
|
||||
|
||||
SM-EnumeratedDeliveryFailureCause ::= ENUMERATED {
|
||||
memoryCapacityExceeded(0), equipmentProtocolError(1),
|
||||
equipmentNotSM-Equipped(2), unknownServiceCentre(3), sc-Congestion(4),
|
||||
invalidSME-Address(5), subscriberNotSC-Subscriber(6)}
|
||||
|
||||
SM-DeliveryFailureCause ::= SEQUENCE {
|
||||
sm-EnumeratedDeliveryFailureCause SM-EnumeratedDeliveryFailureCause,
|
||||
diagnosticInfo SignalInfo OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
AbsentSubscriberSM-Param ::= SEQUENCE {
|
||||
absentSubscriberDiagnosticSM
|
||||
AbsentSubscriberDiagnosticSM OPTIONAL,
|
||||
-- AbsentSubscriberDiagnosticSM can be either for non-GPRS
|
||||
-- or for GPRS
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
additionalAbsentSubscriberDiagnosticSM
|
||||
[0] AbsentSubscriberDiagnosticSM OPTIONAL}
|
||||
|
||||
-- if received, additionalAbsentSubscriberDiagnosticSM
|
||||
-- is for GPRS and absentSubscriberDiagnosticSM is
|
||||
-- for non-GPRS
|
||||
AbsentSubscriberDiagnosticSM ::= INTEGER(0..255)
|
||||
|
||||
-- AbsentSubscriberDiagnosticSM values are defined in 3GPP TS 23.040
|
||||
SystemFailureParam ::= CHOICE {
|
||||
networkResource NetworkResource,
|
||||
-- networkResource must not be used in version 3
|
||||
extensibleSystemFailureParam ExtensibleSystemFailureParam}
|
||||
-- extensibleSystemFailureParam must not be used in version <3
|
||||
|
||||
ExtensibleSystemFailureParam ::= SEQUENCE {
|
||||
networkResource NetworkResource OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
DataMissingParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
UnexpectedDataParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
FacilityNotSupParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
shapeOfLocationEstimateNotSupported [0] NULL OPTIONAL,
|
||||
neededLcsCapabilityNotSupportedInServingNode [1] NULL OPTIONAL}
|
||||
|
||||
OR-NotAllowedParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
UnknownSubscriberParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
unknownSubscriberDiagnostic UnknownSubscriberDiagnostic OPTIONAL}
|
||||
|
||||
UnknownSubscriberDiagnostic ::= ENUMERATED {
|
||||
imsiUnknown(0), gprsSubscriptionUnknown(1), ...,
|
||||
npdbMismatch(2)}
|
||||
|
||||
-- if unknown values are received in
|
||||
-- UnknownSubscriberDiagnostic they shall be discarded
|
||||
NumberChangedParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
UnidentifiedSubParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
IllegalSubscriberParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
IllegalEquipmentParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
BearerServNotProvParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
TeleservNotProvParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
TracingBufferFullParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
NoRoamingNbParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
AbsentSubscriberParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
absentSubscriberReason [0] AbsentSubscriberReason OPTIONAL}
|
||||
|
||||
AbsentSubscriberReason ::= ENUMERATED {
|
||||
imsiDetach(0), restrictedArea(1), noPageResponse(2), ...,
|
||||
purgedMS(3)}
|
||||
|
||||
-- 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
|
||||
BusySubscriberParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
ccbs-Possible [0] NULL OPTIONAL,
|
||||
ccbs-Busy [1] NULL OPTIONAL}
|
||||
|
||||
NoSubscriberReplyParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
ForwardingViolationParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
ForwardingFailedParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
ATI-NotAllowedParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
ATSI-NotAllowedParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
ATM-NotAllowedParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
IllegalSS-OperationParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
SS-NotAvailableParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
SS-SubscriptionViolationParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
InformationNotAvailableParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
SubBusyForMT-SMS-Param ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
gprsConnectionSuspended NULL OPTIONAL}
|
||||
|
||||
-- If GprsConnectionSuspended is not understood it shall
|
||||
-- be discarded
|
||||
MessageWaitListFullParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
ResourceLimitationParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
NoGroupCallNbParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
IncompatibleTerminalParam ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
ShortTermDenialParam ::= SEQUENCE {...}
|
||||
|
||||
LongTermDenialParam ::= SEQUENCE {...}
|
||||
|
||||
UnauthorizedRequestingNetwork-Param ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
UnauthorizedLCSClient-Param ::= SEQUENCE {
|
||||
unauthorizedLCSClient-Diagnostic
|
||||
[0] UnauthorizedLCSClient-Diagnostic OPTIONAL,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
UnauthorizedLCSClient-Diagnostic ::= ENUMERATED {
|
||||
noAdditionalInformation(0), clientNotInMSPrivacyExceptionList(1),
|
||||
callToClientNotSetup(2), privacyOverrideNotApplicable(3),
|
||||
disallowedByLocalRegulatoryRequirements(4), ...,
|
||||
unauthorizedPrivacyClass(5),
|
||||
unauthorizedCallSessionUnrelatedExternalClient(6),
|
||||
unauthorizedCallSessionRelatedExternalClient(7)}
|
||||
|
||||
-- exception handling:
|
||||
-- any unrecognized value shall be ignored
|
||||
PositionMethodFailure-Param ::= SEQUENCE {
|
||||
positionMethodFailure-Diagnostic
|
||||
[0] PositionMethodFailure-Diagnostic OPTIONAL,
|
||||
extensionContainer [1] 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
|
||||
UnknownOrUnreachableLCSClient-Param ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
MM-EventNotSupported-Param ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
TargetCellOutsideGCA-Param ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
SecureTransportErrorParam ::= SEQUENCE {
|
||||
securityHeader SecurityHeader,
|
||||
protectedPayload ProtectedPayload OPTIONAL}
|
||||
|
||||
-- The protectedPayload carries the result of applying the security function
|
||||
-- defined in 3GPP TS 33.200 to the encoding of the securely transported error
|
||||
-- parameter
|
||||
END
|
||||
|
|
@ -0,0 +1,358 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-Errors(10) version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
-- generic errors
|
||||
systemFailure, dataMissing, unexpectedDataValue, facilityNotSupported,
|
||||
incompatibleTerminal,
|
||||
resourceLimitation,
|
||||
-- identification and numbering errors
|
||||
unknownSubscriber, numberChanged, unknownMSC, unidentifiedSubscriber,
|
||||
unknownEquipment,
|
||||
-- subscription errors
|
||||
roamingNotAllowed, illegalSubscriber, illegalEquipment,
|
||||
bearerServiceNotProvisioned,
|
||||
teleserviceNotProvisioned,
|
||||
-- handover errors
|
||||
noHandoverNumberAvailable, subsequentHandoverFailure,
|
||||
targetCellOutsideGroupCallArea,
|
||||
-- operation and maintenance errors
|
||||
tracingBufferFull,
|
||||
-- call handling errors
|
||||
or-NotAllowed, noRoamingNumberAvailable, busySubscriber, noSubscriberReply,
|
||||
absentSubscriber, callBarred, forwardingViolation, forwardingFailed,
|
||||
cug-Reject,
|
||||
-- any time interrogation errors
|
||||
ati-NotAllowed,
|
||||
-- any time information handling errors
|
||||
atsi-NotAllowed, atm-NotAllowed,
|
||||
informationNotAvailable,
|
||||
-- supplementary service errors
|
||||
illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable,
|
||||
ss-SubscriptionViolation, ss-Incompatibility, unknownAlphabet, ussd-Busy,
|
||||
pw-RegistrationFailure, negativePW-Check, numberOfPW-AttemptsViolation,
|
||||
shortTermDenial,
|
||||
longTermDenial,
|
||||
-- short message service errors
|
||||
subscriberBusyForMT-SMS, sm-DeliveryFailure, messageWaitingListFull,
|
||||
absentSubscriberSM,
|
||||
-- Group Call errors
|
||||
noGroupCallNumberAvailable,
|
||||
-- location service errors
|
||||
unauthorizedRequestingNetwork, unauthorizedLCSClient,
|
||||
positionMethodFailure,
|
||||
unknownOrUnreachableLCSClient,
|
||||
-- Mobility Management errors
|
||||
mm-EventNotSupported,
|
||||
-- Secure transport errors
|
||||
secureTransportError;
|
||||
|
||||
IMPORTS
|
||||
ERROR
|
||||
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
|
||||
remote-operations(4) informationObjects(5) version1(0)}
|
||||
SS-Status
|
||||
FROM MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-SS-DataTypes(14)
|
||||
version8(8)}
|
||||
SS-IncompatibilityCause, PW-RegistrationFailureCause,
|
||||
SM-DeliveryFailureCause, SystemFailureParam, DataMissingParam,
|
||||
UnexpectedDataParam, FacilityNotSupParam, UnknownSubscriberParam,
|
||||
NumberChangedParam, UnidentifiedSubParam, RoamingNotAllowedParam,
|
||||
IllegalSubscriberParam, IllegalEquipmentParam, BearerServNotProvParam,
|
||||
TeleservNotProvParam, TracingBufferFullParam, NoRoamingNbParam,
|
||||
OR-NotAllowedParam, AbsentSubscriberParam, BusySubscriberParam,
|
||||
NoSubscriberReplyParam, CallBarredParam, ForwardingViolationParam,
|
||||
ForwardingFailedParam, CUG-RejectParam, ATI-NotAllowedParam,
|
||||
SubBusyForMT-SMS-Param, MessageWaitListFullParam, AbsentSubscriberSM-Param,
|
||||
ResourceLimitationParam, NoGroupCallNbParam, IncompatibleTerminalParam,
|
||||
ShortTermDenialParam, LongTermDenialParam,
|
||||
UnauthorizedRequestingNetwork-Param, UnauthorizedLCSClient-Param,
|
||||
PositionMethodFailure-Param, UnknownOrUnreachableLCSClient-Param,
|
||||
MM-EventNotSupported-Param, ATSI-NotAllowedParam, ATM-NotAllowedParam,
|
||||
IllegalSS-OperationParam, SS-NotAvailableParam,
|
||||
SS-SubscriptionViolationParam, InformationNotAvailableParam,
|
||||
TargetCellOutsideGCA-Param, SecureTransportErrorParam
|
||||
FROM MAP-ER-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ER-DataTypes(17)
|
||||
version8(8)};
|
||||
|
||||
-- generic errors
|
||||
systemFailure ERROR ::= {
|
||||
PARAMETER SystemFailureParam
|
||||
-- optional
|
||||
CODE local:34}
|
||||
|
||||
dataMissing ERROR ::= {
|
||||
PARAMETER DataMissingParam
|
||||
-- optional
|
||||
-- DataMissingParam must not be used in version <3
|
||||
CODE local:35}
|
||||
|
||||
unexpectedDataValue ERROR ::= {
|
||||
PARAMETER UnexpectedDataParam
|
||||
-- optional
|
||||
-- UnexpectedDataParam must not be used in version <3
|
||||
CODE local:36}
|
||||
|
||||
facilityNotSupported ERROR ::= {
|
||||
PARAMETER FacilityNotSupParam
|
||||
-- optional
|
||||
-- FacilityNotSupParam must not be used in version <3
|
||||
CODE local:21}
|
||||
|
||||
incompatibleTerminal ERROR ::= {
|
||||
PARAMETER IncompatibleTerminalParam
|
||||
-- optional
|
||||
CODE local:28}
|
||||
|
||||
resourceLimitation ERROR ::= {
|
||||
PARAMETER ResourceLimitationParam
|
||||
-- optional
|
||||
CODE local:51}
|
||||
|
||||
-- identification and numbering errors
|
||||
unknownSubscriber ERROR ::= {
|
||||
PARAMETER UnknownSubscriberParam
|
||||
-- optional
|
||||
-- UnknownSubscriberParam must not be used in version <3
|
||||
CODE local:1}
|
||||
|
||||
numberChanged ERROR ::= {
|
||||
PARAMETER NumberChangedParam
|
||||
-- optional
|
||||
CODE local:44}
|
||||
|
||||
unknownMSC ERROR ::= {CODE local:3}
|
||||
|
||||
unidentifiedSubscriber ERROR ::= {
|
||||
PARAMETER UnidentifiedSubParam
|
||||
-- optional
|
||||
-- UunidentifiedSubParam must not be used in version <3
|
||||
CODE local:5}
|
||||
|
||||
unknownEquipment ERROR ::= {CODE local:7}
|
||||
|
||||
-- subscription errors
|
||||
roamingNotAllowed ERROR ::= {
|
||||
PARAMETER RoamingNotAllowedParam
|
||||
CODE local:8}
|
||||
|
||||
illegalSubscriber ERROR ::= {
|
||||
PARAMETER IllegalSubscriberParam
|
||||
-- optional
|
||||
-- IllegalSubscriberParam must not be used in version <3
|
||||
CODE local:9}
|
||||
|
||||
illegalEquipment ERROR ::= {
|
||||
PARAMETER IllegalEquipmentParam
|
||||
-- optional
|
||||
-- IllegalEquipmentParam must not be used in version <3
|
||||
CODE local:12}
|
||||
|
||||
bearerServiceNotProvisioned ERROR ::= {
|
||||
PARAMETER BearerServNotProvParam
|
||||
-- optional
|
||||
-- BearerServNotProvParam must not be used in version <3
|
||||
CODE local:10}
|
||||
|
||||
teleserviceNotProvisioned ERROR ::= {
|
||||
PARAMETER TeleservNotProvParam
|
||||
-- optional
|
||||
-- TeleservNotProvParam must not be used in version <3
|
||||
CODE local:11}
|
||||
|
||||
-- handover errors
|
||||
noHandoverNumberAvailable ERROR ::= {CODE local:25}
|
||||
|
||||
subsequentHandoverFailure ERROR ::= {CODE local:26}
|
||||
|
||||
targetCellOutsideGroupCallArea ERROR ::= {
|
||||
PARAMETER TargetCellOutsideGCA-Param
|
||||
-- optional
|
||||
CODE local:42}
|
||||
|
||||
-- operation and maintenance errors
|
||||
tracingBufferFull ERROR ::= {
|
||||
PARAMETER TracingBufferFullParam
|
||||
-- optional
|
||||
CODE local:40}
|
||||
|
||||
-- call handling errors
|
||||
noRoamingNumberAvailable ERROR ::= {
|
||||
PARAMETER NoRoamingNbParam
|
||||
-- optional
|
||||
CODE local:39}
|
||||
|
||||
absentSubscriber ERROR ::= {
|
||||
PARAMETER AbsentSubscriberParam
|
||||
-- optional
|
||||
-- AbsentSubscriberParam must not be used in version <3
|
||||
CODE local:27}
|
||||
|
||||
busySubscriber ERROR ::= {
|
||||
PARAMETER BusySubscriberParam
|
||||
-- optional
|
||||
CODE local:45}
|
||||
|
||||
noSubscriberReply ERROR ::= {
|
||||
PARAMETER NoSubscriberReplyParam
|
||||
-- optional
|
||||
CODE local:46}
|
||||
|
||||
callBarred ERROR ::= {PARAMETER CallBarredParam
|
||||
-- optional
|
||||
CODE local:13}
|
||||
|
||||
forwardingViolation ERROR ::= {
|
||||
PARAMETER ForwardingViolationParam
|
||||
-- optional
|
||||
CODE local:14}
|
||||
|
||||
forwardingFailed ERROR ::= {
|
||||
PARAMETER ForwardingFailedParam
|
||||
-- optional
|
||||
CODE local:47}
|
||||
|
||||
cug-Reject ERROR ::= {PARAMETER CUG-RejectParam
|
||||
-- optional
|
||||
CODE local:15}
|
||||
|
||||
or-NotAllowed ERROR ::= {
|
||||
PARAMETER OR-NotAllowedParam
|
||||
-- optional
|
||||
CODE local:48}
|
||||
|
||||
-- any time interrogation errors
|
||||
ati-NotAllowed ERROR ::= {
|
||||
PARAMETER ATI-NotAllowedParam
|
||||
-- optional
|
||||
CODE local:49}
|
||||
|
||||
-- any time information handling errors
|
||||
atsi-NotAllowed ERROR ::= {
|
||||
PARAMETER ATSI-NotAllowedParam
|
||||
-- optional
|
||||
CODE local:60}
|
||||
|
||||
atm-NotAllowed ERROR ::= {
|
||||
PARAMETER ATM-NotAllowedParam
|
||||
-- optional
|
||||
CODE local:61}
|
||||
|
||||
informationNotAvailable ERROR ::= {
|
||||
PARAMETER InformationNotAvailableParam
|
||||
-- optional
|
||||
CODE local:62}
|
||||
|
||||
-- supplementary service errors
|
||||
illegalSS-Operation ERROR ::= {
|
||||
PARAMETER IllegalSS-OperationParam
|
||||
-- optional
|
||||
-- IllegalSS-OperationParam must not be used in version <3
|
||||
CODE local:16}
|
||||
|
||||
ss-ErrorStatus ERROR ::= {PARAMETER SS-Status
|
||||
-- optional
|
||||
CODE local:17}
|
||||
|
||||
ss-NotAvailable ERROR ::= {
|
||||
PARAMETER SS-NotAvailableParam
|
||||
-- optional
|
||||
-- SS-NotAvailableParam must not be used in version <3
|
||||
CODE local:18}
|
||||
|
||||
ss-SubscriptionViolation ERROR ::= {
|
||||
PARAMETER SS-SubscriptionViolationParam
|
||||
-- optional
|
||||
-- SS-SubscriptionViolationParam must not be used in version <3
|
||||
CODE local:19}
|
||||
|
||||
ss-Incompatibility ERROR ::= {
|
||||
PARAMETER SS-IncompatibilityCause
|
||||
-- optional
|
||||
CODE local:20}
|
||||
|
||||
unknownAlphabet ERROR ::= {CODE local:71}
|
||||
|
||||
ussd-Busy ERROR ::= {CODE local:72}
|
||||
|
||||
pw-RegistrationFailure ERROR ::= {
|
||||
PARAMETER PW-RegistrationFailureCause
|
||||
CODE local:37}
|
||||
|
||||
negativePW-Check ERROR ::= {CODE local:38}
|
||||
|
||||
numberOfPW-AttemptsViolation ERROR ::= {CODE local:43}
|
||||
|
||||
shortTermDenial ERROR ::= {
|
||||
PARAMETER ShortTermDenialParam
|
||||
-- optional
|
||||
CODE local:29}
|
||||
|
||||
longTermDenial ERROR ::= {
|
||||
PARAMETER LongTermDenialParam
|
||||
-- optional
|
||||
CODE local:30}
|
||||
|
||||
-- short message service errors
|
||||
subscriberBusyForMT-SMS ERROR ::= {
|
||||
PARAMETER SubBusyForMT-SMS-Param
|
||||
-- optional
|
||||
CODE local:31}
|
||||
|
||||
sm-DeliveryFailure ERROR ::= {
|
||||
PARAMETER SM-DeliveryFailureCause
|
||||
CODE local:32}
|
||||
|
||||
messageWaitingListFull ERROR ::= {
|
||||
PARAMETER MessageWaitListFullParam
|
||||
-- optional
|
||||
CODE local:33}
|
||||
|
||||
absentSubscriberSM ERROR ::= {
|
||||
PARAMETER AbsentSubscriberSM-Param
|
||||
-- optional
|
||||
CODE local:6}
|
||||
|
||||
-- Group Call errors
|
||||
noGroupCallNumberAvailable ERROR ::= {
|
||||
PARAMETER NoGroupCallNbParam
|
||||
-- optional
|
||||
CODE local:50}
|
||||
|
||||
-- location service errors
|
||||
unauthorizedRequestingNetwork ERROR ::= {
|
||||
PARAMETER UnauthorizedRequestingNetwork-Param
|
||||
-- optional
|
||||
CODE local:52}
|
||||
|
||||
unauthorizedLCSClient ERROR ::= {
|
||||
PARAMETER UnauthorizedLCSClient-Param
|
||||
-- optional
|
||||
CODE local:53}
|
||||
|
||||
positionMethodFailure ERROR ::= {
|
||||
PARAMETER PositionMethodFailure-Param
|
||||
-- optional
|
||||
CODE local:54}
|
||||
|
||||
unknownOrUnreachableLCSClient ERROR ::= {
|
||||
PARAMETER UnknownOrUnreachableLCSClient-Param
|
||||
-- optional
|
||||
CODE local:58}
|
||||
|
||||
mm-EventNotSupported ERROR ::= {
|
||||
PARAMETER MM-EventNotSupported-Param
|
||||
-- optional
|
||||
CODE local:59}
|
||||
|
||||
-- Secure transport errors
|
||||
secureTransportError ERROR ::= {
|
||||
PARAMETER SecureTransportErrorParam
|
||||
CODE local:4}
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21)
|
||||
version8(8)} DEFINITIONS IMPLICIT TAGS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS PrivateExtension, ExtensionContainer;
|
||||
|
||||
-- IOC for private MAP extensions
|
||||
MAP-EXTENSION ::= CLASS {
|
||||
&ExtensionType OPTIONAL,
|
||||
&extensionId OBJECT IDENTIFIER}
|
||||
|
||||
-- The length of the Object Identifier shall not exceed 16 octets and the
|
||||
-- number of components of the Object Identifier shall not exceed 16
|
||||
-- data types
|
||||
ExtensionContainer ::= SEQUENCE {
|
||||
privateExtensionList [0] PrivateExtensionList OPTIONAL,
|
||||
pcs-Extensions [1] PCS-Extensions OPTIONAL,
|
||||
...}
|
||||
|
||||
PrivateExtensionList ::=
|
||||
SEQUENCE SIZE (1..maxNumOfPrivateExtensions) OF PrivateExtension
|
||||
|
||||
PrivateExtension ::= SEQUENCE {
|
||||
extId MAP-EXTENSION.&extensionId({ExtensionSet}),
|
||||
extType MAP-EXTENSION.&ExtensionType({ExtensionSet}{@extId}) OPTIONAL}
|
||||
|
||||
maxNumOfPrivateExtensions INTEGER ::= 10
|
||||
|
||||
ExtensionSet MAP-EXTENSION ::=
|
||||
{...}
|
||||
-- ExtensionSet is the set of all defined private extensions
|
||||
|
||||
-- Unsupported private extensions shall be discarded if received.
|
||||
PCS-Extensions ::= SEQUENCE {...}
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-GR-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-GR-DataTypes(23) version8(8)} DEFINITIONS
|
||||
IMPLICIT TAGS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
PrepareGroupCallArg, PrepareGroupCallRes, SendGroupCallEndSignalArg,
|
||||
SendGroupCallEndSignalRes, ForwardGroupCallSignallingArg,
|
||||
ProcessGroupCallSignallingArg;
|
||||
|
||||
IMPORTS
|
||||
ISDN-AddressString, IMSI, EMLPP-Priority, ASCI-CallReference
|
||||
FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18)
|
||||
version8(8)}
|
||||
Ext-TeleserviceCode
|
||||
FROM MAP-TS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-TS-Code(19) version8(8)}
|
||||
Kc
|
||||
FROM MAP-MS-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-MS-DataTypes(11)
|
||||
version8(8)}
|
||||
ExtensionContainer
|
||||
FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21)
|
||||
version8(8)};
|
||||
|
||||
PrepareGroupCallArg ::= SEQUENCE {
|
||||
teleservice Ext-TeleserviceCode,
|
||||
asciCallReference ASCI-CallReference,
|
||||
codec-Info CODEC-Info,
|
||||
cipheringAlgorithm CipheringAlgorithm,
|
||||
groupKeyNumber [0] GroupKeyNumber OPTIONAL,
|
||||
groupKey [1] Kc OPTIONAL,
|
||||
priority [2] EMLPP-Priority OPTIONAL,
|
||||
uplinkFree [3] NULL OPTIONAL,
|
||||
extensionContainer [4] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
PrepareGroupCallRes ::= SEQUENCE {
|
||||
groupCallNumber ISDN-AddressString,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
SendGroupCallEndSignalArg ::= SEQUENCE {
|
||||
imsi IMSI OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
SendGroupCallEndSignalRes ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
ForwardGroupCallSignallingArg ::= SEQUENCE {
|
||||
imsi IMSI OPTIONAL,
|
||||
uplinkRequestAck [0] NULL OPTIONAL,
|
||||
uplinkReleaseIndication [1] NULL OPTIONAL,
|
||||
uplinkRejectCommand [2] NULL OPTIONAL,
|
||||
uplinkSeizedCommand [3] NULL OPTIONAL,
|
||||
uplinkReleaseCommand [4] NULL OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
stateAttributes [5] StateAttributes OPTIONAL}
|
||||
|
||||
ProcessGroupCallSignallingArg ::= SEQUENCE {
|
||||
uplinkRequest [0] NULL OPTIONAL,
|
||||
uplinkReleaseIndication [1] NULL OPTIONAL,
|
||||
releaseGroupCall [2] NULL OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
GroupKeyNumber ::= INTEGER(0..15)
|
||||
|
||||
CODEC-Info ::= OCTET STRING(SIZE (5..10))
|
||||
|
||||
-- Refers to channel type
|
||||
-- coded according to 3GPP TS 48.008 [49] and including Element identifier and Length
|
||||
CipheringAlgorithm ::= OCTET STRING(SIZE (1))
|
||||
|
||||
-- Refers to 'permitted algorithms' in 'encryption information'
|
||||
-- coded according to 3GPP TS 48.008 [49]:
|
||||
-- Bits 8-1
|
||||
-- 8765 4321
|
||||
-- 0000 0001 No encryption
|
||||
-- 0000 0010 GSM A5/1
|
||||
-- 0000 0100 GSM A5/2
|
||||
-- 0000 1000 GSM A5/3
|
||||
-- 0001 0000 GSM A5/4
|
||||
-- 0010 0000 GSM A5/5
|
||||
-- 0100 0000 GSM A5/6
|
||||
-- 1000 0000 GSM A5/7
|
||||
StateAttributes ::= SEQUENCE {
|
||||
downlinkAttached [5] NULL OPTIONAL,
|
||||
uplinkAttached [6] NULL OPTIONAL,
|
||||
dualCommunication [7] NULL OPTIONAL,
|
||||
callOriginator [8] NULL OPTIONAL}
|
||||
|
||||
-- Refers to 3GPP TS 44.068 for definitions of StateAttributes fields.
|
||||
END
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-Group-Call-Operations {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-Group-Call-Operations(22)
|
||||
version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
prepareGroupCall, sendGroupCallEndSignal, forwardGroupCallSignalling,
|
||||
processGroupCallSignalling;
|
||||
|
||||
IMPORTS
|
||||
OPERATION
|
||||
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
|
||||
remote-operations(4) informationObjects(5) version1(0)}
|
||||
systemFailure, unexpectedDataValue, noGroupCallNumberAvailable
|
||||
FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-Errors(10) version8(8)}
|
||||
PrepareGroupCallArg, PrepareGroupCallRes, SendGroupCallEndSignalArg,
|
||||
SendGroupCallEndSignalRes, ForwardGroupCallSignallingArg,
|
||||
ProcessGroupCallSignallingArg
|
||||
FROM MAP-GR-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-GR-DataTypes(23)
|
||||
version8(8)};
|
||||
|
||||
prepareGroupCall OPERATION ::= { --Timer m
|
||||
ARGUMENT PrepareGroupCallArg
|
||||
RESULT PrepareGroupCallRes
|
||||
ERRORS {systemFailure | noGroupCallNumberAvailable | unexpectedDataValue}
|
||||
CODE local:39}
|
||||
|
||||
sendGroupCallEndSignal OPERATION ::= { --Timer l
|
||||
ARGUMENT SendGroupCallEndSignalArg
|
||||
RESULT SendGroupCallEndSignalRes
|
||||
CODE local:40}
|
||||
|
||||
processGroupCallSignalling OPERATION ::= { --Timer s
|
||||
ARGUMENT ProcessGroupCallSignallingArg
|
||||
CODE local:41}
|
||||
|
||||
forwardGroupCallSignalling OPERATION ::= { --Timer s
|
||||
ARGUMENT ForwardGroupCallSignallingArg
|
||||
CODE local:42}
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,370 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-LCS-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-LCS-DataTypes(25) version8(8)} DEFINITIONS
|
||||
IMPLICIT TAGS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
RoutingInfoForLCS-Arg, RoutingInfoForLCS-Res, ProvideSubscriberLocation-Arg,
|
||||
ProvideSubscriberLocation-Res, SubscriberLocationReport-Arg,
|
||||
SubscriberLocationReport-Res, LocationType, LCSClientName, LCS-QoS,
|
||||
Horizontal-Accuracy, ResponseTime, Ext-GeographicalInformation,
|
||||
SupportedGADShapes, Add-GeographicalInformation, LCSRequestorID,
|
||||
LCSCodeword;
|
||||
|
||||
IMPORTS
|
||||
AddressString, ISDN-AddressString, IMEI, IMSI, LMSI, SubscriberIdentity,
|
||||
AgeOfLocationInformation, LCSClientExternalID, LCSClientInternalID,
|
||||
LCSServiceTypeID
|
||||
FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18)
|
||||
version8(8)}
|
||||
ExtensionContainer
|
||||
FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21)
|
||||
version8(8)}
|
||||
USSD-DataCodingScheme, USSD-String
|
||||
FROM MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-SS-DataTypes(14)
|
||||
version8(8)}
|
||||
APN
|
||||
FROM MAP-MS-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-MS-DataTypes(11)
|
||||
version8(8)}
|
||||
Additional-Number
|
||||
FROM MAP-SM-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-SM-DataTypes(16)
|
||||
version8(8)};
|
||||
|
||||
RoutingInfoForLCS-Arg ::= SEQUENCE {
|
||||
mlcNumber [0] ISDN-AddressString,
|
||||
targetMS [1] SubscriberIdentity,
|
||||
extensionContainer [2] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
RoutingInfoForLCS-Res ::= SEQUENCE {
|
||||
targetMS [0] SubscriberIdentity,
|
||||
lcsLocationInfo [1] LCSLocationInfo,
|
||||
extensionContainer [2] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
LCSLocationInfo ::= SEQUENCE {
|
||||
networkNode-Number ISDN-AddressString,
|
||||
-- NetworkNode-number can be either msc-number or sgsn-number
|
||||
lmsi [0] LMSI OPTIONAL,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
gprsNodeIndicator [2] NULL OPTIONAL,
|
||||
-- gprsNodeIndicator is set only if the SGSN number is sent as the Network Node Number
|
||||
additional-Number [3] Additional-Number OPTIONAL}
|
||||
|
||||
ProvideSubscriberLocation-Arg ::= SEQUENCE {
|
||||
locationType LocationType,
|
||||
mlc-Number ISDN-AddressString,
|
||||
lcs-ClientID [0] LCS-ClientID OPTIONAL,
|
||||
privacyOverride [1] NULL OPTIONAL,
|
||||
imsi [2] IMSI OPTIONAL,
|
||||
msisdn [3] ISDN-AddressString OPTIONAL,
|
||||
lmsi [4] LMSI OPTIONAL,
|
||||
imei [5] IMEI OPTIONAL,
|
||||
lcs-Priority [6] LCS-Priority OPTIONAL,
|
||||
lcs-QoS [7] LCS-QoS OPTIONAL,
|
||||
extensionContainer [8] ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
supportedGADShapes [9] SupportedGADShapes OPTIONAL,
|
||||
lcs-ReferenceNumber [10] LCS-ReferenceNumber OPTIONAL,
|
||||
lcsServiceTypeID [11] LCSServiceTypeID OPTIONAL,
|
||||
lcsCodeword [12] LCSCodeword OPTIONAL}
|
||||
|
||||
-- one of imsi or msisdn is mandatory
|
||||
-- If a location estimate type indicates activate deferred location or cancel deferred
|
||||
-- location, a lcs-Reference number shall be included.
|
||||
LocationType ::= SEQUENCE {
|
||||
locationEstimateType [0] LocationEstimateType,
|
||||
...,
|
||||
deferredLocationEventType [1] DeferredLocationEventType OPTIONAL}
|
||||
|
||||
LocationEstimateType ::= ENUMERATED {
|
||||
currentLocation(0), currentOrLastKnownLocation(1), initialLocation(2), ...,
|
||||
activateDeferredLocation(3), cancelDeferredLocation(4)}
|
||||
|
||||
-- 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)}(SIZE (1..16))
|
||||
|
||||
-- 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.
|
||||
LCS-ClientID ::= SEQUENCE {
|
||||
lcsClientType [0] LCSClientType,
|
||||
lcsClientExternalID [1] LCSClientExternalID OPTIONAL,
|
||||
lcsClientDialedByMS [2] AddressString OPTIONAL,
|
||||
lcsClientInternalID [3] LCSClientInternalID OPTIONAL,
|
||||
lcsClientName [4] LCSClientName OPTIONAL,
|
||||
...,
|
||||
lcsAPN [5] APN OPTIONAL,
|
||||
lcsRequestorID [6] LCSRequestorID OPTIONAL}
|
||||
|
||||
LCSClientType ::= ENUMERATED {
|
||||
emergencyServices(0), valueAddedServices(1), plmnOperatorServices(2),
|
||||
lawfulInterceptServices(3), ...
|
||||
}
|
||||
|
||||
-- exception handling:
|
||||
-- unrecognized values may be ignored if the LCS client uses the privacy override
|
||||
-- otherwise, an unrecognized value shall be treated as unexpected data by a receiver
|
||||
-- a return error shall then be returned if received in a MAP invoke
|
||||
LCSClientName ::= SEQUENCE {
|
||||
dataCodingScheme [0] USSD-DataCodingScheme,
|
||||
nameString [2] NameString,
|
||||
...}
|
||||
|
||||
-- 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] USSD-DataCodingScheme,
|
||||
requestorIDString [1] RequestorIDString,
|
||||
...}
|
||||
|
||||
RequestorIDString ::= USSD-String(SIZE (1..maxRequestorIDStringLength))
|
||||
|
||||
maxRequestorIDStringLength INTEGER ::= 127
|
||||
|
||||
LCS-Priority ::= OCTET STRING(SIZE (1))
|
||||
|
||||
-- 0 = highest priority
|
||||
-- 1 = normal priority
|
||||
-- all other values treated as 1
|
||||
LCS-QoS ::= SEQUENCE {
|
||||
horizontal-accuracy [0] Horizontal-Accuracy OPTIONAL,
|
||||
verticalCoordinateRequest [1] NULL OPTIONAL,
|
||||
vertical-accuracy [2] Vertical-Accuracy OPTIONAL,
|
||||
responseTime [3] ResponseTime OPTIONAL,
|
||||
extensionContainer [4] ExtensionContainer 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.
|
||||
LCS-ReferenceNumber ::= OCTET STRING(SIZE (1))
|
||||
|
||||
LCSCodeword ::= SEQUENCE {
|
||||
dataCodingScheme [0] USSD-DataCodingScheme,
|
||||
lcsCodewordString [1] LCSCodewordString,
|
||||
...}
|
||||
|
||||
LCSCodewordString ::= USSD-String(SIZE (1..maxLCSCodewordStringLength))
|
||||
|
||||
maxLCSCodewordStringLength INTEGER ::= 127
|
||||
|
||||
ProvideSubscriberLocation-Res ::= SEQUENCE {
|
||||
locationEstimate Ext-GeographicalInformation,
|
||||
ageOfLocationEstimate [0] AgeOfLocationInformation OPTIONAL,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
add-LocationEstimate [2] Add-GeographicalInformation OPTIONAL,
|
||||
deferredmt-lrResponseIndicator [3] NULL OPTIONAL,
|
||||
positioningData [4] PositioningDataInformation OPTIONAL}
|
||||
|
||||
-- if deferredmt-lrResponseIndicator is set, locationEstimate is ignored.
|
||||
-- the add-LocationEstimate parameter shall not be sent to a node that did not indicate the
|
||||
-- geographic shapes supported in the ProvideSubscriberLocation-Arg
|
||||
-- The locationEstimate and the add-locationEstimate parameters shall not be sent if
|
||||
-- the supportedGADShapes parameter has been received in ProvideSubscriberLocation-Arg
|
||||
-- and the shape encoded in locationEstimate or add-LocationEstimate is not marked
|
||||
-- as supported in supportedGADShapes. In such a case ProvideSubscriberLocation
|
||||
-- shall be rejected with error FacilityNotSupported with additional indication
|
||||
-- shapeOfLocationEstimateNotSupported
|
||||
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
|
||||
PositioningDataInformation ::=
|
||||
OCTET STRING(SIZE (2..maxPositioningDataInformation))
|
||||
|
||||
-- Refers to the Positioning Data defined in 3GPP TS 49.031.
|
||||
-- This is composed of 2 or more octets with an internal structure according to
|
||||
-- 3GPP TS 49.031.
|
||||
maxPositioningDataInformation INTEGER ::=
|
||||
10
|
||||
|
||||
--
|
||||
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
|
||||
SubscriberLocationReport-Arg ::= SEQUENCE {
|
||||
lcs-Event LCS-Event,
|
||||
lcs-ClientID LCS-ClientID,
|
||||
lcsLocationInfo LCSLocationInfo,
|
||||
msisdn [0] ISDN-AddressString OPTIONAL,
|
||||
imsi [1] IMSI OPTIONAL,
|
||||
imei [2] IMEI OPTIONAL,
|
||||
na-ESRD [3] ISDN-AddressString OPTIONAL,
|
||||
na-ESRK [4] ISDN-AddressString OPTIONAL,
|
||||
locationEstimate [5] Ext-GeographicalInformation OPTIONAL,
|
||||
ageOfLocationEstimate [6] AgeOfLocationInformation OPTIONAL,
|
||||
extensionContainer [7] ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
add-LocationEstimate [8] Add-GeographicalInformation OPTIONAL,
|
||||
deferredmt-lrData [9] Deferredmt-lrData OPTIONAL,
|
||||
lcs-ReferenceNumber [10] LCS-ReferenceNumber OPTIONAL,
|
||||
positioningData [11] PositioningDataInformation OPTIONAL}
|
||||
|
||||
-- one of msisdn or imsi is mandatory
|
||||
-- a location estimate that is valid for the locationEstimate parameter should
|
||||
-- be transferred in this parameter in preference to the add-LocationEstimate.
|
||||
-- the deferredmt-lrData parameter shall be included if and only if the lcs-Event
|
||||
-- indicates a deferredmt-lrResponse.
|
||||
-- if the lcs-Event indicates a deferredmt-lrResponse then the locationEstimate
|
||||
-- and the add-locationEstimate parameters shall not be sent if the
|
||||
-- supportedGADShapes parameter had been received in ProvideSubscriberLocation-Arg
|
||||
-- and the shape encoded in locationEstimate or add-LocationEstimate was not marked
|
||||
-- as supported in supportedGADShapes. In such a case terminationCause
|
||||
-- in deferredmt-lrData shall be present with value
|
||||
-- shapeOfLocationEstimateNotSupported.
|
||||
-- If a lcs event indicates deferred mt-lr response, the lcs-Reference number shall be
|
||||
-- included.
|
||||
Deferredmt-lrData ::= SEQUENCE {
|
||||
deferredLocationEventType DeferredLocationEventType,
|
||||
terminationCause [0] TerminationCause OPTIONAL,
|
||||
lcsLocationInfo [1] LCSLocationInfo OPTIONAL,
|
||||
...}
|
||||
|
||||
-- lcsLocationInfo may be included only if a terminationCause is present
|
||||
-- indicating mt-lrRestart.
|
||||
LCS-Event ::= ENUMERATED {
|
||||
emergencyCallOrigination(0), emergencyCallRelease(1), mo-lr(2), ...,
|
||||
deferredmt-lrResponse(3)}
|
||||
|
||||
-- exception handling:
|
||||
-- a SubscriberLocationReport-Arg containing an unrecognized LCS-Event
|
||||
-- shall be rejected by a receiver with a return error cause of unexpected data value
|
||||
TerminationCause ::= ENUMERATED {
|
||||
normal(0), errorundefined(1), internalTimeout(2), congestion(3),
|
||||
mt-lrRestart(4), privacyViolation(5), ...,
|
||||
shapeOfLocationEstimateNotSupported(6)}
|
||||
|
||||
-- mt-lrRestart shall be used to trigger the GMLC to restart the location procedure,
|
||||
-- either because the sending node knows that the terminal has moved under coverage
|
||||
-- of another MSC or SGSN (e.g. Send Identification received), or because the subscriber
|
||||
-- has been deregistered due to a Cancel Location received from HLR.
|
||||
--
|
||||
-- exception handling
|
||||
-- an unrecognized value shall be treated the same as value 1 (errorundefined)
|
||||
SubscriberLocationReport-Res ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
END
|
|
@ -0,0 +1,56 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-LocationServiceOperations {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-LocationServiceOperations(24)
|
||||
version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
provideSubscriberLocation, sendRoutingInfoForLCS, subscriberLocationReport;
|
||||
|
||||
IMPORTS
|
||||
OPERATION
|
||||
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
|
||||
remote-operations(4) informationObjects(5) version1(0)}
|
||||
systemFailure, dataMissing, unexpectedDataValue, facilityNotSupported,
|
||||
unknownSubscriber, absentSubscriber, unauthorizedRequestingNetwork,
|
||||
unauthorizedLCSClient, positionMethodFailure, resourceLimitation,
|
||||
unknownOrUnreachableLCSClient, unidentifiedSubscriber, illegalEquipment,
|
||||
illegalSubscriber
|
||||
FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-Errors(10) version8(8)}
|
||||
RoutingInfoForLCS-Arg, RoutingInfoForLCS-Res, ProvideSubscriberLocation-Arg,
|
||||
ProvideSubscriberLocation-Res, SubscriberLocationReport-Arg,
|
||||
SubscriberLocationReport-Res
|
||||
FROM MAP-LCS-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-LCS-DataTypes(25)
|
||||
version8(8)};
|
||||
|
||||
sendRoutingInfoForLCS OPERATION ::= { --Timer m
|
||||
ARGUMENT RoutingInfoForLCS-Arg
|
||||
RESULT RoutingInfoForLCS-Res
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported |
|
||||
unknownSubscriber | absentSubscriber | unauthorizedRequestingNetwork}
|
||||
CODE local:85}
|
||||
|
||||
provideSubscriberLocation OPERATION ::= { --Timer ml
|
||||
ARGUMENT ProvideSubscriberLocation-Arg
|
||||
RESULT ProvideSubscriberLocation-Res
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported |
|
||||
unidentifiedSubscriber | illegalSubscriber | illegalEquipment |
|
||||
absentSubscriber | unauthorizedRequestingNetwork | unauthorizedLCSClient
|
||||
| positionMethodFailure}
|
||||
CODE local:83}
|
||||
|
||||
subscriberLocationReport OPERATION ::= { --Timer m
|
||||
ARGUMENT SubscriberLocationReport-Arg
|
||||
RESULT SubscriberLocationReport-Res
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | resourceLimitation | unexpectedDataValue |
|
||||
unknownSubscriber | unauthorizedRequestingNetwork |
|
||||
unknownOrUnreachableLCSClient}
|
||||
CODE local:86}
|
||||
|
||||
END
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,287 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-MobileServiceOperations {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-MobileServiceOperations(5)
|
||||
version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
-- location registration operations
|
||||
updateLocation, cancelLocation, purgeMS,
|
||||
sendIdentification,
|
||||
-- gprs location registration operations
|
||||
updateGprsLocation,
|
||||
-- subscriber information enquiry operations
|
||||
provideSubscriberInfo,
|
||||
-- any time information enquiry operations
|
||||
anyTimeInterrogation,
|
||||
-- any time information handling operations
|
||||
anyTimeSubscriptionInterrogation,
|
||||
anyTimeModification,
|
||||
-- subscriber data modification notification operations
|
||||
noteSubscriberDataModified,
|
||||
-- handover operations
|
||||
prepareHandover, sendEndSignal, processAccessSignalling,
|
||||
forwardAccessSignalling,
|
||||
prepareSubsequentHandover,
|
||||
-- authentication management operations
|
||||
sendAuthenticationInfo,
|
||||
authenticationFailureReport,
|
||||
-- IMEI management operations
|
||||
checkIMEI,
|
||||
-- subscriber management operations
|
||||
insertSubscriberData,
|
||||
deleteSubscriberData,
|
||||
-- fault recovery operations
|
||||
reset, forwardCheckSS-Indication,
|
||||
restoreData,
|
||||
-- gprs location information retrieval operations
|
||||
sendRoutingInfoForGprs,
|
||||
-- failure reporting operations
|
||||
failureReport,
|
||||
-- gprs notification operations
|
||||
noteMsPresentForGprs,
|
||||
-- Mobility Management operations
|
||||
noteMM-Event;
|
||||
|
||||
IMPORTS
|
||||
OPERATION
|
||||
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
|
||||
remote-operations(4) informationObjects(5) version1(0)}
|
||||
systemFailure, dataMissing, unexpectedDataValue, unknownSubscriber,
|
||||
unknownMSC, unidentifiedSubscriber, unknownEquipment, roamingNotAllowed,
|
||||
ati-NotAllowed, noHandoverNumberAvailable, subsequentHandoverFailure,
|
||||
absentSubscriber, mm-EventNotSupported, atsi-NotAllowed, atm-NotAllowed,
|
||||
bearerServiceNotProvisioned, teleserviceNotProvisioned, callBarred,
|
||||
illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable, ss-Incompatibility,
|
||||
ss-SubscriptionViolation, informationNotAvailable,
|
||||
targetCellOutsideGroupCallArea
|
||||
FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-Errors(10) version8(8)}
|
||||
UpdateLocationArg, UpdateLocationRes, CancelLocationArg, CancelLocationRes,
|
||||
PurgeMS-Arg, PurgeMS-Res, SendIdentificationArg, SendIdentificationRes,
|
||||
UpdateGprsLocationArg, UpdateGprsLocationRes, PrepareHO-Arg, PrepareHO-Res,
|
||||
ForwardAccessSignalling-Arg, ProcessAccessSignalling-Arg,
|
||||
SendEndSignal-Arg, SendEndSignal-Res, PrepareSubsequentHO-Res,
|
||||
PrepareSubsequentHO-Arg, SendAuthenticationInfoArg,
|
||||
SendAuthenticationInfoRes, AuthenticationFailureReportArg,
|
||||
AuthenticationFailureReportRes, CheckIMEI-Arg, CheckIMEI-Res,
|
||||
InsertSubscriberDataArg, InsertSubscriberDataRes, DeleteSubscriberDataArg,
|
||||
DeleteSubscriberDataRes, ResetArg, RestoreDataArg, RestoreDataRes,
|
||||
ProvideSubscriberInfoArg, ProvideSubscriberInfoRes,
|
||||
AnyTimeSubscriptionInterrogationArg, AnyTimeSubscriptionInterrogationRes,
|
||||
AnyTimeModificationArg, AnyTimeModificationRes,
|
||||
NoteSubscriberDataModifiedArg, NoteSubscriberDataModifiedRes,
|
||||
AnyTimeInterrogationArg, AnyTimeInterrogationRes,
|
||||
SendRoutingInfoForGprsArg, SendRoutingInfoForGprsRes, FailureReportArg,
|
||||
FailureReportRes, NoteMsPresentForGprsArg, NoteMsPresentForGprsRes,
|
||||
NoteMM-EventArg, NoteMM-EventRes
|
||||
FROM MAP-MS-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-MS-DataTypes(11)
|
||||
version8(8)};
|
||||
|
||||
-- location registration operations
|
||||
updateLocation OPERATION ::= { --Timer m
|
||||
ARGUMENT UpdateLocationArg
|
||||
RESULT UpdateLocationRes
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | unknownSubscriber |
|
||||
roamingNotAllowed}
|
||||
CODE local:2}
|
||||
|
||||
cancelLocation OPERATION ::= { --Timer m
|
||||
ARGUMENT CancelLocationArg
|
||||
RESULT CancelLocationRes
|
||||
-- optional
|
||||
ERRORS {dataMissing | unexpectedDataValue}
|
||||
CODE local:3}
|
||||
|
||||
purgeMS OPERATION ::= { --Timer m
|
||||
ARGUMENT PurgeMS-Arg
|
||||
RESULT PurgeMS-Res
|
||||
-- optional
|
||||
ERRORS {dataMissing | unexpectedDataValue | unknownSubscriber}
|
||||
CODE local:67}
|
||||
|
||||
sendIdentification OPERATION ::= { --Timer s
|
||||
ARGUMENT SendIdentificationArg
|
||||
RESULT SendIdentificationRes
|
||||
ERRORS {dataMissing | unidentifiedSubscriber}
|
||||
CODE local:55}
|
||||
|
||||
-- gprs location registration operations
|
||||
updateGprsLocation OPERATION ::= { --Timer m
|
||||
ARGUMENT UpdateGprsLocationArg
|
||||
RESULT UpdateGprsLocationRes
|
||||
ERRORS
|
||||
{systemFailure | unexpectedDataValue | unknownSubscriber |
|
||||
roamingNotAllowed}
|
||||
CODE local:23}
|
||||
|
||||
-- subscriber information enquiry operations
|
||||
provideSubscriberInfo OPERATION ::= { --Timer m
|
||||
ARGUMENT ProvideSubscriberInfoArg
|
||||
RESULT ProvideSubscriberInfoRes
|
||||
ERRORS {dataMissing | unexpectedDataValue}
|
||||
CODE local:70}
|
||||
|
||||
-- any time information enquiry operations
|
||||
anyTimeInterrogation OPERATION ::= { --Timer m
|
||||
ARGUMENT AnyTimeInterrogationArg
|
||||
RESULT AnyTimeInterrogationRes
|
||||
ERRORS
|
||||
{systemFailure | ati-NotAllowed | dataMissing | unexpectedDataValue |
|
||||
unknownSubscriber}
|
||||
CODE local:71}
|
||||
|
||||
-- any time information handling operations
|
||||
anyTimeSubscriptionInterrogation OPERATION ::= { --Timer m
|
||||
ARGUMENT AnyTimeSubscriptionInterrogationArg
|
||||
RESULT AnyTimeSubscriptionInterrogationRes
|
||||
ERRORS
|
||||
{atsi-NotAllowed | dataMissing | unexpectedDataValue | unknownSubscriber |
|
||||
bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred |
|
||||
illegalSS-Operation | ss-NotAvailable | informationNotAvailable}
|
||||
CODE local:62}
|
||||
|
||||
anyTimeModification OPERATION ::= { --Timer m
|
||||
ARGUMENT AnyTimeModificationArg
|
||||
RESULT AnyTimeModificationRes
|
||||
ERRORS
|
||||
{atm-NotAllowed | dataMissing | unexpectedDataValue | unknownSubscriber |
|
||||
bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred |
|
||||
illegalSS-Operation | ss-SubscriptionViolation | ss-ErrorStatus |
|
||||
ss-Incompatibility | informationNotAvailable}
|
||||
CODE local:65}
|
||||
|
||||
-- subscriber data modification notification operations
|
||||
noteSubscriberDataModified OPERATION ::= { --Timer m
|
||||
ARGUMENT NoteSubscriberDataModifiedArg
|
||||
RESULT NoteSubscriberDataModifiedRes
|
||||
-- optional
|
||||
ERRORS {dataMissing | unexpectedDataValue | unknownSubscriber}
|
||||
CODE local:5}
|
||||
|
||||
-- handover operations
|
||||
prepareHandover OPERATION ::= { --Timer m
|
||||
ARGUMENT PrepareHO-Arg
|
||||
RESULT PrepareHO-Res
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue |
|
||||
noHandoverNumberAvailable | targetCellOutsideGroupCallArea}
|
||||
CODE local:68}
|
||||
|
||||
sendEndSignal OPERATION ::= { --Timer l
|
||||
ARGUMENT SendEndSignal-Arg
|
||||
RESULT SendEndSignal-Res
|
||||
CODE local:29}
|
||||
|
||||
processAccessSignalling OPERATION ::= { --Timer s
|
||||
ARGUMENT ProcessAccessSignalling-Arg
|
||||
CODE local:33}
|
||||
|
||||
forwardAccessSignalling OPERATION ::= { --Timer s
|
||||
ARGUMENT ForwardAccessSignalling-Arg
|
||||
CODE local:34}
|
||||
|
||||
prepareSubsequentHandover OPERATION ::= { --Timer m
|
||||
ARGUMENT PrepareSubsequentHO-Arg
|
||||
RESULT PrepareSubsequentHO-Res
|
||||
ERRORS
|
||||
{unexpectedDataValue | dataMissing | unknownMSC |
|
||||
subsequentHandoverFailure}
|
||||
CODE local:69}
|
||||
|
||||
-- authentication management operations
|
||||
sendAuthenticationInfo OPERATION ::= { --Timer m
|
||||
ARGUMENT SendAuthenticationInfoArg
|
||||
-- optional
|
||||
-- within a dialogue sendAuthenticationInfoArg shall not be present in
|
||||
-- subsequent invoke components. If received in a subsequent invoke component
|
||||
-- it shall be discarded.
|
||||
RESULT SendAuthenticationInfoRes
|
||||
-- optional
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | unknownSubscriber}
|
||||
CODE local:56}
|
||||
|
||||
authenticationFailureReport OPERATION ::= { --Timer m
|
||||
ARGUMENT AuthenticationFailureReportArg
|
||||
RESULT AuthenticationFailureReportRes
|
||||
-- optional
|
||||
ERRORS {systemFailure | unexpectedDataValue | unknownSubscriber}
|
||||
CODE local:15}
|
||||
|
||||
-- IMEI management operations
|
||||
checkIMEI OPERATION ::= { --Timer m
|
||||
ARGUMENT CheckIMEI-Arg
|
||||
RESULT CheckIMEI-Res
|
||||
ERRORS {systemFailure | dataMissing | unknownEquipment}
|
||||
CODE local:43}
|
||||
|
||||
-- subscriber management operations
|
||||
insertSubscriberData OPERATION ::= { --Timer m
|
||||
ARGUMENT InsertSubscriberDataArg
|
||||
RESULT InsertSubscriberDataRes
|
||||
-- optional
|
||||
ERRORS {dataMissing | unexpectedDataValue | unidentifiedSubscriber}
|
||||
CODE local:7}
|
||||
|
||||
deleteSubscriberData OPERATION ::= { --Timer m
|
||||
ARGUMENT DeleteSubscriberDataArg
|
||||
RESULT DeleteSubscriberDataRes
|
||||
-- optional
|
||||
ERRORS {dataMissing | unexpectedDataValue | unidentifiedSubscriber}
|
||||
CODE local:8}
|
||||
|
||||
-- fault recovery operations
|
||||
reset OPERATION ::= { --Timer m
|
||||
ARGUMENT ResetArg
|
||||
CODE local:37}
|
||||
|
||||
forwardCheckSS-Indication OPERATION ::= { --Timer s
|
||||
CODE local:38}
|
||||
|
||||
restoreData OPERATION ::= { --Timer m
|
||||
ARGUMENT RestoreDataArg
|
||||
RESULT RestoreDataRes
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | unknownSubscriber}
|
||||
CODE local:57}
|
||||
|
||||
-- gprs location information retrieval operations
|
||||
sendRoutingInfoForGprs OPERATION ::= { --Timer m
|
||||
ARGUMENT SendRoutingInfoForGprsArg
|
||||
RESULT SendRoutingInfoForGprsRes
|
||||
ERRORS
|
||||
{absentSubscriber | systemFailure | dataMissing | unexpectedDataValue |
|
||||
unknownSubscriber | callBarred}
|
||||
CODE local:24}
|
||||
|
||||
-- failure reporting operations
|
||||
failureReport OPERATION ::= { --Timer m
|
||||
ARGUMENT FailureReportArg
|
||||
RESULT FailureReportRes
|
||||
-- optional
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | unknownSubscriber}
|
||||
CODE local:25}
|
||||
|
||||
-- gprs notification operations
|
||||
noteMsPresentForGprs OPERATION ::= { --Timer m
|
||||
ARGUMENT NoteMsPresentForGprsArg
|
||||
RESULT NoteMsPresentForGprsRes
|
||||
-- optional
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | unknownSubscriber}
|
||||
CODE local:26}
|
||||
|
||||
noteMM-Event OPERATION ::= { --Timer m
|
||||
ARGUMENT NoteMM-EventArg
|
||||
RESULT NoteMM-EventRes
|
||||
ERRORS
|
||||
{dataMissing | unexpectedDataValue | unknownSubscriber |
|
||||
mm-EventNotSupported}
|
||||
CODE local:89}
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-OM-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-OM-DataTypes(12) version8(8)} DEFINITIONS
|
||||
IMPLICIT TAGS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
ActivateTraceModeArg, ActivateTraceModeRes, DeactivateTraceModeArg,
|
||||
DeactivateTraceModeRes;
|
||||
|
||||
IMPORTS
|
||||
AddressString, IMSI
|
||||
FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18)
|
||||
version8(8)}
|
||||
ExtensionContainer
|
||||
FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21)
|
||||
version8(8)};
|
||||
|
||||
ActivateTraceModeArg ::= SEQUENCE {
|
||||
imsi [0] IMSI OPTIONAL,
|
||||
traceReference [1] TraceReference,
|
||||
traceType [2] TraceType,
|
||||
omc-Id [3] AddressString OPTIONAL,
|
||||
extensionContainer [4] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
TraceReference ::= OCTET STRING(SIZE (1..2))
|
||||
|
||||
TraceType ::= INTEGER(0..255)
|
||||
|
||||
-- Trace types are fully defined in TS GSM 12.08.
|
||||
ActivateTraceModeRes ::= SEQUENCE {
|
||||
extensionContainer [0] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
DeactivateTraceModeArg ::= SEQUENCE {
|
||||
imsi [0] IMSI OPTIONAL,
|
||||
traceReference [1] TraceReference,
|
||||
extensionContainer [2] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
DeactivateTraceModeRes ::= SEQUENCE {
|
||||
extensionContainer [0] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-OperationAndMaintenanceOperations {itu-t identified-organization(4)
|
||||
etsi(0) mobileDomain(0) gsm-Network(1) modules(3)
|
||||
map-OperationAndMaintenanceOperations(6) version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS activateTraceMode, deactivateTraceMode, sendIMSI;
|
||||
|
||||
IMPORTS
|
||||
OPERATION
|
||||
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
|
||||
remote-operations(4) informationObjects(5) version1(0)}
|
||||
systemFailure, dataMissing, unexpectedDataValue, facilityNotSupported,
|
||||
unknownSubscriber, unidentifiedSubscriber, tracingBufferFull
|
||||
FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-Errors(10) version8(8)}
|
||||
ActivateTraceModeArg, ActivateTraceModeRes, DeactivateTraceModeArg,
|
||||
DeactivateTraceModeRes
|
||||
FROM MAP-OM-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-OM-DataTypes(12)
|
||||
version8(8)}
|
||||
ISDN-AddressString, IMSI
|
||||
FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18)
|
||||
version8(8)};
|
||||
|
||||
activateTraceMode OPERATION ::= { --Timer m
|
||||
ARGUMENT ActivateTraceModeArg
|
||||
RESULT ActivateTraceModeRes
|
||||
-- optional
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported |
|
||||
unidentifiedSubscriber | tracingBufferFull}
|
||||
CODE local:50}
|
||||
|
||||
deactivateTraceMode OPERATION ::= { --Timer m
|
||||
ARGUMENT DeactivateTraceModeArg
|
||||
RESULT DeactivateTraceModeRes
|
||||
-- optional
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported |
|
||||
unidentifiedSubscriber}
|
||||
CODE local:51}
|
||||
|
||||
sendIMSI OPERATION ::= { --Timer m
|
||||
ARGUMENT ISDN-AddressString
|
||||
RESULT IMSI ERRORS {dataMissing | unexpectedDataValue | unknownSubscriber}
|
||||
CODE local:58}
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,371 @@
|
|||
|
||||
MAP-OperationPackages {ccitt (0) identified-organization (4) etsi (0)
|
||||
mobileDomain (0) gsm-Network (1) modules (3 ) ??? (?)}
|
||||
|
||||
OPERATION-PACKAGE ::= CLASS {
|
||||
&Both OPERATION OPTIONAL,
|
||||
&Consumer OPERATION OPTIONAL,
|
||||
&Supplier OPERATION OPTIONAL,
|
||||
&id OBJECT IDENTIFIER UNIQUE OPTIONAL }
|
||||
WITH SYNTAX {
|
||||
[ OPERATIONS &Both ]
|
||||
[ CONSUMER INVOKES &Supplier ]
|
||||
[ SUPPLIER INVOKES &Consumer ]
|
||||
[ ID &id ] }
|
||||
|
||||
locationUpdatingPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
CONSUMER INVOKES {
|
||||
updateLocation}
|
||||
SUPPLIER INVOKES {
|
||||
forwardCheckSs-Indication} }
|
||||
|
||||
locationCancellationPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is VLR or SGSN if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
cancelLocation} }
|
||||
|
||||
roamingNumberEnquiryPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is VLR if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
provideRoamingNumber} }
|
||||
|
||||
infoRetrievalPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
-- Supplier is HLR if Consumer is SGSN
|
||||
CONSUMER INVOKES {
|
||||
sendAuthenticationInfo} }
|
||||
|
||||
infoRetrievalPackage-v2 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
-- Supplier is HLR if Consumer is SGSN
|
||||
CONSUMER INVOKES {
|
||||
sendAuthenticationInfo} }
|
||||
|
||||
infoRetrievalPackage-v1 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR or VLR if Consumer is VLR
|
||||
-- Supplier is HLR if Consumer is SGSN
|
||||
CONSUMER INVOKES {
|
||||
sendParameters} }
|
||||
|
||||
interVlrInfoRetrievalPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is VLR if Consumer is VLR
|
||||
CONSUMER INVOKES {
|
||||
sendIdentification} }
|
||||
|
||||
interVlrInfoRetrievalPackage-v2 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is VLR if Consumer is VLR
|
||||
CONSUMER INVOKES {
|
||||
sendIdentification} }
|
||||
|
||||
imsiRetrievalPackage-v2 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
CONSUMER INVOKES {
|
||||
sendIMSI} }
|
||||
|
||||
callControlTransferPackage-v4 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is GMSC if Consumer is VMSC
|
||||
CONSUMER INVOKES {
|
||||
resumeCallHandling} }
|
||||
|
||||
secureTransportHandlingPackage-v3 OPERATION-PACKAGE ::= {
|
||||
CONSUMER INVOKES {
|
||||
secureTransportClass1 | -- to be used if the original operation is a
|
||||
-- TCAP class 1 operation
|
||||
secureTransportClass2 | -- to be used if the original operation is a
|
||||
-- TCAP class 2 operation
|
||||
secureTransportClass3 | -- to be used if the original operation is a
|
||||
-- TCAP class 3 operation
|
||||
secureTransportClass4} -- to be used if the original operation is a
|
||||
-- TCAP class 4 operation
|
||||
}
|
||||
|
||||
interrogationPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR or NPLR if Consumer is MSC
|
||||
-- Supplier is HLR if Consumer is gsmSCF
|
||||
CONSUMER INVOKES {
|
||||
sendRoutingInfo} }
|
||||
|
||||
handoverControlPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is MSCB if Consumer is MSCA
|
||||
CONSUMER INVOKES {
|
||||
prepareHandover |
|
||||
forwardAccessSignalling}
|
||||
SUPPLIER INVOKES {
|
||||
sendEndSignal |
|
||||
processAccessSignalling |
|
||||
prepareSubsequentHandover} }
|
||||
|
||||
handoverControlPackage-v1 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is MSCB if Consumer is MSCA
|
||||
CONSUMER INVOKES {
|
||||
performHandover |
|
||||
forwardAccessSignalling |
|
||||
traceSubscriberActivity}
|
||||
SUPPLIER INVOKES {
|
||||
sendEndSignal |
|
||||
noteInternalHandover |
|
||||
processAccessSignalling |
|
||||
performSubsequentHandover} }
|
||||
|
||||
subscriberDataMngtStandAlonePackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is VLR or SGSN if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
insertSubscriberData |
|
||||
deleteSubscriberData} }
|
||||
|
||||
equipmentMngtPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is EIR if Consumer is MSC
|
||||
-- Supplier is EIR if Consumer is SGSN
|
||||
CONSUMER INVOKES {
|
||||
checkIMEI} }
|
||||
|
||||
subscriberDataMngtPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is VLR or SGSN if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
insertSubscriberData} }
|
||||
|
||||
resetPackage-v2 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is VLR or SGSN if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
reset} }
|
||||
|
||||
tracingStandAlonePackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is VLR or SGSN if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
activateTraceMode |
|
||||
deactivateTraceMode} }
|
||||
|
||||
functionalSsPackage-v2 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
CONSUMER INVOKES {
|
||||
registerSS |
|
||||
eraseSS |
|
||||
activateSS |
|
||||
deactivateSS |
|
||||
registerPassword |
|
||||
interrogateSS}
|
||||
SUPPLIER INVOKES {
|
||||
getPassword} }
|
||||
|
||||
tracingPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is VLR or SGSN if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
activateTraceMode} }
|
||||
|
||||
bindingPackage-v1 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
-- Supplier is gsmSCF if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
beginSubscriberActivity} }
|
||||
|
||||
unstructuredSsPackage-v2 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
-- Supplier is gsmSCF or HLR if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
processUnstructuredSS-Request}
|
||||
SUPPLIER INVOKES {
|
||||
unstructuredSS-Request |
|
||||
unstructuredSS-Notify} }
|
||||
|
||||
unstructuredSsPackage-v1 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
-- Supplier is gsmSCF if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
processUnstructuredSS-Data} }
|
||||
|
||||
mo-ShortMsgRelayPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is IWMSC if Consumer is MSC
|
||||
-- Supplier is IWMSC if Consumer is SGSN
|
||||
CONSUMER INVOKES {
|
||||
mo-forwardSM} }
|
||||
|
||||
shortMsgRelayPackage-v2 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is IWMSC if Consumer is MSC
|
||||
-- Supplier is MSC or SGSN if Consumer is GMSC
|
||||
-- Supplier is IWMSC if Consumer is SGSN
|
||||
CONSUMER INVOKES {
|
||||
forwardSM} }
|
||||
|
||||
shortMsgGatewayPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is GMSC
|
||||
CONSUMER INVOKES {
|
||||
sendRoutingInfoForSM |
|
||||
reportSM-DeliveryStatus}
|
||||
SUPPLIER INVOKES {
|
||||
informServiceCentre} }
|
||||
|
||||
shortMsgGatewayPackage-v1 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is GMSC
|
||||
CONSUMER INVOKES {
|
||||
sendRoutingInfoForSM |
|
||||
reportSMDeliveryStatus} }
|
||||
|
||||
mt-ShortMsgRelayPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is MSC or SGSN if Consumer is GMSC
|
||||
CONSUMER INVOKES {
|
||||
mt-forwardSM} }
|
||||
|
||||
mwdMngtPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is SGSN
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
CONSUMER INVOKES {
|
||||
readyForSM} }
|
||||
|
||||
mwdMngtPackage-v1 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
CONSUMER INVOKES {
|
||||
noteSubscriberPresent} }
|
||||
|
||||
alertingPackage-v2 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is IWMSC if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
alertServiceCentre} }
|
||||
|
||||
alertingPackage-v1 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is IWMSC if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
alertServiceCentreWithoutResult} }
|
||||
|
||||
dataRestorationPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
CONSUMER INVOKES {
|
||||
restoreData} }
|
||||
|
||||
purgingPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
-- Supplier is HLR if Consumer is SGSN
|
||||
CONSUMER INVOKES {
|
||||
purgeMS} }
|
||||
|
||||
subscriberInformationEnquiryPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is VLR or SGSN if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
provideSubscriberInfo} }
|
||||
|
||||
anyTimeInformationEnquiryPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR or GMLC if Consumer is gsmSCF
|
||||
CONSUMER INVOKES {
|
||||
anyTimeInterrogation} }
|
||||
|
||||
groupCallControlPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is relay MSC if Consumer is anchor MSC
|
||||
CONSUMER INVOKES {
|
||||
prepareGroupCall |
|
||||
forwardGroupCallSignalling}
|
||||
SUPPLIER INVOKES {
|
||||
sendGroupCallEndSignal |
|
||||
processGroupCallSignalling} }
|
||||
|
||||
provideSIWFSNumberPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is SIWF if Consumer is VMSC
|
||||
CONSUMER INVOKES {
|
||||
provideSIWFSNumber} }
|
||||
|
||||
siwfs-SignallingModifyPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is SIWF if Consumer is VMSC
|
||||
CONSUMER INVOKES {
|
||||
siwfs-SignallingModify} }
|
||||
|
||||
gprsLocationUpdatingPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is SGSN
|
||||
CONSUMER INVOKES {
|
||||
updateGprsLocation} }
|
||||
|
||||
gprsInterrogationPackage-v4 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is GGSN
|
||||
CONSUMER INVOKES {
|
||||
sendRoutingInfoForGprs} }
|
||||
|
||||
gprsInterrogationPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is GGSN
|
||||
CONSUMER INVOKES {
|
||||
sendRoutingInfoForGprs} }
|
||||
|
||||
failureReportingPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is GGSN
|
||||
CONSUMER INVOKES {
|
||||
failureReport} }
|
||||
|
||||
gprsNotifyingPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is GGSN if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
noteMsPresentForGprs} }
|
||||
|
||||
ss-InvocationNotificationPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is gsmSCF if Consumer is MSC
|
||||
-- Supplier is gsmSCF if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
ss-InvocationNotification} }
|
||||
|
||||
setReportingStatePackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is VLR if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
setReportingState} }
|
||||
|
||||
statusReportPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
CONSUMER INVOKES {
|
||||
statusReport} }
|
||||
|
||||
remoteUserFreePackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is VLR if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
remoteUserFree} }
|
||||
|
||||
callCompletionPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
CONSUMER INVOKES {
|
||||
registerCC-Entry |
|
||||
eraseCC-Entry} }
|
||||
|
||||
locationSvcGatewayPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is GMLC
|
||||
CONSUMER INVOKES {
|
||||
sendRoutingInfoForLCS} }
|
||||
|
||||
locationSvcEnquiryPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is MSC or SGSN if Consumer is GMLC
|
||||
CONSUMER INVOKES {
|
||||
provideSubscriberLocation} }
|
||||
|
||||
locationSvcReportingPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is GMLC if Consumer is MSC
|
||||
-- Supplier is GMLC if Consumer is SGSN
|
||||
CONSUMER INVOKES {
|
||||
subscriberLocationReport} }
|
||||
|
||||
ist-AlertingPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VMSC
|
||||
-- Supplier is HLR if Consumer is GMSC
|
||||
CONSUMER INVOKES {
|
||||
istAlert} }
|
||||
|
||||
serviceTerminationPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is VMSC or GMSC if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
istCommand} }
|
||||
|
||||
mm-EventReportingPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is gsmSCF if Consumer is VLR
|
||||
CONSUMER INVOKES {
|
||||
noteMM-Event} }
|
||||
|
||||
anyTimeInformationHandlingPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is gsmSCF
|
||||
CONSUMER INVOKES {
|
||||
anyTimeSubscriptionInterrogation |
|
||||
anyTimeModification} }
|
||||
|
||||
subscriberDataModificationNotificationPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is gsmSCF if Consumer is HLR
|
||||
CONSUMER INVOKES {
|
||||
noteSubscriberDataModified} }
|
||||
|
||||
authenticationFailureReportPackage-v3 OPERATION-PACKAGE ::= {
|
||||
-- Supplier is HLR if Consumer is VLR
|
||||
-- Supplier is HLR if Consumer is SGSN
|
||||
CONSUMER INVOKES {
|
||||
authenticationFailureReport} }
|
||||
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-Protocol {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-Protocol(4) version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
OPERATION
|
||||
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
|
||||
remote-operations(4) informationObjects(5) version1(0)}
|
||||
updateLocation, cancelLocation, purgeMS, sendIdentification,
|
||||
updateGprsLocation, prepareHandover, sendEndSignal,
|
||||
processAccessSignalling, forwardAccessSignalling,
|
||||
prepareSubsequentHandover, sendAuthenticationInfo,
|
||||
authenticationFailureReport, checkIMEI, insertSubscriberData,
|
||||
deleteSubscriberData, reset, forwardCheckSS-Indication, restoreData,
|
||||
provideSubscriberInfo, anyTimeInterrogation,
|
||||
anyTimeSubscriptionInterrogation, anyTimeModification,
|
||||
sendRoutingInfoForGprs, failureReport, noteMsPresentForGprs, noteMM-Event,
|
||||
noteSubscriberDataModified
|
||||
FROM MAP-MobileServiceOperations {itu-t identified-organization(4)
|
||||
etsi(0) mobileDomain(0) gsm-Network(1) modules(3)
|
||||
map-MobileServiceOperations(5) version8(8)}
|
||||
activateTraceMode, deactivateTraceMode, sendIMSI
|
||||
FROM MAP-OperationAndMaintenanceOperations {itu-t
|
||||
identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1)
|
||||
modules(3) map-OperationAndMaintenanceOperations(6) version8(8)}
|
||||
sendRoutingInfo, provideRoamingNumber, resumeCallHandling,
|
||||
provideSIWFSNumber, siwfs-SignallingModify, setReportingState,
|
||||
statusReport, remoteUserFree, ist-Alert, ist-Command
|
||||
FROM MAP-CallHandlingOperations {itu-t identified-organization(4)
|
||||
etsi(0) mobileDomain(0) gsm-Network(1) modules(3)
|
||||
map-CallHandlingOperations(7) version8(8)}
|
||||
registerSS, eraseSS, activateSS, deactivateSS, interrogateSS,
|
||||
processUnstructuredSS-Request, unstructuredSS-Request,
|
||||
unstructuredSS-Notify, registerPassword, getPassword,
|
||||
ss-InvocationNotification, registerCC-Entry, eraseCC-Entry
|
||||
FROM MAP-SupplementaryServiceOperations {itu-t identified-organization(4)
|
||||
etsi(0) mobileDomain(0) gsm-Network(1) modules(3)
|
||||
map-SupplementaryServiceOperations(8) version8(8)}
|
||||
sendRoutingInfoForSM, mo-ForwardSM, mt-ForwardSM, reportSM-DeliveryStatus,
|
||||
alertServiceCentre, informServiceCentre, readyForSM
|
||||
FROM MAP-ShortMessageServiceOperations {itu-t identified-organization(4)
|
||||
etsi(0) mobileDomain(0) gsm-Network(1) modules(3)
|
||||
map-ShortMessageServiceOperations(9) version8(8)}
|
||||
prepareGroupCall, processGroupCallSignalling, forwardGroupCallSignalling,
|
||||
sendGroupCallEndSignal
|
||||
FROM MAP-Group-Call-Operations {itu-t identified-organization(4)
|
||||
etsi(0) mobileDomain(0) gsm-Network(1) modules(3)
|
||||
map-Group-Call-Operations(22) version8(8)}
|
||||
provideSubscriberLocation, sendRoutingInfoForLCS, subscriberLocationReport
|
||||
FROM MAP-LocationServiceOperations {itu-t identified-organization(4)
|
||||
etsi(0) mobileDomain(0) gsm-Network(1) modules(3)
|
||||
map-LocationServiceOperations(24) version8(8)}
|
||||
secureTransportClass1, secureTransportClass2, secureTransportClass3,
|
||||
secureTransportClass4
|
||||
FROM MAP-SecureTransportOperations {itu-t identified-organization(4)
|
||||
etsi(0) mobileDomain(0) gsm-Network(1) modules(3)
|
||||
map-SecureTransportOperations(26) version8(8)};
|
||||
|
||||
Supported-MAP-Operations OPERATION ::=
|
||||
{updateLocation | cancelLocation | purgeMS | sendIdentification |
|
||||
updateGprsLocation | prepareHandover | sendEndSignal |
|
||||
processAccessSignalling | forwardAccessSignalling |
|
||||
prepareSubsequentHandover | sendAuthenticationInfo |
|
||||
authenticationFailureReport | checkIMEI | insertSubscriberData |
|
||||
deleteSubscriberData | reset | forwardCheckSS-Indication | restoreData |
|
||||
provideSubscriberInfo | anyTimeInterrogation |
|
||||
anyTimeSubscriptionInterrogation | anyTimeModification |
|
||||
sendRoutingInfoForGprs | failureReport | noteMsPresentForGprs | noteMM-Event
|
||||
| noteSubscriberDataModified | activateTraceMode | deactivateTraceMode |
|
||||
sendIMSI | sendRoutingInfo | provideRoamingNumber | resumeCallHandling |
|
||||
provideSIWFSNumber | siwfs-SignallingModify | setReportingState |
|
||||
statusReport | remoteUserFree | ist-Alert | ist-Command | registerSS |
|
||||
eraseSS | activateSS | deactivateSS | interrogateSS |
|
||||
processUnstructuredSS-Request | unstructuredSS-Request |
|
||||
unstructuredSS-Notify | registerPassword | getPassword |
|
||||
ss-InvocationNotification | registerCC-Entry | eraseCC-Entry |
|
||||
sendRoutingInfoForSM | mo-ForwardSM | mt-ForwardSM | reportSM-DeliveryStatus
|
||||
| alertServiceCentre | informServiceCentre | readyForSM | prepareGroupCall |
|
||||
processGroupCallSignalling | forwardGroupCallSignalling |
|
||||
sendGroupCallEndSignal | provideSubscriberLocation | sendRoutingInfoForLCS |
|
||||
subscriberLocationReport | secureTransportClass1 | secureTransportClass2 |
|
||||
secureTransportClass3 | secureTransportClass4}
|
||||
|
||||
-- The following operation codes are reserved for operations
|
||||
-- existing in previous versions of the protocol
|
||||
-- Operation Name AC used Oper. Code
|
||||
--
|
||||
-- sendParameters map-ac infoRetrieval (14) version1 (1) local:9
|
||||
-- processUnstructuredSS-Data map-ac networkFunctionalSs (18) version1 (1) local:19
|
||||
-- performHandover map-ac handoverControl (11) version1 (1) local:28
|
||||
-- performSubsequentHandover map-ac handoverControl (11) version1 (1) local:30
|
||||
-- noteInternalHandover map-ac handoverControl (11) version1 (1) local:35
|
||||
-- noteSubscriberPresent map-ac mwdMngt (24) version1 (1) local:48
|
||||
-- alertServiceCentreWithoutResult map-ac shortMsgAlert (23) version1 (1) local:49
|
||||
-- traceSubscriberActivity map-ac handoverControl (11) version1 (1) local:52
|
||||
-- beginSubscriberActivity map-ac networkFunctionalSs (18) version1 (1) local:54
|
||||
-- The following error codes are reserved for errors
|
||||
-- existing in previous versions of the protocol
|
||||
-- Error Name AC used Error Code
|
||||
--
|
||||
-- unknownBaseStation map-ac handoverControl (11) version1 (1) local:2
|
||||
-- invalidTargetBaseStation map-ac handoverControl (11) version1 (1) local:23
|
||||
-- noRadioResourceAvailable map-ac handoverControl (11) version1 (1) local:24
|
||||
END
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-SM-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-SM-DataTypes(16) version8(8)} DEFINITIONS
|
||||
IMPLICIT TAGS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
RoutingInfoForSM-Arg, RoutingInfoForSM-Res, MO-ForwardSM-Arg,
|
||||
MO-ForwardSM-Res, MT-ForwardSM-Arg, MT-ForwardSM-Res,
|
||||
ReportSM-DeliveryStatusArg, ReportSM-DeliveryStatusRes,
|
||||
AlertServiceCentreArg, InformServiceCentreArg, ReadyForSM-Arg,
|
||||
ReadyForSM-Res, SM-DeliveryOutcome, AlertReason, Additional-Number;
|
||||
|
||||
IMPORTS
|
||||
AddressString, ISDN-AddressString, SignalInfo, IMSI, LMSI
|
||||
FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18)
|
||||
version8(8)}
|
||||
AbsentSubscriberDiagnosticSM
|
||||
FROM MAP-ER-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ER-DataTypes(17)
|
||||
version8(8)}
|
||||
ExtensionContainer
|
||||
FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21)
|
||||
version8(8)};
|
||||
|
||||
RoutingInfoForSM-Arg ::= SEQUENCE {
|
||||
msisdn [0] ISDN-AddressString,
|
||||
sm-RP-PRI [1] BOOLEAN,
|
||||
serviceCentreAddress [2] AddressString,
|
||||
extensionContainer [6] ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
gprsSupportIndicator [7] NULL OPTIONAL,
|
||||
-- gprsSupportIndicator is set only if the SMS-GMSC supports
|
||||
-- receiving of two numbers from the HLR
|
||||
sm-RP-MTI [8] SM-RP-MTI OPTIONAL,
|
||||
sm-RP-SMEA [9] SM-RP-SMEA OPTIONAL}
|
||||
|
||||
SM-RP-MTI ::= INTEGER(0..10)
|
||||
|
||||
-- 0 SMS Deliver
|
||||
-- 1 SMS Status Report
|
||||
-- other values are reserved for future use and shall be discarded if
|
||||
-- received
|
||||
SM-RP-SMEA ::= OCTET STRING(SIZE (1..12))
|
||||
|
||||
-- this parameter contains an address field which is encoded
|
||||
-- as defined in 3GPP TS 23.040. An address field contains 3 elements :
|
||||
-- address-length
|
||||
-- type-of-address
|
||||
-- address-value
|
||||
RoutingInfoForSM-Res ::= SEQUENCE {
|
||||
imsi IMSI,
|
||||
locationInfoWithLMSI [0] LocationInfoWithLMSI,
|
||||
extensionContainer [4] ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
LocationInfoWithLMSI ::= SEQUENCE {
|
||||
networkNode-Number [1] ISDN-AddressString,
|
||||
lmsi LMSI OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
gprsNodeIndicator [5] NULL OPTIONAL,
|
||||
-- gprsNodeIndicator is set only if the SGSN number is sent as the
|
||||
-- Network Node Number
|
||||
additional-Number [6] Additional-Number OPTIONAL}
|
||||
-- NetworkNode-number can be either msc-number or sgsn-number
|
||||
|
||||
Additional-Number ::= CHOICE {
|
||||
msc-Number [0] ISDN-AddressString,
|
||||
sgsn-Number [1] ISDN-AddressString}
|
||||
|
||||
-- additional-number can be either msc-number or sgsn-number
|
||||
-- if received networkNode-number is msc-number then the
|
||||
-- additional number is sgsn-number
|
||||
-- if received networkNode-number is sgsn-number then the
|
||||
-- additional number is msc-number
|
||||
MO-ForwardSM-Arg ::= SEQUENCE {
|
||||
sm-RP-DA SM-RP-DA,
|
||||
sm-RP-OA SM-RP-OA,
|
||||
sm-RP-UI SignalInfo,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
imsi IMSI OPTIONAL}
|
||||
|
||||
MO-ForwardSM-Res ::= SEQUENCE {
|
||||
sm-RP-UI SignalInfo OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
MT-ForwardSM-Arg ::= SEQUENCE {
|
||||
sm-RP-DA SM-RP-DA,
|
||||
sm-RP-OA SM-RP-OA,
|
||||
sm-RP-UI SignalInfo,
|
||||
moreMessagesToSend NULL OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
MT-ForwardSM-Res ::= SEQUENCE {
|
||||
sm-RP-UI SignalInfo OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
SM-RP-DA ::= CHOICE {
|
||||
imsi [0] IMSI,
|
||||
lmsi [1] LMSI,
|
||||
serviceCentreAddressDA [4] AddressString,
|
||||
noSM-RP-DA [5] NULL}
|
||||
|
||||
SM-RP-OA ::= CHOICE {
|
||||
msisdn [2] ISDN-AddressString,
|
||||
serviceCentreAddressOA [4] AddressString,
|
||||
noSM-RP-OA [5] NULL}
|
||||
|
||||
ReportSM-DeliveryStatusArg ::= SEQUENCE {
|
||||
msisdn ISDN-AddressString,
|
||||
serviceCentreAddress AddressString,
|
||||
sm-DeliveryOutcome SM-DeliveryOutcome,
|
||||
absentSubscriberDiagnosticSM
|
||||
[0] AbsentSubscriberDiagnosticSM OPTIONAL,
|
||||
extensionContainer [1] ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
gprsSupportIndicator [2] NULL OPTIONAL,
|
||||
-- gprsSupportIndicator is set only if the SMS-GMSC supports
|
||||
-- handling of two delivery outcomes
|
||||
deliveryOutcomeIndicator [3] NULL OPTIONAL,
|
||||
-- DeliveryOutcomeIndicator is set when the SM-DeliveryOutcome
|
||||
-- is for GPRS
|
||||
additionalSM-DeliveryOutcome [4] SM-DeliveryOutcome OPTIONAL,
|
||||
-- If received, additionalSM-DeliveryOutcome is for GPRS
|
||||
-- If DeliveryOutcomeIndicator is set, then AdditionalSM-DeliveryOutcome shall be absent
|
||||
additionalAbsentSubscriberDiagnosticSM
|
||||
[5] AbsentSubscriberDiagnosticSM OPTIONAL}
|
||||
-- If received additionalAbsentSubscriberDiagnosticSM is for GPRS
|
||||
-- If DeliveryOutcomeIndicator is set, then AdditionalAbsentSubscriberDiagnosticSM
|
||||
-- shall be absent
|
||||
|
||||
SM-DeliveryOutcome ::= ENUMERATED {
|
||||
memoryCapacityExceeded(0), absentSubscriber(1), successfulTransfer(2)
|
||||
}
|
||||
|
||||
ReportSM-DeliveryStatusRes ::= SEQUENCE {
|
||||
storedMSISDN ISDN-AddressString OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
AlertServiceCentreArg ::= SEQUENCE {
|
||||
msisdn ISDN-AddressString,
|
||||
serviceCentreAddress AddressString,
|
||||
...}
|
||||
|
||||
InformServiceCentreArg ::= SEQUENCE {
|
||||
storedMSISDN ISDN-AddressString OPTIONAL,
|
||||
mw-Status MW-Status OPTIONAL,
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
absentSubscriberDiagnosticSM
|
||||
AbsentSubscriberDiagnosticSM OPTIONAL,
|
||||
additionalAbsentSubscriberDiagnosticSM
|
||||
[0] AbsentSubscriberDiagnosticSM OPTIONAL}
|
||||
|
||||
-- additionalAbsentSubscriberDiagnosticSM may be present only if
|
||||
-- absentSubscriberDiagnosticSM is present.
|
||||
-- if included, additionalAbsentSubscriberDiagnosticSM is for GPRS and
|
||||
-- absentSubscriberDiagnosticSM is for non-GPRS
|
||||
MW-Status ::= BIT STRING {
|
||||
sc-AddressNotIncluded(0), mnrf-Set(1), mcef-Set(2), mnrg-Set(3)
|
||||
}(SIZE (6..16))
|
||||
|
||||
-- exception handling:
|
||||
-- bits 4 to 15 shall be ignored if received and not understood
|
||||
ReadyForSM-Arg ::= SEQUENCE {
|
||||
imsi [0] IMSI,
|
||||
alertReason AlertReason,
|
||||
alertReasonIndicator NULL OPTIONAL,
|
||||
-- alertReasonIndicator is set only when the alertReason
|
||||
-- sent to HLR is for GPRS
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
ReadyForSM-Res ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
AlertReason ::= ENUMERATED {ms-Present(0), memoryAvailable(1)}
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,260 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-SS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-SS-Code(15) version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
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)
|
||||
allSS SS-Code ::=
|
||||
'00000000'B
|
||||
|
||||
-- reserved for possible future use
|
||||
-- all SS
|
||||
allLineIdentificationSS SS-Code ::=
|
||||
'00010000'B
|
||||
|
||||
-- reserved for possible future use
|
||||
-- all line identification SS
|
||||
clip SS-Code ::=
|
||||
'00010001'B
|
||||
|
||||
-- calling line identification presentation
|
||||
clir SS-Code ::= '00010010'B
|
||||
|
||||
-- calling line identification restriction
|
||||
colp SS-Code ::= '00010011'B
|
||||
|
||||
-- connected line identification presentation
|
||||
colr SS-Code ::= '00010100'B
|
||||
|
||||
-- connected line identification restriction
|
||||
mci SS-Code ::= '00010101'B
|
||||
|
||||
-- reserved for possible future use
|
||||
-- malicious call identification
|
||||
allNameIdentificationSS SS-Code ::=
|
||||
'00011000'B
|
||||
|
||||
-- all name identification SS
|
||||
cnap SS-Code ::= '00011001'B
|
||||
|
||||
-- calling name presentation
|
||||
-- SS-Codes '00011010'B to '00011111'B are reserved for future
|
||||
-- NameIdentification Supplementary Service use.
|
||||
allForwardingSS SS-Code ::=
|
||||
'00100000'B
|
||||
|
||||
-- all forwarding SS
|
||||
cfu SS-Code ::= '00100001'B
|
||||
|
||||
-- call forwarding unconditional
|
||||
allCondForwardingSS SS-Code ::= '00101000'B
|
||||
|
||||
-- all conditional forwarding SS
|
||||
cfb SS-Code ::= '00101001'B
|
||||
|
||||
-- call forwarding on mobile subscriber busy
|
||||
cfnry SS-Code ::= '00101010'B
|
||||
|
||||
-- call forwarding on no reply
|
||||
cfnrc SS-Code ::= '00101011'B
|
||||
|
||||
-- call forwarding on mobile subscriber not reachable
|
||||
cd SS-Code ::= '00100100'B
|
||||
|
||||
-- call deflection
|
||||
allCallOfferingSS SS-Code ::= '00110000'B
|
||||
|
||||
-- reserved for possible future use
|
||||
-- all call offering SS includes also all forwarding SS
|
||||
ect SS-Code ::=
|
||||
'00110001'B
|
||||
|
||||
-- explicit call transfer
|
||||
mah SS-Code ::= '00110010'B
|
||||
|
||||
-- reserved for possible future use
|
||||
-- mobile access hunting
|
||||
allCallCompletionSS SS-Code ::=
|
||||
'01000000'B
|
||||
|
||||
-- reserved for possible future use
|
||||
-- all Call completion SS
|
||||
cw SS-Code ::=
|
||||
'01000001'B
|
||||
|
||||
-- call waiting
|
||||
hold SS-Code ::= '01000010'B
|
||||
|
||||
-- call hold
|
||||
ccbs-A SS-Code ::= '01000011'B
|
||||
|
||||
-- completion of call to busy subscribers, originating side
|
||||
ccbs-B SS-Code ::=
|
||||
'01000100'B
|
||||
|
||||
-- completion of call to busy subscribers, destination side
|
||||
-- this SS-Code is used only in InsertSubscriberData and DeleteSubscriberData
|
||||
mc SS-Code ::=
|
||||
'01000101'B
|
||||
|
||||
-- multicall
|
||||
allMultiPartySS SS-Code ::= '01010000'B
|
||||
|
||||
-- reserved for possible future use
|
||||
-- all multiparty SS
|
||||
multiPTY SS-Code ::=
|
||||
'01010001'B
|
||||
|
||||
-- multiparty
|
||||
allCommunityOfInterest-SS SS-Code ::= '01100000'B
|
||||
|
||||
-- reserved for possible future use
|
||||
-- all community of interest SS
|
||||
cug SS-Code ::=
|
||||
'01100001'B
|
||||
|
||||
-- closed user group
|
||||
allChargingSS SS-Code ::= '01110000'B
|
||||
|
||||
-- reserved for possible future use
|
||||
-- all charging SS
|
||||
aoci SS-Code ::=
|
||||
'01110001'B
|
||||
|
||||
-- advice of charge information
|
||||
aocc SS-Code ::= '01110010'B
|
||||
|
||||
-- advice of charge charging
|
||||
allAdditionalInfoTransferSS SS-Code ::= '10000000'B
|
||||
|
||||
-- reserved for possible future use
|
||||
-- all additional information transfer SS
|
||||
uus1 SS-Code ::=
|
||||
'10000001'B
|
||||
|
||||
-- UUS1 user-to-user signalling
|
||||
uus2 SS-Code ::= '10000010'B
|
||||
|
||||
-- UUS2 user-to-user signalling
|
||||
uus3 SS-Code ::= '10000011'B
|
||||
|
||||
-- UUS3 user-to-user signalling
|
||||
allBarringSS SS-Code ::= '10010000'B
|
||||
|
||||
-- all barring SS
|
||||
barringOfOutgoingCalls SS-Code ::= '10010001'B
|
||||
|
||||
-- barring of outgoing calls
|
||||
baoc SS-Code ::= '10010010'B
|
||||
|
||||
-- barring of all outgoing calls
|
||||
boic SS-Code ::= '10010011'B
|
||||
|
||||
-- barring of outgoing international calls
|
||||
boicExHC SS-Code ::= '10010100'B
|
||||
|
||||
-- barring of outgoing international calls except those directed
|
||||
-- to the home PLMN
|
||||
barringOfIncomingCalls SS-Code ::=
|
||||
'10011001'B
|
||||
|
||||
-- barring of incoming calls
|
||||
baic SS-Code ::= '10011010'B
|
||||
|
||||
-- barring of all incoming calls
|
||||
bicRoam SS-Code ::= '10011011'B
|
||||
|
||||
-- barring of incoming calls when roaming outside home PLMN
|
||||
-- Country
|
||||
allPLMN-specificSS SS-Code ::=
|
||||
'11110000'B
|
||||
|
||||
plmn-specificSS-1 SS-Code ::= '11110001'B
|
||||
|
||||
plmn-specificSS-2 SS-Code ::= '11110010'B
|
||||
|
||||
plmn-specificSS-3 SS-Code ::= '11110011'B
|
||||
|
||||
plmn-specificSS-4 SS-Code ::= '11110100'B
|
||||
|
||||
plmn-specificSS-5 SS-Code ::= '11110101'B
|
||||
|
||||
plmn-specificSS-6 SS-Code ::= '11110110'B
|
||||
|
||||
plmn-specificSS-7 SS-Code ::= '11110111'B
|
||||
|
||||
plmn-specificSS-8 SS-Code ::= '11111000'B
|
||||
|
||||
plmn-specificSS-9 SS-Code ::= '11111001'B
|
||||
|
||||
plmn-specificSS-A SS-Code ::= '11111010'B
|
||||
|
||||
plmn-specificSS-B SS-Code ::= '11111011'B
|
||||
|
||||
plmn-specificSS-C SS-Code ::= '11111100'B
|
||||
|
||||
plmn-specificSS-D SS-Code ::= '11111101'B
|
||||
|
||||
plmn-specificSS-E SS-Code ::= '11111110'B
|
||||
|
||||
plmn-specificSS-F SS-Code ::= '11111111'B
|
||||
|
||||
allCallPrioritySS SS-Code ::= '10100000'B
|
||||
|
||||
-- reserved for possible future use
|
||||
-- all call priority SS
|
||||
emlpp SS-Code ::=
|
||||
'10100001'B
|
||||
|
||||
-- enhanced Multilevel Precedence Pre-emption (EMLPP) service
|
||||
allLCSPrivacyException SS-Code ::=
|
||||
'10110000'B
|
||||
|
||||
-- all LCS Privacy Exception Classes
|
||||
universal SS-Code ::= '10110001'B
|
||||
|
||||
-- allow location by any LCS client
|
||||
callSessionRelated SS-Code ::= '10110010'B
|
||||
|
||||
-- allow location by any value added LCS client to which a call/session
|
||||
-- is established from the target MS
|
||||
callSessionUnrelated SS-Code ::=
|
||||
'10110011'B
|
||||
|
||||
-- allow location by designated external value added LCS clients
|
||||
plmnoperator SS-Code ::=
|
||||
'10110100'B
|
||||
|
||||
-- allow location by designated PLMN operator LCS clients
|
||||
serviceType SS-Code ::=
|
||||
'10110101'B
|
||||
|
||||
-- allow location by LCS clients of a designated LCS service type
|
||||
allMOLR-SS SS-Code ::=
|
||||
'11000000'B
|
||||
|
||||
-- all Mobile Originating Location Request Classes
|
||||
basicSelfLocation SS-Code ::=
|
||||
'11000001'B
|
||||
|
||||
-- allow an MS to request its own location
|
||||
autonomousSelfLocation SS-Code ::=
|
||||
'11000010'B
|
||||
|
||||
-- allow an MS to perform self location without interaction
|
||||
-- with the PLMN for a predetermined period of time
|
||||
transferToThirdParty SS-Code ::=
|
||||
'11000011'B
|
||||
|
||||
-- allow an MS to request transfer of its location to another LCS client
|
||||
END
|
||||
|
|
@ -0,0 +1,270 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-SS-DataTypes(14) version8(8)} DEFINITIONS
|
||||
IMPLICIT TAGS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
RegisterSS-Arg, SS-Info, SS-Status, SS-SubscriptionOption, SS-ForBS-Code,
|
||||
InterrogateSS-Res, USSD-Arg, USSD-Res, USSD-DataCodingScheme, USSD-String,
|
||||
Password, GuidanceInfo, SS-List, SS-InfoList, OverrideCategory,
|
||||
CliRestrictionOption, NoReplyConditionTime, ForwardingOptions, maxNumOfSS,
|
||||
SS-Data, SS-InvocationNotificationArg, SS-InvocationNotificationRes,
|
||||
CCBS-Feature, RegisterCC-EntryArg, RegisterCC-EntryRes, EraseCC-EntryArg,
|
||||
EraseCC-EntryRes;
|
||||
|
||||
IMPORTS
|
||||
AddressString, ISDN-AddressString, ISDN-SubaddressString, FTN-AddressString,
|
||||
IMSI, BasicServiceCode, AlertingPattern, EMLPP-Priority, MaxMC-Bearers,
|
||||
MC-Bearers, ExternalSignalInfo
|
||||
FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18)
|
||||
version8(8)}
|
||||
ExtensionContainer
|
||||
FROM MAP-ExtensionDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ExtensionDataTypes(21)
|
||||
version8(8)}
|
||||
SS-Code
|
||||
FROM MAP-SS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-SS-Code(15) version8(8)};
|
||||
|
||||
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}
|
||||
|
||||
NoReplyConditionTime ::= INTEGER(5..30)
|
||||
|
||||
SS-Info ::= CHOICE {
|
||||
forwardingInfo [0] ForwardingInfo,
|
||||
callBarringInfo [1] CallBarringInfo,
|
||||
ss-Data [3] SS-Data}
|
||||
|
||||
ForwardingInfo ::= SEQUENCE {
|
||||
ss-Code SS-Code OPTIONAL,
|
||||
forwardingFeatureList ForwardingFeatureList,
|
||||
...}
|
||||
|
||||
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}
|
||||
|
||||
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"
|
||||
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)
|
||||
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}
|
||||
|
||||
CliRestrictionOption ::= ENUMERATED {
|
||||
permanent(0), temporaryDefaultRestricted(1), temporaryDefaultAllowed(2)
|
||||
}
|
||||
|
||||
OverrideCategory ::= ENUMERATED {overrideEnabled(0), overrideDisabled(1)}
|
||||
|
||||
SS-ForBS-Code ::= SEQUENCE {
|
||||
ss-Code SS-Code,
|
||||
basicService BasicServiceCode OPTIONAL,
|
||||
...,
|
||||
longFTN-Supported [4] NULL OPTIONAL}
|
||||
|
||||
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}
|
||||
|
||||
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)
|
||||
|
||||
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,
|
||||
...}
|
||||
|
||||
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 [25]
|
||||
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
|
||||
|
||||
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.
|
||||
SS-List ::= SEQUENCE SIZE (1..maxNumOfSS) OF SS-Code
|
||||
|
||||
maxNumOfSS INTEGER ::= 30
|
||||
|
||||
SS-InfoList ::= SEQUENCE SIZE (1..maxNumOfSS) OF SS-Info
|
||||
|
||||
BasicServiceGroupList ::=
|
||||
SEQUENCE SIZE (1..maxNumOfBasicServiceGroups) OF BasicServiceCode
|
||||
|
||||
maxNumOfBasicServiceGroups INTEGER ::= 13
|
||||
|
||||
SS-InvocationNotificationArg ::= SEQUENCE {
|
||||
imsi [0] IMSI,
|
||||
msisdn [1] ISDN-AddressString,
|
||||
ss-Event [2] SS-Code,
|
||||
-- The following SS-Code values are allowed :
|
||||
-- ect SS-Code ::= '00110001'B
|
||||
-- multiPTY SS-Code ::= '01010001'B
|
||||
-- cd SS-Code ::= '00100100'B
|
||||
-- ccbs SS-Code ::= '01000100'B
|
||||
ss-EventSpecification [3] SS-EventSpecification OPTIONAL,
|
||||
extensionContainer [4] ExtensionContainer OPTIONAL,
|
||||
...,
|
||||
b-subscriberNumber [5] ISDN-AddressString OPTIONAL,
|
||||
ccbs-RequestState [6] CCBS-RequestState OPTIONAL}
|
||||
|
||||
CCBS-RequestState ::= ENUMERATED {
|
||||
request(0), recall(1), active(2), completed(3), suspended(4), frozen(5),
|
||||
deleted(6)}
|
||||
|
||||
SS-InvocationNotificationRes ::= SEQUENCE {
|
||||
extensionContainer ExtensionContainer OPTIONAL,
|
||||
...}
|
||||
|
||||
SS-EventSpecification ::=
|
||||
SEQUENCE SIZE (1..maxEventSpecification) OF AddressString
|
||||
|
||||
maxEventSpecification INTEGER ::= 2
|
||||
|
||||
RegisterCC-EntryArg ::= SEQUENCE {
|
||||
ss-Code [0] SS-Code,
|
||||
ccbs-Data [1] CCBS-Data OPTIONAL,
|
||||
...}
|
||||
|
||||
CCBS-Data ::= SEQUENCE {
|
||||
ccbs-Feature [0] CCBS-Feature,
|
||||
translatedB-Number [1] ISDN-AddressString,
|
||||
serviceIndicator [2] ServiceIndicator OPTIONAL,
|
||||
callInfo [3] ExternalSignalInfo,
|
||||
networkSignalInfo [4] ExternalSignalInfo,
|
||||
...}
|
||||
|
||||
ServiceIndicator ::= BIT STRING {clir-invoked(0), camel-invoked(1)
|
||||
}(SIZE (2..32))
|
||||
|
||||
-- exception handling:
|
||||
-- bits 2 to 31 shall be ignored if received and not understood
|
||||
RegisterCC-EntryRes ::= SEQUENCE {
|
||||
ccbs-Feature [0] CCBS-Feature OPTIONAL,
|
||||
...}
|
||||
|
||||
EraseCC-EntryArg ::= SEQUENCE {
|
||||
ss-Code [0] SS-Code,
|
||||
ccbs-Index [1] CCBS-Index OPTIONAL,
|
||||
...}
|
||||
|
||||
EraseCC-EntryRes ::= SEQUENCE {
|
||||
ss-Code [0] SS-Code,
|
||||
ss-Status [1] SS-Status OPTIONAL,
|
||||
...}
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-ST-DataTypes {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-ST-DataTypes(27) version8(8)} DEFINITIONS
|
||||
IMPLICIT TAGS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
SecureTransportArg, SecureTransportRes, SecurityHeader, ProtectedPayload;
|
||||
|
||||
IMPORTS
|
||||
IMSI
|
||||
FROM MAP-CommonDataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-CommonDataTypes(18)
|
||||
version8(8)};
|
||||
|
||||
SecureTransportArg ::= SEQUENCE {
|
||||
securityHeader SecurityHeader,
|
||||
protectedPayload ProtectedPayload OPTIONAL}
|
||||
|
||||
-- The protectedPayload carries the result of applying the security function
|
||||
-- defined in 3GPP TS 33.200 to the encoding of the argument of the securely
|
||||
-- transported operation
|
||||
SecureTransportRes ::= SEQUENCE {
|
||||
securityHeader SecurityHeader,
|
||||
protectedPayload ProtectedPayload OPTIONAL}
|
||||
|
||||
-- The protectedPayload carries the result of applying the security function
|
||||
-- defined in 3GPP TS 33.200 to the encoding of the result of the securely
|
||||
-- transported operation
|
||||
SecurityHeader ::= SEQUENCE {
|
||||
securityParametersIndex SecurityParametersIndex,
|
||||
originalComponentIdentifier OriginalComponentIdentifier,
|
||||
initialisationVector InitialisationVector OPTIONAL,
|
||||
...}
|
||||
|
||||
ProtectedPayload ::= OCTET STRING(SIZE (1..3438))
|
||||
|
||||
-- In protection mode 0 (noProtection) the ProtectedPayload carries the transfer
|
||||
-- syntax value of the component parameter identified by the
|
||||
-- originalComponentIdentifier.
|
||||
-- In protection mode 1 (integrityAuthenticity) the protectedPayload carries
|
||||
-- the transfer syntax value of the component
|
||||
-- parameter identified by the originalComponentIdentifier, followed by
|
||||
-- the 32 bit integrity check value.
|
||||
-- The integrity check value is the result of applying the hash algorithm
|
||||
-- to the concatenation of the transfer syntax value of the SecurityHeader,
|
||||
-- and the transfer syntax value of the component parameter.
|
||||
-- In protection mode 2 (confidentialityIntegrityAuthenticity) the protected
|
||||
-- payload carries the encrypted transfer syntax
|
||||
-- value of the component parameter identified by the
|
||||
-- originalComponentIdentifier, followed by the 32 bit integrity check value.
|
||||
-- The integrity check value is the result of applying the hash algorithm
|
||||
-- to the concatenation of the transfer syntax value of the SecurityHeader,
|
||||
-- and the encrypted transfer syntax value of the component parameter.
|
||||
-- See 33.200.
|
||||
-- The length of the protectedPayload is adjusted according to the capabilities of
|
||||
-- the lower protocol layers
|
||||
SecurityParametersIndex ::= OCTET STRING(SIZE (4))
|
||||
|
||||
InitialisationVector ::= OCTET STRING(SIZE (14))
|
||||
|
||||
-- the internal structure is defined as follows:
|
||||
-- Octets 1 to 4 : TVP. The TVP is a 32 bit time stamp. Its value is binary coded
|
||||
-- and indicates the number of intervals of 100 milliseconds
|
||||
-- elapsed since 1st January 2002, 0:00:00 UTC
|
||||
-- Octets 5 to 10: NE-Id. The NE-Id uniquely identifies the sending network entity
|
||||
-- within the PLMN. It is the entity's E.164 number without CC and
|
||||
-- NDC. It is TBCD-coded, padded with zeros.
|
||||
-- Octets 11 to 14: PROP. This 32 bit value is used to make the
|
||||
-- InitialisationVector unique within the same TVP period.
|
||||
-- The content is not standardized.
|
||||
OriginalComponentIdentifier ::= CHOICE {
|
||||
operationCode [0] OperationCode,
|
||||
errorCode [1] ErrorCode,
|
||||
userInfo [2] NULL}
|
||||
|
||||
OperationCode ::= CHOICE {localValue INTEGER,
|
||||
globalValue OBJECT IDENTIFIER}
|
||||
|
||||
ErrorCode ::= CHOICE {localValue INTEGER,
|
||||
globalValue OBJECT IDENTIFIER}
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
MAP-SecureTransportOperations
|
||||
{itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-SecureTransportOperations(26)
|
||||
version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
secureTransportClass1, secureTransportClass2, secureTransportClass3,
|
||||
secureTransportClass4;
|
||||
|
||||
IMPORTS
|
||||
OPERATION
|
||||
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
|
||||
remote-operations(4) informationObjects(5) version1(0)}
|
||||
dataMissing, secureTransportError, unexpectedDataValue
|
||||
FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-Errors(10) version8(8)}
|
||||
SecureTransportArg, SecureTransportRes
|
||||
FROM MAP-ST-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-ST-DataTypes(27)
|
||||
version8(8)};
|
||||
|
||||
secureTransportClass1 OPERATION ::= {
|
||||
--Timer shall be the same as for the
|
||||
--securely transported operation
|
||||
ARGUMENT SecureTransportArg
|
||||
RESULT SecureTransportRes
|
||||
ERRORS {secureTransportError | dataMissing | unexpectedDataValue}
|
||||
CODE local:78}
|
||||
|
||||
secureTransportClass2 OPERATION ::= {
|
||||
--Timer shall be the same as for the
|
||||
--securely transported operation
|
||||
ARGUMENT SecureTransportArg
|
||||
ERRORS {secureTransportError | dataMissing | unexpectedDataValue}
|
||||
CODE local:79}
|
||||
|
||||
secureTransportClass3 OPERATION ::= {
|
||||
--Timer shall be the same as for the
|
||||
--securely transported operation
|
||||
ARGUMENT SecureTransportArg
|
||||
RESULT SecureTransportRes
|
||||
CODE local:80}
|
||||
|
||||
secureTransportClass4 OPERATION ::= {
|
||||
--Timer shall be the same as for the
|
||||
--securely transported operation
|
||||
ARGUMENT SecureTransportArg
|
||||
CODE local:81}
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-ShortMessageServiceOperations {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3)
|
||||
map-ShortMessageServiceOperations(9) version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
sendRoutingInfoForSM, mo-ForwardSM, mt-ForwardSM, reportSM-DeliveryStatus,
|
||||
alertServiceCentre, informServiceCentre, readyForSM;
|
||||
|
||||
IMPORTS
|
||||
OPERATION
|
||||
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
|
||||
remote-operations(4) informationObjects(5) version1(0)}
|
||||
systemFailure, dataMissing, unexpectedDataValue, facilityNotSupported,
|
||||
unknownSubscriber, unidentifiedSubscriber, illegalSubscriber,
|
||||
illegalEquipment, teleserviceNotProvisioned, callBarred,
|
||||
subscriberBusyForMT-SMS, sm-DeliveryFailure, messageWaitingListFull,
|
||||
absentSubscriberSM
|
||||
FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-Errors(10) version8(8)}
|
||||
RoutingInfoForSM-Arg, RoutingInfoForSM-Res, MO-ForwardSM-Arg,
|
||||
MO-ForwardSM-Res, MT-ForwardSM-Arg, MT-ForwardSM-Res,
|
||||
ReportSM-DeliveryStatusArg, ReportSM-DeliveryStatusRes,
|
||||
AlertServiceCentreArg, InformServiceCentreArg, ReadyForSM-Arg,
|
||||
ReadyForSM-Res
|
||||
FROM MAP-SM-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-SM-DataTypes(16)
|
||||
version8(8)};
|
||||
|
||||
sendRoutingInfoForSM OPERATION ::= { --Timer m
|
||||
ARGUMENT RoutingInfoForSM-Arg
|
||||
RESULT RoutingInfoForSM-Res
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported |
|
||||
unknownSubscriber | teleserviceNotProvisioned | callBarred |
|
||||
absentSubscriberSM}
|
||||
CODE local:45}
|
||||
|
||||
mo-ForwardSM OPERATION ::= { --Timer ml
|
||||
ARGUMENT MO-ForwardSM-Arg
|
||||
RESULT MO-ForwardSM-Res
|
||||
-- optional
|
||||
ERRORS
|
||||
{systemFailure | unexpectedDataValue | facilityNotSupported |
|
||||
sm-DeliveryFailure}
|
||||
CODE local:46}
|
||||
|
||||
mt-ForwardSM OPERATION ::= { --Timer ml
|
||||
ARGUMENT MT-ForwardSM-Arg
|
||||
RESULT MT-ForwardSM-Res
|
||||
-- optional
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | facilityNotSupported |
|
||||
unidentifiedSubscriber | illegalSubscriber | illegalEquipment |
|
||||
subscriberBusyForMT-SMS | sm-DeliveryFailure | absentSubscriberSM}
|
||||
CODE local:44}
|
||||
|
||||
reportSM-DeliveryStatus OPERATION ::= { --Timer s
|
||||
ARGUMENT ReportSM-DeliveryStatusArg
|
||||
RESULT ReportSM-DeliveryStatusRes
|
||||
-- optional
|
||||
ERRORS
|
||||
{dataMissing | unexpectedDataValue | unknownSubscriber |
|
||||
messageWaitingListFull}
|
||||
CODE local:47}
|
||||
|
||||
alertServiceCentre OPERATION ::= { --Timer s
|
||||
ARGUMENT AlertServiceCentreArg
|
||||
RETURN RESULT TRUE
|
||||
ERRORS {systemFailure | dataMissing | unexpectedDataValue}
|
||||
CODE local:64}
|
||||
|
||||
informServiceCentre OPERATION ::= { --Timer s
|
||||
ARGUMENT InformServiceCentreArg
|
||||
CODE local:63}
|
||||
|
||||
readyForSM OPERATION ::= { --Timer m
|
||||
ARGUMENT ReadyForSM-Arg
|
||||
RESULT ReadyForSM-Res
|
||||
-- optional
|
||||
ERRORS
|
||||
{dataMissing | unexpectedDataValue | facilityNotSupported |
|
||||
unknownSubscriber}
|
||||
CODE local:66}
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,154 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-SupplementaryServiceOperations {itu-t identified-organization(4)
|
||||
etsi(0) mobileDomain(0) gsm-Network(1) modules(3)
|
||||
map-SupplementaryServiceOperations(8) version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
EXPORTS
|
||||
registerSS, eraseSS, activateSS, deactivateSS, interrogateSS,
|
||||
processUnstructuredSS-Request, unstructuredSS-Request,
|
||||
unstructuredSS-Notify, registerPassword, getPassword,
|
||||
ss-InvocationNotification, registerCC-Entry, eraseCC-Entry;
|
||||
|
||||
IMPORTS
|
||||
OPERATION
|
||||
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
|
||||
remote-operations(4) informationObjects(5) version1(0)}
|
||||
systemFailure, dataMissing, unexpectedDataValue, unknownSubscriber,
|
||||
bearerServiceNotProvisioned, teleserviceNotProvisioned, callBarred,
|
||||
illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable,
|
||||
ss-SubscriptionViolation, ss-Incompatibility, pw-RegistrationFailure,
|
||||
negativePW-Check, numberOfPW-AttemptsViolation, unknownAlphabet,
|
||||
ussd-Busy, absentSubscriber, illegalSubscriber, illegalEquipment,
|
||||
shortTermDenial, longTermDenial, facilityNotSupported
|
||||
FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-Errors(10) version8(8)}
|
||||
RegisterSS-Arg, SS-Info, SS-ForBS-Code, InterrogateSS-Res, USSD-Arg,
|
||||
USSD-Res, Password, GuidanceInfo, SS-InvocationNotificationArg,
|
||||
SS-InvocationNotificationRes, RegisterCC-EntryArg, RegisterCC-EntryRes,
|
||||
EraseCC-EntryArg, EraseCC-EntryRes
|
||||
FROM MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0)
|
||||
mobileDomain(0) gsm-Network(1) modules(3) map-SS-DataTypes(14)
|
||||
version8(8)}
|
||||
SS-Code
|
||||
FROM MAP-SS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-SS-Code(15) version8(8)};
|
||||
|
||||
-- supplementary service handling operations
|
||||
registerSS OPERATION ::= { --Timer m
|
||||
ARGUMENT RegisterSS-Arg
|
||||
RESULT SS-Info
|
||||
-- optional
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue |
|
||||
bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred |
|
||||
illegalSS-Operation | ss-ErrorStatus | ss-Incompatibility}
|
||||
CODE local:10}
|
||||
|
||||
eraseSS OPERATION ::= { --Timer m
|
||||
ARGUMENT SS-ForBS-Code
|
||||
RESULT SS-Info
|
||||
-- optional
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue |
|
||||
bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred |
|
||||
illegalSS-Operation | ss-ErrorStatus}
|
||||
CODE local:11}
|
||||
|
||||
activateSS OPERATION ::= { --Timer m
|
||||
ARGUMENT SS-ForBS-Code
|
||||
RESULT SS-Info
|
||||
-- optional
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue |
|
||||
bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred |
|
||||
illegalSS-Operation | ss-ErrorStatus | ss-SubscriptionViolation |
|
||||
ss-Incompatibility | negativePW-Check | numberOfPW-AttemptsViolation}
|
||||
CODE local:12}
|
||||
|
||||
deactivateSS OPERATION ::= { --Timer m
|
||||
ARGUMENT SS-ForBS-Code
|
||||
RESULT SS-Info
|
||||
-- optional
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue |
|
||||
bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred |
|
||||
illegalSS-Operation | ss-ErrorStatus | ss-SubscriptionViolation |
|
||||
negativePW-Check | numberOfPW-AttemptsViolation}
|
||||
CODE local:13}
|
||||
|
||||
interrogateSS OPERATION ::= { --Timer m
|
||||
ARGUMENT SS-ForBS-Code
|
||||
RESULT InterrogateSS-Res
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue |
|
||||
bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred |
|
||||
illegalSS-Operation | ss-NotAvailable}
|
||||
CODE local:14}
|
||||
|
||||
processUnstructuredSS-Request OPERATION ::= { --Timer 10 minutes
|
||||
ARGUMENT USSD-Arg
|
||||
RESULT USSD-Res
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | unknownAlphabet |
|
||||
callBarred}
|
||||
CODE local:59}
|
||||
|
||||
unstructuredSS-Request OPERATION ::= { --Timer ml
|
||||
ARGUMENT USSD-Arg
|
||||
RESULT USSD-Res
|
||||
-- optional
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | absentSubscriber |
|
||||
illegalSubscriber | illegalEquipment | unknownAlphabet | ussd-Busy}
|
||||
CODE local:60}
|
||||
|
||||
unstructuredSS-Notify OPERATION ::= { --Timer ml
|
||||
ARGUMENT USSD-Arg
|
||||
RETURN RESULT TRUE
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | absentSubscriber |
|
||||
illegalSubscriber | illegalEquipment | unknownAlphabet | ussd-Busy}
|
||||
CODE local:61}
|
||||
|
||||
registerPassword OPERATION ::= { --Timer ml
|
||||
ARGUMENT SS-Code
|
||||
RESULT Password
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | callBarred |
|
||||
ss-SubscriptionViolation | pw-RegistrationFailure | negativePW-Check |
|
||||
numberOfPW-AttemptsViolation}
|
||||
LINKED {getPassword}
|
||||
CODE local:17}
|
||||
|
||||
getPassword OPERATION ::= { --Timer m
|
||||
ARGUMENT GuidanceInfo
|
||||
RESULT Password
|
||||
CODE local:18}
|
||||
|
||||
ss-InvocationNotification OPERATION ::= { --Timer m
|
||||
ARGUMENT SS-InvocationNotificationArg
|
||||
RESULT SS-InvocationNotificationRes
|
||||
-- optional
|
||||
ERRORS {dataMissing | unexpectedDataValue | unknownSubscriber}
|
||||
CODE local:72}
|
||||
|
||||
registerCC-Entry OPERATION ::= { --Timer m
|
||||
ARGUMENT RegisterCC-EntryArg
|
||||
RESULT RegisterCC-EntryRes
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | callBarred |
|
||||
illegalSS-Operation | ss-ErrorStatus | ss-Incompatibility |
|
||||
shortTermDenial | longTermDenial | facilityNotSupported}
|
||||
CODE local:76}
|
||||
|
||||
eraseCC-Entry OPERATION ::= { --Timer m
|
||||
ARGUMENT EraseCC-EntryArg
|
||||
RESULT EraseCC-EntryRes
|
||||
ERRORS
|
||||
{systemFailure | dataMissing | unexpectedDataValue | callBarred |
|
||||
illegalSS-Operation | ss-ErrorStatus}
|
||||
CODE local:77}
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MAP-TS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0)
|
||||
gsm-Network(1) modules(3) map-TS-Code(19) version8(8)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
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)
|
||||
Ext-TeleserviceCode ::= OCTET STRING(SIZE (1..5))
|
||||
|
||||
-- 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:
|
||||
-- OCTET 1:
|
||||
-- bits 87654321: group (bits 8765) and specific service
|
||||
-- (bits 4321)
|
||||
-- OCTETS 2-5: reserved for future use. If received the
|
||||
-- Ext-TeleserviceCode shall be
|
||||
-- treated according to the exception handling defined for the
|
||||
-- operation that uses this type.
|
||||
-- Ext-TeleserviceCode includes all values defined for TeleserviceCode.
|
||||
allTeleservices TeleserviceCode ::=
|
||||
'00000000'B
|
||||
|
||||
allSpeechTransmissionServices TeleserviceCode ::= '00010000'B
|
||||
|
||||
telephony TeleserviceCode ::= '00010001'B
|
||||
|
||||
emergencyCalls TeleserviceCode ::= '00010010'B
|
||||
|
||||
allShortMessageServices TeleserviceCode ::= '00100000'B
|
||||
|
||||
shortMessageMT-PP TeleserviceCode ::= '00100001'B
|
||||
|
||||
shortMessageMO-PP TeleserviceCode ::= '00100010'B
|
||||
|
||||
allFacsimileTransmissionServices TeleserviceCode ::= '01100000'B
|
||||
|
||||
facsimileGroup3AndAlterSpeech TeleserviceCode ::= '01100001'B
|
||||
|
||||
automaticFacsimileGroup3 TeleserviceCode ::= '01100010'B
|
||||
|
||||
facsimileGroup4 TeleserviceCode ::= '01100011'B
|
||||
|
||||
-- The following non-hierarchical Compound Teleservice Groups
|
||||
-- are defined in TS 3GPP TS 22.030:
|
||||
allDataTeleservices TeleserviceCode ::=
|
||||
'01110000'B
|
||||
|
||||
-- covers Teleservice Groups 'allFacsimileTransmissionServices'
|
||||
-- and 'allShortMessageServices'
|
||||
allTeleservices-ExeptSMS TeleserviceCode ::=
|
||||
'10000000'B
|
||||
|
||||
-- covers Teleservice Groups 'allSpeechTransmissionServices' and
|
||||
-- 'allFacsimileTransmissionServices'
|
||||
--
|
||||
-- Compound Teleservice Group Codes are only used in call
|
||||
-- independent supplementary service operations, i.e. they
|
||||
-- are not used in InsertSubscriberData or in
|
||||
-- DeleteSubscriberData messages.
|
||||
allVoiceGroupCallServices TeleserviceCode ::=
|
||||
'10010000'B
|
||||
|
||||
voiceGroupCall TeleserviceCode ::= '10010001'B
|
||||
|
||||
voiceBroadcastCall TeleserviceCode ::= '10010010'B
|
||||
|
||||
allPLMN-specificTS TeleserviceCode ::= '11010000'B
|
||||
|
||||
plmn-specificTS-1 TeleserviceCode ::= '11010001'B
|
||||
|
||||
plmn-specificTS-2 TeleserviceCode ::= '11010010'B
|
||||
|
||||
plmn-specificTS-3 TeleserviceCode ::= '11010011'B
|
||||
|
||||
plmn-specificTS-4 TeleserviceCode ::= '11010100'B
|
||||
|
||||
plmn-specificTS-5 TeleserviceCode ::= '11010101'B
|
||||
|
||||
plmn-specificTS-6 TeleserviceCode ::= '11010110'B
|
||||
|
||||
plmn-specificTS-7 TeleserviceCode ::= '11010111'B
|
||||
|
||||
plmn-specificTS-8 TeleserviceCode ::= '11011000'B
|
||||
|
||||
plmn-specificTS-9 TeleserviceCode ::= '11011001'B
|
||||
|
||||
plmn-specificTS-A TeleserviceCode ::= '11011010'B
|
||||
|
||||
plmn-specificTS-B TeleserviceCode ::= '11011011'B
|
||||
|
||||
plmn-specificTS-C TeleserviceCode ::= '11011100'B
|
||||
|
||||
plmn-specificTS-D TeleserviceCode ::= '11011101'B
|
||||
|
||||
plmn-specificTS-E TeleserviceCode ::= '11011110'B
|
||||
|
||||
plmn-specificTS-F TeleserviceCode ::= '11011111'B
|
||||
|
||||
END
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
|
||||
## I found it necessary to copy Remote-Operations-* here
|
||||
## TCAPINCLUDES = -I ../../../TCAP/itu/asn_src
|
||||
TCAPINCLUDES =
|
||||
|
||||
ERLC = erlc
|
||||
ERLCFLAGS = -b beam -W -v
|
||||
|
||||
ASNC = $(ERLC)
|
||||
ASNCFLAGS = -W -b ber_bin $(TCAPINCLUDES) +optimize +driver
|
||||
|
||||
%.beam:%.erl
|
||||
$(ERLC) $(ERLCFLAGS) $<
|
||||
|
||||
.SECONDARY: %.erl
|
||||
%.erl:%.asn
|
||||
$(ASNC) $(ASNCFLAGS) $<
|
||||
|
||||
default: all
|
||||
|
||||
all: MAP-SecureTransportOperations.beam \
|
||||
MAP-MobileServiceOperations.beam \
|
||||
MAP-LocationServiceOperations.beam \
|
||||
MAP-OperationAndMaintenanceOperations.beam \
|
||||
MAP-CallHandlingOperations.beam \
|
||||
MAP-SupplementaryServiceOperations.beam \
|
||||
MAP-ShortMessageServiceOperations.beam \
|
||||
MAP-Group-Call-Operations.beam \
|
||||
MAP-ApplicationContexts.beam \
|
||||
MAP-DialogueInformation.beam \
|
||||
MAP-Protocol.beam
|
||||
|
||||
|
||||
MAP-CommonDataTypes.erl: MAP-ExtensionDataTypes.erl \
|
||||
MAP-TS-Code.erl MAP-BS-Code.erl MAP-SS-Code.erl
|
||||
MAP-ER-DataTypes.erl: MAP-ExtensionDataTypes.erl \
|
||||
MAP-SS-DataTypes.erl MAP-CommonDataTypes.erl \
|
||||
MAP-ST-DataTypes.erl MAP-SS-Code.erl
|
||||
MAP-ST-DataTypes.erl: MAP-CommonDataTypes.erl
|
||||
MAP-MS-DataTypes.erl: MAP-ER-DataTypes.erl \
|
||||
MAP-SS-DataTypes.erl MAP-SS-Code.erl \
|
||||
MAP-BS-Code.erl MAP-TS-Code.erl \
|
||||
MAP-CommonDataTypes.erl MAP-ExtensionDataTypes.erl
|
||||
MAP-LCS-DataTypes.erl: MAP-SM-DataTypes.erl \
|
||||
MAP-CommonDataTypes.erl MAP-ExtensionDataTypes.erl \
|
||||
MAP-SS-DataTypes.erl MAP-MS-DataTypes.erl
|
||||
MAP-CH-DataTypes.erl: MAP-ExtensionDataTypes.erl \
|
||||
MAP-MS-DataTypes.erl MAP-SS-DataTypes.erl \
|
||||
MAP-CommonDataTypes.erl
|
||||
MAP-OM-DataTypes.erl: MAP-ExtensionDataTypes.erl \
|
||||
MAP-CommonDataTypes.erl
|
||||
MAP-SS-DataTypes.erl: MAP-SS-Code.erl \
|
||||
MAP-CommonDataTypes.erl MAP-ExtensionDataTypes.erl
|
||||
MAP-SM-DataTypes.erl: MAP-ExtensionDataTypes.erl \
|
||||
MAP-CommonDataTypes.erl MAP-ER-DataTypes.erl
|
||||
MAP-GR-DataTypes.erl: MAP-ExtensionDataTypes.erl \
|
||||
MAP-CommonDataTypes.erl MAP-TS-Code.erl \
|
||||
MAP-MS-DataTypes.erl
|
||||
|
||||
MAP-Errors.erl: MAP-ER-DataTypes.erl \
|
||||
MAP-SS-DataTypes.erl
|
||||
|
||||
MAP-SecureTransportOperations.erl: MAP-ST-DataTypes.erl \
|
||||
MAP-Errors.erl
|
||||
MAP-MobileServiceOperations.erl: MAP-MS-DataTypes.erl \
|
||||
MAP-Errors.erl
|
||||
MAP-LocationServiceOperations.erl: MAP-LCS-DataTypes.erl \
|
||||
MAP-Errors.erl
|
||||
MAP-OperationAndMaintenanceOperations.erl: MAP-CommonDataTypes.erl \
|
||||
MAP-Errors.erl MAP-OM-DataTypes.erl
|
||||
MAP-CallHandlingOperations.erl: MAP-CH-DataTypes.erl \
|
||||
MAP-Errors.erl
|
||||
MAP-SupplementaryServiceOperations.erl: MAP-SS-Code.erl \
|
||||
MAP-Errors.erl MAP-SS-DataTypes.erl
|
||||
MAP-ShortMessageServiceOperations.erl: MAP-SM-DataTypes.erl \
|
||||
MAP-Errors.erl
|
||||
MAP-Group-Call-Operations.erl: MAP-GR-DataTypes.erl \
|
||||
MAP-Errors.erl
|
||||
|
||||
MAP-ApplicationContexts.erl: MobileDomainDefinitions.erl
|
||||
MAP-DialogueInformation.erl: MAP-ST-DataTypes.erl \
|
||||
MobileDomainDefinitions.erl MAP-CommonDataTypes.erl \
|
||||
MAP-ExtensionDataTypes.erl
|
||||
MAP-Protocol.erl: MAP-MobileServiceOperations.erl \
|
||||
MAP-OperationAndMaintenanceOperations.erl \
|
||||
MAP-CallHandlingOperations.erl \
|
||||
MAP-SupplementaryServiceOperations.erl \
|
||||
MAP-ShortMessageServiceOperations.erl \
|
||||
MAP-Group-Call-Operations.erl \
|
||||
MAP-LocationServiceOperations.erl \
|
||||
MAP-SecureTransportOperations.erl
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf *.asn1db
|
||||
rm -rf MobileDomainDefinitions.erl \
|
||||
MAP-ApplicationContexts.erl MAP-BS-Code.erl \
|
||||
MAP-CH-DataTypes.erl MAP-CallHandlingOperations.erl \
|
||||
MAP-CommonDataTypes.erl MAP-DialogueInformation.erl \
|
||||
MAP-ER-DataTypes.erl MAP-Errors.erl MAP-ExtensionDataTypes.erl \
|
||||
MAP-GR-DataTypes.erl MAP-Group-Call-Operations.erl \
|
||||
MAP-LCS-DataTypes.erl MAP-LocationServiceOperations.erl \
|
||||
MAP-MS-DataTypes.erl MAP-MobileServiceOperations.erl \
|
||||
MAP-OM-DataTypes.erl MAP-OperationAndMaintenanceOperations.erl \
|
||||
MAP-Protocol.erl MAP-SM-DataTypes.erl \
|
||||
MAP-SS-Code.erl MAP-SS-DataTypes.erl MAP-ST-DataTypes.erl \
|
||||
MAP-SecureTransportOperations.erl \
|
||||
MAP-ShortMessageServiceOperations.erl \
|
||||
MAP-SupplementaryServiceOperations.erl MAP-TS-Code.erl
|
||||
rm -rf MAP-ApplicationContexts.hrl MAP-MS-DataTypes.hrl \
|
||||
MAP-CH-DataTypes.hrl MAP-OM-DataTypes.hrl \
|
||||
MAP-DialogueInformation.hrl MAP-SM-DataTypes.hrl \
|
||||
MAP-GR-DataTypes.hrl MobileDomainDefinitions.hrl \
|
||||
MAP-LCS-DataTypes.hrl MAP-BS-Code.hrl \
|
||||
MAP-CommonDataTypes.hrl MAP-ER-DataTypes.hrl \
|
||||
MAP-ExtensionDataTypes.hrl MAP-SS-Code.hrl \
|
||||
MAP-SS-DataTypes.hrl MAP-ST-DataTypes.hrl \
|
||||
MAP-TS-Code.hrl
|
||||
rm -rf *.beam
|
|
@ -0,0 +1,35 @@
|
|||
-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
|
||||
MobileDomainDefinitions {ccitt(0) identified-organization(4) etsi(0)
|
||||
mobileDomain(0) mobileDomainDefinitions(0) version1(1)} DEFINITIONS ::=
|
||||
BEGIN
|
||||
|
||||
-- Mobile DomainId
|
||||
mobileDomainId OBJECT IDENTIFIER ::=
|
||||
{ccitt(0) identified-organization(4) etsi(0) mobileDomain(0)}
|
||||
|
||||
-- Mobile Subdomains
|
||||
gsm-NetworkId OBJECT IDENTIFIER ::=
|
||||
{mobileDomainId gsm-Network(1)}
|
||||
|
||||
gsm-AccessId OBJECT IDENTIFIER ::= {mobileDomainId gsm-Access(2)}
|
||||
|
||||
gsm-OperationAndMaintenanceId OBJECT IDENTIFIER ::=
|
||||
{mobileDomainId gsm-Operation-Maintenance(3)}
|
||||
|
||||
gsm-MessagingId OBJECT IDENTIFIER ::= {mobileDomainId gsm-Messaging(4)}
|
||||
|
||||
-- Common Component Ids for structuring Mobile Subdomains
|
||||
CommonComponentId ::= INTEGER(0..9)
|
||||
|
||||
ac-Id CommonComponentId ::= 0
|
||||
|
||||
as-Id CommonComponentId ::= 1
|
||||
|
||||
ase-Id CommonComponentId ::= 2
|
||||
|
||||
moduleId CommonComponentId ::= 3
|
||||
|
||||
er-Id CommonComponentId ::= 4
|
||||
|
||||
END -- MobileDomainDefinitions
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
|
||||
The ASN.1 modules here were derived from the following version
|
||||
of the Mobile Application Part (MAP) Specification:
|
||||
|
||||
ETSI TS 129 002 V5.6.2 (2003-07)
|
||||
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
|
||||
all:
|
||||
cd gsm && $(MAKE)
|
||||
cd ansi && $(MAKE)
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
|
||||
.PHONY: all
|
||||
all:
|
||||
cd html && $(MAKE)
|
||||
|
||||
.PHONY: doc
|
||||
doc:
|
||||
cd html && $(MAKE) $@
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
cd html && $(MAKE) $@
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
## $Id: Makefile,v 1.2 2005/02/13 00:42:12 vances Exp $
|
||||
|
||||
ERL = erl
|
||||
|
||||
SRC = ../../src
|
||||
|
||||
DOCS = map.html
|
||||
|
||||
%.html:${SRC}/%.erl
|
||||
${ERL} -noshell -run edoc_run file '"$<"' '[{dir,"."}]' -s init stop
|
||||
|
||||
%.html:${SRC}/ansi/%.erl
|
||||
${ERL} -noshell -run edoc_run file '"$<"' '[{dir,"."}]' -s init stop
|
||||
|
||||
%.html:${SRC}/gsm/%.erl
|
||||
${ERL} -noshell -run edoc_run file '"$<"' '[{dir,"."}]' -s init stop
|
||||
|
||||
|
||||
.PHONY: all
|
||||
all: doc
|
||||
|
||||
|
||||
.PHONY: doc
|
||||
doc: ${DOCS}
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
- rm ${DOCS}
|
||||
|
||||
tcap.html: ${ESRC}/tcap.erl
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>MAP User's Guide</title>
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css">
|
||||
</head>
|
||||
<body bgcolor="white">
|
||||
<h1>MAP User's Guide</h1>
|
||||
<p>Copyright © 2003-2005 Motivity Telecom Inc.</p>
|
||||
<p><b>Version:</b> 1.0</p>
|
||||
<p><b>Authors:</b> Vance Shipley (<a href="mailto:vances@motivity.ca"><tt>vances@motivity.ca</tt></a>).</p>
|
||||
|
||||
<p>The MAP application is a protocol stack implementation of the Mobile Application Part procedures.</p>
|
||||
|
||||
<h3>Application</h3>
|
||||
|
||||
<h3>Requirements</h3>
|
||||
<p>This application includes only the MAP procedures and must be used with a seperate application providing the TCAP service.
|
||||
The <a href="http://www.motivity.ca/tcap"><tt>tcap</tt></a> application may be used in conjunction with the
|
||||
<a href="http://www.motivity.ca/sccp"><tt>sccp</tt></a> and
|
||||
<a href="http://www.motivity.ca/nms"><tt>nms</tt></a> applications for a complete system.</p>
|
||||
|
||||
<h3>Process Communication</h3>
|
||||
<p>
|
||||
<a href="#figure1-1">Figure 1-1</a> depicts the message paths between processes.</p>
|
||||
|
||||
Figure 1-1<br>
|
||||
<img alt="diagram of process communication" name="figure1-1" src="map_messaging.png"><br>
|
||||
|
||||
<h3>Modules</h3>
|
||||
|
||||
<h5><tt>map</tt></h5>
|
||||
<p>This library module implements the user API for the application.</p>
|
||||
|
||||
<h5><tt>map_sup</tt></h5>
|
||||
<p>This <tt>supervisor</tt> behaviour callback module implements the top level supervisor for the application.</p>
|
||||
|
||||
<h5><tt>map_load_fsm</tt></h5>
|
||||
<p>This <tt>gen_fsm</tt> behaviour callback module implements the load control process.</p>
|
||||
|
||||
<h5><tt>map_sap_sup</tt></h5>
|
||||
<p>This <tt>supervisor</tt> behaviour callback module implements the service access point (SAP) supervisors.</p>
|
||||
|
||||
<h5><tt>map_pm_sup</tt></h5>
|
||||
<p>This <tt>supervisor</tt> behaviour callback module implements the protocol machine (PM) supervisors.</p>
|
||||
|
||||
<h5><tt>map_dsm_dsm</tt></h5>
|
||||
<p>This <tt>gen_fsm</tt> behaviour callback module implements the dialogue state machines (DSM).</p>
|
||||
|
||||
<h5><tt>map_psm_fsm</tt></h5>
|
||||
<p>This <tt>gen_fsm</tt> behaviour callback module implements the performing state machines (PSM).</p>
|
||||
|
||||
<h5><tt>map_rsm_fsm</tt></h5>
|
||||
<p>This <tt>gen_fsm</tt> behaviour callback module implements the requesting state machines (RSM).</p>
|
||||
|
||||
|
||||
<h3>Supervision Tree</h3>
|
||||
|
||||
<p>The processes which make up the MAP application are all instantiated under a single supervisor.
|
||||
<a href="#figure1-2">Figure 1-2</a> shows the structure of the supervision tree.</p>
|
||||
|
||||
Figure 1-2<br>
|
||||
<img alt="diagram of supervision tree" name="figure1-2" src="map_supervision.png"><br>
|
||||
|
||||
<h3>Common Primitives</h3>
|
||||
|
||||
<h4>MAP-User → MAP</h4>
|
||||
<tt>{'MAP', 'OPEN', request, Parms}</tt><br>
|
||||
<tt>{'MAP', 'CLOSE', request, Parms}</tt><br>
|
||||
<tt>{'MAP', 'DELIMITER', request, Parms}</tt><br>
|
||||
<tt>{'MAP', 'U-ABORT', request, Parms}</tt><br>
|
||||
|
||||
<h4>MAP ← MAP-User</h4>
|
||||
<tt>{'MAP', 'OPEN', indication, Parms}</tt><br>
|
||||
<tt>{'MAP', 'CLOSE', indication, Parms}</tt><br>
|
||||
<tt>{'MAP', 'DELIMITER', indication, Parms}</tt><br>
|
||||
<tt>{'MAP', 'U-ABORT', indication, Parms}</tt><br>
|
||||
<tt>{'MAP', 'P-ABORT', indication, Parms}</tt><br>
|
||||
<tt>{'MAP', 'NOTICE', indication, Parms}</tt><br>
|
||||
|
||||
<h3>GSM Primitives</h3>
|
||||
|
||||
<h4>MAP-User → MAP</h4>
|
||||
<tt>{'MAP', 'UPDATE_LOCATION', request, Parms}</tt><br>
|
||||
<tt>{'MAP', 'CANCEL_LOCATION', request, Parms}</tt><br>
|
||||
...<br>
|
||||
|
||||
<h4>MAP ← MAP-User</h4>
|
||||
<tt>{'MAP', 'UPDATE_LOCATION', indication, Parms}</tt><br>
|
||||
<tt>{'MAP', 'CANCEL_LOCATION', indication, Parms}</tt><br>
|
||||
...<br>
|
||||
|
||||
<h3>ANSI Primitives</h3>
|
||||
|
||||
<h4>MAP-User → MAP</h4>
|
||||
<tt>{'MAP', 'REGNOT', request, Parms}</tt><br>
|
||||
<tt>{'MAP', 'REGCANC', request, Parms}</tt><br>
|
||||
...<br>
|
||||
|
||||
<h4>MAP ← MAP-User</h4>
|
||||
<tt>{'MAP', 'REGNOT', indication, Parms}</tt><br>
|
||||
<tt>{'MAP', 'REGCANC', indication, Parms}</tt><br>
|
||||
...<br>
|
||||
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
After Width: | Height: | Size: 88 KiB |
Binary file not shown.
After Width: | Height: | Size: 124 KiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,9 @@
|
|||
{application, map,
|
||||
[{description, "Mobile Application Part"},
|
||||
{vsn, "0.1"},
|
||||
{modules, [map, map_app, map_sup, map_pm_sup,
|
||||
map_load_fsm, map_dsm_fsm, map_psm_fsm, map_rsm_fsm]},
|
||||
{registered, []},
|
||||
{applications, [kernel, stdlib, tcap]},
|
||||
{env, [{supref, {local, map_sup}}]},
|
||||
{mod, {map_app, []}}]}.
|
|
@ -0,0 +1,36 @@
|
|||
## $Id: Makefile,v 1.1 2005/02/13 00:42:12 vances Exp $
|
||||
|
||||
EBIN = ../ebin
|
||||
|
||||
ERL = erl
|
||||
ERLC = erlc
|
||||
EMULATOR = beam
|
||||
ERLCFLAGS = -b $(EMULATOR) -o $(EBIN) -W -v +warn_unused_vars
|
||||
|
||||
$(EBIN)/%.$(EMULATOR):%.erl
|
||||
$(ERLC) $(ERLCFLAGS) $<
|
||||
|
||||
BEAMS = $(EBIN)/map.$(EMULATOR) $(EBIN)/map_app.$(EMULATOR) \
|
||||
$(EBIN)/map_sup.$(EMULATOR) \
|
||||
$(EBIN)/map_pm_sup.$(EMULATOR)
|
||||
|
||||
.PHONY: default
|
||||
default: all
|
||||
|
||||
.PHONY: all
|
||||
all: $(BEAMS) gsm ansi
|
||||
|
||||
.PHONY:gsm
|
||||
gsm:
|
||||
cd gsm && $(MAKE)
|
||||
|
||||
.PHONY: ansi
|
||||
ansi:
|
||||
cd ansi && $(MAKE)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
- rm -f $(BEAMS)
|
||||
cd gsm && $(MAKE) $@
|
||||
cd ansi && $(MAKE) $@
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
## $Id: Makefile,v 1.1 2005/02/13 09:45:06 vances Exp $
|
||||
|
||||
EBIN = ../ebin/itu
|
||||
|
||||
ERL = erl
|
||||
ERLC = erlc
|
||||
EMULATOR = beam
|
||||
ERLCFLAGS = -b $(EMULATOR) -o $(EBIN) -W -v +warn_unused_vars
|
||||
|
||||
$(EBIN)/%.$(EMULATOR):%.erl
|
||||
$(ERLC) $(ERLCFLAGS) $<
|
||||
|
||||
BEAMS = $(EBIN)/map_dsm_fsm.$(EMULATOR) \
|
||||
$(EBIN)/map_load_fsm.$(EMULATOR)
|
||||
|
||||
.PHONY: default
|
||||
default: all
|
||||
|
||||
.PHONY: all
|
||||
all: $(BEAMS) gsm ansi
|
||||
|
||||
.PHONY:gsm
|
||||
gsm:
|
||||
cd gsm && $(MAKE)
|
||||
|
||||
.PHONY: ansi
|
||||
ansi:
|
||||
cd ansi && $(MAKE)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
- rm -f $(BEAMS)
|
||||
cd gsm && $(MAKE) $@
|
||||
cd ansi && $(MAKE) $@
|
||||
|
|
@ -0,0 +1,684 @@
|
|||
%%% $Id: map_dsm_fsm.erl,v 1.2 2005/02/13 09:45:06 vances Exp $
|
||||
%%%---------------------------------------------------------------------
|
||||
%%% @copyright 2005 Motivity Telecom Inc.
|
||||
%%% @author Vance Shipley <vances@motivity.ca>
|
||||
%%% @end
|
||||
%%%
|
||||
%%% Copyright 2005 Motivity Telecom Inc.
|
||||
%%%
|
||||
%%% All rights reserved. No part of this computer program(s) may be
|
||||
%%% used, reproduced, stored in any retrieval system, or transmitted,
|
||||
%%% in any form or by any means, electronic, mechanical, photocopying,
|
||||
%%% recording, or otherwise without prior written permission of
|
||||
%%% Motivity Telecom Inc.
|
||||
%%%---------------------------------------------------------------------
|
||||
%%%
|
||||
%%% @doc GSM MAP Dialogue State Machine (DSM).
|
||||
%%%
|
||||
%%% @reference 3GPP TS 29.02 Figure 15.6/3: Process Secure_MAP_DSM
|
||||
%%%
|
||||
-module(map_dsm_fsm).
|
||||
-copyright('Copyright (c) 2005 Motivity Telecom Inc.').
|
||||
-author('vances@motivity.ca').
|
||||
-behaviour(gen_fsm).
|
||||
|
||||
%% behaviour modules must export this function
|
||||
-export([behaviour_info/1]).
|
||||
|
||||
%% export the gen_fsm interface
|
||||
-export([start/3, start/4, start_link/3, start_link/4,
|
||||
send_event/2, sync_send_event/2, sync_send_event/3,
|
||||
send_all_state_event/2, sync_send_all_state_event/2,
|
||||
sync_send_all_state_event/3, reply/2, send_event_after/2,
|
||||
start_timer/2, cancel_timer/1]).
|
||||
|
||||
%% export the gen_fsm state handler call backs
|
||||
-export([statename/2, statename/3]).
|
||||
|
||||
%% export the gen_fsm common call backs
|
||||
-export([init/1, handle_event/3, handle_sync_event/4,
|
||||
handle_info/3, terminate/3, code_change/4]).
|
||||
|
||||
%% define what callbacks users must export
|
||||
%%
|
||||
%% @hidden
|
||||
behaviour_info(callbacks) ->
|
||||
gen_fsm:behaviour_info(callbacks);
|
||||
behaviour_info(Other) ->
|
||||
gen_fsm:behaviour_info(Other).
|
||||
|
||||
%% include record definitions for TC service primitives
|
||||
-include("tcap.hrl").
|
||||
%% include record definitions for MAP service primitives
|
||||
-include("map.hrl").
|
||||
|
||||
%% StateData record definition
|
||||
-record(state, {module, ext_statename, ext_statedata
|
||||
applicaton_context, requests = [],
|
||||
% @reference 3GPP TS 2902 Figure 15.6/3a: Process Secure_MAP_DSM (sheet 1) DCL
|
||||
secure_transport_required, components_present, ac_name_unchanged,
|
||||
encapsulated_ac_name_unchanged, ac_included, ac_supported,
|
||||
invoke_id_active, last_component, operation_exists,
|
||||
alternative_name_exists, user_info_included, op_code).
|
||||
|
||||
|
||||
%%----------------------------------------------------------------------
|
||||
%% The gen_fsm API functions
|
||||
%%----------------------------------------------------------------------
|
||||
|
||||
%% @hidden
|
||||
start(Module, Args, Options) ->
|
||||
gen_fsm:start(?MODULE, [Module, Args], Options).
|
||||
|
||||
%% @hidden
|
||||
start(FsmRef, Module, Args, Options) ->
|
||||
gen_fsm:start(FsmRef, ?MODULE, [Module, Args], Options).
|
||||
|
||||
%% @hidden
|
||||
start_link(Module, Args, Options) ->
|
||||
gen_fsm:start_link(?MODULE, [Module, Args], Options).
|
||||
|
||||
%% @hidden
|
||||
start_link(FsmRef, Module, Args, Options) ->
|
||||
gen_fsm:start_link(FsmRef, ?MODULE, [Module, Args], Options).
|
||||
|
||||
%% @hidden
|
||||
send_event(FsmRef, Event) ->
|
||||
gen_fsm:send_event(FsmRef, Event).
|
||||
|
||||
%% @hidden
|
||||
sync_send_event(FsmRef, Event) ->
|
||||
gen_fsm:sync_send_event(FsmRef, Event).
|
||||
|
||||
%% @hidden
|
||||
sync_send_event(FsmRef, Event, Timeout) ->
|
||||
gen_fsm:sync_send_event(FsmRef, Event, Timeout).
|
||||
|
||||
%% @hidden
|
||||
send_all_state_event(FsmRef, Event) ->
|
||||
gen_fsm:send_all_state_event(FsmRef, Event).
|
||||
|
||||
%% @hidden
|
||||
sync_send_all_state_event(FsmRef, Event) ->
|
||||
gen_fsm:sync_send_all_state_event(FsmRef, Event).
|
||||
|
||||
%% @hidden
|
||||
sync_send_all_state_event(FsmRef, Event, Timeout) ->
|
||||
gen_fsm:sync_send_all_state_event(FsmRef, Event, Timeout).
|
||||
|
||||
%% @hidden
|
||||
reply(Caller, Reply) ->
|
||||
gen_fsm:reply(Caller, Reply).
|
||||
|
||||
%% @hidden
|
||||
send_event_after(Time, Event) ->
|
||||
gen_fsm:send_event_after(Time, Event).
|
||||
|
||||
%% @hidden
|
||||
start_timer(Time, Msg) ->
|
||||
gen_fsm:start_timer(Time, Msg).
|
||||
|
||||
%% @hidden
|
||||
cancel_timer(Ref) ->
|
||||
gen_fsm:cancel_timer(Ref).
|
||||
|
||||
|
||||
%%----------------------------------------------------------------------
|
||||
%% The gen_fsm call backs
|
||||
%%----------------------------------------------------------------------
|
||||
|
||||
%% @hidden
|
||||
init([Module, Args]) ->
|
||||
process_flag(trap_exit, true),
|
||||
% initialize user callback module
|
||||
case Module:init(Args) of
|
||||
{ok, ExtStateName, ExtStateData} ->
|
||||
StateData = #state{module = Module, ext_statename = ExtStateName, ext_statedata = ExtStateData},
|
||||
{ok, idle, StateData};
|
||||
{ok, ExtStateName, ExtStateData, Timeout} ->
|
||||
StateData = #state{module = Module, ext_statename = ExtStateName, ext_statedata = ExtStateData},
|
||||
{ok, idle, State, Timeout};
|
||||
{stop, Reason} ->
|
||||
{stop, Reason};
|
||||
ignore ->
|
||||
ignore;
|
||||
Other ->
|
||||
Other
|
||||
end.
|
||||
|
||||
%% @spec(Event, StateData) -> Result
|
||||
%%
|
||||
%% @doc State handler for the idle state.
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
%
|
||||
% @reference 3GPP TS 29.002 15.2.1 Behaviour at the initiating side
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3a: Process_Secure_MAP_DSM (sheet 1)
|
||||
%
|
||||
idle({'MAP', 'OPEN', request, Open} = Event, StateData) ->
|
||||
AC = Open#'MAP-OPEN'.application_context_name,
|
||||
AC_PDU = Open#'MAP-OPEN'.specific_information),
|
||||
% secure transport required? -- according to the AC and the identity of responder
|
||||
case secure_transport_required(AC, AC_PDU) of
|
||||
% true
|
||||
true ->
|
||||
% set AC: Secure_Transport
|
||||
% build encapsulated AC PDU
|
||||
NewStateData = build_encapsulated_ac_pdu(AC, AC_PDU)},
|
||||
{next_state, wait_for_user_requests, NewStateData#state{secure_transport_required = true}};
|
||||
% false
|
||||
false ->
|
||||
% store AC and user data
|
||||
NewStateData = StateData#state{application_context = AC, user_data = AC_PDU},
|
||||
{next_state, wait_for_user_requests, StateData#state{secure_transport_required = false}};
|
||||
end;
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3j: Process_Secure_MAP_DSM (sheet 10)
|
||||
idle({'TC', 'BEGIN', indication, #'TR-BEGIN'{userInfo = undefined, componentsPresent = true}, StateData) ->
|
||||
% AC included? (false)
|
||||
% components present? (true)
|
||||
{next_state, wait_for_init_data, StateData};
|
||||
idle({'TC', 'BEGIN', indication, Begin#'TR-BEGIN'{userInfo = AC}, StateData) ->
|
||||
% AC included? (true)
|
||||
% AC version = 1? (true)
|
||||
% TODO: the rest of it!
|
||||
{next_state, idle, StateData};
|
||||
idle({'TC', 'BEGIN', indication, Parms} = Event, StateData) ->
|
||||
{next_state, wait_for_load_check_result1, StateData};
|
||||
% forward unrecognized events to user callback module
|
||||
idle(Event, StateData) ->
|
||||
Module = StateData#state.module,
|
||||
ExtStateName = State#state.ext_statename,
|
||||
case Module:StateName(Event, StateData#state.ext_statedata) of
|
||||
{next_state, NextExtStateName, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, idle, NewStateData};
|
||||
{next_state, NextExtStateName, NewExtStateData, Timeout} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, idle, NewStateData, Timeout};
|
||||
{stop, Reason, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statedata = NewExtStateData},
|
||||
{stop, Reason, NewStateData};
|
||||
Other ->
|
||||
Other
|
||||
end.
|
||||
|
||||
%% @spec(Event, StateData) -> Result
|
||||
%%
|
||||
%% @doc State handler for the wait_for_user_requests state.
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
% @reference 3GPP TS 29.002 15.2.1 Behaviour at the initiating side
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3b: Process_Secure_MAP_DSM (sheet 2)
|
||||
wait_for_user_requests({'MAP', 'DELIMITER', request, Parms} = Event, StateData) ->
|
||||
% TC_BEGIN_req_VIA_TC1
|
||||
{next_state, dialogue_initiated, StateData};
|
||||
wait_for_user_requests({'MAP', 'U-ABORT', request, Parms} = Event, StateData) ->
|
||||
% Set_Abort_Reason: User_Specific
|
||||
% Set_User_Info: MAP_User_Abort_PDU
|
||||
% TC_U_ABORT_req_VIA_TC1
|
||||
% secure transport required?
|
||||
% true
|
||||
% Note: To all active SRSSMs
|
||||
% Terminated_VIA_Intern4
|
||||
% false
|
||||
% Note: To all active RSSMs
|
||||
% Terminated_VIA_Intern2
|
||||
{next_state, idle, StateData};
|
||||
% any MAP specific request primitive
|
||||
wait_for_user_requests({'MAP', MapSpecificRequest, request, Parms} = Event, StateData) ->
|
||||
% secure transport required?
|
||||
case StateData#state.secure_transport_required of
|
||||
% true
|
||||
% store request
|
||||
% spawn Secure_Requesting_MAP_SSM
|
||||
% Service_Invoked_VIA_Intern4
|
||||
% false
|
||||
% spawn Requesting_MAP_SSM
|
||||
% Service_Invoked_VIA_Intern2
|
||||
{next_state, wait_for_user_requests, StateData};
|
||||
% forward unrecognized events to user callback module
|
||||
wait_for_user_requests(Event, StateData) ->
|
||||
Module = StateData#state.module,
|
||||
ExtStateName = State#state.ext_statename,
|
||||
case Module:StateName(Event, StateData#state.ext_statedata) of
|
||||
{next_state, NextExtStateName, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, wait_for_user_requests, NewStateData};
|
||||
{next_state, NextExtStateName, NewExtStateData, Timeout} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, wait_for_user_requests, NewStateData, Timeout};
|
||||
{stop, Reason, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statedata = NewExtStateData},
|
||||
{stop, Reason, NewStateData};
|
||||
Other ->
|
||||
Other
|
||||
end.
|
||||
|
||||
%% @spec(Event, StateData) -> Result
|
||||
%%
|
||||
%% @doc State handler for the dialogue_initiated state.
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3c: Process_Secure_MAP_DSM (sheet 3)
|
||||
dialogue_initiated({'TC', 'END', indication, End#'TC-END'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
dialogue_initiated({'TC', 'NOTICE', indication, Notice#'TC-NOTICE'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3d: Process_Secure_MAP_DSM (sheet 4)
|
||||
dialogue_initiated({'TC', 'P-ABORT', indication, Abort#'TC-P-ABORT'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3e: Process_Secure_MAP_DSM (sheet 5)
|
||||
dialogue_initiated({'TC', 'U-ABORT', indication, Abort#'TC-U-ABORT'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3e: Process_Secure_MAP_DSM (sheet 5)
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3f: Process_Secure_MAP_DSM (sheet 6)
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3g: Process_Secure_MAP_DSM (sheet 7)
|
||||
dialogue_initiated({'TC', 'U-ABORT', indication, Abort#'TC-U-ABORT'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, dialogue_initiated, StateData};
|
||||
dialogue_initiated({'TC', 'L-CANCEL', indication, Cancel#'TC-L-CANCEL'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, dialogue_initiated, StateData};
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3h: Process_Secure_MAP_DSM (sheet 8)
|
||||
dialogue_initiated({'MAP', 'U-ABORT', request, Abort#'MAP-U-ABORT'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
dialogue_initiated({'MAP', 'CLOSE', request, Close#'MAP-CLOSE'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3i: Process_Secure_MAP_DSM (sheet 9)
|
||||
dialogue_initiated({'TC', 'CONTINUE', indication, Continue#'TC-Continue'{}} = Event, StateData) ->
|
||||
% Note: the first one
|
||||
% TODO: the rest!
|
||||
{next_state, dialogue_established, StateData};
|
||||
% forward unrecognized events to user callback module
|
||||
dialogue_initiated(Event, StateData) ->
|
||||
Module = StateData#state.module,
|
||||
ExtStateName = State#state.ext_statename,
|
||||
case Module:StateName(Event, StateData#state.ext_statedata) of
|
||||
{next_state, NextExtStateName, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, dialogue_initiated, NewStateData};
|
||||
{next_state, NextExtStateName, NewExtStateData, Timeout} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, dialogue_initiated, NewStateData, Timeout};
|
||||
{stop, Reason, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statedata = NewExtStateData},
|
||||
{stop, Reason, NewStateData};
|
||||
Other ->
|
||||
Other
|
||||
end.
|
||||
|
||||
%% @spec(Event, StateData) -> Result
|
||||
%%
|
||||
%% @doc State handler for the wait_for_init_data state.
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3k: Process_Secure_MAP_DSM (sheet 11)
|
||||
wait_for_init_data({'TC', 'INVOKE', indication, Invoke#'TC-INVOKE'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, wait_for_load_check_result2, StateData};
|
||||
wait_for_init_data({'TC', 'L-REJECT', indication, Reject#'TC-L-REJECT'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
% any other indication
|
||||
wait_for_init_data({'TC', _, indication, _} = Event, StateData) ->
|
||||
% TC_U_ABORT_req_VIA_TC1
|
||||
{next_state, idle, StateData};
|
||||
% forward unrecognized events to user callback
|
||||
wait_for_init_data(Event, StateData) ->
|
||||
Module = StateData#state.module,
|
||||
ExtStateName = State#state.ext_statename,
|
||||
case Module:StateName(Event, StateData#state.ext_statedata) of
|
||||
{next_state, NextExtStateName, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, wait_for_init_data, NewStateData};
|
||||
{next_state, NextExtStateName, NewExtStateData, Timeout} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, wait_for_init_data, NewStateData, Timeout};
|
||||
{stop, Reason, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statedata = NewExtStateData},
|
||||
{stop, Reason, NewStateData};
|
||||
Other ->
|
||||
Other
|
||||
end.
|
||||
|
||||
%% @spec(Event, StateData) -> Result
|
||||
%%
|
||||
%% @doc State handler for the wait_for_load_check_result2 state.
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3k: Process_Secure_MAP_DSM (sheet 11)
|
||||
wait_for_load_check_result2('Load_OK', StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
wait_for_load_check_result2('Overload', StateData) ->
|
||||
{next_state, idle, StateData};
|
||||
% any other indication
|
||||
wait_for_load_check_result2({'TC', _, indication, _} = Event, StateData) ->
|
||||
% TC_U_ABORT_req_VIA_TC1
|
||||
{next_state, idle, StateData};
|
||||
% forward unrecognized events to user callback module
|
||||
wait_for_load_check_result2(Event, StateData) ->
|
||||
Module = StateData#state.module,
|
||||
ExtStateName = State#state.ext_statename,
|
||||
case Module:StateName(Event, StateData#state.ext_statedata) of
|
||||
{next_state, NextExtStateName, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, wait_for_load_check_result2, NewStateData};
|
||||
{next_state, NextExtStateName, NewExtStateData, Timeout} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, wait_for_load_check_result2, NewStateData, Timeout};
|
||||
{stop, Reason, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statedata = NewExtStateData},
|
||||
{stop, Reason, NewStateData};
|
||||
Other ->
|
||||
Other
|
||||
end.
|
||||
|
||||
%% @spec(Event, StateData) -> Result
|
||||
%%
|
||||
%% @doc State handler for the wait_for_load_check_result1 state.
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3l: Process_Secure_MAP_DSM (sheet 12)
|
||||
wait_for_load_check_result1('Load_OK', StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
wait_for_load_check_result1('Load_OK', StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, dialogue_pending, StateData};
|
||||
wait_for_load_check_result1('Overload', StateData) ->
|
||||
{next_state, idle, StateData};
|
||||
% any other indication
|
||||
wait_for_load_check_result1({'TC', _, indication, _} = Event, StateData) ->
|
||||
% TC_U_ABORT_req_VIA_TC1
|
||||
{next_state, idle, StateData};
|
||||
% forward unrecognized events to user callback module
|
||||
wait_for_load_check_result1(Event, StateData) ->
|
||||
Module = StateData#state.module,
|
||||
ExtStateName = State#state.ext_statename,
|
||||
case Module:StateName(Event, StateData#state.ext_statedata) of
|
||||
{next_state, NextExtStateName, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, wait_for_load_check_result1, NewStateData};
|
||||
{next_state, NextExtStateName, NewExtStateData, Timeout} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, wait_for_load_check_result1, NewStateData, Timeout};
|
||||
{stop, Reason, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statedata = NewExtStateData},
|
||||
{stop, Reason, NewStateData};
|
||||
Other ->
|
||||
Other
|
||||
end.
|
||||
|
||||
%% @spec(Event, StateData) -> Result
|
||||
%%
|
||||
%% @doc State handler for the dialogue_pending state.
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3m: Process_Secure_MAP_DSM (sheet 13)
|
||||
dialogue_pending({'MAP', 'OPEN', response, Open#'MAP-OPEN'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, dialogue_accepted, StateData};
|
||||
dialogue_pending({'MAP', 'OPEN', response, Open#'MAP-OPEN'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
dialogue_pending({'MAP', 'U-ABORT', request, Abort#'MAP-U-ABORT'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
% forward unrecognized events to user callback module
|
||||
dialogue_pending(Event, StateData) ->
|
||||
Module = StateData#state.module,
|
||||
ExtStateName = State#state.ext_statename,
|
||||
case Module:StateName(Event, StateData#state.ext_statedata) of
|
||||
{next_state, NextExtStateName, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, dialogue_pending, NewStateData};
|
||||
{next_state, NextExtStateName, NewExtStateData, Timeout} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, dialogue_pending, NewStateData, Timeout};
|
||||
{stop, Reason, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statedata = NewExtStateData},
|
||||
{stop, Reason, NewStateData};
|
||||
Other ->
|
||||
Other
|
||||
end.
|
||||
|
||||
%% @spec(Event, StateData) -> Result
|
||||
%%
|
||||
%% @doc State handler for the dialogue_accepted state.
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3n: Process_Secure_MAP_DSM (sheet 14)
|
||||
dialogue_accepted({'MAP', 'CLOSE', request, Close#'MAP-CLOSE'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
dialogue_accepted({'MAP', 'DELIMITER', request, Delimiter#'MAP-DELIMITER'{}} = Event, StateData) ->
|
||||
% TC_CONTINUE_req_VIA_TC1
|
||||
{next_state, dialogue_established, StateData};
|
||||
% any MAP specific request primitive
|
||||
dialogue_accepted({'MAP', Request, request, Parm} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, dialogue_accepted, StateData};
|
||||
% any MAP specific response primitive
|
||||
dialogue_accepted({'MAP', Response, response, Parm} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, dialogue_accepted, StateData};
|
||||
% forward unrecognized events to user callback module
|
||||
dialogue_accepted(Event, StateData) ->
|
||||
Module = StateData#state.module,
|
||||
ExtStateName = State#state.ext_statename,
|
||||
case Module:StateName(Event, StateData#state.ext_statedata) of
|
||||
{next_state, NextExtStateName, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, dialogue_accepted, NewStateData};
|
||||
{next_state, NextExtStateName, NewExtStateData, Timeout} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, dialogue_accepted, NewStateData, Timeout};
|
||||
{stop, Reason, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statedata = NewExtStateData},
|
||||
{stop, Reason, NewStateData};
|
||||
Other ->
|
||||
Other
|
||||
end.
|
||||
|
||||
%% @spec(Event, StateData) -> Result
|
||||
%%
|
||||
%% @doc State handler for the dialogue_established state.
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3o: Process_Secure_MAP_DSM (sheet 15)
|
||||
dialogue_established({'TC', 'L-CANCEL', indication, Cancel#'TC-L-CANCEL'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, dialogue_established, StateData};
|
||||
dialogue_established({'TC', 'NOTICE', indication, Notice#'TC-NOTICE'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, dialogue_established, StateData};
|
||||
dialogue_established({'TC', 'CONTINUE', indication, Continue#'TC-CONTINUE'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, dialogue_established, StateData};
|
||||
dialogue_established({'MAP', 'DELIMITER', request, Delimiter#'MAP-DELIMITER'{}} = Event, StateData) ->
|
||||
% TC_CONTINUE_req_VIA_TC1
|
||||
{next_state, dialogue_established, StateData};
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3p: Process_Secure_MAP_DSM (sheet 16)
|
||||
dialogue_established({'TC', 'END', indication, End#'TC-END'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
dialogue_established({'MAP', 'CLOSE', request, Close#'MAP-CLOSE'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, dialogue_established, StateData};
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3q: Process_Secure_MAP_DSM (sheet 17)
|
||||
dialogue_established({'TC', 'U-ABORT', indication, Abort#'TC-U-ABORT'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
dialogue_established({'TC', 'P-ABORT', indication, Abort#'TC-P-ABORT'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
dialogue_established({'TC', 'U-ABORT', request, Abort#'TC-U-ABORT'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, idle, StateData};
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/3o: Process_Secure_MAP_DSM (sheet 15)
|
||||
% any MAP specific request primitive
|
||||
dialogue_established({'MAP', Request, request, Parm} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, dialogue_established, StateData};
|
||||
% any MAP specific response primitive
|
||||
dialogue_established({'MAP', Response, response, Parm} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, dialogue_established, StateData};
|
||||
% forward unrecognized events to user callback module
|
||||
dialogue_established(Event, StateData) ->
|
||||
Module = StateData#state.module,
|
||||
ExtStateName = State#state.ext_statename,
|
||||
case Module:StateName(Event, StateData#state.ext_statedata) of
|
||||
{next_state, NextExtStateName, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, dialogue_established, NewStateData};
|
||||
{next_state, NextExtStateName, NewExtStateData, Timeout} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, dialogue_established, NewStateData, Timeout};
|
||||
{stop, Reason, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statedata = NewExtStateData},
|
||||
{stop, Reason, NewStateData};
|
||||
Other ->
|
||||
Other
|
||||
end.
|
||||
|
||||
%% @spec(Event, StateData) -> Result
|
||||
%%
|
||||
%% @doc State handler for the wait_for_components state.
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/4a: Procedure Process_Components (sheet 1)
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/4b: Procedure Process_Components (sheet 2)
|
||||
wait_for_components({'TC', 'INVOKE', indication, Invoke#'TC-INVOKE'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, wait_for_components, StateData};
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/4c: Procedure Process_Components (sheet 3)
|
||||
wait_for_components({'TC', 'RESULT-L', indication, Result#'TC-RESULT-L'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, wait_for_components, StateData};
|
||||
wait_for_components({'TC', 'RESULT-NL', indication, Result#'TC-RESULT-NL'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, wait_for_components, StateData};
|
||||
wait_for_components({'TC', 'U-ERROR', indication, Error#'TC-U-ERROR'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, wait_for_components, StateData};
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/4d: Procedure Process_Components (sheet 4)
|
||||
wait_for_components({'TC', 'L-REJECT', indication, Reject#'TC-L-REJECT'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, wait_for_components, StateData};
|
||||
wait_for_components({'TC', 'R-REJECT', indication, Reject#'TC-R-REJECT'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, wait_for_components, StateData};
|
||||
% @reference 3GPP TS 29.002 Figure 15.6/4e: Procedure Process_Components (sheet 5)
|
||||
wait_for_components({'TC', 'U-REJECT', indication, Reject#'TC-U-REJECT'{}} = Event, StateData) ->
|
||||
% TODO: the rest!
|
||||
{next_state, wait_for_components, StateData};
|
||||
% forward unrecognized events to user callback module
|
||||
wait_for_components(Event, StateData) ->
|
||||
Module = StateData#state.module,
|
||||
ExtStateName = State#state.ext_statename,
|
||||
case Module:StateName(Event, StateData#state.ext_statedata) of
|
||||
{next_state, NextExtStateName, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, wait_for_components, NewStateData};
|
||||
{next_state, NextExtStateName, NewExtStateData, Timeout} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, wait_for_components, NewStateData, Timeout};
|
||||
{stop, Reason, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statedata = NewExtStateData},
|
||||
{stop, Reason, NewStateData};
|
||||
Other ->
|
||||
Other
|
||||
end.
|
||||
%% @hidden
|
||||
% accept TC service primitives sent with ! or erlang:send/2,3
|
||||
handle_info({'TC', _Primitive, indication, _Parms} = Info, StateName, StateData) ->
|
||||
?MODULE:StateName(Info, StateData);
|
||||
% forward unrecognized info to user callback module
|
||||
handle_info(Event, Statename, StateData) ->
|
||||
Module = StateData#state.module,
|
||||
ExtStateName = StateData#state.ext_statename,
|
||||
ExtStateData = StateData#state.ext_statedata,
|
||||
case Module:handle_info(Event, ExtStateName, StateData#state.ext_statedata of
|
||||
{next_state, NextExtStateName, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, StateName, NewStateData};
|
||||
{next_state, NextExtStateName, NewExtStateData, Timeout} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{next_state, StateName, NewStateData, Timeout};
|
||||
{stop, Reason, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statedata = NewExtStateData},
|
||||
{stop, Reason, NewStateData};
|
||||
Other ->
|
||||
Other
|
||||
end.
|
||||
|
||||
%% @hidden
|
||||
terminate(Reason, StateName, StateData) ->
|
||||
Module = StateData#state.module,
|
||||
ExtStateName = StateData#state.ext_statename,
|
||||
ExtStateData = StateData#state.ext_statedata,
|
||||
Module:terminate(Reason, ExtStateName, ExtStateData).
|
||||
|
||||
%% @hidden
|
||||
code_change(OldVersion, StateName, StateData, Extra) ->
|
||||
Module = StateData#state.module,
|
||||
ExtStateName = StateData#state.ext_statename,
|
||||
ExtStateData = StateData#state.ext_statedata,
|
||||
case Module:code_change(OldVersion, ExtStateName, ExtStateData, Extra) of
|
||||
{ok, NextExtStateName, NewExtStateData} ->
|
||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||
{ok, StateName, NewStateData};
|
||||
Other ->
|
||||
Other
|
||||
end.
|
||||
|
||||
|
||||
%%----------------------------------------------------------------------
|
||||
%% internal functions
|
||||
%%----------------------------------------------------------------------
|
||||
|
||||
%% @spec(Parms, StateData) -> boolean()
|
||||
%%
|
||||
%% @doc Check whether secure transport is required.
|
||||
%%
|
||||
%% @reference 3GPP TS 29.002 15.2.1 Behaviour at the initiating side
|
||||
%% @reference 3GPP TS 33.200
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
secure_transport_required(Parms, #state{application_context = 'secureTransportHandlingContext-v3'}) ->
|
||||
true;
|
||||
secure_transport_required(Parms, #state{}) ->
|
||||
false;
|
||||
|
||||
%% @spec(StateData) -> NewStateData
|
||||
%%
|
||||
%% @doc Build an encapsulted AC PDU.
|
||||
%%
|
||||
%% @reference 3GPP TS 29.002 15.2.1 Behaviour at the initiating side
|
||||
%% @reference 3GPP TS 33.200
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
build_encapsulated_ac_pdu(StateData) ->
|
||||
% TODO: Build an encapsulted AC PDU.
|
||||
StateData.
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
%%% $Id: map_load_fsm.erl,v 1.1 2005/02/13 09:45:06 vances Exp $
|
||||
%%%---------------------------------------------------------------------
|
||||
%%% @copyright 2005 Motivity Telecom Inc.
|
||||
%%% @author Vance Shipley <vances@motivity.ca>
|
||||
%%% @end
|
||||
%%%
|
||||
%%% Copyright 2005 Motivity Telecom Inc.
|
||||
%%%
|
||||
%%% All rights reserved. No part of this computer program(s) may be
|
||||
%%% used, reproduced, stored in any retrieval system, or transmitted,
|
||||
%%% in any form or by any means, electronic, mechanical, photocopying,
|
||||
%%% recording, or otherwise without prior written permission of
|
||||
%%% Motivity Telecom Inc.
|
||||
%%%---------------------------------------------------------------------
|
||||
%%%
|
||||
%%% @doc GSM MAP Load Control.
|
||||
%%%
|
||||
%%% @private
|
||||
%%%
|
||||
%%% @reference 3GPP TS 29.02 Figure 15.6/5: Process Load_Ctrl
|
||||
%%%
|
||||
-module(map_dsm_fsm).
|
||||
-copyright('Copyright (c) 2005 Motivity Telecom Inc.').
|
||||
-author('vances@motivity.ca').
|
||||
-behaviour(gen_fsm).
|
||||
|
||||
%% export the gen_fsm state handler call backs
|
||||
-export([idle/2, congested/2]).
|
||||
|
||||
%% export the gen_fsm common call backs
|
||||
-export([init/1, handle_event/3, handle_sync_event/4,
|
||||
handle_info/3, terminate/3, code_change/4]).
|
||||
|
||||
%% include record definitions for TC service primitives
|
||||
-include("tcap.hrl").
|
||||
%% include record definitions for MAP service primitives
|
||||
-include("map.hrl").
|
||||
|
||||
%% StateData record definition
|
||||
-record(state, {}).
|
||||
|
||||
%%----------------------------------------------------------------------
|
||||
%% The gen_fsm call backs
|
||||
%%----------------------------------------------------------------------
|
||||
|
||||
%% @hidden
|
||||
init(_Args) ->
|
||||
process_flag(trap_exit, true),
|
||||
{ok, idle, StateData}.
|
||||
|
||||
%% @spec(Event, StateData) -> Result
|
||||
%%
|
||||
%% @doc State handler for the idle state.
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
idle({DSM, 'Check_Load', _AC}, StateData) ->
|
||||
gen_fsm:send_event(DSM, 'Load_OK'),
|
||||
{next_state, idle, StateData}.
|
||||
|
||||
%% @spec(Event, StateData) -> Result
|
||||
%%
|
||||
%% @doc State handler for the congested state.
|
||||
%%
|
||||
%% @hidden
|
||||
%%
|
||||
congested({DSM, 'Check_Load', AC}, StateData) ->
|
||||
% AC = Secure_Transport?
|
||||
% true
|
||||
% compare encapsulated AC priority with load
|
||||
% false
|
||||
% compare AC priority with load
|
||||
% dialogue acceptable?
|
||||
% true
|
||||
gen_fsm:send_event(DSM, 'Load_OK'),
|
||||
% false
|
||||
% gen_fsm:send_event(DSM, 'Overload'),
|
||||
{next_state, congested, StateData}.
|
||||
|
||||
%% @hidden
|
||||
terminate(_Reason, _StateName, _StateData) ->
|
||||
ok.
|
||||
|
||||
%% @hidden
|
||||
code_change(_OldVersion, StateName, StateData, _Extra) ->
|
||||
{ok, StateName, StateData}.
|
||||
|
||||
|
||||
%%----------------------------------------------------------------------
|
||||
%% internal functions
|
||||
%%----------------------------------------------------------------------
|
||||
|
|
@ -0,0 +1,116 @@
|
|||
%%% $Id: map.erl,v 1.1 2005/02/13 00:42:12 vances Exp $
|
||||
%%%---------------------------------------------------------------------
|
||||
%%% @copyright 2005 Motivity Telecom Inc.
|
||||
%%% @author Vance Shipley <vances@motivity.ca>
|
||||
%%% @end
|
||||
%%%
|
||||
%%% Copyright 2005 Motivity Telecom Inc.
|
||||
%%%
|
||||
%%% All rights reserved. No part of this computer program(s) may be
|
||||
%%% used, reproduced, stored in any retrieval system, or transmitted,
|
||||
%%% in any form or by any means, electronic, mechanical, photocopying,
|
||||
%%% recording, or otherwise without prior written permission of
|
||||
%%% Motivity Telecom Inc.
|
||||
%%%---------------------------------------------------------------------
|
||||
%%%
|
||||
%%% @doc Mobile Application Part
|
||||
%%% <p>This module implements the user's API to the MAP protocol
|
||||
%%% stack application.</p>
|
||||
%%%
|
||||
%%% @reference <a href="index.html">MAP User's Guide</a>
|
||||
%%%
|
||||
|
||||
-module(map).
|
||||
-copyright('Copyright (c) 2005 Motivity Telecom Inc.').
|
||||
-author('vances@motivity.ca').
|
||||
-vsn('$Revision: 1.1 $').
|
||||
|
||||
%% our published API functions
|
||||
-export([start/0, stop/0]).
|
||||
-export([open/3, close/1]).
|
||||
-export([start_dialogue/3]).
|
||||
|
||||
|
||||
%% @type map_options(). MAP layer options
|
||||
%% <p>A list of one or more of the following tuples.</p>
|
||||
%% <dl>
|
||||
%% <dt><tt>{variant, Variant}</tt></dt><dd><tt>gsm | ansi</tt></dd>
|
||||
%% </dl>
|
||||
%% @end
|
||||
|
||||
%%----------------------------------------------------------------------
|
||||
%% The API functions
|
||||
%%----------------------------------------------------------------------
|
||||
|
||||
%% @spec () -> Result
|
||||
%% Result = ok | {error, Reason}
|
||||
%% Reason = term()
|
||||
%%
|
||||
%% @equiv application:start(map)
|
||||
%%
|
||||
start() ->
|
||||
application:start(map).
|
||||
|
||||
%% @spec () -> Result
|
||||
%% Result = ok | {error, Reason}
|
||||
%% Reason = term()
|
||||
%%
|
||||
%% @equiv application:stop(map)
|
||||
%%
|
||||
stop() ->
|
||||
application:stop(map).
|
||||
|
||||
%% @spec (Module::atom(), Args::term(), Options::term()) -> PM
|
||||
%% Options = [map_options() | GenFsmOptions]
|
||||
%% GenFsmOptions = list()
|
||||
%% PM = pid()
|
||||
%%
|
||||
%% @doc Start a new MAP layer service access point.
|
||||
%% <p>A new MAP protocol machine (PM) is created. The PM is
|
||||
%% a collection of service state machines (SSM), one per MAP specific
|
||||
%% service invoked, coordinated by a single dialogue state machine
|
||||
%% (DSM). There are two types of SSM; requesting service state
|
||||
%% machines (RSM) and performing service state machines (PSM).</p>
|
||||
%%
|
||||
%% <p><tt>Module</tt> is the name of a
|
||||
%% <a href="map_dsm_fsm.html"><tt>map_dsm_fsm</tt></a>
|
||||
%% behaviour callback module which will provide the TCAP layer
|
||||
%% adaptation.</p>
|
||||
%%
|
||||
%% <p><tt>Args</tt> has meaning only to the callback module but
|
||||
%% presumably would identify the specific TCAP service access
|
||||
%% point (i.e. subsystem number) for this MAP layer.</p>
|
||||
%%
|
||||
%% <p><tt>Options</tt> may include
|
||||
%% <a href="#map_options">map_options()</a> and <tt>gen_fsm</tt>
|
||||
%% options passed to the callback module.</p>
|
||||
%%
|
||||
%% <p>The callback module will be started with:<br/>
|
||||
%% <tt>gen_fsm:start_link(Module, Args, GenFsmOptions)</tt>
|
||||
%% </p>
|
||||
%%
|
||||
%% <p>Returns the pid of the DSM.</p>
|
||||
%%
|
||||
%% @see gen_server:start_link/3
|
||||
%%
|
||||
open(Module, Args, Options) ->
|
||||
{ok, SupRef} = application:get_env(map, supref),
|
||||
case supervisor:start_child(SupRef, [Module, Args, Options]) of
|
||||
{ok, Sup} ->
|
||||
Children = supervisor:which_children(Sup),
|
||||
{value, {dsm, DSM, _, _}} = lists:keysearch(dsm, 1, Children),
|
||||
DSM;
|
||||
{error, Reason} ->
|
||||
exit(Reason)
|
||||
end.
|
||||
|
||||
%% @spec (PM::pid()) -> ok
|
||||
%%
|
||||
%% @doc Close a MAP service access point.
|
||||
%%
|
||||
%% <p><tt>PM</tt> is the pid of a DSM returned in a previous call to
|
||||
%% <a href="#open-3"><tt>open/3</tt></a>.</p>
|
||||
%%
|
||||
close(PM) when is_pid(PM) ->
|
||||
gen_server:call(PM, close).
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
%%% $Id: map_app.erl,v 1.1 2005/02/13 00:42:12 vances Exp $
|
||||
%%%---------------------------------------------------------------------
|
||||
%%% @copyright 2005 Motivity Telecom Inc.
|
||||
%%% @author Vance Shipley <vances@motivity.ca>
|
||||
%%% @end
|
||||
%%%
|
||||
%%% Copyright 2005 Motivity Telecom Inc.
|
||||
%%%
|
||||
%%% All rights reserved. No part of this computer program(s) may be
|
||||
%%% used, reproduced, stored in any retrieval system, or transmitted,
|
||||
%%% in any form or by any means, electronic, mechanical, photocopying,
|
||||
%%% recording, or otherwise without prior written permission of
|
||||
%%% Motivity Telecom Inc.
|
||||
%%%---------------------------------------------------------------------
|
||||
%%%
|
||||
%%% @doc MAP application callback module.
|
||||
%%%
|
||||
%%% @reference <a href="index.html">MAP User's Guide</a>
|
||||
%%%
|
||||
%%% @private
|
||||
|
||||
-module(map_app).
|
||||
-copyright('Copyright (c) 2005 Motivity Telecom Inc.').
|
||||
-author('vances@motivity.ca').
|
||||
-vsn('$Revision: 1.1 $').
|
||||
|
||||
%% export application behaviour callbacks
|
||||
-export([start/2, start_phase/3, prep_stop/1, stop/1, config_change/3]).
|
||||
|
||||
|
||||
%% @spec(StartType, StartArgs::term()) -> {ok, Pid} | {ok, Pid, State} | {error, Reason}
|
||||
%% StartType = normal | {takeover,Node} | {failover,Node}
|
||||
%% Node = node()
|
||||
%% Pid = pid()
|
||||
%% State = term()
|
||||
%% Reason = term()
|
||||
%%
|
||||
%% @equiv //kernel/application:start/3
|
||||
%%
|
||||
start(normal, StartArgs) ->
|
||||
{ok, SupRef} = application:get_env(supref),
|
||||
supervisor:start_link(SupRef, map_sup, StartArgs).
|
||||
|
||||
%% @spec(Phase::atom(), StartType, PhaseArgs::term()) -> ok | {error, Reason}
|
||||
%% StartType = normal | {takeover,Node} | {failover,Node}
|
||||
%% Node = node()
|
||||
%% Reason = term()
|
||||
%%
|
||||
%% @equiv //kernel/application:start_phase/3
|
||||
%%
|
||||
start_phase(_Phase, _StartType, _PhaseArgs) ->
|
||||
ok.
|
||||
|
||||
%% @spec(State::term()) -> NewState
|
||||
%% NewState = term()
|
||||
%%
|
||||
%% @equiv //kernel/application:prep_stop/1
|
||||
%%
|
||||
prep_stop(State) ->
|
||||
State.
|
||||
|
||||
%% @spec(State) -> ok
|
||||
%%
|
||||
%% @equiv //kernel/application:stop/1
|
||||
%%
|
||||
stop(_State) ->
|
||||
ok.
|
||||
|
||||
%% @spec(Changed, New, Removed) ->
|
||||
%% Changed = [{Par,Val}]
|
||||
%% New = [{Par,Val}]
|
||||
%% Removed = [Par]
|
||||
%% Par = atom()
|
||||
%% Val = term()
|
||||
%%
|
||||
%% @equiv //kernel/application:config_change/3
|
||||
%%
|
||||
config_change(_Changed, _New, _Removed) ->
|
||||
ok.
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
%%% $Id: map_pm_sup.erl,v 1.1 2005/02/13 00:42:12 vances Exp $
|
||||
%%%---------------------------------------------------------------------
|
||||
%%% @copyright 2005 Motivity Telecom Inc.
|
||||
%%% @author Vance Shipley <vances@motivity.ca>
|
||||
%%% @end
|
||||
%%%
|
||||
%%% Copyright 2005 Motivity Telecom Inc.
|
||||
%%%
|
||||
%%% All rights reserved. No part of this computer program(s) may be
|
||||
%%% used, reproduced, stored in any retrieval system, or transmitted,
|
||||
%%% in any form or by any means, electronic, mechanical, photocopying,
|
||||
%%% recording, or otherwise without prior written permission of
|
||||
%%% Motivity Telecom Inc.
|
||||
%%%---------------------------------------------------------------------
|
||||
%%%
|
||||
%%% @doc MAP service protocol machine supervisor.
|
||||
%%%
|
||||
%%% @reference <a href="index.html">MAP User's Guide</a>
|
||||
%%%
|
||||
%%% @private
|
||||
|
||||
-module(tcap_pm_sup).
|
||||
-copyright('Copyright (c) 2005 Motivity Telecom Inc.').
|
||||
-author('vances@motivity.ca').
|
||||
-vsn('$Revision: 1.1 $').
|
||||
|
||||
-behaviour(supervisor).
|
||||
|
||||
-export([init/1]).
|
||||
|
||||
|
||||
%% @spec(StartArgs::term()) -> Result = {ok,{{RestartStrategy,MaxR,MaxT},[ChildSpec]}} | ignore
|
||||
%% RestartStrategy = one_for_all | one_for_one | rest_for_one | simple_one_for_one
|
||||
%% MaxR = MaxT = int()>=0
|
||||
%% ChildSpec = child_spec()
|
||||
%%
|
||||
%% @see supervisor:init/1
|
||||
%%
|
||||
init([Module, Args, Options]) when is_atom(Module), is_list(Args), is_list(Options) ->
|
||||
StartArgs = [Module, [self()] ++ Args, Options],
|
||||
StartFunc = {gen_fsm, start_link, StartArgs},
|
||||
ChildSpec = {dsm, StartFunc, permanent, 4000, worker, [Module, map_dsm_fsm]},
|
||||
{ok,{{one_for_one, 10, 60}, [ChildSpec]}}.
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
%%% $Id: map_sup.erl,v 1.1 2005/02/13 00:42:12 vances Exp $
|
||||
%%%---------------------------------------------------------------------
|
||||
%%% @copyright 2005 Motivity Telecom Inc.
|
||||
%%% @author Vance Shipley <vances@motivity.ca>
|
||||
%%% @end
|
||||
%%%
|
||||
%%% Copyright 2005 Motivity Telecom Inc.
|
||||
%%%
|
||||
%%% All rights reserved. No part of this computer program(s) may be
|
||||
%%% used, reproduced, stored in any retrieval system, or transmitted,
|
||||
%%% in any form or by any means, electronic, mechanical, photocopying,
|
||||
%%% recording, or otherwise without prior written permission of
|
||||
%%% Motivity Telecom Inc.
|
||||
%%%---------------------------------------------------------------------
|
||||
%%%
|
||||
%%% @doc MAP application top level supervisor.
|
||||
%%%
|
||||
%%% @reference <a href="index.html">MAP User's Guide</a>
|
||||
%%%
|
||||
%%% @private
|
||||
|
||||
|
||||
-module(map_sup).
|
||||
-copyright('Copyright (c) 2005 Motivity Telecom Inc.').
|
||||
-author('vances@motivity.ca').
|
||||
-vsn('$Revision: 1.1 $').
|
||||
|
||||
-behaviour(supervisor).
|
||||
|
||||
%% call backs needed for supervisor behaviour
|
||||
-export([init/1]).
|
||||
|
||||
%% @spec(StartArgs::term()) -> Result = {ok,{{RestartStrategy,MaxR,MaxT},[ChildSpec]}} | ignore
|
||||
%% RestartStrategy = one_for_all | one_for_one | rest_for_one | simple_one_for_one
|
||||
%% MaxR = MaxT = int()>=0
|
||||
%% ChildSpec = child_spec()
|
||||
%%
|
||||
%% @equiv //stdlib/supervisor:init/1
|
||||
%%
|
||||
init(_StartArgs) ->
|
||||
StartMod = map_pm_sup,
|
||||
StartFunc = {supervisor, start_link, [StartMod]},
|
||||
ChildSpec = {pm_sup, StartFunc, permanent, infinity, supervisor, [StartMod]},
|
||||
{ok,{{simple_one_for_one, 10, 60}, ChildSpec}}.
|
||||
|
Loading…
Reference in New Issue