Add MAPv1 from TS 09.02 3.10.0 converted to work with modern ASN.1

The conversions that have been made include
 * port from OPERATION MACRO to OPERATION Class
 * port from old TCAP to modern-day TCAP
 * various spelling fixes

This ASN.1 source can successfully validate using the Erlang/OTP asn1ct
This commit is contained in:
Harald Welte 2011-04-12 16:49:35 +02:00
parent 06accfbbf4
commit 85f384dd92
11 changed files with 2374 additions and 0 deletions

View File

@ -0,0 +1,25 @@
MAP-AbortInformation DEFINITIONS ::=
BEGIN
IMPORTS
maxSignalInfoLength
FROM
MAP-Constants;
MAPAbortInformation ::= SEQUENCE{
abortCause ENUMERATED{
unspecifiedReason (0),
versionNotSupported (1),
userResourceLimitation (2),
resourceUnavailableLongTermProblem (3),
resourceUnavailableTemporaryProblem (4),
networkPathRelease (6),
callRelease (7),
associatedProcedureFailed (8),
remoteOperationFailure (9)},
additionalInformation OCTET STRING (SIZE(1..maxSignalInfoLength))}
--
-- is up to the operator
END

View File

@ -0,0 +1,50 @@
MAP-Constants DEFINITIONS ::=
BEGIN
EXPORTS
maxSignalInfoLength,
maxNumberOfTeleServices,
maxNumberOfBearerServices,
maxNumberOfSupplServices,
maxNumberOfCUG,
maxNumberOfBasicServices,
maxNumberOfForwardingFeatures,
maxNumberOfCallBarringFeatures,
maxNumberOfHlrId,
maxPacketDataVolume,
maxNumberOfChargingUnit,
maxCallDuration,
maxAddressLength,
maxNumberOfSentParameters;
-- value assignment
maxSignalInfoLength INTEGER ::= 200
-- this NamedValue represent the theoretical maximum number
-- of octets which available to carry a single data type, without
-- requiring segmentation to cope with the network layer service.
-- may be lower, especially when other information elements have
-- to be included in the same component
-- value assignment continuation
maxNumberOfTeleServices INTEGER ::= 20
maxNumberOfBearerServices INTEGER ::= 50
maxNumberOfSupplServices INTEGER ::= 30
maxNumberOfCUG INTEGER ::= 10
maxNumberOfBasicServices INTEGER ::= 70
maxNumberOfForwardingFeatures INTEGER ::= 13
maxNumberOfCallBarringFeatures INTEGER ::= 13
maxNumberOfHlrId INTEGER ::= 50
maxPacketDataVolume INTEGER ::= 100
maxNumberOfChargingUnit INTEGER ::= 16777215
maxCallDuration INTEGER ::= 16777215
maxAddressLength INTEGER ::= 20
maxNumberOfSentParameters INTEGER ::= 10
-- this named value should correspond to the maximum of
-- set which may be returned by a HLR plus 1.
END

View File

