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
6.5.1.1 IpAppDataSessionControlManager
<<Interface>> IpAppDataControlManager |
dataSessionAborted(dataSessionID : in TpSessionID) : TpResult dataSessionEventNotify(dataSessionReference : in TpdataSessionIdentifier , eventInfo : in TpDataSessionEventInfo , assignmentID : in TpAssignmentID , appInterface : out IpAppdataSessionRefRef) : TpResult dataSessionNotificationContinued() : TpResult dataSessionNotificationInterrupted(): TpResult |
6.5.1.2 IpDataSessionControlManager
<<Interface>> IpDataSessionControlManager |
enableDataSessionNotification(appInterface : in IpAppDataSessionControlManagerRef , eventCriteria : in TpDataSessionEventCriteria , assignmentID : out TpAssignmentIDRef) : TpResult disableDataSessionNotification(assignmentID : in TpAssignmentID) : TpResult |
6.5.1.3 IpAppDataSession
<<Interface>> 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 |
6.5.1.4 IpDataSession
<<Interface>> 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 |