Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Creating Tapi Web Application

351 views
Skip to first unread message

Ruchi

unread,
Nov 1, 2006, 11:01:02 AM11/1/06
to
I am new to TAPI and I need to develop an application which will call the
customer by clicking a button on the Web form.
We are using Cisco TSP.
I tried to find some sample on net but nothing related to a creating a TAPI
app for web. Is it possible? If not what are other possibilities. But I need
to have this as an web application.

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

William DePalo [MVP VC++]

unread,
Nov 1, 2006, 11:37:55 AM11/1/06
to
"Ruchi" <Ru...@discussions.microsoft.com> wrote in message
news:B3216EC4-9ACC-40EA...@microsoft.com...

>I am new to TAPI and I need to develop an application which will call the
> customer by clicking a button on the Web form.
> We are using Cisco TSP.

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>)


Ruchi

unread,
Nov 1, 2006, 1:27:01 PM11/1/06
to
Thank you so much for the quick response.
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.
How to expose an interface via a named pipe? I know nothing about the named
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?

Thanks
Ruchi

Ruchi

unread,
Nov 1, 2006, 1:33:02 PM11/1/06
to
Another very Important question. In which language should I make this
application in VB 6 as I have seen many posts which says that TAPI is
unsupported by managed languages like C#, VB.net.

Thanks,
Ruchi

"William DePalo [MVP VC++]" wrote:

William DePalo [MVP VC++]

unread,
Nov 1, 2006, 2:48:28 PM11/1/06
to
"Ruchi" <Ru...@discussions.microsoft.com> wrote in message
news:54A8A88A-EDC1-4BC7...@microsoft.com...

> Thank you so much for the quick response.

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.

William DePalo [MVP VC++]

unread,
Nov 1, 2006, 2:56:22 PM11/1/06
to
"Ruchi" <Ru...@discussions.microsoft.com> wrote in message
news:C0DEA508-BCD7-48DF...@microsoft.com...

> Another very Important question. In which language should I make this
> application in VB 6 as I have seen many posts which says that TAPI is
> unsupported by managed languages like C#, VB.net.

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

unread,
Nov 1, 2006, 4:45:01 PM11/1/06
to
Another way of doing this, and one I am employing at the moment is to have a
socket server application talking to a 3rd party TAPI driver. Then your
client would be a Java applet. The Java applet should only use up to Java
1.1 features as most web browsers only support this. The Java applet is a
socket client. This way your clients can be running on any platform
anywhere in the world that you can communicate with the socket server.

Angus


"Ruchi" <Ru...@discussions.microsoft.com> wrote in message

news:C0DEA508-BCD7-48DF...@microsoft.com...

Grant Schenck

unread,
Nov 1, 2006, 5:09:17 PM11/1/06
to
In my case, I built a COM object which wrapped the TAPI interface. This is
what I called into. The COM object provided simple methods needed to Dial
and Transfer the call.
--
Grant Schenck
http://grantschenck.tripod.com/

"Ruchi" <Ru...@discussions.microsoft.com> wrote in message
news:B3216EC4-9ACC-40EA...@microsoft.com...

Ruchi

unread,
Nov 1, 2006, 6:16:02 PM11/1/06
to
Sorry Don't know Java .. I am Microsoft person ..
Thanks! though

Ruchi

unread,
Nov 1, 2006, 6:31:02 PM11/1/06
to
Do you mean of creating an ActiveX control and used that in the web app.

Ruchi

unread,
Nov 1, 2006, 6:31:03 PM11/1/06
to
I found some .net samples but all were window apps and I need a web app.

"William DePalo [MVP VC++]" wrote:

William DePalo [MVP VC++]

unread,
Nov 1, 2006, 8:54:31 PM11/1/06
to
"Ruchi" <Ru...@discussions.microsoft.com> wrote in message
news:5F058996-7707-48E6...@microsoft.com...

>I found some .net samples but all were window apps
> and I need a web app.

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


Grant Schenck

unread,
Nov 2, 2006, 8:24:49 AM11/2/06
to
Kind of. Just a simple COM object (don't need any visual aspects so ActiveX
is an overkill.)

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.

"Ruchi" <Ru...@discussions.microsoft.com> wrote in message

news:03F17F1B-7817-435C...@microsoft.com...

Ruchi

unread,
Nov 2, 2006, 3:43:01 PM11/2/06
to
William,
Can you tel me what I need to look at if I want to use named pipes in my
application.
Thanks,
Ruchi

"William DePalo [MVP VC++]" wrote:

Ruchi

unread,
Nov 2, 2006, 5:07:02 PM11/2/06
to
Do you have any sample or example on web.

William DePalo [MVP VC++]

unread,
Nov 2, 2006, 6:31:55 PM11/2/06
to
"Ruchi" <Ru...@discussions.microsoft.com> wrote in message
news:8240C93D-2ACE-4F04...@microsoft.com...

> Can you tel me what I need to look at if I want to use named
> pipes in my application.

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


0 new messages