6 IP Multimedia Subsystem Call Control

29.2783GPPCAMEL Application Part (CAP) specification for IP Multimedia Subsystems (IMS)Customized Applications for Mobile network Enhanced Logic (CAMEL) Phase 4Release 17TS

6.1 IM-SSF – gsmSCF Interface

6.1.1 Operations and arguments

CAP-IMSSF-gsmSCF-ops-args {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)

umts-network(1) modules(3) cap-IMSSF-gsmSCF-ops-args(111) version1(0)}

DEFINITIONS IMPLICIT TAGS ::= BEGIN

— This module contains the operations and operation arguments used for the

— IM-SSF – gsmSCF interface, for the control of IP Multimedia call sessions.

— Table 2.1.1 lists the specifications that contain the modules used by CAP.

IMPORTS

errortypes,

datatypes,

operationcodes,

classes,

tc-Messages,

ros-InformationObjects

FROM CAP-object-identifiers {ccitt(0) identified-organization(4) etsi(0) mobileDomain(0)
umts-network(1) modules(3) cap-object-identifiers(100) version3(2)}

iMSdatatypes,

iMSclasses

FROM CAP-IMS-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)
umts-network(1) modules(3) cap-IMS-object-identifiers(110) version1(0)}

OPERATION

FROM Remote-Operations-Information-Objects ros-InformationObjects

CallingPartysCategory,

HighLayerCompatibility,

RedirectionInformation,

ServiceKey

FROM CS1-DataTypes {ccitt(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)

modules(0) cs1-datatypes(2) version1(0)}

MiscCallInfo

FROM CS2-datatypes {ccitt(0) identified-organization(4) etsi(0) inDomain(1) in-network(1)

cs2(20) modules(0) in-cs2-datatypes (0) version1(0)}

Ext-BasicServiceCode,

IMSI,

ISDN-AddressString

FROM MAP-CommonDataTypes {ccitt(0) identified-organization(4) etsi(0) mobileDomain(0)

gsm-Network(1) modules(3) map-CommonDataTypes(18) version6(6)}

CUG-Index,

CUG-Interlock,

CUG-Info,

LocationInformation,

SubscriberState

FROM MAP-MS-DataTypes {ccitt(0) identified-organization(4) etsi(0) mobileDomain(0)

gsm-Network(1) modules(3) map-MS-DataTypes(11) version6(6)}

CallReferenceNumber,

SuppressionOfAnnouncement

FROM MAP-CH-DataTypes {ccitt(0) identified-organization(4) etsi(0) mobileDomain(0)

gsm-Network(1) modules(3) map-CH-DataTypes(13) version6(6)}

PARAMETERS-BOUND

FROM CAP-classes classes

IMS-PARAMETERS-BOUND

FROM CAP-IMS-classes iMSclasses

opcode-activityTest,

opcode-applyCharging,

opcode-applyChargingReport,

opcode-callGap,

opcode-callInformationReport,

opcode-callInformationRequest,

opcode-cancel,

opcode-connect,

opcode-connectToResource,

opcode-continue,

opcode-continueWithArgument,

opcode-disconnectForwardConnection,

opcode-eventReportBCSM,

opcode-furnishChargingInformation,

opcode-initialDP,

opcode-releaseCall,

opcode-requestReportBCSMEvent,

opcode-resetTimer

FROM CAP-operationcodes operationcodes

AChBillingChargingCharacteristics {},

AdditionalCallingPartyNumber {},

AlertingPattern,

AssistingSSPIPRoutingAddress {},

BCSMEvent,

BearerCapability {},

CalledPartyNumber {},

CalledPartyBCDNumber {},

CallingPartyNumber {},

CallResult {},

Carrier,

Cause {},

CGEncountered,

ChargeNumber {},

ControlType,

CorrelationID {},

DestinationRoutingAddress {},

EventSpecificInformationBCSM {},

EventTypeBCSM,

Extensions {},

FCIBillingChargingCharacteristics {},

GapCriteria {},

GapIndicators,

GapTreatment,

GenericNumbers {},

InvokeID,

IPRoutingAddress {},

IPSSPCapabilities {},

leg1,

LocationNumber {},

MonitorMode,

NAOliInfo,

OCSIApplicable,

OriginalCalledPartyID {},

ReceivingSideID,

RedirectingPartyID {},

RequestedInformationList {},

