Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

Phone features work on top of either a GSM or CDMA radio stack. OEMs own the radio stack and ship a radio stack that is appropriate for their hardware.

Use the Featuresvalue of the HKEY_CURRENT_USER\ControlPanel\Phoneregistry key to configure GSM and CDMA specific UI and radio features. OEMs are responsible for configuring this registry key based on their radio stack and RIL driver.

The Featuresvalue of the HKEY_CURRENT_USER\ControlPanel\Phoneregistry key is a set of bit flags representing support for various CDMA, GSM and other features. The bit flags are defined in Phcanvas.h. This registry value must be specified in your Platform.regfile.

The following table shows the Microsoft recommended CDMA and GSM default configurations for the Featuresvalue under the HKEY_CURRENT_USER\ControlPanel\Phoneregistry key.

Registry key Description

"Features" = dword:0002B820

Microsoft recommended default configuration for CDMA radios.

"Features"=dword:0206C7D8

Microsoft recommended default configuration for GSM radios.

Features"=dword: 0646C7D8

Microsoft recommended default configuration for CDMA radios operating in Global Mode.

Features"=dword: 0042B838

Microsoft recommended default configuration for GSM radios operating in Global Mode.

The following registry key example shows how to set the recommended CDMA and GSM default configurations.

Copy Code
[HKEY_CURRENT_USER\ControlPanel\Phone]
  "Features"=dword:0002B820  // CDMA
  "Features"=dword:0206C7D8  // GSM

Some of the Featuresbit flags are dynamically generated during boot and some are statically read from the registry.

Note:
Do not set the bit flags that are dynamically generated during boot. These flags are not stored in or read from the registry.

In addition, for GSM radios, you should also set the following registry key

Copy Code
[HKEY_LOCAL_MACHINE\Security\Phone]
  "Features"=dword:18  // GSM Only

The following table shows the Featuresbit flags that are dynamically generated during boot.

Value Bitmask Description

SHDFL_NOPHONE

0x00000000

No phone is supported.

SHDFL_PHONE

0x00000001

Phone is supported.

SHDFL_PHONE_RADIOPRESENT

0x00000002

A radio is present.

SHDFL_PHONE_RADIOON

0x00000004

The radio is on.

SHDFL_PHONE_GLOBALMODE

0x00400000

Indicates that the phone is a global phone, and is capable of switching between GSM and CDMA radio modes. If this option is set on a device, it should always be set, regardless of the current operating mode of the phone.

SHDFL_PHONE_SUPPORTMULTILINES

0x00010000

Support multi-lines. This flag is not used from or stored in the registry.

The following table shows the Featuresbit flags that are statically read from the registry.

Value Bitmask Description

SHDFL_PHONE_LOCKFACILITY

0x00000008

The radio supports PIN locking. SIM Security UI should be shown.

This bit is supported only for the [HKEY_LOCAL_MACHINE\Security\Phone]registry key, and not [HKEY_CURRENT_USER\ControlPanel\Phone].

SHDFL_PHONE_SIMSUPPORT

0x00000010

The radio supports a SIM. The UI presenting SIM features should be shown.

This bit is supported only for the [HKEY_LOCAL_MACHINE\Security\Phone]registry key, and not [HKEY_CURRENT_USER\ControlPanel\Phone].

SHDFL_PHONE_VOICEDIALCONNECTS

0x00000020

Voice calls are considered connected as soon as RIL_Dialsucceeds.

If this bit is cleared, calls will not be considered connected until RIL_GetCallListshows that this call is in the RIL_CALLSTAT_ACTIVE state.

SHDFL_PHONE_UNIQUECALLTRACKING

0x00000040

Implies that RIL_GetCallListreport the state of each connected call and the UI should reflect this state.

GSM call state semantics are implied. Clearing this bit implies CDMA call state semantics.

SHDFL_PHONE_AUTOTHREEWAYCALLING

0x00000080

When set, dialing a second call will result in a call to RIL_Dial.

When clear, dialing a second call will result in a call to RIL_Flash.

SHDFL_PHONE_INTLPLUS

0x00000100

Convert "0" to "+" when the "0" key is held down.

SHDFL_PHONE_SMSUNICODE

0x00000200

If set, sending Short Message Service (SMS) in Unicode format is supported.

If clear, SMS Unicode UI will be hidden.

SHDFL_PHONE_0340SMS

0x00000400

Use the GSM Short Message Service (SMS) standard to send SMS.

SHDFL_PHONE_SUPPORTVOICEPRIVACY

0x00000800

Voice privacy UI should be shown.

SHDFL_PHONE_AKEY

0x00001000

A-Key UI should be shown.

SHDFL_PHONE_IS637SMS

0x00002000

Use the CDMA Short Message Service (SMS) standard to send SMS.

SHDFL_PHONE_SUPPORTGPRS

0x00004000

GPRS UI should be shown.

SHDFL_PHONE_SUPPORTMOSMS

0x00008000

The ability to send Short Message Service (SMS) should be shown in the UI.

SHDFL_PHONE_SUPPORTSPEAKERPHONE

0x00020000

Speakerphone UI should be shown. The driver should support IOCTL_SPEAKER_GETMODE and IOCTL_SPEAKER_SETMODE.

SHDFL_PHONE_SUPPORTWCMP

0x00040000

Indicates that WCMP is supported over the Short Message Service (SMS) transport.

SHDFL_PHONE_SUPPORTAUTOPREFIX

0x00080000

Enables the Auto-Prefix dialing UI and feature. When the user selects this feature and fills in an area code, the phone prepends the area code to every dial string.

SHDFL_PHONE_SUPPORTINTERNATIONALCODE

0x00100000

Enables prepopulation of the dialer with the international dialing code when the user presses and holds "0".

SHDFL_PHONE_SUPPORTLOCATIONICONS

0x01000000

Locations icons should be shown based on location status as reported by the RIL_NOTIFY_LOCATION notification and the RIL_GetCurrentLocationStatusfunction.

SHDFL_PHONE_SUPPORT0230DIALPARSING

0x02000000

GSM supplementary service codes should be parsed as specified by the European Telecommunications Standards Institute (ETSI) standard.

Configuring Auto-Prefixing

Auto-prefixing allows you to automatically add a designated prefix that will be dialed prior each call. To automatically enable auto-prefix dialing in Call Options Settings, enable the registry key shown in the following table. If this registry key is not set, the user must select the option manually in Call Option in the Settings menu to use auto-prefixing.

Registry key Description

"AutoPrefix" = DWORD: 1

Always use auto-prefix dialing if auto-prefix featureflags have been turned on.

"AutoPrefix" = DWORD: 0

Default Setting.

If the user wants to dial a different area code than the one set in Call Options Settings, special characters can be defined which override the auto-prefix. These characters allow the user to manually enter a different area code, if desired.

All special characters which override the auto-prefix feature must be set in the following registry key. If there are no special characters, do not create the value.

Copy Code
[HKEY_CURRENT_USER\ControlPanel\Phone]
  "AutoPrefixOverrides"=<A string list of single characters>

There should be no spaces or delimiters in-between characters. For example, the example shown below will, if auto-prefix is enabled and the area code set to "425", cause "425" to be dialed automatically prior to the actual number dialed.

Copy Code
   "AutoPrefixOverrides"="*#" 

See Also

Other Resources