RasDial Pro User's Manual

Version 1.3

September 25, 2001

µ-Consulting www.muconsulting.com

Contents

  1. Introduction

  2. Installation

  3. Usage

  4. Usage Examples

  5. TCP/IP Route Addition Support

  6. Common Errors

  7. Batch File Integration

  8. Revision History

  9. Distribution

  10. Licensing

  11. Pricing

  12. How To Contact µ-Consulting

Introduction

RasDial Pro is a command-line remote access (dial-up networking) dialer for Windows 95 and above. It's based on the RasDial command on Windows NT and the usage is very similar. RasDial Pro will allow you to dial and hangup a remote access phone entry.  In addition, it supports redialing when a line is busy.  New in this version is support for TCP/IP route additions that are necessary to establish proper connectivity to the Internet and private corporate networks simultaneously.

Installation

RasDial Pro is typically used from a custom batch file (.BAT or .CMD) or another application.  Because of this, there is no install program for RasDial Pro.  Installation will usually just consist of copying RDialPro.exe to a directory referenced by the batch file or other application.  For convenience, RDialPro.exe may be copied to the Windows directory (usually C:\WINDOWS or C:\WINNT) or any other directory in the PATH so that it can be executed without the full directory path specified.

Usage

There are three modes of usage for RasDial Pro.

Establish connection (dial)
Disconnect (hang up)
List connected entries

To Establish a Connection (Dial):

Command-line Syntax:

RDialPro entryname [username [password]] [/DOMAIN:domain] [/PHONE:phonenumber] [/CALLBACK:callbacknumber] [/RETRYCOUNT:n] [/RETRYDELAY:s] [/VERBOSE] [/ADDROUTE destination [MASK netmask] [METRIC metric]]...

Parameter Definitions:

entryname The entry name is the name of the icon that is in the dial-up networking folder.  Enclose the entry name in double quotes if it contains spaces.
username, password

The user name and password are optional.  If they are not specified on the command-line, then the user credentials saved with the dial-up networking icon will be used.  If you specify a user name and password, the specified user credentials will be used instead of the saved user credentials.  You may enclose the user name and/or password in double quotes if they contain spaces or other special characters.

/DOMAIN: domain If you are connecting to a Windows NT RAS server, you may use the /DOMAIN parameter to logon using an account on a domain that is different from the RAS server's domain.
/PHONE: phonenumber If the phone number is specified, it overrides the number stored in the dial-up connection icon.
/CALLBACK: callbacknumber If the callback number is specified, it overrides the callback number stored in the dial-up connection icon.  A callback will only be performed if the dial-up server is configured to perform it.
/RETRYCOUNT:n By default, RasDial Pro will attempt to dial only once.  If the connection can't be made, it will return an error.  However, if the /RETRYCOUNT:n parameter is specified, it will retry up to n times before returning with an error.
/RETRYDELAY:s When retrying, RasDial Pro will redial immediately after hanging up.  However, if the  /RETRYDELAY:s parameter is specified, it will pause for s seconds before redialing.
/ADDROUTE destination, netmask, metric If the TCP/IP settings in the dial-up networking icon is not set to use the default gateway on the remote network, then the /ADDROUTE parameter may need to be used.  This is particularly useful when you already have an active Internet connection and would like to use RAS to connect to another network such as a Virtual Private Network or a corporate remote access server.  See the Route Addition section for details on this parameter’s usage.
/VERBOSE The /VERBOSE parameter displays more detailed information when establishing RAS connections.

 

To Disconnect (Hang up):

Command-line Syntax:

RDialPro [entryname] /DISCONNECT

Parameter Definitions:

entryname The entry name is the name of the icon that is in the dial-up networking folder.  Enclose the entry name in double quotes if it contains spaces.  If an entry name is not specified, the first connection will be disconnected.

To List Connected Entries:

Command-line Syntax:

RDialPro

Usage Examples

RDialPro myisp

Connect to “myisp” using the logon name and password saved with the “myisp” dial-up networking icon.