RequestedInformationTypeList,

ScfID {},

SCIBillingChargingCharacteristics {},

SendingSideID,

ServiceInteractionIndicatorsTwo,

TimeAndTimezone {},

TimerID,

TimerValue

FROM CAP-datatypes {ccitt(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-datatypes(52) version3(2)}

CldClgPartyURL {},

MediaTypeInfoList {},

SIPCallId {}

FROM CAP-IMS-datatypes iMSdatatypes

cancelFailed,

eTCFailed,

missingCustomerRecord,

missingParameter,

parameterOutOfRange,

requestedInfoError,

systemFailure,

taskRefused,

unexpectedComponentSequence,

unexpectedDataValue,

unexpectedParameter,

unknownLegID

FROM CAP-errortypes {ccitt(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-errortypes(51) version3(2)}

;

activityTest OPERATION ::= {

RETURN RESULT TRUE

CODE opcode-activityTest

}

— Direction: gsmSCF -> IM-SSF, Timer: Tat

— This operation is used to check for the continued existence of a relationship

— between the gsmSCF andIM-SSF. If the relationship is

— still in existence, then the IM-SSF will respond. If no reply is received,

— then the gsmSCF will assume that the IM-SSF has failed

— in some way.

applyCharging {PARAMETERS-BOUND : bound} OPERATION ::= {

ARGUMENT ApplyChargingArg {bound}

RETURN RESULT FALSE

ERRORS {missingParameter |

unexpectedComponentSequence |

unexpectedParameter |

unexpectedDataValue |

parameterOutOfRange |

systemFailure |

taskRefused|

unknownLegID}

CODE opcode-applyCharging

}

— Direction: gsmSCF -> IM-SSF, Timer: Tac

— This operation is used for interacting from the gsmSCF with the IM-SSF charging mechanisms.

— The ApplyChargingReport operation provides the feedback from the IM-SSF to the gsmSCF.

ApplyChargingArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {

aChBillingChargingCharacteristics [0] AChBillingChargingCharacteristics {bound},

partyToCharge [2] SendingSideID DEFAULT sendingSideID : leg1,

extensions [3] Extensions {bound} OPTIONAL,

}

— The partyToCharge parameter indicates the party in the call to which the ApplyCharging operation

— shall be applied.

applyChargingReport {PARAMETERS-BOUND : bound} OPERATION ::= {

ARGUMENT ApplyChargingReportArg {bound}

RETURN RESULT FALSE

ERRORS {missingParameter |

unexpectedComponentSequence |

unexpectedParameter |

unexpectedDataValue |

parameterOutOfRange |

systemFailure |

taskRefused}

CODE opcode-applyChargingReport

}

— Direction: IM-SSF -> gsmSCF, Timer: Tacr

— This operation is used by the IM-SSF to report to the gsmSCF the occurrence of a

— specific charging event as requested by the gsmSCF using the ApplyCharging operation.

ApplyChargingReportArg {PARAMETERS-BOUND : bound} ::= CallResult {bound}

callGap {PARAMETERS-BOUND : bound} OPERATION ::= {

ARGUMENT CallGapArg {bound}

RETURN RESULT FALSE

ALWAYS RESPONDS FALSE

CODE opcode-callGap

}

— Direction: IM-SSF -> gsmSSF, Timer: Tcg

— This operation is used to request the IM-SSF to reduce the rate at which specific service

— requests are sent to the gsmSCF.

CallGapArg {PARAMETERS-BOUND : bound}::= SEQUENCE {

gapCriteria [0] GapCriteria {bound},

gapIndicators [1] GapIndicators,

controlType [2] ControlType OPTIONAL,

gapTreatment [3] GapTreatment {bound} OPTIONAL,

extensions [4] Extensions {bound} OPTIONAL,

}

— OPTIONAL denotes network operator optional. If gapTreatment is not present, the IM-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: IM-SSF -> gsmSCF, Timer: Tcirp

— This operation is used to send specific call information for a single call party to the gsmSCF as

— requested by the gsmSCF in a previous CallInformationRequest.

CallInformationReportArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {

requestedInformationList [0] RequestedInformationList {bound},

extensions [2] Extensions {bound} OPTIONAL,

legID [3] ReceivingSideID OPTIONAL,

}

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: gsmSCF -> IM-SSF, Timer: Tcirq

— This operation is used to request the IM-SSF to record specific information about a single
— call party and report it to the gsmSCF (with a CallInformationReport operation).

CallInformationRequestArg {PARAMETERS-BOUND : bound}::= SEQUENCE {

requestedInformationTypeList [0] RequestedInformationTypeList,

extensions [2] Extensions {bound} OPTIONAL,

legID [3] SendingSideID OPTIONAL,

}

— OPTIONAL denotes network operator optional.

cancel OPERATION ::= {

ARGUMENT CancelArg

RETURN RESULT FALSE

ERRORS {cancelFailed |

missingParameter |

taskRefused}

CODE opcode-cancel

}

— Direction: gsmSCF -> IM-SSF, Timer: Tcan

— This operation cancels the correlated previous operation or all previous requests. The following

— operations can be canceled: PlayAnnouncement, PromptAndCollectUserInformation.

CancelArg ::= CHOICE {

invokeID [0] InvokeID,

allRequests [1] NULL

}

— The InvokeID has the same value as that which was used for the operation to be cancelled.

connect {PARAMETERS-BOUND : bound, IMS-PARAMETERS-BOUND : imsBound } OPERATION ::= {

ARGUMENT ConnectArg {bound, imsBound}

RETURN RESULT FALSE

ERRORS {missingParameter |

parameterOutOfRange |

systemFailure |

taskRefused |

unexpectedComponentSequence |

unexpectedDataValue |

unexpectedParameter}

CODE opcode-connect

}

— Direction: gsmSCF-> IM-SSF, Timer: Tcon

— This operation is used to request the IM-SSF to perform the call processing actions

— to route or forward a call to a specified destination.

ConnectArg {PARAMETERS-BOUND : bound, IMS-PARAMETERS-BOUND : imsBound} ::= SEQUENCE {

destinationRoutingAddress [0] DestinationRoutingAddress {bound} OPTIONAL,

alertingPattern [1] AlertingPattern OPTIONAL,

originalCalledPartyID [6] OriginalCalledPartyID {bound} OPTIONAL,

extensions [10] Extensions {bound} OPTIONAL,

carrier [11] Carrier {bound} OPTIONAL,

callingPartysCategory [28] CallingPartysCategory OPTIONAL,

redirectingPartyID [29] RedirectingPartyID {bound} OPTIONAL,

redirectionInformation [30] RedirectionInformation OPTIONAL,

genericNumbers [14] GenericNumbers {bound} OPTIONAL,

serviceInteractionIndicatorsTwo [15] ServiceInteractionIndicatorsTwo OPTIONAL,

chargeNumber [19] ChargeNumber {bound} OPTIONAL,

cug-Interlock [31] CUG-Interlock OPTIONAL,

cug-OutgoingAccess [32] NULL OPTIONAL,

suppressionOfAnnouncement [55] SuppressionOfAnnouncement OPTIONAL,

oCSIApplicable [56] OCSIApplicable OPTIONAL,

naOliInfo [57] NAOliInfo OPTIONAL,

…,

connectArgExtension [58] ConnectArgExtension {imsBound} OPTIONAL

}

— The following parameters in ConnectArg are not use for IMS:

— carrier

— alertingPattern

— genericNumbers

— serviceInteractionIndicatorsTwo

— chargeNumber

— cug-Interlock

— cug-OutgoingAccess

— suppressionOfAnnouncement

— oCSIApplicable

— naOliInfo

ConnectArgExtension {IMS-PARAMETERS-BOUND : imsBound} ::= SEQUENCE {

destinationRoutingAddressURL [0] CldClgPartyURL {imsBound} OPTIONAL,

originalCalledPartyURL [1] CldClgPartyURL{imsBound} OPTIONAL,

redirectingPartyURL [2] CldClgPartyURL {imsBound} OPTIONAL,

}

connectToResource OPERATION ::= {

RETURN RESULT FALSE

ALWAYS RESPONDS FALSE

CODE opcode-connectToResource

}

— Direction: gsmSCF ->IM-SSF, Timer: Tctr

— This operation is used to connect a call from the IM-SSF to the MRFC via S-CSCF.

— Refer to clause 9 for a description of the procedures associated with this operation.

continue OPERATION ::= {

RETURN RESULT FALSE

ALWAYS RESPONDS FALSE

CODE opcode-continue

}

— Direction: gsmSCF -> IM-SSF, Timer: Tcue

— This operation is used to request the IM-SSF to proceed with call processing at the

— DP at which it previously suspended call processing to await gsmSCF instructions

— (i.e. proceed to the next point in call in the BCSM). The IM-SSF continues call

— processing without substituting new data from gsmSCF.

continueWithArgument {PARAMETERS-BOUND : bound} OPERATION ::= {

ARGUMENT ContinueWithArgumentArg {bound}

RETURN RESULT FALSE

ERRORS {missingParameter |

parameterOutOfRange |

unexpectedComponentSequence |

unexpectedDataValue |

unexpectedParameter}

CODE opcode-continueWithArgument

}

— Direction: gsmSCF -> IM-SSF, Timer: Tcwa

— This operation is used to request the IM-SSF to proceed with call processing at the

— DP at which it previously suspended call processing to await gsmSCF instructions

— (i.e. proceed to the next point in call in the BCSM). The IM-SSF continues call

— processing with the modified call setup information as received from the gsmSCF.

ContinueWithArgumentArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {

alertingPattern [1] AlertingPattern OPTIONAL,

extensions [6] Extensions {bound} OPTIONAL,

serviceInteractionIndicatorsTwo [7] ServiceInteractionIndicatorsTwo OPTIONAL,

callingPartysCategory [12] CallingPartysCategory OPTIONAL,

genericNumbers [16] GenericNumbers {bound} OPTIONAL,

cug-Interlock [17] CUG-Interlock OPTIONAL,

cug-OutgoingAccess [18] NULL OPTIONAL,

chargeNumber [50] ChargeNumber {bound} OPTIONAL,

carrier [52] Carrier {bound} OPTIONAL,

suppressionOfAnnouncement [55] SuppressionOfAnnouncement OPTIONAL,

naOliInfo [56] NAOliInfo OPTIONAL,

}

— The following parameters in ConnectArg are not use for IMS:

— carrier

— alertingPattern

— genericNumbers

— serviceInteractionIndicatorsTwo

— chargeNumber

— cug-Interlock

— cug-OutgoingAccess

— suppressionOfAnnouncement

— naOliInfo

disconnectForwardConnection OPERATION ::= {

RETURN RESULT FALSE

ERRORS {systemFailure |

taskRefused |

unexpectedComponentSequence}

CODE opcode-disconnectForwardConnection

}

— Direction: gsmSCF -> IM-SSF, Timer: Tdfc

— This operation is used to disconnect a connection to a

— resource. Refer to clause 9 for a description of the procedures associated with this operation.

eventReportBCSM {PARAMETERS-BOUND : bound} OPERATION ::= {

ARGUMENT EventReportBCSMArg {bound}

RETURN RESULT FALSE

ALWAYS RESPONDS FALSE

CODE opcode-eventReportBCSM

}

— Direction: IM-SSF -> gsmSCF, Timer: Terb

— This operation is used to notify the gsmSCF of a call-related event (e.g. BCSM

— events such as busy or no answer) previously requested by the gsmSCF in a

— RequestReportBCSMEvent operation.

EventReportBCSMArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {

eventTypeBCSM [0] EventTypeBCSM,

eventSpecificInformationBCSM [2] EventSpecificInformationBCSM {bound} OPTIONAL,

legID [3] ReceivingSideID OPTIONAL,

miscCallInfo [4] MiscCallInfo DEFAULT {messageType request},

extensions [5] Extensions {bound} OPTIONAL,

}

furnishChargingInformation {PARAMETERS-BOUND : bound} OPERATION ::= {

ARGUMENT FurnishChargingInformationArg {bound}

RETURN RESULT FALSE

ERRORS {missingParameter |

taskRefused |

unexpectedComponentSequence |

unexpectedDataValue |

unexpectedParameter}

CODE opcode-furnishChargingInformation

}

— Direction: gsmSCF -> IM-SSF, Timer: Tfci

— This operation is used to request the IM-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}

initialDP {PARAMETERS-BOUND : bound, IMS-PARAMETERS-BOUND : imsBound} OPERATION ::= {

ARGUMENT InitialDPArg {bound, imsBound}

RETURN RESULT FALSE

ERRORS {missingCustomerRecord |

missingParameter |

parameterOutOfRange |

systemFailure |

taskRefused |

unexpectedComponentSequence |

unexpectedDataValue |

unexpectedParameter}

CODE opcode-initialDP

}

— Direction: gsmSSF -> gsmSCF, Timer: Tidp

— This operation is used after a TDP to indicate request for service.

InitialDPArg {PARAMETERS-BOUND : bound, IMS-PARAMETERS-BOUND : imsBound} ::= SEQUENCE {

serviceKey [0] ServiceKey ,

calledPartyNumber [2] CalledPartyNumber {bound} OPTIONAL,

callingPartyNumber [3] CallingPartyNumber {bound} OPTIONAL,

callingPartysCategory [5] CallingPartysCategory OPTIONAL,

cGEncountered [7] CGEncountered OPTIONAL,

iPSSPCapabilities [8] IPSSPCapabilities {bound} OPTIONAL,

locationNumber [10] LocationNumber {bound} OPTIONAL,

originalCalledPartyID [12] OriginalCalledPartyID {bound} OPTIONAL,

extensions [15] Extensions {bound} OPTIONAL,

highLayerCompatibility [23] HighLayerCompatibility OPTIONAL,

additionalCallingPartyNumber [25] AdditionalCallingPartyNumber {bound} OPTIONAL,

bearerCapability [27] BearerCapability {bound} OPTIONAL,

eventTypeBCSM [28] EventTypeBCSM OPTIONAL,

redirectingPartyID [29] RedirectingPartyID {bound} OPTIONAL,

redirectionInformation [30] RedirectionInformation OPTIONAL,

cause [17] Cause {bound} OPTIONAL,

serviceInteractionIndicatorsTwo [32] ServiceInteractionIndicatorsTwo OPTIONAL,

carrier [37] Carrier {bound} OPTIONAL,

cug-Index [45] CUG-Index OPTIONAL,

cug-Interlock [46] CUG-Interlock OPTIONAL,

cug-OutgoingAccess [47] NULL OPTIONAL, iMSI [50] IMSI OPTIONAL,

subscriberState [51] SubscriberState OPTIONAL,

locationInformation [52] LocationInformation OPTIONAL,

ext-basicServiceCode [53] Ext-BasicServiceCode OPTIONAL,

callReferenceNumber [54] CallReferenceNumber OPTIONAL,

iMSSFAddress [55] ISDN-AddressString OPTIONAL,

calledPartyBCDNumber [56] CalledPartyBCDNumber {bound} OPTIONAL,

timeAndTimezone [57] TimeAndTimezone {bound} OPTIONAL,

gsm-ForwardingPending [58] NULL OPTIONAL,

initialDPArgExtension [59] InitialDPArgExtension {imsBound} OPTIONAL,

}

— The following parameters in InitialDPArg are not used for IMS:

— locationNumber

— highLayerCompatibility

— additionalCallingPartyNumber

— bearerCapability

— serviceInteractionIndicatorsTwo

— carrier

— cug-Index

— cug-Interlock

— cug-OutgoingAccess

— locationInformation

— ext-basicServiceCode

— callReferenceNumber,

— calledPartyBCDNumber

— gsm-ForwardingPending

InitialDPArgExtension {IMS-PARAMETERS-BOUND : imsBound} ::= SEQUENCE {

gmscAddress [0] ISDN-AddressString OPTIONAL,

mediaTypeInfoList [1] MediaTypeInfoList {imsBound} OPTIONAL,

sipCallId [2] SIPCallId {imsBound} OPTIONAL,

calledPartyURL [3] CldClgPartyURL {imsBound} OPTIONAL,

callingPartyURL [4] CldClgPartyURL{imsBound} OPTIONAL,

originalCalledPartyURL [5] CldClgPartyURL {imsBound} OPTIONAL,

redirectingPartyURL [6] CldClgPartyURL {imsBound} OPTIONAL,

}

— The gmscAddress parameter in InitialDPArgExtension is not used for IMS.

releaseCall {PARAMETERS-BOUND : bound} OPERATION ::= {

ARGUMENT ReleaseCallArg {bound}

RETURN RESULT FALSE

ALWAYS RESPONDS FALSE

CODE opcode-releaseCall

}

— Direction: gsmSCF ->IM-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} ::= Cause {bound}

