Partilhar via


Marcação

As operações de discagem permitem que um aplicativo envie dígitos adicionais em uma sessão criada anteriormente. Um exemplo de uso de discagem parcial é discar uma extensão. A discagem parcial às vezes é chamada de discagem incremental ou discagem atrasada.

Quando o endereço fornecido estiver incompleto, a discagem de alguns dos dígitos pode ser atrasada colocando um ponto-e-vírgula (;) no final do número. Uma operação de discagem é então usada para enviar dados de endereço adicionais na sessão existente, como discar o endereço de uma parte para a qual a chamada será transferida.

Cada provedor de serviços deve rejeitar uma cadeia de discagem que contenha o ? caractere e deixe que o aplicativo lide com ele conforme apropriado. Por exemplo, o aplicativo poderia usar discagem parcial para discar a cadeia de caracteres, até, mas não incluindo o ? caractere e, em seguida, exiba uma caixa de diálogo para permitir que o usuário sinalize quando o restante da cadeia de discagem deve ser discado.

Um motivo adicional para um aplicativo usar discagem parcial é se o provedor de serviços não oferecer suporte a um ou mais caracteres de controle de deteção de progresso de chamada. Esses caracteres, que podem ocorrer em um endereço discável, são W (aguarde o tom de discagem); @ (aguarde resposta tranquila); e $ (aguarde o tom de prompt do cartão de chamada). Esses e todos os outros caracteres usados em cadeias de caracteres de endereço são discutidos com mais detalhes em Endereços discáveis.

O provedor indica quais modificadores de cadeia de caracteres de discagem "aguardam" que ele suporta. Um aplicativo TAPI 2 encontra esses dados no dwDevCapFlags membro da estruturaLINEDEVCAPS retornada por lineGetDevCaps. Um aplicativo TAPI 3 chama ITAddressCapabilities::get_AddressCapability com AddressCap definido como o membro AC_DEVCAPFLAGS de ADDRESS_CAPABILITY.

O aplicativo pode optar por pré-verificar cadeias de caracteres discáveis para caracteres não suportados ou pode passar a cadeia de caracteres "bruta" como parte do início de uma sessão. Se a cadeia de caracteres contiver um modificador sem suporte ou um "?", o provedor retornará um erro indicando qual modificador ofensivo ocorreu primeiro dentro da cadeia de caracteres:

  • LINEERR_DIALBILLING
  • LINEERR_DIALQUIET
  • LINEERR_DIALDIALTONE
  • LINEERR_DIALPROMPT

O aplicativo pode então localizar o modificador ofensivo na cadeia de caracteres, pegar os dígitos à esquerda do modificador, acrescentar um ponto-e-vírgula e iniciar uma sessão usando o endereço parcial. O restante da cadeia de caracteres pode ser enviado usando a operação de discagem.

Nem todos os prestadores de serviços suportam a utilização desta operação.

TAPI 2.x: Consulte lineDial.

TAPI 3.x: Consulte ITBasicCallControl::D ial.