--
-- EN 300 359-1 Ver. 1.3.2
--
CCBS-Operations-and-Errors {ccitt identified-organization etsi(0) 359 operations-and-errors(1)}

DEFINITIONS EXPLICIT TAGS ::=

BEGIN

EXPORTS             CallInfoRetain, EraseCallLinkageID,
                    CCBSRequest, CCBSDeactivate, CCBSInterrogate, CCBSErase,
                    CCBSRemoteUserFree, CCBSCall, CCBSStatusRequest, CCBSBFree,
                    CCBSStopAlerting,
                    InvalidCallLinkageID, InvalidCCBSReference, LongTermDenial, ShortTermDenial,
                    CCBSIsAlreadyActivated, AlreadyAccepted, OutgoingCCBSQueueFull,
                    CallFailureReasonNotBusy, NotReadyForCall;

IMPORTS             OPERATION, ERROR
                    FROM Remote-Operations-Information-Objects 
                        {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}

                    notSubscribed, supplementaryServiceInteractionNotAllowed
                    FROM General-Errors
                        {ccitt identified-organization etsi(0) 196 general-errors(2)}

                    Address, PartyNumber, PartySubaddress
                    FROM Addressing-Data-Elements
                        {ccitt identified-organization etsi(0) 196 addressing-data-elements(6)}

                    Q931InformationElement
                    FROM Embedded-Q931-Types
                        {ccitt identified-organization etsi(0) 196 embedded-q931-types(7)};

CallInfoRetain              ::= OPERATION
                                ARGUMENT    callLinkageID       CallLinkageID

EraseCallLinkageID          ::= OPERATION
                                ARGUMENT    callLinkageID       CallLinkageID

CCBSRequest                 ::= OPERATION
                                ARGUMENT    callLinkageID       CallLinkageID
                                RESULT SEQUENCE {
                                            recallMode          RecallMode,
                                            cCBSReference       CCBSReference}
                                ERRORS     {notSubscribed, InvalidCallLinkageID, ShortTermDenial,
                                            LongTermDenial, CCBSIsAlreadyActivated,
                                            supplementaryServiceInteractionNotAllowed,
                                            OutgoingCCBSQueueFull, CallFailureReasonNotBusy}

CCBSInterrogate             ::= OPERATION
                                ARGUMENT SEQUENCE {
                                            cCBSReference       CCBSReference OPTIONAL,
                                            partyNumberOfA      PartyNumber OPTIONAL}
                                RESULT SEQUENCE {
                                            recallMode          RecallMode,
                                            callDetails         CallDetails OPTIONAL}
                                ERRORS     {InvalidCCBSReference, notSubscribed}

CCBSDeactivate              ::= OPERATION
                                ARGUMENT    cCBSReference       CCBSReference
                                RESULT
                                ERRORS {InvalidCCBSReference}
CCBSErase                   ::= OPERATION
                                ARGUMENT SEQUENCE {
                                            recallMode          RecallMode,
                                            cCBSReference       CCBSReference,
                                            addressOfB          Address,
                                            q931InfoElement     Q931InformationElement,
                                            eraseReason         CCBSEraseReason}

-- The Bearer capability, High layer compatibility (optional) and Low layer compatibility 
-- (optional) information elements shall be embedded in q931InfoElement.

CCBSRemoteUserFree          ::= OPERATION
                                ARGUMENT SEQUENCE {
                                            recallMode          RecallMode,
                                            cCBSReference       CCBSReference,
                                            addressOfB          Address,
                                            q931InfoElement     Q931InformationElement}

-- The Bearer capability, High layer compatibility (optional) and Low layer compatibility 
-- (optional) information elements shall be embedded in q931InfoElement.

CCBSBFree                   ::= OPERATION
                                ARGUMENT SEQUENCE {
                                            recallMode          RecallMode,
                                            cCBSReference       CCBSReference,
                                            addressOfB          Address,
                                            q931InfoElement     Q931InformationElement}

-- The Bearer capability, High layer compatibility (optional) and Low layer compatibility 
-- (optional) information elements shall be embedded in q931InfoElement.

