-- Module IN-CS2-SSF-SCF-ops-args (Q.1228:09/1997)
-- See also ITU-T Q.1228 (09/1997)
-- See also the index of all ASN.1 assignments needed in this document

IN-CS2-SSF-SCF-ops-args {itu-t recommendation q 1228 modules(0)
  in-cs2-ssf-scf-ops-args(5) version1(0)} DEFINITIONS IMPLICIT TAGS ::=
BEGIN

IMPORTS
  errortypes, datatypes, operationcodes, classes, ros-InformationObjects
    FROM IN-CS2-object-identifiers {itu-t recommendation q 1228 modules(0)
      in-cs2-object-identifiers(17) version1(0)}
  OPERATION
    FROM Remote-Operations-Information-Objects {joint-iso-itu-t
      remote-operations(4) informationObjects(5) version1(0)}
  PARAMETERS-BOUND, SupportedExtensions{}
    FROM IN-CS2-classes {itu-t recommendation q 1228 modules(0)
      in-cs2-classes(4) version1(0)}
  opcode-activateServiceFiltering, opcode-activityTest,
    opcode-analysedInformation, opcode-analyseInformation,
    opcode-applyCharging, opcode-applyChargingReport,
    opcode-assistRequestInstructions, opcode-authorizeTermination,
    opcode-callGap, opcode-callInformationReport,
    opcode-callInformationRequest, opcode-cancel,
    opcode-cancelStatusReportRequest, opcode-collectedInformation,
    opcode-collectInformation, opcode-connect, opcode-connectToResource,
    opcode-continue, opcode-continueWithArgument,
    opcode-createCallSegmentAssociation, opcode-disconnectForwardConnection,
    opcode-dFCWithArgument, opcode-disconnectLeg, opcode-entityReleased,
    opcode-establishTemporaryConnection, opcode-eventNotificationCharging,
    opcode-eventReportBCSM, opcode-eventReportFacility,
    opcode-facilitySelectedAndAvailable, opcode-furnishChargingInformation,
    opcode-holdCallInNetwork, opcode-initialDP, opcode-initiateCallAttempt,
    opcode-manageTriggerData, opcode-mergeCallSegments,
    opcode-moveCallSegments, opcode-oAbandon, opcode-oAnswer,
    opcode-oCalledPartyBusy, opcode-oDisconnect, opcode-oMidCall,
    opcode-moveLeg, opcode-oNoAnswer, opcode-originationAttempt,
    opcode-originationAttemptAuthorized, opcode-oSuspended, opcode-reconnect,
    opcode-releaseCall, opcode-reportUTSI, opcode-requestCurrentStatusReport,
    opcode-requestEveryStatusChangeReport,
    opcode-requestFirstStatusMatchReport,
    opcode-requestNotificationChargingEvent, opcode-requestReportBCSMEvent,
    opcode-requestReportUTSI, opcode-requestReportFacilityEvent,
    opcode-resetTimer, opcode-routeSelectFailure, opcode-selectFacility,
    opcode-selectRoute, opcode-sendChargingInformation,
    opcode-sendFacilityInformation, opcode-sendSTUI,
    opcode-serviceFilteringResponse, opcode-splitLeg, opcode-statusReport,
    opcode-tAnswer, opcode-tBusy, opcode-tDisconnect,
    opcode-termAttemptAuthorized, opcode-terminationAttempt, opcode-tMidCall,
    opcode-tNoAnswer, opcode-tSuspended
    FROM IN-CS2-operationcodes {itu-t recommendation q 1228 modules(0)
      in-cs2-operationcodes(2) version1(0)}
  AccessCode{}, ActionIndicator, ActionPerformed,
    AChBillingChargingCharacteristics{}, AdditionalCallingPartyNumber{},
    AlertingPattern, ApplicationTimer, AssistingSSPIPRoutingAddress{},
    BackwardGVNS{}, BCSMEvent{}, BearerCapability{},
    CalledPartyBusinessGroupID, CalledPartyNumber{}, CalledPartySubaddress,
    CallingPartyBusinessGroupID, CallingPartyNumber{}, CallingPartysCategory,
    CallingPartySubaddress, CallProcessingOperationCorrelationID, CallResult{},
    CallSegmentID{}, Carrier, Cause{}, CGEncountered, ChargeNumber{},
    ChargingEvent{}, Component, ComponentCorrelationID, ComponentType,
    ControlType, CorrelationID{}, CountersValue, CSAID{}, CutAndPaste,
    DateAndTime, DestinationRoutingAddress{}, Digits{}, DisplayInformation{},
    DpSpecificCommonParameters{}, Duration, EventSpecificInformationBCSM{},
    EventSpecificInformationCharging{}, EventTypeBCSM, EventTypeCharging{},
    ExtensionField{}, FacilityGroup, FacilityGroupMember,
    FCIBillingChargingCharacteristics{}, FeatureCode{},
    FeatureRequestIndicator, FilteredCallTreatment{}, FilteringCharacteristics,
    FilteringCriteria{}, FilteringTimeOut, ForwardCallIndicators,
    ForwardGVNS{}, ForwardingCondition, GapCriteria{}, GapIndicators,
    GapTreatment{}, GenericName{}, GenericNumbers{}, HighLayerCompatibility,
    HoldCause, initialCallSegment, INServiceCompatibilityIndication{},
    INServiceCompatibilityResponse, Integer4, InvokeID, IPAvailable{},
    IPRoutingAddress{}, IPSSPCapabilities{}, ISDNAccessRelatedInformation,
    LegID, leg1, LocationNumber{}, MiscCallInfo, MonitorMode, NumberingPlan,
    OriginalCalledPartyID{}, Reason{}, RedirectingPartyID{},
    RedirectionInformation, RegistratorIdentifier, ReportCondition,
    RequestedInformationList{}, RequestedInformationTypeList,
    RequestedUTSIList{}, ResourceID{}, ResourceStatus, ResponseCondition,
    RouteList{}, ScfID{}, SCIBillingChargingCharacteristics{},
    ServiceInteractionIndicators{}, ServiceInteractionIndicatorsTwo,
    ServiceKey, ServiceProfileIdentifier, TerminalType, TimerID, TimerValue,
    TravellingClassMark{}, TriggerDataIdentifier{}, TriggerType,
    USIInformation{}, USIServiceIndicator{}
    FROM IN-CS2-datatypes {itu-t recommendation q 1228 modules(0)
      in-cs2-datatypes(0) version1(0)}
  cancelFailed, eTCFailed, improperCallerResponse, missingCustomerRecord,
    missingParameter, parameterOutOfRange, requestedInfoError, systemFailure,
    taskRefused, unavailableResource, unexpectedComponentSequence,
    unexpectedDataValue, unexpectedParameter, unknownLegID, unknownResource
    FROM IN-CS2-errortypes {itu-t recommendation q 1228 modules(0)
      in-cs2-errortypes(1) version1(0)};

activateServiceFiltering{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       ActivateServiceFilteringArg {bound}
  RETURN RESULT  TRUE
  ERRORS
    {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedParameter}
  CODE           opcode-activateServiceFiltering
}

-- Direction: SCF ® SSF, Timer: Tasf 
-- When receiving this operation, the SSF handles calls to destination in a specified manner 
-- without  sending queries for every detected call. It is used for example for providing 
-- televoting or mass calling services. Simple registration functionality (counters) and 
-- announcement control may be  located at the SSF. The operation initializes the specified 
-- counters in the SSF.
ActivateServiceFilteringArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  filteredCallTreatment     [0]  FilteredCallTreatment{bound},
  filteringCharacteristics  [1]  FilteringCharacteristics,
  filteringTimeOut          [2]  FilteringTimeOut,
  filteringCriteria         [3]  FilteringCriteria{bound},
  startTime                 [4]  DateAndTime OPTIONAL,
  extensions
    [5]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

activityTest OPERATION ::= {
  RETURN RESULT  TRUE
  CODE           opcode-activityTest
}

-- Direction: SCF ® SSF, Timer: Tat 
-- This operation is used to check for the continued existence of a relationship between the SCF 
-- and SSF. If the relationship is still in existence, then the SSF will respond. If no reply is 
-- received, then the SCF will assume that the SSF has failed in some way and will take the 
-- appropriate action.
analysedInformation{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       AnalysedInformationArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      systemFailure | taskRefused | unexpectedComponentSequence |
      unexpectedDataValue | unexpectedParameter}
  CODE           opcode-analysedInformation
}

-- Direction:  SSF ® SCF, Timer: Tadi 
-- This operation is used to indicate availability of routing address and call type. (DP  - 
-- Analysed_Info). 
-- For additional information on this operation and its use with open numbering plans, refer to
-- Rec.Q.1224.
AnalysedInformationArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters   [0]  DpSpecificCommonParameters{bound},
  dialledDigits                [1]  CalledPartyNumber{bound} OPTIONAL,
  callingPartyBusinessGroupID  [2]  CallingPartyBusinessGroupID OPTIONAL,
  callingPartySubaddress       [3]  CallingPartySubaddress OPTIONAL,
  callingFacilityGroup         [4]  FacilityGroup OPTIONAL,
  callingFacilityGroupMember   [5]  FacilityGroupMember OPTIONAL,
  originalCalledPartyID        [6]  OriginalCalledPartyID{bound} OPTIONAL,
  prefix                       [7]  Digits{bound} OPTIONAL,
  redirectingPartyID           [8]  RedirectingPartyID{bound} OPTIONAL,
  redirectionInformation       [9]  RedirectionInformation OPTIONAL,
  routeList                    [10]  RouteList{bound} OPTIONAL,
  travellingClassMark          [11]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [12]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
            ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  featureCode                  [13]  FeatureCode{bound} OPTIONAL,
  accessCode                   [14]  AccessCode{bound} OPTIONAL,
  carrier                      [15]  Carrier OPTIONAL,
  componentType                [16]  ComponentType OPTIONAL,
  component                    [17]  Component OPTIONAL,
  componentCorrelationID       [18]  ComponentCorrelationID OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
analyseInformation{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       AnalyseInformationArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-analyseInformation
}

