High Speed Uplink Packet Access (HSUPA)

Explains the HSUPA functionality supported by Symbian platform.

Introduction

The HSUPA functionality is supported by extending the multimode telephony API and the packet data telephony API. HSUPA is defined in 3GPP R6 specifications.

HSUPA provides users with a high speed uplink, which allows network operators to provide more interactive value-added data services. HSUPA improves data throughput and reduces delays by using technologies such as adaptive modulation and hybrid ARQ. The main advantages of using HSUPA is that it does not require any hardware modifications to existing network and phones that already supports 3G.

Developers who wish to use HSUPA functionality should include etelmm.dll and etelpckt.dll in their MMP files.

HSUPA support by the phone

The following steps enables the client applications to find out if the phone supports HSUPA or not:

  1. Create an instance of RMobilePhone

  2. Open a new RPacketService

  3. Call RPacketService::GetStaticCaps() to find out if HSUPA is supported by the phone

  4. The function returns with information regarding the support for 3G network service, HSUPA and HSDPA

HSUPA support by the network

Home network support

Clients can verify if the home network supports HSUPA by calling RMobilePhone::GetHomeNetwork(). The function returns the network support details in a TMobilePhoneNetworkInfoV8 object.

Current network support

Clients can verify if the current network supports HSUPA by calling RMobilePhone::GetCurrentNetwork(). The network support details are returned in a TMobilePhoneNetworkInfoV8 object. Clients can be notified of the changes to the current network by RMobilePhone::NotifyCurrentNetworkChange(). The change details are returned in a TMobilePhoneNetworkInfoV8 object.

HSUPA support by detected networks

Clients can verify if HSUPA is supported by other detected networks by calling CRetrieveMobilePhoneDetectedNetworks::StartV8(). This is a two-phase retrieval process. After calling the CRetrieveMobilePhoneDetectedNetworks::StartV8(), clients should call CMobilePhoneNetworkListV8 * CRetrieveMobilePhoneDetectedNetworks::RetrieveListV8L(). The network capabilities are returned in a TMobilePhoneNetworkInfo object.

Querying the HSUPA connection state

When clients have verified HSUPA support by the phone, they can query the state of a HSUPA connection by calling RPacketService::GetDynamicCaps().