Função lineSetupConference (tapi.h)

A função lineSetupConference configura uma chamada em conferência para a adição de terceiros.

Sintaxe

LONG lineSetupConference(
  HCALL                  hCall,
  HLINE                  hLine,
  LPHCALL                lphConfCall,
  LPHCALL                lphConsultCall,
  DWORD                  dwNumParties,
  LPLINECALLPARAMS const lpCallParams
);

Parâmetros

hCall

Manipule para a chamada inicial que identifica a primeira parte de uma chamada em conferência. Em alguns ambientes (conforme descrito em recursos do dispositivo), uma chamada deve existir para iniciar uma chamada em conferência e o aplicativo deve ser um proprietário dessa chamada. Em outros ambientes de telefonia, nenhuma chamada inicialmente existe, hCall deve ser deixado NULL e hLine deve ser especificado para identificar a linha na qual a chamada em conferência deve ser iniciada. O estado de chamada de hCall deve estar conectado.

hLine

Identificador para a linha. Esse identificador é usado para identificar o dispositivo de linha no qual originar a chamada em conferência se hCall for NULL. O parâmetro hLine será ignorado se hCall não for NULL.

lphConfCall

Ponteiro para um identificador HCALL. Esse local é carregado com um identificador que identifica a chamada em conferência recém-criada. O aplicativo é o único proprietário inicial dessa chamada. O estado de chamada de hConfCall não é aplicável.

lphConsultCall

Ponteiro para um identificador HCALL. Ao configurar uma chamada para a adição de uma nova parte, uma nova chamada temporária (chamada de consulta) é alocada automaticamente. Inicialmente, o aplicativo é o único proprietário dessa chamada.

dwNumParties

Número esperado de partes na teleconferência. Esse número é passado para o provedor de serviços. O provedor de serviços é livre para fazer o que quiser com esse número: ignore-o, use-o como uma dica para alocar a ponte de conferência de tamanho certo dentro do comutador e assim por diante.

lpCallParams

Ponteiro para uma estrutura LINECALLPARAMS que contém 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_UNINITIALIZED, LINEERR_CALLUNAVAIL, LINEERR_INVALMEDIAMODE, LINEERR_CONFERENCEFULL, LINEERR_INVALPOINTER, LINEERR_INUSE, LINEERR_INVALRATE, LINEERR_INVALADDRESSMODE, LINEERR_NOMEM, LINEERR_INVALBEARERMODE, LINEERR_NOTOWNER, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLPARAMS, LINEERR_RATEUNAVAIL, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_ INVALLINESTATE, LINEERR_STRUCTURETOOSMALL, LINEERR_USERUSERINFOTOOBIG.

Comentários

Se LINEERR_INVALLINESTATE for retornado, a linha não estará atualmente em um estado no qual essa operação pode ser executada. Uma lista de operações válidas no momento pode ser encontrada no membro dwLineFeatures (do tipo LINEFEATURE) na estrutura LINEDEVSTATUS . (Chamar lineGetLineDevStatus atualiza as informações em LINEDEVSTATUS.) Se LINEERR_INVALMEDIAMODE for retornado, marcar para tipos de mídia com suporte na linha no membro dwMediaModes na estrutura LINEDEVCAPS.

A função lineSetupConference fornece duas maneiras de estabelecer uma nova chamada em conferência, dependendo se uma chamada de duas partes normal é necessária para existir previamente ou não. Ao configurar uma chamada em conferência de uma chamada de duas partes existente, o parâmetro hCall é um identificador de chamada válido que é inicialmente adicionado à chamada em conferência pela solicitação lineSetupConference ; hLine é ignorado. Em comutadores em que a configuração de chamada em conferência não começa com uma chamada existente, hCall deve ser NULL e hLine deve ser especificado para identificar o dispositivo de linha no qual iniciar a chamada em conferência. Em ambos os casos, uma chamada de consulta é alocada para se conectar à parte que deve ser adicionada à chamada. Em seguida, o aplicativo pode usar lineDial para discar o endereço da outra parte.

A chamada em conferência normalmente faz a transição para o estado onHoldPendingConference , a chamada de consulta para o estado dialtone e a chamada inicial (se houver) para o estado em conferência .

Uma chamada em conferência também pode ser configurada por um lineCompleteTransfer que é resolvido em uma conferência de três vias. O aplicativo pode ser capaz de alternar entre a chamada de consulta e a chamada em conferência usando lineSwapHold.

Uma chamada de consulta pode ser cancelada invocando lineDrop nela. Ao cancelar uma chamada de consulta, a chamada em conferência existente normalmente faz a transição de volta para o estado conectado . O aplicativo deve observar as mensagens LINE_CALLSTATE para determinar exatamente o que acontece com as chamadas. Por exemplo, se a chamada em conferência for revertida para uma chamada regular de duas partes, a chamada em conferência ficará ociosa e a chamada de participante original poderá reverter à conexão.

Se um aplicativo especificar o identificador da chamada original (hCall) em uma chamada para a função lineUnhold , a chamada em conferência e a chamada de consulta normalmente ficarão ociosas.

Requisitos

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

Confira também

Visão geral da conferência

LINECALLPARAMS

LINEDEVCAPS

LINEDEVSTATUS

LINE_CALLSTATE

Funções de serviço de linha suplementar

Linecompletetransfer

Linedial

Linedrop

lineGetLineDevStatus

Lineswaphold

lineUnhold