função TSPI_lineSetupConference (tspi.h)

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

Sintaxe

LONG TSPIAPI TSPI_lineSetupConference(
  DRV_REQUESTID          dwRequestID,
  HDRVCALL               hdCall,
  HDRVLINE               hdLine,
  HTAPICALL              htConfCall,
  LPHDRVCALL             lphdConfCall,
  HTAPICALL              htConsultCall,
  LPHDRVCALL             lphdConsultCall,
  DWORD                  dwNumParties,
  LPLINECALLPARAMS const lpCallParams
);

Parâmetros

dwRequestID

O identificador da solicitação assíncrona.

hdCall

O identificador para a chamada inicial que identifica a primeira parte de uma chamada em conferência. Em alguns ambientes, uma chamada deve existir para iniciar uma chamada em conferência. Em outros ambientes de telefonia, nenhuma chamada existe inicialmente e hdCall é deixado NULL. O estado de chamada do hdCall pode ser conectado.

hdLine

O identificador para o dispositivo de linha no qual originar a chamada de conferência se hdCall for NULL. O parâmetro hdLine será ignorado se hdCall não for NULL. O provedor de serviços relata qual modelo ele dá suporte por meio do sinalizador setupConfNull da estrutura de dados LINEADDRESSCAPS .

htConfCall

O identificador TAPI para a nova chamada de conferência. O provedor de serviços deve salvá-lo e usá-lo em todas as chamadas subsequentes para os eventos de relatório de procedimento LINEEVENT na nova chamada.

lphdConfCall

Um ponteiro para um HDRVCALL que representa o identificador do provedor de serviços para a chamada de conferência recém-criada. O provedor de serviços deve preencher esse local com seu identificador para a nova chamada antes que este procedimento retorne. Esse identificador será ignorado pelo TAPI se a função resultar em um erro. O estado de chamada de hdConfCall não é aplicável.

htConsultCall

O identificador TAPI para a chamada de consulta. Ao configurar uma chamada para a adição de uma nova parte, uma nova chamada temporária (chamada de consulta) é alocada automaticamente. O provedor de serviços deve salvar o htConsultCall e usá-lo em todas as chamadas subsequentes para o procedimento LINEEVENT relatando eventos na nova chamada de consulta.

lphdConsultCall

Um ponteiro para um HDRVCALL que representa o identificador do provedor de serviços para uma chamada. Ao configurar uma chamada para a adição de uma nova parte, uma nova chamada temporária (chamada de consulta) é alocada automaticamente. O provedor de serviços deve preencher esse local com seu identificador para a nova chamada de consulta antes que este procedimento retorne. Esse identificador será ignorado pelo TAPI se a função resultar em um erro. O estado de chamada de hdConsultCall não é aplicável.

dwNumParties

O número esperado de partes na teleconferência. O provedor de serviços é gratuito para fazer com esse número como quiser. Por exemplo, o provedor de serviços pode ignorá-lo ou usá-lo como uma dica para alocar a ponte de conferência de tamanho certo dentro do comutador. O TAPI não valida esse parâmetro quando essa função é chamada.

lpCallParams

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

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_INVALADDRESSMODE, LINEERR_INVALLINEHANDLE, LINEERR_INVALBEARERMODE, LINEERR_INVALCALLSTATE, LINEERR_INVALCALLPARAMS, LINEERR_CALLUNAVAIL, LINEERR_INVALLINESTATE, LINEERR_CONFERENCEFULL, LINEERR_INVALMEDIAMODE, LINEERR_NOMEM, LINEERR_INVALRATE, LINEERR_OPERATIONUNAVAIL, LINEERR_INUSE, LINEERR_OPERATIONFAILED, LINEERR_RATEUNAVAIL, LINEERR_RESOURCEUNAVAIL, LINEERR_USERUSERINFOTOOBIG, LINEERR_BEARERMODEUNAVAIL.

Comentários

O provedor de serviços retornará LINEERR_INVALLINEHANDLE se o identificador de linha especificado para a linha que contém a chamada em conferência for inválido. Esse erro também pode indicar que o ambiente de telefonia requer uma linha inicial para configurar uma conferência, mas um identificador de chamada não NULL foi fornecido.

O provedor de serviços retornará LINEERR_INVALCALLHANDLE se o ambiente de telefonia exigir uma chamada inicial para configurar uma conferência, mas um identificador de chamada NULL tiver sido fornecido.

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

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

Uma chamada de conferência também pode ser configurada usando uma função TSPI_lineCompleteTransfer que é resolvida em uma conferência de três vias.

O TAPI pode ser capaz de alternar entre a chamada de consulta e a chamada em conferência usando TSPI_lineSwapHold.

A função TSPI_lineUnhold pode recuperar chamadas que têm o estado de chamada onHoldPendingConference. Se isso for feito, qualquer chamada de consulta normalmente vai para o estado ocioso .

Uma chamada de consulta pode ser cancelada invocando TSPI_lineDrop nela. Ao descartar uma chamada de consulta, a chamada de conferência existente normalmente faz a transição de volta para o estado conectado . O TAPI e seus aplicativos cliente devem observar as mensagens LINE_CALLSTATE para determinar exatamente o que acontece com as chamadas. Por exemplo, se a chamada de conferência reverter para uma chamada regular de duas partes, a chamada de conferência ficará ociosa e a chamada de participante original poderá reverter para conectada.

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

Confira também

ASYNC_COMPLETION

Constantes LINEADDRCAPFLAGS_

LINEADDRESSCAPS

LINECALLPARAMS

LINEEVENT

LINE_CALLSTATE

TSPI_lineAddToConference

Tspi_linedial

TSPI_linePrepareAddToConference

TSPI_lineRemoveFromConference

TSPI_lineSwapHold