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. |
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.reg
file.
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"="*#" |