-- Direction: SCF ® SSF, Timer: Tai 
-- This operation is used to request the SSF to perform the originating basic call processing actions 
-- to analyse destination information that is either collected from a calling party or provided by the SCF 
-- (e.g. for number translation). This includes actions to validate the information according to an office 
-- or customized dialling plan, and if valid, to determine call termination information, to include the called 
-- party address, the type of call (e.g. intranetwork or internetwork), and carrier (if internetwork).
-- If the called party is not served by the SSF, the SSF also determines a route index based on the called 
-- party address and class of service, where the route index points to a list of outgoing trunk groups.
AnalyseInformationArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  destinationRoutingAddress        [0]  DestinationRoutingAddress{bound},
  alertingPattern                  [1]  AlertingPattern OPTIONAL,
  iSDNAccessRelatedInformation     [2]  ISDNAccessRelatedInformation OPTIONAL,
  originalCalledPartyID            [3]  OriginalCalledPartyID{bound} OPTIONAL,
  extensions
    [4]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  callingPartyNumber               [5]  CallingPartyNumber{bound} OPTIONAL,
  callingPartysCategory            [6]  CallingPartysCategory OPTIONAL,
  calledPartyNumber                [7]  CalledPartyNumber{bound} OPTIONAL,
  chargeNumber                     [8]  ChargeNumber{bound} OPTIONAL,
  travellingClassMark              [9]  TravellingClassMark{bound} OPTIONAL,
  carrier                          [10]  Carrier OPTIONAL,
  serviceInteractionIndicators
    [11]  ServiceInteractionIndicators{bound} OPTIONAL,
  iNServiceCompatibilityResponse
    [12]  INServiceCompatibilityResponse OPTIONAL,
  forwardGVNS                      [13]  ForwardGVNS{bound} OPTIONAL,
  backwardGVNS                     [14]  BackwardGVNS{bound} OPTIONAL,
  serviceInteractionIndicatorsTwo
    [15]  ServiceInteractionIndicatorsTwo OPTIONAL,
  correlationID                    [16]  CorrelationID{bound} OPTIONAL,
  scfID                            [17]  ScfID{bound} OPTIONAL,
  callSegmentID                    [18]  CallSegmentID{bound} OPTIONAL,
  legToBeCreated                   [19]  LegID OPTIONAL,
  ...
}

applyCharging{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       ApplyChargingArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | unexpectedComponentSequence | unexpectedParameter |
      unexpectedDataValue | parameterOutOfRange | systemFailure | taskRefused |
      unknownLegID}
  CODE           opcode-applyCharging
}

-- Direction: SCF ® SSF, Timer: Tac 
-- This operation is used for interacting from the SCF with the SSF charging mechanisms. The ApplyChargingReport 
-- operation provides the feedback from the SSF to the SCF.
ApplyChargingArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  aChBillingChargingCharacteristics
    [0]  AChBillingChargingCharacteristics{bound},
  partyToCharge                      [2]  LegID OPTIONAL,
  extensions
    [3]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- The partyToCharge parameter indicates the party in the call to which the ApplyCharging operation
-- should be applied. If it is not present, then it is applied to the A-party
applyChargingReport{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       ApplyChargingReportArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | unexpectedComponentSequence | unexpectedParameter |
      unexpectedDataValue | parameterOutOfRange | systemFailure | taskRefused}
  CODE           opcode-applyChargingReport
}

-- Direction: SSF ® SCF, Timer: Tacr 
-- This operation is used by the SSF to report to the SCF the occurrence of a specific charging event 
-- as requested by the SCF using the ApplyCharging operation
ApplyChargingReportArg{PARAMETERS-BOUND:bound} ::=
  CallResult{bound}

-- NOTE - When the SSF sends the ApplyChargingReport operation as the last event from the Call Segment, the 
-- lastEventIndicator parameter such as the CallInformationReport operation is needed for indicating whether 
-- the event is last to the SCF.  However, because there is no consideration for the parameter expansion in the 
-- CS-1, this parameter cannot be added. There are two alternatives for the solution. One is to be included 
-- into the CallResult parameter. And the other is to specify a new operation with this parameter. The latter is 
-- ffs.
assistRequestInstructions{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       AssistRequestInstructionsArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-assistRequestInstructions
}

-- Direction: SSF ® SCF or SRF ® SCF, Timer: Tari
-- This operation is used when there is an assist or a hand-off procedure and may be sent by the SSF
-- or SRF to the SCF. This operation is sent by the assisting SSF to SCF, when the initiating SSF has
-- set up a connection to the SRF or to the assisting SSF as a result of receiving an EstablishTemporaryConnection
-- or Connect/SelectRoute operation (in the case of hand-off) from the SCF.
-- Refer to clause 17 for a description of the procedures associated with this operation.
AssistRequestInstructionsArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  correlationID      [0]  CorrelationID{bound},
  iPAvailable        [1]  IPAvailable{bound} OPTIONAL,
  iPSSPCapabilities  [2]  IPSSPCapabilities{bound} OPTIONAL,
  extensions
    [3]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- OPTIONAL denotes network-operator specific use. The value of the correlationID may be the 
-- Called Party Number supplied by the initiating SSF.
authorizeTermination{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       AuthorizeTerminationArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-authorizeTermination
}

-- Direction: SCF ® SSF, Timer: Tatr
-- This operation is used to request the SSF to resume terminating call processing action at the
-- Authorize_Termination PIC of the call based on the information received from the SCF.
-- For additional information on this operation, refer to Rec. Q.1224.
AuthorizeTerminationArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  alertingPattern                  [0]  AlertingPattern OPTIONAL,
  callingPartyNumber               [1]  CallingPartyNumber{bound} OPTIONAL,
  destinationNumberRoutingAddress  [2]  CalledPartyNumber{bound} OPTIONAL,
  displayInformation               [3]  DisplayInformation{bound} OPTIONAL,
  iSDNAccessRelatedInformation     [4]  ISDNAccessRelatedInformation OPTIONAL,
  originalCalledPartyID            [5]  OriginalCalledPartyID{bound} OPTIONAL,
  travellingClassMark              [6]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [7]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  iNServiceCompatibilityResponse   [8]  INServiceCompatibilityResponse OPTIONAL,
  forwardGVNS                      [9]  ForwardGVNS{bound} OPTIONAL,
  backwardGVNS                     [10]  BackwardGVNS{bound} OPTIONAL,
  legID                            [11]  LegID OPTIONAL,
  ...
}

-- OPTIONAL parameters are only provided if modifications are desired to basic call processing values.
callGap{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT         CallGapArg {bound}
  RETURN RESULT    FALSE
  ALWAYS RESPONDS  FALSE
  CODE             opcode-callGap
}

-- Direction: SCF ® SSF, Timer: Tcg 
-- This operation is used to request the SSF to reduce the rate at which specific service requests are sent to 
-- the SCF. Use of this operation by the SCF to gap queries and updates at the SDF is for further study.
CallGapArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  gapCriteria    [0]  GapCriteria{bound},
  gapIndicators  [1]  GapIndicators,
  controlType    [2]  ControlType OPTIONAL,
  gapTreatment   [3]  GapTreatment{bound} OPTIONAL,
  extensions
    [4]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- OPTIONAL denotes network-operator optional. If gapTreatment is not present, the SSF will use 
-- a default treatment depending on network-operator implementation.
callInformationReport{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT         CallInformationReportArg {bound}
  RETURN RESULT    FALSE
  ALWAYS RESPONDS  FALSE
  CODE             opcode-callInformationReport
}

-- Direction: SSF ® SCF, Timer: Tcirp 
-- This operation is used to send specific call information for a single call to the SCF as requested by the SCF 
-- in a previous CallInformationRequest.
CallInformationReportArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  requestedInformationList  [0]  RequestedInformationList{bound},
  correlationID             [1]  CorrelationID{bound} OPTIONAL,
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  legID                     [3]  LegID OPTIONAL,
  lastEventIndicator        [4]  BOOLEAN DEFAULT FALSE,
  ...
}

-- OPTIONAL denotes network-operator optional.
-- The lastEventIndicator parameter is set with 'TRUE' when the report is last in the Call Segment. 
-- In the CS-1, the lastEventIndicator should not be sent, and the meaning of DEFAULT is not applied. The SCF 
-- must decide whether the report is last without this parameter. 
callInformationRequest{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       CallInformationRequestArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | parameterOutOfRange | requestedInfoError |
      systemFailure | taskRefused | unexpectedComponentSequence |
      unexpectedDataValue | unexpectedParameter | unknownLegID}
  CODE           opcode-callInformationRequest
}

-- Direction: SCF ® SSF, Timer: Tcirq 
-- This operation is used to request the SSF to record specific information about a single call and report it to 
-- the SCF (with a CallInformationReport operation). 
CallInformationRequestArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  requestedInformationTypeList  [0]  RequestedInformationTypeList,
  correlationID                 [1]  CorrelationID{bound} OPTIONAL,
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  legID                         [3]  LegID OPTIONAL,
  ...
}

-- OPTIONAL denotes network-operator optional.
cancel{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       CancelArg {bound}
  RETURN RESULT  FALSE
  ERRORS         {cancelFailed | missingParameter | taskRefused}
  CODE           opcode-cancel
}

-- Direction: SCF ® SSF, or SCF ® SRF, Timer: Tcan 
-- This operation cancels the correlated previous operation or all previous requests. The following operations can be 
-- cancelled: PlayAnnouncement, PromptAndCollectUserInformation. 
CancelArg{PARAMETERS-BOUND:bound} ::= CHOICE {
  invokeID             [0]  InvokeID,
  allRequests          [1]  NULL,
  callSegmentToCancel
    [2]  SEQUENCE {invokeID       [0]  InvokeID,
                   callSegmentID  [1]  CallSegmentID{bound}}
}

-- The InvokeID has the same value as that which was used for the operation to be cancelled.
cancelStatusReportRequest{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       CancelStatusReportRequestArg {bound}
  RETURN RESULT  FALSE
  ERRORS         {cancelFailed | missingParameter | taskRefused}
  CODE           opcode-cancelStatusReportRequest
}

-- Direction: SCF ® SSF, Timer: Tcsr 
-- This operation cancels the following processes: RequestFirstStatusMatchReport and 
-- RequestEveryStatusChangeReport.
CancelStatusReportRequestArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  resourceID  [0]  ResourceID{bound} OPTIONAL,
  extensions
    [1]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

collectedInformation{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       CollectedInformationArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-collectedInformation
}

-- Direction: SSF ® SCF, Timer: Tcdi 
-- This operation is used to indicate availability of complete initial information package/dialling string from 
-- originating party. (This event may have already occurred in the case of en bloc signalling, in which case 
-- the waiting duration in this PIC is zero.) (DP  - Collected_Info). For additional information on this operation 
-- and its use with open numbering plans, refer to Rec. Q.1224.
CollectedInformationArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters   [0]  DpSpecificCommonParameters{bound},
  dialledDigits                [1]  CalledPartyNumber{bound} OPTIONAL,
  callingPartyBusinessGroupID  [2]  CallingPartyBusinessGroupID OPTIONAL,
  callingPartySubaddress       [3]  CallingPartySubaddress OPTIONAL,
  callingFacilityGroup         [4]  FacilityGroup OPTIONAL,
  callingFacilityGroupMember   [5]  FacilityGroupMember OPTIONAL,
  originalCalledPartyID        [6]  OriginalCalledPartyID{bound} OPTIONAL,
  prefix                       [7]  Digits{bound} OPTIONAL,
  redirectingPartyID           [8]  RedirectingPartyID{bound} OPTIONAL,
  redirectionInformation       [9]  RedirectionInformation OPTIONAL,
  travellingClassMark          [10]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [11]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
            ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  featureCode                  [12]  FeatureCode{bound} OPTIONAL,
  accessCode                   [13]  AccessCode{bound} OPTIONAL,
  carrier                      [14]  Carrier OPTIONAL,
  componentType                [15]  ComponentType OPTIONAL,
  component                    [16]  Component OPTIONAL,
  componentCorrelationID       [17]  ComponentCorrelationID OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules to specify 
