blob: bfd902c92be5ae490af8fa2b218bc271428dbe1f [file] [log] [blame]
/*
///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000-2016 Ericsson Telecom AB
//
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v2.0
// which accompanies this distribution, and is available at
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
///////////////////////////////////////////////////////////////////////////////
//
// File: Revised_Facility_Information_Element_Components.asn
// Description: Functional protocol for ISDN
//
// References: ETSI EN 300 196-1 V1.3.2 (2001-06)
// Integrated Services Digital Network (ISDN);
// Generic functional protocol for the support
// of supplementary services;
// Rev: R3C
// Prodnr: CNL 113 435
// Updated: 2012.06.27.
// Contact: http://ttcn.ericsson.se
*/
Revised-Facility-Information-Element-Components
{itu-t identified-organization etsi(0) 196 revised-facility-information-element-component(11)}
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)
}
)
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} -- added a little period from the Corrigendum
! 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 opÕn --}
! 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
{
unrecognizedComponent (0),
mistypedComponent (1),
badlyStructuredComponent (2)
}
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}
Components {OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE
{
gfpROS ROS {GFPInvokeIDSet, {Invokable}, {Returnable}}
}
--GFPInvokeIDSet INTEGER ::= {-32768..32767}
GFPInvokeIDSet InvokeId ::= { WITH COMPONENTS { ..., present (-32768..32767) } }
END -- of Revised-Facility-Information-Element-Components