RDialPro “My ISP” AAA\john secret007

Connect to “My ISP” (icon name has an embedded space) using the logon name “AAA\john” and password “secret007”

RDialPro “My ISP” john “secret 007” /domain:AAA

Connect to “My ISP” using the logon name “john”, password “secret 007”, and Windows NT logon domain “AAA”.

RDialPro BusyISP /retrycount:10 /retrydelay:5

Connect to “BusyISP” but if the line is busy, then wait 5 seconds and retry again.  Retry connecting up to 10 times.

RDialPro “Long Distance ISP” /phone:9,18185551234,30

Connect to “Long Distance ISP” but instead of using the saved phone number, use the specified phone number (which includes a custom prefix and suffix).

RDialPro CorpVPN /addroute 192.168.1.0 mask 255.255.255.0

Connect to your corporate LAN whose internal IP address is 192.168.1.0 with a subnet mask of 255.255.255.0.

RDialPro CorpVPN /addroute 192.168.1.0 mask 255.255.255.0 /addroute 10.0.0.0 mask 255.0.0.0

Connect to your corporate LAN which has two IP address ranges, 192.168.1.0 with a subnet mask of 255.255.255.0, and 10.0.0.0 with a subnet mask of 255.0.0.0.

RDialPro CorpVPN /phone:vpnserver2.yourdomain.com /addroute 192.168.1.0 mask 255.255.255.0

Connect to your corporate LAN using an alternate VPN server named “vpnserver2.yourdomain.com”.  

TCP/IP Route Addition Support

TCP/IP route addition support is very useful when you have more than one TCP/IP network connection.  The most common example of this is when you want to establish a RAS connection (modem or Virtual Private Network) while you are connected to the Internet.  With TCP/IP route addition support enabled, RasDial Pro will update the operating system’s TCP/IP routing table so that traffic that is addressed to the RAS network is routed to the RAS server instead of the default gateway (usually the Internet).

Why does the TCP/IP routing table need to be updated?  The following two examples illustrate why.

Broken Example #1

Your workstation has a network card that connects to the Internet through a DSL or cable modem connection.  It also has a modem.  You want to use RDialPro to establish a RAS modem connection to your corporate LAN which uses the network 192.168.1.0 with a subnet mask of 255.255.255.0.  The CorpRAS Icon properties has the option “Use default gateway on remote network” unchecked.

You establish a RAS connection to CorpRAS by double-clicking on the CorpRAS Icon in Dial-Up Network or by using RDialPro without the /ADDROUTE parameter.  After connecting, the RAS server assigns the IP address 192.168.20.5 to the local RAS client.

Internet access works as before.  The problem is that you are unable to communicate with any host on the 192.168.1.0 corporate network.  Since the route table doesn’t have an explicit route to this network, any traffic sent to this network is routed to the default gateway which is through the network card instead of the modem in this case.  When the Internet dial-up server receives the traffic sent to the 192.168.1.0 network, it will usually drop it or improperly route it because such an address is not valid on the Internet.

Broken Example #2

Same scenario as Broken Example #1.  However, you check the “Use default gateway on remote network” option for the CorpRAS Icon properties.

You establish a RAS connection to CorpRAS by double-clicking on the CorpRAS Icon in Dial-Up Network or by using RDialPro without the /ADDROUTE parameter.  After connecting, the RAS server assigns the IP address 192.168.20.5 to the local RAS client.  Since the “Use default gateway on remote network” is checked, the operating system updates the routing table so that the default route is effectively 192.168.20.5 (the RAS interface). 

You are now able to communicate with hosts on the 192.168.1.0 corporate network.  However, when you try to access anything else on the Internet, you will find that it either doesn’t work at all, or your Internet access speed went from DSL speed down to modem speed.  The reason for this is just the opposite of the last example.  When you send traffic to the Internet, it gets sent to the default gateway which is through the modem instead of the network card in this case.  This means that your corporate RAS server is handling traffic to and from the corporate LAN as well as the Internet.  In other words, Internet traffic that used to go through your high speed network card and DSL modem now go through your modem to your corporate network and then through the corporate network’s Internet connection (if it has one).

