Use extensions.ael

I want to use extensions.ael instead of extensions.conf.

So I renamed extensions.conf to extensions.conf.old and ran it, but an error occurred from the beginning.

[Jul 27 23:51:26] WARNING[40844]: res_hep_pjsip.c:236 load_module: res_hep is disabled; declining module load

Loading pbx_ael.so. > Registered application ‘AELSub’ [Jul 27 23:51:26] ERROR[40844]: ael.y:839 ael_yyerror: ==== File: /etc/asterisk/extensions.ael, Line 1, Cols: 0-10: Error: syntax error, unexpected word, expecting ‘context’ [Jul 27 23:51:26] ERROR[40] 844]: pbx_ael.c:188 pbx_load_module: Sorry, but 1 syntax errors and 0 semantic errors were detected. It doesn’t make sense to compile.

  • Loading app_stasis.so.*

  • I think an error occurred in the first line of Registered application ‘Stasis’.*

extensions.ael contents

globals {
g_Att = 1;
g_AttName = “”;
g_ManNo1=0;
g_ManNo2=0;
g_ManNo3=0;
g_InfoYN = 0;
g_InfoNo = 0;
g_w1 = “”;
g_w2 = “”;
g_WeekRest = “None”;
Rtn = “”;
chan_use = 0;
dig = “”;
g_srvDate = “”;
g_season=“”;
g_vox = “”;

};
context db_hangup {
han => {
playback(/etc/asterisk/sounds/DatabaseError);
Hangup();
};
};
context hdlr_hangup {
s => {
NoOp(… Phone hangup…);
chan_use = 0;
HangUp();
};
}; context ivr-parkgolf { s => { Wait(1);
Answer();
chan_use = 1;
Set(CHANNEL(hangup_handler_push) = hdlr_hangup,s,1);
g_Att = 1;

agi(/usr/src/cprog/func_init);
switch (${Rtn}) { case 0 : goto db_hangup|s|1;
break;
case 10: playback(/etc/asterisk/sounds/${g_Att}_Notice${g_InfoNo});
hangup();
break;
case 20: playback(/etc/asterisk/sounds/${g_Att}_Closed day information);
hangup();
break;
case 30: playback(/etc/asterisk/sounds/not reception time);
hangup();
break;
case 40:
playback(/etc/asterisk/sounds/${g_Att}_AdministratorCall);
Hangup();
break;
case 50:
break;
};

It starts with , what’s the problem?
For reference, I’m using ubutu 24 and asterisk 18.

The following error also occurs:
[Jul 27 23:51:26] WARNING[40844]: loader.c:2563 load_modules: Some non-required modules failed to load.
[Jul 27 23:51:26] WARNING[40844]: loader.c:2657 load_modules: Module ‘res_monitor’ has been loaded but was deprecated in Asterisk version 16 and will be removed in Asterisk version 21. Its replacemen t is ‘app_mixmonitor’.
[Jul 27 23:51:26] WARNING[40844]: loader.c:2657 load_modules: Module ‘chan_skinny’ has been loaded but will be deprecated in Asterisk version 19 and will be removed in Asterisk version 21.
[Jul 27 23:51:26] WARNING[40844]: loader.c:2657 load_modules: Module ‘chan_sip’ has been loaded but was deprecated in Asterisk version 17 and will be removed in Asterisk version 21.
[Jul 27 23:51:26] WARNING[40844]: loader.c:2657 load_modules: Module ‘chan_mgcp’ has been loaded but will be deprecated in Asterisk version 19 and will be removed in Asterisk version 21.
[Jul 27 23:51:26] WARNING[40844]: loader.c:2657 load_modules: Module ‘res_adsi’ has been loaded but may be removed in a future release.
[Jul 27 23:51:27] WARNING[40844]: loader.c:2657 load_modules: Module ‘app_adsiprog’ has been loaded but may be removed in a future release.
[Jul 27 23:51:27] WARNING[40844]: loader.c:2657 load_modules: Module ‘app_nbscat’ has been loaded but was deprecated in Asterisk version 16 and will be removed in Asterisk version 19.
[Jul 27 23:51:27] WARNING[40844]: loader.c:2657 load_modules: Module ‘app_url’ has been loaded but was deprecated in Asterisk version 16 and will be removed in Asterisk version 19.
[Jul 27 23:51:27] WARNING[40844]: loader.c:2657 load_modules: Module ‘app_getcpeid’ has been loaded but may be removed in a future release.
[Jul 27 23:51:27] WARNING[40844]: loader.c:2657 load_modules: Module ‘app_ices’ has been loaded but was deprecated in Asterisk version 16 and will be removed in Asterisk version 19.
[Jul 27 23:51:27] WARNING[40844]: loader.c:2657 load_modules: Module ‘app_osplookup’ has been loaded but will be deprecated in Asterisk version 19 and will be removed in Asterisk version 21.
[Jul 27 23:51:27] WARNING[40844]: loader.c:2657 load_modules: Module ‘app_image’ has been loaded but was deprecated in Asterisk version 16 and will be removed in Asterisk version 19.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: chan_alsa declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: res_pjsip_transport_websocket declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: cdr_pgsql declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: cdr_sqlite3_custom declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: cel_tds declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: cdr_tds declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: cel_sqlite3_custom declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: cdr_radius declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: cel_radius declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: cdr_csv declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: pbx_config declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: res_hep_rtcp declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: chan_oss declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: res_hep_pjsip declined to load.
[Jul 27 23:51:27] ERROR[40844]: loader.c:2678 load_modules: pbx_ael declined to load.
[Jul 27 23:51:27] WARNING[40851]: chan_sip.c:35470 deprecation_notice: chan_sip has no official maintainer and is deprecated. Migration to
[Jul 27 23:51:27] WARNING[40851]: chan_sip.c:35471 deprecation_notice: chan_pjsip is recommended. See guides at the Asterisk Wiki:
[Jul 27 23:51:27] WARNING[40851]: chan_sip.c:35472 deprecation_notice: https://wiki.asterisk.org/wiki/display/AST/Migrating+from+chan_sip+to+res_pjsip
[Jul 27 23:51:27] WARNING[40851]: chan_sip.c:35473 deprecation_notice: https://wiki.asterisk.org/wiki/display/AST/Configuring+res_pjsip
Asterisk Ready.
*CLI> == Contact 9001/sip:9001@172.30.1.70:57477;transport=UDP;rinstance=ce665ee495fdc46e has been deleted
– Added contact ‘sip:9001@172.30.1.70:57477;transport=UDP;rinstance=06ffb2b4c3302e30’ to AOR ‘9001’ with expiration of 60 seconds

The extensions.ael you pasted is hard to read because you didn’t format it as code or preformatted text but it appears to be missing two closing braces at the end of the file. I’m not sure if that’s how the file really is or you just didn’t paste the full file. There’s also an additional problem where your case 0 : tries to goto db_hangup|s|1; except there’s no ‘s’ extension in the db_hangup context.

Once you fix both of those issues, the file should load. The rest of the WARNINGs are simply telling you that those particular modules are deprecated and the ERRORs are telling you about modules that refused to load, most probably because they’re not configured. If you don’t use those modules, you can add noload = <module>.so entries to modules.conf.

Assuming it wasn’t further garbled, as happened with the log, the code is:

globals { 
g_Att = 1;
 g_AttName = "";
 g_ManNo1=0;
g_ManNo2=0;
g_ManNo3=0;
g_InfoYN = 0;
g_InfoNo = 0;
g_w1 = "";
g_w2 = "";
g_WeekRest = "None";
Rtn = "";
chan_use = 0;
dig = "";
g_srvDate = "";
g_season="";
g_vox = "";

};
context db_hangup {
han => {
playback(/etc/asterisk/sounds/DatabaseError);
Hangup();
};
};
context hdlr_hangup {
s => {
NoOp(.. Phone hangup..);
chan_use = 0;
HangUp();
};
}; context ivr-parkgolf { s => { Wait(1);
 Answer();
 chan_use = 1;
 Set(CHANNEL(hangup_handler_push) = hdlr_hangup,s,1);
 g_Att = 1;

 agi(/usr/src/cprog/func_init);
 switch (${Rtn}) { case 0 : goto db_hangup|s|1;
 break;
 case 10: playback(/etc/asterisk/sounds/${g_Att}_Notice${g_InfoNo});
 hangup();
 break;
 case 20: playback(/etc/asterisk/sounds/${g_Att}_Closed day information);
 hangup();
 break;
 case 30: playback(/etc/asterisk/sounds/not reception time);
 hangup();
 break;
case 40:
playback(/etc/asterisk/sounds/${g_Att}_AdministratorCall);
Hangup();
break;
case 50:
break;
};

I’m wondering if there are Unicode byte order marks at the start of the file. The parser may not no know to treat those as white space.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.