README.TXT


TAPI 3.0
ASYNC Sample Application


Overview:

ASYNC is a sample TAPI 3.0 application that makes outgoing asynchronous
audio (and eventually video) calls.
It was developed using Visual Basic 5.

This sample shows the most basic TAPI 3.0 functionality - finding an
appropriate address object and creating a call on it.


How to use:

To run the ASYNC sample application, simply build and run ASYNC.exe, using
Visual Basic 5.
A dialog box will appear, and the user can type in a destination address
to dial. The user also must indicate the address type (phone number, machine
name, etc). So the destination address must match the selected address type.
Simply select an address type (e.g. "phone number"), type in a destination
address (e.g. a phone number) and press the Dial button.


What functionality does this sample show:

The ASYNC sample application shows how to make an asynchronous outgoing
call with TAPI 3.0 from VB.
It will make an audio call and, if present, video will also be selected
on the call. If no audio capabilities are detected, no call is made at all.


What this sample does not show:

This sample does not allow the user to select the media types or terminals
that the user is interested in.

It also selects an address by picking up the first one that matches the
selected address type and that supports at least the audio media types. So if
there are more addresses that meet this same criteria, only the first address
will be selected, the user cannot choose among them.

The sample does not show how to receive incoming calls.


Hints:

1. In order for this sample to run for each of the possible address types
(phone number, machine name, email name, ip address, conference name), on
the computer there must be installed those service providers that support
these address types: Unimodem for "phone number", H323 for "machine name,
email name, ip address", IPConf for "conference name". Check Control Panel's
Telephony Applet to see which providers are installed and to add new providers.

2. Depending on the selected address type, a certain device must be installed
on the machine, in order for the call to succeed:
- for "phone number": a modem must be installed (either data modem or voice
modem).
- for all other address types: a full duplex sound card must be installed
(or a sound card with a full duplex driver) so that both "audio in" and
"audio out" can be selected on the call in the same time. See also the next
paragraph.

3. The application selects on the call the audio media types (audio in and out),
and, if present, also the video media types (video in and out).
This will work only if the corresponding default device supports full duplex:
the default audio device should support full duplex audio, and the default
video device (if video is supported) should allow full duplex video.
Check Control Panel - Multimedia Applet to see what are the installed
audio terminals, and see/change which is the default one. If the installed
sound card is not full duplex, the sample should be changed to use only
1 audio media type instead of 2.

4. The addresses of type "machine name", "email name", "ip address", and
"conference name" support the video (in/out) media type too. The "video in"
should always be available for these address types even if the machine does
not have any special hardware (but the network card, that is used to
implement the address object).
The "video out" media type can be used only if a video card with a camera
are installed on the computer.
If video "in" or "out" capabilities are detected, the sample application
will use them, however the calls will succeed even without a video card being
installed. If no video capabilities are present, the calls will be audio only.

Note: in order to use the "video in" media type the dynamic terminal
"video window terminal" must be used, because there exists no default terminal
for "video in". Dynamic terminals are created by using the desired dynamic
terminal class from the collection of dynamic terminal classes exposed by the
desired address. Only H323 and IPCONF addresses will enumerate video media
types and therefore video dynamic terminal class.