80 Global Call API for HMP on Windows Programming Guide — August 2006
Application Development Guidelines
5.3.2 Working with Flexible Routing Configurations
The following topics provide more information about using Global Call with Digital Network
Interface boards that use the flexible routing configuration:
Determining Channel Capabilities (Flexible Routing)
Using Device Handles (Flexible Routing)
Multi-Threading and Multi-Processing (Flexible Routing)
Initializing an Application (Flexible Routing)
Initializing Global Call (Flexible Routing)
Device Initialization Hint (Flexible Routing)
Using Protocols (Flexible Routing)

5.3.2.1 Determining Channel Capabilities (Flexible Routing)

Digital Network Interface boards support three different types of voice devices:
E1 CAS compatible
T1 CAS compatible
ISDN compatible
The E1 CAS compatible is a superset of T1 CAS compatible, and the T1 CAS compatible is a
superset of ISDN compatible.
When using Global Call, only certain DM3 network interface devices can be associated with
certain other DM3 voice devices using gc_OpenEx() or gc_AttachResource( ). Attaching DM3
devices together depends on the network protocol used and voice device capabilities. Specifically:
A DM3 ISDN network device can be attached to any DM3 voice device.
A DM3 T1 CAS network device must be attached to a T1 CAS compatible DM3 voice device.
A DM3 E1 CAS network device must be attached to an E1 CAS compatible DM3 voice
device.
An application can query the capabilities of a device using the dx_getfeaturelist( ) function which
includes information about the front end supported, meaning ISDN, TI CAS, or R2/MF. See the
Voice API Library Reference for more information about the dx_getfeaturelist() function.
When using Global Call, if a voice device is not CAS or R2/MF capable, it cannot be attached
(either in the gc_OpenEx( ) function or when using the gc_AttachResource( ) function) to a
network interface device that has CAS or R2/MF loaded. Likewise, if a voice device is not routable,
it cannot be used in a gc_AttachResource( ) call.
While a network interface protocol cannot be determined programmatically, the
dx_getfeaturelist( ) function provides a programmatic way of determining voice capability so that
the application can make decisions.