-- when these parameters are included in the message.
collectInformation{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       CollectInformationArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-collectInformation
}

-- Direction: SCF ® SSF, Timer: Tci 
-- This operation is used to request the SSF to perform the originating basic call processing actions to prompt 
-- a calling party for destination information, then collect destination information according to a specified 
-- numbering plan (e.g. for virtual private networks).
CollectInformationArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  alertingPattern                  [0]  AlertingPattern OPTIONAL,
  numberingPlan                    [1]  NumberingPlan OPTIONAL,
  originalCalledPartyID            [2]  OriginalCalledPartyID{bound} OPTIONAL,
  travellingClassMark              [3]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [4]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  callingPartyNumber               [5]  CallingPartyNumber{bound} OPTIONAL,
  dialledDigits                    [6]  CalledPartyNumber{bound} OPTIONAL,
  serviceInteractionIndicators
    [7]  ServiceInteractionIndicators{bound} OPTIONAL,
  iNServiceCompatibilityResponse   [8]  INServiceCompatibilityResponse OPTIONAL,
  forwardGVNS                      [9]  ForwardGVNS{bound} OPTIONAL,
  backwardGVNS                     [10]  BackwardGVNS{bound} OPTIONAL,
  serviceInteractionIndicatorsTwo
    [11]  ServiceInteractionIndicatorsTwo OPTIONAL,
  callSegmentID                    [12]  CallSegmentID{bound} OPTIONAL,
  legToBeCreated                   [13]  LegID OPTIONAL,
  ...
}

connect{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       ConnectArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-connect
}

-- Direction: SCF ® SSF, Timer: Tcon 
-- This operation is used to request the SSF to perform the call processing actions to route or forward a call to 
-- a specified destination. To do so, the SSF may or may not use destination information from the calling party 
-- (e.g. dialled digits) and existing call set-up information (e.g. route index to a list of trunk groups), depending on 
-- the information provided by the SCF.
-- 	- When address information is only included in the Connect operation, call processing resumes at PIC3 in 
--	   the O-BCSM. 
-- 	- When address information and routing information is included, call processing resumes at PIC4.
ConnectArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  destinationRoutingAddress        [0]  DestinationRoutingAddress{bound},
  alertingPattern                  [1]  AlertingPattern OPTIONAL,
  correlationID                    [2]  CorrelationID{bound} OPTIONAL,
  cutAndPaste                      [3]  CutAndPaste OPTIONAL,
  forwardingCondition              [4]  ForwardingCondition OPTIONAL,
  iSDNAccessRelatedInformation     [5]  ISDNAccessRelatedInformation OPTIONAL,
  originalCalledPartyID            [6]  OriginalCalledPartyID{bound} OPTIONAL,
  routeList                        [7]  RouteList{bound} OPTIONAL,
  scfID                            [8]  ScfID{bound} OPTIONAL,
  travellingClassMark              [9]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [10]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
            ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  carrier                          [11]  Carrier OPTIONAL,
  serviceInteractionIndicators
    [26]  ServiceInteractionIndicators{bound} OPTIONAL,
  callingPartyNumber               [27]  CallingPartyNumber{bound} OPTIONAL,
  callingPartysCategory            [28]  CallingPartysCategory OPTIONAL,
  redirectingPartyID               [29]  RedirectingPartyID{bound} OPTIONAL,
  redirectionInformation           [30]  RedirectionInformation OPTIONAL,
  displayInformation               [12]  DisplayInformation{bound} OPTIONAL,
  forwardCallIndicators            [13]  ForwardCallIndicators OPTIONAL,
  genericNumbers                   [14]  GenericNumbers{bound} OPTIONAL,
  serviceInteractionIndicatorsTwo
    [15]  ServiceInteractionIndicatorsTwo OPTIONAL,
  iNServiceCompatibilityResponse
    [16]  INServiceCompatibilityResponse OPTIONAL,
  forwardGVNS                      [17]  ForwardGVNS{bound} OPTIONAL,
  backwardGVNS                     [18]  BackwardGVNS{bound} OPTIONAL,
  chargeNumber                     [19]  ChargeNumber{bound} OPTIONAL,
  callSegmentID                    [20]  CallSegmentID{bound} OPTIONAL,
  legToBeCreated                   [21]  LegID OPTIONAL,
  ...
}

-- For alerting pattern, OPTIONAL denotes that this parameter only applies if SSF is the terminating local 
-- exchange for the subscriber.
connectToResource{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       ConnectToResourceArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
      unknownLegID}
  CODE           opcode-connectToResource
}

-- Direction: SCF ® SSF, Timer: Tctr 
-- This operation is used to connect a call from the SSP to the physical entity containing the SRF. 
-- Refer to clause 17 for a description of the procedures associated with this operation.
ConnectToResourceArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  resourceAddress
    CHOICE {ipRoutingAddress         [0]  IPRoutingAddress{bound},
            legID                    [1]  LegID,
            ipAddressAndLegID
              [2]  SEQUENCE {ipRoutingAddress  [0]  IPRoutingAddress{bound},
                             legID             [1]  LegID},
            none                     [3]  NULL,
            callSegmentID            [5]  CallSegmentID{bound},
            ipAddressAndCallSegment
              [6]  SEQUENCE {ipRoutingAddress  [0]  IPRoutingAddress{bound},
                             callSegmentID     [1]  CallSegmentID{bound}
            }},
  extensions
    [4]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  serviceInteractionIndicators
    [30]  ServiceInteractionIndicators{bound} OPTIONAL,
  serviceInteractionIndicatorsTwo
    [7]  ServiceInteractionIndicatorsTwo OPTIONAL,
  ...
}

continue OPERATION ::= {
  RETURN RESULT    FALSE
  ALWAYS RESPONDS  FALSE
  CODE             opcode-continue
}

-- Direction: SCF ® SSF, Timer: Tcue 
-- This operation is used to request the SSF to proceed with call processing at the DP at which it 
-- previously suspended call processing to await SCF instructions (i.e. proceed to the next point 
-- in call in the BCSM). The SSF continues call processing without substituting new data from SCF.
-- This operation is not valid for a single call segment CSA with more than 2 legs or a multi call segment CSA.
continueWithArgument{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       ContinueWithArgumentArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | unexpectedComponentSequence | unexpectedParameter |
      unexpectedDataValue}
  CODE           opcode-continueWithArgument
}

-- Direction: SCF ® SSF, Timer: Tcwa 
-- This operation is used to request the SSF to proceed with call processing at the DP where it previously
-- suspended call processing to await SCF instructions. 
-- It is also used to provide additional service related information to a User (Called Party or Calling Party) whilst
-- the call processing proceeds.
ContinueWithArgumentArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  legID                            [0]  LegID DEFAULT sendingSideID:leg1,
  alertingPattern                  [1]  AlertingPattern OPTIONAL,
  genericName                      [2]  GenericName{bound} OPTIONAL,
  iNServiceCompatibilityResponse   [3]  INServiceCompatibilityResponse OPTIONAL,
  forwardGVNS                      [4]  ForwardGVNS{bound} OPTIONAL,
  backwardGVNS                     [5]  BackwardGVNS{bound} OPTIONAL,
  extensions
    [6]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  serviceInteractionIndicatorsTwo
    [7]  ServiceInteractionIndicatorsTwo OPTIONAL,
  ...
}

createCallSegmentAssociation{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT  CreateCallSegmentAssociationArg {bound}
  RESULT    CreateCallSegmentAssociationResult {bound}
  ERRORS
    {missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE      opcode-createCallSegmentAssociation
}

-- Direction: SCF ® SSF, Timer: Tcsa 
-- This operation is used to create a new CSA. The new CSA will not contain any Call Segments after creation.
-- The SSF is responsible for specifying a new CSA identifier for the created CSA which is unique within
--  the SSF.
CreateCallSegmentAssociationArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  extensions
    [0]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

CreateCallSegmentAssociationResult{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  newCallSegmentAssociation  [0]  CSAID{bound},
  ...
}

disconnectForwardConnection OPERATION ::= {
  RETURN RESULT  FALSE
  ERRORS         {systemFailure | taskRefused | unexpectedComponentSequence}
  CODE           opcode-disconnectForwardConnection
}

-- Direction: SCF ® SSF, Timer: Tdfc 
-- This operation is used to disconnect a forward temporary connection or a connection to a resource. 
-- Refer to clause 17 for a description of the procedures associated with this operation. 
-- This operation is not valid for a single call segment CSA with more than 2 legs or a multi call segment CSA.
disconnectForwardConnectionWithArgument{PARAMETERS-BOUND:bound} OPERATION ::= 
{
  ARGUMENT       DisconnectForwardConnectionWithArgumentArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
      unknownLegID}
  CODE           opcode-dFCWithArgument
}