— A default value of decimal 31 (normal unspecified) shall be given.

requestReportBCSMEvent {PARAMETERS-BOUND : bound} OPERATION ::= {

ARGUMENT RequestReportBCSMEventArg {bound}

RETURN RESULT FALSE

ERRORS {missingParameter |

parameterOutOfRange |

systemFailure |

taskRefused |

unexpectedComponentSequence |

unexpectedDataValue |

unexpectedParameter |

unknownLegID}

CODE opcode-requestReportBCSMEvent

}

— Direction: gsmSCF -> IM-SSF, Timer: Trrb

— This operation is used to request the IM-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 gsmSCF when

— the event is detected.

— NOTE:

— Every EDP must be explicitly armed by the gsmSCF via a RequestReportBCSMEvent operation.

— No implicit arming of EDPs at the IM-SSF after reception of any operation (different

— from RequestReportBCSMEvent) from the gsmSCF is allowed.

RequestReportBCSMEventArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {

bcsmEvents [0] SEQUENCE SIZE(1..bound.&numOfBCSMEvents) OF BCSMEvent,

extensions [2] Extensions {bound} OPTIONAL,

}

— Indicates the BCSM related events for notification.

resetTimer {PARAMETERS-BOUND : bound} OPERATION ::= {

ARGUMENT ResetTimerArg {bound}

RETURN RESULT FALSE

ERRORS {missingParameter |

parameterOutOfRange |

taskRefused |

unexpectedComponentSequence |

unexpectedDataValue |

unexpectedParameter}

CODE opcode-resetTimer

}

