This document contains "SmartDocs" capabilities. This will allow you to easily see only the content that is relevant to the Zebra device you are working with.
MX Features will be available on a device based on a combination of factors:
After identifying the version information for your device, simply select them in the SmartDocs bar. Any section that does not apply to your device will be greyed out. You can clear all settings by hitting the SmartDocs button. Clicking the back and next buttons on the SmartDocs bar will navigate to the sections that are relevant to your device.
The GprsMgr administers Access Point Name (APN) settings for the GPRS network used by the device.
Devices equipped with Wireless Wide Area Networks (WWAN or Cellular Data) modems can support one or more of the following WWAN technology types:
As noted above, devices that are operating on GSM networks, and that need to use GPRS cellular data over those networks, may need to perform additional configuration by providing information that cannot be obtained from the SIM Card. This required configuration is usually referred to as the APN (Access Point Name), although this is a bit of a misnomer since the configuration actually requires more than just the name of the Access Point. An APN identifies the packet data network (PDN) that a mobile data user wants to communicate with and may also define the type of service available. Configuring use of an APN by a device generally requires configuring the actual name of the Access Point as well as username and password information required to connect via that Access Point.
A GPRS-equipped Android device must generally have a suitable APN defined for each GPRS cellular data network that will be used. If only one GPRS cellular data network will be used, then only one APN will need to be defined. But if multiple GPRS cellular data network will need to be used (e.g. to support roaming amongst multiple geographical locations), then multiple APNs would need to be defined.
The GprsMgr Feature Type allows you to Add or Remove APNs from the set of defined APNs and set which APN is the default APN to which the device will automatically connect.
This parm allows you to choose the APN action that should be performed.
Parm Name: GprsAction
Option | Name | Description | Requires |
---|---|---|---|
1 | Add/replace named APN | This value will cause an APN to be added or replaced. |
MX: 4.1.1+ Android API Level: 16+ |
2 | Remove existing named APN | This value will cause a specified APN to be removed. |
MX: 4.1.1+ Android API Level: 16+ |
3 | Remove all existing APNs | This value will cause all existing APNs to be removed. |
MX: 4.1.1+ Android API Level: 16+ |
This parm allows you to specify whether the APN to be defined should be a standard pre-defined APN of a well-known GPRS carrier or if the APN should be configured by specifying custom information.
Parm Name: GprsCarrier
Option | Name | Description | Requires |
---|---|---|---|
0 | Custom | This value indicates that the APN is not one of the pre-defined carrier APNs and should be configured by providing custom values provided by the GPRS carrier |
MX: 4.1.1+ Android API Level: 16+ |
1 | ATT | <p>This value indicates that AT&T is the GPRS carrier and that the standard public APN used by AT&T should be used.</p><p><b>Note:</b> If you want to use an AT&T APN other than the standard AT&T public APN, then you should choose "Custom" and supply the values for the desired AT&T APN that must be obtained from AT&T.</p> |
MX: 4.1.1+ Android API Level: 16+ |
2 | T-Mobile | <p>This value indicates that T-Mobile is the GPRS carrier and that the standard public APN used by T-Mobile should be used.</p><p><b>Note:</b> If you want to use a T-Mobile APN other than the standard T-Mobile public APN, then you should choose "Custom" and supply the values for the desired T-Mobile APN that must be obtained from T-Mobile.</p> |
MX: 4.1.1+ Android API Level: 16+ |
This parm allows you to specify the name by which the APN will be known in the device. Each APN defined in a device must have a unique name. Once an APN with a given name has been added, that name can be used to Remove that APN definition from the device or to Replace the definition of that APN with a new definition.
Note: This parm does not specify the Access Point Name on the network, it only specifies the name by which the APN will be known and referred to locally on the device. The actual name of the APN on the network is specified in the parm described below under Access Point.
Parm value input rules:
Shown if: The APN Action is "Add/replace named APN" or "Remove existing named APN"
Parm Name: ApnName
Requires:
- MX: 4.1.1+
- Android API Level: 16+
This parm allows you to specify whether an APN of the same name that is already defined on the device should be replaced by the APN being added, if an APN with the same name already exists on the device.
Shown if: The APN Action is "Add/replace named APN"
Parm Name: ReplaceIfExisting
Option | Name | Description | Requires |
---|---|---|---|
1 | true | This value will cause an APN of the specified name to be replaced if it already is defined. This means that the existing APN will be Removed and replaced with the new APN. |
MX: 4.1.1+ Android API Level: 16+ |
0 | false | This value will not cause an APN to be replaced if it exists already. This means that if an existing APN has the same name as the new APN, the new APN will not be added and an error will be returned in the Result XML. |
MX: 4.1.1+ Android API Level: 16+ |
This parm allows you to specify whether the new APN being added should be made the new default (preferred) APN. When connecting automatically, the system will connect to the default APN if possible, before considering other APNs.
Shown if: The APN Action is "Add/replace named APN"
Parm Name: MakeDefault
Option | Name | Description | Requires |
---|---|---|---|
1 | true | This value will cause the new APN to be set as the new default APN. |
MX: 4.1.1+ Android API Level: 16+ |
0 | false | This value will not cause any change to the current default APN. |
MX: 4.1.1+ Android API Level: 16+ |
This parm allows you to specify the name by which the desired APN is known on the network. The value is generally obtained from the GPRS carrier that provides the APN (e.g. "wap.cingular" is the name of an APN that is commonly used by AT&T). This is only relevant when the value chosen for GPRS Carrier was "Custom" since otherwise the APN values for the pre-defined APN will be provided automatically based on the selected GPRS carrier.
Parm value input rules:
Shown if: The APN Action is "Add/replace named APN" *AND* the GPRS Carrier is "Custom"
Parm Name: ATTAccessPoint, TMobileAccessPoint, CustomAccessPoint
Requires:
- MX: 4.1.1+
- Android API Level: 16+
This parm value allows you to specify the User Name that will be used to authenticate to the APN being added. The value is generally obtained from the GPRS carrier that provides the APN (e.g. "WAP.CINGULARGPRS.COM" is the User Name used to authenticate to an APN that is commonly used by AT&T). This is only relevant when the value chosen for GPRS Carrier was "Custom" since otherwise the APN values for the pre-defined APN will be provided automatically based on the selected GPRS carrier.
Note: If an empty (length of 0) value is specified, then no User Name will be used. This should only generally only be done if the GPRS carrier indicates that authentication using a User Name is not required for a given APN.
Parm value input rules:
Shown if: The APN Action is "Add/replace named APN" *AND* the GPRS Carrier is "Custom"
Parm Name: AttUserName, TmobileUserName, CustomUserName
Requires:
- MX: 4.1.1+
- Android API Level: 16+
This parm value allows you to specify the Password that will be used to authenticate to the APN being added. The value is generally obtained from the GPRS carrier that provides the APN (e.g. "CINGULAR1" is the User Name used to authenticate to an APN that is commonly used by AT&T). This is only relevant when the value chosen for GPRS Carrier was "Custom" since otherwise the APN values for the pre-defined APN will be provided automatically based on the selected GPRS carrier.
Note: If an empty (length of 0) value is specified, then no Password will be used. This should only generally only be done if the GPRS carrier indicates that authentication using a password is not required for a given APN.
Parm value input rules:
Shown if: The APN Action is "Add/replace named APN" *AND* the GPRS Carrier is "Custom"
Parm Name: ATTPassword, TMobilePassword, CustomPassword
Requires:
- MX: 4.1.1+
- Android API Level: 16+
<wap-provisioningdoc>
<characteristic type="PowerKeyMgr" >
<parm-query name="AirPlaneMode"/>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="PowerKeyMgr" version="4.3" >
<parm name="AirPlaneMode" value="1"/>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="PowerKeyMgr" >
<parm-query name="TouchPanel"/>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="PowerKeyMgr" version="4.3" >
<parm name="TouchPanel" value="1"/>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="PowerKeyMgr" >
<parm-query name="SafeMode"/>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="PowerKeyMgr" version="4.3" >
<parm name="SafeMode" value="1"/>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="PowerKeyMgr" >
<parm-query name="AutoScreenLockOption"/>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="PowerKeyMgr" version="4.3" >
<parm name="AutoScreenLockOption" value="1"/>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="PowerKeyMgr" >
<parm-query name="AutoScreenLockState"/>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="PowerKeyMgr" version="4.3" >
<parm name="AutoScreenLockState" value="1"/>
</characteristic>
</wap-provisioningdoc>
This Request XML document below uses PersistMgr to make itself Persistent.
<wap-provisioningdoc>
<characteristic type="Clock" version="4.2">
<parm name="AutoTime" value="true" />
<characteristic type="AutoTimeDetails">
<parm name="NTPServer" value="http://time.test.com" />
<parm name="SyncInterval" value="00:30:00" />
</characteristic>
</characteristic>
<characteristic type="PersistMgr">
<parm name="PersistAction" value="1" />
<characteristic type="persist-details">
<parm name="PersistAsName" value="Clock-profile" />
<parm name="PersistAsVersion" value="1" />
<parm name="PersistAsOrder" value="3"/>
<parm name="PersistIfError" value="false" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
The Request XML document below uses PersistMgr to make the Request XML document that was made Persistent in the previous example, stop being Persistent.
<wap-provisioningdoc>
<characteristic type="PersistMgr" version="4.2" >
<parm name="PersistAction" value="2"/>
<characteristic type="persist-details">
<parm name="PersistAsName" value="Clock-profile"/>
<parm name="PersistAsVersion" value="1"/>
<parm name="PersistAsOrder" value="3"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
The Request XML document below uses PersistMgr to Enable the Request XML document that was made Persistent in a previous example.
<wap-provisioningdoc>
<characteristic type="PersistMgr" version="4.2" >
<parm name="PersistAction" value="3"/>
<characteristic type="persist-details">
<parm name="PersistAsName" value="Clock-profile"/>
<parm name="PersistAsVersion" value="1"/>
<parm name="PersistAsOrder" value="3"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
The Request XML document below uses PersistMgr to Disable the Request XML document that was made Persistent in a previous example.
<wap-provisioningdoc>
<characteristic type="PersistMgr" version="4.2" >
<parm name="PersistAction" value="4"/>
<characteristic type="persist-details">
<parm name="PersistAsName" value="Clock-profile"/>
<parm name="PersistAsVersion" value="1"/>
<parm name="PersistAsOrder" value="3"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Note: The following queries are supported in by the PersistMgr. However, they have not been indicated in the PersistMgr DSD. Therefore, the following queries cannot be generated with the DSD tool and will need to be created manually.
Input
<wap-provisioningdoc>
<characteristic-query type="PersistMgr"/>
</wap-provisioningdoc>
Output
<wap-provisioningdoc>
<characteristic type="PersistMgr">
<parm name="PersistAction" value="1"/>
<characteristic type="persist-details">
<parm name="PersistAsName" value="App-profile"/>
<parm name="PersistAsVersion" value="02"/>
<parm name="PersistAsOrder" value="1"/>
<parm name="PersistIfError" value="true"/>
<parm name="ProfileMethod" value="3"/>
</characteristic>
</characteristic>
<characteristic type="PersistMgr">
<parm name="PersistAction" value="1"/>
<characteristic type="persist-details">
<parm name="PersistAsName" value="Clock-profile"/>
<parm name="PersistAsVersion" value="01"/>
<parm name="PersistAsOrder" value="3"/>
<parm name="PersistIfError" value="false"/>
<parm name="ProfileMethod" value="3"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Note: The "ProfileMethod" is included in the Result XML Document. This parm is for a future feature and is not used in the 4.4 version of the PersistMgr.
Input
<wap-provisioningdoc>
<characteristic type="PersistMgr">
<characteristic-query type="persist-details">
<parm name="PersistAsName" value="Clock-profile"/>
</characteristic-query>
</characteristic>
</wap-provisioningdoc>
Output
<wap-provisioningdoc>
<characteristic type="PersistMgr">
<parm name="PersistAction" value="1"/>
<characteristic type="persist-details">
<parm name="PersistAsName" value="Clock-profile"/>
<parm name="PersistAsVersion" value="01"/>
<parm name="PersistAsOrder" value="3"/>
<parm name="PersistIfError" value="false"/>
<parm name="ProfileMethod" value="3"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Note: The "ProfileMethod" is included in the Result XML Document. This parm is for a future feature and is not used in the 4.4 version of the PersistMgr.
Input
<wap-provisioningdoc>
<characteristic type="PersistMgr">
<characteristic type="persist-details">
<parm name="PersistAsName" value="Clock-profile" />
<parm-query name="PersistAsVersion"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Output
<wap-provisioningdoc>
<characteristic type="PersistMgr" version="4.4">
<characteristic type="persist-details">
<parm name="PersistAsName" value="Clock-profile"/>
<parm name="PersistAsVersion" value="01"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="GprsMgr" version="4.2" >
<parm name="GprsAction" value="1"/>
<parm name="GprsCarrier" value="1"/>
<characteristic type="gprs-details">
<parm name="ApnName" value="myATT"/>
<parm name="ReplaceIfExisting" value="1"/>
<parm name="MakeDefault" value="1"/>
</characteristic>
<characteristic type="att-details">
<parm name="AttAccessPoint" value="wap.cingular"/>
<parm name="AttUserName" value="WAP@CINGULARGPRS.COM"/>
<parm name="AttPassword" value="CINGULAR1"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="GprsMgr" version="4.2" >
<parm name="GprsAction" value="1"/>
<parm name="GprsCarrier" value="2"/>
<characteristic type="gprs-details">
<parm name="ApnName" value="myTMobile"/>
<parm name="ReplaceIfExisting" value="0"/>
<parm name="MakeDefault" value="1"/>
</characteristic>
<characteristic type="tmobile-details">
<parm name="TmobileAccessPoint" value="internet3.voicestream.com"/>
<parm name="TmobileUserName" value=""/>
<parm name="TmobilePassword" value=""/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="GprsMgr" version="4.2" >
<parm name="GprsAction" value="1"/>
<parm name="GprsCarrier" value="0"/>
<characteristic type="gprs-details">
<parm name="ApnName" value="myCustom"/>
<parm name="ReplaceIfExisting" value="1"/>
<parm name="MakeDefault" value="1"/>
</characteristic>
<characteristic type="custom-details">
<parm name="CustomAccessPoint" value="apn"/>
<parm name="CustomUserName" value="user"/>
<parm name="CustomPassword" value="pass"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="GprsMgr" version="4.2" >
<parm name="GprsAction" value="2"/>
<characteristic type="gprs-details">
<parm name="ApnName" value="myTMobile"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
<wap-provisioningdoc>
<characteristic type="GprsMgr" version="4.2" >
<parm name="GprsAction" value="3"/>
</characteristic>
</wap-provisioningdoc>