Where can I find TAPI code/reference for VBA?

J

John

Greetings and Merry Christmas!

I am looking for some references and code samples to access TAPI.

Here are the functions I want to find out about.

I am looking for how to Disconnect a call (using TAPI)

How to count the number of rings (is this possible?) and display how many
rings have occurred since dialing.

I would "like" to use excel as the only app I need to use (instead of
switching to dialer to end call). I am trying to make a PIM that I can
customize.

I would alos like to trap "Caller ID" info if possible!

I have not been able to find this info...

I am currently using Phone Dialer 1.50. as my access to tapi.
I am using Excel 2002 and Win XP


Here is my code for making the call:
Option Explicit

Declare Function tapiRequestMakeCall Lib "tapi32.dll" _
(ByVal stNumber As String, ByVal stDummy1 As String, _
ByVal stDummy2 As String, ByVal stDummy3 As String) As Long
Public Const ID_CANCEL = 2
Public Const MB_OKCANCEL = 1
Public Const MB_ICONSTOP = 16, MB_ICONINFORMATION = 64

Function DialNumber(PhoneNumber, Optional vName As Variant)
Dim Msg As String, MsgBoxType As Integer, MsgBoxTitle As String
Dim RetVal As Long
' Ask the user to pick up the phone.
Msg = "Please pickup the phone and click OK to dial " _
& Chr(13) & Chr(13) & PhoneNumber & " " & vName
RetVal = tapiRequestMakeCall(PhoneNumber, "", vName, "")
If RetVal < 0 Then
Msg = "Unable to dial number " & PhoneNumber
GoTo Err_DialNumber
End If
Exit Function
Err_DialNumber: 'This is not an On Error routine.
Msg = Msg & Chr(13) & Chr(13) & _
"Make sure no other devices are using the Com port"
End Function
 
A

Andreas Marschall [MVP TAPI]

John @johnsonclan.net> said:
Greetings and Merry Christmas!

Merry Christmas too.

I am looking for some references and code samples to access TAPI.

See MS TAPI sample from P-SDK.
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

I am looking for how to Disconnect a call (using TAPI)

With Assisted Telephony (tapiRequestMakeCall) you can only initiate making a
call.
You can not control the call (e.g. drop it) via Assisted Telephony.
Only the call manager application that actually makes the call can provide
further control over that call.
If you want full control over a call you have to implement a full TAPI
application, i.e. do lineIntializeEx, lineOpen, lineMakeCall and process the
LINE_xxx messages. This is the TAPI 2 approach.
On W2k, XP and WS2k3 you have additionally TAPI 3 with a COM interface.
See samples mentioned above and play around with TAPI Browsers TB20 / TB3x:

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

How to count the number of rings (is this possible?) and display how many
rings have occurred since dialing.

Yes, you should receive a LINE_LINEDEVSTATE (LINEDEVSTATE_RINGING) message:
TAPI Service Providers notify applications on each ring cycle by repeatedly
sending LINE_LINEDEVSTATE messages containing this constant. For example, in
the United States, service providers send a message with this constant every
six seconds.
Test it with TB20.
You have to enable this message by lineSetStatusMessages().

I would alos like to trap "Caller ID" info if possible!

You can find the caller ID string at LINECALLINFO.dwCallerIDOffset/Size when
LINECALLINFO.dwCallerIDFlags contains LINECALLPARTYID_ADDRESS.
You can retrieve this structure by lineGetCallInfo() for a new call and on any
changes notified via LINE_CALLINFO(LINECALLINFOSTATE_CALLERID) message.
Test it with TB20.


It is recommended to post TAPI questions only to the managed TAPI newsgroup:
microsoft.public.win32.programmer.tapi

--
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.
 
J

John

It appears that the links provide info for VISUAL bASIC, BUT not FOR Visual
Basic for Applications. Can I still use the same code sequences? It looks a
LOT differenent!

TIA


Andreas Marschall said:
John @johnsonclan.net> said:
Greetings and Merry Christmas!

Merry Christmas too.

I am looking for some references and code samples to access TAPI.

See MS TAPI sample from P-SDK.
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
I am looking for how to Disconnect a call (using TAPI)

With Assisted Telephony (tapiRequestMakeCall) you can only initiate making a
call.
You can not control the call (e.g. drop it) via Assisted Telephony.
Only the call manager application that actually makes the call can provide
further control over that call.
If you want full control over a call you have to implement a full TAPI
application, i.e. do lineIntializeEx, lineOpen, lineMakeCall and process the
LINE_xxx messages. This is the TAPI 2 approach.
 
C

Chip Pearson

John,

Broadly speaking, code for Visual Basic will work fine in VBA.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top