-- Direction: SCF ® SSF, Timer: Tdfcwa 
-- This operation is used to disconnect a forward temporary connection or a connection to a resource. 
-- Refer to clause 17 for a description of the procedures associated with this operation. 
DisconnectForwardConnectionWithArgumentArg{PARAMETERS-BOUND:bound} ::=
  SEQUENCE {
  partyToDisconnect
    CHOICE {legID          [0]  LegID,
            callSegmentID  [1]  CallSegmentID{bound}},
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

disconnectLeg{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       DisconnectLegArg {bound}
  RETURN RESULT  TRUE
  ERRORS
    {missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
      unknownLegID}
  CODE           opcode-disconnectLeg
}

-- Direction: SCF ® SSF, Timer: Tdl
-- This operation  is issued by the SCF  to release a specific leg associated with the call and retain any
-- other legs not specified in the DisconnectLeg. Any leg may be disconnected, including the controlling
-- leg, without completely releasing all legs.
-- For additional information on this operation, refer to Rec. Q.1224.
DisconnectLegArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  legToBeReleased  [0]  LegID,
  releaseCause     [1]  Cause{bound} OPTIONAL,
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

entityReleased{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT         EntityReleasedArg {bound}
  RETURN RESULT    FALSE
  ALWAYS RESPONDS  FALSE
  CODE             opcode-entityReleased
}

-- Direction: SSF ® SCF, Timer: Ter
-- This operation is used by SSF to inform the SCF of an error/exception
EntityReleasedArg{PARAMETERS-BOUND:bound} ::= CHOICE {
  cSFailure
    [0]  SEQUENCE {callSegmentID  [0]  CallSegmentID{bound},
                   reason         [1]  Reason{bound} OPTIONAL,
                   cause          [2]  Cause{bound} OPTIONAL},
  bCSMFailure
    [1]  SEQUENCE {legID   [0]  LegID,
                   reason  [1]  Reason{bound} OPTIONAL,
                   cause   [2]  Cause{bound} OPTIONAL}
}

establishTemporaryConnection{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       EstablishTemporaryConnectionArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {eTCFailed | missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
      unknownLegID}
  CODE           opcode-establishTemporaryConnection
}

-- Direction: SCF ® SSF, Timer: Tetc 
-- This operation is used to create a connection to a resource for a limited period of time 
-- (e.g. to play an announcement, to collect user information); it implies the use of the assist 
-- procedure. Refer to clause 17 for a description of the procedures associated with this operation.
EstablishTemporaryConnectionArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  assistingSSPIPRoutingAddress     [0]  AssistingSSPIPRoutingAddress{bound},
  correlationID                    [1]  CorrelationID{bound} OPTIONAL,
  partyToConnect
    CHOICE {legID          [2]  LegID,
            callSegmentID  [7]  CallSegmentID{bound}} OPTIONAL,
  scfID                            [3]  ScfID{bound} OPTIONAL,
  extensions
    [4]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  carrier                          [5]  Carrier OPTIONAL,
  serviceInteractionIndicators
    [30]  ServiceInteractionIndicators{bound} OPTIONAL,
  serviceInteractionIndicatorsTwo
    [6]  ServiceInteractionIndicatorsTwo OPTIONAL,
  ...
}

eventNotificationCharging{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT         EventNotificationChargingArg {bound}
  RETURN RESULT    FALSE
  ALWAYS RESPONDS  FALSE
  CODE             opcode-eventNotificationCharging
}

-- Direction: SSF ® SCF, Timer: Tenc 
-- This operation is used  by the SSF to report to the SCF the occurrence of a specific charging event 
-- type as  previously requested  by the SCF in a RequestNotificationChargingEvent operation.
EventNotificationChargingArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  eventTypeCharging                 [0]  EventTypeCharging{bound},
  eventSpecificInformationCharging
    [1]  EventSpecificInformationCharging{bound} OPTIONAL,
  legID                             [2]  LegID OPTIONAL,
  extensions
    [3]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  monitorMode                       [30]  MonitorMode DEFAULT notifyAndContinue,
  ...
}

-- OPTIONAL denotes network-operator specific use.
eventReportBCSM{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT         EventReportBCSMArg {bound}
  RETURN RESULT    FALSE
  ALWAYS RESPONDS  FALSE
  CODE             opcode-eventReportBCSM
}

-- Direction: SSF ® SCF, Timer: Terb 
-- This operation is used to notify the SCF of a call-related event (e.g. BCSM events such as busy or 
-- no answer) previously requested by the SCF in a RequestReportBCSMEvent operation.
EventReportBCSMArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  eventTypeBCSM                 [0]  EventTypeBCSM,
  bcsmEventCorrelationID        [1]  CorrelationID{bound} OPTIONAL,
  eventSpecificInformationBCSM
    [2]  EventSpecificInformationBCSM{bound} OPTIONAL,
  legID                         [3]  LegID OPTIONAL,
  miscCallInfo                  [4]  MiscCallInfo DEFAULT {messageType request},
  extensions
    [5]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  componentType                 [6]  ComponentType OPTIONAL,
  component                     [7]  Component OPTIONAL,
  componentCorrelationID        [8]  ComponentCorrelationID OPTIONAL,
  ...
}

eventReportFacility{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT         EventReportFacilityArg {bound}
  RETURN RESULT    FALSE
  ALWAYS RESPONDS  FALSE
  CODE             opcode-eventReportFacility
}

-- Direction: SSF ® SCF, Timer: Terf
-- This operation is issued by the SSF to report the event to the SCF, that was previously requested by the 
-- SCF, the CCF/SSF receives a DSS 1 message which contains a FACILITY IE. Criteria for the report, like 
-- reception of the ReturnResult which is specified with ComponentType, is optionally checked 
-- before issuing this operation.
EventReportFacilityArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  componentType           [0]  ComponentType OPTIONAL,
  component               [1]  Component OPTIONAL,
  legID                   [2]  LegID OPTIONAL,
  componentCorrelationID  [3]  ComponentCorrelationID OPTIONAL,
  extensions
    [4]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- When the monitorDuration is over and the report condition specified with RequestReportFacilityEvent 
-- was not met, component shall be absent.
facilitySelectedAndAvailable{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       FacilitySelectedAndAvailableArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-facilitySelectedAndAvailable
}

-- Direction: SSF ® SCF, Timer: Tfs
-- This operation is used for indication of a call termination attempt from the terminating half BCSM. (DP -
-- Facility_Selected_And_Available). 
-- For additional information on this operation, refer to Rec. Q.1224.
FacilitySelectedAndAvailableArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters   [0]  DpSpecificCommonParameters{bound},
  calledPartyBusinessGroupID   [1]  CalledPartyBusinessGroupID OPTIONAL,
  calledPartySubaddress        [2]  CalledPartySubaddress OPTIONAL,
  callingPartyBusinessGroupID  [3]  CallingPartyBusinessGroupID OPTIONAL,
  callingPartyNumber           [4]  CallingPartyNumber{bound} OPTIONAL,
  originalCalledPartyID        [5]  OriginalCalledPartyID{bound} OPTIONAL,
  redirectingPartyID           [6]  RedirectingPartyID{bound} OPTIONAL,
  redirectionInformation       [7]  RedirectionInformation OPTIONAL,
  routeList                    [8]  RouteList{bound} OPTIONAL,
  travellingClassMark          [9]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [10]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
            ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  componentType                [11]  ComponentType OPTIONAL,
  component                    [12]  Component OPTIONAL,
  componentCorrelationID       [13]  ComponentCorrelationID OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
furnishChargingInformation{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       FurnishChargingInformationArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | taskRefused | unexpectedComponentSequence |
      unexpectedDataValue | unexpectedParameter}
  CODE           opcode-furnishChargingInformation
}

-- Direction: SCF ® SSF, Timer: Tfci 
-- This operation is used to request the SSF to generate, register a call record or to include some information
-- in the default call record. The registered call record is intended for off-line charging of the call.
FurnishChargingInformationArg{PARAMETERS-BOUND:bound} ::=
  FCIBillingChargingCharacteristics{bound}

holdCallInNetwork OPERATION ::= {
  ARGUMENT       HoldCallInNetworkArg
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-holdCallInNetwork
}

-- Direction: SCF ® SSF, Timer: Thcn 
-- This operation is used to provide the capability of queueing a call during the set-up phase (e.g. to provide 
-- a call completion to busy, the call would be queued until the destination becomes free).
HoldCallInNetworkArg ::= CHOICE {
  holdcause  [0]  HoldCause,
  empty      [1]  NULL
}

--FurnishChargingInformationArg {PARAMETERS-BOUND : bound} ::= FCIBillingChargingCharacteristics {bound}
--holdCallInNetwork  OPERATION ::= {
--	ARGUMENT				HoldCallInNetworkArg
--	RETURN RESULT				FALSE
--	ERRORS					{missingParameter |
--							systemFailure |
--							taskRefused |
--							unexpectedComponentSequence |
--							unexpectedDataValue |
--							unexpectedParameter}
--	CODE					opcode-holdCallInNetwork
--	}
-- holdcause is optional and denotes network-operator specific use.
initialDP{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       InitialDPArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      systemFailure | taskRefused | unexpectedComponentSequence |
      unexpectedDataValue | unexpectedParameter}
  CODE           opcode-initialDP
}

-- Direction: SSF ® SCF, Timer: Tidp 
-- This operation is used after a TDP to indicate request for service.
InitialDPArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  serviceKey                        [0]  ServiceKey OPTIONAL,
  dialledDigits                     [1]  CalledPartyNumber{bound} OPTIONAL,
  calledPartyNumber                 [2]  CalledPartyNumber{bound} OPTIONAL,
  callingPartyNumber                [3]  CallingPartyNumber{bound} OPTIONAL,
  callingPartyBusinessGroupID       [4]  CallingPartyBusinessGroupID OPTIONAL,
  callingPartysCategory             [5]  CallingPartysCategory OPTIONAL,
  callingPartySubaddress            [6]  CallingPartySubaddress OPTIONAL,
  cGEncountered                     [7]  CGEncountered OPTIONAL,
  iPSSPCapabilities                 [8]  IPSSPCapabilities{bound} OPTIONAL,
  iPAvailable                       [9]  IPAvailable{bound} OPTIONAL,
  locationNumber                    [10]  LocationNumber{bound} OPTIONAL,
  miscCallInfo                      [11]  MiscCallInfo OPTIONAL,
  originalCalledPartyID             [12]  OriginalCalledPartyID{bound} OPTIONAL,
  serviceProfileIdentifier          [13]  ServiceProfileIdentifier OPTIONAL,
  terminalType                      [14]  TerminalType OPTIONAL,
  extensions
    [15]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
            ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  triggerType                       [16]  TriggerType OPTIONAL,
  highLayerCompatibility            [23]  HighLayerCompatibility OPTIONAL,
  serviceInteractionIndicators
    [24]  ServiceInteractionIndicators{bound} OPTIONAL,
  additionalCallingPartyNumber
    [25]  AdditionalCallingPartyNumber{bound} OPTIONAL,
  forwardCallIndicators             [26]  ForwardCallIndicators OPTIONAL,
  bearerCapability                  [27]  BearerCapability{bound} OPTIONAL,
  eventTypeBCSM                     [28]  EventTypeBCSM OPTIONAL,
  redirectingPartyID                [29]  RedirectingPartyID{bound} OPTIONAL,
  redirectionInformation            [30]  RedirectionInformation OPTIONAL,
  cause                             [17]  Cause{bound} OPTIONAL,
  componentType                     [18]  ComponentType OPTIONAL,
  component                         [19]  Component OPTIONAL,
  componentCorrelationID            [20]  ComponentCorrelationID OPTIONAL,
  iSDNAccessRelatedInformation      [21]  ISDNAccessRelatedInformation OPTIONAL,
  iNServiceCompatibilityIndication
    [22]  INServiceCompatibilityIndication{bound} OPTIONAL,
  genericNumbers                    [31]  GenericNumbers{bound} OPTIONAL,
  serviceInteractionIndicatorsTwo
    [32]  ServiceInteractionIndicatorsTwo OPTIONAL,
  forwardGVNS                       [33]  ForwardGVNS{bound} OPTIONAL,
  createdCallSegmentAssociation     [34]  CSAID{bound} OPTIONAL,
  uSIServiceIndicator               [35]  USIServiceIndicator{bound} OPTIONAL,
  uSIInformation                    [36]  USIInformation{bound} OPTIONAL,
  ...
}

