Well, the MMS APN trick does work.. on some devices. On others it doesn't.
Tested with 2 devices with Android 2.3.3 and 3.2 and worked.
On Samsung Galaxy Note with Android 4.0.4 it's not working. I wonder if
it's the feature string that is different or if it has something to do with
Android version...

Any hints?


On 28 January 2013 17:15, Goncalo Oliveira <[email protected]> wrote:

> Thanks Robert, I really appreciate your help. I'll try as you suggest.
>
>
> On 28 January 2013 16:59, Robert Greenwalt <[email protected]> wrote:
>
>> I don't think you're making your own builds, so you'll have to set the
>> APN data on each device (though you probably already have to do this as
>> it's not a public apn).  In the apn data set the type of the apn to "mms"
>> instead of "default" or blank.  Remove any default/blank apn for your
>> mcc/mnc pair.
>>
>> In your app, you will need to call
>> CM.startUsingNetworkFeature(TYPE_MOBILE, "enableMMS").  This will turn off
>> every 10 minutes (by default - may be different on different phones) so you
>> need to call it repeatedly forever perhaps every 9.5 minutes.  Then you
>> need to call requestRouteToHost(TYPE_MOBILE_MMS, int addr) for every IP
>> addr you're accessing.  Then you should be able to access the servers
>> normally.
>>
>> R
>>
>>
>> On Mon, Jan 28, 2013 at 8:34 AM, Goncalo Oliveira <[email protected]>wrote:
>>
>>> Hi Robert, thanks for such a prompt answer.
>>>
>>> Firstly, it's 3 mb in 3 days, 1mb/day. The DNS resolves the addresses
>>> correctly, but the connections will fail. Unfortunately I don't have access
>>> to DNS servers, so it's a bit harder to capture this traffic. I've
>>> installed Onavo count to capture the traffic, and I can see the usage
>>> growing up with Android OS.
>>>
>>> The APN idea seems to be a good workaround. Breaking the brower or other
>>> apps isn't really a problem for us, as this is something very specific. Can
>>> you tell me where can I find more information on how to do this?
>>>
>>> Cheers
>>>
>>>
>>> On 28 January 2013 16:14, Robert Greenwalt <[email protected]>wrote:
>>>
>>>> I am curious what the 3mb/day of data consists of if the servers can't
>>>> be reached.  3mb of tcp connect attempts?  DNS lookups?  If it's DNS
>>>> perhaps you could populate your local DNS server with bogus records so that
>>>> the DNS requests die down to be replaced with perhaps fewer failing connect
>>>> attempts?  Can you capture this traffic?
>>>>
>>>> You could potentially use a different APN type.  Instead of using a
>>>> default type you could put it on type IMS or type MMS.  This will involve a
>>>> bit more work for you, but if you don't a a default connection the other
>>>> apps shouldn't use any data.  This would also mean things like the browser
>>>> won't work.
>>>>
>>>>
>>>>
>>>> On Mon, Jan 28, 2013 at 3:58 AM, Goncalo Oliveira 
>>>> <[email protected]>wrote:
>>>>
>>>>> Sorry for reopening this, but I have a consequence behavior with this
>>>>> and was hoping for some insights.
>>>>>
>>>>> As I said earlier, we are using a very specific APN that allows the
>>>>> connection only to a restricted range of servers. I managed to use a
>>>>> heartbeat every 5 minutes to workaround the GCM issue, and with the app
>>>>> everything is working fine. However, I have another consequence. Because
>>>>> the APN restricts access to anything outside "our safe little world", the
>>>>> system is consuming a whole load of data. Android OS consumed 3 mb in 
>>>>> three
>>>>> days, Google Services 416 k. In the data settings I was able to restrict
>>>>> Google Services (as well as software updates and others) from using data
>>>>> but I can't do the same for Android OS. This is killing us completely
>>>>> because we have a very restrictive data plans.
>>>>>
>>>>> Any ideas on how I can disable data transfer for everything except my
>>>>> application?
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>> On 21 December 2012 15:55, Goncalo Oliveira <[email protected]>wrote:
>>>>>
>>>>>> Robert,
>>>>>>
>>>>>> Thanks again for clarifying. Basically if I open up GCM I'm allowing
>>>>>> user to work with gtalk, so I will want to avoid that.
>>>>>> Looks like sending the heartbeat every 5 minutes is the only option I
>>>>>> have left.
>>>>>>
>>>>>> Thanks for the help. Much appreciated.
>>>>>> Cheers
>>>>>>
>>>>>>
>>>>>> On 21 December 2012 15:44, Robert Greenwalt <[email protected]>wrote:
>>>>>>
>>>>>>> I believe most of the google apps rely on GCM (calendar, gmail,
>>>>>>> contacts, talk, etc), also 3rd party apps that need pushed notifications
>>>>>>> are encouraged to use GCM.  Unless you are making a custom build and
>>>>>>> denying app installs you probably have apps that will be broken without 
>>>>>>> GCM.
>>>>>>>
>>>>>>> Of course, if you have very limited data plans on special purpose
>>>>>>> phones, you may wish for all those apps to be broken - they can use 
>>>>>>> quite a
>>>>>>> bit of data.
>>>>>>>
>>>>>>> I don't know what GCM's steady-state data rate is for a device.  I
>>>>>>> believe it does a carrier keep-alive ping every 20-30 minutes.  It also
>>>>>>> checks for updates whenever the screen comes on.  Other than that I 
>>>>>>> think
>>>>>>> it is dependent on user or network-originating app traffic.
>>>>>>>
>>>>>>> R
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Dec 21, 2012 at 2:23 AM, Goncalo Oliveira <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Robert,
>>>>>>>>
>>>>>>>> Thank you for the explanation. There's just one more thing that I'd
>>>>>>>> like you to help me understand. If we choose to allow the GCM 
>>>>>>>> connection,
>>>>>>>> what kind of traffic can we expect to have? Like I said previously, we 
>>>>>>>> have
>>>>>>>> a very tight data plan, so if the GCM connection adds more than just a 
>>>>>>>> few
>>>>>>>> bytes, that might be a bad idea to enable it. Also, by enabling GCM
>>>>>>>> connection, what am I allowing the users to do? Can they use gtalk or
>>>>>>>> something else?
>>>>>>>>
>>>>>>>> Cheers
>>>>>>>>
>>>>>>>>
>>>>>>>> On 21 December 2012 00:17, Robert Greenwalt 
>>>>>>>> <[email protected]>wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> The GCM is part of the platform - 3rd party apps depend on it and
>>>>>>>>> so there's no mechanism for deactivating it.
>>>>>>>>>
>>>>>>>>> If you can allow the GCM connection to succeed, you should avoid
>>>>>>>>> the current problems, but if you're going for a secure platform you 
>>>>>>>>> may not
>>>>>>>>> want the GCM connection to succeed.
>>>>>>>>>
>>>>>>>>> You could potentially hijack the dns resolution: have your dns
>>>>>>>>> server report an address you control for mtalk.google.com, then
>>>>>>>>> allow connections to your own server, but no real functionallity.  
>>>>>>>>> With
>>>>>>>>> some reverse engineering you may be able to get to a quiet connection 
>>>>>>>>> that
>>>>>>>>> doesn't trigger these data-stall triggers.
>>>>>>>>>
>>>>>>>>> The easiest solution is to adjust your keep-alive ping to < 6
>>>>>>>>> minutes.  That will effect the battery, but less than allowing the 
>>>>>>>>> resets
>>>>>>>>> to happen.
>>>>>>>>>
>>>>>>>>> I have created internal issues to examine this issue, but even if
>>>>>>>>> we fixed it today internally you wouldn't see it for a long while.  
>>>>>>>>> The
>>>>>>>>> first issue is to find what traffic is causing this connection reset. 
>>>>>>>>>  The
>>>>>>>>> second is to re-eval counting udp packets (I am assuming that's 
>>>>>>>>> causing
>>>>>>>>> part of this problem).
>>>>>>>>>
>>>>>>>>> I'm sorry you have hit this issue.
>>>>>>>>>
>>>>>>>>> Robert
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Thu, Dec 20, 2012 at 4:30 AM, Goncalo Oliveira <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Robert,
>>>>>>>>>>
>>>>>>>>>> Any updates on this?
>>>>>>>>>>
>>>>>>>>>> Cheers
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 18 December 2012 10:06, Goncalo Oliveira 
>>>>>>>>>> <[email protected]>wrote:
>>>>>>>>>>
>>>>>>>>>>> consider opening up the addre
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Gonçalo Oliveira
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>>> Groups "Android Developers" group.
>>>>>>>>>> To post to this group, send email to
>>>>>>>>>> [email protected]
>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>> [email protected]
>>>>>>>>>> For more options, visit this group at
>>>>>>>>>> http://groups.google.com/group/android-developers?hl=en
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  --
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "Android Developers" group.
>>>>>>>>> To post to this group, send email to
>>>>>>>>> [email protected]
>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>> [email protected]
>>>>>>>>> For more options, visit this group at
>>>>>>>>> http://groups.google.com/group/android-developers?hl=en
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Gonçalo Oliveira
>>>>>>>>
>>>>>>>> --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "Android Developers" group.
>>>>>>>> To post to this group, send email to
>>>>>>>> [email protected]
>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>> [email protected]
>>>>>>>> For more options, visit this group at
>>>>>>>> http://groups.google.com/group/android-developers?hl=en
>>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Android Developers" group.
>>>>>>> To post to this group, send email to
>>>>>>> [email protected]
>>>>>>> To unsubscribe from this group, send email to
>>>>>>> [email protected]
>>>>>>> For more options, visit this group at
>>>>>>> http://groups.google.com/group/android-developers?hl=en
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Gonçalo Oliveira
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Gonçalo Oliveira
>>>>>
>>>>> --
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Android Developers" group.
>>>>> To post to this group, send email to
>>>>> [email protected]
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected]
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/android-developers?hl=en
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Android Developers" group.
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected].
>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>
>>>>>
>>>>>
>>>>
>>>>  --
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Android Developers" group.
>>>> To post to this group, send email to
>>>> [email protected]
>>>> To unsubscribe from this group, send email to
>>>> [email protected]
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/android-developers?hl=en
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Android Developers" group.
>>>> To unsubscribe from this group, send email to
>>>> [email protected].
>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Gonçalo Oliveira
>>>
>>> --
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Android Developers" group.
>>> To post to this group, send email to [email protected]
>>> To unsubscribe from this group, send email to
>>> [email protected]
>>> For more options, visit this group at
>>> http://groups.google.com/group/android-developers?hl=en
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Android Developers" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>>
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>>
>>>
>>
>>  --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Android Developers" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/android-developers?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Android Developers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>>
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>
>
> --
> Gonçalo Oliveira
>



-- 
Gonçalo Oliveira

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to