CCBSCall                    ::= OPERATION
                                ARGUMENT    cCBSReference       CCBSReference
                                ERRORS     {InvalidCCBSReference, AlreadyAccepted, 
                                            NotReadyForCall}

CCBSStatusRequest           ::= OPERATION
                                ARGUMENT SEQUENCE {
                                            recallMode          RecallMode,
                                            cCBSReference       CCBSReference,
                                            q931InfoElement     Q931InformationElement}
                                RESULT BOOLEAN -- free=TRUE, busy=FALSE

-- The Bearer capability, High layer compatibility (optional) and Low layer compatibility 
-- (optional) information elements shall be embedded in q931InfoElement.

CCBSStopAlerting            ::= OPERATION
                                ARGUMENT    cCBSReference       CCBSReference

CallDetails                 ::= SEQUENCE SIZE(1..5) OF CallInformation

CallInformation             ::= SEQUENCE {
                                    addressOfB          Address,
                                    q931InfoElement     Q931InformationElement,
                                    cCBSReference       CCBSReference,
                                    subAddressOfA       PartySubaddress OPTIONAL}

-- The Bearer capability, High layer compatibility (optional) and Low layer compatibility 
-- (optional) information elements shall be embedded in q931InfoElement.

InvalidCallLinkageID        ::= ERROR
InvalidCCBSReference        ::= ERROR
LongTermDenial              ::= ERROR
ShortTermDenial             ::= ERROR
CCBSIsAlreadyActivated      ::= ERROR
AlreadyAccepted             ::= ERROR
OutgoingCCBSQueueFull       ::= ERROR
CallFailureReasonNotBusy    ::= ERROR
NotReadyForCall             ::= ERROR

CallLinkageID               ::= INTEGER (0..127)
CCBSReference               ::= INTEGER (0..127)
CCBSEraseReason             ::= ENUMERATED {
                                    normal-unspecified (0),
                                    t-CCBS2-timeout    (1),
                                    t-CCBS3-timeout    (2),
                                    basic-call-failed  (3)}

RecallMode                  ::= ENUMERATED {
                                    globalRecall   (0),
                                    specificRecall (1)}

cCBSOID OBJECT IDENTIFIER   ::= {ccitt identified-organization etsi(0) 359
                                 operations-and-errors(1)}

callInfoRetain              CallInfoRetain              ::= globalValue {cCBSOID 1}
cCBSRequest                 CCBSRequest                 ::= globalValue {cCBSOID 2}
cCBSDeactivate              CCBSDeactivate              ::= globalValue {cCBSOID 3}
cCBSInterrogate             CCBSInterrogate             ::= globalValue {cCBSOID 4}
cCBSErase                   CCBSErase                   ::= globalValue {cCBSOID 5}
cCBSRemoteUserFree          CCBSRemoteUserFree          ::= globalValue {cCBSOID 6}
cCBSCall                    CCBSCall                    ::= globalValue {cCBSOID 7}
cCBSStatusRequest           CCBSStatusRequest           ::= globalValue {cCBSOID 8}
cCBSBFree                   CCBSBFree                   ::= globalValue {cCBSOID 9}
eraseCallLinkageID          EraseCallLinkageID          ::= globalValue {cCBSOID 10}
cCBSStopAlerting            CCBSStopAlerting            ::= globalValue {cCBSOID 11}
invalidCallLinkageID        InvalidCallLinkageID        ::= globalValue {cCBSOID 20}
invalidCCBSReference        InvalidCCBSReference        ::= globalValue {cCBSOID 21}
longTermDenial              LongTermDenial              ::= globalValue {cCBSOID 22}
shortTermDenial             ShortTermDenial             ::= globalValue {cCBSOID 23}
cCBSIsAlreadyActivated      CCBSIsAlreadyActivated      ::= globalValue {cCBSOID 24}
alreadyAccepted             AlreadyAccepted             ::= globalValue {cCBSOID 25}
outgoingCCBSQueueFull       OutgoingCCBSQueueFull       ::= globalValue {cCBSOID 26}
callFailureReasonNotBusy    CallFailureReasonNotBusy    ::= globalValue {cCBSOID 27}
notReadyForCall             NotReadyForCall             ::= globalValue {cCBSOID 28}


END -- of CCBS-Operations-and-Errors