[ENTRY]
        -- Taken from the Dial Up entry name in Win9x

    Type=<RASET-code>
        -- RASET codes are defined in ras.h. They are
           RASET_Phone (0x1) , RASET_Vpn (0x2), RASET_Direct (0x3), RASET_Internet (0x4).
           This setting determines what is dialup options are presented to the end user.

    Description=<description>
        -- This is not used by NT5 and nothing is migrated to it.

    AutoLogon=<1/0>
        -- ???????????????

    DialParamsUID=<unique-ID>
        -- ???????????????

    Guid=<guid>
        -- Nothing is migrated to this setting. A GUID will be assigned to the entry
           the first time it is used on NT 5.0.

    UsePwForNetwork=<1/0>
        -- This is unused on NT 5.0 and nothing is migrated to it.

    ServerType=<ST-code>
        -- This is unused on NT 5.0 and nothing is migrated to it.

    BaseProtocol=<BP-code>          ;same
    Authentication=<AS-code>        ;same
    ExcludedProtocols=<NP-bits>     ;same
    LcpExtensions=<1/0>             ;same
    DataEncryption=<DE-code>        ;same, but new codes for IpSec
    SkipNwcWarning=<1/0>            ;same
    SkipDownLevelDialog=<1/0>       ;same
    SwCompression=<1/0>             ;same
    UseCountryAndAreaCodes=<1/0>    ;Deleted, becomes "UseDRules" of 1st phone#
    AreaCode=<string>               ;Deleted, becomes "AreaCode" of 1st phone#
    CountryID=<id>                  ;Deleted, becomes "CountryID" of 1st #
    CountryCode=<code>              ;Deleted, becomes "CountryCode" of 1st #

    ShowMonitorIconInTaskBar=<1/0>
        -- The answer to this is the value stored in !(<HKR\Remote Access\[DialUi]> & DIALUI_DONT_SHOW_ICON)

    CustomAuthKey=<EAP-code>
        -- Nothing is migrated to this key from Windows9x.

    CustomAuthData=<hexdump>
        -- Nothing is migrated to this key from Windows9x.

    AuthRestrictions=<AR-code>
        -- Nothing is migrate to this key from Windows9x.

    OverridePref=<RASOR-bits>
        -- Set to "15" on upgrade. This ensures that
           RedialAttempts, RedialSeconds, IdleDisconnectSeconds, and RedialOnLinkFailure are used from the
           entry. This is also the default set on NT 5.0.

    DialMode=<DM-code>
        -- Nothing migrated currently for this setting. Need to have multilink tested further to see if there is
           something that can be put there (I do not think that there is..)

    DialPercent=<0-100>
        -- Hardcoded to '90' during migration.

    DialSeconds=<1-n>
        -- Hardcoded to '120' during migration.

    HangUpPercent=<0-100>
        -- Hardcoded to '50' during migration.

    HangUpSeconds=<1-n>
        -- Hardcoded to '120' during migration.

    RedialAttempts=<n>
        -- <HKR\Remote Access\[RedialTry]>

    RedialSeconds=<n>
        -- let d = <HKR\Remote Access\[RedialWait]>, then DialSeconds = HIWORD(d) * 60 + LOWORD(d)

    IdleDisconnectSeconds=<-1,0-n>
        -- Hardcoded to '-1' during migration.

    RedialOnLinkFailure=<1/0>
        -- Defaults to 0 during migration.

    CallbackMode=<1/0>
        -- Defaults to 0 during migration.

    CustomDialDll=<path>            ;same, i.e. NYI
    CustomDialFunc=<func-name>      ;same, i.e. NYI
    AuthenticateServer=<1/0>        ;same

    SecureLocalFiles=<1/0>
        -- Not used during migration.
    ShareMsFilePrint=<1/0>
        -- Not used during migration.
    BindMsNetClient=<1/0>
        -- Not used during migration (need to investigate.)

    SharedPhoneNumbers=<1/0>        ;New
    PrerequisiteEntry=<entry-name>  ;New
    PreviewUserPw=<1/0>             ;New
    PreviewDomain=<1/0>             ;New
    PreviewPhoneNumber=<1/0>        ;New
    ShowDialingProgress=<1/0>       ;New

    IpPrioritizeRemote=<1/0>        ;same (PPP/SLIP only)
    IpHeaderCompression=<1/0>       ;same (PPP/SLIP only)
    IpAddress=<a.b.c.d>             ;same (PPP/SLIP only)
    IpAssign=<ASRC-code>            ;same (PPP/SLIP only)
    IpDnsAddress=<a.b.c.d>          ;same (PPP/SLIP only)
    IpDns2Address=<a.b.c.d>         ;same (PPP/SLIP only)
    IpWinsAddress=<a.b.c.d>         ;same (PPP/SLIP only)
    IpWins2Address=<a.b.c.d>        ;same (PPP/SLIP only)
    IpNameAssign=<ASRC-code>        ;same (PPP/SLIP only)
    IpFrameSize=<1006/1500>         ;same (SLIP only)

    In general each section contains subsections delimited by
    MEDIA=<something> and DEVICE=<something> lines.  There can be any number
    of DEVICE subsections.  There can be multiple MEDIA/DEVICE sets where the
    position of the set determines it's sub-entry index, the first being 1,
    the second 2, etc.

    For serial media, the program currently expects 1 to 4 DEVICE subsections,
    representing a preconnect switch, modem, X.25 PAD, and postconnect switch.
    Following is a full entry:

    MEDIA=serial                    ;same
    Port=<port-name>                ;same
    Device=<device-name>            ;same
    ConnectBps=<bps>                ;same, for old MXS support only

    DEVICE=switch                   ;same
    Type=<switchname or Terminal>   ;Deleted, converted to 2 fields below
    Name=<switchname>               ;New, name of switch or empty if none
    Terminal=<1/0>                  ;New, terminal is to run with/without above

    DEVICE=modem                    ;same

    PhoneNumber=<phonenumber1>      ;same
    AreaCode=<area-code1>           ;New
    CountryID=<id>                  ;New
    CountryCode=<country-code>      ;New
    UseDialingRules=<1/0>           ;New
    Comment=<arbitrary-text1>       ;New, 'Description' from upgrade
    ...
    PhoneNumber=<phonenumber2>      ;same
    AreaCode=<area-code1>           ;New
    CountryID=<id>                  ;New
    CountryCode=<country-code>      ;New
    UseDialingRules=<1/0>           ;New
    Comment=<arbitrary-text2>       ;New
    ...
    PhoneNumber=<phonenumberN>      ;same
    AreaCode=<area-code1>           ;New
    CountryID=<id>                  ;New
    CountryCode=<country-code>      ;New
    UseDialingRules=<1/0>           ;New
    Comment=<arbitrary-textn>       ;New

    LastSelectedPhone=<index>       ;New
    PromoteAlternates=<1/0>         ;same
    TryNextAlternateOnFail=<1/0>    ;New

    TapiBlob=<hexdump>              ;same, i.e. #if 0'd out
    ManualDial=<1/0>                ;For old MXS support only
    HwFlowControl=<1/0>             ;For old MXS support only
    Protocol=<1/0>                  ;For old MXS support only
    Compression=<1/0>               ;For old MXS support only

    DEVICE=pad                      ;same
    X25Pad=<padtype>                ;same
    X25Address=<X121address>        ;same
    UserData=<userdata>             ;same
    Facilities=<facilities>         ;same

    DEVICE=switch                   ;same
    Type=<switchname or Terminal>   ;Deleted, converted to 2 fields below
    Name=<switchname>               ;New, name/path of switch or empty if none
    Terminal=<1/0>                  ;New, terminal is to run with/without above

    For ISDN media, the program expects exactly 1 DEVICE subsection.  Note
    that ISDN is now identical to the "other" case.

    MEDIA=isdn                      ;same
    Port=<port-name>                ;same
    Device=<device-name>            ;same

    DEVICE=isdn                     ;same

    PhoneNumber=<phonenumber1>      ;same
    AreaCode=<area-code1>           ;New
    CountryID=<id>                  ;New
    CountryCode=<country-code>      ;New
    UseDialingRules=<1/0>           ;New
    Comment=<arbitrary-text1>       ;New, 'Description' from upgrade
    ...
    PhoneNumber=<phonenumber2>      ;same
    AreaCode=<area-code1>           ;New
    CountryID=<id>                  ;New
    CountryCode=<country-code>      ;New
    UseDialingRules=<1/0>           ;New
    Comment=<arbitrary-text2>       ;New
    ...
    PhoneNumber=<phonenumberN>      ;same
    AreaCode=<area-code1>           ;New
    CountryID=<id>                  ;New
    CountryCode=<country-code>      ;New
    UseDialingRules=<1/0>           ;New
    Comment=<arbitrary-textn>       ;New

    LastSelectedPhone=<index>       ;New
    PromoteAlternates=<1/0>         ;same
    TryNextPhoneNumberOnFail=<1/0>  ;New

    LineType=<0/1/2>                ;same
    Fallback=<1/0>                  ;same
    EnableCompression=<1/0>         ;For old protocol only
    ChannelAggregation=<channels>   ;For old protocol only

    For X.25 media, the program expects exactly 1 DEVICE subsection.

    MEDIA=x25                       ;same
    Port=<port-name>                ;same
    Device=<device-name>            ;same

    DEVICE=x25                      ;same
    X25Address=<X121address>        ;same
    UserData=<userdata>             ;same
    Facilities=<facilities>         ;same

    For other media, the program expects exactly one DEVICE subsection with
    device name matching the media.  "Other" media and devices are created for
    entries assigned to all non-serial medias including ISDN which now matches
    the rules for "other".

    MEDIA=<media>                   ;same
    Port=<port-name>                ;same
    Device=<device-name>            ;same

    DEVICE=<media>                  ;same

    PhoneNumber=<phonenumber1>      ;same
    AreaCode=<area-code1>           ;New
    CountryID=<id>                  ;New
    CountryCode=<country-code>      ;New
    UseDialingRules=<1/0>           ;New
    Comment=<arbitrary-text1>       ;New, 'Description' from upgrade
    ...
    PhoneNumber=<phonenumber2>      ;same
    AreaCode=<area-code1>           ;New
    CountryID=<id>                  ;New
    CountryCode=<country-code>      ;New
    UseDialingRules=<1/0>           ;New
    Comment=<arbitrary-text2>       ;New
    ...
    PhoneNumber=<phonenumberN>      ;same
    AreaCode=<area-code1>           ;New
    CountryID=<id>                  ;New
    CountryCode=<country-code>      ;New
    UseDialingRules=<1/0>           ;New
    Comment=<arbitrary-textn>       ;New

    LastSelectedPhone=<index>       ;New
    PromoteAlternates=<1/0>         ;same
    TryNextPhoneNumberOnFail=<1/0>  ;New

    The phonebook also supports the concept of "custom" entries, i.e. entries
    that fit the MEDIA followed by DEVICE subsection rules but which do not
    include certain expected key fields.  A custom entry is not editable with
    the UI, but may be chosen for connection.  This gives us a story for new
    drivers added by 3rd parties or after release and not yet fully supported
    in the UI. (NOTE: Support for this may be dropped in RAS API)