title: Turn phone into 'hotspot' (ap), but hide usage
body: <p>Is it possible to turn the AP (Access Point) on and make it impossible for the carrier to discover that this data comes from other devices than the handset?</p>
  
  <p>There are unlimited data plans, but limited when used as a hotspot, that's why.</p>
  
  <p>I found the following code to turn the AP on:</p>
  
  <pre><code>wifi_manager = (WifiManager)    this.getSystemService(HotSpot_TrisActivity.this.WIFI_SERVICE);
  btnEnableAP = (Button)findViewById(R.id.btnEnableAP);
  
  btnEnableAP.setOnClickListener(new View.OnClickListener() 
  {
  
     @Override
     public void onClick(View arg0) 
     {
    // TODO Auto-generated method stub
    WifiConfiguration wifi_configuration = null;
    wifi_manager.setWifiEnabled(false);
  
    try 
    {
       //USE REFLECTION TO GET METHOD "SetWifiAPEnabled"
       Method method=wifi_manager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);
       method.invoke(wifi_manager, wifi_configuration, true);
    } 
    catch (NoSuchMethodException e) 
    {
       // TODO Auto-generated catch block
       e.printStackTrace();
    } 
    catch (IllegalArgumentException e) 
    {
       // TODO Auto-generated catch block
       e.printStackTrace();
    } 
    catch (IllegalAccessException e) 
    {
       // TODO Auto-generated catch block
       e.printStackTrace();
    } 
    catch (InvocationTargetException e) 
    {
       // TODO Auto-generated catch block
       e.printStackTrace();
    }
     }
  });
  </code></pre>
  
  <p>I found some ways the carrier might detect tethering:</p>
  
  <p>A constant TTL (Time To Live) could be used to “hide tether usage”.  Basically here’s how it works. When your phone wants to send out a packet, one of the things it adds to the packet is a TTL value, the default for Android is 64. That TTL value is decremented by one each time it hops through a network between your phone, so it leaves your phone at 64, leaves the tower at 63, leaves AT&amp;T at 62, so on and so forth.
  The thing is, some tethering apps are written to simply act as a router which means that they decrement the TTL so normal packets would come as 64 and tethered packets would come as 63. In addition, Windows has a default TTL of 128, which is different from the normal Android TTL, very obvious whether the tether app decrements or not.</p>
  
  <p>Or they might be simply looking for more than one device. When you use a WiFi tether your Android computer looks like a router, and the carrier can query how many computers are attached to that router.</p>
  
  <p>Or they check the browser.</p>
  
  <p>Anyone any clues how to adapt these data while tethering?</p>