Re: Definitive Answer
- From: "William DePalo [MVP VC++]" <willd.no.spam@xxxxxxxx>
- Date: Tue, 25 Apr 2006 22:52:28 -0400
<newsgroups@xxxxxxxxxxxxxxxxxx> wrote in message
news:1146018491.831328.198170@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
I would like to write a windows TAPI service that makes and answers
calls, and plays a wav file down the line, using VB.NET 2005 and a
voice modem.
So far, I have not seen anywhere that tells me that this is possible.
I can write a standard Winforms program (with an interop to TAPIEx),
but I need the service to run at all times, not just when the machine
is logged in. I don't want to use the API as I do not have the time to
wade through it.
I need to know:
a) can this be done?
b) if (a), if there's a managed code component or COM dll that will
talk to TAPI 3.x that will run within a service
c) if (a) but not (b), then are there any detailed examples using the
TAPI 3.x API and VP / VB.NET only.
I would appreciate a definitive answer from any other developers or
MVP's, or even from component developers.
Well, to answer in general terms, when discussing software it is almost
always just a question of time and money. :-)
To answer in specific terms, I have a written a service that handles
incoming calls, launches the applications bound to them, detects DTMF keypad
input, plays and records messages, synthesizes speech and does speech
recognition. It doesn't make outbound calls but there is no reason why it
could not. I support VB.Net applications by hosting the CLR in C++.
The definitive answer is yes, it is possible.
That's the good news. The bad news, is that it is a lot of work.
In a perfect world, you'd be able to use the COM-based version 3 of TAPI and
..Net's COM-callable wrapper facility (CCW) to consume TAPI v3 COM objects in
an managed assembly. There is a knowledge base article (the link is on
Andreas' FAQ) that says that Microsoft doesn't support that (IMO, presumably
because it doesn't work reliably).
So, an option for you would be to use .Net's Platform Invoke capability to
call the functions in the TAPI32 DLL. P/Invoke is available with any .Net
language and as C# "knows" about pointers it is emminently doable. I don't
know how easy that would be in VB.Net.
Regards,
Will
.
- Follow-Ups:
- Re: Definitive Answer
- From: Matthias Moetje [MVP]
- Re: Definitive Answer
- From: newsgroups@xxxxxxxxxxxxxxxxxx
- Re: Definitive Answer
- References:
- Definitive Answer
- From: newsgroups
- Definitive Answer
- Prev by Date: Definitive Answer
- Next by Date: Re: Definitive Answer
- Previous by thread: Definitive Answer
- Next by thread: Re: Definitive Answer
- Index(es):
Relevant Pages
|