-- OPTIONAL for iPSSPCapabilities, iPAvailable, cGEncountered, and miscCallInfo denotes network-
-- operator specific use.
-- OPTIONAL for dialledDigits, callingPartyNumber, and callingPartysCategory refer to clause 17 for the trigger 
-- detection point processing rules to specify when these parameters are included in the message.
-- OPTIONAL for terminalType indicates that this parameter applies only at originating or terminating 
-- local exchanges if the SSF has this information.
initiateCallAttempt{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       InitiateCallAttemptArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
      unknownLegID}
  CODE           opcode-initiateCallAttempt
}

-- Direction: SCF ® SSF, Timer: Tica 
-- This operation is used to request the SSF to create a new call to one call  party using address 
-- information provided by the SCF. 
InitiateCallAttemptArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  destinationRoutingAddress        [0]  DestinationRoutingAddress{bound},
  alertingPattern                  [1]  AlertingPattern OPTIONAL,
  iSDNAccessRelatedInformation     [2]  ISDNAccessRelatedInformation OPTIONAL,
  travellingClassMark              [3]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [4]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  serviceInteractionIndicators
    [29]  ServiceInteractionIndicators{bound} OPTIONAL,
  callingPartyNumber               [30]  CallingPartyNumber{bound} OPTIONAL,
  legToBeCreated                   [5]  LegID DEFAULT sendingSideID:leg1,
  newCallSegment
    [6]  CallSegmentID{bound} DEFAULT initialCallSegment,
  iNServiceCompatibilityResponse   [7]  INServiceCompatibilityResponse OPTIONAL,
  serviceInteractionIndicatorsTwo
    [8]  ServiceInteractionIndicatorsTwo OPTIONAL,
  ...
}

manageTriggerData{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT  ManageTriggerDataArg {bound}
  RESULT    ManageTriggerDataResultArg {bound}
  ERRORS
    {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE      opcode-manageTriggerData
}

-- Direction: SCF ® SSF,  Class 1, Timer: Tmtd
-- This operation is used to activate, deactivate or retrieve
-- the status of a trigger detection point linked to a subscriber profile known at the switch, e.g. related to an access line.
ManageTriggerDataArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  actionIndicator        [0]  ActionIndicator,
  triggerDataIdentifier  [1]  TriggerDataIdentifier{bound},
  registratorIdentifier  [2]  RegistratorIdentifier OPTIONAL,
  extensions
    [3]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

ManageTriggerDataResultArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  actionPerformed  [0]  ActionPerformed,
  extensions
    [1]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

mergeCallSegments{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       MergeCallSegmentsArg {bound}
  RETURN RESULT  TRUE
  ERRORS
    {missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-mergeCallSegments
}

-- Direction: SCF ® SSF, Timer: Tmc
-- This operation is issued by the SCF  to merge two associated CSs with a single controlling leg into one
-- CS with that controlling leg.
-- For additional information on this operation, refer to Rec. Q.1224.
MergeCallSegmentsArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  sourceCallSegment  [0]  CallSegmentID{bound},
  targetCallSegment  [1]  CallSegmentID{bound} DEFAULT initialCallSegment,
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

moveCallSegments{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       MoveCallSegmentsArg {bound}
  RETURN RESULT  TRUE
  ERRORS
    {missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
      unknownLegID}
  CODE           opcode-moveCallSegments
}

--  Direction: SCF ® SSF, Timer Tmcs 
-- This operation is used to merge two call segments into one.
MoveCallSegmentsArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  targetCallSegmentAssociation  [0]  CSAID{bound},
  -- assignement of CSAID by SSF/SCF is ffs.
  callSegments
    [1]  SEQUENCE SIZE (1..bound.&numOfCSs) OF
           SEQUENCE {sourceCallSegment
                       [0]  CallSegmentID{bound} DEFAULT initialCallSegment,
                     newCallSegment     [1]  CallSegmentID{bound}},
  legs
    [2]  SEQUENCE SIZE (1..bound.&numOfLegs) OF
           SEQUENCE {sourceLeg  [0]  LegID,
                     newLeg     [1]  LegID},
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

moveLeg{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       MoveLegArg {bound}
  RETURN RESULT  TRUE
  ERRORS
    {missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
      unknownLegID}
  CODE           opcode-moveLeg
}

-- Direction : SCF ® SSF, Timer: Tml
-- This operation is issued by the SCF to move a leg from one CS to another with which it is associated.
MoveLegArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  legIDToMove        [0]  LegID,
  targetCallSegment  [1]  CallSegmentID{bound} DEFAULT 1,
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger 
-- detection point processing rules to specify when these parameters are 
-- included in the message.
oAbandon{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       OAbandonArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
      unknownLegID}
  CODE           opcode-oAbandon
}

-- Direction: SSF ® SCF, Timer: Tob
-- This operation is issued by the SSF after detecting a valid trigger condition at the O_Abandon DP or to 
-- report an oAbandon event requested by the RequestReportBCSMEvent. For additional information on this
-- operation, refer to Rec. Q.1224.
OAbandonArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters  [0]  DpSpecificCommonParameters{bound},
  callSegmentID               [1]  CallSegmentID{bound},
  releaseCause                [2]  Cause{bound} OPTIONAL,
  extensions
    [3]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point rules to specify
-- when these parameters are included in the message.
-- Type definition for PointInCall is ffs. Use of T/EDP-R is ffs.
oAnswer{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       OAnswerArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      systemFailure | taskRefused | unexpectedComponentSequence |
      unexpectedDataValue | unexpectedParameter}
  CODE           opcode-oAnswer
}

-- Direction: SSF ® SCF, Timer: Toa 
-- This operation is used for indication from the terminating half BCSM that the call is accepted and answered 
-- by terminating party (e.g. terminating party goes off-hook, Q.931 Connect message received, ISDN-UP Answer 
-- message received) (DP  - O_Answer). For additional information on this operation, refer to Rec. Q.1224. 
OAnswerArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters   [0]  DpSpecificCommonParameters{bound},
  callingPartyBusinessGroupID  [1]  CallingPartyBusinessGroupID OPTIONAL,
  callingPartySubaddress       [2]  CallingPartySubaddress OPTIONAL,
  callingFacilityGroup         [3]  FacilityGroup OPTIONAL,
  callingFacilityGroupMember   [4]  FacilityGroupMember OPTIONAL,
  originalCalledPartyID        [5]  OriginalCalledPartyID{bound} OPTIONAL,
  redirectingPartyID           [6]  RedirectingPartyID{bound} OPTIONAL,
  redirectionInformation       [7]  RedirectionInformation OPTIONAL,
  routeList                    [8]  RouteList{bound} OPTIONAL,
  travellingClassMark          [9]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [10]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
            ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
oCalledPartyBusy{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       OCalledPartyBusyArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      systemFailure | taskRefused | unexpectedComponentSequence |
      unexpectedDataValue | unexpectedParameter}
  CODE           opcode-oCalledPartyBusy
}

-- Direction: SSF ® SCF, Timer: Tob 
-- This operation is used for Indication from the terminating half BCSM that the terminating party is busy 
-- (DP  - O_Called_Party_Busy). For additional information on this operation, refer to Rec. Q.1224. 
OCalledPartyBusyArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters   [0]  DpSpecificCommonParameters{bound},
  busyCause                    [1]  Cause{bound} OPTIONAL,
  callingPartyBusinessGroupID  [2]  CallingPartyBusinessGroupID OPTIONAL,
  callingPartySubaddress       [3]  CallingPartySubaddress OPTIONAL,
  callingFacilityGroup         [4]  FacilityGroup OPTIONAL,
  callingFacilityGroupMember   [5]  FacilityGroupMember OPTIONAL,
  originalCalledPartyID        [6]  OriginalCalledPartyID{bound} OPTIONAL,
  prefix                       [7]  Digits{bound} OPTIONAL,
  redirectingPartyID           [8]  RedirectingPartyID{bound} OPTIONAL,
  redirectionInformation       [9]  RedirectionInformation OPTIONAL,
  routeList                    [10]  RouteList{bound} OPTIONAL,
  travellingClassMark          [11]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [12]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
            ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  carrier                      [13]  Carrier OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
oDisconnect{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       ODisconnectArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      systemFailure | taskRefused | unexpectedComponentSequence |
      unexpectedDataValue | unexpectedParameter}
  CODE           opcode-oDisconnect
}

-- Direction: SSF ® SCF, Timer: Tod 
-- This operation is used for a disconnect indication (e.g. on-hook, Q.931 Disconnect message, SS7 Release message) 
-- is received from the originating party, or received from the terminating party via the terminating half BCSM. 
-- (DP  - O_Disconnect). For additional information on this operation, refer to Rec.Q.1224. 
ODisconnectArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters   [0]  DpSpecificCommonParameters{bound},
  callingPartyBusinessGroupID  [1]  CallingPartyBusinessGroupID OPTIONAL,
  callingPartySubaddress       [2]  CallingPartySubaddress OPTIONAL,
  callingFacilityGroup         [3]  FacilityGroup OPTIONAL,
  callingFacilityGroupMember   [4]  FacilityGroupMember OPTIONAL,
  releaseCause                 [5]  Cause{bound} OPTIONAL,
  routeList                    [6]  RouteList{bound} OPTIONAL,
  extensions
    [7]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  carrier                      [8]  Carrier OPTIONAL,
  connectTime                  [9]  Integer4 OPTIONAL,
  componentType                [10]  ComponentType OPTIONAL,
  component                    [11]  Component OPTIONAL,
  componentCorrelationID       [12]  ComponentCorrelationID OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
oMidCall{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       MidCallArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      systemFailure | taskRefused | unexpectedComponentSequence |
      unexpectedDataValue | unexpectedParameter}
  CODE           opcode-oMidCall
}

-- Direction: SSF ® SCF, Timer: Tomc 
-- This operation is used to indicate a feature request is received from the originating party 
-- (e.g. hook flash, ISDN feature activation, Q.931 HOLD or RETrieve message). (DP  - O_Mid_Call). 
-- For additional information on this operation, refer to Rec. Q.1224.
MidCallArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters   [0]  DpSpecificCommonParameters{bound},
  calledPartyBusinessGroupID   [1]  CalledPartyBusinessGroupID OPTIONAL,
  calledPartySubaddress        [2]  CalledPartySubaddress OPTIONAL,
  callingPartyBusinessGroupID  [3]  CallingPartyBusinessGroupID OPTIONAL,
  callingPartySubaddress       [4]  CallingPartySubaddress OPTIONAL,
  featureRequestIndicator      [5]  FeatureRequestIndicator OPTIONAL,
  extensions
    [6]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  carrier                      [7]  Carrier OPTIONAL,
  componentType                [8]  ComponentType OPTIONAL,
  component                    [9]  Component OPTIONAL,
  componentCorrelationID       [10]  ComponentCorrelationID OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
