R4 on DM3 supports the handling of multiple call objects per channel in a glare condition. An application running on bi-directional circuits is capable of handling two CRNs on a single line device, where one call can be in an Idle state, while the other call is in Active state. For example, a glare condition occurs when a call has been dropped but not released and an inbound call is detected. In order to avoid a long delay in processing the inbound call, the GlobalCall library does not wait for the outbound call to be released before notifying the application of the inbound call.
Application |
GlobalCall Library |
gc_MakeCall(crn1) --> |
|
GCEV_DISCONNECTED(crn1) <-- | |
gc_DropCall(crn1) --> |
|
GCEV_OFFERED(crn2) <-- | |
gc_AcceptCall(crn2) --> |
|
GCEV_DROPCALL(crn1) <-- | |
gc_ReleaseCall(crn1) --> |
Alternatively, the application can just respond to events using their associated CRN, simply performing a gc_ReleaseCall( ) upon reception of any GCEV_DROPCALL event whether the CRN is the active one or not. Using this procedure, the application only needs to store one CRN per line device.
Click here to contact Dialogic Customer Engineering
Copyright 2002, Intel Corporation