Motorola OTA browser messages overwite each other

Motorola OTA browser messages overwite each other SearchSearch
Author Message
MegaMan
New member
Username: Mega

Post Number: 1
Registered: 07-2007
Posted on Tuesday, July 03, 2007 - 12:31 pm:   

Hi!

Send OTA provisioning settings to a Moto device via 2 XML files. (Have tried a few Moto devices)

Problem: The browser messages overwrite each other

*send internet settings - arrives in browser inbox
*send mms settings - arrives in browser inbox but overwrites first message.

Both settings messages will install OK if use seperately.

I need a way of stopping them overwriting each other when one is already in the browser inbox.

I managed to get 2 browser messages to not overwrite each other by sending ringtones from jamster.com. The messages are presented in a list as per normal.

Any ideas?
I can send the XML templates if needed

Thanks, Mega

Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 7355
Registered: 10-2002
Posted on Wednesday, July 11, 2007 - 08:59 pm:   

Hi MegaMan,

First thought. Change the settings name. If you use the same settings name for each, the second replaces the first.

That said ... Motorola phones might have a limitation that the browser inbox can only contain one settings document at a time. (A ringtone is not a settings document, so it would not surprise me to see it handled differently from a settings document.)

Let's fire up a Motorola phone and find out ...

Yup. That's the case. The "Browser Msgs" inbox on a Motorola phone appears to only be
to handle a single settings document.

Perhaps a solution for you would be to send the internet settings and MMS settings in a single settings document.

The web interface of NowSMS can only generate an XML document to do both if the internet and MMS settings use the same access point.

But, you can create your own custom XML document that includes multiple access points.

Here's an example:

<wap-provisioningdoc>
<characteristic type="BOOTSTRAP">
<parm name="NAME" value="Sample" />
</characteristic>

<characteristic type="NAPDEF">
<parm name="NAME" value="SampleWAP" />
<parm name="NAPID" value="SampleWAP_NAPID" />
<parm name="BEARER" value="GSM-GPRS" />
<parm name="NAP-ADDRESS" value="wap.sample.com" />
<parm name="NAP-ADDRTYPE" value="APN" />
</characteristic>
<characteristic type="PXLOGICAL">
<parm name="NAME" value="SampleWAP" />
<parm name="PROXY-ID" value="SampleWAP_Proxy" />
<parm name="STARTPAGE" value="http://portal.sample.com/" />
<characteristic type="PXPHYSICAL">
<parm name="PHYSICAL-PROXY-ID" value="SampleWAP_PhProxy" />
<parm name="PXADDR" value="194.54.172.50" />
<parm name="PXADDRTYPE" value="IPV4" />
<parm name="TO-NAPID" value="SampleWAP_NAPID" />
<characteristic type="PORT">
<parm name="PORTNBR" value="8080" />
</characteristic>
</characteristic>
</characteristic>

<characteristic type="NAPDEF">
<parm name="NAME" value="SampleMMS" />
<parm name="NAPID" value="SampleMMS_NAPID" />
<parm name="BEARER" value="GSM-GPRS" />
<parm name="NAP-ADDRESS" value="mms.sample.com" />
<parm name="NAP-ADDRTYPE" value="APN" />
</characteristic>
<characteristic type="PXLOGICAL">
<parm name="NAME" value="SampleMMS" />
<parm name="PROXY-ID" value="SampleMMS_Proxy" />
<characteristic type="PXPHYSICAL">
<parm name="PHYSICAL-PROXY-ID" value="SampleMMS_PhProxy" />
<parm name="PXADDR" value="194.54.172.51" />
<parm name="PXADDRTYPE" value="IPV4" />
<parm name="TO-NAPID" value="SampleMMS_NAPID" />
<characteristic type="PORT">
<parm name="PORTNBR" value="8080" />
</characteristic>
</characteristic>
</characteristic>

<characteristic type="APPLICATION">
<parm name="APPID" value="w2" />
<parm name="NAME" value="SampleWAP" />
<parm name="TO-PROXY" value="SampleWAP_Proxy" />
<characteristic type="RESOURCE">
<parm name="NAME" value="SampleWAP" />
<parm name="URI" value="http://portal.sample.com/" />
<parm name="STARTPAGE" />
</characteristic>
</characteristic>

<characteristic type="APPLICATION">
<parm name="APPID" value="w4" />
<parm name="NAME" value="SampleMMS" />
<parm name="TO-PROXY" value="SampleMMS_Proxy" />
<parm name="ADDR" value="http://mmsc.sample.com:8002/" />
</characteristic>

</wap-provisioningdoc>

We're creating two access points, SampleWAP and SampleMMS. The browser (application W2) goes to SampleWAP and MMS (application W4) goes SampleMMS.

I actually used the NowSMS web interface to generate separate documents for SampleWAP and SampleMMS, then I cut & paste to merge them.

One thing to be aware of ... these settings define a proxy for the browser, so they aren't true "internet" settings.

If you want to define settings without a proxy, then you get into ambiguity and differences in how the different vendors have interpreted the OMA Client Provisionings specifications.

In my opinion, Nokia does it right ... you define an access point without a proxy, and point the browser application to use that access point with the "TO-NAPID" reference, like this:

<wap-provisioningdoc>
<characteristic type="BOOTSTRAP">
<parm name="NAME" value="SampleInet" />
</characteristic>
<characteristic type="NAPDEF">
<parm name="NAME" value="SampleInet" />
<parm name="NAPID" value="SampleInet_NAPID" />
<parm name="BEARER" value="GSM-GPRS" />
<parm name="NAP-ADDRESS" value="internet.apn" />
<parm name="NAP-ADDRTYPE" value="APN" />
<parm name="INTERNET" />
</characteristic>
<characteristic type="APPLICATION">
<parm name="APPID" value="w2" />
<parm name="NAME" value="SampleInet" />
<parm name="TO-NAPID" value="SampleInet_NAPID" />
<characteristic type="RESOURCE">
<parm name="NAME" value="SampleInet" />
<parm name="URI" value="http://portal.sample.com/" />
<parm name="STARTPAGE" />
</characteristic>
</characteristic>
</wap-provisioningdoc>

(Using the NowSMS web form, you simply leave the proxy settings section blank, and NowSMS generates the XML without a proxy definition.)

However, Motorola and SonyEricsson will not allow a browser or MMS application definition point to a proxy-less access point like this. Instead, they require that you define a proxy, but leave the proxy details blank.

For SonyEricsson, in the NowSMS web form, put the text "(blank)" in as the "WAP Proxy IP Address", and the generated settings look like this:

<wap-provisioningdoc>
<characteristic type="BOOTSTRAP">
<parm name="NAME" value="SampleInet" />
<parm name="PROXY-ID" value="SampleInet_Proxy" />
</characteristic>
<characteristic type="NAPDEF">
<parm name="NAME" value="SampleInet" />
<parm name="NAPID" value="SampleInet_NAPID" />
<parm name="BEARER" value="GSM-GPRS" />
<parm name="NAP-ADDRESS" value="internet.apn" />
<parm name="NAP-ADDRTYPE" value="APN" />
<parm name="INTERNET" />
</characteristic>
<characteristic type="PXLOGICAL">
<parm name="NAME" value="SampleInet" />
<parm name="PROXY-ID" value="SampleInet_Proxy" />
<parm name="STARTPAGE" value="http://portal.sample.com/" />
<characteristic type="PXPHYSICAL">
<parm name="PHYSICAL-PROXY-ID" value="SampleInet_PhProxy" />
<parm name="PXADDR" value="" />
<parm name="PXADDRTYPE" value="ALPHA" />
<parm name="TO-NAPID" value="SampleInet_NAPID" />
</characteristic>
</characteristic>
<characteristic type="APPLICATION">
<parm name="APPID" value="w2" />
<parm name="NAME" value="SampleInet" />
<parm name="TO-PROXY" value="SampleInet_Proxy" />
<characteristic type="RESOURCE">
<parm name="NAME" value="SampleInet" />
<parm name="URI" value="http://portal.sample.com/" />
<parm name="STARTPAGE" />
</characteristic>
</characteristic>
</wap-provisioningdoc>

You see that we've added a blank proxy address setting of the type alpha. SonyEricsson phones like this.

But, the settings still won't work on Motorola phones.

On a Motorola phone, you need to use a variation on the SonyEricsson technique ... do the same as for SonyEricsson, but you must also set the "WAP Proxy Port & Connection Type" to "Other" and "8080" (other values might also work, but "8080" definitely works).

NowSMS generates the following XML:

<wap-provisioningdoc>
<characteristic type="BOOTSTRAP">
<parm name="NAME" value="SampleInet" />
<parm name="PROXY-ID" value="SampleInet_Proxy" />
</characteristic>
<characteristic type="NAPDEF">
<parm name="NAME" value="SampleInet" />
<parm name="NAPID" value="SampleInet_NAPID" />
<parm name="BEARER" value="GSM-GPRS" />
<parm name="NAP-ADDRESS" value="internet.apn" />
<parm name="NAP-ADDRTYPE" value="APN" />
<parm name="INTERNET" />
</characteristic>
<characteristic type="PXLOGICAL">
<parm name="NAME" value="SampleInet" />
<parm name="PROXY-ID" value="SampleInet_Proxy" />
<parm name="STARTPAGE" value="http://portal.sample.com/" />
<characteristic type="PXPHYSICAL">
<parm name="PHYSICAL-PROXY-ID" value="SampleInet_PhProxy" />
<parm name="PXADDR" value="" />
<parm name="PXADDRTYPE" value="ALPHA" />
<parm name="TO-NAPID" value="SampleInet_NAPID" />
<characteristic type="PORT">
<parm name="PORTNBR" value="8080" />
</characteristic>
</characteristic>
</characteristic>
<characteristic type="APPLICATION">
<parm name="APPID" value="w2" />
<parm name="NAME" value="SampleInet" />
<parm name="TO-PROXY" value="SampleInet_Proxy" />
<characteristic type="RESOURCE">
<parm name="NAME" value="SampleInet" />
<parm name="URI" value="http://portal.sample.com/" />
<parm name="STARTPAGE" />
</characteristic>
</characteristic>
</wap-provisioningdoc>

You'll notice that it uses the same blank alpha proxy address, but also adds a port definition for the blank proxy. Motorola phones require this port setting to work properly ... SonyEricsson phones get confused if the port value is present.

Needless to say, these manufacturer differences cause considerable headaches. If you want to use the same provisioning settings for all phones, then be sure to include a proxy in the settings. (Proxies can add value anyway, in that they can do WML to WBXML conversion ... and WMLScript compilation as some phones like Motorola phones will only accept WMLScript byte code not WMLScript text format ... and they can add gzip compression which is supported by most mobile browsers.)

-bn