# Asterisk Project : Asterisk 13 Application_Read

Created by wikibot on Aug 08, 2014

# Read()

### Synopsis

Read a variable.

### Description

Reads a #-terminated string of digits a certain number of times from the user in to the given variable.

This application sets the following channel variable upon completion:

- `READSTATUS` - This is the status of the read operation.
  - OK
  - ERROR
  - HANGUP
  - INTERRUPTED
  - SKIPPED
  - TIMEOUT

### Syntax

    Read(variable,filename&[filename2[&...]],[maxdigits,[options,[attempts,[timeout]]]]])

##### Arguments

- `variable` - The input digits will be stored in the given variable name.
- `filenames`
  - `filename` - file(s) to play before reading digits or tone with option i
  - `filename2`
- `maxdigits` - Maximum acceptable number of digits. Stops reading after maxdigits have been entered (without requiring the user to press the `#` key).
  Defaults to `0` - no limit - wait for the user press the `#` key. Any value below `0` means the same. Max accepted value is `255`.
- `options`
  - `s` - to return immediately if the line is not up.
  - `i` - to play filename as an indication tone from your `indications.conf`.
  - `n` - to read digits even if the line is not up.
- `attempts` - If greater than `1`, that many attempts will be made in the event no data is entered.
- `timeout` - The number of seconds to wait for a digit response. If greater than `0`, that value will override the default timeout. Can be floating point.

### See Also

- Asterisk 13 Application_SendDTMF

### Import Version

This documentation was imported from Asterisk Version SVN-branch-13-r420538