Aplicações do Dialplan do Asterisk 21
Descrição:O comando
Read() lê uma sequência de dígitos terminada por '#' do usuário, armazenando-a na variável especificada. Ele pode repetir a solicitação um certo número de vezes.
Após a conclusão, o comando define a seguinte variável de canal:
READSTATUS - Indica o status da operação de leitura. Os valores possíveis são: OK, ERROR, HANGUP, INTERRUPTED, SKIPPED, TIMEOUT.
Sintaxe: 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, coloque a URL entre aspas simples.
- maxdigits - Número máximo de dígitos aceitáveis. A leitura é interrompida após o usuário inserir esse número de dígitos (sem exigir que ele pressione a tecla '#'). O valor padrão é '0', que significa sem limite - aguarda até que o usuário pressione '#'. Qualquer valor abaixo de '0' tem o mesmo significado. O valor máximo aceito é '255'.
- options - Opções adicionais:
- s - Retorna imediatamente se a linha não estiver ativa.
- i - Reproduz o nome do arquivo como um tom de indicação do 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, deve 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 comando fará esse número de tentativas caso nenhum dado seja inserido.
- timeout - O número de segundos para aguardar uma resposta do usuário. Se maior que '0', esse valor substituirá o tempo limite padrão. Pode ser um número de ponto flutuante.