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.
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 |