HSCSD Call Parameters Tutorial

This tutorial explains how to get and set the High Speed Circuit Switched Data (HSCSD) call parameters.

The HSCSD provides fast data services on 2G GSM networks by using multiple channel slots for a single call.

Parameters for HSCSD data calls are stored by the RMobileCall::TMobileHscsdCallParamsV1 class. The class inherits from RMobileCall::TMobileDataCallParamsV1, which in turn derives from RMobileCall::TMobileCallParamsV1, which in turn derives from RCall::TCallParams.

  1. Send a package object to RCall::Dial() to set the call parameters for outbound calls.
  2. Send the package object to RCall::AnswerIncomingCall() to set the parameters for inbound calls.
  3. Use RCall::GetCallParams() to get the HSCSD parameters.
  4. Use RMobileCall::SetDynamicHscsdParams() to dynamically change the HSCSD call parameters.
  5. Use RMobileCall::GetCurrentHscsdInfo() to get the current HSCSD parameters of the call. Parameters are returned in an RMobileCall::TMobileCallHscsdInfoV1 object.
  6. Use RMobileCall::NotifyHscsdInfoChange() to get the notification of any network initiated changes to the HSCSD parameters.

HSCSD parameters example

The following code describes how to get the HSCD air interface user rate of a call.

RMobileCall::TMobileCallAiur CClientApp::HSCDAiurL(const RMobileCall& aCall)
    {
    RMobileCall::TMobileCallHscsdInfoV1 hscsdInfo;
    RMobileCall::TMobileCallHscsdInfoV1Pckg hscsdInfoPckg(hscsdInfo);

    User::LeaveIfError(aCall.GetCurrentHscsdInfo(hscsdInfoPckg));
    return hscsdInfo.iAiur;
    }