@ -0,0 +1,628 @@
MAP-DataTypes DEFINITIONS ::=
BEGIN
-- exports all data types defined in this module
IMPORTS
-- imports upper boundaries for data types
maxSignalInfoLength, maxNumberOfTeleServices,
maxNumberOfBearerServices, maxNumberOfSupplServices,
maxNumberOfCUG, maxNumberOfBasicServices,
maxNumberOfForwardingFeatures, maxNumberOfCallBarringFeatures,
maxNumberOfHlrId, maxPacketDataVolume,
maxNumberOfChargingUnit, maxCallDuration,
maxAddressLength, maxNumberOfSentParameters
FROM
MAP-Constants;
-- common data types
TBCD-STRING ::= OCTET STRING
-- digits 0 through 9, two digits per octet,
-- each digit encoded 0000 to 1001,
-- 1111 used as filler when there is an odd number of digit.
AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
-- see internal description in section 6.4.1
IsdnAddressString ::= AddressString (SIZE (1..10))
ExternalSignalInfo ::= SEQUENCE {
protocolId ProtocolId,
signalInfo SignalInfo}
SignalInfo ::= OCTET STRING (SIZE (1..maxSignalInfoLength))
ProtocolId ::= ENUMERATED{
gsm-0408 (1),
gsm-0806 (2),
gsm-0808-bssmap (3),
ets300102-1 (4)}
-- data types for numbering and identification
IMSI ::= TBCD-STRING (SIZE (2..8))
-- MCC, MNC, MSIN concatenated in this order
TMSI ::= OCTET STRING (SIZE(1..4))
SubscriberId ::= CHOICE {
imsi [0] IMPLICIT IMSI,
tmsi [1] IMPLICIT TMSI}
--
IMEI ::= TBCD-STRING (SIZE(8))
-- Internal Structure
-- Type Approval Code : 6 digits
-- manufacturer place : 2 digits
-- individual serial number : 6 digits
-- unassigned : 1 digit
LocAreaId ::= OCTET STRING (SIZE (2..5))
-- Recommendation GSM 04.08
-- Internal structure
-- Mobile Country Code : 3 digits according to Rec E.212
-- : 1 filler (1111)
-- Mobile Network Code : 2 digits according to Rec E.212
-- Location Area Code : 2 octets according to GSM 04.08
LocationInfo ::= CHOICE {
roamingNumber [0] IMPLICIT IsdnAddressString,
mscNumber [1] IMPLICIT IsdnAddressString}
HlrId ::= IMSI
-- leading digits of IMSI
HlrList ::= SEQUENCE
SIZE(1.. maxNumberOfHlrId) OF HlrId
LMsId ::= OCTET STRING (SIZE (4))
GlobalCellId ::= OCTET STRING (SIZE (5..7))
-- Octets coded according to
-- Recommendation GSM 04.08
-- Mobile Country Code : 3 digits according to Rec E.212
-- : 1 filler (1111)
-- Mobile Network Code : 2 digits according to Rec E.212
-- Location Area Code : 2 octets (LAC) according
-- to GSM 04.08
-- Cell identity : 2 octets (CI) according to GSM 04.08
-- data types for subscriber management
--
Category ::= OCTET STRING (SIZE (1))
-- internal structure defined in CCITT Rec Q.763
EquipStatus ::= ENUMERATED {
white-listed (0),
black-listed (1),
grey-listed (2)}
BearerServiceCode ::= OCTET STRING (SIZE (1))
-- Internal structure according to table 6.4/1
-- BIT 8 Transparency indicator (if applicable)
-- 0 transparent
-- 1 non transparent
-- BIT 7654 Bearer service group
-- 0001 3.1 kHz ex PLMN
-- 0010 Circuit data asynchronous
-- 0011 Circuit data synchronous
-- 0100 PAD access c.d.a
-- 0101 Packet data synchrounous
-- 0110 Alternate speech/c.d.a
-- 1000 Speech followed by data c.d.a
-- 1001 Speech followed by data c.d.s
-- 1111 12.6 kb/s unrestricted digital
-- BIT 321 Rate (when applicable)
-- 000 Any
-- 001 300-300 b/s
-- 011 1200-75 b/s
-- 100 2400-2400 b/s
-- 101 4800-4800 b/s
-- 110 9600-9600 b/s
-- Bits 321 = 000 can be used to refer to all
-- Value "00000000" can be used to refer to all the defined
-- bearer services.
-- For the codes referring to a group or all bearer services
-- the Transparency Indicator is not applicable and has to be set to "0"
BearerServiceList ::= SEQUENCE
OF BearerServiceCode
-- BearerServiceCode
-- 7564321 Meaning
-- TeleServiceCode
-- 00000000 All teleservices
-- 00010000 Speech transmission
-- 00010001 Telephony
-- 00010010 Emergency calls
-- 00100000 Short messages services
-- 00100001 Short message MT/PP
-- 00100010 Short message MO/PP
-- 00110000 Data MHS
-- 00110001 Advanced MHS access
-- 01000000 Videotex access services
-- 01000001 Videotex access profile 1
-- 01000010 Videotex access profile 2
-- 01000011 Videotex access profile 3
-- 01010000 Teletex service
-- 01010001 Teletex CS
-- 01010010 Teletex PS
-- 01100000 Facsimile
-- 01100001 Facsimile Group 3 and alternate speech
-- 01100010 Automatic Facsimile Group 3
TeleserviceCode ::= OCTET STRING (SIZE (1))
-- Internal structure according to table 6.4/2
-- Bit 8-5 encode the teleservice group
-- Bit 4-1 = 0000 can be used to refer to all the
-- teleservices of the corresponding group.
-- Value "00000000" can be used to refer to all the defined
TeleserviceList ::= SEQUENCE
SIZE(1 .. maxNumberOfTeleServices)
OF TeleserviceCode
BasicServiceCode ::= CHOICE {
bearerService [2] IMPLICIT BearerServiceCode,
teleservice [3] IMPLICIT TeleserviceCode}
BasicServiceList ::= SEQUENCE
SIZE(1 .. maxNumberOfBasicServices)
OF BasicServiceCode
--
SubscriberStatus ::= ENUMERATED{
serviceGranted (0),
operatorOGCallBarring (1)}
-- SS-Code
-- 00010001 Calling number identification presentation
-- 00010010 Calling number identification restriction
-- 00010011 Called number identification presentation
-- 00010100 Called number identification restriction
-- 00010101 Malicious call identification
-- 00100001 Call forwarding unconditional
-- 00101000 All conditional forwarding services
-- 00101001 Call forwarding on mobile subscriber busy
-- 00101010 Call forwarding on no reply
-- 00101011 Call forwarding on subscriber not reachable
-- 00110001 Call transfer
-- 00110010 Mobile access hunting
-- 01000001 Call waiting
-- 01000010 Call hold
-- 01000011 Completion of calls to busy subscribers
-- 01010001 Three party service
-- 01010010 Conference calling
-- 01100001 Closed user group
-- 01110001 Advice of charge
-- 01110010 Freephone service
-- 01110011 Reverse charging
-- 10000001 User to user signalling
-- 10010001 Barring of outgoing calls
-- 10010010 Barring of all outgoing calls
-- 10010011 Barring of all outgoing international calls
-- 10010100 Barring of all OG international non-HPLMN directed calls
-- 10011001 Barring of incoming calls
-- 10011010 Barring of all incoming calls
-- 10011011 Barring of all IC calls when outside HPLMN
SS-Code ::= OCTET STRING (SIZE(1))
-- Internal structure according to
-- table 6.4/3
-- Bit 8-5
-- 0001 Number Identification services
-- 0010 Forwarding services
-- 0100 Call completion services
-- 0101 Multi-party services
-- 0110 Community of interest services
-- 0111 Charging services
-- 1000 Additional information transfer services
-- 1001 Call restriction services
-- Bit 4-1 = 0000 can be use to refer to
-- eg, "00100000" can be used to refer to all
-- forwarding services
-- "00101000" can be used to refer to all
-- conditional forwarding services
-- "00000000" can be used to refer to all
-- supplementary services
SS-CodeList ::= SEQUENCE
SIZE(1 .. maxNumberOfSupplServices)
OF SS-Code
SS-Status ::= OCTET STRING (SIZE (1))
-- Bit 8-4 Unused
-- Bit 3 Provision indicator
-- 1 : Provisioned
-- Bit 2 Registration indicator (if applicable)
-- 0 : Not Registered
-- 1 : Registered
-- Bit 1 Activation indicator (If applicable)
-- 0 : Not Active
-- 1 : Active
SS-Information ::= CHOICE{
forwardingInfo [0] IMPLICIT ForwardingInfo,
callBarringInfo [1] IMPLICIT CallBarringInfo,
cug-Information [2] IMPLICIT CUG-Information,
ss-Data [3] IMPLICIT SS-Data}
SS-InfoList ::= SEQUENCE
OF SS-Information
--
SS-Data ::= SEQUENCE{
ss-Code SS-Code,
ss-Status [4] IMPLICIT SS-Status OPTIONAL,
ss-SubscriptionOption SS-SubscriptionOption OPTIONAL}
SS-DataList ::= SEQUENCE
SIZE(1 .. maxNumberOfSupplServices)
OF SS-Data
SS-Request ::= ENUMERATED{
registration (0),
erasure (1),
activation (2),
deactivation(3),
interrogation (4),
invoke (5)}
SS-SubscriptionOption ::= CHOICE{
perCallBasis [5] IMPLICIT BOOLEAN,
notificationToHeldRetrievedParty [6] IMPLICIT BOOLEAN,
userToUserServiceIndicator [7] IMPLICIT UserToUserServiceIndicator,
maximumConfereesNumber [8] IMPLICIT MaximumConfereesNumber,
huntGroupAccessSelectionOrder [9] IMPLICIT HuntGroupAccessSelectionOrder}
ForwardingOptions ::= OCTET STRING (SIZE(1))
-- Bit 8-7 Notification to forwarding party
-- 00 No notification
-- 01 notification with calling number identity
-- 10 notification without calling number identity
-- Bit 6-5 Notification to calling party
-- 00 No notification
-- 10 Notification without forwarded-to number
UserToUserServiceIndicator ::= OCTET STRING (SIZE(1))
-- Bit 8 : service 1
-- Bit 7 : service 2
-- Bit 6 : service 3
-- Bit 8 to 6 coded "1" if the service
-- is available to the subscriber
MaximumConfereesNumber ::= INTEGER (1..10)
HuntGroupAccessSelectionOrder ::= ENUMERATED{
random (0),
sequential (1)}
NoReplyConditionTime ::= INTEGER (5..30)
NumberOfConferees ::= INTEGER (1..10)
CUG-Facilities ::= OCTET STRING (SIZE (1))
-- Bit 8-3 000000 (Unused)
-- Bit 2-1
-- 00 CUG only facilities
-- 01 CUG with outgoing access
-- 11 CUG with both outgoing and incoming access
CUG-Interlock ::= OCTET STRING (SIZE (4))
-- Internal structure defined in Rec CCITT Q.763
CUG-Index ::= OCTET STRING (SIZE (1))
-- Internal structure defined in Rec CCITT Q.763
CUG-Options ::= OCTET STRING (SIZE (1))
-- BIT 8-4 00000 (Unused)
-- BIT 3 preferential CUG indicator
-- 0 no preferential
-- 1 preferential CUG
-- BIT 2 barring of incoming calls within the CUG
-- 0 no barring
-- BIT 1 barring of outgoing calls within the CUG
-- 0 no barring
-- 1 barring
CUG-Feature ::= SEQUENCE {
cug-interlock CUG-Interlock,
cug-Index CUG-Index,
cug-Options CUG-Options,
ss-Status SS-Status}
CUG-FeatureList ::= SEQUENCE SIZE (
1..maxNumberOfCUG) OF CUG-Feature
CUG-Information ::= SEQUENCE{
cug-Facilities CUG-Facilities,
choice CHOICE{
cug-Feature [0] IMPLICIT CUG-Feature,
cug-FeatureList [1] IMPLICIT CUG-FeatureList}}
-- the first alternative of the choice should be used
-- for the preferred CUG.
--
ForwardingInfo ::= SEQUENCE{
ss-Code SS-Code OPTIONAL,
forwardingFeatureList ForwardingFeatureList}
ForwardingData ::= SEQUENCE{
forwardedToNumber [5] IMPLICIT IsdnAddressString,
forwardingOptions [6] IMPLICIT ForwardingOptions OPTIONAL}
ForwardingFeature ::= SEQUENCE {
basicService BasicServiceCode OPTIONAL,
ss-Status [4] IMPLICIT SS-Status,
forwardedToNumber [5] IMPLICIT IsdnAddressString OPTIONAL,
forwardingOptions [6] IMPLICIT ForwardingOptions OPTIONAL,
noReplyConditionTime [7] IMPLICIT NoReplyConditionTime OPTIONAL}
ForwardingFeatureList ::= SEQUENCE SIZE (1.. maxNumberOfForwardingFeatures)
OF ForwardingFeature
CallBarringInfo ::= SEQUENCE {
ss-Code SS-Code,
callBarringFeatureList CallBarringFeatureList}
CallBarringFeature ::= SEQUENCE{
basicServiceCode BasicServiceCode OPTIONAL,
ss-Status [4] IMPLICIT SS-Status }
CallBarringFeatureList ::= SEQUENCE SIZE (1.. maxNumberOfCallBarringFeatures)
OF CallBarringFeature
SubscriberData ::= SEQUENCE{
msIsdn [1] IMPLICIT IsdnAddressString OPTIONAL,
category [2] IMPLICIT Category OPTIONAL,
subscriberStatus [3] IMPLICIT SubscriberStatus OPTIONAL,
bearerServiceList [4] IMPLICIT BearerServiceList OPTIONAL,
teleserviceList [6] IMPLICIT TeleserviceList OPTIONAL,
provisionedSupplServices [7] IMPLICIT SS-InfoList OPTIONAL}
SS-Notification ::= OCTET STRING (SIZE (1))
-- 1 bit per defined indication
Password ::= CHOICE {
printable PrintableString (SIZE(4..8)),
numeric NumericString (FROM ("0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9")|SIZE(4))}
-- only the second form is used for GSM systems.
GuidanceInfo ::= ENUMERATED{
guidance0 (0),
guidance1 (1),
guidance2 (2),
guidance3 (3),
guidance4 (4)}
-- the identifiers used in this description represent
-- the information which has to be delivered to the subscriber
-- according to table 6.4/4.
-- (display, announcement, ...) is not part of this specification.
SS-UserData ::= IA5String (SIZE (1.. maxSignalInfoLength))
-- number Information to be provided
-- guidance0 enter password
-- guidance1 enter new password
-- guidance2 enter new password again
-- guidance3 bad password try again
-- guidance4 bad password format try again
-- Data types for call parameters
CallReference ::= OCTET STRING (SIZE (1..3))
CallType ::= ENUMERATED{
incomingCall (0),
forwardedCallPortion (1),
reroutedCallPortion (2),
outgoingCall (3),
ss-Request (4)}
SS-ChargingData ::= SEQUENCE {
ss-Code [1] IMPLICIT SS-Code,
ss-Request [2] IMPLICIT SS-Request,
charge [3] IMPLICIT Charge OPTIONAL}
SS-ChargingInfo ::= SEQUENCE
SIZE(1..maxNumberOfSupplServices)
OF SS-ChargingData
CallDuration ::= INTEGER (0..maxCallDuration)
CallDateTime ::= GeneralizedTime (SIZE (14 .. 24))
-- to UTC time
PacketDataVolume ::= INTEGER (1..maxPacketDataVolume)
Charge ::= INTEGER (1.. maxNumberOfChargingUnit)
ChargingUnit ::= ENUMERATED {
swpecialDrawingRights (0)}
CallStatus ::= ENUMERATED
{undetermined (0),
successfulNormalTermination (1),
successfulAbnormalTermination (2),
forwarded (4),
forwardedWithAbnormalTermination (5),
rerouted (6),
reroutedWithAbnormalTermination (7),
unsuccessfulNoRadioContact (8),
unsuccessfulNoResponse (9),
unsuccessfulBusySubscriber (10),
unsuccessfulSystemFailed (11),
unsuccessfulSusbcriptionViolation (12),
unsuccessfulUnsupportedFacility (13)}
NumberOfForwarding ::= INTEGER (1..5)
-- Data types for radio parameters
ChannelType ::= OCTET STRING (SIZE (1..10))
-- Concatenation of
-- Speech data indicator
-- Speech encoding algorithm/data rate
-- + transparency indicator
-- as defined in Recommendation GSM 08.08
ClassmarkInformation ::= OCTET STRING (SIZE (1..2))
-- classmark information element type 1 or 2
HandoverPriority ::= OCTET STRING (SIZE (1))
-- internal structure defined in Recommendation GSM 08.08
HandoverType ::= ENUMERATED
{interBSS (0),
intraBSS (1)}
-- Data types for security procedures
AuthenticationSet ::= SEQUENCE {
rand Rand,
sres Sres,
kc Kc}
Rand ::= OCTET STRING (SIZE (16))
Sres ::= OCTET STRING (SIZE (4))
Kc ::= OCTET STRING (SIZE (8))
Ki ::= OCTET STRING (SIZE (16))
CKSN ::= OCTET STRING (SIZE (1))
-- bits 8-4 unused
CipheringMode ::= ENUMERATED{
noEncryption (1),
version1-GSM (2)}
-- Data types for short message services
SM-RP-DA ::= CHOICE{
imsi [0] IMPLICIT IMSI,
lMsId [1] IMPLICIT LMsId,
roamingNumber [3] IMPLICIT IsdnAddressString,
serviceCentreAddress [4] IMPLICIT AddressString}
SM-RP-OA ::= CHOICE{
msIsdn [2] IMPLICIT IsdnAddressString,
serviceCentreAddress [4] IMPLICIT AddressString}
SM-RP-UI ::= OCTET STRING (SIZE (1..maxSignalInfoLength))
-- fault recovery, call tracing
TraceReference ::= OCTET STRING (SIZE (1..2))
TraceType ::= INTEGER{
allEvents (0),
onlyCalls (1),
eventSet1 (2),
eventSet254 (255)}
(0..255)
-- Identifiers eventSet1 to eventSet254 corresponds to
-- sets of events pre-defined by each operator.
NetworkResource ::= ENUMERATED {
pLMN (0),
hLR (1),
vLR (2),
previous-VLR (3),
controlling-MSC (4),
vMSC (5),
eIR (6),
radioSubSystem (7)}
-- other data types
RequestParameter ::= ENUMERATED{
request-IMSI (0),
request-AuthenticationSet (1),
request-SubscriberData (2),
request-CUG-Information (3),
request-Ki (4)}
RequestParameters ::= SEQUENCE SIZE (1..2) OF RequestParameter
SentParameter ::= CHOICE{
imsi [0] IMPLICIT IMSI,
authenticationSet [1] IMPLICIT AuthenticationSet,
subscriberData [2] IMPLICIT SubscriberData,
cug-information [3] IMPLICIT CUG-Information,
ki [4] IMPLICIT Ki}
SentParameters ::= SEQUENCE
SIZE(1..maxNumberOfSentParameters)
OF SentParameter
CmServiceType ::= ENUMERATED{
mobileOriginatingCall (1),
emergencyCallEstablishment (2),
shortMessageService (4),
ss-request (8),
mobileOriginatingCallRe-establishment (9),
mobileTerminatingCall (10)}
--
AccessConnectionStatus ::= OCTET STRING (SIZE (1))
-- Bit 8-4 Reserved
-- Bit 3
-- 0 No RR- connection
-- 1 RR-connection established
-- Bit 2
-- 1 Ciphering mode on
-- Bit 1
-- 0 MM-connection existing and authenticated
-- 1 MM-connection existing and not authenticated
END -- End of data types specifications

