| Platform SDK: Web Telephony Engine |
A TAPI 3.0 device supports a component called the media service provider (MSP) that controls the media stream for the device. The MSP provides a programming interface consisting of a set of COM objects that applications can use to control media transport during a call. You can access these objects from a WTE application by using scripts. For more information about the MSP, see Microsoft Telephony Overview.
An MSP object that is particularly useful in a WTE application is the Stream object. An application can use this object to retrieve information about a media stream, to start, pause, or stop the stream, and to select or unselect terminals on a stream. A WTE application can retrieve a collection of all currently available Stream objects by following these steps:
To retrieve the Stream collection
The following example shows how to use VBScript to get the stream collection:
IIDStreamControl = "{EE3BD604-3868-11D2-A045-00C04FB6809F}"
Set myDispMapper = CreateObject("DispatchMapper.DispatchMapper.1")
Set myBasicCallControl = window.external.ITBasicCallControl
Set myStreamControl = myDispMapper.QueryDispatchInterface(IIDStreamControl,
myBasicCallControl)
Set myAllStreams=myStreamControl.Streams
For Each pITStream in myAllStreams
stringOutput = "Found Stream: " & pITStream.MediaType
MsgBox stringOutput
window.external.LogCustomField.DefaultValue = stringOutput
window.external.log()
window.external.LogCustomField.DefaultValue = ""
pITStream.StopStream
Next
The following example shows how to use JScript to get the stream collection:
IIDStreamControl = "{EE3BD604-3868-11D2-A045-00C04FB6809F}";
myDispMapper = new ActiveXObject("DispatchMapper.DispatchMapper.1");
myBasicCallControl = window.external.ITBasicCallControl;
myStreamControl = yDispMapper.QueryDispatchInterface(IIDStreamControl,
myBasicCallControl);
myAllStreams=myStreamControl.Streams;
for (i = 1; i <= myAllStreams.Count; i++) {
pITStream = myAllStreams.Item(i);
stringOutput = "Stream is "+ typeof(pITStream);
window.external.LogCustomField.DefaultValue=stringOutput;
window.external.log();
window.external.LogCustomField.DefaultValue = "";
stringOutput = "Found Stream: " + pITStream.MediaType;
window.external.LogCustomField.DefaultValue = stringOutput;
window.external.log();
window.external.LogCustomField.DefaultValue = "";
}