— Direction: gsmSCF -> IM-SSF, Timer: Trt

— This operation is used to request the IM-SSF to refresh an application timer in the IM-SSF.

ResetTimerArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {

timerID [0] TimerID DEFAULT tssf,

timervalue [1] TimerValue,

extensions [2] Extensions {bound} OPTIONAL,

}

END

The following value ranges apply for operation specific timers in CAP:

short: 1 s – 10 s

medium: 1 s – 60 s

long: 1 s – 30 minutes

Table 6.1.1.1 lists all operation timers and the value range for each timer. The definitive value for each operation timer may be network specific and has to be defined by the network operator.

Table 6.1.1.1: Timer value ranges

Operation Name

Timer

Value range

ActivityTest

Tat

short

ApplyCharging

Tac

short

ApplyChargingReport

Tacr

short

CallInformationReport

Tcirp

short

CallInformationRequest

Tcirq

short

Cancel

Tcan

short

CallGap

Tcg

short

Connect

Tcon

short

ConnectToResource

Tctr

short

Continue

Tcue

short

ContinueWithArgument

Tcwa

short

DisconnectForwardConnection

Tdfc

short

EventReportBCSM

Terb

short

FurnishChargingInformation

Tfci

short

InitialDP

Tidp

short

ReleaseCall

