API Reference | developer.brewmp.com API Reference | developer.brewmp.com

Developer

API Reference

IQOSSESSION

Brew Release
Brew MP 1.0.2
See Also
None.
Description
This interface represents a QoS Session (secondary PDP context in UMTS). QoS Session allows an incoming and outgoing IP packet stream to be treated according to a desired quality parameters to guarantee specialized behavior. The desired QoS is given by an IQoSSpec object which can contain QoS parameters for both directions - receive and transmit. The IQoSSpec specify both the relevant IP packet stream (filter spec) and also the desired quality parameters (flow spec). QoS Session applies the requested flow characteristics to the traffic identified by the filter spec.
Usage
In order to use a QoS Session, a client should: - Create a new IQoSSession object.
- Select the desired data network by calling IQoSSession_SelectNetwork().
- Register a listener callback for receiving QoS events by using IQoSSession_AddListener().
- Call IQoSSession_Open() with the desired IQoSSpec. IQoSSession_Open() performs
asynchronous operation and hence a return value of AEE_SUCCESS only means that the QOS request has been submitted. In the case where IQoSSession_Open() returns AEE_NET_WOULDBLOCK, use IQoSSession_AddRetryCB() to register a callback which will be resumed when the IQoSSession_Open() operation should be retried. - Wait for QoS event which indicates the status of the requested QoS. The QoS
event will be delivered through the listener callback that was previously registered. Receipt of a successful QoS event (e.g. AEE_QOS_AVAILABLE_MODIFIED_EV) means that the QoS Session is established and the client can start sending or receiving data using the granted QoS. - When the QoS Session is not needed anymore, call IQoSSession_Close().
IQoSSession_Close() performs asynchronous operation and hence a return value of AEE_SUCCESS only means that the request has been submitted. - Wait for QoS event which indicates that the session was closed. The QoS
event will be delivered through the listener callback that was previously registered. Receipt of the AEE_QOS_UNAVAILABLE_EV QoS event means that the QoS Session is closed and its resources are released.
For modifying QoS parameters for an established QoS Session, use IQoSSession_ModifyEx().
For retrieving the granted flow spec of a currently activated QoSSession, use IQoSSession_GetFlowSpec() or IQoSSession_GetGrantedFlowSpecDuringAnyState().
For retrieving the flow spec of a QoSSession that is currently not activated, use IQoSSession_GetGrantedFlowSpecDuringAnyState(). Note that the returned spec may or may not be identical to the spec granted when the session was previously activated. See documentation of IQoSSession_GetGrantedFlowSpecDuringAnyState().
For retrieving the status of the QoS Session, use IQoSSession_GetStatus().
For controlling dormancy of the QoS Session, use IQoSSession_GoActive() and IQoSSession_SetDormancyTimeout().
For suspending a granted QoS Session, use IQoSSession_Deactivate().
For retrieving the last error in a requested IQoSSpec, use IQoSSession_GetError().
The following header file is required:
BREW 4.0 - AEEIQoSSession.h BREW 3.1 - AEEQoSSession.h