View File

@ -0,0 +1,209 @@
MAP-Errors DEFINITIONS ::=
BEGIN
EXPORTS
unknownSubscriber, unknownBaseStation, unknownMSC, unknownLocArea,
unidentifiedSubscriber, unallocatedRoamingNumber, unknownEquipment,
roamingNotAllowed, illegalMS, bearerServiceNotProvisioned,
teleServiceNotProvisioned, insufficientBearerCapabilities,
callBarred, forwardingViolation, cug-Reject,
illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable,
ss-SubscriptionViolation, ss-Incompatibility, facilityNotSupported,
invalidTargetBaseStation, noRadioResourceAvailable,
noHandoverNumberAvailable, subsequentHandoverFailure,
absentSubscriber, busySubscriber, noSubscriberReply,
radioCongestion, impossibleCallCompletion, sm-DeliveryFailure,
messageWaitingListFull, systemFailure, dataMissing,
unexpectedDataValue, passwordRegistrationFailure,
negativePasswordCheck, noRoamingNumberAvailable, tracingBufferFull;
IMPORTS
ERROR
FROM Remote-Operations-Information-Objects
{joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0) }
SS-Code, SS-CodeList, SS-Status, SS-SubscriptionOption, BasicServiceCode,
NetworkResource
FROM
MAP-DataTypes;
-- error types definitions
unknownSubscriber ERROR ::= {
CODE local:1 }
unknownBaseStation ERROR ::= {
CODE local:2 }
unknownMSC ERROR ::= {
CODE local:3 }
unknownLocArea ERROR ::= {
CODE local:4 }
unidentifiedSubscriber ERROR ::= {
CODE local:5 }
unallocatedRoamingNumber ERROR ::= {
CODE local:6 }
unknownEquipment ERROR ::= {
CODE local:7 }
roamingNotAllowed ERROR ::= {
CODE local:8 }
illegalMS ERROR ::= {
CODE local:9 }
bearerServiceNotProvisioned ERROR ::= {
CODE local:10 }
teleServiceNotProvisioned ERROR ::= {
CODE local:11 }
insufficientBearerCapabilities ERROR ::= {
CODE local:12 }
CallBarredParam ::= ENUMERATED {
barringServiceActive (0),
operatorBarring (1)} -- optional
callBarred ERROR ::= {
PARAMETER
CallBarredParam
CODE local: 13 }
--
forwardingViolation ERROR ::= {
CODE local: 14 }
--
CugRejectParam ::= ENUMERATED {
incomingCallBarred(0),
nonCUGmember (1)} -- optional
cug-Reject ERROR ::= {
PARAMETER
CugRejectParam
CODE local: 15 }
--
illegalSS-Operation ERROR ::= {
CODE local: 16 }
--
ss-ErrorStatus ERROR ::= {
PARAMETER
SS-Status -- optional
CODE local: 17 }
--
ss-NotAvailable ERROR ::= {
CODE local: 18 }
ss-SubscriptionViolation ERROR ::= {
PARAMETER
SS-SubscriptionOption -- optional
CODE local: 19 }
--
SS-IncompatibilityParam ::= SEQUENCE{
ss-Code [1] IMPLICIT SS-Code OPTIONAL,
basicService BasicServiceCode OPTIONAL,
ss-Status [4] IMPLICIT SS-Status OPTIONAL} -- optional
ss-Incompatibility ERROR ::= {
PARAMETER
SS-IncompatibilityParam
CODE local: 20 }
--
facilityNotSupported ERROR ::= {
CODE local: 21 }
--
invalidTargetBaseStation ERROR ::= {
CODE local: 23 }
noRadioResourceAvailable ERROR ::= {
CODE local: 24 }
noHandoverNumberAvailable ERROR ::= {
CODE local: 25 }
subsequentHandoverFailure ERROR ::= {
CODE local: 26 }
absentSubscriber ERROR ::= {
PARAMETER
BOOLEAN -- optional
CODE local: 27 }
busySubscriber ERROR ::= {
CODE local: 28 }
noSubscriberReply ERROR ::= {
CODE local: 29 }
radioCongestion ERROR ::= {
CODE local: 30 }
impossibleCallCompletion ERROR ::= {
PARAMETER
SS-CodeList -- optional
CODE local : 31 }
SM-DeliveryFailureParam ::= ENUMERATED {
memoryCapacityExceeded (0),
msProtocolError (1),
msNotEquiped (2),
unknownServiceCentre (3),
invalidSmeAddress (5),
msNotScSubscriber (6)}
sm-DeliveryFailure ERROR ::= {
PARAMETER
SM-DeliveryFailureParam
CODE local : 32 }
messageWaitingListFull ERROR ::= {
CODE local : 33 }
--
systemFailure ERROR ::= {
PARAMETER
NetworkResource -- optional
CODE local : 34 }
dataMissing ERROR ::= {
CODE local : 35 }
unexpectedDataValue ERROR ::= {
CODE local : 36 }
PasswordRegistrationFailureParam ::= ENUMERATED{
undetermined (0),
invalidFormat (1),
newPasswordsMismatch (2)}
passwordRegistrationFailure ERROR ::= {
PARAMETER
PasswordRegistrationFailureParam
CODE local : 37 }
negativePasswordCheck ERROR ::= {
CODE local : 38 }
noRoamingNumberAvailable ERROR ::= {
CODE local : 39 }
tracingBufferFull ERROR ::= {
CODE local : 40 }
END -- End of error types definitions

