NetDial Component

Properties   Methods   Events   Config Settings   Errors  

The NetDial component can be used to call the Remote Access System (RAS) to initiate or break connections to remote hosts, list connections, and phonebook entries.

Syntax

nsoftware.IPWorks.Netdial

Remarks

The user can either directly provide a PhoneNumber, User, and Password, and optionally a Domain and CallbackNumber, or can get those entries from PhonebookEntry of Phonebook. The calls are blocking but progress information is given through the Status event, and Windows messages will come during connect or disconnect methods.

The user can get information on the phonebook entries and connections by calling the respective methods of the component. ConnectedEntry and PhonebookEntry events will fire with the required information.

Support is also provided for creating or deleting phonebook entries as well as for listing the various RAS devices supported by the system.

This component is not available in Mono.

Property List


The following is the full list of the properties of the component with short descriptions. Click on the links for further details.

CallbackNumberThis property includes the callback number to give when directly dialing the remote machine.
DomainThis property includes the name of the domain to join when dialing the Remote Access System (RAS) connection.
EntryDeviceNameThis property includes the device of the phonebook entry pointed to by PhonebookEntry .
EntryDeviceTypeThis property includes the device type of the phonebook entry pointed to by PhonebookEntry .
EntryDNSServerThis property includes the DNS server of the phonebook entry pointed to by PhonebookEntry .
EntryIPAddressThis property includes the IP address of the phonebook entry pointed to by PhonebookEntry .
EntryPhoneNumberThis property includes the phone number for the phonebook entry pointed to by PhonebookEntry .
EntryWINSServerThis property includes the WINS server of the phonebook entry pointed to by PhonebookEntry .
HandleThis property includes the handle of the connection. It is 0 if it is invalid or not connected.
IdleThe current status of the component.
PasswordThis property includes the password to use when direct dialing the remote machine.
PhonebookThis property reads the PhonebookEntry when dialing the remote machine.
PhonebookEntryThis property includes the name of PhonebookEntry to use when dialing the remote machine.
PhoneNumberThis property includes the number to dial when directly dialing the remote machine without the help of a PhonebookEntry .
RASAvailableWhen set to True, the Remote Access System (RAS) is available.
TimeoutThis property includes a timeout for the component.
UserThis property includes the name of the login user when directly dialing the remote machine.

Method List


The following is the full list of the methods of the component with short descriptions. Click on the links for further details.

ConfigSets or retrieves a configuration setting.
ConnectThis method attempts to dial the PhonebookEntry from Phonebook .
CreateEntryThis method creates a PhonebookEntry .
DeleteEntryThis method deletes a PhonebookEntry .
DisconnectThis method disconnects the last successfully made connection.
DoEventsProcesses events from the internal message queue.
InterruptInterrupt the current method.
ListConnectionsThis method lists all of the current connections.
ListDevicesThis method lists all of the dial devices.
ListPhonebookThis method lists all of the entries in Phonebook .
ResetReset the component.
ShowDialDialogThis method shows the standard Remote Access System (RAS) dialog for dialing the PhonebookEntry from Phonebook .

Event List


The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.

ConnectedEntryThis event is fired for every connected device when the ListConnections method is called.
DeviceThis event is fired for every dial device when the ListDevices method is called.
ErrorInformation about errors during data delivery.
PhonebookEntryThis event is fired for every Phonebook entry when the ListPhonebook method is called.
StatusThis event is fired during connection or disconnection attempts.

Config Settings


The following is a list of config settings for the component with short descriptions. Click on the links for further details.

IgnoreModemSpeakerWhether the component will ignore the default modem speaker settings.
IgnoreSoftwareCompressionWhether the component will ignore the default software compression settings.
OverrideEntrySettingWhether or not to use the component settings when dialing a phone book entry.
PausedStatesWhether the component will accept paused states.
PauseOnScriptTells the component to display a logon terminal.
SetModemSpeakerWhether the component will use the modem speaker.
SetSoftwareCompressionWhether the component will use software compression.
UseCustomScriptingTells the component to use custom script DLLs.
UsePrefixSuffixWhether or not to use the dialing prefix and suffix in the phone book.
UseRemoteDefaultGatewayWhether or not the entry should use the default gateway on the remote network.
VPNTypeSets the VPN Type when creating entries with NetDial.
BuildInfoInformation about the product's build.
GUIAvailableTells the component whether or not a message loop is available for processing events.
LicenseInfoInformation about the current license.
MaskSensitiveWhether sensitive data is masked in log messages.
UseInternalSecurityAPITells the component whether or not to use the system security libraries or an internal implementation.

CallbackNumber Property (NetDial Component)

This property includes the callback number to give when directly dialing the remote machine.

Syntax

public string CallbackNumber { get; set; }
Public Property CallbackNumber As String

Default Value

""

Remarks

This property contains the callback number to give when directly dialing the remote machine. User, PhoneNumber, and Password, and optionally Domain and CallbackNumber, are used when PhonebookEntry is empty.

Calling the Connect method attempts a connection.

Domain Property (NetDial Component)

This property includes the name of the domain to join when dialing the Remote Access System (RAS) connection.

Syntax

public string Domain { get; set; }
Public Property Domain As String

Default Value

""

Remarks

This property contains the name of the domain to join when dialing the RAS connection. User, PhoneNumber, and Password, and optionally Domain and CallbackNumber, are used when PhonebookEntry is empty.

Calling the Connect method attempts a connection.

EntryDeviceName Property (NetDial Component)