Trc

short

RequestReportBCSMEvent

Trrb

short

ResetTimer

Trt

short

6.1.2 IM-SSF/gsmSCF packages, contracts and ACs

6.1.2.1 IM-SSF/gsmSCF ASN.1 module

CAP-IMSSF-gsmSCF-pkgs-contracts-acs {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-IMSSF-gsmSCF-pkgs-contracts-acs(112) version1(0)}

DEFINITIONS ::= BEGIN

— This module specifies the Operation Packages, Contracts, Application Contexts

— and Abstract Syntaxes used for the IM-SSF – gsmSCF interface used for the control of

— IP Multimedica call sessions.

— Table 2.1.1 lists the specifications that contain the modules used by CAP.

IMPORTS

PARAMETERS-BOUND,

cAPSpecificBoundSet

FROM CAP-classes classes

IMS-PARAMETERS-BOUND,

ims-CAPSpecificBoundSet

FROM CAP-IMS-classes iMSclasses

CONTRACT,

OPERATION-PACKAGE,

OPERATION

FROM Remote-Operations-Information-Objects ros-InformationObjects

TCMessage {}

FROM TCAPMessages tc-Messages

APPLICATION-CONTEXT,

dialogue-abstract-syntax

FROM TC-Notation-Extensions tc-NotationExtensions

