Intel 05-2409-003 사용자 설명서

다운로드
페이지 154
42
Global Call API for HMP on Windows Programming Guide — August 2006
Call State Models
The following sections describe the asynchronous inbound call processes. 
3.4.1.2
Channel Initialization
To establish calls, the following conditions must be met: 
The condition of the line device must be unblocked. When a channel is initially opened, the 
initial condition of a line device is blocked. A “blocking” condition on a line device is 
indicated by the reception of a GCEV_BLOCKED event and an “unblocking” condition on a 
line device is indicated by the reception of a GCEV_UNBLOCKED event. The 
GCEV_BLOCKED and GCEV_UNBLOCKED events are sent as unsolicited events to the 
application in response to blocking alarms. GCEV_BLOCKED and GCEV_UNBLOCKED 
events are related to layer 1 alarms, as well as to channel states (service status in T1 ISDN, bit 
states in CAS). GCEV_BLOCKED and GCEV_UNBLOCKED are used as what might be 
termed flow-control events within the application. For more information on blocking alarms 
and the GCEV_BLOCKED and GCEV_UNBLOCKED events, see 
. When the condition of the line device is unblocked, the line 
device is ready for establishing calls. 
The call state of the channel must be in the Null state. This is the initial call state of a line 
device when it is first opened. This state is also reached when a call is released or after the 
channel is reset. 
If the above conditions are met, the application or thread must issue a gc_WaitCall( ) function in 
the Null state to indicate readiness to accept an inbound call request on the specified line device. In 
the asynchronous mode, the gc_WaitCall( ) function must be called only once after the line device 
Null (GCST_NULL) 
Not Maskable 
Previous: Idle
Nextgc_WaitCall( ) -> 
Null state 
gc_ResetLineDev( ) -> 
Null state
GCEV_OFFERED -> 
Offered state
GCEV_DETECTED -> 
Detected state
gc_WaitCall( ) GCEV_DETECTED, 
GCEV_OFFERED
Offered (GCST_OFFERED) 
Not Maskable
Previous: Null, Detected
Next:
GCEV_ANSWERED -> 
Connected state
GCEV_ACCEPT -> 
Accepted state
GCEV_CALLPROC -> 
CallRouting state
GCEV_MOREINFO -> 
GetMoreInfo state †
GCEV_DISCONNECTED -> 
Disconnected state
GCEV_DROPCALL -> 
Idle state
gc_CallAck( )
gc_AnswerCall( )
gc_AcceptCall( )
gc_DropCall( )
GCEV_DISCONNECTED, 
GCEV_DROPCALL, 
GCEV_ACCEPT, 
GCEV_ANSWERED, 
GCEV_MOREINFO †,  
GCEV_CALLPROC
Table 6. Asynchronous Inbound Call State Transitions
State Description
Previous/Next State
Valid Call State 
Transition 
Functions
Call Transition Events
† Applies to E1, T1 and ISDN technology only.