State

El estado de sesión o llamada indica el estado actual de una sesión, como "oferta" o "conectado". El control adecuado de la información de estado es fundamental para el correcto funcionamiento de la mayoría de las aplicaciones TAPI. Por ejemplo, la operación de respuesta solo se puede realizar en una sesión ofrecida, pero se producirá un error en una transferencia si la sesión está en ese estado.

El estado de una sesión cambia como resultado de eventos. Los eventos se pueden solicitar o no solicitar. Los eventos solicitados son causados por la aplicación que controla la sesión, como cuando invoca una operación de sesión TAPI. Los eventos no solicitados son causados por el conmutador, la red telefónica, los botones de pulsación del usuario en el teléfono local o las acciones de la parte remota.

Cada vez que un proveedor de servicios detecta un cambio de estado de sesión, notifica el cambio a TAPI y TAPI emite una notificación de eventos a todos los propietarios y monitores de aplicaciones. La aplicación debe reaccionar adecuadamente a estas notificaciones. Consulte Notificación de eventos en Inicialización TAPI para obtener información sobre cómo controlar qué eventos se notifican a una aplicación.

Una aplicación siempre debe procesar las notificaciones de eventos de estado. Las transiciones de estado válidas para una configuración física pueden no ser válidas para otra. Por ejemplo, considere una línea que termina físicamente tanto en el equipo como en un conjunto de teléfonos independiente, creando una configuración de línea de entidad entre el equipo y el conjunto de teléfonos. Es posible que una aplicación que se ejecute en el equipo no conozca las actividades del conjunto de teléfonos. Es decir, la línea puede estar en uso sin que el proveedor de servicios lo conozca. Una aplicación que intenta realizar una llamada saliente se realizará correctamente al asignar una apariencia de llamada desde TAPI, pero esto da como resultado compartir la llamada activa en la línea. El envío ciego de una cadena de marcado DTMF sin comprobar primero un tono de marcado puede no dar lugar a un comportamiento previsto (o educado).

Una aplicación no debe asumir una progresión rígida de un estado a otro. Los eventos de estado llegan y se reenvía de forma asincrónica y es posible que las notificaciones no se reciban en un orden predecible. Por lo tanto, las notificaciones de estado de llamada deben verse como indicar a la aplicación el nuevo estado de la llamada en lugar de notificar las transiciones entre dos estados.

Todos los proveedores de servicios de telefonía deben proporcionar esta información.

**TAPI 2.x: **lineGetCallStatus, lineGetCallInfo, LINE_CALLSTATE mensaje, LINECALLSTATE_ constantes

**TAPI 3.x: **ITCallInfo::get_CallInfoLong (miembro CIL_CALLID de CALLINFO_LONG), notificación ITCallStateEvent, enumerador de CALL_STATE