This property includes the device of the phonebook entry pointed to by PhonebookEntry .

Syntax

public string EntryDeviceName { get; set; }
Public Property EntryDeviceName As String

Default Value

""

Remarks

This property contains the device of the phonebook entry pointed to by PhonebookEntry. This property is filled in automatically every time PhonebookEntry is set to an existing entry.

EntryDeviceType Property (NetDial Component)

This property includes the device type of the phonebook entry pointed to by PhonebookEntry .

Syntax

public string EntryDeviceType { get; set; }
Public Property EntryDeviceType As String

Default Value

""

Remarks

This property contains the device type of the phonebook entry pointed to by PhonebookEntry. This property is filled in automatically every time PhonebookEntry is set to an existing entry.

EntryDNSServer Property (NetDial Component)

This property includes the DNS server of the phonebook entry pointed to by PhonebookEntry .

Syntax

public string EntryDNSServer { get; set; }
Public Property EntryDNSServer As String

Default Value

""

Remarks

This property contains the DNS server of the phonebook entry pointed to by PhonebookEntry. This property is filled in automatically every time PhonebookEntry is set to an existing entry.

EntryIPAddress Property (NetDial Component)

This property includes the IP address of the phonebook entry pointed to by PhonebookEntry .

Syntax

public string EntryIPAddress { get; set; }
Public Property EntryIPAddress As String

Default Value

""

Remarks

This property contains the IP address of the phonebook entry pointed to by PhonebookEntry. This property is filled in automatically every time PhonebookEntry is set to an existing entry.

EntryPhoneNumber Property (NetDial Component)

This property includes the phone number for the phonebook entry pointed to by PhonebookEntry .

Syntax

public string EntryPhoneNumber { get; set; }
Public Property EntryPhoneNumber As String

Default Value

""

Remarks

This property contains the phone number for the phonebook entry pointed to by PhonebookEntry. This property is filled in automatically every time PhonebookEntry is set to an existing entry.

EntryWINSServer Property (NetDial Component)

This property includes the WINS server of the phonebook entry pointed to by PhonebookEntry .

Syntax

public string EntryWINSServer { get; set; }
Public Property EntryWINSServer As String

Default Value

""

Remarks

This property contains the WINS server of the phonebook entry pointed to by PhonebookEntry. This property is filled in automatically every time PhonebookEntry is set to an existing entry.

Handle Property (NetDial Component)

This property includes the handle of the connection. It is 0 if it is invalid or not connected.

Syntax

public object Handle { get; set; }
Public Property Handle As Object

Default Value

0

Remarks

This property is used when trying to disconnect a connection through the Disconnect method. The ConnectedEntry event provides the handle of each connection. Assigning an invalid value to this property and attempting to disconnect may cause the application to behave in an unpredictable manner.

This property is not available at design time.

Idle Property (NetDial Component)

The current status of the component.

Syntax

public bool Idle { get; }
Public ReadOnly Property Idle As Boolean

Default Value

True

Remarks

Idle will be False if the component is currently busy (communicating and/or waiting for an answer), and True at all other times.

This property is read-only.

Password Property (NetDial Component)

This property includes the password to use when direct dialing the remote machine.

Syntax

public string Password { get; set; }
Public Property Password As String

Default Value

""

Remarks

This property contains the password to use when direct dialing the remote machine. User, PhoneNumber, and Password, and optionally Domain and CallbackNumber, are used when PhonebookEntry is empty.

Calling the Connect method attempts a connection.

Phonebook Property (NetDial Component)

This property reads the PhonebookEntry when dialing the remote machine.

Syntax

public string Phonebook { get; set; }
Public Property Phonebook As String

Default Value

""

Remarks

This property reads the PhonebookEntry when dialing the remote machine. This property is valuable only in Windows NT 4.0 and higher in cases in which multiple phonebooks can be specified. The PhonebookEntry is relative to Phonebook. If it is empty, the default phonebook is used.

PhonebookEntry Property (NetDial Component)

This property includes the name of PhonebookEntry to use when dialing the remote machine.

Syntax

public string PhonebookEntry { get; set; }
Public Property PhonebookEntry As String

Default Value

""

Remarks

This property is read from the default phonebook (in Windows 95) or from the Phonebook property.

Note: This property must not be empty when dialing on Pocket PC (Windows CE).

When the component is initialized, it will attempt to populate this property with the system's default entry.

PhoneNumber Property (NetDial Component)

This property includes the number to dial when directly dialing the remote machine without the help of a PhonebookEntry .

Syntax

public string PhoneNumber { get; set; }
Public Property PhoneNumber As String

Default Value

""

Remarks

This property contains the number to dial when directly dialing the remote machine without the help of a PhonebookEntry. User, PhoneNumber, and Password, and optionally Domain and CallbackNumber, are used when PhonebookEntry is empty.

Calling the Connect method attempts a connection.

RASAvailable Property (NetDial Component)

When set to True, the Remote Access System (RAS) is available.

Syntax

public bool RASAvailable { get; }
Public ReadOnly Property RASAvailable As Boolean

Default Value

True

Remarks

If this property is False, the component throws an exception when attempting to connect. RAS must be installed before the component can be used.

This property is read-only.

Timeout Property (NetDial Component)

This property includes a timeout for the component.

Syntax

public int Timeout { get; set; }
Public Property Timeout As Integer

Default Value

60

Remarks

If this property is set to 0, all operations will run uninterrupted until successful completion or an error condition is encountered.

If this property is set to a positive value, the component will wait for the operation to complete before returning control.