activityTest,

applyCharging {},

applyChargingReport {},

callGap {},

callInformationReport {},

callInformationRequest {},

cancel ,

connect {},

connectToResource,

continue,

continueWithArgument {},

disconnectForwardConnection,

eventReportBCSM {},

furnishChargingInformation {},

initialDP {},

releaseCall {},

requestReportBCSMEvent {},

resetTimer {}

FROM CAP-IMSSF-gsmSCF-ops-args iMSSF-gsmSCF-Operations

playAnnouncement {},

promptAndCollectUserInformation {},

specializedResourceReport

FROM CAP-gsmSCF-gsmSRF-ops-args gsmSCF-gsmSRF-Operations

specializedResourceControlPackage {}

FROM CAP-gsmSCF-gsmSRF-pkgs-contracts-acs gsmSCF-gsmSRF-Protocol

id-as-gsmSSF-scfGenericAS,

id-package-scfActivation,

id-package-genericDisconnectResource,

id-package-nonAssistedConnectionEstablishment,

id-package-connect,

id-package-callHandling,

id-package-bcsmEventHandling,

id-package-ssfCallProcessing,

id-package-timer,

id-package-billing,

id-package-charging,

id-package-trafficManagement,

id-package-callReport,

id-package-signallingControl,

id-package-activityTest,