oNoAnswer{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       ONoAnswerArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      systemFailure | taskRefused | unexpectedComponentSequence |
      unexpectedDataValue | unexpectedParameter}
  CODE           opcode-oNoAnswer
}

-- Direction: SSF ® SCF, Timer: Tona 
-- This operation is used for indication from the terminating half BCSM that the terminating party does not 
-- answer within a specified time period (DP - O_No_Answer). For additional information on this operation, 
--  refer to Rec. Q.1224. 
ONoAnswerArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters   [0]  DpSpecificCommonParameters{bound},
  callingPartyBusinessGroupID  [1]  CallingPartyBusinessGroupID OPTIONAL,
  callingPartySubaddress       [2]  CallingPartySubaddress OPTIONAL,
  callingFacilityGroup         [3]  FacilityGroup OPTIONAL,
  callingFacilityGroupMember   [4]  FacilityGroupMember OPTIONAL,
  originalCalledPartyID        [5]  OriginalCalledPartyID{bound} OPTIONAL,
  prefix                       [6]  Digits{bound} OPTIONAL,
  redirectingPartyID           [7]  RedirectingPartyID{bound} OPTIONAL,
  redirectionInformation       [8]  RedirectionInformation OPTIONAL,
  routeList                    [9]  RouteList{bound} OPTIONAL,
  travellingClassMark          [10]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [11]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
            ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  carrier                      [12]  Carrier OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
originationAttempt{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       OriginationAttemptArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-originationAttempt
}

-- Direction: SSF ® SCF, Timer: Tora
-- This operation is used for indication of a call origination attempt from the originating half BCSM. (DP -
-- Origination_Attempt). 
-- For additional information on this operation, refer to Rec. Q.1224.
OriginationAttemptArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters   [0]  DpSpecificCommonParameters{bound},
  callingPartyBusinessGroupID  [1]  CallingPartyBusinessGroupID OPTIONAL,
  callingPartySubaddress       [2]  CallingPartySubaddress OPTIONAL,
  callingFacilityGroup         [3]  FacilityGroup OPTIONAL,
  callingFacilityGroupMember   [4]  FacilityGroupMember OPTIONAL,
  carrier                      [5]  Carrier OPTIONAL,
  travellingClassMark          [6]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [7]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  componentType                [8]  ComponentType OPTIONAL,
  component                    [9]  Component OPTIONAL,
  componenttCorrelationID      [10]  ComponentCorrelationID OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
originationAttemptAuthorized{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       OriginationAttemptAuthorizedArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      systemFailure | taskRefused | unexpectedComponentSequence |
      unexpectedDataValue | unexpectedParameter}
  CODE           opcode-originationAttemptAuthorized
}

-- Direction: SSF ® SCF, Timer: Toaa 
-- This operation is used to Indicate the desire to place outgoing call (e.g. off-hook, Q.931 Setup message, 
-- ISDN-UP IAM message) and authority/ability to place outgoing call verified (DP - 
-- Origination_Attempt_Authorized). 
-- For additional information on this operation, refer to Rec. Q.1224. 
OriginationAttemptAuthorizedArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters   [0]  DpSpecificCommonParameters{bound},
  dialledDigits                [1]  CalledPartyNumber{bound} OPTIONAL,
  callingPartyBusinessGroupID  [2]  CallingPartyBusinessGroupID OPTIONAL,
  callingPartySubaddress       [3]  CallingPartySubaddress OPTIONAL,
  callingFacilityGroup         [4]  FacilityGroup OPTIONAL,
  callingFacilityGroupMember   [5]  FacilityGroupMember OPTIONAL,
  travellingClassMark          [6]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [7]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  carrier                      [8]  Carrier OPTIONAL,
  componentType                [9]  ComponentType OPTIONAL,
  component                    [10]  Component OPTIONAL,
  componentCorrelationID       [11]  ComponentCorrelationID OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
oSuspended{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       OSuspendedArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
      unknownLegID}
  CODE           opcode-oSuspended
}

-- Direction: SSF ® SCF, Timer: Tos
-- This operation is issued by the SSF after detecting a valid trigger condition at the O_Suspended DP or to 
-- report an oSuspended event requested by the RequestReportBCSMEvent. For additional information on 
-- this operation, refer to Rec. Q.1224.
OSuspendedArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters  [0]  DpSpecificCommonParameters{bound},
  legID                       [1]  LegID OPTIONAL,
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
-- Modification to LegID is ffs. Use for T/EDP-R is ffs.
reconnect{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       ReconnectArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-reconnect
}

--  Direction: SCF ® SSF, Timer: Tre
--  This operation is issued by the SCF to reestablish communication between the controlling leg and the
--  (held) passive leg(s). For additional information on this operation, refer to Rec. Q.1224.
ReconnectArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  notificationDuration  [0]  ApplicationTimer OPTIONAL,
  alertingPattern       [1]  AlertingPattern OPTIONAL,
  displayInformation    [2]  DisplayInformation{bound} OPTIONAL,
  extensions
    [3]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  callSegmentID         [4]  CallSegmentID{bound} OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
releaseCall{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT         ReleaseCallArg {bound}
  RETURN RESULT    FALSE
  ALWAYS RESPONDS  FALSE
  CODE             opcode-releaseCall
}

-- Direction: SCF ® SSF, Timer: Trc 
-- This operation is used to tear down an existing call at any phase of the call for all parties 
-- involved in the call. 
ReleaseCallArg{PARAMETERS-BOUND:bound} ::= CHOICE {
  initialCallSegment     Cause{bound},
  associatedCallSegment
    [1]  SEQUENCE {callSegment   [0]  INTEGER(2..bound.&numOfCSs),
                   releaseCause  [1]  Cause{bound} OPTIONAL},
  allCallSegments
    [2]  SEQUENCE {releaseCause  [0]  Cause{bound} OPTIONAL}
}

-- A default value of decimal 31 (normal unspecified) should be coded appropriately.
reportUTSI{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT         ReportUTSIArg {bound}
  RETURN RESULT    FALSE
  ALWAYS RESPONDS  FALSE
  CODE             opcode-reportUTSI
}

-- Direction: SSF ® SCF, Timer: Tru
-- This operation is issued by the SSF in the context of the USI feature. It is used to report the receipt 
-- of a User to Service Information (UTSI) IE to the SCF. 
ReportUTSIArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  uSIServiceIndicator  [0]  USIServiceIndicator{bound},
  legID                [1]  LegID DEFAULT receivingSideID:leg1,
  uSIInformation       [2]  USIInformation{bound},
  extensions
    [3]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

requestCurrentStatusReport{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT  RequestCurrentStatusReportArg {bound}
  RESULT    RequestCurrentStatusReportResultArg {bound}
  ERRORS
    {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
      unknownResource}
  CODE      opcode-requestCurrentStatusReport
}

-- Direction: SCF ® SSF, Timer: Trcs 
-- This operation is used to request the SSF to report immediately the busy/idle status of a physical 
-- termination resource.
RequestCurrentStatusReportArg{PARAMETERS-BOUND:bound} ::=
  ResourceID{bound}

RequestCurrentStatusReportResultArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  resourceStatus  [0]  ResourceStatus,
  resourceID      [1]  ResourceID{bound} OPTIONAL,
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

requestEveryStatusChangeReport{PARAMETERS-BOUND:bound} OPERATION ::= 
{
  ARGUMENT       RequestEveryStatusChangeReportArg {bound}
  RETURN RESULT  TRUE
  ERRORS
    {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
      unknownResource}
  CODE           opcode-requestEveryStatusChangeReport
}

-- Direction: SCF ® SSF, Timer: Tres 
-- This operation is used to request the SSF to report every change of busy/idle status of a physical 
-- termination resource.
RequestEveryStatusChangeReportArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  resourceID       [0]  ResourceID{bound},
  correlationID    [1]  CorrelationID{bound} OPTIONAL,
  monitorDuration  [2]  Duration OPTIONAL,
  extensions
    [3]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- For correlationID OPTIONAL denotes network-operator optional.
-- monitorDuration is required if outside the context of a call. It is not expected if we are in the context 
-- of a call, because in that case the end of the call implicitly means the end of the monitoring.
requestFirstStatusMatchReport{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       RequestFirstStatusMatchReportArg {bound}
  RETURN RESULT  TRUE
  ERRORS
    {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
      unknownResource}
  CODE           opcode-requestFirstStatusMatchReport
}

-- Direction: SCF ® SSF, Timer: Trfs 
-- This operation is used to request the SSF to report the first change busy/idle to the specified status of 
-- a physical termination resource.
RequestFirstStatusMatchReportArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  resourceID        [0]  ResourceID{bound} OPTIONAL,
  resourceStatus    [1]  ResourceStatus OPTIONAL,
  correlationID     [2]  CorrelationID{bound} OPTIONAL,
  monitorDuration   [3]  Duration OPTIONAL,
  extensions
    [4]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  bearerCapability  [5]  BearerCapability{bound} OPTIONAL,
  ...
}

-- For correlationID OPTIONAL denotes network-operator optional.
-- monitorDuration is required if outside the context of a call. It is not expected if we are in the context 
-- of a call, because in that case the end of the call implicitly means the end of the monitoring.
requestNotificationChargingEvent{PARAMETERS-BOUND:bound} OPERATION ::= 
{
  ARGUMENT       RequestNotificationChargingEventArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-requestNotificationChargingEvent
}

-- Direction: SCF ® SSF, Timer: Trnc 
-- This operation  is used by the SCF to instruct the SSF on how to manage the charging events
-- which are received from other FEs and not under control of the service logic instance. 
RequestNotificationChargingEventArg{PARAMETERS-BOUND:bound} ::=
  SEQUENCE SIZE (1..bound.&numOfChargingEvents) OF ChargingEvent{bound}

requestReportBCSMEvent{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       RequestReportBCSMEventArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-requestReportBCSMEvent
}

-- Direction: SCF ® SSF, Timer: Trrb
-- This operation is used to request the SSF to monitor for a call-related event (e.g. BCSM events such as 
-- busy or no answer), then send a notification back to the SCF when the event is detected.
-- It is proposed that Event Detection Point (EDP) processing is always initiated by RequestReportBCSMEvent and the 
-- EDP may be acknowledged with either an EventReportBCSM or by a DP-specific operations:
-- NOTE -The application context should identify whether BCSM Event Handling Package
-- is being used, or whether DP Specific Event Handling Package 
-- is being used.
--	- for a particular IN, only one of the two alternatives identified by the respective Packages should be 
--	   selected (i.e. only one approach should be selected for a given application context).
--	- Every EDP must be explicitly armed by the SCF via a RequestReportBCSMEvent operation. No 
--	   implicit arming of EDPs at the SSF after reception of any operation (different from 
--	   RequestReportBCSMEvent) from the SCF is allowed.
RequestReportBCSMEventArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  bcsmEvents
    [0]  SEQUENCE SIZE (1..bound.&numOfBCSMEvents) OF BCSMEvent{bound},
  bcsmEventCorrelationID  [1]  CorrelationID{bound} OPTIONAL,
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- Indicates the BCSM related events for notification.
-- For correlationID OPTIONAL denotes network-operator optional.
requestReportFacilityEvent{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       RequestReportFacilityEventArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter |
      unknownLegID}
  CODE           opcode-requestReportFacilityEvent
}

