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