The default value for this property is 60 (seconds).

User Property (NetDial Component)

This property includes the name of the login user when directly dialing the remote machine.

Syntax

public string User { get; set; }
Public Property User As String

Default Value

""

Remarks

This property contains the name of the login user when directly dialing the remote machine. User, PhoneNumber, and Password, and optionally Domain and CallbackNumber, are used when PhonebookEntry is empty.

Calling the Connect method attempts a connection.

Config Method (NetDial Component)

Sets or retrieves a configuration setting.

Syntax

public string Config(string configurationString);

Async Version
public async Task<string> Config(string configurationString);
public async Task<string> Config(string configurationString, CancellationToken cancellationToken);
Public Function Config(ByVal ConfigurationString As String) As String

Async Version
Public Function Config(ByVal ConfigurationString As String) As Task(Of String)
Public Function Config(ByVal ConfigurationString As String, cancellationToken As CancellationToken) As Task(Of String)

Remarks

Config is a generic method available in every component. It is used to set and retrieve configuration settings for the component.

These settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the component, access to these internal properties is provided through the Config method.

To set a configuration setting named PROPERTY, you must call Config("PROPERTY=VALUE"), where VALUE is the value of the setting expressed as a string. For boolean values, use the strings "True", "False", "0", "1", "Yes", or "No" (case does not matter).

To read (query) the value of a configuration setting, you must call Config("PROPERTY"). The value will be returned as a string.

Connect Method (NetDial Component)

This method attempts to dial the PhonebookEntry from Phonebook .

Syntax

public void Connect();

Async Version
public async Task Connect();
public async Task Connect(CancellationToken cancellationToken);
Public Sub Connect()

Async Version
Public Sub Connect() As Task
Public Sub Connect(cancellationToken As CancellationToken) As Task

Remarks

This method attempts to dial the PhonebookEntry from Phonebook. If it is empty, then the PhoneNumber, CallbackNumber, and Domain (if applicable) are used to connect. The component does not return until the operation is completed, but during this time, Status events are fired showing the ongoing progress.

Example 1. Dialing a Phonebook:

NetDialControl.Phonebook = "MyPhonebook" NetDialControl.Connect()

Example 2. Direct Dialing a Phone Number:

NetDialControl.PhoneNumber = "MyPhonebook" NetDialControl.User = "username" NetDialControl.Password = "mypassword" NetDialControl.Connect()

Note: Direct dialing is not supported on Pocket PC (Windows CE).

CreateEntry Method (NetDial Component)

This method creates a PhonebookEntry .

Syntax

public void CreateEntry();

Async Version
public async Task CreateEntry();
public async Task CreateEntry(CancellationToken cancellationToken);
Public Sub CreateEntry()

Async Version
Public Sub CreateEntry() As Task
Public Sub CreateEntry(cancellationToken As CancellationToken) As Task

Remarks

This method creates a new phonebook entry PhonebookEntry with the values in EntryPhoneNumber, EntryDNSServer, EntryWINSServer, EntryIPAddress, and EntryDeviceName. If the entry already exists or the entry cannot be created, the component throws an exception.

Example. Creating a New Phonebook Entry:

NetDialControl.PhonebookEntry = "NewEntry" NetDialControl.EntryPhoneNumber = "5555555" NetDialControl.CreateEntry()

DeleteEntry Method (NetDial Component)

This method deletes a PhonebookEntry .

Syntax

public void DeleteEntry();

Async Version
public async Task DeleteEntry();
public async Task DeleteEntry(CancellationToken cancellationToken);
Public Sub DeleteEntry()

Async Version
Public Sub DeleteEntry() As Task
Public Sub DeleteEntry(cancellationToken As CancellationToken) As Task

Remarks

This method deletes the phonebook entry specified by PhonebookEntry and Phonebook.

Disconnect Method (NetDial Component)

This method disconnects the last successfully made connection.

Syntax

public void Disconnect();

Async Version
public async Task Disconnect();
public async Task Disconnect(CancellationToken cancellationToken);
Public Sub Disconnect()

Async Version
Public Sub Disconnect() As Task
Public Sub Disconnect(cancellationToken As CancellationToken) As Task

Remarks

This method disconnects the last successfully made connection or the current one if the call is made within a ConnectedEntry event.

DoEvents Method (NetDial Component)

Processes events from the internal message queue.

Syntax

public void DoEvents();

Async Version
public async Task DoEvents();
public async Task DoEvents(CancellationToken cancellationToken);
Public Sub DoEvents()

Async Version
Public Sub DoEvents() As Task
Public Sub DoEvents(cancellationToken As CancellationToken) As Task

Remarks

When DoEvents is called, the component processes any available events. If no events are available, it waits for a preset period of time, and then returns.

Interrupt Method (NetDial Component)

Interrupt the current method.

Syntax

public void Interrupt();

Async Version
public async Task Interrupt();
public async Task Interrupt(CancellationToken cancellationToken);
Public Sub Interrupt()

Async Version
Public Sub Interrupt() As Task
Public Sub Interrupt(cancellationToken As CancellationToken) As Task

Remarks

If there is no method in progress, Interrupt simply returns, doing nothing.

ListConnections Method (NetDial Component)

This method lists all of the current connections.

Syntax

public void ListConnections();

Async Version
public async Task ListConnections();
public async Task ListConnections(CancellationToken cancellationToken);
Public Sub ListConnections()

Async Version
Public Sub ListConnections() As Task
Public Sub ListConnections(cancellationToken As CancellationToken) As Task

