função TSPI_lineCompleteTransfer (tspi.h)
A função TSPI_lineCompleteTransfer conclui a transferência da chamada especificada para a parte conectada na chamada de consulta. Se dwTransferMode for LINETRANSFERMODE_CONFERENCE, o identificador de chamada original será alterado para uma chamada em conferência. Caso contrário, o provedor de serviços deverá enviar mensagens de estado de chamada alterando as chamadas para ociosas.
Sintaxe
LONG TSPIAPI TSPI_lineCompleteTransfer(
DRV_REQUESTID dwRequestID,
HDRVCALL hdCall,
HDRVCALL hdConsultCall,
HTAPICALL htConfCall,
LPHDRVCALL lphdConfCall,
DWORD dwTransferMode
);
Parâmetros
dwRequestID
O identificador da solicitação assíncrona.
hdCall
O identificador do provedor de serviços para a chamada a ser transferida. O estado de chamada de hdCall pode ser onHoldPendingTransfer.
hdConsultCall
Um identificador para a chamada que representa uma conexão com o destino da transferência. O estado de chamada de hdConsultCall pode ser conectado, ringback, ocupado ou em andamento.
htConfCall
Esse parâmetro só será válido se dwTransferMode for especificado como LINETRANSFERMODE_CONFERENCE. O provedor de serviços deve salvar esse valor de parâmetro e usá-lo em todas as chamadas subsequentes para os eventos de relatório de procedimento LINEEVENT na chamada. Caso contrário, esse parâmetro será ignorado.
lphdConfCall
Um ponteiro para um HDRVCALL que representa o identificador do provedor de serviços para a chamada. Esse parâmetro só será válido se dwTransferMode for especificado como LINETRANSFERMODE_CONFERENCE. O provedor de serviços deve preencher esse local com seu identificador para a nova chamada de conferência antes de retornar dessa função.
dwTransferMode
Especifica como a solicitação de transferência iniciada deve ser resolvida. Esse parâmetro usa uma das constantes LINETRANSFERMODE_.
Retornar valor
Retorna dwRequestID ou um número de erro se ocorrer um erro. O parâmetro real lResult do ASYNC_COMPLETION correspondente será zero se a função for bem-sucedida ou um número de erro se ocorrer um erro. Os possíveis valores retornados são os seguintes:
LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_NOMEM, LINEERR_RESOURCEUNAVAIL.
Comentários
Essa função conclui a transferência da chamada original, hdCall, para a parte atualmente conectada por meio de hdConsultCall. A chamada de consulta normalmente é discada na chamada de consulta alocada como parte de TSPI_lineSetupTransfer, mas pode ser qualquer chamada para a qual a opção é capaz de transferir hdCall.
A solicitação de transferência pode ser resolvida como uma transferência ou como uma chamada de conferência de três vias. Quando resolvidos como uma transferência, as partes conectadas por meio de hdCall e hdConsultCall são conectadas entre si e a transição hdCall e hdConsultCall para o estado ocioso.
Quando resolvido como uma conferência, todas as três partes entram em uma chamada em conferência. Ambos os identificadores de chamada existentes permanecem válidos, mas fazem a transição para o estado em conferência . Um identificador de chamada de conferência é criado e retornado e faz a transição para o estado conectado .
Também pode ser possível executar uma transferência cega de uma chamada usando TSPI_lineBlindTransfer.
Essa função difere da função TAPI correspondente, pois segue o modelo TSPI para iniciar o tempo de vida de uma chamada. O TAPI e o provedor de serviços trocam identificadores opacos que representam a chamada entre si. Além disso, o provedor de serviços tem permissão para fazer retornos de chamada para a nova chamada antes de retornar desse procedimento. De qualquer forma, o provedor de serviços também deve tratar o identificador retornado como "ainda não válido" até que a mensagem de ASYNC_COMPLETION correspondente reporte êxito. Em outras palavras, ele não deve emitir nenhuma mensagem LINEEVENT para a nova chamada ou incluí-la em contagens de chamadas em mensagens ou estruturas de dados status para a linha.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | tspi.h |