The Solution

The solution to these two problems is to keep the default gateway as your Internet connection and then to add specific routes for traffic that should be sent to your RAS server. 

To specify these routes, you need to give RDialPro three parameters to the /ADDROUTE option. 

Destination IP address: This can be a host IP address or a network IP address of the host or network that can be accessed through the RAS server.  In the above examples, the destination IP address was the network address 192.168.1.0. 

Netmask (also called subnet mask):  This specifies the TCP/IP subnet mask that corresponds with the destination IP address.  If the network is a class C network, the subnet mask will be 255.255.255.0.  If the subnet mask is not specified, it will assume a subnet mask of 255.255.255.255 which means that only traffic sent to the destination host IP address will be routed through the RAS connection. 

Metric: This is only useful if you have more than one route to a particular network.  The metric parameter will then be used by the operating system to determine the best route to a particular destination.  The route with the lowest metric is chosen before another.  If the metric is not specified, it is assume to be one.

The /ADDROUTE parameter can be repeated as often as necessary to completely specify all IP addresses that are accessible through the RAS server.

Here are two examples which show the proper usage of the RDialPro’s TCP/IP route addition support.

Example #1

Your workstation has a network card that connects to the Internet through a DSL or cable modem connection.  It also has a modem.  You want to use RDialPro to establish a RAS modem connection to your corporate LAN which uses the network 192.168.1.0 with a subnet mask of 255.255.255.0.  Before running this command, you verify that the CorpRAS Icon properties has the option “Use default gateway on remote network” unchecked.

RDialPro CorpRAS /addroute 192.168.1.0 mask 255.255.255.0

This command will first establish a RAS connection to the RAS entry called CorpRAS using the stored user credentials.  After successfully connecting, it will run the operating system’s ROUTE.EXE program to add a route to the routing table.  For example, if the RAS server assigned the IP address 192.168.20.5 to the local RAS client, RDialPro would run the following operating system command:

route add 192.168.1.0 mask 255.255.255.0 192.168.20.5

The effect of this command is that traffic sent to IP addresses 192.168.1.0 through 192.168.1.255 will get routed through the modem connection to the RAS server while all other traffic will get routed through the network card directly to the destination on the Internet.

Example #2

Your workstation has a modem but no network card.  You establish a dial-up Internet connection using any method you want (RAS/DUN Icon, RdialPro, AOL, etc.).  You want to use RDialPro to establish a VPN connection to your corporate LAN which uses the network 192.168.1.0 with a subnet mask of 255.255.255.0.

RDialPro CorpVPN /addroute 192.168.1.0 mask 255.255.255.0

This command will first establish a RAS connection to the RAS entry called CorpVPN using the stored user credentials.  After successfully connecting, it will run the operating system’s ROUTE.EXE program to add a route to the routing table.  For example, if the RAS server assigned the IP address 192.168.20.5 to the local RAS client, RDialPro would run the following operating system command:

route add 192.168.1.0 mask 255.255.255.0 192.168.20.5

The effect of this command is that traffic sent to IP addresses 192.168.1.0 through 192.168.1.255 will get tunnelled through the Internet to the RAS/VPN server while all other traffic will get routed directly to the destination on the Internet.

Common Errors

5 (Access is denied)

This error can occur by one of two conditions.  If the user name and password were not specified on the command line, then they must be saved with the dial-up networking icon.

If the user name and password were specified on the command line, then either the account has been disabled by the remote dial-up server or the user name, password, or domain were misspelled.  If the user name and/or password contain a space or other non-alphanumeric characters, enclose them in double quotes.

623 (Cannot find the phone book entry)

This error occurs when the entry name specified on the command line does not exist in the dial-up networking folder.  If the entry contains a space or other non-alphanumeric characters, enclose the entry name in double quotes.

691 (Access denied because username and/or password is invalid on the domain)