Remarks

This method lists all of the connections in all devices and gives the results in ConnectedEntry events.

ListDevices Method (NetDial Component)

This method lists all of the dial devices.

Syntax

public void ListDevices();

Async Version
public async Task ListDevices();
public async Task ListDevices(CancellationToken cancellationToken);
Public Sub ListDevices()

Async Version
Public Sub ListDevices() As Task
Public Sub ListDevices(cancellationToken As CancellationToken) As Task

Remarks

This method lists all of the dial devices. The results are provided through the Device event.

ListPhonebook Method (NetDial Component)

This method lists all of the entries in Phonebook .

Syntax

public void ListPhonebook();

Async Version
public async Task ListPhonebook();
public async Task ListPhonebook(CancellationToken cancellationToken);
Public Sub ListPhonebook()

Async Version
Public Sub ListPhonebook() As Task
Public Sub ListPhonebook(cancellationToken As CancellationToken) As Task

Remarks

This method lists all of the entries in Phonebook (Windows 95 has only one default Phonebook). Entries are given in PhonebookEntry events.

Reset Method (NetDial Component)

Reset the component.

Syntax

public void Reset();

Async Version
public async Task Reset();
public async Task Reset(CancellationToken cancellationToken);
Public Sub Reset()

Async Version
Public Sub Reset() As Task
Public Sub Reset(cancellationToken As CancellationToken) As Task

Remarks

This method will reset the component's properties to their default values.

ShowDialDialog Method (NetDial Component)

This method shows the standard Remote Access System (RAS) dialog for dialing the PhonebookEntry from Phonebook .

Syntax

public void ShowDialDialog();

Async Version
public async Task ShowDialDialog();
public async Task ShowDialDialog(CancellationToken cancellationToken);
Public Sub ShowDialDialog()

Async Version
Public Sub ShowDialDialog() As Task
Public Sub ShowDialDialog(cancellationToken As CancellationToken) As Task

Remarks

This method shows the standard RAS dialog for dialing the PhonebookEntry from Phonebook. The component will display the standard RAS dialog box for PhonebookEntry and allow the dial to take place with user interaction. If you prefer the dial to occur without user interaction, use the Connect method.

ConnectedEntry Event (NetDial Component)

This event is fired for every connected device when the ListConnections method is called.

Syntax

public event OnConnectedEntryHandler OnConnectedEntry;

public delegate void OnConnectedEntryHandler(object sender, NetdialConnectedEntryEventArgs e);

public class NetdialConnectedEntryEventArgs : EventArgs {
  public object Handle { get; }
  public string Entry { get; }
  public string DeviceName { get; }
  public string DeviceType { get; }
  public string StatusDescription { get; }
}
Public Event OnConnectedEntry As OnConnectedEntryHandler

Public Delegate Sub OnConnectedEntryHandler(sender As Object, e As NetdialConnectedEntryEventArgs)

Public Class NetdialConnectedEntryEventArgs Inherits EventArgs
  Public ReadOnly Property Handle As Object
  Public ReadOnly Property Entry As String
  Public ReadOnly Property DeviceName As String
  Public ReadOnly Property DeviceType As String
  Public ReadOnly Property StatusDescription As String
End Class

Remarks

The Handle parameter can be used to disconnect the entry. You should assign Handle to the Handle property and then call the Disconnect method.

Device Event (NetDial Component)

This event is fired for every dial device when the ListDevices method is called.

Syntax

public event OnDeviceHandler OnDevice;

public delegate void OnDeviceHandler(object sender, NetdialDeviceEventArgs e);

public class NetdialDeviceEventArgs : EventArgs {
  public string DeviceName { get; }
  public string DeviceType { get; }
}
Public Event OnDevice As OnDeviceHandler

Public Delegate Sub OnDeviceHandler(sender As Object, e As NetdialDeviceEventArgs)

Public Class NetdialDeviceEventArgs Inherits EventArgs
  Public ReadOnly Property DeviceName As String
  Public ReadOnly Property DeviceType As String
End Class

Remarks

DeviceName provides the name of the device, and DeviceType provides the corresponding device type (e.g., 'modem').

Error Event (NetDial Component)

Information about errors during data delivery.

Syntax

public event OnErrorHandler OnError;

public delegate void OnErrorHandler(object sender, NetdialErrorEventArgs e);

public class NetdialErrorEventArgs : EventArgs {
  public int ErrorCode { get; }
  public string Description { get; }
}
Public Event OnError As OnErrorHandler

Public Delegate Sub OnErrorHandler(sender As Object, e As NetdialErrorEventArgs)

Public Class NetdialErrorEventArgs Inherits EventArgs
  Public ReadOnly Property ErrorCode As Integer
  Public ReadOnly Property Description As String
End Class

Remarks

The Error event is fired in case of exceptional conditions during message processing. Normally the component throws an exception.

ErrorCode contains an error code and Description contains a textual description of the error. For a list of valid error codes and their descriptions, please refer to the Error Codes section.

PhonebookEntry Event (NetDial Component)

This event is fired for every Phonebook entry when the ListPhonebook method is called.

Syntax

public event OnPhonebookEntryHandler OnPhonebookEntry;

public delegate void OnPhonebookEntryHandler(object sender, NetdialPhonebookEntryEventArgs e);

public class NetdialPhonebookEntryEventArgs : EventArgs {
  public string Entry { get; }
}
Public Event OnPhonebookEntry As OnPhonebookEntryHandler