View File

@ -0,0 +1,951 @@
MAP-Operations DEFINITIONS ::=
BEGIN
EXPORTS
-- Location management
updateLocationArea, updateLocation, cancelLocation, detachIMSI, attachIMSI,
deregisterMobileSubscriber,
-- Subscriber data management
insertSubscriberData, deleteSubscriberData, sendParameters,
-- Supplementary Services Handling
registerSS, eraseSS, activateSS,
deactivateSS, interrogateSS, invokeSS, forwardSsNotification,
registerPassword, getPassword, processUnstructuredSsData,
-- Call set-up
sendInfoForIncomingCall, sendInfoForOutgoingCall,
sendRoutingInformation, provideRoamingNumber, completeCall,
connectToFollowingAddress, processCallWaiting,
-- Paging
page, searchForMobileSubscriber,
-- Handover
performHandover, sendEndSignal,
performSubsequentHandover, allocateHandoverNumber,
sendHandoverReport, processAccessSignalling,
forwardAccessSignalling,
-- Charging
registerChargingInformation,
-- Fault recovery
reset, forwardCheckSsIndication,
-- Tracing
activateTraceMode, deactivateTraceMode, traceSubscriberActivity,
noteInternalHandover,
-- Equipment management
checkIMEI,
-- Authentication and security
authenticate, provideIMSI, forwardNewTMSI, setCipheringMode,
-- Short messages
sendRoutingInfoForSM, forwardShortMessage, setMessageWaitingData, noteMSPresent, alertServiceCentre,
-- Access request
processAccessRequest;
IMPORTS
OPERATION
FROM
Remote-Operations-Information-Objects
{joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
-- imports data types
AddressString, IsdnAddressString, ExternalSignalInfo,
IMSI, TMSI, SubscriberId, IMEI, LMsId, LocAreaId, GlobalCellId,
LocationInfo, HlrList, Category, EquipStatus, BasicServiceList,
BasicServiceCode, BearerServiceCode, TeleserviceCode, SubscriberData,
SS-Information, SS-DataList, SS-Code, SS-CodeList, SS-Status,
SS-Notification, Password, ChannelType, NoReplyConditionTime,
UserToUserServiceIndicator, CUG-Index, CUG-Interlock,
NumberOfConferees, NumberOfForwarding, ForwardingData,
ForwardingFeatureList, ForwardingOptions, ClassmarkInformation,
HandoverType, HandoverPriority, CallReference, CallType, CallDateTime,
CallStatus, CallDuration, PacketDataVolume, ChargingUnit, Charge,
SS-ChargingInfo, TraceReference, TraceType, NetworkResource,
CmServiceType, AccessConnectionStatus, Rand, Sres, CipheringMode, Kc,
CKSN, SS-UserData, RequestParameters, SentParameters, SM-RP-OA,
SM-RP-DA, SM-RP-UI, GuidanceInfo
FROM
MAP-DataTypes
-- imports errors types
unknownSubscriber, unknownBaseStation, unknownMSC,
unknownLocArea, unidentifiedSubscriber,
unallocatedRoamingNumber, unknownEquipment, roamingNotAllowed,
illegalMS, bearerServiceNotProvisioned, teleServiceNotProvisioned,
insufficientBearerCapabilities, callBarred, forwardingViolation,
cug-Reject, illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable,
ss-SubscriptionViolation, ss-Incompatibility, invalidTargetBaseStation,
noRadioResourceAvailable, noHandoverNumberAvailable, subsequentHandoverFailure,
absentSubscriber, busySubscriber, noSubscriberReply,
radioCongestion, impossibleCallCompletion, systemFailure, dataMissing,
unexpectedDataValue, passwordRegistrationFailure,
negativePasswordCheck, noRoamingNumberAvailable, tracingBufferFull,
facilityNotSupported, sm-DeliveryFailure, messageWaitingListFull
FROM
MAP-Errors;
-- operation types definitions
UpdateLocationAreaArg ::= SEQUENCE {
subscriberId SubscriberId,
previousLocAreaId CHOICE{
locAreaId LocAreaId,
null NULL},
cksn CKSN }
updateLocationArea OPERATION ::= { --Timer m
ARGUMENT
UpdateLocationAreaArg
ERRORS
{unknownSubscriber |
unknownLocArea |
illegalMS |
systemFailure |
unexpectedDataValue}
CODE local:1 }
--
UpdateLocationArg ::= SEQUENCE{
locationInfo LocationInfo,
vlrNumber IsdnAddressString,
lmsId [10] IMPLICIT LMsId OPTIONAL}
updateLocation OPERATION ::= { --Timer m
ARGUMENT
UpdateLocationArg
RESULT
IsdnAddressString
ERRORS
{unknownSubscriber |
roamingNotAllowed |
systemFailure |
unexpectedDataValue}
CODE local:2 }
--
CancelLocationArg ::= SEQUENCE {
imsi IMSI,
seq SEQUENCE{
imsi IMSI,
lMsId LMsId}}
cancelLocation OPERATION ::= {
ARGUMENT
CancelLocationArg
ERRORS
{unidentifiedSubscriber |
unexpectedDataValue}
CODE local:3}
--
detachIMSI OPERATION ::= {
ARGUMENT
SubscriberId
CODE local:5}
attachIMSI OPERATION ::= {
ARGUMENT
SubscriberId
ERRORS
{unidentifiedSubscriber |
illegalMS |
roamingNotAllowed |
systemFailure |
unexpectedDataValue}
CODE local:6}
--
deregisterMobileSubscriber OPERATION ::= {
ARGUMENT
IMSI
ERRORS
{absentSubscriber |
unknownSubscriber |
facilityNotSupported |
unexpectedDataValue}
}
-- Subscriber data management
InsertSubscriberDataArg ::= SEQUENCE{
imsi [0] IMPLICIT IMSI OPTIONAL,
COMPONENTS OF SubscriberData}
insertSubscriberData OPERATION ::= {
ARGUMENT
InsertSubscriberDataArg
ERRORS
{unidentifiedSubscriber |
dataMissing |
unexpectedDataValue}
CODE local:7}
--
DeleteSubscriberDataArg ::= SEQUENCE{
imsi [0] IMPLICIT IMSI,
ss-Code [2] IMPLICIT SS-CodeList OPTIONAL}
deleteSubscriberData OPERATION ::= {
ARGUMENT
DeleteSubscriberDataArg
ERRORS
{unidentifiedSubscriber |
dataMissing |
unexpectedDataValue}
CODE local:8}
--
SendParametersArg ::= SEQUENCE{
subscriberId SubscriberId,
requestParameters RequestParameters}
SendParametersRes ::= SEQUENCE{
sentParameters SentParameters
-- optional (nothing is returned, if the requested
-- parameters are not available or do not exist)
}
sendParameters OPERATION ::= {
ARGUMENT
SendParametersArg
RESULT
SendParametersRes
ERRORS
{unknownSubscriber |
unidentifiedSubscriber |
unexpectedDataValue}
CODE local:9}
-- Supplementary services handling
--
RegisterSSArg ::= SEQUENCE{
ss-Code SS-Code,
forwardedToNumber [4] IMPLICIT IsdnAddressString OPTIONAL,
noReplyConditionTime [5] IMPLICIT NoReplyConditionTime OPTIONAL}
registerSS OPERATION ::= {
ARGUMENT
RegisterSSArg
RESULT
SS-Information
ERRORS
{unknownSubscriber |
illegalSS-Operation |
ss-ErrorStatus |
ss-NotAvailable |
bearerServiceNotProvisioned |
teleServiceNotProvisioned |
ss-SubscriptionViolation |
ss-Incompatibility |
unexpectedDataValue |
dataMissing |
systemFailure}
CODE local:10}
--
SS-ForBS-Code ::= SEQUENCE{
ss-Code SS-Code,
basicService BasicServiceCode OPTIONAL}
eraseSS OPERATION ::= {
ARGUMENT
SS-ForBS-Code
RESULT
SS-Information
ERRORS
{unknownSubscriber |
negativePasswordCheck |
illegalSS-Operation |
ss-ErrorStatus |
ss-SubscriptionViolation |
unexpectedDataValue |
systemFailure}
CODE local:11}
--
activateSS OPERATION ::= {
ARGUMENT
SS-ForBS-Code
RESULT
SS-Information
ERRORS
{unknownSubscriber |
negativePasswordCheck |
illegalSS-Operation |
ss-ErrorStatus |
ss-NotAvailable |
ss-SubscriptionViolation |
ss-Incompatibility |
systemFailure}
CODE local:12}
--
deactivateSS OPERATION ::= {
ARGUMENT
SS-ForBS-Code
RESULT
SS-Information
ERRORS
{unknownSubscriber |
illegalSS-Operation |
ss-SubscriptionViolation |
negativePasswordCheck |
unexpectedDataValue |
systemFailure}
CODE local:13}
--
InterrogateSSRes ::= CHOICE{
ss-Status [0] IMPLICIT SS-Status,
forwardedToNumber [1] IMPLICIT IsdnAddressString,
forwardingFeatureList [3] IMPLICIT ForwardingFeatureList}
interrogateSS OPERATION ::= {
ARGUMENT
SS-ForBS-Code
RESULT
InterrogateSSRes
ERRORS
{unknownSubscriber |
negativePasswordCheck |
illegalSS-Operation |
unexpectedDataValue |
systemFailure}
CODE local:14}
--
InvokeSSArg ::= SEQUENCE{
ss-Code SS-Code,
userToUserServiceIndicator [4] IMPLICIT UserToUserServiceIndicator OPTIONAL,
cug-Index [5] IMPLICIT CUG-Index OPTIONAL,
numberOfConferees [6] IMPLICIT NumberOfConferees OPTIONAL}
invokeSS OPERATION ::= {
ARGUMENT
InvokeSSArg
RESULT
CUG-Interlock
ERRORS
{illegalSS-Operation |
ss-ErrorStatus |
ss-NotAvailable |
ss-SubscriptionViolation |
ss-Incompatibility |
cug-Reject |
unexpectedDataValue |
systemFailure}
CODE local:15}
--
ForwardSSNotificationArg ::= SEQUENCE{
imsi [0] IMPLICIT IMSI OPTIONAL,
ss-Code [1] IMPLICIT SS-Code OPTIONAL,
teleservice [2] IMPLICIT TeleserviceCode OPTIONAL,
ss-Status [4] IMPLICIT SS-Status OPTIONAL,
ss-Notification [5] IMPLICIT SS-Notification OPTIONAL}
forwardSsNotification OPERATION ::= {
ARGUMENT
ForwardSSNotificationArg
CODE local:16}
--
registerPassword OPERATION ::= {
ARGUMENT
SS-Code
RESULT
Password
ERRORS
{negativePasswordCheck |
passwordRegistrationFailure |
ss-SubscriptionViolation |
unexpectedDataValue |
systemFailure}
LINKED
{getPassword}
CODE local:17}
--
getPassword OPERATION ::= {
ARGUMENT
GuidanceInfo
RESULT
Password
CODE local:18}
--
processUnstructuredSsData OPERATION ::= {
ARGUMENT
SS-UserData
RESULT
SS-UserData
ERRORS
{unexpectedDataValue |
systemFailure}
-- UnexpectedDataValue is used when data from MS does not correspond
-- to any service implemented in HLR
CODE local:19}
-- Call set-up
--
SendInfoForIncomingCallArg ::= SEQUENCE{
incomingId CHOICE{
roamingNumber [0] IMPLICIT IsdnAddressString,
imsi [1] IMPLICIT IMSI},
bearerService [2] IMPLICIT BearerServiceCode OPTIONAL,
teleservice [3] IMPLICIT TeleserviceCode OPTIONAL,
lMsId [4] IMPLICIT LMsId OPTIONAL,
cug-Interlock [6] IMPLICIT CUG-Interlock OPTIONAL,
numberOfForwarding [7] IMPLICIT NumberOfForwarding OPTIONAL}
sendInfoForIncomingCall OPERATION ::= {
ARGUMENT
SendInfoForIncomingCallArg
ERRORS
{unallocatedRoamingNumber |
unknownSubscriber |
unidentifiedSubscriber |
impossibleCallCompletion |
forwardingViolation |
unexpectedDataValue |
dataMissing |
systemFailure}
LINKED
{completeCall |
processCallWaiting |
connectToFollowingAddress}
CODE local:20}
--
SendInfoForOutgoingCallArg ::= SEQUENCE{
calledNumber [0] IMPLICIT IsdnAddressString,
teleService [3] IMPLICIT TeleserviceCode OPTIONAL}
sendInfoForOutgoingCall OPERATION ::= {
ARGUMENT
SendInfoForOutgoingCallArg
ERRORS
{unknownSubscriber |
bearerServiceNotProvisioned |
teleServiceNotProvisioned |
callBarred |
dataMissing |
unexpectedDataValue |
systemFailure}
LINKED
{completeCall}
CODE local:21}
--
SendRoutingInfoArg ::= SEQUENCE {
msIsdn [0] IMPLICIT IsdnAddressString,
cug-Interlock [1] IMPLICIT CUG-Interlock OPTIONAL,
numberOfForwarding [2] IMPLICIT NumberOfForwarding OPTIONAL,
networkSignalInfo [10] IMPLICIT ExternalSignalInfo OPTIONAL}
SendRoutingInfoRes ::= SEQUENCE{
imsi IMSI,
routingInfo CHOICE{
roamingNumber IsdnAddressString,
forwardingData ForwardingData}}
-- If available from the network the ISDN Bearer Capabilities and the ISDN High Layer
-- Compatibility and Low Layer Compatibility information elements are included in
-- The information is passed according to the rules specified in GSM 09.07.
sendRoutingInformation OPERATION ::= {
ARGUMENT
SendRoutingInfoArg
RESULT
SendRoutingInfoRes
ERRORS
{unknownSubscriber |
callBarred |
cug-Reject |
bearerServiceNotProvisioned |
teleServiceNotProvisioned |
facilityNotSupported |
forwardingViolation |
systemFailure |
dataMissing |
unexpectedDataValue}
CODE local:22}
--
ProvideRoamingNumberArg ::= SEQUENCE{
imsi [0] IMPLICIT IMSI,
mscNumber [1] IMPLICIT IsdnAddressString OPTIONAL,
msIsdn [2] IMPLICIT IsdnAddressString OPTIONAL,
previousRoamingNumber [3] IMPLICIT IsdnAddressString OPTIONAL,
lMsId [4] IMPLICIT LMsId OPTIONAL,
gSM-BearerCapability [5] IMPLICIT ExternalSignalInfo OPTIONAL,
networkSignalInfo [6] IMPLICIT ExternalSignalInfo OPTIONAL}
-- If available from the network the ISDN High Layer Compatibility information element is
-- carried in the networkSignalInfo parameter as shown in section 6.4.3.8.9.
-- The information is passed according to the rules specified in GSM 09.07.
provideRoamingNumber OPERATION ::= {
ARGUMENT
ProvideRoamingNumberArg
RESULT
IsdnAddressString
ERRORS
{absentSubscriber |
noRoamingNumberAvailable |
facilityNotSupported |
systemFailure |
dataMissing |
unexpectedDataValue}
CODE local:4}
--
CompleteCallArg ::= SEQUENCE{
msIsdn [0] IMPLICIT IsdnAddressString,
category [1] IMPLICIT Category OPTIONAL,
cug-Index [2] IMPLICIT CUG-Index OPTIONAL,
gSM-BearerCapability [3] IMPLICIT ExternalSignalInfo OPTIONAL,
noReplyConditionTime [4] IMPLICIT NoReplyConditionTime OPTIONAL,
ss-DataList [5] IMPLICIT SS-DataList OPTIONAL}
completeCall OPERATION ::= {
ARGUMENT
CompleteCallArg
ERRORS
{noSubscriberReply |
radioCongestion |
busySubscriber |
dataMissing |
unexpectedDataValue}
CODE local:23}
--
ConnectToFollowingAddressArg ::= SEQUENCE{
forwardingData ForwardingData,
msIsdn IsdnAddressString OPTIONAL}
connectToFollowingAddress OPERATION ::= {
ARGUMENT
ConnectToFollowingAddressArg
CODE local:24}
--
processCallWaiting OPERATION ::= {
CODE local:25}
-- Paging
PageArg ::= SEQUENCE{
imsi [0] IMPLICIT IMSI,
tmsi [1] IMPLICIT TMSI OPTIONAL,
locAreaId [2] IMPLICIT LocAreaId}
page OPERATION ::= {
ARGUMENT
PageArg
ERRORS
{absentSubscriber |
unknownLocArea |
busySubscriber |
systemFailure |
unexpectedDataValue}
CODE local:26}
--
SearchForMobileSubscriberArg ::= SEQUENCE{
imsi IMSI,
storedLocationArea CHOICE {
locAreaId LocAreaId,
null NULL}}
searchForMobileSubscriber OPERATION ::= {
ARGUMENT
SearchForMobileSubscriberArg
RESULT
LocAreaId
ERRORS
{absentSubscriber |
busySubscriber |
systemFailure |
unexpectedDataValue}
CODE local:27}
-- Handover
PerformHandoverArg ::= SEQUENCE{
targetCellId GlobalCellId,
channelType ChannelType,
classmarkInformation ClassmarkInformation,
handoverPriority [11] IMPLICIT HandoverPriority OPTIONAL,
kc [12] IMPLICIT Kc OPTIONAL}
PerformHandoverRes ::= SEQUENCE{
handoverNumber IsdnAddressString,
accessSignalInfo ExternalSignalInfo
-- protocolId for ExternalSignalInfo
-- should indicate "gsm-04.08-version1"
}
performHandover OPERATION ::= {
ARGUMENT
PerformHandoverArg
RESULT
PerformHandoverRes
ERRORS
{unknownBaseStation |
invalidTargetBaseStation |
noRadioResourceAvailable |
systemFailure |
unexpectedDataValue}
CODE local:28}
--
sendEndSignal OPERATION ::= {
CODE local:29}
--
PerformSubsequentHandoverArg ::= SEQUENCE{
targetCellId GlobalCellId,
servingCellId GlobalCellId,
classmarkInformation [10] IMPLICIT ClassmarkInformation OPTIONAL}
performSubsequentHandover OPERATION ::= {
ARGUMENT
PerformSubsequentHandoverArg
RESULT
ExternalSignalInfo
-- protocolId should indicate "gsm-04.08-version1"}
ERRORS
{unknownBaseStation |
invalidTargetBaseStation |
unknownMSC |
subsequentHandoverFailure |
unexpectedDataValue}
CODE local:30}
--
allocateHandoverNumber OPERATION ::= {
ERRORS
{noHandoverNumberAvailable}
LINKED
{sendHandoverReport}
CODE local:31}
--
sendHandoverReport OPERATION ::= {
ARGUMENT
IsdnAddressString
CODE local:32}
--
processAccessSignalling OPERATION ::= {
ARGUMENT
ExternalSignalInfo
-- protocolId should indicate "gsm-0806-version1"
CODE local:33}
--
forwardAccessSignalling OPERATION ::= {
ARGUMENT
ExternalSignalInfo
-- protocolId should indicate "gsm-0806-version1"
CODE local:34}
-- Charging
--
RegisterChargingInfoArg ::= SEQUENCE{
msIsdn IsdnAddressString,
mscNumber IsdnAddressString,
imsi IMSI,
callType CallType,
callStatus CallStatus,
callDateTime CallDateTime,
callDuration CallDuration,
bearerServiceCode [10] IMPLICIT BearerServiceCode OPTIONAL,
teleServiceCode [11] IMPLICIT TeleserviceCode OPTIONAL,
calledNumber [12] IMPLICIT IsdnAddressString OPTIONAL,
packetDataVolume [14] IMPLICIT PacketDataVolume OPTIONAL,
chargingUnit [15] IMPLICIT ChargingUnit OPTIONAL,
charge [16] IMPLICIT Charge OPTIONAL,
ss-ChargingInfo [17] IMPLICIT SS-ChargingInfo OPTIONAL}
registerChargingInformation OPERATION ::= {
ARGUMENT
RegisterChargingInfoArg
ERRORS
{unknownSubscriber |
dataMissing |
unexpectedDataValue}
CODE local:36}
-- Fault recovery
ResetArg ::= SEQUENCE{
networkResource NetworkResource,
originatingEntityNumber IsdnAddressString,
hlrId HlrList OPTIONAL}
reset OPERATION ::= {
ARGUMENT
ResetArg
CODE local:37}
--
forwardCheckSsIndication OPERATION ::= {
CODE local:38}
-- Tracing
--
ActivateTraceModeArg ::= SEQUENCE{
imsi [0] IMPLICIT IMSI OPTIONAL,
traceReference [1] IMPLICIT TraceReference ,
traceType [2] IMPLICIT TraceType,
omcId [3] IMPLICIT AddressString OPTIONAL}
activateTraceMode OPERATION ::= {
ARGUMENT
ActivateTraceModeArg
ERRORS
{unidentifiedSubscriber |
facilityNotSupported |
tracingBufferFull |
systemFailure |
dataMissing |
unexpectedDataValue}
CODE local:50}
--
DeactivateTraceModeArg ::= SEQUENCE{
imsi [0] IMPLICIT IMSI OPTIONAL,
traceReference [1] IMPLICIT TraceReference}
deactivateTraceMode OPERATION ::= {
ARGUMENT
DeactivateTraceModeArg
ERRORS
{unidentifiedSubscriber |
facilityNotSupported |
systemFailure |
dataMissing |
unexpectedDataValue}
CODE local:51}
--
TraceSubscriberActivityArg ::= SEQUENCE{
imsi [0] IMPLICIT IMSI OPTIONAL,
traceReference [1] IMPLICIT TraceReference,
traceType [2] IMPLICIT TraceType,
callReference [4] IMPLICIT CallReference OPTIONAL}
traceSubscriberActivity OPERATION ::= {
ARGUMENT
TraceSubscriberActivityArg
CODE local:52}
--
NoteInternalHandoverArg ::= SEQUENCE{
handoverType HandoverType,
channelId [2] IMPLICIT ExternalSignalInfo OPTIONAL}
noteInternalHandover OPERATION ::= {
ARGUMENT
NoteInternalHandoverArg
CODE local:35}
-- Equipment management
--
checkIMEI OPERATION ::= {
ARGUMENT
IMEI
RESULT
EquipStatus
ERRORS
{unknownEquipment |
systemFailure |
unexpectedDataValue}
CODE local:43}
-- Authentication and security
--
AuthenticateArg ::= SEQUENCE{
rand Rand,
cksn CKSN}
authenticate OPERATION ::= {
ARGUMENT
AuthenticateArg
RESULT
Sres
CODE local:39}
--
provideIMSI OPERATION ::= {
RESULT
IMSI
ERRORS
{absentSubscriber}
CODE local:40}
--
forwardNewTMSI OPERATION ::= {
ARGUMENT
TMSI
CODE local:41}
--
SetCipheringModeArg ::= SEQUENCE{
cipheringMode CipheringMode,
kc Kc OPTIONAL}
-- Kc should be included when cipheringMode indicates
-- that ciphering must be performed
setCipheringMode OPERATION ::= {
ARGUMENT
SetCipheringModeArg
CODE local:42}
-- Short messages
SendRoutingInfoForSMArg ::= SEQUENCE{
msIsdn [0] IMPLICIT IsdnAddressString,
sm-RP-PRI [1] IMPLICIT BOOLEAN,
serviceCentreAddress [2] IMPLICIT AddressString,
cug-Interlock [3] IMPLICIT CUG-Interlock OPTIONAL,
teleserviceCode [5] IMPLICIT TeleserviceCode OPTIONAL}
SendRoutingInfoForSMRes ::= SEQUENCE{
imsi IMSI,
choice CHOICE{
seq [0] IMPLICIT SEQUENCE{
locationInfo LocationInfo,
lMsId LMsId OPTIONAL},
forwardingData [1] IMPLICIT ForwardingData},
mwd-Set [2] IMPLICIT BOOLEAN OPTIONAL}
sendRoutingInfoForSM OPERATION ::= {
ARGUMENT
SendRoutingInfoForSMArg
RESULT
SendRoutingInfoForSMRes
ERRORS
{unknownSubscriber |
callBarred |
cug-Reject |
teleServiceNotProvisioned |
absentSubscriber |
systemFailure |
dataMissing |
unexpectedDataValue}
CODE local:45}
--
ForwardShortMessageArg ::= SEQUENCE{
sm-RP-DA SM-RP-DA,
sm-RP-OA SM-RP-OA,
sm-RP-UI SM-RP-UI}
forwardShortMessage OPERATION ::= {
ARGUMENT
ForwardShortMessageArg
ERRORS
{unidentifiedSubscriber |
absentSubscriber |
facilityNotSupported |
illegalMS |
systemFailure |
unexpectedDataValue |
sm-DeliveryFailure}
CODE local:46}
--
SetMessageWaitingDataArg ::= SEQUENCE{
msIsdn IsdnAddressString,
serviceCentreAddress AddressString}
setMessageWaitingData OPERATION ::= {
ARGUMENT
SetMessageWaitingDataArg
ERRORS
{unknownSubscriber |
messageWaitingListFull |
unexpectedDataValue}
CODE local:47}
--
noteMSPresent OPERATION ::= {
ARGUMENT
IMSI
CODE local:48}
--
AlertServiceCentreArg ::= SEQUENCE {
msIsdn IsdnAddressString,
serviceCentreAddress AddressString}
alertServiceCentre OPERATION ::= {
ARGUMENT
AlertServiceCentreArg
CODE local:49}
-- Access request
ProcessAccessRequestArg ::= SEQUENCE{
subscriberId SubscriberId,
cmServiceType CmServiceType,
accessConnectionStatus AccessConnectionStatus,
cksn CKSN}
ProcessAccessRequestRes ::= SEQUENCE{
imsi IMSI,
msIsdn IsdnAddressString OPTIONAL}
processAccessRequest OPERATION ::= {
ARGUMENT
ProcessAccessRequestArg
RESULT
ProcessAccessRequestRes
ERRORS
{illegalMS |
unknownSubscriber |
unidentifiedSubscriber |
unexpectedDataValue }
CODE local:53}
--
BeginSubscriberActivityArg ::= SEQUENCE{
originatingEntityNumber IsdnAddressString}
beginSubscriberActivity OPERATION ::= {
ARGUMENT
BeginSubscriberActivityArg
CODE local:54}
END -- End of operation types definitions --

