diff -r 4816d766a08a -r f345bda72bc4 Symbian3/PDK/Source/GUID-3E7FBDE5-B580-4C2D-9815-83E04B7D71E1.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/PDK/Source/GUID-3E7FBDE5-B580-4C2D-9815-83E04B7D71E1.dita Tue Mar 30 11:56:28 2010 +0100 @@ -0,0 +1,76 @@ + + + + + +Switching +from Cell ID to Terminal-Assisted PositioningHow to get an assisted GPS terminal-assisted position when the +network positioning preference is SUPL. +

SUPL +(Secure User Plane Location) enables a device to communicate with a SUPL server +over an IP connection. A client application requests a position from the network +using SUPL. To receive the position the client must be able to connect to +the Location subsystem. The client must then select the Network Proxy PSY +(NPP) module as its source. The NPP module must be configured to use the SUPL +PSY.

While the SUPL PSY module can use cell-based positioning, enhanced +cell-based positioning and AGPS terminal-assisted positioning, the SUPL Network +Server may optionally use AGPS terminal-assisted positioning, though this +is not usually advised.

With AGPS terminal-assisted positioning the client +application therefore requests a position from the network using an AGPS Terminal. +The steps below describe the process.

+ +The client must +open a connection to the server by calling RPositionServer::Connect(). + +The client must +then open RPositioner by calling RPositioner::Open() and +specify the UID of the Network Proxy PSY. + +The client application +sends a location request to the Location subsystem by calling RPositioner::NotifyPositionUpdate(). + +The Location subsystem +forwards the location request to the SUPL Protocol module by calling CLbsNetworkProtocolBase::RequestNetworkLocation(). +(In the default configuration SUPL is used for cell-based positioning). + +The SUPL protocol +module communicates with an external SUPL server, which decides to use terminal-assisted +GPS positioning instead of cell-based positioning. + +The SUPL Protocol +Module requests a measurement update from the Location subsystem by calling MLbsNetworkProtocolObserver::ProcessLocationRequest(). + +The Location subsystem +requests a measurement update from the AGPS module by calling CLbsLocationSourceGpsBase::RequestLocationUpdate(). + +The AGPS module +produces a position update by calling MLbsLocationSourceGpsObserver::UpdateLocation(). + +The Location subsystem +forwards the measurement update to the network by calling CLbsNetworkProtocolBase::ProcessLocationUpdate(). + +The measurement +is sent to the SUPL server, which calculates and returns the position. + +The SUPL Protocol +module returns the cell-based position by calling MLbsNetworkProtocolObserver::ProcessLocationUpdate(). + +The Location subsystem +completes the client request. + + +SUPL has enabled the +client application to receive the AGPS terminal-assisted position from the +network. +
+SUPL Cell +Based Positioning Request +Control Plane +Cell Position Attempt Fallback to SUPL +
\ No newline at end of file