Hi,
I am well aware that MACRO's in ASN.1 have long been depricated and
InformationObjects have been recommended in place. I have thus far only
come across ASN.1 specifications using Information Objects. I bumped
into a MAP specification (3GPP TS 29.002 V3.20.0) using the MACRO but
couldn't get to compile it.
For quick ref this is how "TCAPMessages { ccitt recommendation q 773
modules (2) messages (1) version2 (2) }" defines the OPERATION Macro -
------------------------------------------------------------------------
|-- Operations are specified with the OPERATION MACRO.
-- When an operation is specified, the valid parameter set, results, and
errors for that operation are indicated.
-- Default values and optional parameters are permitted.
OPERATION MACRO ::=
BEGIN
TYPE NOTATION ::= Parameter Result Errors LinkedOperations
VALUE NOTATION ::= value (VALUE CHOICE
{
localValue INTEGER,
globalValue OBJECT IDENTIFIER
} )
Parameter ::= ArgKeyword NamedType | empty
ArgKeyword ::= "ARGUMENT" | "PARAMETER"
Result ::= "RESULT" ResultType | empty
Errors ::= "ERRORS" "{"ErrorNames"}" | empty
LinkedOperations ::= "LINKED" "{"LinkedOperationNames"}" | empty
ResultType ::= NamedType | empty
ErrorNames ::= ErrorList | empty
ErrorList ::= Error | ErrorList "," Error
Error ::= value (ERROR)
-- shall reference an error value
| type -- shall reference an error type
-- if no error value is specified
LinkedOperationNames ::= OperationList | empty
OperationList ::= Operation | OperationList "," Operation
Operation ::= value (OPERATION)
-- shall reference an operation value
| type -- shall reference an operation type if
-- no operation value is specified
NamedType ::= identifier type | type
END|
------------------------------------------------------------------------
And this is the usage of the MACRO that the compiler refuses give a
green signal for :(
------------------------------------------------------------------------
|SendRoutingInfo ::= OPERATION --Timer m
-- The timer is set to the upper limit of the range if the GMSC supports
pre-paging.
ARGUMENT
sendRoutingInfoArg SendRoutingInfoArg
RESULT
sendRoutingInfoRes SendRoutingInfoRes
ERRORS {
SystemFailure,
DataMissing,
UnexpectedDataValue,
FacilityNotSupported,
OR-NotAllowed,
UnknownSubscriber,
NumberChanged,
BearerServiceNotProvisioned,
TeleserviceNotProvisioned,
AbsentSubscriber,
BusySubscriber,
NoSubscriberReply,
CallBarred,
CUG-Reject,
ForwardingViolation}|
------------------------------------------------------------------------
The compiler complaints that 'sendRoutingInfoArg' is an unexpected
token. I am suspecting that the usage is correct and this is plausibly
given to the incapacity of the compiler to interpret this. Any advise in
this regard would be greatly appreciated.
Cheerios
Ramaswamy
--
"Chaos is the rule in nature, not an exception"
http://ramaswamy.r.googlepages.com
_______________________________________________
Asn1 mailing list
[email protected]
http://lists.asn1.org/mailman/listinfo/asn1