View File

@ -0,0 +1,103 @@
MAP-Protocol DEFINITIONS ::=
BEGIN
IMPORTS
OPERATION
FROM
Remote-Operations-Information-Objects
{ joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
-- Location management
updateLocationArea, updateLocation, cancelLocation, detachIMSI,
attachIMSI, deregisterMobileSubscriber,
-- Data management
sendParameters, insertSubscriberData, deleteSubscriberData,
-- Supplementary Services Handling
registerSS, eraseSS, activateSS, deactivateSS, interrogateSS, invokeSS,
forwardSsNotification, registerPassword, getPassword,
processUnstructuredSsData,
-- Call set-up
sendInfoForIncomingCall, sendInfoForOutgoingCall,
sendRoutingInformation, provideRoamingNumber,
-- Paging
page, searchForMobileSubscriber,
-- Handover
performHandover, sendEndSignal,
performSubsequentHandover, allocateHandoverNumber, sendHandoverReport,
-- Charging
registerChargingInformation,
-- Restoration
reset, forwardCheckSsIndication,
-- Authentication and security
forwardNewTMSI, setCipheringMode,
-- Equipment management
checkIMEI,
-- Short messages
noteMSPresent, alertServiceCentre,
-- Tracing
activateTraceMode, deactivateTraceMode, traceSubscriberActivity,
-- Others
processAccessRequest
FROM
MAP-Operations
-- imports error types
unknownSubscriber, unknownBaseStation, unknownMSC, unknownLocArea,
unidentifiedSubscriber, unallocatedRoamingNumber, unknownEquipment,
roamingNotAllowed, teleServiceNotProvisioned,
insufficientBearerCapabilities, callBarred, forwardingViolation,
cug-Reject, illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable,
ss-SubscriptionViolation, ss-Incompatibility, facilityNotSupported,
invalidTargetBaseStation, noRadioResourceAvailable,
noHandoverNumberAvailable, subsequentHandoverFailure, absentSubscriber,
busySubscriber, noSubscriberReply, radioCongestion,
unexpectedDataValue, passwordRegistrationFailure,
negativePasswordCheck, noRoamingNumberAvailable, tracingBufferFull
FROM
MAP-Errors;
Supported-MAP-Operations OPERATION ::= {
updateLocationArea | updateLocation | cancelLocation |
detachIMSI | attachIMSI | deregisterMobileSubscriber |
-- Data management
sendParameters | insertSubscriberData | deleteSubscriberData |
-- Supplementary Services Handling
registerSS | eraseSS | activateSS |
deactivateSS | interrogateSS | invokeSS | forwardSsNotification |
registerPassword | getPassword | processUnstructuredSsData |
-- Call set-up
sendInfoForIncomingCall | sendInfoForOutgoingCall | sendRoutingInformation | provideRoamingNumber |
-- Paging
page | searchForMobileSubscriber |
-- Handover
performHandover | sendEndSignal |
performSubsequentHandover | allocateHandoverNumber | sendHandoverReport |
-- Charging
registerChargingInformation |
-- Restoration
reset | forwardCheckSsIndication |
-- Authentication and security
forwardNewTMSI | setCipheringMode |
-- Equipment management
checkIMEI |
-- Short messages
noteMSPresent | alertServiceCentre |
-- Tracing
activateTraceMode | deactivateTraceMode | traceSubscriberActivity |
-- Others
processAccessRequest
}
END

View File

@ -0,0 +1,7 @@
MAP-Constants.asn
MAP-DataTypes.asn
MAP-Errors.asn
MAP-Operations.asn
MAP-Protocol.asn
Remote-Operations-Information-Objects.asn
Remote-Operations-Useful-Definitions.asn

View File

@ -0,0 +1,8 @@
MAP-Constants.asn
MAP-DataTypes.asn
MAP-Errors.asn
MAP-Operations.asn
MAP-Protocol.asn
Remote-Operations-Generic-ROS-PDUs.asn
Remote-Operations-Information-Objects.asn
Remote-Operations-Useful-Definitions.asn

View File

@ -0,0 +1,167 @@
-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4)
generic-ROS-PDUs(6) version1(0)}
DEFINITIONS IMPLICIT TAGS
::=
BEGIN
-- exports everything
IMPORTS
OPERATION, ERROR
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
remote-operations(4) informationObjects(5) version1(0)};
ROS{InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::=
CHOICE {
invoke [1] Invoke{{InvokeIdSet}, {Invokable}},
returnResult [2] ReturnResult{{Returnable}},
returnError [3] ReturnError{{Errors {{Returnable}}}},
reject [4] Reject
}
(CONSTRAINED BY { -- must conform to the above definition --} !
RejectProblem:general-unrecognizedPDU)
Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
invokeId
InvokeId(InvokeIdSet)
(CONSTRAINED BY { -- must be unambiguous --} !
RejectProblem:invoke-duplicateInvocation),
linkedId
CHOICE {present [0] IMPLICIT present < InvokeId,
absent [1] IMPLICIT NULL
}
(CONSTRAINED BY { -- must identify an outstanding operation --} !
RejectProblem:invoke-unrecognizedLinkedId)
(CONSTRAINED BY { -- which has one or more linked operations--} !
RejectProblem:invoke-linkedResponseUnexpected) OPTIONAL,
opcode
OPERATION.&operationCode
({Operations} !RejectProblem:invoke-unrecognizedOperation),
argument
OPERATION.&ArgumentType
({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL
}
(CONSTRAINED BY { -- must conform to the above definition --} !
RejectProblem:general-mistypedPDU)
(WITH COMPONENTS {
...,
linkedId ABSENT
} |
WITH COMPONENTS {
...,
linkedId PRESENT,
opcode (CONSTRAINED BY { -- must be in the &Linked field of the associated operation --
} !RejectProblem:invoke-unexpectedLinkedOperation)
})
-- continued on the next page
ReturnResult{OPERATION:Operations} ::= SEQUENCE {
invokeId
InvokeId
(CONSTRAINED BY { -- must be that for an outstanding operation --} !
RejectProblem:returnResult-unrecognizedInvocation)
(CONSTRAINED BY { -- which returns a result --} !
RejectProblem:returnResult-resultResponseUnexpected),
result
SEQUENCE {opcode
OPERATION.&operationCode({Operations})
(CONSTRAINED BY { -- identified by invokeId --} !
RejectProblem:returnResult-unrecognizedInvocation),
result
OPERATION.&ResultType
({Operations}{@.opcode} !
RejectProblem:returnResult-mistypedResult)} OPTIONAL
}
(CONSTRAINED BY { -- must conform to the above definition --} !
RejectProblem:general-mistypedPDU)
ReturnError{ERROR:Errors} ::= SEQUENCE {
invokeId
InvokeId
(CONSTRAINED BY { -- must be that for an outstanding operation --} !
RejectProblem:returnError-unrecognizedInvocation)
(CONSTRAINED BY { -- which returns an error --} !
RejectProblem:returnError-errorResponseUnexpected),
errcode
ERROR.&errorCode({Errors} !RejectProblem:returnError-unrecognizedError)
(CONSTRAINED BY { -- must be in the &Errors field of the associated operation --
} !RejectProblem:returnError-unexpectedError),
parameter
ERROR.&ParameterType
({Errors}{@errcode} !RejectProblem:returnError-mistypedParameter)
OPTIONAL
}
(CONSTRAINED BY { -- must conform to the above definition --} !
RejectProblem:general-mistypedPDU)
Reject ::= SEQUENCE {
invokeId InvokeId,
problem
CHOICE {general [0] GeneralProblem,
invoke [1] InvokeProblem,
returnResult [2] ReturnResultProblem,
returnError [3] ReturnErrorProblem}
}
(CONSTRAINED BY { -- must conform to the above definition --} !
RejectProblem:general-mistypedPDU)
GeneralProblem ::= INTEGER {
unrecognizedPDU(0), mistypedPDU(1), badlyStructuredPDU(2)}
-- continued on the next page
InvokeProblem ::= INTEGER {
duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2),
resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5),
linkedResponseUnexpected(6), unexpectedLinkedOperation(7)}
ReturnResultProblem ::= INTEGER {
unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2)
}
ReturnErrorProblem ::= INTEGER {
unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2),
unexpectedError(3), mistypedParameter(4)}
RejectProblem ::= INTEGER {
general-unrecognizedPDU(0), general-mistypedPDU(1),
general-badlyStructuredPDU(2), invoke-duplicateInvocation(10),
invoke-unrecognizedOperation(11), invoke-mistypedArgument(12),
invoke-resourceLimitation(13), invoke-releaseInProgress(14),
invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16),
invoke-unexpectedLinkedOperation(17),
returnResult-unrecognizedInvocation(20),
returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22),
returnError-unrecognizedInvocation(30),
returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32),
returnError-unexpectedError(33), returnError-mistypedParameter(34)}
InvokeId ::= CHOICE {present INTEGER,
absent NULL
}
noInvokeId InvokeId ::= absent:NULL
NoInvokeId InvokeId ::= {noInvokeId}
Errors{OPERATION:Operations} ERROR ::= {Operations.&Errors}
-- continued on the next page
Bind{OPERATION:operation} ::= CHOICE {
bind-invoke [16] OPERATION.&ArgumentType({operation}),
bind-result [17] OPERATION.&ResultType({operation}),
bind-error [18] OPERATION.&Errors.&ParameterType({operation})
}
Unbind{OPERATION:operation} ::= CHOICE {
unbind-invoke [19] OPERATION.&ArgumentType({operation}),
unbind-result [20] OPERATION.&ResultType({operation}),
unbind-error [21] OPERATION.&Errors.&ParameterType({operation})
}
END -- end of generic ROS PDU definitions
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D

