S60 3rd Edition devices with WLAN capability provide support for U-APSD (Unscheduled Automatic Power Save Delivery) scheme, part of WLAN QoS standard 802.11e/WMM. U-APSD is a power save scheme optimized for real-time applications transferring full-duplex data over WLAN (such as VoIP). By classifying outgoing IP traffic as 'Voice' data, these types of applications can increase battery life by approximately 25% and minimize transmit delays.
With normal (non-voice) traffic, each transmitted packet causes the WLAN driver to switch from power save (PS) to active mode. PS mode is re-enabled 100ms after there are no more packets to send. While this is suitable for typical network usage, VoIP traffic would cause the WLAN to constantly stay in active mode.
Furthermore, a WLAN device in (legacy) PS mode must wait for a 'beacon' signal from the access point and then poll for any incoming packets. Access point sends these signals at 100ms intervals.
When traffic is classified as Voice data, the WLAN device can stay in (U-APSD) power save mode during transmit. Also, delivery of incoming packets is triggered by sent packets, thus minimizing the delay caused by separate polling.
In order to set the Access Category to Voice (AC_VO), DSCP QoS bits of outgoing IP packet headers (TOS field in IPv4, TC in IPv6) must be modified.
This can be done at socket level (RSocket) as follows:
iSocket.SetOpt( KSoIpTOS, KProtocolInetIp, 0xE0 );
After this, the WLAN driver will recognize sent packets as belonging to the Voice Access Category. U-APSD power save scheme will be enabled, provided that it is supported also by the WLAN access point.