WRITING AND SOFTWARE BY IAN SHARPE
WARNING: Old software (older than the file dates suggest) that I have no interest in. Dial is supplied as-is and I discourage email about it. Read why if you want to pass a couple of minutes
Dial.exe gives you the ability to create Windows shortcuts that place voice calls. The shortcuts can be desktop icons or put in the Start menu. Dial can also be used from a command line, and may be called from another script or program if you can't make API calls.
As of version 4, Dial should also work as the handler for callto: and sip: links in web pages. It strips additional text such as "callto:" from the number, and also converts "%xx" hex strings to the characters they represent. A consequence of the new feature is that although versions up to and including 3 had no dependencies, version 4 requires the Microsoft DLL included in the download. Put this in the same folder as dial.exe, or preferably in your system32 folder if it is not already present there. Windows may need some registry tweaking to respond to callto: links. Use a search engine to find out how.
Important: Dial does not work by magic alone. The PC and phone line must be connected by a suitable modem! Otherwise, Dial will initiate Internet calls.
Copy Dial.exe to somewhere convenient on your disk, for example the Program Files folder. Right-click the Start button and select Explore. Go to File / New / Folder and create a folder called Dial. If you are using version 4, see the note above about the DLL.
Inside that folder you can, if you wish, create sub-folders to to categorise your shortcuts.
Create a new shortcut by dragging Dial.exe into the folder using the RIGHT mouse button. When you drop the file, you get the option to create a new shortcut.
Press the [F2] key to rename the shortcut to the name of the person or company it will dial. After renaming, right-click the shortcut and select Properties.
Click in the Target field. Add a space and the phone number to the end of the line. Don't put any spaces within the number.
There are special characters you can include in the number:
|,||(comma) A short delay|
|W||Optional prefix – wait for dial tone before calling|
An example, where you have to dial 9 for an outside line:
Please see the note below regarding a fault in Windows 2000 that prevents the use of these additional characters.
There is one more feature you may like to use. Using the shortcut fires up the Windows dialler utility and that program is what actually does the dialling. Some versions of this (Phone Dialer) create a log file of numbers they call. Get at it from Tools / Show Log. If you want to make use of this feature, you can have the person's name included alongside their phone number. Add it to the shortcut command line in quotes as follows:
"path_to\dial.exe" 1234567 "John Jones"
The text within quotes will be picked up by Dial.exe and passed through to the Windows Dialer which will include the name in its log.
You may have to install the Phone Dialer from the Windows CD. It's under Add/Remove programs. Click the Windows tab and locate it in one of the categories.
If when you run a shortcut the Dialer accessory comes up but there is no phone number, check you have constructed the shortcut command line exactly as I have described. However, you may be out of luck and have a faulty system component.
Some communications software replaces Windows' own telephone interface module (Tapi.dll or Tapi32.dll) with its own third-party version. I have seen one of these fail to drive Phone Dialer in the way that Microsoft documents it should.
Windows 2000/XP only (I think): the Dialer accessory MAY interpret non-digits (such as ,) to mean that you want to place an Internet call. If that happens, try this workaround reported by a user (not yet tested by me):
"In messing around, I pulled the idea out of thin air to add a 'P' in front of the phone number string. Voila! This forces phone call instead of internet call for those strings with the special characters (commas, etc)."
If you have the problem, please let me know if the fix works. Another user reported it did not work for him.
I once planned to write an upgraded version of Dial.exe with more features, for example enabling selection of the dialling device, monitoring call duration and automatic hang-up.
Further investigation revealed this to be non-trivial and the plan was shelved.
Dial.exe is very simple. Interpreting the command line is the most complicated part, and that isn't complicated. Afterwards, it uses tapiRequestMakeCall() to pass the phone number to Windows, which handles the dialling process. My source code is included (Dial.cpp) if you want to see how that works or modify the program to suit your needs.
Accomplishing anything more requires Dial.exe to take over some of the functionality of Windows' telephony components.
Microsoft says that any program doing this should go the whole hog and implement a range of features – a full TAPI interface in fact, and a significant project. Technically, Dial.exe would have to make the jump from being 'TAPI Enabled' to 'TAPI Centric'.
The leap is so great that it won't happen without an excellent reason, like somebody is paying me. And the odds are that nobody will.
I wrote Dial as a quick and trivial utility when I owned a modem. I signed up for broadband well over a decade ago, in advance of BT's initial rollout in the UK. I was an early adopter and have not owned a modem for some time.
Hence I cannot test Dial. Furthermore, I have no use for it, no interest in it, and if it was up to me, I'd retire the old boy.
People ask if I can do this or that. I used to comply with minor mods, often for commercial operations that did not even offer pay for the work. So I stoppped doing mods. Even minor ones can eat a weary evening after the day job.
I like to be generous but there's being generous and there's being a bit stupid.
And for more than 10 years I repeatedly answered by email questions already answered on the web page from which my correspondent obtained the program. Unless they got it from one of those parasitic download libraries. I hate those outfits but will defer that rant for another time and place.
I don't even know how well the program works after so many iterations of Windows since the end of the dial-up age.
Because it must be useful to quite a few people, judging by the number of downloads. And I need to learn to be thick-skinned about the crap that comes from putting your work out there even when it is for nothing.
So the deal is that if you find Dial of value, you're very welcome but do not email me unless it's an offer to pay further development costs at UK rates. In return, Dial stays here for as long as the server logs say it should.
Version 4.1 Beta, 21 Feb 2011
Compatibility Beta version may not be bug free. Varying results on different Windows versions
Description / note Added callto: support. Recompiled with Visual C++ 2010.
Version 3.0, 5 Nov 2010
Compatibility Stable version. Varying results on different Windows versions
Description / note Recompiled with Visual C++ 2008. Changed command line handling.
I offer professional services in software development, databases, data manipulation and writing. Find out more at IanSharpe.com.
IanSharpe.com and other sites I manage are hosted at DigitalOcean. I am happy to recommend this company for Linux VPS hosting.
I get a commission if you open an account through this link and stay a while. DigitalOcean will credit $10 when you add a payment method. That gets you a generous slab of Linux-based VPS hosting for nothing and helps support this site.
This is the personal web site of Ian Sharpe, a software developer and writer based in Bath, United Kingdom.
Before taking up software development full-time I had a career in computer magazine publishing. A hobbyist obsession with programming diverted me into magazines from an even earlier career in railway civil engineering. That was in 1986 and for the next 16 years I was a writer and editor on high-profile titles. Some visitors may remember me from publications of yore such as PC Plus, PC Answers, PC Today and CPC Computing.
Much of the material on this site originates from that period and was written to fill column inches to short dealines. I created the software as an adjunct to the writing so not a lot time was spent on it!
There used to be a lot more (I reckon I wrote over a million words over my magazine career) but I drop items that become too outdated. The remainder survives while it stays popular, which remarkably it does.
And so the articles do not represent current interests or recent experience although I occasionally refresh them with new material.
There is no binding theme, just whatever came into my head to publish. Hence '@random'. That said, several pages deal with aspects of randomness. I don't know how that came about and it certainly wasn't a plan.
Some of my publishing experiences were exceptionally satisfying and many were great fun. But the world changed and the tide turned against the big-circulation magazines of the eighties and nineties. The gravy train was running out of juice and it was time to disembark, re-invent and move on.
I had an ambition to write software professionally. I also had some ability, always having done it as a sideshow to my writing. I got my first magazine job partly on the strength of my ability to crank out publishable code in Z80 assembly language and Basic. Over the years I edited reams of programming tutorials in a variety of languages written by some very capable people.
So I switched career once more and spent five years as a developer at a busy digital printing outfit.
Now I work freelance, dividing my time between projects at local technical software/electronics company Dot Software and whatever else I am engaged in. My professional services site is www.iansharpe.com.
Because my personal site is mostly old material, writing emails about it is not my favourite activity. Even 'quick' questions can take longer to answer than you might expect. It feels rude not to reply and sometimes I will respond, but forgive me if I do not.
If there is a real problem (or opportunity!) my address is firstname.lastname@example.org.
The download is in progress and should be visible soon.