---
title: SUPL CSP
description: SUPL CSP
ms.assetid: afad0120-1126-4fc5-8e7a-64b9f2a5eae1
ms.reviewer:
manager: dansimp
ms.author: v-madhi
ms.topic: article
ms.prod: w10
ms.technology: windows
author: v-madhi
ms.date: 07/20/2018
---
# SUPL CSP
> [!WARNING]
> Some information relates to prereleased product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
The SUPL configuration service provider is used to configure the location client, as shown in the following table.
Connection type |
All connections other than CDMA |
CDMA |
Configuration |
|
|
The SUPL or V2 UPL connection will be reconfigured every time the device is rebooted, a new UICC is inserted, or new settings are provisioned by using OMA Client Provisioning, OMA DM, or test tools. When the device is in roaming mode, it reverts to Mobile Station Standalone mode, in which only the built–in Microsoft location components are used.
The following diagram shows the SUPL configuration service provider management object in tree format as used by OMA DM and OMA Client Provisioning.
> **Note** This configuration service provider requires the ID\_CAP\_CSP\_FOUNDATION capability to be accessed from a network configuration application.

**SUPL1**
Required for SUPL. Defines the account for the SUPL Enabled Terminal (SET) node. Only one SUPL account is supported at a given time.
**AppID**
Required. The AppID for SUPL is automatically set to `"ap0004"`. This is a read-only value.
**Addr**
Optional. Specifies the address of the Home SUPL Location Platform (H-SLP) server for non-proxy mode. The value is a server address specified as a fully qualified domain name, and the port specified as an integer, with the format *server*: *port*.
If this value is not specified, the device infers the H-SLP address from the IMSI as defined in the SUPL standard. To use automatic generation of the H-SLP address based on the IMSI, the MNC length must be set correctly on the UICC. Generally, this value is 2 or 3.
For OMA DM, if the format for this node is incorrect the entry will be ignored and an error will be returned, but the configuration service provider will continue processing the rest of the parameters.
**Version**
Optional. Determines the version of the SUPL protocol to use. For SUPL 1.0, set this value to `1`. For SUPL 2.0, set this value to `2`. The default is 1.
**MCCMNCPairs**
Required. List all of the MCC and MNC pairs owned by the mobile operator. This list is used to verify that the UICC matches the network and SUPL can be used. When the UICC and network do not match, the device uses the default location service and does not use SUPL.
This value is a string with the format "(X1,Y1)(X2,Y2)…(Xn,Yn)", in which `X` is a MCC and `Y` is an MNC.
For OMA DM, if the format for this node is incorrect the entry will be ignored and an error will be returned, but the configuration service provider will continue processing the rest of the parameters.
**HighAccPositioningMethod**
Optional. Specifies the positioning method that the SUPL client will use for mobile originated position requests. The value can be one of the following integers:
0 |
None: The device uses the default positioning method. In this default mode, the GNSS obtains assistance (time injection, coarse position injection and ephemeris data) from the Microsoft Positioning Service. |
1 |
Mobile Station Assisted: The device contacts the H-SLP server to obtain a position. The H-SLP does the calculation of the position and returns it to the device. |
2 |
Mobile Station Based: The device obtains location-aiding data (almanac, ephemeris data, time and coarse initial position of the device) from the H-SLP server, and the device uses this information to help GPS obtain a fix. All position calculations are done in the device. |
3 |
Mobile Station Standalone: The device obtains assistance as required from the Microsoft location services. |
4 |
OTDOA |
5 |
AFLT |
The default is 0. The default method in Windows devices provides high-quality assisted GNSS positioning for mobile originated position requests without loading the mobile operator’s network or location services.
> **Important** The Mobile Station Assisted, OTDOA, and AFLT positioning methods must only be configured for test purposes.
For OMA DM, if the format for this node is incorrect the entry will be ignored and an error will be returned, but the configuration service provider will continue processing the rest of the parameters.
**LocMasterSwitchDependencyNII**
Optional. Boolean. Specifies whether the location toggle on the **location** screen in **Settings** is also used to manage SUPL network-initiated (NI) requests for location. If the value is set to 0, the NI behavior is independent from the current location toggle setting. If the value is set to 1, the NI behavior follows the current location toggle setting. The default value is 1.
This value manages the settings for both SUPL and v2 UPL. If a device is configured for both SUPL and V2 UPL and these values differ, the SUPL setting will always be used.
On |
0 |
Yes |
On |
1 |
Yes |
Off |
0 |
Yes |
Off |
1 |
No (unless privacyOverride is set) |
When the location toggle is set to Off and this value is set to 1, the following application requests will fail:
- `noNotificationNoVerification`
- `notificationOnly`
- `notificationAndVerficationAllowedNA`
- `notificationAndVerficationDeniedNA`
However, if `privacyOverride` is set in the message, the location will be returned.
When the location toggle is set to Off and this value is set to 0, the location toggle does not prevent SUPL network-initiated requests from working.
For OMA DM, if the format for this node is incorrect the entry will be ignored and an error will be returned, but the configuration service provider will continue processing the rest of the parameters.
**NIDefaultTimeout**
Optional. Time in seconds that the network-initiated location request is displayed to the user, while awaiting a response and before doing the default action. The default is 30 seconds. A value between 20 and 60 seconds is recommended.
This value manages the settings for both SUPL and v2 UPL. If a device is configured for both SUPL and V2 UPL and these values differ, the SUPL setting will always be used.
**ServerAccessInterval**
Optional. Integer. Defines the minimum interval of time in seconds between mobile originated requests sent to the server to prevent overloading the mobile operator's network. The default value is 60.
**RootCertificate**
Required. Specifies the root certificate for the H-SLP server. Windows does not support a non-secure mode. If this node is not included, the configuration service provider will fail but may not return a specific error.
**RootCertificate/Name**
Specifies the name of the H-SLP root certificate as a string, in the format *name*.cer.
**RootCertificate/Data**
The base 64 encoded blob of the H-SLP root certificate.
**RootCertificate2**
Specifies the root certificate for the H-SLP server.
**RootCertificate2/Name**
Specifies the name of the H-SLP root certificate as a string, in the format *name*.cer.
**RootCertificate2/Data**
The base 64 encoded blob of the H-SLP root certificate.
**RootCertificate3**
Specifies the root certificate for the H-SLP server.
**RootCertificate3/Name**
Specifies the name of the H-SLP root certificate as a string, in the format *name*.cer.
**RootCertificate3/Data**
The base 64 encoded blob of the H-SLP root certificate.
**RootCertificate4**
Added in Windows 10, version 1809. Specifies the root certificate for the H-SLP server.
**RootCertificate4/Name**
Added in Windows 10, version 1809. Specifies the name of the H-SLP root certificate as a string, in the format *name*.cer.
**RootCertificate4/Data**
Added in Windows 10, version 1809. The base 64 encoded blob of the H-SLP root certificate.
**RootCertificate5**
Added in Windows 10, version 1809. Specifies the root certificate for the H-SLP server.
**RootCertificate5/Name**
Added in Windows 10, version 1809. Specifies the name of the H-SLP root certificate as a string, in the format *name*.cer.
**RootCertificate5/Data**
Added in Windows 10, version 1809. The base 64 encoded blob of the H-SLP root certificate.
**RootCertificate6**
Added in Windows 10, version 1809. Specifies the root certificate for the H-SLP server.
**RootCertificate6/Name**
Added in Windows 10, version 1809. Specifies the name of the H-SLP root certificate as a string, in the format *name*.cer.
**RootCertificate6/Data**
Added in Windows 10, version 1809. The base 64 encoded blob of the H-SLP root certificate.
**V2UPL1**
Required for V2 UPL for CDMA. Specifies the account settings for user plane location and IS-801 for CDMA. Only one account is supported at a given time.
**MPC**
Optional. The address of the mobile positioning center (MPC), in the format *ipAddress*: *portNumber*. For non-trusted mode of operation, this parameter is mandatory and the PDE parameter must be empty.
**PDE**
Optional. The address of the Position Determination Entity (PDE), in the format *ipAddress*: *portNumber*. For non-trusted mode of operation, this parameter must be empty.
**PositioningMethod\_MR**
Optional. Specifies the positioning method that the SUPL client will use for mobile originated position requests. The value can be one of the following integers:
0 |
None: The device uses the default positioning method. In this default mode, the GNSS obtains assistance (time injection, coarse position injection and ephemeris data) from the Microsoft Positioning Service. |
1 |
Mobile Station Assisted: The device contacts the H-SLP server to obtain a position. The H-SLP does the calculation of the position and returns it to the device. |
2 |
Mobile Station Based: The device obtains location-aiding data (almanac, ephemeris data, time and coarse initial position of the device) from the H-SLP server, and the device uses this information to help GPS obtain a fix. All position calculations are done in the device. |
3 |
Mobile Station Standalone: The device obtains assistance as required from the Microsoft location services. |
4 |
AFLT |
The default is 0. The default method provides high-quality assisted GNSS positioning for mobile originated position requests without loading the mobile operator’s network or location services.
> **Important** The Mobile Station Assisted and AFLT positioning methods must only be configured for test purposes.
For OMA DM, if the format for this node is incorrect the entry will be ignored and an error will be returned, but the configuration service provider will continue processing the rest of the parameters.
**LocMasterSwitchDependencyNII**
Optional. Boolean. Specifies whether the location toggle on the **location** screen in **Settings** is also used to manage network-initiated requests for location. If the value is set to 0, the NI behavior is independent from the current location toggle setting. If the value is set to 1, the NI behavior follows the current location toggle setting. For CDMA devices, this value must be set to 1. The default value is 1.
This value manages the settings for both SUPL and v2 UPL. If a device is configured for both SUPL and V2 UPL and these values differ, the SUPL setting will always be used.
On |
0 |
Yes |
On |
1 |
Yes |
Off |
0 |
Yes |
Off |
1 |
No (unless privacyOverride is set) |
When the location toggle is set to Off and this value is set to 1, the following application requests will fail:
- `noNotificationNoVerification`
- `notificationOnly`
- `notificationAndVerficationAllowedNA`
- `notificationAndVerficationDeniedNA`
However, if `privacyOverride` is set in the message, the location will be returned.
When the location toggle is set to Off and this value is set to 0, the location toggle does not prevent SUPL network-initiated requests from working.
For OMA DM, if the format for this node is incorrect the entry will be ignored and an error will be returned, but the configuration service provider will continue processing the rest of the parameters.
**ApplicationTypeIndicator\_MR**
Required. This value must always be set to `00000011`.
**NIDefaultTimeout**
Optional. Time in seconds that the network-initiated location request is displayed to the user, while awaiting a response and before doing the default action. The default is 30 seconds. A value between 20 and 60 seconds is recommended.
This value manages the settings for both SUPL and v2 UPL. If a device is configured for both SUPL and V2 UPL and these values differ, the SUPL setting will always be used.
**ServerAccessInterval**
Optional. Integer. Defines the minimum interval of time in seconds between mobile originated requests sent to the server to prevent overloading the mobile operator's network. The default value is 60.
## Unsupported Nodes
The following optional nodes are not supported on Windows devices.
- ProviderID
- Name
- PrefConRef
- ToConRef
- ToConRef/<X>
- ToConRef/<X>/ConRef
- AddrType
If the configuration application tries to set, delete or query these nodes, a response indicating this node is not implemented will be returned over OMA DM. In OMA Client Provisioning, the request to set this node will be ignored and the configuration service provider will continue processing the rest of the nodes.
If a mobile operator requires the communication with the H-SLP to take place over a specific connection rather than a default cellular connection, then this must be configured by using the [CM\_CellularEntries configuration service provider](cm-cellularentries-csp.md) and the [CM\_ProxyEntries configuration service provider](cm-proxyentries-csp.md) to map the H-SLP server with the required connection.
## OMA Client Provisioning examples
Adding new configuration information for a H-SLP server for SUPL. Values in italic must be replaced with correct settings for the mobile operator network. A valid binary blob must be included for the root certificate data value.
``` syntax
```
Adding a SUPL and a V2 UPL account to the same device. Values in italic must be replaced with correct settings for the mobile operator network. A valid binary blob must be included for the root certificate data value.
``` syntax
```
## OMA DM examples
Adding a SUPL account to a device. Values in italic must be replaced with correct settings for the mobile operator network. A valid binary blob must be included for the root certificate data value.
``` syntax
Add FQDN
-
./Vendor/MSFT/SUPL/SUPL1/Addr
chr
supl.abc.def.example.com:2222
Add MCCMNC
-
./Vendor/MSFT/SUPL/SUPL1/Ext/Microsoft/MCCMNCPairs
chr
(111,000)(222,111)(333,333)(444,222)
Add HighAccPositioningMethod
-
./Vendor/MSFT/SUPL/SUPL1/Ext/Microsoft/HighAccPositioningMethod
int
2
Add LocMasterSWDepend
-
./Vendor/MSFT/SUPL/SUPL1/Ext/Microsoft/LocMasterSwitchDependencyNII
int
1
Add Cert name
-
./Vendor/MSFT/SUPL/SUPL1/Ext/Microsoft/RootCertificate/Name
chr
certName.cer
Add Cert data - 200
-
./Vendor/MSFT/SUPL/SUPL1/Ext/Microsoft/RootCertificate/Data
b64
```
## Microsoft Custom Elements
The following table shows the Microsoft custom elements that this configuration service provider supports for OMA Client Provisioning.
parm-query |
Yes |
characteristic-query |
Yes
Recursive query: No
Top level query: No |
## Related topics
[Configuration service provider reference](configuration-service-provider-reference.md)