Función lineSetupTransfer (tapi.h)
La función lineSetupTransfer inicia una transferencia de la llamada especificada por el parámetro hCall . Establece una llamada de consulta, lphConsultCall, en la que se puede marcar la parte que puede convertirse en el destino de la transferencia. La aplicación adquiere privilegios de propietario para el parámetro lphConsultCall .
Sintaxis
LONG lineSetupTransfer(
HCALL hCall,
LPHCALL lphConsultCall,
LPLINECALLPARAMS const lpCallParams
);
Parámetros
hCall
Identificador de la llamada que se va a transferir. La aplicación debe ser propietario de la llamada. El estado de llamada de hCall debe estar conectado.
lphConsultCall
Puntero a un identificador hCall . A continuación, esta ubicación se carga con un identificador que identifica la llamada de consulta temporal. Al configurar una llamada para la transferencia, se asigna automáticamente una llamada de consulta que permite a lineDial marcar la dirección asociada al nuevo destino de transferencia de la llamada. La parte de origen puede llevar a cabo una conversación sobre esta llamada de consulta antes de completar la transferencia. El estado de llamada de hConsultCall no es aplicable.
Este procedimiento de transferencia puede no ser válido para algunos dispositivos de línea. Es posible que la aplicación deba omitir la nueva llamada de consulta y retener una llamada mantenida existente (mediante lineUnhold) para identificar el destino de la transferencia. En los conmutadores que admiten la transferencia de llamadas entre direcciones, la llamada de consulta puede existir en una dirección diferente a la que se va a transferir. También puede ser necesario que la llamada de consulta se configure como una llamada completamente nueva, por lineMakeCall, al destino de la transferencia. Las formas de transferencia disponibles se especifican en las funcionalidades de dirección de la llamada.
lpCallParams
Puntero a una estructura LINECALLPARAMS que contiene los parámetros de llamada que se usarán al establecer la llamada de consulta. Este parámetro se puede establecer en NULL si no se desea ningún parámetro de configuración de llamada especial.
Valor devuelto
Devuelve un identificador de solicitud positivo si la función se completa de forma asincrónica o un número de error negativo si se produce un error. El parámetro dwParam2 del mensaje de LINE_REPLY correspondiente es cero si la función se realiza correctamente o es un número de error negativo si se produce un error. Los valores devueltos posibles son:
LINEERR_BEARERMODEUNAVAIL, LINEERR_INVALRATE, LINEERR_CALLUNAVAIL, LINEERR_NOMEM, LINEERR_INUSE, LINEERR_NOTOWNER, LINEERR_INVALADDRESSMODE, LINEERR_OPERATIONFAILED, LINEERR_INVALBEARERMODE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_RATEUNAVAIL, LINEERR_INVALCALLPARAMS, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALLINESTATE, LINEERR_UNINITIALIZED, LINEERR_INVALMEDIAMODE, LINEERR_USERUSERINFOTOOBIG, LINEERR_ INVALPOINTER.
Comentarios
La función lineSetupTransfer configura la transferencia de la llamada especificada por hCall. La fase de configuración de una transferencia establece una llamada de consulta que permite a la aplicación enviar la dirección del destino (la parte a la que se va a transferir) al conmutador, mientras que la llamada que se va a transferir se mantiene en espera. Esta nueva llamada se conoce como llamada de consulta (hConsultCall) y se puede quitar o manipular independientemente de la llamada original.
Cuando la llamada de consulta ha alcanzado el estado de llamada de tono de marcado , la aplicación puede continuar transfiriendo la llamada mediante la marcación de la dirección de destino y el seguimiento de su progreso o al retener una llamada existente. La transferencia de la llamada original al destino seleccionado se completa mediante lineCompleteTransfer.
Mientras existe la llamada de consulta, la llamada original normalmente pasa al estado onholdPendingTransfer . La aplicación puede alternar entre la llamada de consulta y la llamada original mediante lineSwapHold. Se puede cancelar una llamada de consulta invocando lineDrop en ella. Después de quitar una llamada de consulta, la llamada original normalmente vuelve al estado conectado . Si el estado de llamada de la llamada original es onholdPendingTransfer, la función lineUnhold se puede usar para recuperar la llamada. En este caso, el estado de llamada de la llamada de consulta se establece en inactivo.
La aplicación también puede transferir llamadas en un solo paso, sin tener que lidiar con la llamada de consulta intermedia, mediante lineBlindTransfer.
Requisitos
Plataforma de destino | Windows |
Encabezado | tapi.h |
Library | Tapi32.lib |
Archivo DLL | Tapi32.dll |
Consulte también
Funciones de servicio de línea complementarias
Información general de referencia de TAPI 2.2