$      !"#. $ %&'( channel if not already in answer state "True on success, False on failure file to stream /timout in ms after keypress (default: 2000 ms) max 6Nothing on failure, Just (digits, timeout) on success record to this file |GSM | WAV| 1stop recording if one of these digits is entered 7maximum record time in milliseconds, -1 for no timeout offset samples %beep to indicate recording has begun 6stop recording if this many seconds of silence passes exit condition, endpos=offset !! says the specified number number to say 1return early if any of these digits are received 8Nothing on failure, Just Nothing on success, Just (Just  digit) if key is pressed "file to stream escape digits sample offset On failure: Left  endpos". On success: Right (Maybe Digit,  endpos) #+wait for channel to receive a DTMF digit. 2timeout in milliseconds, -1 to block indefinitely ;|Nothing| on error, |Just Nothing| on timeout, |Just (Just  digit)| on success (parse 0 as True, -1 as failure )parse ' 200 result=' *parse a block of zero or more ' ' and '\t' characters (but not '\n') +,-$  !"#$    !"#$    !"#.      !"#$%&'()*+,-./ AGI-1.1.1 Network.AGI RecordResult RandomErrorTimeout InterruptedHangUpFailureOnWaitForFailureToWrite SoundTypeGSMWAVDigitNineEightSevenSixFiveFourThreeTwoOneZeroStarPoundAGIppDigitppEscapeDigitsrunsendRecvanswerhangUpgetDatarecord sayDigits sayNumber streamFile waitForDigitCommandrunAGI readAgiVarspSuccessFailurepResultpSpacepDigit pAsciiDigitpEndPos