-- Direction: SCF ® SSF, Timer: Trrfe
-- This operation is issued by the SCF to request the SSF to report the SCF the event that the CCF/SSF
-- receives a DSS 1 message which contains a FACILITY IE during a BCSM being suspended at a DP. 
RequestReportFacilityEventArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  componentTypes
    [0]  SEQUENCE SIZE (1..3) OF ComponentType DEFAULT {any},
  legID                   [1]  LegID OPTIONAL,
  componentCorrelationID  [2]  ComponentCorrelationID OPTIONAL,
  monitorDuration         [3]  Duration,
  extensions
    [4]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- componentTypes specifies the component types which should be reported to the SCF. 
-- monitorDuration specifies the monitor duration.
requestReportUTSI{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       RequestReportUTSIArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-requestReportUTSI
}

-- Direction: SCF ® SSF, Timer: Trru
-- This operation is issued by the SCF in the context of the USI feature to request the SSF to monitor for 
-- a User to Service Information (UTSI) information element, which are received from a user.
RequestReportUTSIArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  requestedUTSIList  [0]  RequestedUTSIList{bound},
  extensions
    [1]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  legID              [2]  LegID OPTIONAL,
  ...
}

resetTimer{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       ResetTimerArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | parameterOutOfRange | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-resetTimer
}

-- Direction: SCF ® SSF, Timer: Trt 
-- This operation is used to request the SSF to refresh an application timer in the SSF.
ResetTimerArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  timerID        [0]  TimerID DEFAULT tssf,
  timervalue     [1]  TimerValue,
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  callSegmentID  [3]  CallSegmentID{bound} OPTIONAL,
  ...
}

routeSelectFailure{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       RouteSelectFailureArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      systemFailure | taskRefused | unexpectedComponentSequence |
      unexpectedDataValue | unexpectedParameter}
  CODE           opcode-routeSelectFailure
}

-- Direction: SSF ® SCF, Timer: Trsf 
-- This operation is used to indicate that the SSP is unable to select a route (e.g. unable to determine a 
-- correct route, no more routes on route list) or indication from the terminating half BCSM that a call 
-- cannot be presented to the terminating party (e.g. network congestion) (DP  - Route_Select_Failure). 
-- For additional information on this operation, refer to Rec. Q.1224. 
RouteSelectFailureArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters   [0]  DpSpecificCommonParameters{bound},
  dialledDigits                [1]  CalledPartyNumber{bound} OPTIONAL,
  callingPartyBusinessGroupID  [2]  CallingPartyBusinessGroupID OPTIONAL,
  callingPartySubaddress       [3]  CallingPartySubaddress OPTIONAL,
  callingFacilityGroup         [4]  FacilityGroup OPTIONAL,
  callingFacilityGroupMember   [5]  FacilityGroupMember OPTIONAL,
  failureCause                 [6]  Cause{bound} OPTIONAL,
  originalCalledPartyID        [7]  OriginalCalledPartyID{bound} OPTIONAL,
  prefix                       [8]  Digits{bound} OPTIONAL,
  redirectingPartyID           [9]  RedirectingPartyID{bound} OPTIONAL,
  redirectionInformation       [10]  RedirectionInformation OPTIONAL,
  routeList                    [11]  RouteList{bound} OPTIONAL,
  travellingClassMark          [12]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [13]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
            ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  carrier                      [14]  Carrier OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing 
-- rules to specify when these parameters are included in the message.
selectFacility{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       SelectFacilityArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-selectFacility
}

-- Direction: SCF ® SSF, Timer: Tsf 
-- This operation is used to request the SSF to perform the terminating basic call processing 
-- actions to select the terminating line if it is idle, or select an idle line from a multi-line hunt 
-- group, or select an idle trunk from a trunk group, as appropriate. If no idle line or trunk is 
-- available, the SSF determines that the terminating facility is busy.
SelectFacilityArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  alertingPattern                  [0]  AlertingPattern OPTIONAL,
  destinationNumberRoutingAddress  [1]  CalledPartyNumber{bound} OPTIONAL,
  iSDNAccessRelatedInformation     [2]  ISDNAccessRelatedInformation OPTIONAL,
  calledFacilityGroup              [3]  FacilityGroup OPTIONAL,
  calledFacilityGroupMember        [4]  FacilityGroupMember OPTIONAL,
  originalCalledPartyID            [5]  OriginalCalledPartyID{bound} OPTIONAL,
  extensions
    [6]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  displayInformation               [7]  DisplayInformation{bound} OPTIONAL,
  serviceInteractionIndicators
    [8]  ServiceInteractionIndicators{bound} OPTIONAL,
  iNServiceCompatibilityResponse   [9]  INServiceCompatibilityResponse OPTIONAL,
  forwardGVNS                      [10]  ForwardGVNS{bound} OPTIONAL,
  backwardGVNS                     [11]  BackwardGVNS{bound} OPTIONAL,
  serviceInteractionIndicatorsTwo
    [12]  ServiceInteractionIndicatorsTwo OPTIONAL,
  correlationID                    [13]  CorrelationID{bound} OPTIONAL,
  scfID                            [14]  ScfID{bound} OPTIONAL,
  callSegmentID                    [15]  CallSegmentID{bound} OPTIONAL,
  legToBeCreated                   [16]  LegID OPTIONAL,
  ...
}

-- OPTIONAL parameters are only provided when modifiying basic call processing values.
selectRoute{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       SelectRouteArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | parameterOutOfRange | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-selectRoute
}

-- Direction: SCF ® SSF, Timer: Tsr 
-- This operation is used to request the SSF to perform the originating basic call processing actions to 
-- determine routing information and select a route for a call, based either on call information available 
-- to the SSF, or on call information provided by the SCF (e.g. for alternate routing), to include the 
-- called party address, type of call, carrier, route index, and one or more alternate route indices. 
-- Based on the routing information, the SSF attempts to select a primary route for the call, and if the 
-- route is busy, attempts to select an alternate route. The SSF may fail to select a route for the call 
-- if all routes are busy.
SelectRouteArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  destinationRoutingAddress        [0]  DestinationRoutingAddress{bound},
  alertingPattern                  [1]  AlertingPattern OPTIONAL,
  correlationID                    [2]  CorrelationID{bound} OPTIONAL,
  iSDNAccessRelatedInformation     [3]  ISDNAccessRelatedInformation OPTIONAL,
  originalCalledPartyID            [4]  OriginalCalledPartyID{bound} OPTIONAL,
  routeList                        [5]  RouteList{bound} OPTIONAL,
  scfID                            [6]  ScfID{bound} OPTIONAL,
  travellingClassMark              [7]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [8]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  carrier                          [9]  Carrier OPTIONAL,
  serviceInteractionIndicators
    [10]  ServiceInteractionIndicators{bound} OPTIONAL,
  iNServiceCompatibilityResponse
    [11]  INServiceCompatibilityResponse OPTIONAL,
  forwardGVNS                      [12]  ForwardGVNS{bound} OPTIONAL,
  backwardGVNS                     [13]  BackwardGVNS{bound} OPTIONAL,
  serviceInteractionIndicatorsTwo
    [14]  ServiceInteractionIndicatorsTwo OPTIONAL,
  callSegmentID                    [15]  CallSegmentID{bound} OPTIONAL,
  legToBeCreated                   [16]  LegID OPTIONAL,
  ...
}

-- OPTIONAL parameters are only provided when modifiying basic call processing values.
sendChargingInformation{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       SendChargingInformationArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | unexpectedComponentSequence | unexpectedParameter |
      parameterOutOfRange | systemFailure | taskRefused | unknownLegID}
  CODE           opcode-sendChargingInformation
}

-- Direction: SCF ® SSF, Timer: Tsci 
-- This operation is used to instruct the SSF on the charging information to send by the SSF.
-- The charging information can either be sent back by means of signalling or internal
-- if  the SSF is located in the local exchange. In the local exchange,
-- this information may be used to update the charge meter or to create a standard call record. 
SendChargingInformationArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  sCIBillingChargingCharacteristics
    [0]  SCIBillingChargingCharacteristics{bound},
  partyToCharge                      [1]  LegID,
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

sendFacilityInformation{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       SendFacilityInformationArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | unexpectedComponentSequence | unexpectedParameter |
      unexpectedDataValue | systemFailure | taskRefused | unknownLegID}
  CODE           opcode-sendFacilityInformation
}

-- Direction: SCF ® SSF, Timer: Tsfi
--  This operation is issued by the SCF during a BCSM being suspended at a DP to request the CCF/SSF 
--  sending a FACILITY IE to a user with a specified DSS 1 message. 
SendFacilityInformationArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  componentType                         [0]  ComponentType,
  legID                                 [1]  LegID OPTIONAL,
  componentCorrelationID                [2]  ComponentCorrelationID OPTIONAL,
  component                             [3]  Component,
  callProcessingOperationCorrelationID
    [4]  CallProcessingOperationCorrelationID DEFAULT fACility,
  extensions
    [5]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- FACILITY IE will be delivered with the specified DSS 1 message.  The message is specified with the 
-- callProcessingOperationCorrelationID
sendSTUI{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       SendSTUIArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingParameter | parameterOutOfRange | unexpectedComponentSequence |
      unexpectedParameter | unexpectedDataValue | systemFailure | taskRefused |
      unknownLegID}
  CODE           opcode-sendSTUI
}

-- Direction: SCF ® SSF, Timer: Tss
-- This operation is issued by the SCF in the context of the USI feature. It is used to request the SSF
-- to send a Service to User Information (STUI) information element to the indicated user.
SendSTUIArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  uSIServiceIndicator  [0]  USIServiceIndicator{bound},
  legID                [1]  LegID DEFAULT sendingSideID:leg1,
  uSIInformation       [2]  USIInformation{bound},
  extensions
    [3]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

serviceFilteringResponse{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT         ServiceFilteringResponseArg {bound}
  RETURN RESULT    FALSE
  ALWAYS RESPONDS  FALSE
  CODE             opcode-serviceFilteringResponse
}

