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.

