6.3 Generic Call Control

29.1983GPPOpen Service Architecture (OSA) Application Programming Interface (API) - Part 1Release 1999TS

The Generic Call Control SCF provides the basic call control capabilities for the API. It allows calls to be instantiated from the network and routed through the network. The call model is based around a central call model that has zero to two call legs that are active (i.e., being routed or connected), each of which represents the logical relationship between the call and an address. However, the application does not have direct access to the call legs. Generic Call Control supports functionality to allow call routing and call management for Camel Phase 3 and earlier services.

Generic Call Control is represented by the IpCallManager and IpCall interfaces that interface to services provided by the network. Some methods are asynchronous, in that they do not lock a thread into waiting whilst a transaction performs. In this way, the client machine can handle many more calls, than one that uses synchronous message calls. To handle responses and reports, the developer must implement IpAppCallManager and IpAppCall.

Figure 6‑9: Generic Call Control Packages

Figure 6-10: Generic Call Control Class diagram Interface Classes

This section contains the detailed interface specifications of the interfaces shown in the Generic Call Control Class diagram.

6.3.1 Interface Classes

6.3.1.1 IpAppCallControlManager

<<Interface>>

IpAppCallControlManager

callAborted(callReference : in TpSessionID) : TpResult

callEventNotify(callReference : in TpCallIdentifier , eventInfo : in TpCallEventInfo , assignmentID : in TpAssignmentID , appInterface : out IpAppCallRefRef) : TpResult

callNotificationInterrupted() : TpResult

callNotificationContinued(): TpResult

6.3.1.2 IpCallControlManager

<<Interface>>

IpCallControlManager

enableCallNotification(appInterface : in IpAppCallControlManagerRef , eventCriteria : in TpCallEventCriteria , assignmentID : out TpAssignmentIDRef) : TpResult

disableCallNotification(assignmentID : in TpAssignmentID) : TpResult

changeCallNotification(assignmentID : in TpAssignmentID , eventCriteria : in TpCallEventCriteria) : TpResult

getCriteria(eventCriteria : out TpCallEventCriteriaResultSet) : TpResult

6.3.1.3 IpAppCall

<<Interface>>

IpAppCall

routeRes(callSessionID : in TpSessionID , eventReport : in TpCallReport, callLegSessionID : in TpSessionID) : TpResult

routeErr(callSessionID : in TpSessionID , errorIndication : in TpCallError, callLegSessionID : in TpSessionID) : TpResult

getCallInfoRes(callSessionID : in TpSessionID , callInfoReport : in TpCallInfoReport) : TpResult

getCallInfoErr(callSessionID : in TpSessionID , errorIndication : in TpCallError) : TpResult

superviseCallRes(callSessionID : in TpSessionID , report : in TpCallSuperviseReport , usedTime : in TpDuration) : TpResult

superviseCallErr(callSessionID : in TpSessionID , errorIndication : in TpCallError) : TpResult

callFaultDetected(callSessionID : in TpSessionID , fault : in TpCallFault) : TpResult

callEnded(callSessionID : in TpSessionID , report : in TpCallEndedReport ) : TpResult

6.3.1.4 IpCall

<<Interface>>

IpCall

routeReq(callSessionID : in TpSessionID , responseRequested : in TpCallReportRequestSet , targetAddress : in TpAddress , originatingAddress : in TpAddress , originalDestinationAddress : in TpAddress , redirectingAddress : in TpAddress , appInfo : in TpCallAppInfoSet , callLegSessionID : out TpSessionIDRef ) : TpResult

release(callSessionID : in TpSessionID , cause : in TpCallReleaseCause) : TpResult

deassignCall(callSessionID : in TpSessionID) : TpResult

getCallInfoReq(callSessionID : in TpSessionID , callInfoRequested : in TpCallInfoType) : TpResult

setCallChargePlan(callSessionID : in TpSessionID , callChargePlan : in TpCallChargePlan) : TpResult

superviseCallReq(callSessionID : in TpSessionID , time : in TpDuration , treatment : in TpCallSuperviseTreatment) : TpResult

setAdviceOfCharge(callSessionID : in TpSessionID , aOCInfo : in TpAoCInfo , tariffSwitch : in TpDuration) : TpResult