Função lineAddToConference (tapi.h)

A função lineAddToConference adiciona a chamada especificada por hConsultCall à chamada de conferência especificada por hConfCall.

Sintaxe

LONG lineAddToConference(
  HCALL hConfCall,
  HCALL hConsultCall
);

Parâmetros

hConfCall

Manipule para a chamada em conferência. O aplicativo deve ser um proprietário dessa chamada. Qualquer monitoramento (mídia, tons, dígitos) em uma chamada de conferência se aplica somente ao hConfCall, não às chamadas participantes individuais. O estado de chamada de hConfCall deve ser onHoldPendingConference ou onHold.

hConsultCall

Manipule para a chamada a ser adicionada à chamada de conferência. O aplicativo deve ser um proprietário dessa chamada. Essa chamada não pode ser pai de outra conferência ou participante em nenhuma conferência. Dependendo dos recursos do dispositivo indicados em LINEADDRESSCAPS, o hConsultCall pode não ter sido necessariamente estabelecido usando lineSetupConference ou linePrepareAddToConference. O estado de chamada de hConsultCall deve estar conectado, onHold, continuando ou ringback. Muitos PBXs permitem que chamadas sejam adicionadas às conferências antes que elas sejam realmente respondidas.

Retornar valor

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 possíveis valores retornados são:

LINEERR_CONFERENCEFULL, LINEERR_NOTOWNER, LINEERR_INVALCONFCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLSTATE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.

Comentários

Se LINEERR_INVALCALLHANDLE for retornado, o identificador de chamada especificado para a chamada adicionada será inválido; hConsultCall é pai de outra conferência ou já participante de uma conferência; hConsultCall não pode ser adicionado por outros motivos (por exemplo, ele deve ter sido estabelecido usando lineSetupConference ou linePrepareAddToConference); ou hConsultCall e hConfCall são chamadas em diferentes linhas abertas.

O identificador de chamada da parte adicionada permanece válido depois de adicionar a chamada a uma conferência. Seu estado normalmente muda para conferência , enquanto o estado da chamada de conferência normalmente se torna conectado. Usando lineGetConfRelatedCalls, você pode obter uma lista de identificadores de chamada que fazem parte da mesma chamada de conferência que a chamada especificada. A chamada especificada é uma chamada em conferência ou uma chamada de participante em uma chamada em conferência. Novos identificadores são gerados para as chamadas para as quais o aplicativo ainda não tem identificadores e o aplicativo recebe privilégio de monitor para essas chamadas. O identificador para uma chamada participante individual pode ser usado posteriormente para remover essa parte da chamada de conferência usando lineRemoveFromConference.

Se lineGetConfRelatedCalls for chamado imediatamente após lineAddToConference, ele poderá não retornar uma lista completa de chamadas relacionadas porque TAPI aguarda para receber uma mensagem LINE_CALLSTATE indicando que a chamada foi inserida LINECALLSTATE_CONFERENCED antes de considerar a chamada para realmente fazer parte da conferência (ou seja, o estado em conferência é confirmado pelo provedor de serviços). Depois que o aplicativo receber a mensagem LINE_CALLSTATE, lineGetConfRelatedCalls retornará informações completas.

Nota Todas as chamadas que fazem parte de uma conferência devem existir na mesma linha aberta.
 
Os estados de chamada das chamadas que participam de uma conferência não são independentes. Por exemplo, ao descartar uma chamada em conferência, todas as chamadas participantes podem ficar ociosas automaticamente. Um aplicativo deve consultar os recursos de dispositivo da linha para determinar qual forma de remoção de conferência está disponível. O aplicativo deve acompanhar as mensagens LINE_CALLSTATE para determinar o que aconteceu com as chamadas envolvidas.

A chamada de conferência é estabelecida por lineSetupConference ou lineCompleteTransfer. A chamada adicionada a uma conferência normalmente é estabelecida usando lineSetupConference ou linePrepareAddToConference. Alguns comutadores podem permitir a adição de chamadas arbitrárias à conferência, e essa chamada pode ter sido configurada usando lineMakeCall e estar em espera (dura). O aplicativo pode examinar o membro dwAddrCapFlags da estrutura LINEADDRESSCAPS para determinar as operações permitidas.

Requisitos

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

Confira também

Visão geral da conferência

LINEADDRESSCAPS

LINE_CALLSTATE

Funções de serviço de linha suplementar

Linecompletetransfer

lineGetConfRelatedCalls

Linemakecall

Lineprepareaddtoconference

lineRemoveFromConference

Linesetupconference