I first described dialing rules in tip 1682» Calling card rules in the registry.
Windows XP and Windows XP store the dialing rules for predefined countries at:
where InternationalDialingCountryCode is 1 for the USA and 44 for the United Kingdom.
Each country has a LongDistanceRule and InternationalRule Value Name, a String (REG_SZ) data type, that contains the dialing rules, using the following schema:
0-9 Numbers to be dialed. ABCD Characters to be dialed. (Tone dialing only - used for special control on some phone systems.) E Dial the country code. F Dial the area code (city code). G Dial the local phone number. H Dial the card number. *,# Characters to be dialed (tone dialing only). T Subsequent numbers are to be tone dialed. P Subsequent numbers are to be pulse dialed. , Pause for a fixed time. ! Flash (1/2 second on-hook, 1/2 second off-hook). W Wait for a second dial tone. @ Wait for quiet answer (ring-back followed by five seconds of silence). $ Wait for calling card prompt tone. ? Suspend dialing until user provides input.Windows XP and Windows Server 2003 support the following additional codes:
L Mandatory long-distance carrier. M Mandatory international carrier. N Optional long-distance carrier. S Optional international carrier.If you inspect the LongDistanceRule for the USA, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\1\LongDistanceRule, you can see that it is set to N1FG, look for an optional long distance carrier, dial 1 for long distance, dial the area code, and dial the number.