| /* |
| /////////////////////////////////////////////////////////////////////////////// |
| // |
| // 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 |