Symbian3/PDK/Source/GUID-E2AF923A-D796-5DA9-B678-C6E2ABF7A6CC.dita
changeset 1 25a17d01db0c
child 3 46218c8b8afa
equal deleted inserted replaced
0:89d6a7a84779 1:25a17d01db0c
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE task
       
    11   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
       
    12 <task id="GUID-E2AF923A-D796-5DA9-B678-C6E2ABF7A6CC" xml:lang="en"><title>Call
       
    13 Completion to Busy Subscriber Tutorial</title><shortdesc>This tutorial describes how to get the Call Completion to Busy
       
    14 Subscriber (CCBS) supplementary service information from the network. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
       
    15 <context><p>GSM network (CCBS) supplementary service repeatedly calls a destination
       
    16 that is busy at the time of the initial call attempt.</p><p>The <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone</apiname></xref> methods
       
    17 are at phone-level because the mobile station must interrogate the network
       
    18 for the status of all CCBS requests at once. Each CCBS subscriber can have
       
    19 up to five CCBS requests outstanding at a time.  
       
    20 </p><p/><p>The high level steps to get the CCBS information are shown here:
       
    21 
       
    22 </p></context>
       
    23 
       
    24 
       
    25 <steps id="GUID-53D0919A-7B45-5DAA-A58E-E717FCF94F06">
       
    26 <step id="GUID-4C86EF37-6EB1-5463-A79F-1EAF52DF53BC"><cmd>Get the current
       
    27 status of the CCBS service using <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::GetCCBSStatus()</apiname></xref>. </cmd>
       
    28 
       
    29 <info>Status is described by <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneCCBSStatus</apiname></xref>. </info>
       
    30 </step>
       
    31 <step id="GUID-28C7BCA8-C0C3-5AE5-A883-5545B3135D41"><cmd>Use <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::NotifyCCBSStatusChange()</apiname></xref> to
       
    32 get the notification of any changes in the status of the CCBS service. </cmd>
       
    33 </step>
       
    34 <step id="GUID-48C0C143-6AB9-5231-AE00-F23E1FB82C3B"><cmd>Deactivate all CCBS
       
    35 requests using <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::DeactivateCCBS()</apiname></xref>  </cmd>
       
    36 </step>
       
    37 <step id="GUID-FC7666E8-49C8-53EA-877B-59A6BA9D591A"><cmd>Get a list of active
       
    38 CCBS requests using <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>CRetrieveMobilePhoneCcbsList</apiname></xref>. </cmd>
       
    39 <info>The list of active CCBS requests is a <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>CMobilePhoneCcbsList</apiname></xref> object
       
    40 that contains: </info>
       
    41 <substeps id="GUID-0EE16687-BBCB-4B88-BE49-ABFD930EC4E5">
       
    42 <substep id="GUID-AD3D87FD-73EB-47F8-8809-57BDB2E99A2E"><cmd/>
       
    43 <info>0 or more <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneCCBSEntryV1</apiname></xref> objects
       
    44 for each request </info>
       
    45 </substep>
       
    46 <substep id="GUID-FA73FFA0-A911-4256-9A83-5AEF5C9253A0"><cmd/>
       
    47 <info>the name of the call that represents the CCBS request </info>
       
    48 </substep>
       
    49 <substep id="GUID-07733205-6808-457F-9250-78F6F939D21E"><cmd/>
       
    50 <info>the service group </info>
       
    51 </substep>
       
    52 <substep id="GUID-490C5986-3D8A-4D3A-B8A9-269EB482A0F9"><cmd/>
       
    53 <info>a network-allocated index number </info>
       
    54 </substep>
       
    55 <substep id="GUID-AA835788-558E-4685-9CED-2FEDF2166468"><cmd/>
       
    56 <info>the phone number of the remote party </info>
       
    57 </substep>
       
    58 </substeps>
       
    59 </step>
       
    60 </steps>
       
    61 <example><title>CCBS example</title> <p>The following code gets the list of
       
    62 active CCBS requests and prints the remote number for each. </p> <p>The code
       
    63 assumes <codeph>iMobilePhone</codeph> is an <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone</apiname></xref> object. </p> <codeblock id="GUID-33E4DB3B-EE3F-5186-B01F-AF9DD4760ACF" xml:space="preserve">void CClientApp::CCBSL()
       
    64     {
       
    65 
       
    66     // Create and start CCBS retriever
       
    67     CRetrieveMobilePhoneCcbsList* retrieveCCBSList = CRetrieveMobilePhoneCcbsList::NewL(iMobilePhone);
       
    68 
       
    69     CleanupStack::PushL(retrieveCCBSList);
       
    70 
       
    71     TRequestStatus status;
       
    72     retrieveCCBSList-&gt;Start(status);
       
    73     User::WaitForRequest(status);
       
    74     User::LeaveIfError(status.Int());
       
    75 
       
    76     // Get the list of active CCBS requests
       
    77     CMobilePhoneCcbsList* ccbsList = retrieveCCBSList-&gt;RetrieveListL();
       
    78     CleanupStack::PushL(ccbsList);
       
    79 
       
    80     // Print each remote number for which a CCBS request is active
       
    81     TInt nEntries = ccbsList-&gt;Enumerate();
       
    82     RMobilePhone::TMobilePhoneCCBSEntryV1 ccbsEntry;
       
    83 
       
    84     for (TInt i=0; i&lt;=nEntries; i++)
       
    85         {
       
    86          ccbsEntry = ccbsList-&gt;GetEntryL(i);
       
    87          console-&gt;Printf(_L("CCBS request to %S active\n"), ccbsEntry.iDestination.iTelNumber);
       
    88         }
       
    89 
       
    90     // Clean up
       
    91     CleanupStack::PopAndDestroy(2); // ccbsList, retrieveCCBSList    
       
    92 
       
    93     }
       
    94 </codeblock> </example>
       
    95 </taskbody><related-links>
       
    96 <link href="GUID-2318B1DC-D258-5BA2-90C0-5DF368D80933.dita"><linktext>Multimode
       
    97 lists</linktext></link>
       
    98 <link href="GUID-0B743C31-9B99-54A0-AF7B-22AFA823101B.dita"><linktext>CCBS Control
       
    99 Tutorial</linktext></link>
       
   100 </related-links></task>