29.1983GPPOpen Service Architecture (OSA) Application Programming Interface (API) - Part 1Release 1999TS
Figure 7-16: State Transition Diagram for Data Session
7.4.1 Active state
In this state a data connection between two parties is being setup or established (refer to the substates for more details). The application can request the gateway for a certain type of charging by calling setDataSessionChargePlan(), send advice of charge information by calling setAdviceOfCharge(), and request supervision of the data session by calling superviseDataSessionReq().
188.8.131.52 Setup state
The Setup state is reached after a dataSessionEvebtNotify() indicates to the application that a data session is interested in being connected. If the application is going to connect the two parties by invoking connectReq() it may call the charging or supervision methods before.
184.108.40.206 Established state
In this state the data connection is established. If supervision has been requested the application expects the corresponding superviseDataSessionRes().
7.4.2 Network Released state
In this state the data session has ended. In the case on a normal user disconnection the transition to this state is indicated to the application by the disconnect report of connectRes(). But this will only happen if the application requested monitoring of the disconnect event before. An abnormal disconnection is indicated by dataSessionFaultDetected(). The application may wait for outstanding superviseDataSessionRes().
7.4.3 Finished state
In this state the data session has ended and no further data session related information is to be send to the application. The application can only release the data session object. If the application fails to invoke release() within a certain period of time the gateway should automatically release the object and send a timeout indication to the application.
7.4.4 Application released state.
In this state the application has released the data session object. If supervision has been requested the gateway will collect the information and send superviseDataRes() to the application.