Public Delegate Sub OnPhonebookEntryHandler(sender As Object, e As NetdialPhonebookEntryEventArgs)

Public Class NetdialPhonebookEntryEventArgs Inherits EventArgs
  Public ReadOnly Property Entry As String
End Class

Remarks

To get extended entry information, set the PhonebookEntry property to the value supplied in the Entry parameter.

Status Event (NetDial Component)

This event is fired during connection or disconnection attempts.

Syntax

public event OnStatusHandler OnStatus;

public delegate void OnStatusHandler(object sender, NetdialStatusEventArgs e);

public class NetdialStatusEventArgs : EventArgs {
  public int Operation { get; }
  public int StatusCode { get; }
  public string OperationDescription { get; }
  public string StatusDescription { get; }
}
Public Event OnStatus As OnStatusHandler

Public Delegate Sub OnStatusHandler(sender As Object, e As NetdialStatusEventArgs)

Public Class NetdialStatusEventArgs Inherits EventArgs
  Public ReadOnly Property Operation As Integer
  Public ReadOnly Property StatusCode As Integer
  Public ReadOnly Property OperationDescription As String
  Public ReadOnly Property StatusDescription As String
End Class

Remarks

The Operation parameter indicates the operation currently in progress.

The StatusCode shows the status of the operation.

The OperationDescription and StatusDescription parameters are the corresponding descriptions.

StatusCodeStatusDescription
0Open port
1Port opened
2Connect device
3Device connected
4All devices connected
5Authenticate
6Authenticate: notify
7Authentication: retry
8Authentication: callback
9Authentication: change password
10Authentication: project
11Authentication: link speed
12Authentication: acknowledge
13Reauthentication
14Authenticated
15Prepare for callback
16Wait for modem reset
17Wait for modem callback
18Projected
19Start authentication
20Callback complete
21Logon network
0x1000Interactive
4097Retry authentication
4098Callback set by Caller
4099Password expired
8192Connected
8193Disconnected

Config Settings (NetDial Component)

The component accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the component, access to these internal properties is provided through the Config method.

NetDial Config Settings

IgnoreModemSpeaker:   Whether the component will ignore the default modem speaker settings.

Setting this value to True will cause the component to ignore the modem speaker settings in the Remote Access System (RAS) phonebook, and it will use the setting specified by SetModemSpeaker. If it is False, the component uses the modem speaker setting that is in the RAS phonebook, and it then ignores the setting specified by the SetModemSpeaker.

IgnoreSoftwareCompression:   Whether the component will ignore the default software compression settings.

If this is value is set to True, the component ignores the software compression setting that is in the RAS phonebook, and it uses the setting specified by SetSoftwareCompression. If it is set to False, the component uses the software compression setting that is in the RAS phonebook, and it then ignores the setting specified by SetSoftwareCompression.

OverrideEntrySetting:   Whether or not to use the component settings when dialing a phone book entry.

If this is value is set to True, the component will use PhoneNumber, CallBackNumber, User, Password, and Domain as specified in the component, instead of the value specified in the preexisting phonebook entry.

PausedStates:   Whether the component will accept paused states.

If this is value is set to True, the component will accept paused states. Paused states include terminal mode, retry logon, change password, set callback number, and EAP authentication. If it is set to False, the component will report a fatal error if it enters a paused state.

PauseOnScript:   Tells the component to display a logon terminal.

This value is used internally by the system for Windows-95-style logon script execution. If this is value is set to True, a logon script will be displayed in a terminal window visible to the user. Applications should not set this value.

SetModemSpeaker:   Whether the component will use the modem speaker.

This configuration value determines whether or not the modem speaker will sound during a connection. If IgnoreModemSpeaker is False, the component ignores the value of SetModemSpeaker, and it sets the modem speaker based on the RAS phonebook setting or the default setting.

SetSoftwareCompression:   Whether the component will use software compression.

This configuration value determines whether or not the component uses software compression for the modem connection. If IgnoreSoftwareCompression is False, the component ignores the value of SetSoftwareCompression, and it sets the software compression state based on the RAS phonebook setting or the default setting.

UseCustomScripting:   Tells the component to use custom script DLLs.

This configuration setting specifies that the component should invoke a custom-scripting DLL (dynamic link library) after establishing the connection to the server. The component can invoke the DLL only if all of the following conditions are met: UseCustomScripting is specifically set to True. A custom-scripting DLL is correctly registered with the system. The CustomScript option is specified in the phonebook entry. Note: This option is not supported in Windows 2000 and NT.

UsePrefixSuffix:   Whether or not to use the dialing prefix and suffix in the phone book.

If this is value is set to True, the component will use the prefix and suffix that are stored in the RAS phonebook. If it is False, the component will ignore the prefix and suffix.

UseRemoteDefaultGateway:   Whether or not the entry should use the default gateway on the remote network.

UseRemoteDefaultGateway is used when creating a new entry. By default, this value is True, and it tells the entry created that it should forward data that cannot be sent on the local network to the dial-up connection.

Note: This option is valid only when a local area network connection and dial-up connection both exist simultaneously.

VPNType:   Sets the VPN Type when creating entries with NetDial.

The supported values include the following:

0 VPN_DEFAULT
1 VPN_PPTP
2 VPN_L2TP
3 VPN_SSTP

Note: This configuration setting is available only in .NET.

Base Config Settings

BuildInfo:   Information about the product's build.

When queried, this setting will return a string containing information about the product's build.

GUIAvailable:   Tells the component whether or not a message loop is available for processing events.

