7 Nokia Corporation - initial contribution. |
7 Nokia Corporation - initial contribution. |
8 Contributors: |
8 Contributors: |
9 --> |
9 --> |
10 <!DOCTYPE task |
10 <!DOCTYPE task |
11 PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd"> |
11 PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd"> |
12 <task xml:lang="en" id="GUID-05CDE32C-05B3-519F-9937-757A196400F9"><title>Integrated Circuit Card (ICC) Access Tutorial</title><shortdesc>This tutorial explains how the <apiname>RMobilePhone</apiname> functions enables a client to know whether ICC access is available and how to be notified when this access is possible. The <apiname>RMobilePhone</apiname> also enables the client to get the functional capabilities of the current ICC. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody> <context><p>An ICC has different names under the different cellular standards. </p> <ul><li id="GUID-3CE9DCD8-2129-5F8C-A4CC-1136CAA7310E"><p>The ICC is called as Subscriber Identity Module (SIM) card in GSM networks. </p> </li> <li id="GUID-37AB1492-E84B-5643-8922-57B16D809FDC"><p>The ICC is called Removable User Identity Module (R-UIM) in CDMA networks. </p> </li> <li id="GUID-7D402BEA-D833-5BC3-B6A0-E94687B9C021"><p>In WCDMA networks, the ICC contains a number of applications one of which is known as the Universal Subscriber Identity Module (USIM) application. </p> </li> </ul> <p>The ICC stores the services available in the SIM Service Table (SST) on a SIM, or the CDMA Service Table on a R-UIM. For DCS1800 systems, there is also the Customer Service Profile (CSP). The services available reflects the ICC applications static capabilities combined with the subscription details of the user. </p> </context> <steps id="GUID-330C5808-2492-57B4-9F70-93E11705E223"> <step id="GUID-6757FD3F-0913-562F-B1D3-6BF917B96777"><cmd>Use <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::GetIccAccessCaps()</apiname></xref> to find if the ICC access is available. </cmd> <info>Capabilities are described by <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneIccCaps</apiname></xref>. </info> </step> <step id="GUID-8B16C684-0711-59B9-8139-AEF2068C2F1D"><cmd>Use <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::NotifyIccAccessCapsChange()</apiname></xref> to get the notification of any changes in the capabilities. </cmd> </step> <step id="GUID-FB65BE05-5141-5EFD-9D3B-2E2E62D047F6"><cmd>Get the ICC service table using <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::GetServiceTable()</apiname></xref>. </cmd> <info>Service table information is returned in a packaged <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneServiceTableV1</apiname></xref> object. This contains the data members that store bitmasks of flags indicating the supported services. </info> </step> </steps> <result><p>Capabilities are described by <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneIccCaps</apiname></xref>. The service table information is returned in a packaged <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneServiceTableV1</apiname></xref> object. This contains the data members that store bitmasks of flags indicating the supported services. </p> </result> <example><title>SIM access example</title> <p>The following code checks if the phone has a SIM that can be accessed, and if so, gets the service table of the SIM. It then checks if Cell Broadcast (CB) message identifiers (a list of identifiers used as a filter to specify which CB messages are accepted and shown to user and which are rejected) can be stored, by testing if the <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::KSstCBMI</apiname></xref> flag is set in the service table. </p> <p>The code assumes <codeph>iMobilePhone</codeph> is an <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone</apiname></xref> object. </p> <codeblock id="GUID-208F50A9-395F-5CCB-A5B4-5C5601FFDFF3" xml:space="preserve">TUint32 iccCaps; |
12 <task id="GUID-05CDE32C-05B3-519F-9937-757A196400F9" xml:lang="en"><title>Integrated |
|
13 Circuit Card (ICC) Access Tutorial</title><shortdesc>This tutorial explains how the <codeph>RMobilePhone</codeph> functions |
|
14 enables a client to know whether ICC access is available and how to be notified |
|
15 when this access is possible. The <codeph>RMobilePhone</codeph> also enables |
|
16 the client to get the functional capabilities of the current ICC. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody> |
|
17 |
|
18 |
|
19 <context id="GUID-C952CF4B-20C4-4D75-9BF8-CA093F71B9ED"><p>An ICC has different names under the different cellular standards. </p> <ul> |
|
20 <li id="GUID-3CE9DCD8-2129-5F8C-A4CC-1136CAA7310E"><p>The ICC is called as |
|
21 Subscriber Identity Module (SIM) card in GSM networks. </p> </li> |
|
22 <li id="GUID-37AB1492-E84B-5643-8922-57B16D809FDC"><p>The ICC is called Removable |
|
23 User Identity Module (R-UIM) in CDMA networks. </p> </li> |
|
24 <li id="GUID-7D402BEA-D833-5BC3-B6A0-E94687B9C021"><p>In WCDMA networks, the |
|
25 ICC contains a number of applications one of which is known as the Universal |
|
26 Subscriber Identity Module (USIM) application. </p> </li> |
|
27 </ul> <p>The ICC stores the services available in the SIM Service Table (SST) |
|
28 on a SIM, or the CDMA Service Table on a R-UIM. For DCS1800 systems, there |
|
29 is also the Customer Service Profile (CSP). The services available reflects |
|
30 the ICC applications static capabilities combined with the subscription details |
|
31 of the user. </p> </context> |
|
32 <steps id="GUID-330C5808-2492-57B4-9F70-93E11705E223"> |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 <step id="GUID-6757FD3F-0913-562F-B1D3-6BF917B96777"><cmd>Use <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::GetIccAccessCaps()</apiname></xref> to |
|
38 find if the ICC access is available. </cmd> |
|
39 <info>Capabilities are described by <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneIccCaps</apiname></xref>. </info> |
|
40 </step> |
|
41 <step id="GUID-8B16C684-0711-59B9-8139-AEF2068C2F1D"><cmd>Use <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::NotifyIccAccessCapsChange()</apiname></xref> to |
|
42 get the notification of any changes in the capabilities. </cmd> |
|
43 </step> |
|
44 <step id="GUID-FB65BE05-5141-5EFD-9D3B-2E2E62D047F6"><cmd>Get the ICC service |
|
45 table using <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::GetServiceTable()</apiname></xref>. </cmd> |
|
46 |
|
47 <info>Service table information is returned in a packaged <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneServiceTableV1</apiname></xref> object. |
|
48 This contains the data members that store bitmasks of flags indicating the |
|
49 supported services. </info> |
|
50 </step> |
|
51 </steps> |
|
52 <result id="GUID-D289A2A3-CFEC-4661-A152-E2C43E695EAE"><p>Capabilities |
|
53 are described by <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneIccCaps</apiname></xref>. |
|
54 The service table information is returned in a packaged <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::TMobilePhoneServiceTableV1</apiname></xref> object. |
|
55 This contains the data members that store bitmasks of flags indicating the |
|
56 supported services. </p> </result> |
|
57 <example><title>SIM access example</title> <p>The following code checks if |
|
58 the phone has a SIM that can be accessed, and if so, gets the service table |
|
59 of the SIM. It then checks if Cell Broadcast (CB) message identifiers (a list |
|
60 of identifiers used as a filter to specify which CB messages are accepted |
|
61 and shown to user and which are rejected) can be stored, by testing if the <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone::KSstCBMI</apiname></xref> flag is set in the |
|
62 service table. </p> <p>The code assumes <codeph>iMobilePhone</codeph> is an <xref href="GUID-AA81AFA4-6FAC-3B0D-A082-BE0AEC58CCA8.dita"><apiname>RMobilePhone</apiname></xref> object. </p> <codeblock id="GUID-208F50A9-395F-5CCB-A5B4-5C5601FFDFF3" xml:space="preserve">TUint32 iccCaps; |
13 |
63 |
14 User::LeaveIfError(iMobilePhone.GetIccAccessCaps(iccCaps)); |
64 User::LeaveIfError(iMobilePhone.GetIccAccessCaps(iccCaps)); |
15 TBool cbStorage = EFalse; |
65 TBool cbStorage = EFalse; |
16 |
66 |
17 if (iccCaps & RMobilePhone::KCapsSimAccessSupported) |
67 if (iccCaps & RMobilePhone::KCapsSimAccessSupported) |