Intel 05-2409-003 Manual Do Utilizador

Página de 154
Global Call API for HMP on Windows Programming Guide — August 2006
43
Call State Models
is opened using the gc_OpenEx( ) function. However, if the gc_ResetLineDev( ) function was 
issued, gc_WaitCall( ) must be reissued. In asynchronous mode, it is not necessary to issue 
gc_WaitCall( ) again after a call is released. 
Note:
After gc_WaitCall( ) is issued to wait for incoming calls on a line device, it is possible to use 
gc_makeCall( ) to make an outbound calls on that line device. 
3.4.1.3
Call Detection
The inbound call from the network is received on the line device specified in the gc_WaitCall( ) 
function, but the call has not been offered to the application. The technology call control layer 
typically sends an acknowledgement to the remote side. In some configurations, this 
acknowledgement can also be sent by the application when the call is offered. At this stage, the call 
is being processed, which typically involves allocating resources or waiting for more information. 
The GCEV_DETECTED event is generated, if enabled. If the GCEV_DETECTED event is 
generated, a new CRN is assigned to the incoming call. This event is for informational purposes to 
reduce glare conditions as the application is now aware of the presence of a call on the channel. 
Note:
When developing applications, if the GCEV_DETECTED event is not supported, a 
GCEV_DISCONNECTED event is only received if the host application already received the 
GCEV_OFFERED event before the remote side disconnects. 
3.4.1.4
Call Offered
When an incoming call is received in en-bloc mode, where all the information required is available, 
the call is offered to the application by generating an unsolicited GCEV_OFFERED event 
(equivalent to a “ring detected” notification). This GCEV_OFFERED event causes the call to 
change to the Offered state. In the Offered state, a CRN is assigned as a means of identifying the 
call on a specific line device. If a GCEV_DETECTED event was generated before the 
GCEV_OFFERED event, the same CRN is assigned as the one assigned when the 
GCEV_DETECTED event was generated. 
When using E1, T1 and ISDN technology, if the incoming call does not have sufficient 
information, the call is offered to the application when all the required information is received. If 
the technology is configured to accept minimum information, the call is offered to the application 
when the specified minimum amount of information is received. In this case, the application must 
request additional information if required. See 
 for more 
information. 
A call proceeding indication can be sent by the technology call control layer, or by the application 
by issuing the gc_CallAck(GCACK_SERVICE_PROC) function. Otherwise, the application can 
accept or answer the call by issuing the gc_AcceptCall( ) or gc_AnswerCall( ) functions, 
respectively. 
Note:
When developing applications, if the GCEV_DETECTED event is not supported, a 
GCEV_DISCONNECTED event is only received if the host application already received the 
GCEV_OFFERED event before the remote side disconnects.