-- Direction: SSF ® SCF, Timer: Tsfr 
-- This operation is used to send back to the SCF the values of counters specified in a previous 
-- ActivatedServiceFiltering operation
ServiceFilteringResponseArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  countersValue      [0]  CountersValue,
  filteringCriteria  [1]  FilteringCriteria{bound},
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  responseCondition  [3]  ResponseCondition OPTIONAL,
  ...
}

splitLeg{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       SplitLegArg {bound}
  RETURN RESULT  TRUE
  ERRORS
    {missingParameter | unexpectedComponentSequence | unexpectedParameter |
      unexpectedDataValue | systemFailure | taskRefused | unknownLegID}
  CODE           opcode-splitLeg
}

--  Direction: SCF ® SSF, Timer: Tsl
--  This operation  is issued by the SCF  to separate one joined leg from a multi-way connection
--  or to interrupt the bearer connection between the involved legs of a single two party Call segment.
SplitLegArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  legToBeSplit    [0]  LegID,
  newCallSegment  [1]  INTEGER(2..bound.&numOfCSs),
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

statusReport{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT         StatusReportArg {bound}
  RETURN RESULT    FALSE
  ALWAYS RESPONDS  FALSE
  CODE             opcode-statusReport
}

-- Direction: SSF ® SCF, Timer: Tsrp 
-- This operation is used as a response to RequestFirstStatusMatchReport or 
-- RequestEveryStatusChangeReport operations.
StatusReportArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  resourceStatus   [0]  ResourceStatus OPTIONAL,
  correlationID    [1]  CorrelationID{bound} OPTIONAL,
  resourceID       [2]  ResourceID{bound} OPTIONAL,
  extensions
    [3]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  reportCondition  [4]  ReportCondition OPTIONAL,
  ...
}

-- For correlationID, OPTIONAL denotes network-operator optional.
-- resourceID is required when the SSF sends a report as an answer to a previous request when the 
-- correlationID was present.
tAnswer{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       TAnswerArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
      systemFailure | taskRefused}
  CODE           opcode-tAnswer
}

-- Direction: SSF ® SCF, Timer: Tta 
-- This operation is used to indicate that the call is accepted and answered by terminating party 
-- (e.g. terminating party goes off-hook, Q.931 Connect message received, ISDN-UP Answer message 
-- received) (DP  - T_Answer). For additional information on this operation, refer to Rec. Q.1224.
TAnswerArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters  [0]  DpSpecificCommonParameters{bound},
  calledPartyBusinessGroupID  [1]  CalledPartyBusinessGroupID OPTIONAL,
  calledPartySubaddress       [2]  CalledPartySubaddress OPTIONAL,
  calledFacilityGroup         [3]  FacilityGroup OPTIONAL,
  calledFacilityGroupMember   [4]  FacilityGroupMember OPTIONAL,
  extensions
    [5]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  componentType               [6]  ComponentType OPTIONAL,
  component                   [7]  Component OPTIONAL,
  componentCorrelationID      [8]  ComponentCorrelationID OPTIONAL,
  ...
}

tBusy{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       TBusyArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
      systemFailure | taskRefused}
  CODE           opcode-tBusy
}

-- Direction: SSF ® SCF, Timer: Ttb 
-- This operation is used to indicate all resources in group busy (DP- TBusy). 
-- For additional information on this operation, refer to Rec. Q.1224. 
TBusyArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters  [0]  DpSpecificCommonParameters{bound},
  busyCause                   [1]  Cause{bound} OPTIONAL,
  calledPartyBusinessGroupID  [2]  CalledPartyBusinessGroupID OPTIONAL,
  calledPartySubaddress       [3]  CalledPartySubaddress OPTIONAL,
  originalCalledPartyID       [4]  OriginalCalledPartyID{bound} OPTIONAL,
  redirectingPartyID          [5]  RedirectingPartyID{bound} OPTIONAL,
  redirectionInformation      [6]  RedirectionInformation OPTIONAL,
  routeList                   [7]  RouteList{bound} OPTIONAL,
  travellingClassMark         [8]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [9]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
tDisconnect{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       TDisconnectArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
      systemFailure | taskRefused}
  CODE           opcode-tDisconnect
}

-- Direction: SSF ® SCF, Timer: Ttd 
-- This operation is used for a disconnect indication (e.g. on-hook, Q.931 Disconnect message, 
-- SS7 Release message) is received from the terminating party, or received from the originating party 
-- via the originating half BCSM. (DP  - T_Disconnect). For additional information on this operation,
--  refer to Rec. Q.1224. 
TDisconnectArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters  [0]  DpSpecificCommonParameters{bound},
  calledPartyBusinessGroupID  [1]  CalledPartyBusinessGroupID OPTIONAL,
  calledPartySubaddress       [2]  CalledPartySubaddress OPTIONAL,
  calledFacilityGroup         [3]  FacilityGroup OPTIONAL,
  calledFacilityGroupMember   [4]  FacilityGroupMember OPTIONAL,
  releaseCause                [5]  Cause{bound} OPTIONAL,
  extensions
    [6]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  connectTime                 [7]  Integer4 OPTIONAL,
  componentType               [8]  ComponentType OPTIONAL,
  component                   [9]  Component OPTIONAL,
  componentCorrelationID      [10]  ComponentCorrelationID OPTIONAL,
  ...
}

termAttemptAuthorized{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       TermAttemptAuthorizedArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
      systemFailure | taskRefused}
  CODE           opcode-termAttemptAuthorized
}

-- Direction: SSF ® SCF, Timer: Ttaa 
-- This operation is used for indication of incoming call received from originating half BCSM and authority 
-- to route call to a specified terminating resource (or group) verified. (DP  - Termination_Authorized). 
-- For additional information on this operation, refer to Rec. Q.1224. 
TermAttemptAuthorizedArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters   [0]  DpSpecificCommonParameters{bound},
  calledPartyBusinessGroupID   [1]  CalledPartyBusinessGroupID OPTIONAL,
  calledPartySubaddress        [2]  CalledPartySubaddress OPTIONAL,
  callingPartyBusinessGroupID  [3]  CallingPartyBusinessGroupID OPTIONAL,
  originalCalledPartyID        [4]  OriginalCalledPartyID{bound} OPTIONAL,
  redirectingPartyID           [5]  RedirectingPartyID{bound} OPTIONAL,
  redirectionInformation       [6]  RedirectionInformation OPTIONAL,
  routeList                    [7]  RouteList{bound} OPTIONAL,
  travellingClassMark          [8]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [9]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  callingPartySubaddress       [10]  CallingPartySubaddress OPTIONAL,
  ...
}

terminationAttempt{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       TerminationAttemptArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
      systemFailure | taskRefused}
  CODE           opcode-terminationAttempt
}

-- Direction: SSF ® SCF, Timer: Ttra
-- This operation is used for indication of a call termination attempt from the terminating half BCSM. (DP -
-- Termination_Attempt). 
-- For additional information on this operation, refer to Rec. Q.1224.
TerminationAttemptArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters   [0]  DpSpecificCommonParameters{bound},
  calledPartyBusinessGroupID   [1]  CalledPartyBusinessGroupID OPTIONAL,
  calledPartySubaddress        [2]  CalledPartySubaddress OPTIONAL,
  callingPartyBusinessGroupID  [3]  CallingPartyBusinessGroupID OPTIONAL,
  callingPartySubaddress       [4]  CallingPartySubaddress OPTIONAL,
  originalCalledPartyID        [5]  OriginalCalledPartyID{bound} OPTIONAL,
  redirectingPartyID           [6]  RedirectingPartyID{bound} OPTIONAL,
  redirectionInformation       [7]  RedirectionInformation OPTIONAL,
  routeList                    [8]  RouteList{bound} OPTIONAL,
  travellingClassMark          [9]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [10]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
            ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
tMidCall{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       MidCallArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
      systemFailure | taskRefused}
  CODE           opcode-tMidCall
}

-- Direction: SSF ® SCF, Timer: Ttmc 
-- This operation is used to indicate that a feature request is received from the terminating party (e.g. hook 
-- flash, ISDN feature activation Q.931 HOLD or RETrieve message). (DP  - T_Mid_Call). 
-- For additional information on this operation, refer to Rec. Q.1224. 
tNoAnswer{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       TNoAnswerArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | parameterOutOfRange |
      unexpectedComponentSequence | unexpectedParameter | unexpectedDataValue |
      systemFailure | taskRefused}
  CODE           opcode-tNoAnswer
}

-- Direction: SSF ® SCF, Timer: Ttna 
-- This operation is used to indicate that the terminating party does not answer within a specified duration. 
-- (DP  - T_No_Answer). For additional information on this operation, refer to Rec. Q.1224. 
TNoAnswerArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters  [0]  DpSpecificCommonParameters{bound},
  calledPartyBusinessGroupID  [1]  CalledPartyBusinessGroupID OPTIONAL,
  calledPartySubaddress       [2]  CalledPartySubaddress OPTIONAL,
  calledFacilityGroup         [3]  FacilityGroup OPTIONAL,
  calledFacilityGroupMember   [4]  FacilityGroupMember OPTIONAL,
  originalCalledPartyID       [5]  OriginalCalledPartyID{bound} OPTIONAL,
  redirectingPartyID          [6]  RedirectingPartyID{bound} OPTIONAL,
  redirectionInformation      [7]  RedirectionInformation OPTIONAL,
  travellingClassMark         [8]  TravellingClassMark{bound} OPTIONAL,
  extensions
    [9]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  componentType               [10]  ComponentType OPTIONAL,
  component                   [11]  Component OPTIONAL,
  componentCorrelationID      [12]  ComponentCorrelationID OPTIONAL,
  ...
}

tSuspended{PARAMETERS-BOUND:bound} OPERATION ::= {
  ARGUMENT       TSuspendedArg {bound}
  RETURN RESULT  FALSE
  ERRORS
    {missingCustomerRecord | missingParameter | systemFailure | taskRefused |
      unexpectedComponentSequence | unexpectedDataValue | unexpectedParameter}
  CODE           opcode-tSuspended
}

-- Direction: SSF ® SCF, Timer: Tts
-- This operation is issued by the SSF after detecting a valid trigger condition at the T_Suspended DP or  to 
-- report a tSuspended event requested by the RequestReportBCSMEvent. For additional information on 
-- this operation, refer to Rec. Q.1224.
TSuspendedArg{PARAMETERS-BOUND:bound} ::= SEQUENCE {
  dpSpecificCommonParameters  [0]  DpSpecificCommonParameters{bound},
  legID                       [1]  LegID OPTIONAL,
  extensions
    [2]  SEQUENCE SIZE (1..bound.&numOfExtensions) OF
           ExtensionField{{SupportedExtensions  {bound}}} OPTIONAL,
  ...
}

-- For the OPTIONAL parameters, refer to clause 17 for the trigger detection point processing rules 
-- to specify when these parameters are included in the message.
-- Use for T/EDP-R is ffs.
END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D