ISDN Software Reference for Linux and Windows
394

The next scenario covers the following simultaneous disconnect conditions:

cc_DropCall( ) arrives after Release command is sent - the network

disconnects first while cc_DropCall( ) arrives at the firmware after a Release

command is sent to the network.

Glare happens on the wire - the firmware sees the cc_DropCall( ) function

call first.

Asynchronous Programming
Application Device Driver State Firmware Network
CONNECTED
CCEV_DISCONNECTE
D<--
DISCONNECTED CALL_DISC
<-- Disconnec
t<--
Release
-->
Rel_Comp
<--
cc_DropCall( )
--> Call_Disconnecte
d (cause value
=0)
-->
IDLE
CCEV_DROPCALL
<-- CALL_CLEARED
<--
ISDN_Block_Ts
(sync model
only)
Incoming call
blocked
cc_ReleaseCall
()
-->
Call_Dealloc
-->
Driver releases
CRN
Return
<--
NULL F/W releases CRN
CALL_DEALLOC_ACK
<--
Initiation of Hold and Retrieve (BRI and PRI DPNSS/Q.SIGProtocols Only)