LINE_NEWCALL mensaje
El mensaje de LINE_NEWCALL TSPI se envía a la función de devolución de llamada LINEEVENT cada vez que una nueva llamada que TAPI no ha originado llega a una línea que TAPI tiene abierta. Debe ser el primer mensaje enviado con respecto a esa llamada. TAPI escribe el identificador opaco de htCall en la ubicación pasada por el proveedor de servicios como dwParam2. Esto proporciona al proveedor de servicios el valor htCall que se usará en los mensajes posteriores.
Parámetros
-
htLine
-
Identificador de objeto opaco tapi para el dispositivo de línea.
-
htCall
-
Sin usar.
-
dwMsg
-
Valor LINE_NEWCALL.
-
dwParam1
-
Identificador opaco del proveedor de servicios para la llamada, de tipo HDRVCALL. TAPI pasa este valor como el parámetro hdCall para identificar la llamada en procedimientos posteriores que invoca para operar en la llamada.
-
dwParam2
-
Puntero de tipo LPHTAPICALL que apunta a un HTAPICALL. TAPI escribe el identificador opaco de TAPI para la llamada a la ubicación indicada. El proveedor de servicios debe guardar este valor y pasarlo como parámetro htCall para identificar la llamada en eventos posteriores que notifica para la llamada.
Este parámetro también puede adquirir un valor NULL (consulte la sección Comentarios siguiente).
-
dwParam3
-
Sin usar.
Comentarios
El proveedor de servicios debe enviar el mensaje LINE_CALLSTATE como mensaje siguiente para esta llamada. El evento LINE_NEWCALL es inusual en que también devuelve un valor al proveedor de servicios.
Esta función informa de las nuevas llamadas que se originan en el proveedor de servicios (entrante, saliente, iniciada en el teléfono, etc.) para las que TAPI y el proveedor de servicios aún no han intercambiado identificadores opacos. Los identificadores se intercambian para que TAPI y el proveedor de servicios puedan posteriormente realizar solicitudes e informar de eventos relacionados con la llamada. Dado que estas nuevas llamadas no son necesariamente entrantes, las llamadas pueden estar inicialmente en cualquier estado, no necesariamente el estado de la oferta . Si el proveedor de servicios inicia y detecta que una o varias llamadas ya están activas en la línea, informa a TAPI de ellos con LINE_NEWCALL mensajes seguidos de LINE_CALLSTATE mensajes que indican el estado actual. Una nueva llamada saliente, iniciada en el teléfono por el usuario, se notificaría con un mensaje de LINE_NEWCALL y el mensaje de LINE_CALLSTATE inicial indicaría que la llamada estaba en estado DIALTONE (y, a continuación, continuar desde allí).
Si el proveedor de servicios pasa un gran número de llamadas a TAPI en una cantidad muy corta de tiempo (durante el mismo ciclo de interrupción), TAPI puede convertirse en un retroceso en el procesamiento de esas llamadas. Cuando esto sucede, TAPI indica al proveedor de servicios que espere un breve tiempo antes de enviar más llamadas. Indica esto escribiendo un valor de NULL, en lugar de un HTAPICALL válido, en la ubicación a la que apunta el parámetro dwParam2 de LINE_NEWCALL. Esto indica que el intento de procesar el identificador de llamada recién ofrecido no se realizó correctamente, lo más probable es que se deba a una incapacidad temporal para asignar memoria. El proveedor de servicios puede responder quitando la llamada o reenviando el mensaje de LINE_NEWCALL después de un retraso de programación (durante el cual el proveedor de servicios debe producir el procesador para permitir que TAPI procese otras acciones pendientes). En cualquier caso, no se pueden pasar más mensajes con respecto a la nueva llamada a TAPI hasta que el intercambio de identificadores se realice correctamente. Cuando la ubicación a la que apunta dwParam2 adquiere un valor distinto de NULL , el proveedor de servicios sabe que este valor es un identificador HTAPICALL válido para la llamada.
No hay ningún mensaje correspondiente directamente en el nivel TAPI. Este mensaje se usa en el nivel de TSPI para introducir de forma única e inequívoca una nueva llamada entrante a TAPI y recuperar el identificador opaco de TAPI para la llamada.
Requisitos
Requisito | Value |
---|---|
Versión de TAPI |
Requiere TAPI 2.0 o posterior |
Encabezado |
|