View File

@ -0,0 +1,127 @@
-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4)
informationObjects(5) version1(0)}
DEFINITIONS
::=
BEGIN
-- exports everything
IMPORTS
emptyBind, emptyUnbind
FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
remote-operations(4) useful-definitions(7) version1(0)};
OPERATION ::= CLASS {
&ArgumentType OPTIONAL,
&argumentTypeOptional BOOLEAN OPTIONAL,
&returnResult BOOLEAN DEFAULT TRUE,
&ResultType OPTIONAL,
&resultTypeOptional BOOLEAN OPTIONAL,
&Errors ERROR OPTIONAL,
&Linked OPERATION OPTIONAL,
&synchronous BOOLEAN DEFAULT FALSE,
&alwaysReturns BOOLEAN DEFAULT TRUE,
&InvokePriority Priority OPTIONAL,
&ResultPriority Priority OPTIONAL,
&operationCode Code UNIQUE OPTIONAL
}
WITH SYNTAX {
[ARGUMENT &ArgumentType
[OPTIONAL &argumentTypeOptional]]
[RESULT &ResultType
[OPTIONAL &resultTypeOptional]]
[RETURN RESULT &returnResult]
[ERRORS &Errors]
[LINKED &Linked]
[SYNCHRONOUS &synchronous]
[ALWAYS RESPONDS &alwaysReturns]
[INVOKE PRIORITY &InvokePriority]
[RESULT-PRIORITY &ResultPriority]
[CODE &operationCode]
}
ERROR ::= CLASS {
&ParameterType OPTIONAL,
&parameterTypeOptional BOOLEAN OPTIONAL,
&ErrorPriority Priority OPTIONAL,
&errorCode Code UNIQUE OPTIONAL
}
WITH SYNTAX {
[PARAMETER &ParameterType
[OPTIONAL &parameterTypeOptional]]
[PRIORITY &ErrorPriority]
[CODE &errorCode]
}
OPERATION-PACKAGE ::= CLASS {
&Both OPERATION OPTIONAL,
&Consumer OPERATION OPTIONAL,
&Supplier OPERATION OPTIONAL,
&id OBJECT IDENTIFIER UNIQUE OPTIONAL
}
-- continued on the next page
WITH SYNTAX {
[OPERATIONS &Both]
[CONSUMER INVOKES &Supplier]
[SUPPLIER INVOKES &Consumer]
[ID &id]
}
CONNECTION-PACKAGE ::= CLASS {
&bind OPERATION DEFAULT emptyBind,
&unbind OPERATION DEFAULT emptyUnbind,
&responderCanUnbind BOOLEAN DEFAULT FALSE,
&unbindCanFail BOOLEAN DEFAULT FALSE,
&id OBJECT IDENTIFIER UNIQUE OPTIONAL
}
WITH SYNTAX {
[BIND &bind]
[UNBIND &unbind]
[RESPONDER UNBIND &responderCanUnbind]
[FAILURE TO UNBIND &unbindCanFail]
[ID &id]
}
CONTRACT ::= CLASS {
&connection CONNECTION-PACKAGE OPTIONAL,
&OperationsOf OPERATION-PACKAGE OPTIONAL,
&InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
&InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL,
&id OBJECT IDENTIFIER UNIQUE OPTIONAL
}
WITH SYNTAX {
[CONNECTION &connection]
[OPERATIONS OF &OperationsOf]
[INITIATOR CONSUMER OF &InitiatorConsumerOf]
[RESPONDER CONSUMER OF &InitiatorSupplierOf]
[ID &id]
}
ROS-OBJECT-CLASS ::= CLASS {
&Is ROS-OBJECT-CLASS OPTIONAL,
&Initiates CONTRACT OPTIONAL,
&Responds CONTRACT OPTIONAL,
&InitiatesAndResponds CONTRACT OPTIONAL,
&id OBJECT IDENTIFIER UNIQUE
}
WITH SYNTAX {
[IS &Is]
[BOTH &InitiatesAndResponds]
[INITIATES &Initiates]
[RESPONDS &Responds]
ID &id
}
Code ::= CHOICE {local INTEGER,
global OBJECT IDENTIFIER
}
Priority ::= INTEGER(0..MAX)
END -- end of Information Object specifications
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D

