Get Firefox! Viewable with any browser! Valid HTML 4.01! Valid CSS! OpenOffice.org
Text size: 

GSM codes

Serial Number
Firmware Version
Change PIN Code
Wireless connectivity
Bluetooth BD address
WLAN MAC address
System reset
Restore factory defaults
Soft reset
Hard reset
Network Operations
Caller Line ID
Call Waiting
Call Divert
Unconditional Call Divert
Conditional Call Divert: Call Divert if no answer
Conditional Call Divert: Call Divert if unavailable
Conditional Call Divert: Call Divert if busy

Most, if not all, of the commands described here are accessible via the menu of your cellphone. But what happens if you're using a new phone that you don't quite have at your fingertips, or a borrowed phone while yours is in for repairs? What happens if you need the information now but don't have the time to go delving into the manual? Always assuming you have the manual…

Barring restrictions put in place by your cellphone operator, the GSM codes described here should work on any GSM phone. Or, put in other words, if any of the network operations described below fail, it is because your operator doesn't implement them correctly, if at all.

There are very few concepts to learn, and once they are learned you'll be able to access information and perform network settings regardless of the phone you're using and how well (or how little little...) you know its menus.

SERIAL NUMBER

You should make a note of your phone's serial number, or IMEI number and keep it in a safe place. In the event of you losing the phone or it being stolen, you'll need to have it deactivated so that whoever now has it cannot run up a huge bill for you. For this, you'll need to give your operator the phone's IMEI number.

With the phone in standby, key this on its keypad:

*#06#

FIRMWARE VERSION

NB: This code is specific to Nokia phones.

As new features are added to phones, you can have your phone updated to include them. This usually entails taking the phone to an authorized dealer, where they will either perform the firmware upgrade for you on the premises or send the phone off to a service centre for this to be done. More recent phones can often be updated by the user or "OTA" (Over The Air) via wireless transfer. If the phone is still under warranty then the manufacturer will usually perform the update free of charge. If the user bricks the phone by screwing up the update at home, this tends to void the warranty.

Note that the ability to upgrade your phone's firmware is also dependant on your operator. Most operators install customised firmware into the handsets that they provide, so you might have to wait for them to provide updated versions of their firmware when the phone's manufacturer has already released new firmware for unbranded phones.

This code (only on a Nokia phone) will reveal the date and version of the firmware currently installed in the phone:

*#0000#

CHANGE PIN CODE

You can change the PIN code used to protect your SIM from unauthorized use with the following sequence:

**04*OLD_PIN*NEW_PIN*NEW_PIN#

Eg.: assuming your current PIN is 1234 and you want to make it 5678, you'd use this:

**04*1234*5678*5678#

Note that some phones (my Motorola RAZR V3 for one) intercept this sequence and display windows asking you to input the old and new PINs as soon as they see the **04* sequence.

WIRELESS CONNECTIVITY

Many handsets have BlueTooth connectivity built in so that the user can use wireless earpieces, in-car kits and the like. Some also have on-board 802.11b/g wireless network connectivity. The following two key sequences, which are specific to Symbian S60 phones such as the Nokia N95, allow the user to get information about these types of connectivity.

BlueTooth BD address

This will show you the BD address of your phone's built-in BlueTooth adapter:

*#2820# (*#bta0#)

WLAN MAC address

This code will show you the MAC address of the built-in WiFi adapter. It can be useful if, for example, you need to add it to your wireless router's "allow" table so you can access the Internet over your your WLAN:

*#62209526# (*#mac wlan#)

SYSTEM RESET

In the event of your phone becoming unstable (crashing, rebooting of its own accord, switching off for no apparent reason etc.), it can be beneficial to perform a system reset. Note that these procedures will erase the built-in memory of your phone (but not the contents of a memory card in the expansion slot), so make a backup of the contents before proceeding − either onto a memory card if you have one and if your phone allows this feature, or to your computer using software provided with your phone. Also ensure that your battery is fully charged.

Note that these codes are also specific to Nokia phones. The "Restore factory defaults" code works both on S60 and earlier S40 phones while the "Soft reset" and "Hard reset" functions only work with phones that are S60 2nd edition and later.

Restore Factory Defaults

Dial this to erase all user settings and revert to factory defaults:

*#7780# (*#rst0#)

Soft Reset

If the above didn't restore stability to your phone then maybe it's necessary to clean deeper into its innards. The next step is the "Soft reset":

*#7370# (*#res0#)

You will be prompted for the phone's "security code" when attempting to revert to factory defaults or perform a soft reset. The default security code on all Nokia handsets is 12345. If you have forgotten it then the only option you have is the hard reset, which wipes everything in the phone.

