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

Making a phone call using TAPI from a delphi App

1,001 views
Skip to first unread message

Robert Priestley

unread,
Jul 12, 2006, 11:01:59 AM7/12/06
to
Hi,

I have not utilised any TAPI functions before so am near the bottom of a
steepish learning curve.
Here is what I am trying to achieve: We have a customer with a Samsung CTI
phone system that is currently being used by Act! to make phone calls at the
click of a button from user client PC's. These PC's are setup to talk to a
Server via the "TCMSetup /C servername" command. This server is connected to
the samsung CTI phone system by a serial port. I am trying to get a test App
written
in Delphi to dial from a users phone in a similar way.

Given that Act! is able to dial from a users phone, I was kind of hoping
that the mechanism was already in place and that I could use the
TAPI3_tlb.pas routines to request a call. I have tried using the Assisted
Telephony
TAPI method RequestMakeCall exposed by the ITRequest interface. Unfortunatly
all this does is invoke the windows dialler and fails to dial a number.

The client has just called and said that if he first sets up line options,
use line, in the windows dialler then my test APP does make a call, but the
windows dailer then also picks up other incoming calls which is not
desirable.

Apparently, in ACT!, the customer has a option to set which is their phone
line/extension. My call to RequestMakeCall simply supplies a number to call.

Basically, I feel I am missing something very important here, ie the ability
to select the extension no that is mine and somehow pass this to a TAPI
call.

If anyone can help me out at all here, I would be very grateful.

Thanks,

Rob.


Andreas Marschall [MVP TAPI]

unread,
Jul 12, 2006, 11:55:41 AM7/12/06
to
"Robert Priestley" <RPries...@SpamVecta.net> schrieb im Newsbeitrag
news:u6SFhQcp...@TK2MSFTNGP03.phx.gbl...

> Here is what I am trying to achieve: We have a customer with a Samsung CTI
> phone system that is currently being used by Act! to make phone calls at the
> click of a button from user client PC's. These PC's are setup to talk to a
> Server via the "TCMSetup /C servername" command. This server is connected to
> the samsung CTI phone system by a serial port. I am trying to get a test App
> written
> in Delphi to dial from a users phone in a similar way.

Robert,
please take a look at the JulMar TAPI test tools Phone.exe et al.
The JulMar tools are available as open source (C/C++).
See my TAPI and TSPI FAQ:
Q: Is there any sample code available ?
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_Is_there

--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK
TAPI / TSP Developer and Tester
My TAPI and TSPI FAQ:
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
My Toto® Tools (a collection of free, mostly TAPI related tools):
http://www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm
TAPI development around the world (Frappr! map):
http://www.frappr.com/TAPIaroundTheWorld
* 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.

Robert Priestley

unread,
Jul 12, 2006, 1:57:17 PM7/12/06
to
Thanks for your reply Andreas.

I will look at this tomorrow.

Rob.

Andreas Marschall [MVP TAPI]

unread,
Jul 12, 2006, 4:58:12 PM7/12/06
to
Robert Priestley" <r...@nospam.co.uk> schrieb im Newsbeitrag
news:eBxd$ydpGH...@TK2MSFTNGP05.phx.gbl...> Thanks for your reply Andreas.

>
> I will look at this tomorrow.

Rob, you are welcome.

Robert Priestley

unread,
Jul 14, 2006, 10:14:25 AM7/14/06
to
Hi Andreas,

I think that I may be getting somewhere now. I will utilise the JulMar test
apps on customer site next week.

As far as getting an app of my own to make a call using TAPI, I have been
studying the MS online TAPI documentation and looking at the JulMar source
code (I haven't done any C for over 7 years now and am a tad rusty).

What I amdoing now is as follows: Taken from
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tapi/tapi3/select_an_address.asp
1 - Get an ITTapi interface and initialse it.
2 - Get the available addresses from this ITTapi interface (by using
IEnumAdresses returned by call to IITapi.EnumerateAddresses). This gives me
a list of available TAPI devices as far as I can see.
3 - Create an ITBasicCallControl interface and pass it a number to call.
4 - Select a terminal - this bit I'm unsure of, does this select the number
of the phone extension that I wish to make the call from?
5 - Call BasicCallControl.Connect to dial the number.

If you could confirm or otherwise that I am understanding this correctly,
that would be great.

Many thanks.

Rob.

"Andreas Marschall [MVP TAPI]" <Andreas....@I-B-A-M.de> wrote in
message news:%23HhpkXf...@TK2MSFTNGP04.phx.gbl...

Andreas Marschall [MVP TAPI]

unread,
Jul 16, 2006, 6:07:16 PM7/16/06
to
"Robert Priestley" <RPries...@SpamVecta.net> schrieb im Newsbeitrag
news:eaKnR$0pGHA...@TK2MSFTNGP04.phx.gbl...

> What I amdoing now is as follows: Taken from
>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tapi/tapi3/select_an_address.asp
> 1 - Get an ITTapi interface and initialse it.
> 2 - Get the available addresses from this ITTapi interface (by using
> IEnumAdresses returned by call to IITapi.EnumerateAddresses). This gives me
> a list of available TAPI devices as far as I can see.
> 3 - Create an ITBasicCallControl interface and pass it a number to call.
> 4 - Select a terminal - this bit I'm unsure of, does this select the number
> of the phone extension that I wish to make the call from?
> 5 - Call BasicCallControl.Connect to dial the number.
>
> If you could confirm or otherwise that I am understanding this correctly,
> that would be great.

Rob,
if you don't do any media streaming then you don't need to select any
terminals/streams - so 4) is obsolete.
BTW when using MS TAPI Client/Server (i.e. TCMsetup.exe and RemoteSP.TSP) then
media streaming isn't available anyway at the clients even if it is on the
server for the same device.

