connection problem (voice and CallerID)

Aug 19, 2011 at 10:11 AM

I downloaded the sample code form this discussion. I am able to start session, dial number successfully, monitor incoming calls. But what I am unable to get is the voice, neither incoming nor outgoing voices are listened in either terminal. Also I want to get the calling party number. In the new form after incoming call,  I can see the callerID option, but it remains
Can anyone out there help me?


Mar 7, 2012 at 12:32 PM

To get voice data with TAPI 2.x (what ATAPI wraps), you need to interop to the wave multimedia APIs.  ATAPI doesn't do any of that work - it does expose the wave handle (TapiCall.GetWaveInDeviceId() and TapiCall.GetWaveOutDeviceId()).  You can get those two identifiers and then interop to waveOpen() to access the wave data.  It's a huge pain, but that's what Microsoft offered for this version.  A better alternative would be to use TAPI 3.0 which was the COM version of TAPI and was specifically designed for media management, not just call control.  See for a simple .NET wrapper for that version.


Jun 14, 2013 at 8:17 PM
I have the same problem with CallerID, I can receive new call, but callerID is empty, Cannot I access it using ATAPI ?
Jun 14, 2013 at 8:26 PM
Yes you can. My guess is it's not populated right away - this happens on your normal phone too - CID is delivered between the 1st and 2nd ring. You need to hook the CallStateChanged event on the new call and watch it for changes to the caller id field.