Bootstrapping with Basic Data Connection Information and Setting TPS for Continuous Provisioning
The mobile operator can provision the device by using basic data connectivity information, Trusted Provisioning Server (TPS), and trusted Push Proxy Gateway (PPG) for continuous provisioning. The XML example in this section can be used as a template. After the device is bootstrapped, the message coming from the TPS will be granted the Manager role, and WAP push will still be the mechanism for continuous provisioning.
A mobile operator can also set other data connectivity information in the device's configurable settings in this bootstrap message.
For the default parms that can be changed by TPS and the manager, see the Smartphone Developer's Reference. To enable the device to accept a message from TPS, TPS must use a provisioned, trusted PPG to push continuous provisioning XML to the device through Short Message Service (SMS). Also, the PPG should authenticate the push initiator (TPS) and inform the device by using a Push-Flag header. The push initiator header should be used to provide the URL of the TPS.
Note After this bootstrap process, user-PIN-signed WAP push messages will be accepted if they originate from a trusted PPG and the PPG authenticated the push initiator.
The user authenticated message can be:
- Input from the user interface.
- Data sent through RAPI if the default RAPI policy is not changed.
- WAP push messages that are signed with a user PIN.
The device can be bootstrapped with this provisioning document through any of the following methods:
- Provisioning Using a ROM Configuration XML File (SP Only)
- Provisioning OTA Through a WAP Push
- Provisioning From a Desktop Computer Using Remote API and ActiveSync
The following XML example bootstraps the device with a WAP push gateway, a Trusted Provisioning Server URL for continuous provisioning, and a general WAP proxy and its corresponding remote access settings. The message coming from TPS will be granted the Manager role after the device is bootstrapped.
<wap-provisioningdoc>
<characteristic type="BOOTSTRAP">
<parm name="PROVURL" value="https://www.thephone-company.com/TPS" />
</characteristic>
<!-- Provide a trusted WAP push gateway's SMS address -->
<characteristic type="PXLOGICAL">
<parm name="NAME" value="WAP Push Gateway"/>
<parm name="PROXY-ID" value="163.187.21.3"/>
<parm name="TRUST"/>
<characteristic type="PXPHYSICAL">
<parm name="PHYSICAL-PROXY-ID" value="Push Gateway 1"/>
<parm name="PXADDR" value="9201612"/>
<parm name="PXADDRTYPE" value="E164"/>
<parm name="PUSHENABLED" value="1"/>
<parm name="TO-NAPID" value="SMS NAP"/>
</characteristic>
</characteristic>
<!--Provide the NAPDEF for the PPG. This will be ignored by the device though because default SMSC number stored in SIM card will be used for all incoming SMS messages. -->
<characteristic type="NAPDEF">
<parm name="NAPID" value="SMS NAP"/>
<parm name="NAME" value="SMS Connection"/>
<parm name="NAP-ADDRESS" value="+12345550150"/>
<parm name="BEARER" value="GSM-SMS"/>
</characteristic>
<characteristic type="PXLOGICAL">
<parm name="PROXY-ID" value="210.180.130.10"/>
<parm name="NAME" value="ABC WAP site"/>
<parm name="STARTPAGE"
value="https://www.thephone-company.com/start.wml"/>
<characteristic type="PXPHYSICAL">
<parm name="PHYSICAL-PROXY-ID" value="WAP Proxy 1"/>
<parm name="PXADDR" value="5550100" />
<parm name="DOMAIN" value="www.thephone-company.com"/>
<parm name="TO-NAPID" value="ABC PPP1"/>
<characteristic type="PORT">
<parm name="PORTNBR" value="9201"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="NAPDEF">
<parm name="NAPID" value="ABC PPP1"/>
<parm name="NAME" value="WAP PPP Connection1"/>
<parm name="NAP-ADDRESS" value="+123456789"/>
<parm name="BEARER" value="GSM-CSD"/>
<characteristic type="NAPAUTHINFO">
<parm name="AUTHNAME" value="user@thephone-company.com"/>
<parm name="AUTHTYPE" value="PAP"/>
</characteristic>
</characteristic>
<!-- The message that is assigned TPS role will be granted as the device manager by updating the following policy.-->
<characteristic type="SecurityPolicy">
<parm name="4119" value="128"/>
</characteristic>
<!-- Any other configuration data put in a bootstrap message such as HTTP proxy, synchronization settings, e-mail settings, etc. See the SDK API Reference for a complete list. -->
</wap-provisioningdoc>
See Also
Mobile Operator Bootstrapping | NAPDEF Configuration Service Provider | PXLOGICAL Configuration Service Provider | SecurityPolicy Configuration Service Provider | BOOTSTRAP Configuration Service Provider
Last updated on Friday, April 22, 2005
© 2005 Microsoft Corporation. All rights reserved.
Send feedback on this topic to the authors.