Note: The SUPL Protocol Module is deprecated.
This document gives an overview of the Symbian SUPL Protocol Module. It describes the module at a high level, including the module's interfaces, dependencies and how it fits into the LBS subsystem.
It is intended that Symbian device creators use the reference SUPL Protocol Module in their products. In general, Symbian device creators will not need to write their own SUPL Protocol Module implementation.
Secure User Plane Location (SUPL) v1.0 is a standard for enabling Location Based Services defined by the Open Mobile Alliance (OMA) [
Using SUPL for network communications offers advantages to network operators. As a 'user plane' protocol supported over TCP/IP, network operators typically find SUPL less expensive to deploy than 'control plane' protocols that use the telephony stack. It must be recognised however, that SUPL v1.0 does not support emergency services location requests and such requests are therefore not supported by the Symbian SUPL Protocol Module. Sending a location from the
The SUPL Protocol Module is a reference component supplied by Symbian as an optional part of the LBS subsystem. Its purpose is to enable the Symbian LBS subsystem to support the OMA SUPL v1.0 standard. The Symbian SUPL Protocol Module supports the OMA UserPlane Location Protocol [
In addition to the SUPL Protocol Module, Symbian also provides supporting plug-ins and APIs to enable the LBS subsystem for SUPL.
The reader should have some familiarity with the OMA SUPL v1.0 standard.
Secure User Plane Location v1.0. A standard defined by the OMA to support Location Based Services. SUPL v1.0 is supported in Symbian LBS by the SUPL Protocol Module.
SUPL Enabled Terminal. A mobile device that can send and receive SUPL messages. The SUPL Protocol Module enables the LBS subsystem to act as a SET in the Proxy Mode as defined by the OMA SUPL v1.0 specification.
SUPL Location Platform. The server-side platform that supports the SUPL standard. It consists of several functional components [
Send WAP Push and/or SMS messages to SETs (via a WAP Push gateway or SMSC) to initiate MT-LRs
Send assistance data to SETs to aid GPS calculations
Receive GPS measurements from the SET (for terminal assisted GPS positioning mode)
Return calculated GPS position fixes to SETs (for terminal assisted and terminal based GPS positioning modes)
SUPL Protocol Module. The reference protocol module provided by Symbian that supports the SUPL v1.0 standard [
A request for location that originates from the SET (from an application installed on the device). The SUPL Protocol Module supports SET initiated location requests.
The term SET initiated location request is defined by the OMA as part of the SUPL v1.0 standard [
The Symbian LBS documentation uses the term MO-LR to describe any location request that originates from a mobile device.
A request for location that originates from the SLP and is sent over the network. The SUPL Protocol Module supports network initiated location requests.
The term network initiated location request is defined by the OMA as part of the SUPL v1.0 standard [
The Symbian LBS documentation uses the term MT-LR to describe a location request that originates from the network.
In SUPL, WAP Push is the mechanism for sending
Symbian provides a WAP Push plug-in that extends the Symbian WAP Push Framework to handle
In SUPL, SMS Trigger is an alternative to WAP Push for sending
Symbian provides a test SMS Trigger plug-in that extends the Symbian Messaging Watcher Framework to handle
Figure 1 shows a component diagram for the SUPL Protocol Module and its relationships with other LBS and Symbian components.
Subsystem components
This section describes the subsystem components and APIs that support the SUPL Protocol Module.
SUPL Protocol Module (SPM)
The SUPL Protocol Module implements the
The module is an optional LBS component and can be built into a mobile device ROM if SUPL support is required. Note that the SPM is not included in ROM by default. See
WAP Push plug-in
The WAP Push plug-in is a component that receives
See
SMS Trigger plug-in
The SMS Trigger plug-in is a test component that receives
See
SUPL Push API
The LBS subsystem provides the partner
The API is used by a WAP Push plug-in or an SMS Trigger plug-in to send notification of a new network initiated location request into the LBS subsystem.
If a device creator creates their own WAP Push plug-in or SMS Trigger handler to process
Host Settings API
The SPM must communicate with one or more SLPs to process MO-LRs and MT-LRs. The SPM needs to know how to read details of SLP host settings. These settings are:
The default SLP to use when in the home network and when roaming
The network access point to use for SUPL TCP/IP connections
The type of authentication and data encryption to use over the TCP/IP connection with the SLP
The
Host Settings can be configured in the following ways:
Remote configuration of SLP host settings over the network by a Device Management server
Symbian provides a Host Settings DM Adapter plug-in that allows a Device Management server to send OMA Device Management messages for SUPL configuration to a mobile device.
Remote configuration of SLP host settings via the Client Provisioning framework
Symbian provides a Host Settings CP Adapter plug-in that allows the SUPL host settings to be configured via the Client Provisioning framework.
Manual configuration of settings
The Host Settings API can be used by a device creator's LBS "settings application" to configure the settings manually.
Host Settings DM Adapter plug-in
The Symbian Device Management (DM) Framework provides the infrastructure to provision mobile device settings remotely (using an OMA Device Management message). As part of its support for SUPL, Symbian provides a Host Settings DM Adapter plug-in. The plug-in manages a DM Management Object for SLP host settings and calls the
The DM Adapter plug-in extends the
Host Settings CP Adapter plug-in
The Symbian Client Provisioning (CP) Framework provides the infrastructure to provision mobile device settings either remotely or locally. As part of its support for SUPL, Symbian provides a Host Settings CP Adapter plug-in. The plug-in calls the
The CP Adapter plug-in extends the
ETel Multimode API
The SUPL Protocol Module uses the ETel Multimode API to obtain the following information:
Cell ID, location area code, network and country code
The timing advance information required for enhanced Cell ID positioning mode
The International Mobile Subscriber Identity (IMSI), which can be used to derive the fully qualified domain name of the home network SLP (H-SLP) as described in [
See
Pre-Shared Keys (PSK) API
Pre-shared keys is a strategy in which keys are pre-shared between a SET and an SLP. PSK-TLS is not currently supported by the SPM. In the future the PSK API will be implemented to obtain a key from a secure location on the handset to allow the SPM to use PSK-TLS.
Conflict control rules
The SUPL Protocol Module supports only one outstanding location request (one session) at any time. Multiple simultaneous location requests (multiple sessions) are not supported by the SUPL Protocol Module or by the LBS subsystem.
A conflict occurs if a second location request is received by the SPM while the first request is still outstanding. The SUPL Protocol Module must decide what action to take to resolve the conflict. It must decide which location request is processed and which one is terminated or ignored.
The SPM uses a default set of conflict control rules to decide which location request to process.
This section describes new APIs to support SUPL and APIs that are extended to support SUPL.
New LBS APIs to support SUPL
The following lists the LBS APIs introduced to the LBS subsystem to support the SPM. Links can be followed to more detailed documentation:
The
The
LBS APIs extended to support SUPL
Note that all extensions to existing LBS APIs to support the SUPL Protocol Module maintain binary compatibility with previous versions of LBS.
In addition to the APIs listed in the previous section, some of the existing LBS APIs are extended to support the SUPL Protocol Module. The following sections describe these API changes:
Network Protocol Module API
A new Network Protocol Module class
The SUPL Protocol Module implements
See
See
A-GPS Location Data Source API
Velocity information
The ULP specification [
Assistance data requests
As described in
Message timing
The timing of the messages sent from the SUPL Protocol Module to the LBS subsystem is different to that when using another network protocol. Device creators should not expect precisely the same timing of messages as with any control plane Protocol Module that they may have created.
See
ETel API
Enhanced Cell ID is one of the positioning modes supported by the SUPL Protocol Module. To support this, the ETel API is extended to provide timing advance data to the SUPL Protocol Module.
The SPM uses the
A device creator must implement their ETel TSY to support Cell ID and timing advance information if the SUPL Protocol Module must use Cell Based positioning to obtain a position fix.
Administration API
The
The SPM is a Symbian reference component and it is intended for use by device creators without major modifications. This section describes the features supported by the SPM.
SUPL v1.0 support
The SPM supports the following features of the OMA SUPL 1.0 standard:
The SPM supports the OMA SUPL v1.0 standard (version OMA-ERP-SUPL-V1_0-20070615-A).
The SPM supports only the SUPL Proxy Mode as defined by the OMA specification. Proxy Mode is the only mode supported on GSM and WCDMA networks.
The SPM supports RRLP as the protocol payload within
The SPM supports SET initiated location requests (known as MO-LR in 3GPP standards).
The SPM supports network initiated location requests (known as MT-LR in 3GPP standards).
The following table lists the UserPlane Location Platform [
A set of sequence diagrams explains the runtime behaviour of the SPM and LBS subsystem. See
Support for SET initiated location requests
Applications installed on the mobile device use the
Location requests are supported using assisted GPS (A-GPS) or cell-based positioning.
For SET initiated location requests the SPM performs the following functions for assisted GPS modes:
Sends a request to the network to start a positioning session with the SLP.
Receives a response from the SLP that may contain assistance data from the network. The SPM delivers the response to the LBS subsystem.
If the mobile device is in Terminal Assisted Mode it sends the GPS measurements received from the LBS subsystem to the SLP. In Terminal Based Mode the SET sends a location update.
If the mobile device is in Terminal Based Mode (and the SLP sent a 'measurement control' message to the terminal) it returns the calculated GPS position to the network.
Note that transmit to third party location requests are not supported by the SUPL v1.0 specification and so are not supported by the SPM.
Support for network initiated location requests
The SUPL Protocol Module supports non-emergency network initiated location requests as specified in SUPL v1.0.
Network initiated location requests are sent from the SLP to the SET as a
Supported positioning modes
The SUPL Protocol Module supports the following positioning modes:
A-GPS SET Based (also known as Terminal Based Mode)
A-GPS SET Assisted (also known as Terminal Assisted Mode)
A-GPS Autonomous
Cell Based Mode using Cell ID
Cell Based Mode using Enhanced Cell ID (requires a device creator ETel TSY that can supply timing advance information from the network). Note that the positioning methods Enhanced Observed Time Difference (E-OTD) and Observed Time Difference on Arrival (OTDoA) are not supported.
The SPM requests only one positioning mode when it calls the Network Protocol Module API function
Configurable conflict control
Note that configurable conflict control is not yet supported by the SPM. Details of the rules currently used to handle multiple simultaneous location requests can be found
The following describes how configurable conflict control will be implemented in a future release of the SPM:
The SPM may be requested to process two location requests simultaneously, for example, it may be processing an MO-LR when an MT-LR is received. This situation may lead to a conflict that must be resolved.
To support different strategies for handling conflicts, the SPM will in future use a conflict control plug-in to decide on the action to be taken. A plug-in contains the rules that are applied to resolve a conflict. Different rules can be applied for different conflict situations, for example, conflict between two MO-LRs, two MT-LRs or an MO-LR and an MT-LR.
SUPL security and authentication
The SUPL v1.0 architecture [
Pre-Shared Key Ciphersuites for Transport Level Security (PSK-TLS) with the Generic Bootstrapping Architecture (GBA) [
SUPL v1.0 supports the use of PSK-TLS if both the SET and the SLP support it. The pre-shared key is used for mutual authentication between the SET and the SLP.
If PSK-TLS is not supported then Alternative Client Authentication can be used.
Alternative Client authentication (ACA)
SUPL v1.0 supports the use of Alternative Client Authentication with server certificates for TLS.
Entries in the SUPL
PSK-TLS authentication
Alternative Client authentication + TLS allowed
TLS authentication allowed
No authentication allowed
Note that [
The SUPL Protocol Module does not currently support PSK-TLS. ACA-TLS can be configured as described in
[1]
[2]
[3]
[4]
Note: From Symbian^3 the SUPL Protocol Module is deprecated.
+For the preferred way of using SUPL see
This +document gives an overview of the Symbian SUPL Protocol Module. It describes +the module at a high level, including the module's interfaces, dependencies +and how it fits into the LBS subsystem.
It is intended that Symbian +device creators use the reference SUPL Protocol Module in their products. +In general, Symbian device creators will not need to write their own SUPL +Protocol Module implementation.
Secure
+User Plane Location (SUPL) v1.0 is a standard for enabling Location Based
+Services defined by the Open Mobile Alliance (OMA) [
Using SUPL for network communications offers advantages +to network operators. As a 'user plane' protocol supported over TCP/IP, network +operators typically find SUPL less expensive to deploy than 'control plane' +protocols that use the telephony stack. It must be recognised however, that +SUPL v1.0 does not support emergency services location requests and such requests +are therefore not supported by the Symbian SUPL Protocol Module. Sending a +location from the
The SUPL Protocol Module is a reference component supplied
+by Symbian as an optional part of the LBS subsystem. Its purpose is to enable
+the Symbian LBS subsystem to support the OMA SUPL v1.0 standard. The Symbian
+SUPL Protocol Module supports the OMA UserPlane Location Protocol [
In addition to the SUPL Protocol +Module, Symbian also provides supporting plug-ins and APIs to enable the LBS +subsystem for SUPL.
The reader should have some +familiarity with the OMA SUPL v1.0 standard.
Secure User Plane Location v1.0. A standard defined by the OMA to support +Location Based Services. SUPL v1.0 is supported in Symbian LBS by the SUPL +Protocol Module.
SUPL Enabled Terminal. A mobile device that can send and receive SUPL +messages. The SUPL Protocol Module enables the LBS subsystem to act as a SET +in the Proxy Mode as defined by the OMA SUPL v1.0 specification.
SUPL Location Platform. The server-side platform that supports the
+SUPL standard. It consists of several functional components [
Send WAP Push and/or +SMS messages to SETs (via a WAP Push gateway or SMSC) to initiate MT-LRs
Send assistance data +to SETs to aid GPS calculations
Receive GPS measurements +from the SET (for terminal assisted GPS positioning mode)
Return calculated GPS +position fixes to SETs (for terminal assisted and terminal based GPS positioning +modes)
SUPL Protocol Module. The reference protocol module provided by Symbian
+that supports the SUPL v1.0 standard [
A request for location that originates from the SET (from an application +installed on the device). The SUPL Protocol Module supports SET initiated +location requests.
The term SET initiated location request is
+defined by the OMA as part of the SUPL v1.0 standard [
The +Symbian LBS documentation uses the term MO-LR to describe any location request +that originates from a mobile device.
A request for location that originates from the SLP and is sent over +the network. The SUPL Protocol Module supports network initiated location +requests.
The term network initiated location request is defined
+by the OMA as part of the SUPL v1.0 standard [
The Symbian LBS +documentation uses the term MT-LR to describe a location request that originates +from the network.
In SUPL, WAP Push is the mechanism for sending
Symbian provides a WAP Push plug-in
+that extends the Symbian WAP Push Framework to handle
In SUPL, SMS Trigger is an alternative to WAP Push for sending
Symbian provides a test
+SMS Trigger plug-in that extends the Symbian Messaging Watcher Framework to
+handle
Figure +1 shows a component diagram for the SUPL Protocol Module and its relationships +with other LBS and Symbian components.
Subsystem +components
This section describes the subsystem components and +APIs that support the SUPL Protocol Module.
SUPL Protocol Module (SPM)
The SUPL Protocol Module implements
+the
The module is an optional LBS component and can be built
+into a mobile device ROM if SUPL support is required. Note that the SPM is
+not included in ROM by default. See
WAP Push plug-in
The WAP Push plug-in is a component that
+receives
See
SMS Trigger plug-in
The SMS Trigger plug-in is a test component
+that receives
See
SUPL Push API
The LBS subsystem provides the partner
The API is used by +a WAP Push plug-in or an SMS Trigger plug-in to send notification of a new +network initiated location request into the LBS subsystem.
If a device
+creator creates their own WAP Push plug-in or SMS Trigger handler to process
Host Settings API
The SPM must communicate with one or more +SLPs to process MO-LRs and MT-LRs. The SPM needs to know how to read details +of SLP host settings. These settings are:
The default SLP to use +when in the home network and when roaming
The network access point +to use for SUPL TCP/IP connections
The type of authentication +and data encryption to use over the TCP/IP connection with the SLP
The
Host +Settings can be configured in the following ways:
Remote configuration +of SLP host settings over the network by a Device Management server
Symbian +provides a Host Settings DM Adapter plug-in that allows a Device Management +server to send OMA Device Management messages for SUPL configuration to a +mobile device.
Remote configuration +of SLP host settings via the Client Provisioning framework
Symbian +provides a Host Settings CP Adapter plug-in that allows the SUPL host settings +to be configured via the Client Provisioning framework.
Manual configuration +of settings
The Host Settings API can be used by a device creator's +LBS "settings application" to configure the settings manually.
Host Settings DM Adapter plug-in
The Symbian Device Management
+(DM) Framework provides the infrastructure to provision mobile device settings
+remotely (using an OMA Device Management message). As part of its support
+for SUPL, Symbian provides a Host Settings DM Adapter plug-in. The plug-in
+manages a DM Management Object for SLP host settings and calls the
The DM Adapter plug-in extends the
Host Settings CP Adapter plug-in
The Symbian Client Provisioning
+(CP) Framework provides the infrastructure to provision mobile device settings
+either remotely or locally. As part of its support for SUPL, Symbian provides
+a Host Settings CP Adapter plug-in. The plug-in calls the
The CP Adapter plug-in extends the
ETel Multimode API
The SUPL Protocol Module uses the ETel +Multimode API to obtain the following information:
Cell ID, location area +code, network and country code
The timing advance information +required for enhanced Cell ID positioning mode
The International Mobile
+Subscriber Identity (IMSI), which can be used to derive the fully qualified
+domain name of the home network SLP (H-SLP) as described in [
See
Pre-Shared Keys (PSK) API
Pre-shared keys is a strategy in +which keys are pre-shared between a SET and an SLP. PSK-TLS is not currently +supported by the SPM. In the future the PSK API will be implemented to obtain +a key from a secure location on the handset to allow the SPM to use PSK-TLS.
Conflict control rules
The SUPL Protocol Module supports +only one outstanding location request (one session) at any time. Multiple +simultaneous location requests (multiple sessions) are not supported by the +SUPL Protocol Module or by the LBS subsystem.
A conflict occurs if +a second location request is received by the SPM while the first request is +still outstanding. The SUPL Protocol Module must decide what action to take +to resolve the conflict. It must decide which location request is processed +and which one is terminated or ignored.
The SPM uses a default set +of conflict control rules to decide which location request to process.
This +section describes new APIs to support SUPL and APIs that are extended to support +SUPL.
New LBS APIs to support +SUPL
The following lists the LBS APIs introduced to the LBS subsystem +to support the SPM. Links can be followed to more detailed documentation:
The
The
LBS APIs extended to support +SUPL
Note that all extensions to existing LBS APIs to support +the SUPL Protocol Module maintain binary compatibility with previous versions +of LBS.
In addition to the APIs listed in the previous section, +some of the existing LBS APIs are extended to support the SUPL Protocol Module. +The following sections describe these API changes:
Network Protocol Module +API
A new Network Protocol Module class
The SUPL Protocol
+Module implements
See
See
A-GPS Location Data Source API
Velocity information
The ULP specification [
Assistance data requests
As described in
Message timing
The timing of the messages sent from the SUPL +Protocol Module to the LBS subsystem is different to that when using another +network protocol. Device creators should not expect precisely the same timing +of messages as with any control plane Protocol Module that they may have created.
See
ETel API
Enhanced Cell ID is one of the positioning modes +supported by the SUPL Protocol Module. To support this, the ETel API is extended +to provide timing advance data to the SUPL Protocol Module.
The SPM
+uses the
A device creator must +implement their ETel TSY to support Cell ID and timing advance information +if the SUPL Protocol Module must use Cell Based positioning to obtain a position +fix.
Administration +API
The
The SPM is a Symbian reference component and it +is intended for use by device creators without major modifications. This section +describes the features supported by the SPM.
SUPL v1.0 support
The SPM supports the following features +of the OMA SUPL 1.0 standard:
The SPM supports the +OMA SUPL v1.0 standard (version OMA-ERP-SUPL-V1_0-20070615-A).
The SPM supports only +the SUPL Proxy Mode as defined by the OMA specification. Proxy Mode is the +only mode supported on GSM and WCDMA networks.
The SPM supports RRLP
+as the protocol payload within
The SPM supports SET +initiated location requests (known as MO-LR in 3GPP standards).
The SPM supports network +initiated location requests (known as MT-LR in 3GPP standards).
The following table lists the UserPlane Location Platform [
A set of sequence diagrams explains the runtime behaviour of the
+SPM and LBS subsystem. See
Support for SET initiated location requests
Applications
+installed on the mobile device use the
Location +requests are supported using assisted GPS (A-GPS) or cell-based positioning.
For +SET initiated location requests the SPM performs the following functions for +assisted GPS modes:
Sends a request to the +network to start a positioning session with the SLP.
Receives a response +from the SLP that may contain assistance data from the network. The SPM delivers +the response to the LBS subsystem.
If the mobile device +is in Terminal Assisted Mode it sends the GPS measurements received from the +LBS subsystem to the SLP. In Terminal Based Mode the SET sends a location +update.
If the mobile device +is in Terminal Based Mode (and the SLP sent a 'measurement control' message +to the terminal) it returns the calculated GPS position to the network.
Note that transmit to third party location requests are not supported +by the SUPL v1.0 specification and so are not supported by the SPM.
Support for network initiated location requests
The SUPL +Protocol Module supports non-emergency network initiated location requests +as specified in SUPL v1.0.
Network initiated location requests are
+sent from the SLP to the SET as a
Supported positioning modes
The SUPL Protocol Module supports +the following positioning modes:
A-GPS SET Based (also +known as Terminal Based Mode)
A-GPS SET Assisted (also +known as Terminal Assisted Mode)
A-GPS Autonomous
Cell Based Mode using +Cell ID
Cell Based Mode using +Enhanced Cell ID (requires a device creator ETel TSY that can supply timing +advance information from the network). Note that the positioning methods Enhanced +Observed Time Difference (E-OTD) and Observed Time Difference on Arrival (OTDoA) +are not supported.
The SPM requests only one positioning mode when it calls the
+Network Protocol Module API function
Configurable conflict control
Note that configurable conflict
+control is not yet supported by the SPM. Details of the rules currently used
+to handle multiple simultaneous location requests can be found
The +following describes how configurable conflict control will be implemented +in a future release of the SPM:
The SPM may be requested to process +two location requests simultaneously, for example, it may be processing an +MO-LR when an MT-LR is received. This situation may lead to a conflict that +must be resolved.
To support different strategies for handling conflicts, +the SPM will in future use a conflict control plug-in to decide on the action +to be taken. A plug-in contains the rules that are applied to resolve a conflict. +Different rules can be applied for different conflict situations, for example, +conflict between two MO-LRs, two MT-LRs or an MO-LR and an MT-LR.
SUPL security and authentication
The SUPL v1.0 architecture
+[
Pre-Shared Key Ciphersuites
+for Transport Level Security (PSK-TLS) with the Generic Bootstrapping Architecture
+(GBA) [
SUPL +v1.0 supports the use of PSK-TLS if both the SET and the SLP support it. The +pre-shared key is used for mutual authentication between the SET and the SLP.
If +PSK-TLS is not supported then Alternative Client Authentication can be used.
Alternative Client authentication +(ACA)
SUPL v1.0 supports the use of Alternative Client Authentication +with server certificates for TLS.
Entries in the SUPL
PSK-TLS authentication
Alternative Client authentication ++ TLS allowed
TLS authentication allowed
No authentication allowed
Note that [
The SUPL Protocol
+Module does not currently support PSK-TLS. ACA-TLS can be configured as described
+in
[1]
[2]
[3]
[4]