The selection which device is to be used is implicitely done by the selection
of the ITAddress object.
See ::getAddressName() and ::get_ServiceProviderName().

Try it with TAPI Browser TB20 / TB3x before starting to code anything
yourself.

See my TAPI and TSPI FAQ:

Q: Where can I download TAPI Browser ?
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_Where_can

Q: Is there a user guide available for TAPI Browser TB20 ?
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_Is_there_1

Q: Is there a user guide available for TAPI Browser TB3x ?
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_Is_there_2

Q: How do I initialize TAPI with TAPI3 ?
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_How_do_4

Q: How do I select an address with TAPI3 ?
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_How_do_5

Q: How do I register events with TAPI3 ?
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_How_do_6

Q: How do I make a call with TAPI3 ?
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_How_do_8

Robert Priestley

unread,
Jul 17, 2006, 6:16:56 AM7/17/06
to
Hi Andreas,

Thanks again for your response. After a lot of head scratching and
re-reading of MSDN online docs, I came to the conclusion that I did not need
to code any terminal stuff, but good to have you confirm it.

I can now get the list of available Address objects in my test code.
Selecting this ITAddress then allows me to get an ITBasicCallControl via the
Address.CreateCall. This then allows me to call BasicCallControl.Connect.

So, I think that I am almost there, just need to get customer to test this
for me, which now seems to have become the hardest part of this project.

I will look at TapiBrowser stuff as suggested.

Many thanks.

Rob.

Andreas Marschall [MVP TAPI]

unread,
Jul 17, 2006, 10:08:25 AM7/17/06
to
"Robert Priestley" <RPries...@SpamVecta.net> schrieb im Newsbeitrag
news:OXa$ioYqGH...@TK2MSFTNGP04.phx.gbl...

> Hi Andreas,
>
> Thanks again for your response. After a lot of head scratching and
> re-reading of MSDN online docs, I came to the conclusion that I did not need
> to code any terminal stuff, but good to have you confirm it.
>
> I can now get the list of available Address objects in my test code.
> Selecting this ITAddress then allows me to get an ITBasicCallControl via the
> Address.CreateCall. This then allows me to call BasicCallControl.Connect.
>
> So, I think that I am almost there, just need to get customer to test this
> for me, which now seems to have become the hardest part of this project.
>
> I will look at TapiBrowser stuff as suggested.
>
> Many thanks.

Rob, you are welcome.
Thanks for the feedback.

For testing your app you may want to post a link here for download.

Robert Priestley

unread,
Jul 17, 2006, 10:48:16 AM7/17/06
to
Ok, my last post here regarding this.

It works! . . . superb, customer is delighted.

I also feel like I understand how it all works now.

Andreas, you website is a truly excellent resource for TAPi info.

Thanks.

Rob.

"Andreas Marschall [MVP TAPI]" <Andreas....@I-B-A-M.de> wrote in

message news:ubcf9paq...@TK2MSFTNGP05.phx.gbl...

fdecker...@aol.com

unread,
Jul 17, 2006, 12:15:39 PM7/17/06
to
Hello Robert,

Sorry I didn't see this earlier. TeleTools is written in Delphi, has a
native VCL for all versions of Delphi, and we know a lot about working
with our PBX :) You might also want to take a look at our TeleScope
utility which gives you just about anything you can imagine about your
PBX. TeleScope has a trial version that will operate for 10 minutes at
a time. We have some new tools that also make most functions one or
two lines of code. If you need help with PBX functions, since they are
a bit more complex than a 1 line analog device, let us know

Fred
www.exceletel.com
"Makers of TeleTools and TeleScope telephony development tools"

Robert Priestley

unread,
Jul 18, 2006, 3:32:57 AM7/18/06
to
Hi Fred,

Thanks for this and your offer of help with PBX functions.I may look at
using your components should we decide to add more advanced telephony
functionality into our application. For now we just need the ability to make
a call. MSDN documentation takes a bit of sifting thro' and most examples
are in C++ but Tapi3 type library provides the developer with virtually
everything they need and we have this working now with not very much code.

I see you are in Raleigh, North Carolina, I worked out their for a while in
2000 and almost moved there permanently, lovely place.

Thanks again.

Rob.

<fdecker...@aol.com> wrote in message
news:1153152939.5...@m73g2000cwd.googlegroups.com...

0 new messages