LINE_NEWCALL mensagem
A mensagem de LINE_NEWCALL TSPI é enviada para a função de retorno de chamada LINEEVENT sempre que uma nova chamada que TAPI não foi originada chega em uma linha que TAPI abriu. Essa deve ser a primeira mensagem enviada em relação a essa chamada. O TAPI grava o identificador opaco htCall no local passado pelo provedor de serviços como dwParam2. Isso fornece ao provedor de serviços o valor htCall a ser usado em mensagens subsequentes.
Parâmetros
-
htLine
-
O identificador de objeto opaco TAPI para o dispositivo de linha.
-
Htcall
-
Não utilizado.
-
dwMsg
-
O valor LINE_NEWCALL.
-
Dwparam1
-
O identificador opaco do provedor de serviços para a chamada, do tipo HDRVCALL. O TAPI passa esse valor como o parâmetro hdCall para identificar a chamada em procedimentos subsequentes invocados para operar na chamada.
-
Dwparam2
-
Um ponteiro do tipo LPHTAPICALL apontando para um HTAPICALL. O TAPI grava o identificador opaco TAPI para a chamada no local indicado. O provedor de serviços deve salvar esse valor e passá-lo como o parâmetro htCall para identificar a chamada em eventos subsequentes que relata para a chamada.
Esse parâmetro também pode adquirir um valor nulo (consulte a seção Comentários a seguir).
-
dwParam3
-
Não utilizado.
Comentários
O provedor de serviços deve enviar a mensagem LINE_CALLSTATE como a próxima mensagem para essa chamada. O evento LINE_NEWCALL é incomum, pois também passa um valor de volta para o provedor de serviços.
Essa função relata quaisquer novas chamadas originadas no provedor de serviços (entrada, saída, iniciadas no telefone e assim por diante) para as quais a TAPI e o provedor de serviços ainda não trocaram identificadores opacos. Os identificadores são trocados para que o TAPI e o provedor de serviços possam posteriormente fazer solicitações e relatar eventos envolvendo a chamada. Como essas novas chamadas não são necessariamente de entrada, as chamadas podem inicialmente estar em qualquer estado, não necessariamente no estado de oferta . Se o provedor de serviços iniciar e descobrir que uma ou mais chamadas já estão ativas na linha, ele informará o TAPI deles com LINE_NEWCALL mensagens seguidas por mensagens LINE_CALLSTATE indicando o estado atual. Uma nova chamada de saída, iniciada no telefone pelo usuário, seria relatada com uma mensagem LINE_NEWCALL e a mensagem inicial LINE_CALLSTATE indicaria que a chamada estava no estado DIALTONE (e, em seguida, continuando a partir daí).
Se o provedor de serviços passar um grande número de chamadas para TAPI em um período muito curto de tempo (durante o mesmo ciclo de interrupção), o TAPI poderá ficar registrado novamente no processamento dessas chamadas. Quando isso acontece, o TAPI sinaliza para o provedor de serviços aguardar um pouco antes de enviar mais chamadas. Ele sinaliza isso escrevendo um valor nulo, em vez de um HTAPICALL válido, no local apontado pelo parâmetro dwParam2 de LINE_NEWCALL. Isso indica que a tentativa de processar o identificador de chamada recém-oferecido não foi bem-sucedida, provavelmente devido a uma incapacidade temporária de alocar memória. O provedor de serviços pode responder descartando a chamada ou reenviando a mensagem LINE_NEWCALL após um atraso de agendamento (durante o qual o provedor de serviços deve produzir o processador para permitir que o TAPI processe outras ações pendentes). De qualquer forma, nenhuma outra mensagem sobre a nova chamada pode ser passada para TAPI até que a troca de identificadores seja bem-sucedida. Quando o local apontado por dwParam2 adquire um valor não NULL , o provedor de serviços sabe que esse valor é um identificador HTAPICALL válido para a chamada.
Não há nenhuma mensagem correspondente diretamente no nível do TAPI. Essa mensagem é usada no nível de TSPI para introduzir de forma exclusiva e inequívoca uma nova chamada de entrada para TAPI e recuperar o identificador opaco TAPI para a chamada.
Requisitos
Requisito | Valor |
---|---|
Versão do TAPI |
Requer TAPI 2.0 ou posterior |
Cabeçalho |
|