This tutorial describes how to get the Call Completion to Busy Subscriber (CCBS) supplementary service information from the network.
GSM network (CCBS) supplementary service repeatedly calls a destination that is busy at the time of the initial call attempt.
The RMobilePhone methods are at phone-level because the mobile station must interrogate the network for the status of all CCBS requests at once. Each CCBS subscriber can have up to five CCBS requests outstanding at a time.
The high level steps to get the CCBS information are shown here:
The following code gets the list of active CCBS requests and prints the remote number for each.
The code assumes iMobilePhone is an RMobilePhone object.
void CClientApp::CCBSL() { // Create and start CCBS retriever CRetrieveMobilePhoneCcbsList* retrieveCCBSList = CRetrieveMobilePhoneCcbsList::NewL(iMobilePhone); CleanupStack::PushL(retrieveCCBSList); TRequestStatus status; retrieveCCBSList->Start(status); User::WaitForRequest(status); User::LeaveIfError(status.Int()); // Get the list of active CCBS requests CMobilePhoneCcbsList* ccbsList = retrieveCCBSList->RetrieveListL(); CleanupStack::PushL(ccbsList); // Print each remote number for which a CCBS request is active TInt nEntries = ccbsList->Enumerate(); RMobilePhone::TMobilePhoneCCBSEntryV1 ccbsEntry; for (TInt i=0; i<=nEntries; i++) { ccbsEntry = ccbsList->GetEntryL(i); console->Printf(_L("CCBS request to %S active\n"), ccbsEntry.iDestination.iTelNumber); } // Clean up CleanupStack::PopAndDestroy(2); // ccbsList, retrieveCCBSList }
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.