View File

@ -0,0 +1,99 @@
-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4)
useful-definitions(7) version1(0)}
DEFINITIONS IMPLICIT TAGS
::=
BEGIN
-- exports everything
IMPORTS
OPERATION, ERROR, OPERATION-PACKAGE, Code
FROM Remote-Operations-Information-Objects {joint-iso-itu-t
remote-operations(4) informationObjects(5) version1(0)}
InvokeId, ROS{}
FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
remote-operations(4) generic-ROS-PDUs(6) version1(0)};
emptyBind OPERATION ::= {ERRORS {refuse}
SYNCHRONOUS TRUE
}
emptyUnbind OPERATION ::= {SYNCHRONOUS TRUE
}
refuse ERROR ::= {CODE local:-1
}
no-op OPERATION ::= {ALWAYS RESPONDS FALSE
CODE local:-1
}
Forward{OPERATION:OperationSet} OPERATION ::=
{OperationSet | OperationSet.&Linked.&Linked |
OperationSet.&Linked.&Linked.&Linked.&Linked}
Reverse{OPERATION:OperationSet} OPERATION ::= {Forward{{OperationSet.&Linked}}}
ConsumerPerforms{OPERATION-PACKAGE:package} OPERATION ::=
{Forward{{package.&Consumer}} | Forward{{package.&Both}} |
Reverse{{package.&Supplier}} | Reverse{{package.&Both}}}
SupplierPerforms{OPERATION-PACKAGE:package} OPERATION ::=
{Forward{{package.&Supplier}} | Forward{{package.&Both}} |
Reverse{{package.&Consumer}} | Reverse{{package.&Both}}}
AllOperations{OPERATION-PACKAGE:package} OPERATION ::=
{ConsumerPerforms{package} | SupplierPerforms{package}}
-- continued on the next page
recode{OPERATION:operation, Code:code} OPERATION ::= {
ARGUMENT operation.&ArgumentType
OPTIONAL operation.&argumentTypeOptional
RESULT operation.&ResultType
OPTIONAL operation.&resultTypeOptional
RETURN RESULT operation.&returnResult
ERRORS {operation.&Errors}
LINKED {operation.&Linked}
SYNCHRONOUS operation.&synchronous
ALWAYS RESPONDS operation.&alwaysReturns
INVOKE PRIORITY {operation.&InvokePriority}
RESULT-PRIORITY {operation.&ResultPriority}
CODE code
}
switch{OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::=
{
OPERATIONS {package.&Both}
CONSUMER INVOKES {package.&Consumer}
SUPPLIER INVOKES {package.&Supplier}
ID id
}
combine{OPERATION-PACKAGE:ConsumerConsumes, OPERATION-PACKAGE:ConsumerSupplies,
OPERATION-PACKAGE:base} OPERATION-PACKAGE ::= {
OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both}
CONSUMER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier}
SUPPLIER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer}
ID base.&id
}
ROS-SingleAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
ROS{{InvokeIdSet}, {AllOperations {package}}, {AllOperations {package}}}
ROS-ConsumerAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
ROS
{{InvokeIdSet}, {ConsumerPerforms {package}},
{SupplierPerforms {package}}}
ROS-SupplierAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::=
ROS
{{InvokeIdSet}, {SupplierPerforms {package}},
{ConsumerPerforms {package}}}
END -- end of useful definitions.
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D