See notes for error 5.

Batch File Integration

For integration into batch files (.bat or .cmd), the following error levels are returned by RDialPro:

0 When dialing, error level 0 is returned if the specified entry was successfully dialed or if it was already connected.  When hanging up, error level 0 is returned if the specified entry was successfully hung up or if it was not connected.
1 Error level 1 is returned if the dial or hang up command fails.
2 Error level 2 is returned if the dial command was aborted by the user with Control-C or Control-Break.

Example

Here is a sample batch file that performs the following steps:

  1. Uses RDialPro to establish a RAS connection to a corporate network.
  2. If the RAS connection can't be established after 10 retries, the batch file exits with an error.
  3. Authenticates with the Windows server named CORPSERVER.
  4. Maps the drive letter V: to the SALES share on CORPSERVER.
  5. Copies the document LatestPrices.xls from the remote V: drive to the local workstation's C: drive.
  6. Uses RDialPro to disconnect the RAS connection.
 

@echo off

rem  --- start of connect.bat ---

rdialpro “Corp Network” /retrycount:10 /retrydelay:60 /addroute 192.168.1.0 mask 255.255.255.0

if errorlevel 1 goto :error

echo You are now connected to Corp Network!

rem  Perform any network-related commands here

rem  For instance:

net use \\corpserver mypass /user:CORPDOMAIN\myname

net use v: \\corpserver\sales

copy v:\LatestPrices.xls c:\Documents

echo Done accessing the remote network.

rdialpro “Corp Network” /disconnect

goto :end

:error

echo There was an error connecting to Corp Network!

:end

rem  --- end of connect.bat ---

 

Revision History

RDialPro 1.3 (9/6/01):

 Added capability to use the user name and password stored with dial-up networking icon.

Added TCP/IP route addition support.

RasDial95 1.2 (8/25/99):

Added the capability to retry dialing.

Most error messages now include a description as well as the Win32 API error code.

RasDial95 1.1 (4/3/98):

Allowed the phone number and callback number to be specified on the command line.

Added control-break handling to properly abort the dial command.

RasDial95 1.0 (11/08/97):

Initial release of freeware version.

Distribution

The unlicensed version of RasDial Pro 1.3 may be freely distributed, provided that the distribution is unmodified and complete with its documentation and RDialPro.exe.

Licensing

The unlicensed version of RasDial Pro 1.3 may be installed and evaluated for a period of thirty (30) days, after which it must be purchased to continue using it.

The purchased version of RasDial Pro 1.3 provides the following benefits:

Unrestricted TCP/IP route addition support.  The unregistered version supports a maximum of one class-C remote network.  The registered version supports an unlimited number and size of remote networks.
Free unlimited technical support through e-mail.

RasDial Pro 1.3 is sold on a per-user basis.  One user license for RasDial Pro 1.3 must be purchased for each computer on which it will be installed.  Discounts are available for companies that wish to purchase multiple user licenses.  Additionally, an unlimited user license is available for companies that wish to install RasDial Pro 1.3 on an unlimited number of company-owned computers.

Pricing

The latest pricing for RasDial Pro 1.3 can be found on www.muconsulting.com.

The table below shows the pricing levels for RasDial Pro 1.3 as of September 25, 2001.  All prices are in US Dollars.

RasDial Pro 1.3

Current Pricing as of September 25, 2001

User Licenses Total Price Unit Price Discount Savings
1 $29.99 $29.99 0.00% $0.00
2 $57.99 $29.00 3.32% $1.99
5 $139.99 $28.00 6.64% $9.96
10 $269.99 $27.00 9.97% $29.91
25 $599.99 $24.00 19.97% $149.76
50 $999.99 $20.00 33.31% $499.51
unlimited $1,499.99

To purchase RasDial Pro 1.3 now, go to www.muconsulting.com.

How To Contact µ-Consulting

Web Site www.muconsulting.com
Sales sales@muconsulting.com
Technical Support support@muconsulting.com
General Information info@muconsulting.com