In a GUI-based application, long-running blocking operations may cause the application to stop responding to input until the operation returns. The component will attempt to discover whether or not the application has a message loop and, if one is discovered, it will process events in that message loop during any such blocking operation.

In some non-GUI applications, an invalid message loop may be discovered that will result in errant behavior. In these cases, setting GUIAvailable to false will ensure that the component does not attempt to process external events.

LicenseInfo:   Information about the current license.

When queried, this setting will return a string containing information about the license this instance of a component is using. It will return the following information:

  • Product: The product the license is for.
  • Product Key: The key the license was generated from.
  • License Source: Where the license was found (e.g., RuntimeLicense, License File).
  • License Type: The type of license installed (e.g., Royalty Free, Single Server).
  • Last Valid Build: The last valid build number for which the license will work.
MaskSensitive:   Whether sensitive data is masked in log messages.

In certain circumstances it may be beneficial to mask sensitive data, like passwords, in log messages. Set this to true to mask sensitive data. The default is true.

This setting only works on these components: AS3Receiver, AS3Sender, Atom, Client(3DS), FTP, FTPServer, IMAP, OFTPClient, SSHClient, SCP, Server(3DS), Sexec, SFTP, SFTPServer, SSHServer, TCPClient, TCPServer.

UseInternalSecurityAPI:   Tells the component whether or not to use the system security libraries or an internal implementation.

When set to false, the component will use the system security libraries by default to perform cryptographic functions where applicable. In this case, calls to unmanaged code will be made. In certain environments this is not desirable. To use a completely managed security implementation set this setting to true.

Setting this setting to true tells the component to use the internal implementation instead of using the system security libraries.

On Windows, this setting is set to false by default. On Linux/macOS, this setting is set to true by default.

If using the .NET Standard Library, this setting will be true on all platforms. The .NET Standard library does not support using the system security libraries.

Note: This setting is static. The value set is applicable to all components used in the application.

When this value is set the product's system DLL is no longer required as a reference, as all unmanaged code is stored in that file.

Trappable Errors (NetDial Component)

NetDial Errors

