Asterisk Project : Using Menuselect to Select Asterisk Options

The next step in the build process is to tell Asterisk which modules[docs:1] to compile and install, as well as set various compiler options. These settings are all controlled via a menu-driven system called menuselect. To access the menuselect system, type:

[root@server asterisk-1.8.X.Y]# make menuselect

Terminal Window

Icon

Your terminal window size must be at least eighty characters wide and twenty-one lines high, or menuselect will not work. Instead, you'll get an error message stating

Terminal must be at least 80 x 21.

Asterisk 1.8+

Icon
Terminal must be at least 80 x 27.

The menuselect menu should look like the screen-shot below. On the left-hand side, you have a list of categories, such as Applications, Channel Drivers, and PBX Modules. On the right-hand side, you'll see a list of modules that correspond with the select category. At the bottom of the screen you'll see two buttons. You can use the Tab key to cycle between the various sections, and press the Enter key to select or unselect a particular module. If you see [docs:] next to a module name, it signifies that the module has been selected. If you see *XXX next to a module name, it signifies that the select module cannot be built, as one of its dependencies is missing. In that case, you can look at the bottom of the screen for the line labeled Depends upon: for a description of the missing dependency.

When you're first learning your way around Asterisk on a test system, you'll probably want to stick with the default settings in menuselect. If you're building a production system, however, you may not wish to build all of the various modules, and instead only build the modules that your system is using.



Icon

Easier Debugging of Asterisk Crashes

If you're finding that Asterisk is crashing on you, there's a setting in menuselect that will help provide additional information to the Asterisk developers. Go into menuselect, select the the Compiler Flags section (you'll need to scroll down in the left-hand list), and select the DONT_OPTIMIZE setting. Then rebuild Asterisk as shown below. While the Asterisk application will be slightly larger, it will provide additional debugging symbols in the event of a crash.

We should also inform people that the sound prompts are selected in menuselect as well

When you are finished selecting the modules and options you'd like in menuselect, press F12 to save and exit, or highlight the Save and Exit button and press enter.

Attachments:

menuselect.png (image/png)

Comments:

Using menuselect within a script

Icon

If you would like to use menuselect from within a script in order to enable/disable some option (e.g. for automating compilation/installation process) you can use:

$ make menuselect.makeopts
$ menuselect/menuselect --enable [your-option-here] menuselect.makeopts

For a list of available options and menuselect usage, see:

$ menuselect/menuselect --list-options
$ menuselect/menuselect --help
Posted by khratos at May 16, 2011 14:23

To activate MySQL Addons (as an example):

menuselect/menuselect --enable app_mysql --enable cdr_mysql --enable res_config_mysql menuselect.makeopts
Posted by ollii at Aug 24, 2011 07:51