Default GPRS setting
Way back in the misty past - October 03, 2005 to be precise - I posted about configuring networks and GPRS entries on Windows Mobile.
I left an open question about how to configure the default GPRS entry the device should use for a specific network destination. For example if I configure 3 different GPRS entries that all connect the device to The Internet meta-network, which one will the device choose? Well there is a default that gets shown in the UI but at the time I couldn't figure out the config settings needed to programmatically set or change this.
Recently I had a question from Sam Mannix asking if I ever solved this and found a way of setting these defaults. Well yes I did, and here is how:
<wap-provisioningdoc>
<characteristic type="CM_Planner">
<characteristic type="PreferredConnections">
<parm name="{436EF144-B4FB-4863-A041-8F905A62C572}" value="Internet GPRS" />
<parm name="{7022E968-5A97-4051-BC1C-C578E2FBA5D9}" value="WAP GPRS" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
The CM_Planner Cofiguration Service Provider (CSP) is responsible for maintaining the default connection entries for each meta-network. In the above XML I'm setting the default GPRS entry for the Internet meta-network {436EF144-B4FB-4863-A041-8F905A62C572} and for the WAP meta-network {7022E968-5A97-4051-BC1C-C578E2FBA5D9}.
The default value string value="xxx", identifies the display name of the GPRS entry. So for example if I had:
<wap-provisioningdoc>
<characteristic type="CM_GPRSEntries">
<characteristic type="Internet GPRS">
<parm name="DestId" value="{436EF144-B4FB-4863-A041-8F905A62C572}" />
<characteristic type="DevSpecificCellular">
<parm name="GPRSInfoValid" value="1" />
<parm name="GPRSInfoAccessPointName" value="MyInternetAPN" />
</characteristic>
</characteristic>
<characteristic type="Alternate GPRS">
<parm name="DestId" value="{436EF144-B4FB-4863-A041-8F905A62C572}" />
<characteristic type="DevSpecificCellular">
<parm name="GPRSInfoValid" value="1" />
<parm name="GPRSInfoAccessPointName" value="MyOtherAPN" />
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
The "Internet GPRS" entry would be the default and Connection Manager will choose that entry over the "Alternate GPRS" entry.
Note: this is true for Windows Mobile 6 Standard. I haven't confirmed this is true for Professional as well, but its very likely.
Marcus
Comments
Anonymous
September 19, 2007
Did you also found a way to change the network settings? If I create a new network and want all programs that require Internet access to use that network (not GPRS entry, but network) ? Same for Work networks... PeterAnonymous
September 20, 2007
Peter, Yes this is possible but with some caveats. Probably better to put the details in a new post rather than here... MarcusAnonymous
October 06, 2009
Have you written such a blog post, yet? I'm also dying to know how to set up my connection to be the default one for "All Programs that access the Internet."