6.5 Data Session Control

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

The Data Session Control provides a means to control per data session basis the establishment of a new data session. This means espcially in the GPRS context that the establishment of a PDP session is modelled not the attach/detach mode. Change of terminal location is assumed to be managed by the underlying network and is therefore not part of the model. The underlying assumption is that a terminal initiates a data session and the application can reject the request for data session establishment, can continue the establishment or can continue and change the destination as requested by the terminal.

The modelling is hold similar to the Generic Call Control but assuming a simpler underlying state model. An IpDataSessionManager and IpData Session object are the interfaces used by the application, whereas the IpAppDataSessionManager and the IpAppDataSession interfaces are implemented by the application.

Figure 6‑14: Data Session Control Packages

Figure 6-15: Data Session Control Class diagram Interface Classes

This section contains the detailed interface specifications of the interfaces shown in the Data Session Control Class diagram.

6.5.1 Interface Classes IpAppDataSessionControlManager



dataSessionAborted(dataSessionID : in TpSessionID) : TpResult

dataSessionEventNotify(dataSessionReference : in TpdataSessionIdentifier , eventInfo : in TpDataSessionEventInfo , assignmentID : in TpAssignmentID , appInterface : out IpAppdataSessionRefRef) : TpResult

dataSessionNotificationContinued() : TpResult

dataSessionNotificationInterrupted(): TpResult IpDataSessionControlManager



enableDataSessionNotification(appInterface : in IpAppDataSessionControlManagerRef , eventCriteria : in TpDataSessionEventCriteria , assignmentID : out TpAssignmentIDRef) : TpResult

disableDataSessionNotification(assignmentID : in TpAssignmentID) : TpResult IpAppDataSession



connectRes(dataSessionID : in TpSessionID , eventReport : in TpDataSessionEventReport, assignmentID : in TpAssignmentID) : TpResult

connectErr(dataSessionID : in TpSessionID , errorIndication : in TpDataSessionError, assignmentID : in TpAssignmentID) : TpResult

superviseDataSessionRes(dataSessionID : in TpSessionID , report : in TpDataSessionSuperviseReport, usedVolume : in TpDataSessionSuperviseVolume) : TpResult

superviseDataSessionErr(dataSessionID : in TpSessionID , errorIndication : in TpDataSessionError) : TpResult

dataSessionFaultDetected(dataSessionID : in TpSessionID , fault : in TpDataSessionFault) : TpResult IpDataSession



connectReq(dataSessionID : in TpSessionID , responseRequested : in TpDataSessionReportRequestSet , targetAddress : in TpAddress , assignmentID : out TpAssignmentIDRef) : TpResult

release(dataSessionID : in TpSessionID , cause : in TpDataSessionReleaseCause) : TpResult

superviseDataSessionReq(dataSessionID : in TpSessionID, treatment : in TpDataSessionSuperviseTreatment , bytes : in TpDataSessionSuperviseVolume) : TpResult

setDataSessionChargePlan(dataSessionID: in TpSessionID, dataSessionChargePlan: in TpDataSessionChargePlan): TpResult

setAdviceOfCharge(dataSessionID : in TpSessionID, aoCInfo : in TpAoCInfo, tariffSwitch : in TpDuration): TpResult