Symbian3/PDK/Source/GUID-299B6CAB-3D4C-4FA5-A00E-244D04F0B6AB.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 16 Jul 2010 17:23:46 +0100
changeset 12 80ef3a206772
parent 9 59758314f811
permissions -rw-r--r--
Week 28 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 1897, Bug 344, Bug 2681, Bug 463, Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE task
  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
<task id="GUID-299B6CAB-3D4C-4FA5-A00E-244D04F0B6AB" xml:lang="en"><title>Control
Plane Cell Position Attempt Fallback to SUPL</title><shortdesc>Using the network to provide a SUPL cell-based position should
a request based on the Control Plane fail.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
<context id="GUID-DAFB4B97-5906-4473-8D41-B2463AB5DCD5">   
   <p>An application is able to receive a SUPL (Secure User Plane Location)
cell-based position when a previous request using the Control Plane is unsuccessful.
The client application is configured to use the Network Proxy PSY. However,
when a request is made the network is unable to produce the position. Instead
of the attempt failing completely the Location subsystem produces a fallback
cell-based position.</p> <p>The process is described in the steps below.</p> 
   </context>
<steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2">
<step id="GUID-AEDA448D-E436-4B3F-BEF1-BAC739E389AC"><cmd>The client must
open a connection to the server by calling <xref href="GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B.dita#GUID-0ADC4654-7F7B-3B53-A2F9-7035670F501B/GUID-23285930-A1D5-3A97-AED4-E979BFA96FDD"><apiname>RPositionServer::Connect()</apiname></xref>.</cmd>
</step>
<step id="GUID-7E093F3A-3F22-4D9C-9218-1643900D99A5"><cmd>The client must
then open RPositioner by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-AF3D9B5F-8025-3AFF-A101-82025520EBD6"><apiname>RPositioner::Open()</apiname></xref> and
specify the UID of the Network Proxy PSY.</cmd>
</step>
<step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-3"><cmd>The client application
sends a location request to the Location subsystem by calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-321F6046-3551-3ACE-B0A3-26D51FAEB477"><apiname>RPositioner::NotifyPositionUpdate()</apiname></xref>.</cmd>
</step>
<step id="GUID-FD076E9C-8A18-4692-920E-D3CAFD64A262-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-4"><cmd>The Location subsystem
forwards the location request to the Control Plane Protocol module by calling <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-E52AC2F2-6E42-370B-93EB-48389E062E33"><apiname>CLbsNetworkProtocolBase::RequestNetworkLocation()</apiname></xref> (if Control Plane is the default in the default configuration).</cmd>
</step>
<step id="GUID-C91844EA-4E31-4EAD-981F-6C83EBDD3D67-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-5"><cmd>The Control Plane
protocol module communicates with the cellular network but the network is
unable to provide a cell-based location. </cmd>
</step>
<step id="GUID-C38775F8-AF05-48A0-99A5-AA0AD63055AB-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-6"><cmd>The Control Protocol
Module completes the session by calling <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita#GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4/GUID-ACBFB09B-D4D1-36A0-A9D6-FD3207E93E30"><apiname>MLbsNetworkProtocolObserver::ProcessSessionComplete()</apiname></xref>.</cmd>
</step>
<step id="GUID-FD076E9C-8A18-4692-920E-D3CAFD64A262-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-7"><cmd>The Location subsystem
fallbacks to SUPL positioning and forwards the request to the SUPL Protocol
module by calling <xref href="GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5.dita#GUID-479C43CF-8787-3596-93ED-F03A8E5CA2F5/GUID-E52AC2F2-6E42-370B-93EB-48389E062E33"><apiname>CLbsNetworkProtocolBase::RequestNetworkLocation()</apiname></xref>.
(In the default configuration SUPL is used for cell-based positioning).</cmd>
</step>
<step id="GUID-C91844EA-4E31-4EAD-981F-6C83EBDD3D67-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-8"><cmd>The SUPL Protocol
module communicates with an external SUPL server and obtains a cell-based
location. </cmd>
</step>
<step id="GUID-C38775F8-AF05-48A0-99A5-AA0AD63055AB-GENID-1-12-1-19-1-1-9-1-6-1-11-1-3-2-9"><cmd>The SUPL Protocol
Module returns the cell-based position by calling <xref href="GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4.dita#GUID-A97ABAA7-46B0-3E26-97C6-123C92CCEEE4/GUID-CAB9645E-91AD-326B-8803-45F28505CCCC"><apiname>MLbsNetworkProtocolObserver::ProcessLocationUpdate()</apiname></xref>.</cmd>
</step>
<step id="GUID-D17075FA-847E-4489-84CB-7EB94554B051"><cmd>The Location subsystem
completes the client request.</cmd>
</step>
</steps>
<result id="GUID-6DBB1D89-E60F-4BE6-8E8E-C6D4808DEEF4">       <p>The application
receives a cell-based position retrieved from the network using SUPL after
the request using the Control Plane fails.</p>     </result>
</taskbody><related-links>
<link href="GUID-547161C2-BE55-4248-92EE-63612D64F480.dita"><linktext>SUPL Cell
Based Positioning Request</linktext></link>
<link href="GUID-3E7FBDE5-B580-4C2D-9815-83E04B7D71E1.dita"><linktext>Switching
from Cell ID to Terminal-Assisted Positioning</linktext></link>
</related-links></task>