Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

C# - TAPI Question

Posted on 2007-03-29
7
Medium Priority
?
354 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 2000 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
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Introduction Although it is an old technology, serial ports are still being used by many hardware manufacturers. If you develop applications in C#, Microsoft .NET framework has SerialPort class to communicate with the serial ports.  I needed to…
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
Suggested Courses

636 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