This program was originally written to make a connection to the internet thru ppp.exe, check for email, let me know if I had any, and disconnect. It was/is supposed to do this in the BACKGROUND/UNSEEN at timed intervals throughout the day so that I could know fairly soon when I got email, without having an expensive direct internet connection. It basically does this, and more. It ended up turning into a full fledged dialer.
It has something old, something new, something borrowed, something OS/2. When I first started I went looking for what was out there to use to get done what I needed. I ended up finding 3 good
packages out there:
nyts205.zip freeware The New York Telephone Scheduler Version 2.05
8/7/96 11/13/96 By Stu Mark
nifmon.zip from John R Clark
rxu1a.zip freeware from Dave Boll
rxpop.zip freeware from Christoph Lechleitner
---
nyts is a nice handy little scheduler. You might talk to him about trying to do away with the first cmd.exe window that pops up in the background and then goes away. It would be nice to not have it show up at all!
nifmon monitors network interfaces giving you the throughput speed, highest speed attained, and line speed connected at.
It works on dialup and lan interfaces which is really handy to check the speed of your lan too!
rxu was formerly called ybda or something and has a lot of rexx routines that call C functions which really make rexx more functional. If you have ybda I assume you will want to delete your ydbautil.dll or whatever it is and just use the newer rxu.dll.
rxpop has routines excellently showing how to use REXX commands to check for your email!
The rest is all mine. I have turned it into a GUI program and here it is. It is shareware, NOT FREE, but hopefully has a reasonable price. I am asking a small price for my work, not for the others.
PRICE:
======
Price: $10 to $30 U.S. dollars, $5 if you really don't have the
money. Pay what you think it is worth or what you can pay.
If you rip me off you will surely hasten people not to program for
OS/2 since they can't make any money at it.
I will send you a registration key to make it fully usable.
my stuff includes: dialip.exe, killbn.cmd, killhex.cmd, showini.cmd,
notify.cmd, notify1.cmd, which.cmd, vputil.dll
INSTALLATION (after you unzipped the file):
===========================================
Files needed to run program: dialip.exe, vputil.dll, rxu.dll, notify.cmd, ppp.exe, pppterm.exe
1.) run setup.exe (also run this to delete, upgrade, or move its location)
OR to install manually:
1.) Put all the files into a directory that you have included in your PATH statement in your config.sys, or make a dialip directory and put x:\dialip in your PATH statement in your config.sys and reboot.
2.) Put vputil.dll and rxu\rxu.dll into a directory that is included in the LIBPATH statement in your config.sys, like x:\OS2\DLL
3.) Copy dialip.hlp into x:\os2\help
4.) Make sure you have SET TMP=x:\TMP (or whatever path) in your
config.sys
5.) Make sure you have something like SET ETC=x:\MPTN\ETC (or whatever path) in your config.sys
6.) Set up any scheduling program you want to run dialip.exe automatically. If you need, try every 15 or 20 minutes at work, or say every 20, 30, or 60 minutes at home. Don't go overboard, and try
not to have everyone do it at the top of every hour, etc... Do it at odd times. (You might want to change you phone service type if you start dialing every day. Just once per hour, 12 hours per day, 7 days per week adds up to 84 calls per week, or 360 calls per month. Check how many local calls you get per month).
NOTE: You can modify notify.cmd to do whatever you want, call your pager, forward it to another location, whatever. It now pops up a message in epm and plays a tune.
CREATING AN ID:
===============
1.) Fill in all the general info, login name, modem settings, etc...
2.) Go to 'Connection' tab. Choose a 'Service Provider'. Hit 'Load Defaults'.
3.) Hit 'Build Connection String'.
4.) If you check 'Automatic Rebuild at Dial Time' it will rebuild the connection string from the current settings at that time before dialing.
Notes:
The 'Connection Commands' are used to build the connection string. Whatever variables you denote in the connection commands will be replaced when you build your connection string.
You have built in variables you can use as part of your connection
string. These can be set on the 'Extra Var.s' tab page and/or you can
pass them into dialip as an argument by -var2'whatever you want in
single quotes. Even a variable like <var1>'. There are other special
variables like <login_name> too. For example, if your login_name were
'stan' then <login_name> would get replaced with 'stan'.
The variables will be replaced (even recursively) by their values when you do 'Build Connection String'.
These are the built in variables:
<modem_string_1>
<modem_string_2>
<login_name>
<phone_no>
<com_port>
<baud_rate>
<dial_program>
<dial_string>
<var1>
<var2>
<var3>
<var4>
<var5>
<var6>
<var7>
<var8>
<var9>
<var10>
<login_password> is the only var. that will not be replaced (until it dials).
Connecting to IBM/Advantis with their dialer:
-----------------------------------------
This can also be done. You don't have to fill out as much of the settings. You will need to make sure you can connect from the IBM dialer first. Then in Dialip fill out the login_name, password, pop server, and build the connect string. Dialip calls IBM's dialer to make the connection.
Important note: You can choose to have IBM's dialer use its phone numbers, or you can have dialip tell the dialer which phone numbers to use.
Either way you must put something in the phone number field. If IBM's dialer will use its phone numbers the number of numbers in the field still determines how many times it will try to call if it cannot connect.
So I think in this case you could actually put anything in the
phone number field, but you do have to put something.
You could probably put 1|2
and this would make it use the dialer once, potentially using
the main dialer phone # and the 'Backup' phone number if
needed, and then it would try potentially these both again
a second time, dialing up to 4 phone numbers.
RUN ARGUMENTS:
==============
-id id specifies the group of connection info you are using. It is not the login name or login password. This ties into the same info structure used by IBM's 'Dialer' and 'Dial Other IP'.
-pw lets you specify a run time login password. Use like -pwmypassword
-v verbose. The ppp connection will tell you more of what it is doing.
-dl tells it to dial after it starts.
-sm tells it to send any mail you have queued after it connects. You can use say Ultimail or whatever to send mail when you are not connected and then when it connects, if you use this flag it will send your queued mail. This can also be good for sending big files when you want to go to bed, (like now). You send the file offline, have the dialer connect, send, and hangup, so you don't have to hang around to disconnect!
-cm tells it to check & notify you of any mail you have after it connects. Right now if you have it check say every 15 minutes and you are not there it will put up a notify window every 15 minutes (taking up memory) until you actually go and get your mail. I will try to do something about this later.
-cmLIST Also lets you set the check pop id list on the mail handling window.
ex.: -cm1,4,5 checks pop id.s 1, 4, & 5
-gdm tells it to retrieve and delete mail from server if you have any, into the directory you specify on the 'Mail' notebook page. It does not pull it into other mail programs unfortunately
yet. It does name them sequentially though, as in emINDEX.msg. This will keep the build up of notifies from happening if you are gone.
-gdmLIST Also lets you set the get & delete pop id list on the mail handling window.
ex.: -gdm1,4,5 gets and deletes pop id.s 1, 4, & 5
-gm tells it to only retrieve mail from server if you have any, into the directory you specify on the 'Mail' notebook page. It does not pull it into other mail programs unfortunately yet. It does
name them sequentially though, as in emINDEX.msg. This will keep the build up of notifies from happening if you are gone.
-gmLIST Also lets you set the only get pop id list on the mail handling window.
ex.: -gm1,4,5 does only get on pop id.s 1, 4, & 5
-dm tells it to only delete mail from server if you have any, into the directory you specify on the 'Mail' notebook page. It does not pull it into other mail programs unfortunately yet. It
does name them sequentially though, as in emINDEX.msg. This will keep the build up of notifies from happening if you are gone.
-dmLIST Also lets you set the only delete pop id list on the mail handling window.
ex.: -dm1,4,5 does only delete on pop id.s 1, 4, & 5
-hu tells it to hang up when it is done. It waits for the program mailq.exe to not be running (which sends mail) before hanging up.
It also waits for a special file in your dialip home directory called dialip.lok to NOT BE THERE before hanging up.
When it goes to hang up if the file dialip.lok exists it will check every 15 seconds for it to disappear and will not hang up until it no longer exists.
This lets you run a process upon startup (connection) which can create this file and then delete it when it is done to signal dialip that it is now o.k. to hangup.
-dnhuim tells it to Do Not Hang Up If Mail is found, if you do -cm and -hu and -dnhuif it will not hang up if it finds mail, otherwise it will hang up.
-ex tells it to exit the program after optionally connecting.
-noshow tells it to not bring up the dialer window.
-not tells it to pop up a notify window if it finds email.
-varx'string' x = 1 - 10. Whatever is enclosed in the ' ' is what the variable gets set to.
You can even make one var. dependant on another.
examples: -var1'Hello Towianski' -var10'What in the world<var1>'
-debug spills it guts.
Examples:
=========
In say your NTYS scheduler you might have something like this:
exmail.cmd This one calls exmail.cmd provided as an example.
With this routine your machine can handle faxing along with internet connections
by simply turning off one while you use the other.
Get and delete new mail from server for those in that list
Only Get mail for those in that list
Exit /* with connection left running */
dialip.exe -idstanjenn -dl -cm1,4,5 -gdm2,3 -sm -hu -ex -debug -var1'Hello Towianski' -var10'What in the world<var1>' -v
Use stanjenn connection info.
turn on dialing debug
turn on dialip debug
set variable var1
set variable var10
Dial/Connect
Send queued mail
Check for new mail from server for pop id.s 1, 4, & 5
Get & Delete new mail from server for pop id.s 2 & 3
Hangup
Exit
RUN INTERACTIVELY:
===================
If you pull down the ID list, it will list all entries you have made thru your IBM Dialer, and your Dial Other Internet Provider programs. It will read and save into the same file to store this info. as them. It DOES NOT use the same password field. It uses its own. I am not sure if IBM encrypts their passwords and if so I would not know their scheme so this way we don't mess each other up.
If you chose and ID, then hit 'Load' to restore the saved values.
'Password' Leaving it blank will make it prompt you for a password at dial time. Note you can leave it blank and give it a password thru the command line at start up time.
'Delete' Deletes an ID entry.
'Save' Saves your new values.
'Hangup' Hangs up but leaves the program running.
'Dial' Reads settings first like 'Get email', 'Send email', 'Phone #', 'Com Port', etc... and then dials to connect.
'Exit' Hangs up and quits program.
'Check 4 Mail' Checks for any mail on the server right then for pop id.s listed in 'Mail Handling' tab.
'Get & Delete Mail' Gets and Deletes any mail on the server right then for pop id.s listed in 'Mail Handling' tab.
'Only Get Mail' Gets and does not Delete any mail on the server right then for pop id.s listed in 'Mail Handling' tab.
'Only Delete Mail' Does not Get and does Deletes any mail on the server right then for pop id.s listed in 'Mail Handling' tab.
PHONE NUMBERS: Put in the phone number to dial. You can put in more
than one by just separating them with '|'
like: 1810-463-1601|254-1600|1810-463-1601|254-1600 This means it
will try these four phone numbers until it connects. You have I
think 100 char.s to use. For Advantis' dialer you have 2 options,
to either have it dial using its phone numbers, or have it dial
using dialip's phone numbers.
DEFAULT ROUTE: You probably don't have to fill this in, but you can
if you need to.
DOMAIN NAME: Your domain name (of your Internet Service Provider)
1ST DOMAIN NAME SERVER: Give the IP address that your ISP provides.
2ND DOMAIN NAME SERVER: Optional 2nd lookup address (also from your ISP).
NETMASK: If not given one to use, leave it blank.
MODEM:
-------
INIT STRING 1: Just put in the modem string to reset your modem.
INIT STRING 2: Put in the modem string to set your modem up properly. For now to get your modem init strings, use the IBM software dialers to pull up the ones for your modem. Then hilight them and hit Ctrl-Insert to copy them. Then go into my program and do Shift-Insert to paste them in. TURN OFF COMPRESSION, as this does its own.
PPP PRIORITY: Tells OS/2 what priority to run ppp at. Defaults to 2nd highest priority. Bump up to Time Critical if your system or your providers is really taxed (like peak usage times).
INACTIVITY TIMEOUT: How much time of no activity before program will automatically disconnect. Handy if you walk away and forget it.
FLOW CONTROL: Hardware is the preferred option.
MRU SIZE: You can probably leave blank. Defaults to 1500. You can put a size in if you need, like 296 for slower connections.
----------
Some of the fields like the com ports are intentionally made so you can overwrite if you need. You can pick one like com2 of the list or you can type one in if you have something strange like some kind of shared lan modem or whatever.
AUTOSTARTS:
-----------
RIGHT AFTER CONNECT: Whatever command you put in here will be
run after connection. Dialip will wait for it to finish before
continuing. So, if you want to start something and continue
without waiting for it put 'start' in front of your command like:
start xxx
EXTRA VARIABLES
---------------
These var.s 1 thru 10 can be used in creating custom connection strings.
These can be passed in at startup by -varx'string'
where x = 1 thru 10
string = whatever you want to set the variable to.
CONNECTION STRING
-----------------
The only field that you must use here is the long connection string field at the bottom. The other objects can just help you build a proper string.
A connection string is built from the 'Connection Program', the
'Dial Program', and the 'Connection Commands'. These are saveable settings that will be used if you use 'Automatic Rebuild at Dial Time'.
Picking a 'Service Provider' will fill in these fields with default values for the particular provider that I knew how to connect to.
The 'Connection Commands' (biggest) window is now fully edittable. You can make it as long and complicated as you
want or need. These commands get saved to a simple text file now, which you can edit outside of dialip as well.
Examples:
=========
An old complicated example using many variables:
For example, if you are saying you need to answer to your ISP when you call it with a login_name, and a password, and a third value such as 'slip' or 'ppp'
Try this:
1.) At the connection menu for 'Service Provider' select 'Dial then Vars - Slattach'
2.) Hit 'Load Defaults'
3.) It will then tell you that it will use the following connection commands:
It will do:
<modem string 1>
wait for an OK from your modem
<modem string 2>
wait for an OK from your modem
do the dial string to call your ISP
Then waitfor whatever you put in <var1>
Then send whatever you put in <var2>
Then waitfor whatever you put in <var3>
Then send whatever you put in <var4>
Then waitfor whatever you put in <var5>
Then send whatever you put in <var6>
etc....
If any <vars> are blank it will skip them so you don't have to worry about the rest you don't need.
4.) So, in your case, go to the 'Extra Var.s' tab and stick 'ogin:' into Var1 say to wait for a 'login:' prompt
5.) then put <login_name> so it will send your login name after it receives 'ogin:' from above.
6.) Then stick 'assword:' into Var3 say if you wanted to wait for a 'password:' prompt
7.) then put <login_password> into Var4 so it will send your login password after it receives 'assword:' from above.
8.) Then stick 'connection type:' into Var5 or whatever you see it prompts you for so it will wait for that. Put in the last piece of the prompt to wait for like 'type:'
This is all ISP dependant.
9.) then put 'ppp' or 'slip' into Var6 so it will send your login password after it receives that from above.
In all these above like 'ogin:', 'assword:', 'type:', 'ppp', do not include the ' They are just there to help denote for you what to put in. For 'ppp' just put ppp
10.) Go back to the 'Connection' tab and hit 'Build Connection String' and look at the string. Whatever you put into any Var.s should show up after the dial phone number.
If you choose, 'Automatic Rebuild at Dial Time' it will rebuild this every time it dials. You could also just make any changes you want right to this connection string, do not select 'Automatic Rebuild at Dial Time', and then whatever you put in here and save will get used every time it dials. Therefore you have total control over your ability to create your own connection string.
MANUAL MODE:
============
1.) Fill in basic items like login name, password, modem settings, etc...
2.) At the connection menu for 'Service Provider' select 'Manual Mode PPP'
3.) Hit 'Load Defaults'
4.) Hit 'Build Connection String'
5.) Hit 'Connect' menu --> 'Dial'
6.) It will start ppp.exe and pppterm.exe. If pppterm.exe does not show up, bring up your window list and double click it to bring it into the foreground to use it.
7.) Do any at... modem commands to set it up. (If you got an init string already and ran it once by dialing you probably do not have to do it again.
8.) do 'atdt'phone_number for a touch tone phone or
do 'atdp'phone_number for a rotary phone to dial your ISP.
9.) Keep track of the prompts your ISP uses and the information you need to supply to login to your ISP and start your connection. Use this info. to create your dialip id to login to your ISP automatically next time. For example it will probably spew info first and then prompt for something like 'login:',
then 'password:'
etc...
10.) If you successfully log in then hit 'F10'. Dialip will continue the rest of the setup, etc...
If you did not successfully log in then hit 'ESCAPE'
If you have troubles look in the file genppp.txt provided. For one I you will need to replace spaces in say a password with '\s' so 'hal moon' -> 'hal\smoon'
And if you need a delay I think you can do that with a '\d'.
If you have more troubles just email me.
MAIL HANDLING
-------------
For the mail handling page, for say 'POP ID's to Check for Mail', and
'POP ID's to Get and Delete Mail for', etc... in these you put the
number of the pop you want it to do it for. So if you have 3 pop id.s
you could put '1,2' under 'Get & Delete...' and '3' under 'Check for
mail...' Separate the numbers by commas.
POP ID.s:
---------
POP SERVER: Put in the hostname of the machine they tell you, like mickey.global.com Pop server is your email server you will get mail from.
POP ID: Login name for the POP server.
POP PASSWORD: Login password for the POP server.
MAIL STORE DIRECTORY: If you choose '-gdm' or 'Get Mail', this is the directory where it will put the new mail.
To have PMMail use your mail set this to something like: x:\southsde\pmmail\stan_t0.act\inbox.fld
Then tell PMMail to 'reindex' folder to find your mail.
For Netscape/Mozilla make this the directory where mozilla stores mail in the file
called 'inbox'. Probably x:\netscape\mail
DO NOT put an ending '\' on this path (x:\netscape\mail\' )
MAIL INDEX: mail files are given the names emINDEX.msg. Index is the next index to be used. You can change it if you need to. If the program finds that a file exists that it wants to use it will increment the index by 1 until it finds an unused filename so as not to overwrite any mail files.
FORWARD TO MAIL ADDRESS: If you put something in here it will not put the mail into your email client, but will send it to the email address you specify.
This is useful for having one system connect to the internet and pulling down many people's email and forwarding it to them across your intranet!
PROGRAM TO RUN ON EACH EMAIL: If you put something in here it will execute that line, giving it 2 arguments, the filepath (mailstore directory), and the email file name it just downloaded (emxxx.msg). See example file delfile.cmd.
This is done for each email downloaded.
REQUIREMENTS:
=============
All the tcp/ip stuff that comes with Warp Connect, Warp 4.0, or separately purchased IBM TCP/IP software.
License:
========
You are granted a license to use the software as is for up to 7 days after which you must either pay to register it or discontinue using it. If you do not register it you have no further rights to use the program. If you do register it you are paying for the right 'to use' that major version of the program for which you paid. You have no other rights to the program. You cannot disassemble the code or modify the code in any way. You can freely distribute the original file to others as shareware. All rights are reserved by me.
LIMITATIONS:
============
Should encrypt password.
Warranty and Guarantee:
=======================
If it doesn't work, I will fix it if I can or I will return your money.
Support to Registered Users:
If you find a major bug that damages the usability of this program for its intended use I will make every effort to provide you with a fix within 30 days or return you your money. You can either write me thru snail mail or send email to my email address listed below.
My Intent:
To provide a good and useful program at a reasonable price and to remedy any bugs that might be found in a reasonable time.
DIAL IP CREATED UNDER:
======================
Warp 4.0 at 1024 x 768 resolution. If it looks bad under VGA or something else, let me know.