If you have a phone on which the hard reset cannot be performed by the end user, you will have to take it into an authorized dealer for them to do it. They will want proof that you own the phone before wiping it for you (a copy of the invoice with your name and the phone's IMEI number printed on it should be good).

Hard Reset

The final thing to try if neither the revert to factory defaults nor the soft reset put things right is the hard reset. Your fingers are going to have to do a bit of gymnastics here.

  1. Power the phone off.
  2. Press and hold down the '3', '*' and green 'call' keys ('multimedia', '*' and 'call' for the N78, or red, green and camera keys for a 5800 XpressMusic running firmware V20 or later - the operation is not possible on firmware V10 or V11).
  3. While maintaining these 3 keys down, switch the phone on.
  4. Wait until the phone shows signs of life such as the manufacturer's logo or a language selection screen.
  5. Release the 3 keys.

NETWORK OPERATIONS

Note that the codes given so far are not really GSM codes as such in that they don't allow you to interact with the GSM network. The codes *#06# and **04* are, however, standard across all GSM phones. While the operations described above complete automatically as soon as you type the final "#", network operations require you to send in to the operator the GSM code you've typed. Usually, this is achieved by pressing the key you normally use to dial a number − most of the time it's a green key. So, while it isn't mentioned explicitly, there is an implicit "send" or "dial" after each of the commands below.

Caller Line ID (CLI)

To find out whether your operator's default behaviour is to send your CLI when you place calls or to conceal it, you can interrogate the network with this GSM code:

*#31#

The network's default behaviour can be overridden on a per-call basis. In order to conceal your number when placing a call, you prefix the number you want to dial with #31#. So, for example, if you want to call 0123.456.7890 without revealing your number, you'd dial:

#31#01234567890

Conversely, if your network's default is to conceal CLI but you want your correspondent to see your CLI regardless, you prefix the number you're dialling with *31#. Thus, to force CLI to be sent while dialling the number above, you'd dial:

*31#01234567890

Call Waiting

Some operators provide the user with a call waiting function. Using this facility, you can have two people on the line and switch between them (but not speak to both simultaneously). This function, if supported by your line, can be interrogated and set using GSM codes. First, find out if it is active on your line with this code:

*#43#

If you get an error message in return, such as "not supported" or "undefined result", then call waiting is not supported by your line. Otherwise, you will be told whether the service is active or not.

In order to activate the service (if your line supports it), use this code:

*43#

In order to deactivate it:

#43#

Call Divert

The GSM standard knows two kinds of call divert:

Conditional call divert occurs on any of three conditions:

Furthermore, the GSM standard knows three different types of call:

Each call type is assigned a number: 11 for voice calls, 13 for fax calls, 25 for data calls.

» Unconditional Call Divert

Unconditional call divert of all call types is achieved using this GSM code:

**21*target_number#

Eg.: to divert all inbound calls to 0123.456.7890 unconditionally, use this code:

**21*0123456789#

To cancel the unconditional call divert of all call types, use this code:

##21#

To find out if unconditional call divert is set up on your line, use:

*#21#

This will inform you of the unconditional call divert status of all the types of call supported by your handset.

Of course, it is also possible to divert unconditionally only calls of a particular type. This is achieved with GSM codes of the following format:

**21*target_number*CT#

…where "CT" is the 2-digit number for the call type you want to divert. So, for example, if I only want to divert fax calls unconditionally to my home fax number, which is 0987.654.3210, while still receiving voice and data calls on my cellphone, I'd use this code:

**21*09876543210*13#

Unconditional call divert status for individual call types can also be obtained from the network:

*#21*CT#

Eg.: is there an unconditional call divert set up for voice calls?

*#21*11#

Finally, unconditional call divert can also be cancelled for individual call types:

##21*CT#

Eg.: to cancel the unconditional call divert of fax calls set up above:

##21*13#

Recap:

*#21#                     : Interrogate unconditional call divert, all call types
*#21*11#                  : Interrogate unconditional call divert, voice calls
*#21*13#                  : Interrogate unconditional call divert, fax calls
*#21*25#                  : Interrogate unconditional call divert, data calls

**21*number#              : Activate unconditional call divert, all call types, to number
**21*number*11#           : Activate unconditional call divert, voice calls, to number
**21*number*13#           : Activate unconditional call divert, fax calls, to number
**21*number*25#           : Activate unconditional call divert, data calls, to number

##21#                     : Cancel unconditional call divert, all call types
##21*11#                  : Cancel unconditional call divert, voice calls
##21*13#                  : Cancel unconditional call divert, fax calls
##21*25#                  : Cancel unconditional call divert, data calls

» Conditional Call Divert: Call Divert if no answer

Under normal circumstances, if your phone rings for 20 seconds and you don't pick it up, the inbound call is diverted to your voicemail so that the caller can leave a message. You can change this default behaviour and have the call forwarded to another line, such as your land line or another cellphone. In order to do so, use this code:

**61*number*tt#

…where "tt" is the number of seconds you want your phone to ring before the call is diverted to "number". Possible values for "tt" are 05, 10, 15, 20, 25, 30.

The status of the conditional call divert if no answer can be obtained from the network:

*#61#

Conditional call divert if no answer can be cleared with this code:

##61#

Note that the usual effect of clearing the conditional call divert if no answer is not to make your phone ring forever if someone calls. It resets to the default setting of diverting to your voicemail after 20 seconds.

The above codes apply to all call types. It is also possible to have the conditional call divert if no answer apply to only one type of call, in which case they become of this form:

*#61*CT#              : Interrogate conditional call divert if no answer for call type CT
**61*number*CT*tt#    : Activate conditional CT call divert to number if no answer after tt seconds
##61*CT#              : Cancel conditional call divert if no answer for call type CT

Recap:

*#61#                : Interrogate conditional call divert if no answer, all call types
*#61*11#             : Interrogate conditional call divert if no answer, voice calls
*#61*13#             : Interrogate conditional call divert if no answer, fax calls
*#61*25#             : Interrogate conditional call divert if no answer, data calls

**61*number*tt#      : Conditional divert all calls to number if no answer after tt seconds
**61*number*11*tt#   : Conditional divert voice calls to number if no answer after tt seconds
**61*number*13*tt#   : Conditional divert fax calls to number if no answer after tt seconds
**61*number*25*tt#   : Conditional divert data calls to number if no answer after tt seconds

##61#                : Cancel conditional call divert if no answer, all call types
##61*11#             : Cancel conditional call divert if no answer, voice calls
##61*13#             : Cancel conditional call divert if no answer, fax calls
##61*25#             : Cancel conditional call divert if no answer, data calls

» Conditional Call Divert: Call Divert if unavailable

Normally, if your cellphone is switched off or out of range, any inbound calls are diverted straight to your voicemail. You can change this so that calls get routed to a different number if your cellphone is unavailable.

You use a GSM code like this to activate conditional call divert if unavailable:

**62*number#

You can cancel the conditional call divert if unavailable with this code:

##62#

Finally, you can interrogate the network for the status of your conditional call divert if unavailable with this code:

*#62#

As for unconditional call divert and conditional call divert if no answer, you can also have the conditional call divert if unavailable apply only to one kind of call. You end up with these codes:

*#62#                : Interrogate conditional call divert if unavailable, all call types
*#62*11#             : Interrogate conditional call divert if unavailable, voice calls
*#62*13#             : Interrogate conditional call divert if unavailable, fax calls
*#62*25#             : Interrogate conditional call divert if unavailable, data calls

**62*number#         : Conditional divert all calls to number if unavailable
**62*number*11#      : Conditional divert voice calls to number if unavailable
**62*number*13#      : Conditional divert fax calls to number if unavailable
**62*number*25#      : Conditional divert data calls to number if unavailable

##62#                : Cancel conditional call divert if unavailable, all call types
##62*11#             : Cancel conditional call divert if unavailable, voice calls
##62*13#             : Cancel conditional call divert if unavailable, fax calls
##62*25#             : Cancel conditional call divert if unavailable, data calls

» Conditional Call Divert: Call Divert if busy

If you have call waiting and if it is activated, then your line will become "busy" once you have two correspondents on the line. If you don't have call waiting on your line, or if you do but haven't activated it, then your line will be busy with only one conversation under way. If another person tries to call you while your line is busy, the inbound call is usually shunted straight off to your voicemail so that the caller can leave you a message. This behaviour can be altered so that an inbound call received while your line is already busy gets diverted elsewhere.

The codes are identical to those for unconditional divert and for conditional divert if unavailable, except that the number 67 is used in place of 21 or 62 respectively. So, we end up with this:

*#67#                : Interrogate conditional call divert if busy, all call types
*#67*11#             : Interrogate conditional call divert if busy, voice calls
*#67*13#             : Interrogate conditional call divert if busy, fax calls
*#67*25#             : Interrogate conditional call divert if busy, data calls

**67*number#         : Conditional divert all calls to number if busy
**67*number*11#      : Conditional divert voice calls to number if busy
**67*number*13#      : Conditional divert fax calls to number if busy
**67*number*25#      : Conditional divert data calls to number if busy

##67#                : Cancel conditional call divert if busy, all call types
##67*11#             : Cancel conditional call divert if busy, voice calls
##67*13#             : Cancel conditional call divert if busy, fax calls
##67*25#             : Cancel conditional call divert if busy, data calls



As usual, comments on this page are welcome. If you're not a spammer then please feel free to contact me in order to make suggestions and point out any bloopers I might have included.

NAVIGATION:
>> /misc
>> /

Powered by Apache on Slackware Linux
Powered by Apache / Slackware Linux

Last update: 22-MAY-2009 09:12:39 UTC
This page has been served 113340 times since 22-JUN-2007