CC-Operations {itu-t recommendation q 2981 cc-operations(1)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS CcOperations, CallSegmentId; IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects {joint-iso-itu-t(2) remote-operations(4) informationObjects(5) version1(0)} PartyNumber FROM Addressing-Data-Elements {itu-t recommendation q 932 addressing-data-elements(7)} -- The definition of PartyNumber is reproduced in Appendix II CALLCONTROLOBJECTCLASS FROM Call-Control-Object-Super-Class {itu-t recommendation q 2981 call-control-object-super-class(4)} -- The definition of CALLCONTROLOBJECTCLASS is given in subclause 8.2 call, localPartyEP, remotePartyEP, directCallAssociation, remoteCallAssociation, serviceComponent FROM Call-Object-Class-Definitions {itu-t recommendation q 2981 call-object-class-definitions(5)}; -- The definition of call, localPartyEP, remotePartyEP, directCallAssociation, remoteCallAssociation, -- serviceComponent is given in subclause 8.3 CcOperations OPERATION ::= {callEstablish | callProceeding | callComplete | callRelease | callStatus} ccOperationsDefinitions OBJECT IDENTIFIER ::= {itu-t recommendation q 2981 cc-operations-definitions(2)} -- The callEstablish operation is used to establish a call and its information model. It is a confirmed operation. callEstablish OPERATION ::= { ARGUMENT SEQUENCE {callSegmentId CallSegmentId, callDescription CallDescription, bearerEstablAddress BearerEstablishmentAddress, awaitCompleteIndicator BOOLEAN, parameterActionIndicator ParameterActionIndicator, ...} RESULT SEQUENCE {callSegmentId CallSegmentId, callDescription CallDescription, parameterActionIndicator ParameterActionIndicator, bearerEstablAddress BearerEstablishmentAddress OPTIONAL, ...} ERRORS {callDescriptionNotAccepted | unallocatedNumber | noUserResponding | noAnswerFromUser | callRejected | destinationOutOfOrder | addressIncomplete | networkOutOfOrder | temporaryFailure | userBusy | userNotReachable | unspecified} CODE global:{ccOperationsDefinitions 1}} -- The callProceeding operation is used by the succeeding call control entity to inform the preceding call control entity -- that the call is in progress and connection establishment may start for this segment. It is an unconfirmed operation. callProceeding OPERATION ::= { ARGUMENT SEQUENCE {callSegmentId CallSegmentId, bearerEstablAddress BearerEstablishmentAddress, parameterActionIndicator ParameterActionIndicator, ...} RETURN RESULT FALSE ALWAYS RESPONDS FALSE CODE global:{ccOperationsDefinitions 2}} -- The callRelease operation is used to release an existing call and its information model. It is a confirmed operation. callRelease OPERATION ::= { ARGUMENT SEQUENCE {callSegmentId CallSegmentId, releaseCause ReleaseCause, parameterActionIndicator ParameterActionIndicator, ...} RESULT SEQUENCE {callSegmentId CallSegmentId, parameterActionIndicator ParameterActionIndicator, ...} CODE global:{ccOperationsDefinitions 3}} -- The callComplete operation is used to indicate completion of establishment of a call and its information model. -- It is an unconfirmed operation. callComplete OPERATION ::= { ARGUMENT SEQUENCE {callSegmentId CallSegmentId, parameterActionIndicator ParameterActionIndicator, ...} RETURN RESULT FALSE ALWAYS RESPONDS FALSE CODE global:{ccOperationsDefinitions 4}} -- The callStatus operation is used to report a change to the information model. It is an unconfirmed operation. callStatus OPERATION ::= { ARGUMENT SEQUENCE {callSegmentId CallSegmentId, callChangedParameter SEQUENCE OF CallChangedParameter, parameterActionIndicator ParameterActionIndicator, ...} RETURN RESULT FALSE ALWAYS RESPONDS FALSE CODE global:{ccOperationsDefinitions 5}} ParameterActionIndicator ::= ENUMERATED { clearCallAndItsInformationModel(0), discardApduAndReject(1), discardApduNoReject(2), discardParameterAndPassApduToApplication(3), ignoreParameterAndPassApduToApplication(4)} -- Used to indicate action to be taken if a parameter in an operation is not recognized BearerEstablishmentAddress ::= PartyNumber NetworkRelevantObjectClassSet CALLCONTROLOBJECTCLASS ::= {call | localPartyEP | remotePartyEP | directCallAssociation | remoteCallAssociation, ...} EndToEndRelevantObjectClassSet CALLCONTROLOBJECTCLASS ::= {serviceComponent, ...} CallDescription ::= SEQUENCE { networkRelevantPart SEQUENCE OF NetworkRelevantObjectDescription{{NetworkRelevantObjectClassSet}}, endToEndRelevantPart SEQUENCE OF EndToEndRelevantObjectDescription{{EndToEndRelevantObjectClassSet}} OPTIONAL} NetworkRelevantObjectDescription{CALLCONTROLOBJECTCLASS:NetworkRelevantObjectClassSet} ::= SEQUENCE { objectReference INTEGER, objectActionInd ObjectActionIndicator, objectStatus ObjectStatus, objectClassId CALLCONTROLOBJECTCLASS.&objectClassIdentifier ({NetworkRelevantObjectClassSet}), objectArgument CALLCONTROLOBJECTCLASS.&ArgumentType ({NetworkRelevantObjectClassSet}{@objectClassId}) OPTIONAL, ...} EndToEndRelevantObjectDescription{CALLCONTROLOBJECTCLASS:EndToEndRelevantObjectClassSet} ::= SEQUENCE { objectReference INTEGER, objectActionInd ObjectActionIndicator, objectStatus ObjectStatus, objectClassId CALLCONTROLOBJECTCLASS.&objectClassIdentifier ({EndToEndRelevantObjectClassSet}), objectArgument CALLCONTROLOBJECTCLASS.&ArgumentType ({EndToEndRelevantObjectClassSet}{@objectClassId}) OPTIONAL, ...} CallChangedParameter ::= SEQUENCE { modifiedNetworkRelevantPart SEQUENCE OF ModifiedNetworkRelevantObjectDescription{{NetworkRelevantObjectClassSet}}, modifiedEndToEndRelevantPart SEQUENCE OF ModifiedEndToEndRelevantObjectDescription{{EndToEndRelevantObjectClassSet}} OPTIONAL} ModifiedNetworkRelevantObjectDescription{CALLCONTROLOBJECTCLASS:NetworkRelevantObjectClassSet} ::= SEQUENCE { operation ENUMERATED {deleteObject(0), modifyAttributes(1), ... }, objectReference INTEGER, objectActionInd ObjectActionIndicator, modifiedArgument CALLCONTROLOBJECTCLASS.&ArgumentType ({NetworkRelevantObjectClassSet}) OPTIONAL} ModifiedEndToEndRelevantObjectDescription{CALLCONTROLOBJECTCLASS:EndToEndRelevantObjectClassSet} ::= SEQUENCE { operation ENUMERATED {deleteObject(0), modifyAttributes(1), ... }, objectReference INTEGER, objectActionInd ObjectActionIndicator, modifiedArgument CALLCONTROLOBJECTCLASS.&ArgumentType ({EndToEndRelevantObjectClassSet}) OPTIONAL} ObjectActionIndicator ::= ENUMERATED { clearCall(0), discardNotify(1), discardUnknown(2), progressTransit(3), ... } -- Used to indicate action to be taken if an object or object attribute is not recognized ObjectStatus ::= ENUMERATED { mandatory(0), optional(1), conditional(2), ... } CallSegmentId ::= SEQUENCE { precedingSideCallSegId CallSegmentIdComponent, succeedingSideCallSegId CallSegmentIdComponent} CallSegmentIdComponent ::= INTEGER(-2147483648..2147483647) -- 4 octets -- The value 0 is to be used as a null value for the succeeding side call segment identifier -- in the callEstablish invoke APDU. ReleaseCause ::= SEQUENCE { causeValue CauseValue, location Location, ...} CauseValue ::= ENUMERATED { callDescriptionNotAccepted(0), normalCallClearing(3), temporaryFailure(11), recoveryOnTimerExpiry(12), unspecified(4), ... } Location ::= ENUMERATED { unspecified(0), user(1), networkLocalCallSegment(2), networkNonLocalCallSegment(3), ... } ccOperationsErrors OBJECT IDENTIFIER ::= {itu-t recommendation q 2981 cc-operations-errors(3)} callDescriptionNotAccepted ERROR ::= { PARAMETER SEQUENCE {callSegmentId CallSegmentId, location Location, callDescription CallDescription OPTIONAL, ...} CODE global:{ccOperationsErrors 1}} userBusy ERROR ::= { PARAMETER SEQUENCE {callSegmentId CallSegmentId, location Location, callDescription CallDescription OPTIONAL, ...} CODE global:{ccOperationsErrors 2}} unallocatedNumber ERROR ::= { PARAMETER SEQUENCE {callSegmentId CallSegmentId, location Location, ...} CODE global:{ccOperationsErrors 3}} noUserResponding ERROR ::= { PARAMETER SEQUENCE {callSegmentId CallSegmentId, location Location, ...} CODE global:{ccOperationsErrors 4}} noAnswerFromUser ERROR ::= { PARAMETER SEQUENCE {callSegmentId CallSegmentId, location Location, ...} CODE global:{ccOperationsErrors 5}} callRejected ERROR ::= { PARAMETER SEQUENCE {callSegmentId CallSegmentId, location Location, ...} CODE global:{ccOperationsErrors 6}} destinationOutOfOrder ERROR ::= { PARAMETER SEQUENCE {callSegmentId CallSegmentId, location Location, ...} CODE global:{ccOperationsErrors 7}} addressIncomplete ERROR ::= { PARAMETER SEQUENCE {callSegmentId CallSegmentId, location Location, ...} CODE global:{ccOperationsErrors 8}} networkOutOfOrder ERROR ::= { PARAMETER SEQUENCE {callSegmentId CallSegmentId, location Location, ...} CODE global:{ccOperationsErrors 9}} temporaryFailure ERROR ::= { PARAMETER SEQUENCE {callSegmentId CallSegmentId, location Location, ...} CODE global:{ccOperationsErrors 10}} userNotReachable ERROR ::= { PARAMETER SEQUENCE {callSegmentId CallSegmentId, location Location, ...} CODE global:{ccOperationsErrors 11}} unspecified ERROR ::= { PARAMETER SEQUENCE {callSegmentId CallSegmentId, location Location, ...} CODE global:{ccOperationsErrors 12}} END --8.2 Definition of Call Control Object Super Class Call-Control-Object-Super-Class {itu-t recommendation q 2981 call-control-object-super-class(4)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS CALLCONTROLOBJECTCLASS; CALLCONTROLOBJECTCLASS ::= CLASS { &ArgumentType OPTIONAL, &argumentTypeOptional BOOLEAN OPTIONAL, &objectClassIdentifier OBJECT IDENTIFIER UNIQUE} WITH SYNTAX { [ARGUMENT &ArgumentType [OPTIONAL &argumentTypeOptional]] IDENTIFIER &objectClassIdentifier} END -- Call-Control-Object-Super-Class --8.3 Definitions of Call Control Object Classes in the Information Model Call-Object-Class-Definitions {itu-t recommendation q 2981 call-object-class-definitions(5)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS call, localPartyEP, remotePartyEP, directCallAssociation, remoteCallAssociation, serviceComponent, BearerId; IMPORTS CALLCONTROLOBJECTCLASS FROM Call-Control-Object-Super-Class {itu-t recommendation q 2981 call-control-object-super-class(4)} PresentedAddressScreened, PartyNumber, PartySubaddress FROM Addressing-Data-Elements {itu-t recommendation q 932 addressing-data-elements(7)}; ccObjectClasses OBJECT IDENTIFIER ::= {itu-t recommendation q 2981 cc-object-classes(6)} call CALLCONTROLOBJECTCLASS ::= { ARGUMENT SEQUENCE {localPEPId ObjectReferenceId, remotePEPId ObjectReferenceId, serviceReference ObjectReferenceId OPTIONAL, directCallAssociationIds ObjectReferenceIdList, remoteCallAssociationIds ObjectReferenceIdList OPTIONAL, bearerIdList BearerIdList OPTIONAL, telecomsServiceType TelecomsServiceType, callPermissions OpenCall} IDENTIFIER {ccObjectClasses 1}} ObjectReferenceId ::= INTEGER(-2147483648..2147483647) -- 4 octets -- refers to an object reference, unique to each object within a call ObjectReferenceIdList ::= SEQUENCE OF ObjectReferenceId BearerIdList ::= SEQUENCE OF BearerId BearerId ::= OCTET STRING(SIZE (1..3)) OpenCall ::= BIT STRING { reserved(7), externalPartyAddAllowed(6), existingPartyAddAllowed(5), notifyAllPartiesFlag(4), notifyOwnerFlag(3), permissionRequiredFlag(2), addConnectionAllowed(1), addServiceComponentAllowed(0)} TelecomsServiceType ::= ENUMERATED { realtimeMultiMedia(0), nonRealtimeMultiMedia(1), unspecified(2), ... } localPartyEP CALLCONTROLOBJECTCLASS ::= { ARGUMENT PartyObjectArgument IDENTIFIER {ccObjectClasses 2}} remotePartyEP CALLCONTROLOBJECTCLASS ::= { ARGUMENT PartyObjectArgument IDENTIFIER {ccObjectClasses 3}} PartyObjectArgument ::= SEQUENCE { partyAddress SEQUENCE {presentedAddressScreened PresentedAddressScreened, defaultAddress DefaultAddress OPTIONAL, networkInternalAddress NetworkInternalAddress OPTIONAL}, partyOwnerPEPId ObjectReferenceId, associatedResourcePEPIds ObjectReferenceIdList OPTIONAL, associatedPEPIds ObjectReferenceIdList OPTIONAL, partyType ENUMERATED {initiator(0), receiver(1), callOwner(2), ... }, partyStatus ENUMERATED {confirmed(0), virtual(1), alerting(2), ... }} DefaultAddress ::= OCTET STRING(SIZE (1..21)) NetworkInternalAddress ::= OCTET STRING(SIZE (1..21)) directCallAssociation CALLCONTROLOBJECTCLASS ::= { ARGUMENT SEQUENCE {remotePEPId ObjectReferenceId} IDENTIFIER {ccObjectClasses 4}} remoteCallAssociation CALLCONTROLOBJECTCLASS ::= { ARGUMENT SEQUENCE {localPEPId ObjectReferenceId, remotePEPId ObjectReferenceId} IDENTIFIER {ccObjectClasses 5}} serviceComponent CALLCONTROLOBJECTCLASS ::= { ARGUMENT SEQUENCE {callPEPId ObjectReferenceId, serviceComponentCharacteristics ServiceComponentCharacteristics OPTIONAL, communicationConfiguration CommunicationConfiguration OPTIONAL, serviceTrafficDescriptorRequirements ServiceTrafficDescriptorRequirements OPTIONAL, serviceComponentQoSRequirements ServiceQoSRequirements OPTIONAL, associatedServiceModuleId ObjectReferenceId OPTIONAL, associatedResourceComponentId ObjectReferenceId OPTIONAL} IDENTIFIER {ccObjectClasses 6}} ServiceComponentCharacteristics ::= OCTET STRING CommunicationConfiguration ::= ENUMERATED { source(0), sink(1), biDirectional(2), ... } ServiceTrafficDescriptorRequirements ::= OCTET STRING ServiceQoSRequirements ::= OCTET STRING END Addressing-Data-Elements {itu-t recommendation q 932 addressing-data-elements(7)} DEFINITIONS ::= BEGIN EXPORTS PresentedAddressScreened, PartyNumber, PartySubaddress, ScreeningIndicator; PresentedAddressScreened ::= CHOICE { presentationAllowedAddress [0] IMPLICIT AddressScreened, presentationRestricted [1] IMPLICIT NULL, numberNotAvailableDueToInterworking [2] IMPLICIT NULL, presentationRestrictedAddress [3] IMPLICIT AddressScreened} AddressScreened ::= SEQUENCE { partyNumber PartyNumber, screeningIndicator ScreeningIndicator, partySubaddress PartySubaddress OPTIONAL} PartyNumber ::= CHOICE { unknownPartyNumber [0] IMPLICIT NumberDigits, -- the numbering plan is the default numbering plan of -- the network. -- it is recommended that this values is used. publicPartyNumber [1] IMPLICIT PublicPartyNumber, -- the numbering plan is according to Rec. E.163 and -- E.164 nsapEncodedNumber [2] IMPLICIT NsapEncodedNumber, -- ATM endsystem address encoded as an NSAP address dataPartyNumber [3] IMPLICIT NumberDigits, -- not used, value reserved telexPartyNumber [4] IMPLICIT NumberDigits, -- not used, value reserved privatePartyNumber [5] IMPLICIT PrivatePartyNumber, nationalStandardPartyNumber [8] IMPLICIT NumberDigits} -- not used, values reserved PublicPartyNumber ::= SEQUENCE { publicTypeOfNumber PublicTypeOfNumber, publicNumberDigits NumberDigits} PrivatePartyNumber ::= SEQUENCE { privateTypeOfNumber PrivateTypeOfNumber, privateNumberDigits NumberDigits} NumberDigits ::= NumericString(SIZE (1..20)) PublicTypeOfNumber ::= ENUMERATED { unknown(0), -- if used number digits carry prefix indicating type of -- number according to national recommendations. internationalNumber(1), nationalNumber(2), networkSpecificNumber(3), -- not used, value reserved subscriberNumber(4), abbreviatedNumber(6)} -- valid only for called party number at the outgoing access, -- network substitutes appropriate number. PrivateTypeOfNumber ::= ENUMERATED { unknown(0), level2RegionalNumber(1), level1RegionalNumber(2), pISNSpecificNumber(3), localNumber(4), abbreviatedNumber(6)} NsapEncodedNumber ::= OCTET STRING(SIZE (1..20)) PartySubaddress ::= CHOICE { userSpecifiedSubaddress UserSpecifiedSubaddress, -- not recommended nSAPSubaddress NSAPSubaddress} -- according to Rec. X.213. UserSpecifiedSubaddress ::= SEQUENCE { subaddressInformation SubaddressInformation, oddCountIndicator BOOLEAN OPTIONAL} -- used when the coding of subaddress is BCD NSAPSubaddress ::= OCTET STRING(SIZE (1..20)) -- specified according to X.213. some networks may limit -- the subaddress value to some other length, e.g. 4 octets. SubaddressInformation ::= OCTET STRING(SIZE (1..20)) -- coded according to user requirements. some networks -- may limit the subaddress value to some other length, -- e.g. 4 octets. ScreeningIndicator ::= ENUMERATED { userProvidedNotScreened(0), -- number was provided by a remote user terminal -- equipment, and has been screened by a network that -- is not the local public or the local private network. userProvidedVerifiedAndPassed(1), -- number was provided by a remote user terminal -- equipment (or by a remote private network), and has -- been screened by the local public or the local private -- network. userProvidedVerifiedAndFailed(2), -- not used, value reserved. networkProvided(3)} -- number was provided by local public or local private -- network. END -- of Addressing-Data-Elements