Função lineSetupTransfer (tapi.h)

A função lineSetupTransfer inicia uma transferência da chamada especificada pelo parâmetro hCall . Estabelece uma chamada de consulta, lphConsultCall, na qual a parte pode ser discada que pode se tornar o destino da transferência. O aplicativo adquire o privilégio de proprietário para o parâmetro lphConsultCall .

Sintaxe

LONG lineSetupTransfer(
  HCALL                  hCall,
  LPHCALL                lphConsultCall,
  LPLINECALLPARAMS const lpCallParams
);

Parâmetros

hCall

Identificador para a chamada a ser transferida. O aplicativo deve ser um proprietário da chamada. O estado de chamada de hCall deve estar conectado.

lphConsultCall

Ponteiro para um identificador hCall . Em seguida, esse local é carregado com um identificador que identifica a chamada de consulta temporária. Ao configurar uma chamada para transferência, uma chamada de consulta é alocada automaticamente que permite que lineDial disque o endereço associado ao novo destino de transferência da chamada. A parte de origem pode continuar uma conversa sobre esta chamada de consulta antes de concluir a transferência. O estado de chamada de hConsultCall não é aplicável.

Esse procedimento de transferência pode não ser válido para alguns dispositivos de linha. O aplicativo pode precisar ignorar a nova chamada de consulta e desocupar uma chamada mantida existente (usando lineUnhold) para identificar o destino da transferência. Em comutadores que dão suporte à transferência de chamadas entre endereços, a chamada de consulta pode existir em um endereço diferente da chamada a ser transferida. Também pode ser necessário que a chamada de consulta seja configurada como uma chamada totalmente nova, por lineMakeCall, para o destino da transferência. Quais formas de transferência estão disponíveis são especificadas nos recursos de endereço da chamada.

lpCallParams

Ponteiro para uma estrutura LINECALLPARAMS que contém os parâmetros de chamada a serem usados ao estabelecer a chamada de consulta. Esse parâmetro poderá ser definido como NULL se nenhum parâmetro de configuração de chamada especial for desejado.

Valor retornado

Retorna um identificador de solicitação positivo se a função for concluída de forma assíncrona ou um número de erro negativo se ocorrer um erro. O parâmetro dwParam2 da mensagem de LINE_REPLY correspondente será zero se a função for bem-sucedida ou se for um número de erro negativo se ocorrer um erro. Os valores retornados possíveis são:

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.

Comentários

A função lineSetupTransfer configura a transferência da chamada especificada por hCall. A fase de configuração de uma transferência estabelece uma chamada de consulta que permite que o aplicativo envie o endereço do destino (para o qual a parte será transferida) para o comutador, enquanto a chamada a ser transferida é mantida em espera. Essa nova chamada é conhecida como uma chamada de consulta (hConsultCall) e pode ser descartada ou manipulada independentemente da chamada original.

Quando a chamada de consulta atingir o estado de chamada dialtone , o aplicativo poderá continuar transferindo a chamada discando o endereço de destino e acompanhando seu progresso ou desativando uma chamada existente. A transferência da chamada original para o destino selecionado é concluída usando lineCompleteTransfer.

Embora a chamada de consulta exista, a chamada original normalmente faz a transição para o estado onholdPendingTransfer . O aplicativo pode ser capaz de alternar entre a chamada de consulta e a chamada original usando lineSwapHold. Uma chamada de consulta pode ser cancelada invocando lineDrop nela. Depois de cancelar uma chamada de consulta, a chamada original normalmente faz a transição de volta para o estado conectado . Se o estado da chamada original for onholdPendingTransfer, a função lineUnhold poderá ser usada para recuperar a chamada. Nesse caso, o estado de chamada da chamada de consulta é definido como ocioso.

O aplicativo também pode transferir chamadas em uma única etapa, sem precisar lidar com a chamada de consulta intermediada, usando lineBlindTransfer.

Requisitos

   
Plataforma de Destino Windows
Cabeçalho tapi.h
Biblioteca Tapi32.lib
DLL Tapi32.dll

Confira também

LINECALLPARAMS

LINE_REPLY

Funções de serviço de linha suplementar

Visão geral da referência do TAPI 2.2

Visão geral da transferência

lineBlindTransfer

Linecompletetransfer

Linedial

Linedrop

Linemakecall

Lineswaphold

lineUnhold