Discussion:
Replacing dialer.exe
(too old to reply)
Dave
2005-06-16 19:13:35 UTC
Permalink
We recently installed a TAPI compliant phone system (Sphere). Now, we
want to dial the phone using our TAPI compliant CRM software (Pivotal).
Unfortunately, Pivotal uses the standard TAPI api, which invokes
dialer.exe to make phone calls, and the annoying popups that dialer
pops up when you make a call (and even worse, when the phone rings when
an incoming call comes in) - are unacceptable (along with some other
annoyances with dialer.exe).

I'm a programmer, but am new to TAPI. I assume it's doable to replace
dialer.exe with something else without the popups, etc - and could
probably figure out how to do it. But - I'm hoping that this has
already been done. Surely others have been annoyed enough with dialer
to create a replacement (?). About an hour searching on the web turned
up nothing, though.

So: question - are there replacements for dialer.exe available? All I
want is that when someone attempts to make a call from our CRM
software, that the phone is taken off hook and the phone is dialed - no
popups or sounds from the PC, please.

Thanks!

- Dave
Grant Schenck
2005-06-16 19:32:48 UTC
Permalink
This would depend on what level of configuration Pivotol allows with reagard
to a dialer application.

For outbound calling, if Pivotal is popping up the MS Dialing application
then it sounds like it is using the assisted telephony APIs. Specifically
if you look at the documentation of the tapiRequestMakeCall function you can
read about this type of TAPI application.

However, you also mention issues with incoming calls. Does the MS Dialer
pop in that scneario? If not, what is your issue there?

In anycase, assuming you are mainly dealing with outbound calling then the
option is to write your own dialer application which would still be invoked
by Pivotol using tapiRequestMakeCall.

The other option is if Pivotol has some way for you to program your own CTI
interface in which case you can use all of the features which your Sphere
TAPI Service Provider (TSP) supports that are appropriate.

Provide some more details and we can elaborate more.
--
Grant Schenck
http://grantschenck.tripod.com
Post by Dave
We recently installed a TAPI compliant phone system (Sphere). Now, we
want to dial the phone using our TAPI compliant CRM software (Pivotal).
Unfortunately, Pivotal uses the standard TAPI api, which invokes
dialer.exe to make phone calls, and the annoying popups that dialer
pops up when you make a call (and even worse, when the phone rings when
an incoming call comes in) - are unacceptable (along with some other
annoyances with dialer.exe).
I'm a programmer, but am new to TAPI. I assume it's doable to replace
dialer.exe with something else without the popups, etc - and could
probably figure out how to do it. But - I'm hoping that this has
already been done. Surely others have been annoyed enough with dialer
to create a replacement (?). About an hour searching on the web turned
up nothing, though.
So: question - are there replacements for dialer.exe available? All I
want is that when someone attempts to make a call from our CRM
software, that the phone is taken off hook and the phone is dialed - no
popups or sounds from the PC, please.
Thanks!
- Dave
Dave
2005-06-16 20:12:59 UTC
Permalink
Hi, Grant.

Thanks for the reply!

Yes -that's right - Pivotal must be using tapiRequestMakeCall().
Regarding incoming calls - if Dialer.exe is running, it will pop up
whenever I take the phone off the hook. Very annoying. Even if
Pivotal didn't have the popups on outgoing calls, I'd want to get rid
of dialer because of the popups on incoming calls anyway. Also, if
dialer is running when the phone rings, I get a bunch of beeps coming
from the computer, that sound kind of like a keyboard buffer overrun
sound. Also not pleasant.

So, regarding writing my own dialer application - hasn't that already
been done? I'd think many (most?) people would want to make it do what
I want. I guess what I want is a dialer that you can turn off the
"assistance" when using the assisted telephony API's. If what I want
hasn't been done exactly, could you point me to some source code or
docs that would get me started in writing my own dialer.exe? My
language of choice would be C++ or C#, next VB.

