Initial import of MAP project from Motivity.

This commit is contained in:
Vance Shipley 2011-03-09 03:06:05 +01:00
parent 2c7a40e5ba
commit 794624ca47
48 changed files with 16841 additions and 0 deletions

17
MAP/Makefile Normal file
View File

@ -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) $@

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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} }

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

119
MAP/asn_src/GSM/Makefile Normal file
View File

@ -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

View File

@ -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

7
MAP/asn_src/GSM/README Normal file
View File

@ -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)

5
MAP/asn_src/Makefile Normal file
View File

@ -0,0 +1,5 @@
all:
cd gsm && $(MAKE)
cd ansi && $(MAKE)

13
MAP/doc/Makefile Normal file
View File

@ -0,0 +1,13 @@
.PHONY: all
all:
cd html && $(MAKE)
.PHONY: doc
doc:
cd html && $(MAKE) $@
.PHONY: clean
clean:
cd html && $(MAKE) $@

31
MAP/doc/html/Makefile Normal file
View File

@ -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

106
MAP/doc/html/index.html Normal file
View File

@ -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 &#169; 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 &#8594 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 &#8592 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 &#8594 MAP</h4>
<tt>{'MAP', 'UPDATE_LOCATION', request, Parms}</tt><br>
<tt>{'MAP', 'CANCEL_LOCATION', request, Parms}</tt><br>
...<br>
<h4>MAP &#8592 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 &#8594 MAP</h4>
<tt>{'MAP', 'REGNOT', request, Parms}</tt><br>
<tt>{'MAP', 'REGCANC', request, Parms}</tt><br>
...<br>
<h4>MAP &#8592 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

9
MAP/ebin/map.app Normal file
View File

@ -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, []}}]}.

36
MAP/src/Makefile Normal file
View File

@ -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) $@

35
MAP/src/gsm/Makefile Normal file
View File

@ -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) $@

684
MAP/src/gsm/map_dsm_fsm.erl Normal file
View File

@ -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.

View File

@ -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
%%----------------------------------------------------------------------

116
MAP/src/map.erl Normal file
View File

@ -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).

80
MAP/src/map_app.erl Normal file
View File

@ -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.

44
MAP/src/map_pm_sup.erl Normal file
View File

@ -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]}}.

45
MAP/src/map_sup.erl Normal file
View File

@ -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}}.