views:

336

answers:

1

I have a Nokia Symbian Series 60 3rd edition phone. I can use it as a GPRS / 3G modem either using Bluetooth, USB or IR.

Is there a way to programmatically detect when the phone is being used as a modem?

Please note I don't want to detect when a GPRS / 3G connection comes up (such as when you use the phone browser), but when a GPRS / 3G connection comes up that is the result of the phone being used as tethered modem via BT / IR / USB.

So the user has set up a dial up networking connection on their laptop, for instance, which uses the modem in the phone. They then launch that connection because they want to make a 3G wireless internet connection from their laptop via the phone. That's what I'd like to be able to detect from the phone.

+2  A: 

I don't believe there's any public interface that you could use for this. You could probably use internal APIs to check what is creating the data connection, or more crudely check which processes are running when a data connection is created - probably quite easy to fool this method, depends why you want to know?

I can see network operators wanting to do this to block and/or charge extra for tethering usage. Easiest way to do that would be network side though, checking the browser UA header (also possible to fool, but not without harming your browsing experience a bit on the laptop).

Mark Wilcox
I suspect you're right. I need to know for the operator use case. You would have thought this would be easier from their end, and I guess in the case of web browsing as you say you could use some UA technique to have some idea. In the general case of email or other programs though - VPN connection, ftp etc. etc. I imagine it becomes harder and harder to work out what has come from the phone and what from a laptop. At the moment it looks like I will have to put an API request into Nokia for a private API :(
Rob Charlton
Obviously you don't want to turn away work, but I'd advise against going down this route for this use case. It'll just start another arms race. Just because you can detect the standard PC dial-up, doesn't mean I can't write a simple app that lets people share their connection from the PC using that.It would be much better for operators to adopt sensible "reasonable use" policies for the subscriber from any device. What if I put my SIM in my unlocked N900 - can do pretty much anything a laptop can...
Mark Wilcox
Personally I don't disagree with any of that ;)
Rob Charlton