views:

298

answers:

2

I am working on an application which needs to divert phone calls to other cell phones programatically using the compact framework. These need to network or carrier redirects so that if the phones loose battery/etc the diverts will still function. I need to be able to enable and disable these call diverts easily and programatically with zero human interaction.

Does anyone have any idea how to do this?

A: 

If you use call diverting often but don't want to go through the Pocket PC Phone Edition or Smartphone 2002 menu, you can also use the USSD short codes. This feature is available since the first GSM networks were launched and the phone menu doesn't do anything different than sending these codes. However, this gives you a faster access to your settings and in addition it offers you one feature which isn't available through most mobile phone menus (defining after which time a call should be forwarded if you don't reply). Please remember that this information is stored on the GSM network, not on your GSM device. So doesn't matter if you change your SIM card to another terminal, the settings are stored as long as you don't change it.

USSD codes works in the same way on all networks and GSM phone. USSD codes always looks like:

* Activate: *USSD_Code# @

* Deactivate: #USSD_Code # @

* Delete: ##USSD_Code # @

* Check Status: *#USSD_Code# @

USSD_Code = the feature code the mobile phone should send to the network

@ = Send (green) phone button

Ash
A: 

Did you got it to work using C#? Can you please tell me how? I'm using:

Phone p = new Phone();
p.Talk("*21*<my number>#");

The phone shows me an error message, but if I type the same number everything works. Do you know something about it?

Joubert