Friday, July 3, 2009

USSD -- a nice tutorial

To get the most out of your mobile device, it is handy to know more about USSD – which stands for Unstructured Supplementary Service Data.

This is a protocol which is used by Mobile Phone operators in their core network and manufactureres on their mobile devices.

The below tutorial will hopefully introduce you to some interesting hint's trick's and tips for Mobile Devices both on and off the Vodafone Network.

So How Does It Work?

A USSD message is sent directly to the users home network. Hence a user can still potentially obtain certain home services when roaming abroad. The message does not actually tie up the traffic plane. It is sent on the Stand-alone Dedicated Control Channel (SDCCH), thus no expensive radio resources are consumed while sending. If there is already a call in progress the message is sent via the Fast Association Control Channel (FACCH), again leaving valuable circuit switched and packet switched radio resources untouched.

The best analogy for USSD and SMS in mobile networks, is Telnet and E-mail in IP networks.

Why Is It So Good?

It is session based, hence it has good real time behaviour unlike SMS. It is understood by all GSM networks and handsets. It is not resource hungry. Version two even supports a dialogue enabling a menu to be displayed on a device. It works accross networks.

What Is It Used For?

It's used for services like pre-pay in most networks. Vodafone utilise USSD for debugging, pre-pay services, ussd call back, caller ID, voice mail services (which are being deprecated), call forwarding services, dual line, multi SIM and many more.

Why Should A Developer Be Bothered In Learning This And The Commands?

It could potentialy be used for helping to test and verify parts of the network. Information delivered from a service could be use as part of another service.

How Do I Use It?

It's very easy to use. All commands start with astrix () and/or a hash (#) then a number then an astrix () and/or hash (#). The user then sends the string as if dialing a number. The mobile device interprets this as a USSD command and sends via the control channel to the operators central database known as a HLR (Home Location Register). From here it can be routed to an IN node such as a USSD Gateway. Show Me A Cool Example.

The most well know USSD command is probably:

*#147#

Try typing this into your phone and sending, You should be returned a message with the last person who dialed you, a time and date like:

077666999000 13:54 19FEB08

This is stored in the network even when your phone is not in service, or out of coverage.

layoutElementContent.uuid: 50637309-0e3d-43f2-973c-adc73a9befa7 Document Name BV_MOBILE_DEVICES_TUTORIAL_INTRODUCTION Document UUID 43c75a69-4738-4b5e-807b-43c1f4119846
devices icon

To get the most out of your mobile device, it is handy to know more about USSD – which stands for Unstructured Supplementary Service Data.

This is a protocol which is used by Mobile Phone operators in their core network and manufactureres on their mobile devices.

The below tutorial will hopefully introduce you to some interesting hint's trick's and tips for Mobile Devices both on and off the Vodafone Network.

layoutElementContent.uuid: e2dbbda3-f0a8-4f51-945e-0ce7dac33b52 Document Name BV_MOBILE_DEVICES_TUTORIAL_USSD_NEWS Document UUID 455163ef-dc25-477b-915b-fe4e0bad0cd9

USSD Voice Alert Commands

Vodafone UK are currently in the process of rolling out the new Voice Mail system. This will mean an improved service for Vodafone customers allowing a better interactive voice setup of your own voice mail account.

This will impact the common USSD commands for controlling your voice mail such as the *#121#. These commands will no longer work after the switch over. However, you will have an improved set of voice menu options to control all this functionality.

Vodafone UK will be soft launching the new service, so no exact date is given yet for when this will happen. green info icon

The list of deprecated USSD commands for voice mail are given below:

Clear Conditional Diverts

*#1210#

Set Conditional Diverts

*#1211#

Set Unconditional Diverts

*#1212#

Clear Unconditional Diverts

*#1213#

Set Voice notification

*#1217#

Set SMS notification

*#1218#

Set alert and deliver notification

*#1219#
layoutElementContent.uuid: 0487df81-5471-4159-8620-930a5b7351a0 Document Name BV_MOBILE_DEVICES_TUTORIAL_USSD_CODES Document UUID f8831fcf-3671-41ec-99fe-81097a045825

Core Network USSD Messages

The USSD messages contained here all relate to obtaining network specific information to the mobile from the core network. There is an exception, which is the USSD command to obtain your IMEI code! We hope developers may find this information useful and look forward to feedback from the community

Get the mobile number of the device

This sends a request into the core network to obtain what it thinks is the MSISDN number registered to the SIM card. It can be quite useful in determining the MSISDN number of a connected divice if you hapen to be testing multiple devices.

There are two flavours of this. One which returns the MSISDN from the HLR, and the other from the BSC.

MSISDN From HLR

The Message *#100#

The response: 077666999000

MSISDN From BSC

The Message *#100*#

The response: "077666999000" , TS11

Get the HLR number the device is registered with

This asks the Home Location Register (HLR) that the SIM is registered with to send it's ID number. It is mostly only useful to engineers testing the core network.

Please note this is an example, the actual number returned for your device will probably be different

HLR Number Device Is Registered with

The Message *#101#

The response: 1hlrc1 0003 0122

Get the VLR number the device is registered with

This asks the Visited Location Register (VLR) that the SIM is registered with to send it's ID number. It is mostly only useful to engineers testing the core network.

Please note this is an example, the actual number returned for your device will probably be different

VLR Number Device Is Registered with

The Message *#102#

The response: 447785012100 VF-Fleet

Get the Network Time

This asks the mobile network to report it's local time. It is mostly only useful to engineers testing the core network.

Network Time

The Message *#103#

The response: 21-FEB-2008 12:43

Get the MLR number the device is registered with

This asks the Message Location Register (MLR) that the SIM is registered to send it's ID number. It is mostly only useful to engineers testing the core network.

Please note this is an example, the actual number returned for your device will probably be different

MLR Number Device Is Registered with

The Message *#104#

The response: 447990100706 VF-GMLRI

Get CS and PS services information the device is registered with

This asks the core network that the SIM is registered to for information on it's registed state to SGSN and VLR. This includes registered times and ID's. It is mostly only useful to engineers testing the core network.

Please note this is an example, the actual number returned for your device will probably be different

CS and PS Registration Info

The Message *#105#

The response: CS:447785012100 VF-Fleet
REGISTERED 21-FEB-2008 08:02:10
PS:447785012610 SGSNMS1
REGISTERED 21-FEB-2008 10:08:09

Get the IMEI of device.

This asks the mobile device to return the International Mobile Subscriber Identity Number (IMEI). It is mostly only useful to engineers testing the core network and or mobile devices.

Please note this is an example, the actual number returned for your device will be different

IMEI Info The Message *#06#

The response: 350257006231189
layoutElementContent.uuid: 664efac6-b8ed-4ee5-b0ec-164726f8c680 Document Name BV_MOBILE_DEVICES_TUTORIAL_USSD_CODES_LAST_CALLER Document UUID 10f4a166-cb53-4965-929c-1f19d91b9348

USSD Messages for Last Caller

This USSD messages is used to retrieve the last caller to the your mobile.

The command is useful as it will return the last dialed number to your mobile even when it's switched off or not in network coverage.

Last Caller

The Message *#147#
The response: 077666999000 16:28 21FEB08

USSD Messages for Nokia Bluetooth

This USSD messages is used to retrieve the Bluetooth MAC address from Nokia mobile devices.

The command can be useful for developers when they quickly require the MAC address during testing.Please note, the value returned on your device will be different.

Bluetooth MAC address

The Message *#2820#
The response: Bluetooth device
address: 001c9a1faea5

No comments:

Post a Comment