Asterisk 14 "No application 'Read' for extension"

I just upgraded from Asterisk 11 where this script was working to Asterisk 14. I am getting a slew of errors that are surprising. This is the extension code that is called on an incoming call:

[inbound-record]
exten => _.,1,Answer()
exten => _.,n,Set(TIMEOUT(digit)=5)  
exten => _.,n,Set(TIMEOUT(response)=25)  
exten => _.,n,Background(/var/lib/asterisk/sounds/defaultsounds/enter-office-num)
exten => _.,n,Read(ACCOUNTNUM)
exten => _.,n,Playback(/var/lib/asterisk/sounds/defaultsounds/security-code)
exten => _.,n,Read(PINNUM)

exten => _.,n,Set(USER_ID=${CURL(http://example.com/api/calls/auth?phone=${ACCOUNTNUM}&pin=${PINNUM})})	; Should return account # or false
exten => _.,n,NoOp(${USER_ID})
exten => _.,n,GotoIf($["${USER_ID}" = "false"]?wrong-password,s,1)														; They entered a wrong pin or phone #

I am getting errors trying to set the timeouts and using the Read() application, any reason why? There might be more errors that we will get to below, but it hangs up after hitting the Read() error.

== Setting global variable 'SIPDOMAIN' to '192.168.1.235'
    -- Executing [11@inbound-record:1] Answer("PJSIP/11-00000000", "") in new stack
    -- Executing [11@inbound-record:2] Set("PJSIP/11-00000000", "TIMEOUT(digit)=5") in new stack
[2017-08-07 14:05:38] ERROR[5019][C-00000001]: pbx_functions.c:699 ast_func_write: Function TIMEOUT not registered
    -- Executing [11@inbound-record:3] Set("PJSIP/11-00000000", "TIMEOUT(response)=25") in new stack
[2017-08-07 14:05:38] ERROR[5019][C-00000001]: pbx_functions.c:699 ast_func_write: Function TIMEOUT not registered
    -- Executing [11@inbound-record:4] BackGround("PJSIP/11-00000000", "/var/lib/asterisk/sounds/defaultsounds/enter-office-num") in new stack
    -- <PJSIP/11-00000000> Playing '/var/lib/asterisk/sounds/defaultsounds/enter-office-num.slin' (language 'en')
[2017-08-07 14:05:40] WARNING[5019][C-00000001]: pbx.c:2903 pbx_extension_helper: No application 'Read' for extension (inbound-record, 11, 5)
  == Spawn extension (inbound-record, 11, 5) exited non-zero on 'PJSIP/11-00000000'
    -- Executing [h@inbound-record:1] Answer("PJSIP/11-00000000", "") in new stack
  == Spawn extension (inbound-record, h, 1) exited non-zero on 'PJSIP/11-00000000'

I have tried to uninstall and rebuilding both versions 13 and 14 using “make menuselect” making sure the options are selected for the Read application, but when I finish, I can’t see it inside the Asterisk application:

*CLI> core show applications
    -= Registered Asterisk Applications =-
                Answer: Answer a channel if ringing. 
            BackGround: Play an audio file while waiting for digits of an extension to go to. 
                Bridge: Bridge two channels. 
                  Busy: Indicate the Busy condition. 
  CallCompletionCancel: Cancel call completion service 
  CallCompletionRequest: Request call completion service for previous call 
            Congestion: Indicate the Congestion condition. 
            ExecIfTime: Conditional application execution based on the current time. 
                  Goto: Jump to a particular priority, extension, or context. 
                GotoIf: Conditional goto. 
            GotoIfTime: Conditional Goto based on the current time. 
                Hangup: Hang up the calling channel. 
             ImportVar: Import a variable from a channel into a new variable. 
            Incomplete: Returns AST_PBX_INCOMPLETE value. 
           MessageSend: Send a text message. 
                  MSet: Set channel variable(s) or function value(s). 
                  NoOp: Do Nothing (No Operation). 
            Proceeding: Indicate proceeding. 
              Progress: Indicate progress. 
        RaiseException: Handle an exceptional condition. 
               Ringing: Indicate ringing tone. 
              SayAlpha: Say Alpha. 
          SayAlphaCase: Say Alpha. 
             SayDigits: Say Digits. 
             SayNumber: Say Number. 
           SayPhonetic: Say Phonetic. 
                   Set: Set channel variable or function value. 
           SetAMAFlags: Set the AMA Flags. 
                  Wait: Waits for some time. 
             WaitExten: Waits for an extension to be entered. 
    -= 30 Applications Registered =-

What can I do to enable these built in application? Any way to enable it from the CLI?

It looks like you only have the bullt-in applications.

Try manually loading an application module (e.g. app_dial). That may tell you if you have a problem with the modules directory. If that’s OK, look at modules.conf. It would normally have autoload=yes.

1 Like

Thanks, I am not sure how this happened, but after compiling Asterisk 14 the first time I had done the “make samples” and “make basic-pbx” and had not done “make config” and so couldn’t start it as a service. I was working around that issue, but couldn’t get the applications to load.

After reinstalling 14, and then 13 I ran across the command “make config” in someone’s tutorial (it isn’t a suggested thing in the Makefile) to create the init.d files, and then everything worked.