Función lineCompleteTransfer (tapi.h)

La función lineCompleteTransfer completa la transferencia de la llamada especificada a la parte conectada en la llamada de consulta.

Sintaxis

LONG lineCompleteTransfer(
  HCALL   hCall,
  HCALL   hConsultCall,
  LPHCALL lphConfCall,
  DWORD   dwTransferMode
);

Parámetros

hCall

Identificador de la llamada que se va a transferir. La aplicación debe ser propietario de esta llamada. El estado de llamada de hCall debe ser onHold o onHoldPendingTransfer.

hConsultCall

Identificador de la llamada que representa una conexión con el destino de la transferencia. La aplicación debe ser propietario de esta llamada. El estado de llamada de hConsultCall debe estar conectado, anillo invertido, ocupado o continuar.

lphConfCall

Puntero a una ubicación de memoria donde se puede devolver un identificador hCall . Si dwTransferMode es LINETRANSFERMODE_CONFERENCE, la llamada de conferencia recién creada se devuelve en lphConfCall y la aplicación se convierte en el único propietario de la llamada de conferencia. De lo contrario, TAPI omite este parámetro.

dwTransferMode

Cómo se resolverá la solicitud de transferencia iniciada. Este parámetro usa una de las constantes de LINETRANSFERMODE_.

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_INVALCALLHANDLE, LINEERR_NOTOWNER, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCONSULTCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALTRANSFERMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED, LINEERR_NOMEM.

Comentarios

El mensaje LINE_REPLY enviado en respuesta a una llamada a la función lineCompleteTransfer se basa en el estado de la llamada especificada por el parámetro hCall .

Esta operación completa la transferencia de la llamada original, hCall, a la entidad conectada actualmente por hConsultCall. Normalmente, la llamada de consulta se marca en la llamada de consulta asignada como parte de lineSetupTransfer, pero puede ser cualquier llamada a la que el conmutador sea capaz de transferir hCall.

La solicitud de transferencia se puede resolver como una transferencia o como una llamada de conferencia triple. Cuando se resuelve como transferencia, las partes conectadas por hCall y hConsultCall se conectan entre sí, y hCall y hConsultCall normalmente se borran de la línea de la aplicación y pasan al estado inactivo . El identificador de llamada de la aplicación sigue siendo válido una vez completada la transferencia. La aplicación debe desasignar su identificador con lineDeallocateCall cuando ya no esté interesado en la llamada transferida.

Cuando se resuelve como conferencia, las tres partes entran en una llamada de conferencia. Ambos identificadores de llamada existentes siguen siendo válidos, pero pasan al estado con conferencia . Se crea y devuelve un identificador de llamada de conferencia y pasa al estado conectado .

Si se llama a lineGetConfRelatedCalls inmediatamente después de lineCompleteTransfer con el resultado de que las llamadas son conferenciadas, es posible que lineGetConfRelatedCalls no devuelva una lista completa de llamadas relacionadas. Esto se debe a que TAPI espera a recibir un mensaje de LINE_CALLSTATE que indica que la llamada ha escrito LINECALLSTATE_CONFERENCED antes de considerar que la llamada realmente forma parte de la conferencia. Es decir, espera a que el proveedor de servicios confirme el estado con conferencia. Una vez que la aplicación haya recibido el mensaje LINE_CALLSTATE, lineGetConfRelatedCalls devuelve información completa.

También puede realizar una transferencia ciega de una llamada mediante lineBlindTransfer.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado tapi.h
Library Tapi32.lib
Archivo DLL Tapi32.dll

Consulte también

LINE_CALLSTATE

LINE_REPLY

Funciones de servicio de línea complementarias

Información general de referencia de TAPI 2.2

Introducción a la transferencia

lineBlindTransfer

lineDeallocateCall

lineGetConfRelatedCalls

lineSetupTransfer