I was going through one of the post in this group and Grant Schenck has
suggested this:
"Regarding web app, this would imply that you communicate with a SERVER
based TAPI service provider. This would presumably be an ASP app which your
web pages would use to communicate server based TAPI Service Provider
provided by your phone vendor.
I built something like this for ASP where I communicated with a COM object
which supported make call features. When a customer clicked call me on a
form it would call an agent queue, wait to be picked up by an agent and then
blind transfer it's end of the call to a customer number. "
Taken from the Post :-
http://groups.google.com/group/microsoft.public.win32.programmer.tapi/browse_thread/thread/b7275af08a4f3454/94675ae7ef4a7152?lnk=st&q=tapi+web+app&rnum=2&hl=en#94675ae7ef4a7152
But I am not sure how to do this. Calling a COM Object???
Please desperately need help.
Thanks,
Ruchi
I did this for a client with 5,000 phones spread across several offices in
NY and NJ.
I installed my application as a service which exposed an interface via a
named-pipe. I had an IIS extension field the request from the client's
browser. It composed a message to the service which it sent through the
service's pipe. The service called the client, called the ultimate
destination number and then conferenced the two calls together.
It sounds involved I know, but when we tested this in-house, the ultimate
destination number would ring before the client at the PC could bring the
handset to his ear.
Regards.
Will
www.ivrforbeginners.com (Telephony and speech without tears <g>)
Thanks
Ruchi
Thanks,
Ruchi
"William DePalo [MVP VC++]" wrote:
You are welcome.
> Ok, so I need to create a Web -service which will handle all the TAPI
> functions like initialization, making the call and disconnecting the call.
I'm not telling _you_ how to design your application. I am telling you how I
designed _mine_. <g>
First among my client's requirements was scalability. They definitely wanted
an enterprise class solution. So I picked the way I though would scale best.
> How to expose an interface via a named pipe?
> I know nothing about the named pipe?
Then you don't have to use one.
FWIW: A pipe is an interprocess communication mechanism that Windows
provides. I like them because they are can be
1) secured
2) used for impersonation
3) message rather than stream oriented
4) fast
Personally, and others are free to disagree, I'd never do telephony in a web
application. I'd never do web stuff in a telephony application. The pipe
provided the path used to pass requests from the component that interfaced
with the web to the one (my service) that interfaced with the telephone
network. I sent the responses from the telephony service back across the
same pipe.
> And from my web application, I need to send the "Contact number"
> to this web service. Correct?
> Can you please elaborate a little bit?
In my application, I sent information about two telephone numbers as well as
information as to who requested the call so that a trail could be left for
billing purposes. The service mad calls to each number and conferenced them.
> Thanks
You are welcome.
That's right. TAPI is officially unsupported by Microsoft if one proceeds in
the most obvious way - i.e. by using the COM-Callable Wrappers (CCW) to
access the COM based version 3 of TAPI.
But there is no reason why you can not P/Invoke the TAPI 2 API from a .Net
application in C# or VB.Net or Delphi.Net or anything else.
I do it all the time. But I do it from managed wrapper classes which expose
an API whose implementation relies on the Platform/Invocation stuff in .Net.
The low-level details are well hidden from the rest of my application.
You should be able to find some .Net TAPI samples on the web.
Regards,
Will
Angus
"Ruchi" <Ru...@discussions.microsoft.com> wrote in message
news:C0DEA508-BCD7-48DF...@microsoft.com...
"Ruchi" <Ru...@discussions.microsoft.com> wrote in message
news:B3216EC4-9ACC-40EA...@microsoft.com...
"William DePalo [MVP VC++]" wrote:
You won't find all of what you need in one sample.
<Just opinion>
The problem with web applications is that they are essentially stateless.
You can use cookies and keep alive connections and what not, but mostly they
don't have a lot of state.
Any application that makes telephone is stateful.
Because they are so different, it makes sense to me to split the two halves
of the system and to put an interprocess communication mechanism (I used a
pipe) between them
</Just my opinion>
Regards,
Will
In my case, I had several methods, an initialize and shutdown (Which I call
from my ASA page) and the actual dialandtransfer which is called from ASP
pages.
--
Grant Schenck
http://grantschenck.tripod.com/
"Ruchi" <Ru...@discussions.microsoft.com> wrote in message
news:03F17F1B-7817-435C...@microsoft.com...
"William DePalo [MVP VC++]" wrote:
Sure, MSDN is the fountain of knowledge of all things Windows. It documents
pipes here:
http://windowssdk.msdn.microsoft.com/en-us/library/ms690528.aspx
It has an example of a multithreaded pipe server application here:
http://windowssdk.msdn.microsoft.com/en-us/library/ms690522.aspx
> Thanks,
You are welcome.
Regards,
Will