143   Busy executing current method.
200   Cannot load the RASAPI library.
201   Cannot access the functions of RASAPI library.
300   Cannot load the RAS library.
301   Cannot access the functions of RAS library.
302   Entry already exists.
303   Error dialing entry. Description contains more detail.
600   An operation is pending.
601   The port handle is invalid.
602   The port is already open.
603   The caller's buffer is too small.
604   The wrong information is specified.
605   Cannot set port information.
606   The port is not connected.
607   The event is invalid.
608   The device does not exist.
609   The device type does not exist.
610   The buffer is invalid.
611   The route is not available.
612   The route is not allocated.
613   Invalid compression specified.
614   Out of buffers.
615   The port was not found.
616   An asynchronous request is pending.
617   The port or device is already disconnecting.
618   The port is not open.
619   The port is disconnected.
620   There are no endpoints.
621   Cannot open the phonebook file.
622   Cannot load the phonebook file.
623   Cannot find the phonebook entry.
624   Cannot write the phonebook file.
625   Invalid information found in the phonebook.
626   Cannot load a string.
627   Cannot find key.
628   The port was disconnected.
629   The port was disconnected by the remote machine.
630   The port was disconnected due to hardware failure.
631   The port was disconnected by the user.
632   The structure size is incorrect.
633   The port is already in use or is not configured for Remote Access dial-out.
634   Cannot register your computer on the remote network.
635   Unknown error.
636   The wrong device is attached to the port.
637   The string could not be converted.
638   The request has timed out.
639   No asynchronous net available.
640   A NetBIOS error has occurred.
641   The server cannot allocate the NetBIOS resources needed to support the client.
642   One of your NetBIOS names is already registered on the remote network.
643   A network adapter at the server failed.
644   You will not receive network message popups.
645   Internal authentication error.
646   The account is not permitted to log on at this time of day.
647   The account is disabled.
648   The password has expired.
649   The account does not have Remote Access permission.
650   The Remote Access server is not responding.
651   Your modem (or other connecting device) has reported an error.
652   Unrecognized response from the device.
653   A macro required by the device was not found in the device .INF file section.
654   A command or response in the device .INF file section refers to an undefined macro.
655   The <message> macro was not found in the device .INF file section.
656   The <defaultoff> macro in the device .INF file section contains an undefined macro.
657   The device .INF file could not be opened.
658   The device name in the device .INF or media .INI file is too long.
659   The media .INI file refers to an unknown device name.
660   The device .INF file contains no responses for the command.
661   The device .INF file is missing a command.
662   Attempted to set a macro not listed in device .INF file section.
663   The media .INI file refers to an unknown device type.
664   Cannot allocate memory.
665   The port is not configured for Remote Access.
666   Your modem (or other connecting device) is not functioning.
667   Cannot read the media .INI file.
668   The connection dropped.
669   The usage parameter in the media .INI file is invalid.
670   Cannot read the section name from the media .INI file.
671   Cannot read the device type from the media .INI file.
672   Cannot read the device name from the media .INI file.
673   Cannot read the usage from the media .INI file.
674   Cannot read the maximum connection bps rate from the media .INI file.
675   Cannot read the maximum carrier bps rate from the media .INI file.
676   The line is busy.
677   A person answered instead of a modem.
678   There is no answer.
679   Cannot detect carrier.
680   There is no dial tone.
681   General error reported by device.
682   ERROR WRITING SECTIONNAME
683   ERROR WRITING DEVICETYPE
684   ERROR WRITING DEVICENAME
685   ERROR WRITING MAXCONNECTBPS
686   ERROR WRITING MAXCARRIERBPS
687   ERROR WRITING USAGE
688   ERROR WRITING DEFAULTOFF
689   ERROR READING DEFAULTOFF
690   ERROR EMPTY INI FILE
691   Access denied because username or password is invalid on the domain.
692   Hardware failure in port or attached device.
693   ERROR NOT BINARY MACRO
694   ERROR DCB NOT FOUND
695   ERROR STATE MACHINES NOT STARTED
696   ERROR STATE MACHINES ALREADY STARTED
697   ERROR PARTIAL RESPONSE LOOPING
698   A response keyname in the device .INF file is not in the expected format.
699   The device response caused a buffer overflow.
700   The expanded command in the device .INF file is too long.
701   The device moved to a bps rate not supported by the COM driver.
702   Device response received when none expected.
703   ERROR INTERACTIVE MODE
704   ERROR BAD CALLBACK NUMBER
705   ERROR INVALID AUTH STATE
706   ERROR WRITING INITBPS
707   X.25 diagnostic indication.
708   The account has expired.
709   Error changing password on domain.
710   Serial overrun errors were detected while communicating with your modem.
711   RasMan initialization failure. Check the event log.
712   Biplex port is initializing. Wait a few seconds and redial.
713   No active ISDN lines are available.
714   Not enough ISDN channels are available to make the call.
715   Too many errors occurred because of poor phone line quality.
716   The Remote Access IP configuration is unusable.
717   No IP addresses are available in the static pool of Remote Access IP addresses.
718   PPP timeout.
719   PPP terminated by remote machine.
720   No PPP control protocols configured.
721   Remote PPP peer is not responding.
722   The PPP packet is invalid.
723   The phone number, including prefix and suffix, is too long.
724   The IPX protocol cannot dial-out on the port because the computer is an IPX router.
725   The IPX protocol cannot dial-in on the port because the IPX router is not installed.
726   The IPX protocol cannot be used for dial-out on more than one port at a time.
727   Cannot access TCPCFG.DLL.
728   Cannot find an IP adapter bound to Remote Access.
729   Serial Line Internet Protocol (SLIP) cannot be used unless the IP protocol is installed.
730   Computer registration is not complete.
731   The protocol is not configured.
732   The PPP negotiation is not converging.
733   The PPP control protocol for this network protocol is not available on the server.
734   The PPP link control protocol terminated.
735   The requested address was rejected by the server.
736   The remote computer terminated the control protocol.
737   Loopback detected.
738   The server did not assign an address.
739   The remote server cannot use the Windows NT encrypted password.
740   The TAPI devices configured for Remote Access failed to initialize or were not installed correctly.
741   The local computer does not support encryption.
742   The remote server does not support encryption.
743   The remote server requires encryption.
744   Cannot use the IPX net number assigned by the remote server. Check the event log.
745   ERROR_INVALID_SMM
746   ERROR_SMM_UNINITIALIZED
747   ERROR_NO_MAC_FOR_PORT
748   ERROR_SMM_TIMEOUT
749   ERROR_BAD_PHONE_NUMBER
750   ERROR_WRONG_MODULE
751   The callback number contains an invalid character. Only the following 18 characters are allowed: 0 to 9, T, P, W, (, ), -, @, and space.
752   A syntax error was encountered while processing a script.
753   The connection could not be disconnected because it was created by the multiprotocol router.
754   The system could not find the multilink bundle.
755   The system cannot perform automated dial because this connection has a custom dialer specified.
756   This connection is already being dialed.
757   Remote Access services could not be started automatically. Additional information is provided in the event log.
758   Internet Connection Sharing is already enabled on the connection.
759   An error occurred while the existing Internet Connection Sharing settings were being changed.
760   An error occurred while routing capabilities were being enabled.
761   An error occurred while Internet Connection Sharing was being enabled for the connection.
762   An error occurred while the local network was being configured for sharing.
763   Internet Connection Sharing cannot be enabled. There is more than one LAN connection other than the connection to be shared.
764   No smart card reader is installed.
765   Internet Connection Sharing cannot be enabled. A LAN connection is already configured with the IP address that is required for automatic IP addressing.
766   A certificate could not be found. Connections that use the L2TP protocol over IPSec require the installation of a machine certificate, also known as a computer certificate.
767   Internet Connection Sharing (ICS) cannot be enabled. The LAN connection selected as the private network has more than one IP address configured. Please reconfigure the LAN connection with a single IP address before enabling ICS.
768   The connection attempt failed because of failure to encrypt data.
769   The specified destination is not reachable.
770   The remote computer rejected the connection attempt.
771   The connection attempt failed because the network is busy.
772   The remote computer's network hardware is incompatible with the type of call requested.
773   The connection attempt failed because the destination number has changed.
774   The connection attempt failed because of a temporary failure. Try connecting again.
775   The call was blocked by the remote computer.
776   The call could not be connected because the remote computer has invoked the Do Not Disturb feature.
777   The connection attempt failed because the modem (or other connecting device on the remote computer is out of order.
778   It was not possible to verify the identity of the server.
779   To dial-out using this connection you must use a smart card.
780   An attempted function is not valid for this connection.
781   The connection requires a certificate, and no valid certificate was found. For further assistance, click More Info or search Help and Support Center for this error number.
782   Internet Connection Sharing (ICS) and Internet Connection Firewall (ICF) cannot be enabled because outing and Remote Access have been enabled on this computer. To enable ICS or ICF, first disable Routing and Remote Access. For more information about Routing and Remote Access, ICS, or ICF, see Help and Support.
783   Internet Connection Sharing (ICS) cannot be enabled. The LAN connection selected as the private network is either not present, or is disconnected from the network. Please ensure that the LAN adapter is connected before enabling ICS.
784   You cannot dial using this connection at logon time, because it is configured to use a username different than the one on the smart card. If you want to use it at logon time, you must configure it to use the username on the smart card.
785   You cannot dial using this connection at logon time, because it is not configured to use a smart card. If you want to use it at logon time, you must edit the properties of this connection so that it uses a smart card.
786   The L2TP connection attempt failed because there is no valid machine certificate on your computer for security authentication.
787   The L2TP connection attempt failed because the security layer could not authenticate the remote computer.
788   The L2TP connection attempt failed because the security layer could not negotiate compatible parameters with the remote computer.
789   The L2TP connection attempt failed because the security layer encountered a processing error during initial negotiations with the remote computer.
790   The L2TP connection attempt failed because certificate validation on the remote computer failed.
791   The L2TP connection attempt failed because security policy for the connection was not found.
792   The L2TP connection attempt failed because security negotiation timed out.
793   The L2TP connection attempt failed because an error occurred while negotiating security.
794   The Framed Protocol RADIUS attribute for this user is not PPP.
795   The Tunnel Type RADIUS attribute for this user is not correct.
796   The Service Type RADIUS attribute for this user is neither Framed nor Callback Framed.
797   A connection to the remote computer could not be established because the modem was not found or was busy. For further assistance, click More Info or search Help and Support Center for this error number.
798   A certificate could not be found that can be used with this Extensible Authentication Protocol.
799   Internet Connection Sharing (ICS) cannot be enabled due to an IP address conflict on the network. ICS requires the host be configured to use 192.168.0.1. Please ensure that no other client on the network is configured to use 192.168.0.1.
800   Unable to establish the VPN connection. The VPN server may be unreachable, or security parameters may not be configured properly for this connection.
801   This connection is configured to validate the identity of the access server, but Windows cannot verify the digital certificate sent by the server.
802   The card supplied was not recognized. Please check that the card is inserted correctly and fits tightly.
803   The PEAP configuration stored in the session cookie does not match the current session configuration.
804   The PEAP identity stored in the session cookie does not match the current identity.
805   You cannot dial using this connection at logon time, because it is configured to use logged on user's credentials.
900   The router is not running.
901   The interface is already connected.
902   The specified protocol identifier is not known to the router.
903   The Demand-Dial Interface Manager is not running.
904   An interface with this name is already registered with the router.
905   An interface with this name is not registered with the router.
906   The interface is not connected.
907   The specified protocol is stopping.
908   The interface is connected and hence cannot be deleted.
909   The interface credentials have not been set.
910   This interface is already in the process of connecting.
911   An update of routing information on this interface is already in progress.
912   The interface configuration in invalid. Another interface is already connected to the same interface on the remote router.
913   A Remote Access Client attempted to connect over a port that was reserved for Routers only.
914   A Demand-Dial Router attempted to connect over a port that was reserved for Remote Access Clients only.
915   The client interface with this name already exists and is currently connected.
916   The interface is in a disabled state.
917   The authentication protocol was rejected by the remote peer.
918   There are no authentication protocols available for use.
919   The remote computer refused to be authenticated using the configured authentication protocol. The line has been disconnected.
920   The remote account does not have Remote Access permission.
921   The remote account has expired.
922   The remote account is disabled.
923   The remote account is not permitted to logon at this time of day.
924   Access was denied to the remote peer because the username or password is invalid on the domain.
925   There are no routing enabled ports available for use by this Demand-Dial interface.
926   The port has been disconnected due to inactivity.
927   The interface is not reachable at this time.
928   The Demand-Dial service is in a paused state.
929   The interface has been disconnected by the administrator.
930   The authentication server did not respond to authentication requests in a timely fashion.
931   The maximum number of ports allowed for use in the multilinked connection has been reached.
932   The connection time limit for the user has been reached.
933   The maximum limit on the number of LAN interfaces supported has been reached.
934   The maximum limit on the number of Demand-Dial interfaces supported has been reached.
935   The maximum limit on the number of Remote Access clients supported has been reached.
936   The port has been disconnected due to the Bandwidth Allocation Protocol policy.
937   Because another connection of your type is in use, the incoming connection cannot accept your connection request.
938   No RADIUS servers were located on the network.
939   An invalid response was received from the RADIUS authentication server. Make sure that the case-sensitive secret password for the RADIUS server is set correctly.
940   You do not have permission to connect at this time.
941   You do not have permission to connect using the current device type.
942   You do not have permission to connect using the selected authentication protocol.
943   Bandwidth Allocation Protocol is required for this user.
944   The interface is not allowed to connect at this time.
945   The saved router configuration is incompatible with the current router.
946   Remote Access has detected older format user accounts that will not be migrated automatically.
948   The transport is already installed with the router.
949   Received invalid signature length in packet from RADIUS server.
950   Received invalid signature in packet from RADIUS server.
951   Did not receive signature along with EAPMessage from RADIUS server.
952   Received packet with invalid length or Id from RADIUS server.
953   Received packet with attribute with invalid length from RADIUS server.
954   Received invalid packet from RADIUS server.
955   Authenticator does not match in packet from RADIUS server.