- Dave
William DePalo [MVP VC++]
2005-06-17 00:00:35 UTC
Permalink
Post by Dave
So, regarding writing my own dialer application - hasn't that
already been done?
Yup. In fact you find the source to a dialer that looks to my eyes alot like
the one distributed with '95 is in the

Samples\netds\Tapi\Tapi2\Dialer

subdirectory of the Platform SDK. It demonstrates what you need to do to
make calls at the lowest level.

As far as pushing the dialer applet out of the way take a look at the
registry key:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Telephony\HandoffPriorities

You will find that it has a string value named

RequestMakeCall

with a value of

DIALER.EXE

I think that if you edit the registry to point to your own executable that
your CRM system may well invoke it. It is not something I have tried though,
so make sure you backup the registry branch before you modify it.

Regards,
Will
Andreas Marschall [MVP TAPI]
2005-06-17 14:26:25 UTC
Permalink
Post by William DePalo [MVP VC++]
As far as pushing the dialer applet out of the way take a look at the
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Telephony\HandoffP
riorities
Post by William DePalo [MVP VC++]
You will find that it has a string value named
RequestMakeCall
with a value of
DIALER.EXE
I think that if you edit the registry to point to your own executable that
your CRM system may well invoke it. It is not something I have tried though,
so make sure you backup the registry branch before you modify it.
In addition the OP may want to take a look at lineRegisterRequestRecipient().
Please see some related discussion at Google:
http://groups-beta.google.com/groups?hl=en&q=lineRegisterRequestRecipient+group%3Amicrosoft*+author%3AAndreas+author%3AMarschall
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK
TAPI / TSP Developer and Tester
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
* Please post all messages and replies to the newsgroup so all may
* benefit from the discussion. Private mail is usually not replied to.
* This posting is provided "AS IS" with no warranties, and confers no rights.
Dave
2005-06-17 19:33:54 UTC
Permalink
Ok, I just looked at the sample code in the Platform SDK. It gives me
something to go on, but - yikes! - that's some old code. It's Windows
3.0 era "C" code. Isn't there any more recent sample code? Or, even
better, isn't there a completed dialer replacement that doesn't have
the popups?
- Dave
William DePalo [MVP VC++]
2005-06-18 01:54:13 UTC
Permalink
It's Windows 3.0 era "C" code.
... which is not at all unusual for an SDK sample. Most of the SDK is
"compiler neutral" (my words) and so not tied to MFC, ATL, WTL of MS or
anyone else's C++ framework. Also note that while the sample is written in
SDK C style, it _is_ a Win32 application.
Isn't there any more recent sample code?
In response to an old question here, I put together the C++ sample below
that uses the COM based Telephony API version 3. It takes advantage of MS's
C++ compiler's ability to create wrapper classes from COM type libraries.

In the main module it places a telephone call in one line of code. That code
requires the name of a line and a dialable number.

It is much shorter than the sample to which I pointed you earlier but it
also does much less.
isn't there a completed dialer replacement that
doesn't have the popups?
A word to the wise: Samples demonstrate the use of the technology. Almost
none are "production ready".

Regards,
Will

#pragma warning ( disable : 4192 )

#define _WIN32_WINNT 0x0400
#include <windows.h>

#import <tapi3.dll>
using namespace TAPI3Lib;

extern "C" const CLSID CLSID_TAPI;

// Searches for a line and makes a call to the requested number on it

