Partilhar via


Estado

O estado da sessão ou da chamada indica o status atual de uma sessão, como "oferta" ou "conectado". O tratamento adequado das informações de estado é vital para o bom funcionamento da maioria das aplicações TAPI. Por exemplo, a operação de resposta pode ser executada apenas em uma sessão oferecida, mas uma transferência falhará se a sessão estiver nesse estado.

O estado de uma sessão muda como resultado de eventos. Os eventos podem ser solicitados ou não. Eventos solicitados são causados pelo aplicativo que controla a sessão, como quando ele invoca uma operação de sessão TAPI. Eventos não solicitados são causados pelo switch, pela rede telefônica, pelo usuário pressionando botões no telefone local ou pelas ações da parte remota.

Sempre que um provedor de serviços deteta uma alteração no estado da sessão, ele relata a alteração para a TAPI e a TAPI emite uma notificação de evento para todos os aplicativos de proprietário e monitoramento. O pedido deve reagir a estas notificações de forma adequada. Consulte Notificação de evento em de inicialização TAPI para obter informações sobre como controlar quais eventos são relatados a um aplicativo.

Um aplicativo deve sempre processar notificações de eventos de estado. Transições de estado válidas para uma configuração física podem ser inválidas para outra. Por exemplo, considere uma linha que termina fisicamente no computador e em um conjunto de telefones separado, criando uma configuração de linha de grupo entre o computador e o conjunto de telefones. Um aplicativo em execução no computador pode não saber sobre as atividades do conjunto telefônico. Ou seja, a linha pode estar em uso sem que o prestador de serviços tenha conhecimento disso. Um aplicativo que tenta fazer uma chamada de saída terá êxito em alocar uma aparência de chamada da TAPI, mas isso resulta no compartilhamento da chamada ativa na linha. Enviar cegamente uma cadeia de discagem DTMF sem primeiro verificar um tom de discagem pode não resultar em comportamento intencional (ou educado).

Uma candidatura não deve pressupor uma progressão rígida de um estado para outro. Os eventos de estado chegam e são encaminhados de forma assíncrona e as notificações podem não ser recebidas em uma ordem previsível. Portanto, as notificações de estado de chamada devem ser vistas como informando ao aplicativo o novo estado da chamada, em vez de relatar as transições entre dois estados.

Todos os prestadores de serviços telefónicos devem fornecer estas informações.

**TAPI 2.x: **lineGetCallStatus, lineGetCallInfo, LINE_CALLSTATE mensagem, LINECALLSTATE_ Constants

**TAPI 3.x: **ITCallInfo::get_CallInfoLong (CIL_CALLID membro do CALLINFO_LONG), ITCallStateEvent notificação, CALL_STATE enumerador