91. Read()

Liest DTMF-Ziffern eines Anrufers und weist die Eingabe einer Variablen zu.

Read(Variablenname[,Dateiname[,maxZiffern[,Option[,Versuche[,Timeout]]]]])

Liest eine mit # abgeschlossene Reihe von Ziffern von einem Teilnehmer, und legt sie in einer gegebenen Variablen ab.

Wenn Dateiname (ohne Endung!) angegeben ist, wird dem Anrufer diese Datei vor dem Einlesen vorgespielt.

maxZiffern bestimmt die maximal zu akzeptierende Anzahl von Ziffern. Ist der Parameter angegeben, beendet die Anwendung das Einlesen, nachdem maxZiffern Ziffern eingegeben wurden (ohne dass der Teilnehmer mit der #-Taste bestätigen muss). Standardeinstellung ist 0, was bedeutet, dass keine Begrenzung existiert und auf die Eingabe von # gewartet wird. Der größte akzeptierte Wert ist 255.

Die Option skip bewirkt sofortige Rückkehr, falls der Channel nicht aktiv ist. noanswer bewirkt Einlesen sogar bei einem inaktiven Channel.

Der Anrufer hat maximal Versuche Versuche, innerhalb von Timout Sekunden eine Eingabe zu machen. (Ein Timeout von 0 bedeutet unendlich.)

Liefert -1 zurück im Falle eines Auflegens oder Fehlers, sonst 0.

; eine maximal vierstellige Zahl einlesen (3 Versuche) und dem Anrufer ansagen:
exten => 123,1,Read(NUMMER,,4,3)
exten => 123,n,SayNumber(${NUMMER})
exten => 123,n,Goto(1)
[Anmerkung]Anmerkung

Interner Hilfetext zu dieser Applikation in Asterisk 1.4: 

  -= Info about application 'Read' =- 

[Synopsis]
Read a variable

[Description]
  Read(variable[|filename][|maxdigits][|option][|attempts][|timeout])

Reads a #-terminated string of digits a certain number of times from the
user in to the given variable.
  filename   -- file to play before reading digits or tone with option i
  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.
  option     -- options are 's' , 'i', 'n'
                '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    -- An integer number of seconds to wait for a digit response. If greater
                than 0, that value will override the default timeout.

Read should disconnect if the function fails or errors out.

Differenz zum internen Hilfetext in Asterisk 1.2: 

12c12
<   filename   -- file to play before reading digits or tone with option i
---
>   filename   -- file to play before reading digits.
18,21c18,19
<   option     -- options are 's' , 'i', 'n'
<                 '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.
---
>   option     -- may be 'skip' to return immediately if the line is not up,
>                 or 'noanswer' to read digits even if the line is not up.
24,25c22
<   timeout    -- An integer number of seconds to wait for a digit response. If greater
<                 than 0, that value will override the default timeout.
---
>   timeout    -- if greater than 0, that value will override the default timeout.

Siehe auch. Abschnitt 106, „SendDTMF()


Asterisk Schulung

2.1 Beta-Version!

2.1 Beta-Version des Asterisk Buches. Die 1.0 stabile Version ist ebenfalls online. Bitte melden Sie Fehler und Feedback per E-Mail an den Autor.

YouTube Screencasts

Kostenlose Asterisk Screencasts mit jeweils 10 minütigen Erklärungen zu Spezial-Themen.

Shameless Plug

noch-ne-auto-seite.de

Das gedruckte Buch

Werbung

Asterisk-Tag.org 2008

Auf der Asterisk-Tag.org Webseite finden Sie die Folien und Videos der Vorträge.