Filas de chamadas e pontos de rota
Uma fila de chamadas ou ponto de rota é um endereço especial dentro da opção em que as chamadas são temporariamente mantidas em ação pendente. Essa característica é representada pelos bits LINEADDRCAPFLAGS_QUEUE e LINEADDRCAPFLAGS_ROUTEPOINT no membro dwAddrCapFlags em LINEADDRESSCAPS. Todas as chamadas que aparecem nesse endereço estão aguardando ação do aplicativo e pode haver ações padrão que ocorrem (por exemplo, transferência para um agente ou tronco) se o aplicativo não executar nenhuma ação dentro de um período de tempo definido. O aplicativo deve ser configurado pelo administrador do sistema para que ele saiba quais ações devem ser executadas em relação às chamadas que aparecem em cada fila ou endereço do ponto de rota e a quantidade de tempo disponível para decidir sobre a ação a ser tomada.
Os aplicativos podem determinar o número de chamadas pendentes em uma fila ou ponto de rota usando lineGetAddressStatus. A função lineGetCallInfo pode ser usada para obter informações como ID de chamada, ID chamada, origem de entrada ou saída e assim por diante e usada pelo aplicativo para tomar decisões sobre o tratamento de chamadas; as chamadas podem ser redirecionadas, transferidas às cegas, descartadas e assim por diante ou apenas permitidas para passar automaticamente da fila para um destino. Uma chamada vai para LINECALLSTATE_DISCONNECTED se for abandonada. As chamadas ficam ociosas quando saem da fila; lineGetCallInfo pode ser usado para ler o identificador de redirecionamento para determinar para onde eles foram transferidos.
Algumas opções permitem que chamadas em uma fila ou em espera recebam tratamento específico, como silêncio, ringback, sinal ocupado, música ou ouvir um anúncio gravado. A função lineSetCallTreatment permite que o aplicativo controle o tratamento. A estrutura delimitada pelos membros dwCallTreatmentListSize e dwCallTreatmentListOffset em LINEADDRESSCAPS permite que os aplicativos determinem os tratamentos com suporte. O membro dwCallTreatment em LINECALLINFO indica o tratamento atual e uma mensagem LINE_CALLINFO com LINECALLINFOSTATE_TREATMENT indica quando isso é alterado. O LINECALLFEATURE_SETTREATMENT bit no membro dwCallFeatures em LINECALLSTATUS indica quando o aplicativo tem permissão para alterar o tratamento. O conjunto LINECALLTREATMENT_ de constantes define um conjunto limitado de tratamentos de chamadas predefinidos; os provedores de serviços podem definir muito mais.