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: rxpop.zip freeware from By Christoph Lechleitner
and
nyts205.zip freeware The New York Telephone Scheduler Version 2.05
8/7/96 11/13/96 By Stu Mark and
rxu1a.zip freeware from By Dave Boll
rxpop has routines excellently showing how to use REXX commands to check for your email!
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!
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.
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, for 1 email id, plus $2 per additional mail id. Pay what you
think it is worth or what you can pay. Pay in the middle and feel
o.k. If you think it will save you a lot of time writing your own and
does a good job for you pay more, and if you can't afford it right
now, pay less. If you rip me off you hopefully aren't a christian and
it will surely hasten people not to program for OS/2 since they can't
make any money at it, and it will be just another log in the fire come
judgement day.
I will send you a registered copy in your name with the number of id.s
my stuff includes: dialip.exe, killbn.cmd, killhex.cmd, showini.cmd, notify.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.) 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.
If you need a special connection string you can use 'Dial then vars - Slattach' or 'All vars - Slattach'. Where it has <var1> you can go to the 'Extra Var.s' tab and put whatever you want into 'var1'. For example you could put 'stan' or <login_name>. If your login_name were 'stan' then <login_name> would get replaced with 'stan'.
The 'Extra Variables' tab is where you can define any extra variables you need, var1...var10, which you can specify in your connection string. 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:
---------------------------
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.
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.
-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.
-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.
-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.
-hu tells it to hang up when it is done. It should wait for any mail to send before hanging up.
-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.
-debug spills it guts.
Examples:
=========
In say your NTYS scheduler you might have something like this:
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.
'Get & Delete Mail' Gets and Deletes any mail on the server right then.
'Only Get Mail' Gets and does not Delete any mail on the server right then.
'Only Delete Mail' Does not Get and does Deletes any mail on the server right then.
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.
PROGRAM TO START AT 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
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.
EXTRA VARIABLES
---------------
These var.s 1 thru 10 can be used in creating custom connection strings.
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.
Examples:
=========
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.
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!
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 write an install program.
Should encrypt password.
Add option to wait for autostarted program to finish before hanging up
and exitting.
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.