id-package-cancel,

classes,

ros-InformationObjects,

tc-Messages,

tc-NotationExtensions,

gsmSCF-gsmSRF-Operations,

gsmSCF-gsmSRF-Protocol

FROM CAP-object-identifiers {ccitt(0) identified-organization(4) etsi(0) mobileDomain(0)

umts-network(1) modules(3) cap-object-identifiers(100) version3(2)}

id-ac-CAP-IMSSF-scfGenericAC,

id-CAPImssfToScfGeneric,

iMSclasses,

iMSSF-gsmSCF-Operations

FROM CAP-IMS-object-identifiers {itu-t(0) identified-organization(4) etsi(0) mobileDomain(0)

umts-network(1) modules(3) cap-IMS-object-identifiers(110) version4(3)}

;

— Application Contexts

cap-IMSSF-scfGenericAC APPLICATION-CONTEXT ::= {

CONTRACT capImssfToScfGeneric

DIALOGUE MODE structured

ABSTRACT SYNTAXES {dialogue-abstract-syntax |

gsmSSF-scfGenericAbstractSyntax}

APPLICATION CONTEXT NAME id-ac-CAP-IMSSF-scfGenericAC}

— Contracts

capImssfToScfGeneric CONTRACT ::= {

— dialogue initiated by IM-SSF with InitialDP Operation

INITIATOR CONSUMER OF

{scfActivationPackage {cAPSpecificBoundSet,

ims-CAPSpecificBoundSet}}

RESPONDER CONSUMER OF

{activityTestPackage|

bcsmEventHandlingPackage {cAPSpecificBoundSet} |

billingPackage {cAPSpecificBoundSet} |

callHandlingPackage {cAPSpecificBoundSet} |

callReportPackage {cAPSpecificBoundSet} |

cancelPackage |

chargingPackage {cAPSpecificBoundSet} |

connectPackage {cAPSpecificBoundSet,

ims-CAPSpecificBoundSet} |

genericDisconnectResourcePackage |

nonAssistedConnectionEstablishmentPackage |

specializedResourceControlPackage {cAPSpecificBoundSet} |

ssfCallProcessingPackage {cAPSpecificBoundSet} |

timerPackage {cAPSpecificBoundSet} |

trafficManagementPackage {cAPSpecificBoundSet}}

ID id-CAPImssfToScfGeneric

}

— Operation Packages

scfActivationPackage {PARAMETERS-BOUND : bound, IMS-PARAMETERS-BOUND : imsBound} OPERATION-PACKAGE ::= {

CONSUMER INVOKES {initialDP {bound, imsBound}}

ID id-package-scfActivation}

genericDisconnectResourcePackage OPERATION-PACKAGE ::= {

CONSUMER INVOKES {disconnectForwardConnection}

ID id-package-genericDisconnectResource}

nonAssistedConnectionEstablishmentPackage OPERATION-PACKAGE ::= {

CONSUMER INVOKES {connectToResource}

ID id-package-nonAssistedConnectionEstablishment}

connectPackage {PARAMETERS-BOUND : bound, IMS-PARAMETERS-BOUND : imsBound} OPERATION-PACKAGE ::= {

CONSUMER INVOKES {connect {bound, imsBound}}

ID id-package-connect}

callHandlingPackage {PARAMETERS-BOUND : bound} OPERATION-PACKAGE ::= {

CONSUMER INVOKES {releaseCall {bound}}

ID id-package-callHandling}

