Aplicações do Dialplan do Asterisk 18
Descrição:O aplicativo
Read() lê uma sequência de dígitos terminada por '#' do usuário, um determinado número de vezes, e armazena o resultado na variável especificada.
Após a conclusão, o
Read() define a seguinte variável de canal:
READSTATUS - Status da operação de leitura. Os valores possíveis são: OK, ERROR, HANGUP, INTERRUPTED, SKIPPED, TIMEOUT.
Read(variable,filename&[filename2[&...]],[maxdigits,[options,[attempts,[timeout]]]]])
- variable - O nome da variável onde os dígitos inseridos serão armazenados.
- filenames - Lista de nomes de arquivos separados por '&' a serem reproduzidos antes de solicitar os dígitos ou um tom, com a opção 'i'. Se o nome do arquivo for relativo (não começar com '/'), ele será procurado no diretório de sons do Asterisk. Se o nome do arquivo puder ser interpretado como uma URL, o Asterisk fará o download do arquivo e iniciará a reprodução. Para incluir um '&' literal na URL, você pode colocar a URL entre aspas simples.
- maxdigits - Número máximo de dígitos aceitáveis. Interrompe a leitura após o número especificado de dígitos serem inseridos (sem exigir que o usuário pressione a tecla '#'). O padrão é '0' - sem limite - aguarda o usuário pressionar a tecla '#'. Qualquer valor abaixo de '0' tem o mesmo significado. O valor máximo aceito é '255'.
- options:
- s - Retorna imediatamente se a linha não estiver ativa.
- i - Reproduz o nome do arquivo como um tom de indicação do seu arquivo
indications.conf. - n - Lê os dígitos mesmo que a linha não esteja ativa.
- t - Dígito(s) terminador(es) a serem usados para finalizar a entrada. O padrão é '#'. Se você precisar ler o dígito '#' literalmente, deverá remover ou alterar o caractere terminador. Vários caracteres terminadores podem ser especificados. Se nenhum dígito terminador estiver presente, a entrada não poderá ser finalizada usando dígitos e você precisará confiar na duração e no número máximo de dígitos para finalizar a entrada.
- e - Lê o terminador como a string de dígitos se o único dígito lido for o terminador. Isso é para casos em que o terminador é um dígito válido, mas apenas sozinho. Ex: '1234' e '#' são válidos, mas '1234#' não é.
- attempts - Se maior que '1', o número especificado de tentativas será feito caso nenhum dado seja inserido.
- timeout - O número de segundos para aguardar uma resposta de dígito. Se maior que '0', esse valor substituirá o tempo limite padrão. Pode ser um número de ponto flutuante.