NAME irHBridge - add/drop a half-bridge to another channel SYNOPSIS #include <irapi.h> int irHBridge (channel_id cid1, int chan2, int addDropFlag); int irHBridge2 (channel_id cid1, int chan2, int addDropFlag, int releaseFlag); DESCRIPTION The irHBridge and irHBridge2 functions half-bridge channel cid1 to chan2 or drop an existing half-bridge between the two channels. Half-bridging means that the audio coming in on chan2 is heard on cid1. This is achieved by low level timeslot arbitration func- tions. The value of addDropFlag determines if the half-bridge should be added or dropped. Use IRD_ADD [see IrDEFINES(4IRAPI)] as addDropFlag to create the half-bridge. To drop the half-bridge, irHBridge or irHBridge2 must be invoked with IRD_DROP as the value of addDropFlag. The half-bridge is dropped when cid1 is released via irDeinit(3IRAPI) or irReturn(3IRAPI) by its owning process. The IRAPI supports the CONVERSANT VIS Transmission Level Plan (TLP) for call bridging. Refer to Intuity CONVERSANT VIS V5.0 Communication Development, 585-310-229, for infor- mation about the CONVERSANT VIS TLP. The IRP_DTMF_MUTING parameter determines whether the input of touch-tone digits is passed through the bridge. When bridging to another automated response system, IRP_DTMF_MUTING must be set to IRD_ON to allow touch-tone digits to pass through the bridge. DTMF muting is automati- cally enabled on Tip/Ring (T/R) cards and can currently only be controlled on digital interfaces (T1, PRI, and LST1) Each channel can have at most 7 output timeslots of which one is pre-assigned. Therefore, a channel can only add another 6 output timeslots. The releaseFlag argument to rHBridge2 allows an application to specify whether the "talk" timeslot (used for "play" and "say" activity) is to be released when the half bridge is established. This argument only has an effect when dynamic timeslot allocation is in effect (when the IRP_STATIC_TIMESLOTS global parameter has the value of IRD_FALSE). When releaseFlag has the value IRD_TRUE and dynamic timeslot allocation is in effect, irHBridge2 will attempt to release the "talk" timeslot unless it is in use for playing, saying, or echo cancelation. Note that the releaseFlag argument only has an effect when the addDropFlag has the value IRD_ADD (to create half-bridge). The irHBridge function uses the IRP_RELEASE_TALKSLOT global parameter to determine whether the "talk" timeslot is to be released when the half bridge is established. Most applica- tions should use irHBridge rather than irHBridge2 so that the global parameter can be used for system-wide control of whether to release the "talk" timeslot during bridging. WARNING: The use of dynamic timeslot allocation and the irHBridge2 function is reserved for future use and not yet officially supported. Operational problems are likely for applications that attempt to use these options in this release. EVENT No event results from a call to irHBridge or irHBridge2. RETURN VALUE IRR_OK is returned if the request is successful. IRR_FAIL is returned if an error occurs. ERROR irError is set as follows if an error occurs: IRER_INVALID if invalid arguments are passed IRER_MAXCHAN_TIMESLOTS if the channel has reached the limit for output timeslots (7 maximum per channel) IRER_SYSERROR if a system or driver call failure occurs (see irSysError for additional information) IRER_TSBUS if an attempt is made to half-bridge between two channels on buses which do not communicate or if either channel is not on a bus SEE ALSO irDeinit(3IRAPI), irReturn(3IRAPI) CAVEAT Note that the half-bridge to channel chan2 stays active until dropped regardless of the state of channel chan2. VERSION This is version 8/31/00 of this man page.