Aplicações do Dialplan do Asterisk 20
Comando:
Read()
Sinopse:
Ler uma variável.
Descrição:
Lê uma string de dígitos terminada em # um determinado número de vezes do usuário e armazena na variável especificada. Esta aplicação define a seguinte variável de canal após a conclusão: READSTATUS - Este é o status da operação de leitura. Pode ser: OK, ERROR, HANGUP, INTERRUPTED, SKIPPED, TIMEOUT.
Sintaxe: Read(variable,filename&[filename2[&...]],[maxdigits,[options,[attempts,[timeout]]]]])
Parâmetros:
- variable: os dígitos digitados serão armazenados no nome da variável fornecida
- filenames: lista separada por e-comercial (&) de nomes de arquivos para reproduzir antes de ler os dígitos ou tom com a opção 'i'. Se o nome do arquivo for relativo (não começa com barra), 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 e iniciará a reprodução. Para incluir um '&' literal na URL, envolva-a com aspas simples
- maxdigits: número máximo aceitável de dígitos. Para de ler após maxdigits serem digitados (sem exigir que o usuário pressione a tecla '#'). O padrão é '0' - sem limite - aguarda o usuário pressionar '#'. Qualquer valor abaixo de '0' significa o mesmo. Valor máximo aceito é '255'
- options: 's' para retornar imediatamente se a linha não estiver ativa; 'i' para reproduzir o nome do arquivo como tom de indicação do seu indications.conf; 'n' para ler dígitos mesmo que a linha não esteja ativa; 't' dígito(s) terminador(es) para finalizar a entrada. O padrão é '#'. Se precisar ler o dígito '#' literalmente, deve remover ou alterar o caractere terminador. Múltiplos caracteres terminadores podem ser especificados. Se nenhum dígito terminador estiver presente, a entrada não pode 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' para ler o terminador como string de dígitos se o único dígito lido for o terminador. Isso é para casos onde o terminador é um dígito válido, mas apenas por si só. Exemplo: '1234' e '#' são válidos, mas '1234#' não é
- attempts: se maior que '1', essa quantidade de tentativas será feita no caso de nenhum dado ser digitado
- timeout: 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 número decimal
Sintaxe:
Read(variable,filename&[filename2[&...]],[maxdigits,[options,[attempts,[timeout]]]]])
Veja Também:
Fonte: Asterisk Wiki