Showing results for 
Search instead for 
Did you mean: 
Walkthrough Wednesdays

TAPI Wave Drivers

This document was generated from CDN thread

Created by: Walid Azab on 13-08-2009 03:42:51 PM
We are trying to write our own call recorder application. I have done some reading and I am just a bit confused with somthing. Does TAPI with the use of WAVE drivers on their own allow for call recording without the need to get involved in RTP capturing and packet manipulation? If this is true, do we still need to implement SPAN/port mirroring to make this work?
I alraedy have written some test applications to do that. We have a CUCM7 installation and installed the TSP drivers and wave drivers on the development machine. However, whenever the application tries to get the playback terminal it fails with a messages (Failed to retrieve PlayBack terminal). I used TAPI3.0 in my tests.
Any ideas?

Subject: RE: TAPI Wave Drivers
Replied by: David Staudt on 13-08-2009 04:46:05 PM
A few points that may be helpful:
- The Cisco TSP/wave driver is not designed/tested/supported for use with the TAPI 3.0 compatibility layer.  Issues are known to exist, especially in the audio area.
- The wave driver allows audio playback/record using the standard Windows MMIO APIs
- The wave driver works only for CTI Ports - acting as the audio termination for the CTI Port virtual phone
- You will not be able to use the wave driver to record calls on a hardware phone (see item above)
Currently recording calls on hardware phones can be accomplished using two mechanisms (each with its own advantages/disadvantages):
- Packet capture : using SPAN or some other mechanism, the application monitors the network stream to/from the phone (or group of phones) in promiscuous mode, filtering out RTP audio packets.  The app can use TAPI's call-control and RTP streaming events to identify call info and media port/codec info in order to filter packets into individual calls.
- Build-in-bridge stream forking : as of UCM6, certain phone models support splitting RTP audio streams to an alternate destination for recording/monitoring.  Such recording can be started/stopped via TAPI  commands, and the split audio streams are sent to the configured recording application as separate ear/mouth SIP calls (app must act as a SIP trunk.)  For further info:  Note this mechanism uses some Cisco extensions to the SIP protocol, which requires a Cisco Developer Services contract (and associated NDA) to access documentation.

Subject: RE: TAPI Wave Drivers
Replied by: Walid Azab on 16-08-2009 11:59:57 AM
Thanks David for your thorough response. Point clear.
I will resort to the second option then and use TAPI to trigger on demand recording. My problem hoever is the ability to use the class LineDevSpecific C++ classes provided. We are using .NET and standard TAPI 2.0 wrappers which has no reference to this extension. So we are having troubles utilizing this extension to use the callrecording functions.
Content for Community-Ad

This widget could not be displayed.