bcsmEventHandlingPackage {PARAMETERS-BOUND : bound} OPERATION-PACKAGE ::= {

CONSUMER INVOKES {requestReportBCSMEvent {bound}}

SUPPLIER INVOKES {eventReportBCSM {bound}}

ID id-package-bcsmEventHandling}

ssfCallProcessingPackage {PARAMETERS-BOUND : bound} OPERATION-PACKAGE ::= {

CONSUMER INVOKES {continueWithArgument {bound} | continue}

ID id-package-ssfCallProcessing}

timerPackage {PARAMETERS-BOUND : bound} OPERATION-PACKAGE ::= {

CONSUMER INVOKES {resetTimer {bound}}

ID id-package-timer}

billingPackage {PARAMETERS-BOUND : bound} OPERATION-PACKAGE ::= {

CONSUMER INVOKES {furnishChargingInformation {bound}}

ID id-package-billing}

chargingPackage {PARAMETERS-BOUND : bound} OPERATION-PACKAGE ::= {

CONSUMER INVOKES {applyCharging {bound}}

SUPPLIER INVOKES {applyChargingReport {bound}}

ID id-package-charging}

trafficManagementPackage {PARAMETERS-BOUND : bound} OPERATION-PACKAGE ::= {

CONSUMER INVOKES {callGap {bound}}

ID id-package-trafficManagement}

callReportPackage {PARAMETERS-BOUND : bound} OPERATION-PACKAGE ::= {

CONSUMER INVOKES {callInformationRequest {bound}}

SUPPLIER INVOKES {callInformationReport {bound}}

ID id-package-callReport}

activityTestPackage OPERATION-PACKAGE ::= {

CONSUMER INVOKES {activityTest}

ID id-package-activityTest}

cancelPackage OPERATION-PACKAGE ::= {

CONSUMER INVOKES {cancel}

ID id-package-cancel}

— Abstract Syntaxes

gsmSSF-scfGenericAbstractSyntax ABSTRACT-SYNTAX ::= {

GenericSSF-gsmSCF-PDUs

IDENTIFIED BY id-as-gsmSSF-scfGenericAS}

GenericSSF-gsmSCF-PDUs ::= TCMessage {{SsfToScfGenericInvokable},

{SsfToScfGenericReturnable}}

SsfToScfGenericInvokable OPERATION ::= {

activityTest |

applyCharging {cAPSpecificBoundSet} |

applyChargingReport {cAPSpecificBoundSet} |

callInformationReport {cAPSpecificBoundSet} |

callInformationRequest {cAPSpecificBoundSet} |

cancel |

connect {cAPSpecificBoundSet, ims-CAPSpecificBoundSet} |

continueWithArgument {cAPSpecificBoundSet} |

connectToResource|

disconnectForwardConnection |

eventReportBCSM {cAPSpecificBoundSet} |

furnishChargingInformation {cAPSpecificBoundSet} |

initialDP {cAPSpecificBoundSet, ims-CAPSpecificBoundSet} |

releaseCall {cAPSpecificBoundSet} |

requestReportBCSMEvent {cAPSpecificBoundSet} |

resetTimer {cAPSpecificBoundSet} |

playAnnouncement {cAPSpecificBoundSet} |

promptAndCollectUserInformation {cAPSpecificBoundSet} |

specializedResourceReport

}

SsfToScfGenericReturnable OPERATION ::= {

activityTest |

applyCharging {cAPSpecificBoundSet} |

applyChargingReport {cAPSpecificBoundSet} |

callGap {cAPSpecificBoundSet} |

callInformationRequest {cAPSpecificBoundSet} |

cancel |

connect {cAPSpecificBoundSet, ims-CAPSpecificBoundSet} |

connectToResource |

continue |

continueWithArgument {cAPSpecificBoundSet} |

disconnectForwardConnection |

furnishChargingInformation {cAPSpecificBoundSet}|

initialDP {cAPSpecificBoundSet, ims-CAPSpecificBoundSet}|

releaseCall {cAPSpecificBoundSet}|

requestReportBCSMEvent {cAPSpecificBoundSet}|

resetTimer {cAPSpecificBoundSet}|

playAnnouncement {cAPSpecificBoundSet}|

promptAndCollectUserInformation {cAPSpecificBoundSet}

}

END

6.2 gsmSCF/gsmSRF interface

ASN.1 definitions used for the gsmSCF/gsmSRF interface are found in TS 29.078 [11].