void MakeTapiCall(_bstr_t &bstrLine, _bstr_t &bstrNumber)
{
ULONG ul;
_bstr_t name;
HRESULT hr;
ITTAPIPtr pTapi;
ITAddressPtr pAddress;
IEnumAddressPtr pEnumAddress;
ITBasicCallControlPtr pCall;

// Initialize TAPI

hr = pTapi.CreateInstance(CLSID_TAPI);
hr = pTapi->Initialize();

// Look for the requested line

pEnumAddress = pTapi->EnumerateAddresses();

while ( pEnumAddress->Next(1, &pAddress, &ul) == S_OK )
{
name = pAddress->AddressName;

if ( name == bstrLine )
break;

pAddress.Release();
pAddress = 0;
}

// If the line was found, then make a call

if ( pAddress )
{
pCall = pAddress->CreateCall(bstrNumber,
LINEADDRESSTYPE_PHONENUMBER,
TAPIMEDIATYPE_AUDIO);

// Make the call

hr = pCall->Connect(true);

// Wait a while - do something sensible here
// while the call is ongoing

Sleep(10000); // This isn't all that sensible

// Hangup

hr = pCall->Disconnect(DC_NORMAL);
}

// Shutdown TAPI

hr = pTapi->Shutdown();
pTapi.Release();
}

int main()
{
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);

MakeTapiCall( _bstr_t("56Kbps Internal Modem"),
_bstr_t("2017773456") );

CoUninitialize();
}
Dave
2005-06-20 15:37:11 UTC
Permalink
Thanks, William! That's more like it. I ~can~ handle the C code -
I've been developing Windows apps since 89, in the days of Petzold and
Windows 2.11 - but I prefer to use more modern techniques. This is
more like it.

I'd still prefer to not have to write anything at all - and just have a
pre-written app that I can use. I'd even pay for it. Seems like
someone would have done that. But, I guess not (?).

Thanks again.

- Dave
Andreas Marschall [MVP TAPI]
2005-06-20 15:42:38 UTC
Permalink
Post by Dave
Thanks, William! That's more like it. I ~can~ handle the C code -
I've been developing Windows apps since 89, in the days of Petzold and
Windows 2.11 - but I prefer to use more modern techniques. This is
more like it.
Dave,
Regarding TAPI and .NET see KB article "841712 - Telephony Application
Programming Interface (TAPI) functionality is not supported from managed
code".
See my TAPI and TSPI FAQ:
Q: Are there any KB articles on TAPI available ?
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_Are_there_7
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK
TAPI / TSP Developer and Tester
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
* Please post all messages and replies to the newsgroup so all may
* benefit from the discussion. Private mail is usually not replied to.
* This posting is provided "AS IS" with no warranties, and confers no rights.
William DePalo [MVP VC++]
2005-06-20 19:22:52 UTC
Permalink
Post by Dave
Thanks, William!
You are welcome.
Post by Dave
That's more like it.
Ah, flattery. :-)
Post by Dave
I'd still prefer to not have to write anything at all - and just have a
pre-written app that I can use. I'd even pay for it. Seems like
someone would have done that.
If I were looking, I'd google the net and scan sites like Code Project and
Code Guru.
Post by Dave
But, I guess not (?).
Maybe not. It turns out that this is one of the best places for free TAPI
help.

Regards,
Will
Matthias Moetje
2005-06-20 20:01:34 UTC
Permalink
Dave,

the next version of our product "TERAVoice Server" will have
it's own phone dialing client application, but the beta won't be
out before fall 2005, so if you have some time to wait...
I don't know any other dialing application except Julmar's
phone dialer, maybe you like this one better than dialer.exe.

Best regards,

Matthias Moetje
-------------------------------------
TERASENS GmbH
Ackermannstraße 3
80797 München
-------------------------------------
Fon: +49 89 143370-0
Fax: +49 89 143370-22
e-mail: moetje at terasens dot de
www: www.terasens.de
-------------------------------------
Post by Dave
Thanks, William! That's more like it. I ~can~ handle the C code -
I've been developing Windows apps since 89, in the days of Petzold and
Windows 2.11 - but I prefer to use more modern techniques. This is
more like it.
I'd still prefer to not have to write anything at all - and just have a
pre-written app that I can use. I'd even pay for it. Seems like
someone would have done that. But, I guess not (?).
Thanks again.
- Dave
bluesfan
2005-07-07 13:52:30 UTC
Permalink
Hi,

Did you every find a solution. I found the MS dialer most annoying
too. Looking for a command line dialer as well.

Dave (2)

Continue reading on narkive:
Loading...