Solved

C# - TAPI Question

Posted on 2007-03-29
7
338 Views
Last Modified: 2008-01-09
Hi guys 'n gals,

I have a phone line attached to my computer's modem, I would like to make a bit of software which will, detect when a phone rings up the line connected to the computer, and tell me the number of the caller. Anybody have any ideas on this?

Cheers!
0
Comment
Question by:Cyber-Drugs
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
7 Comments
 
LVL 12

Accepted Solution

by:
ShazbotOK earned 500 total points
ID: 18815284
Use the CallNotificationEvent() to capture the CallerID...  This example is in VB.Net but could easily be converted to C# >:)

http://www.codeproject.com/useritems/CShart_TAPI_3x.asp?df=100&forumid=205449&exp=0&select=1190369
0
 
LVL 4

Author Comment

by:Cyber-Drugs
ID: 18815389
Hi,

Thanks for the link, it's quite a large bit of code in there doing numerous different things, am I right in assuming I only need the following?


Import TAPI3Lib

        Private Sub CallNotificationEvent()
            ' here we should check to see various notifications of new and ended calls

            Select Case CallNotificationObject.Event

                Case CALL_NOTIFICATION_EVENT.CNE_MONITOR
                    ' the notification is for a monitored call

                Case CALL_NOTIFICATION_EVENT.CNE_OWNER
                    ' the notification is for an owned call
            End Select

        End Sub




and merely, convert that to C#, or do I need more for what I am trying to achieve?
0
 
LVL 12

Expert Comment

by:ShazbotOK
ID: 18815410
This is the event handler portion that you would need as well to process the event:
        Private CallInfoObject As ITCallInfoChangeEvent
        Private Sub CallInfoEvent()
            ' here you can extract information from the call

            'the code to extract the caller ID
            ' >>> put the following code in a try block and swallow the exception if it gives errors
            Dim CallerID As String
            CallerID = CallInfoObject.Call.CallInfoString(CALLINFO_STRING.CIS_CALLERIDNAME)

        End Sub
0
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

 
LVL 4

Author Comment

by:Cyber-Drugs
ID: 18820412
Sorry to sound a bit daft, but what triggers the function call when the Modem is contacted by an outside phone line? Should I have something checking the status every few seconds, or how does this work?


Cheers!
0
 
LVL 12

Expert Comment

by:ShazbotOK
ID: 18823701
the code example that wz on codeproject creates a "listener" that connects to the TAPI... so you should not need anything more there...
0
 
LVL 4

Author Comment

by:Cyber-Drugs
ID: 18851042
ShazbotOK,

Just to let you know, I haven't forgot about this question, I've just been quite a bit busy, I will hopefully to get to close this question off this evening, if everything goes smoothly.


Thank you for your patience thus far.
0
 
LVL 4

Author Comment

by:Cyber-Drugs
ID: 18913336
Sorry for taking so long to get around to accepting this question, I've been a bit busy with a few other things, thanks for your patience. :o)
0

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

737 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question