Every now and then I have to sigh when using Android and wished they would have at least implemented telephony features half as intelligent as Symbian did in its days. But gone is gone and I have to make the best out of it. Activation of call forwarding is one such thing I kept sighing about because changing settings requires to go down several menu levels and waiting a couple of seconds for the device to read the current status from the HLR. But now I've found an interesting fix for that: USSD codes.
Yes, this 1990's technology to use special command codes in a dial string to interact with the HLR in the network in a standardized way speeds up a 2013 Android device. And here's how it works: As it's usually the same numbers I want to forward my calls to when my device is not reachable one can extend the entry of a person in the contacts by the phone number embedded in the USSD code to perform the desired call forwarding activation / deactivation procedure. The figure on the left shows how this is done for 'call forwarding when not reachable'.
The string starting with the '*' activates call forwarding when not reachable to this number and the entry with '#' at the beginning deactivates it again. Not shown in the image is the '#' sign that follows the phone number. Using the code is then as simple as selecting the entry in the address book and to 'dial' it. There's even feedback that the action has been performed.
Ok, so this is being a litte bit pedantic, but the Supplementary Service control codes may look like USSD codes, but are handled very differently by the network.
Codes below 100 are generally allocated to SS control codes, 100-149 for HPLMN USSD, and 150 to 199 for VPLMN USSD usage. 7x is used for some sort of mixed roaming/non-roaming USSD case.
SS codes are handled in the HLR, where as USSD codes are routed via the HLR to logical “USSD gateway” entity (could be on the HLR, but could be separate, e.g. an intelligent network system).
See 3GPP22.030 for Supplementary Service control Codes.
For Unstructured Supplementary Service Data and rfeleated codes, see 3GPP22.090.
I would support Marc and I would even extend this by proposing to register the SS (with **62*+3912345#) rather than only to activate the SS (with only one star). However, both should work today, and I can confirm that I also make a lot of use of this. It works on all devices I have seen so far, and to my knowledge this is even a requirement for Device Certification. Did you even know that with **004*NUMBER**30# you could set all conditional CFs at once and even set the no reply timer to 30 seconds? Certainly you did… 😉