mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 11:58:52 +00:00
- Add manager command CoreSettings
- Add missing option to options.h - Add missing variables to asterisk.h - Move manager version to manager.h include file git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63030 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -63,6 +63,8 @@ extern char ast_config_AST_KEY_DIR[PATH_MAX];
|
|||||||
extern char ast_config_AST_PID[PATH_MAX];
|
extern char ast_config_AST_PID[PATH_MAX];
|
||||||
extern char ast_config_AST_SOCKET[PATH_MAX];
|
extern char ast_config_AST_SOCKET[PATH_MAX];
|
||||||
extern char ast_config_AST_RUN_DIR[PATH_MAX];
|
extern char ast_config_AST_RUN_DIR[PATH_MAX];
|
||||||
|
extern char ast_config_AST_RUN_GROUP[PATH_MAX];
|
||||||
|
extern char ast_config_AST_RUN_USER[PATH_MAX];
|
||||||
extern char ast_config_AST_CTL_PERMISSIONS[PATH_MAX];
|
extern char ast_config_AST_CTL_PERMISSIONS[PATH_MAX];
|
||||||
extern char ast_config_AST_CTL_OWNER[PATH_MAX];
|
extern char ast_config_AST_CTL_OWNER[PATH_MAX];
|
||||||
extern char ast_config_AST_CTL_GROUP[PATH_MAX];
|
extern char ast_config_AST_CTL_GROUP[PATH_MAX];
|
||||||
|
@@ -45,6 +45,7 @@
|
|||||||
You can find a reference of standard headers in doc/manager.txt
|
You can find a reference of standard headers in doc/manager.txt
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define AMI_VERSION "1.0"
|
||||||
#define DEFAULT_MANAGER_PORT 5038 /* Default port for Asterisk management via TCP */
|
#define DEFAULT_MANAGER_PORT 5038 /* Default port for Asterisk management via TCP */
|
||||||
|
|
||||||
#define EVENT_FLAG_SYSTEM (1 << 0) /* System events such as module load/unload */
|
#define EVENT_FLAG_SYSTEM (1 << 0) /* System events such as module load/unload */
|
||||||
|
@@ -110,6 +110,7 @@ enum ast_option_flags {
|
|||||||
extern struct ast_flags ast_options;
|
extern struct ast_flags ast_options;
|
||||||
|
|
||||||
extern int option_verbose;
|
extern int option_verbose;
|
||||||
|
extern int option_maxfiles; /*!< Max number of open file handles (files, sockets) */
|
||||||
extern int option_debug; /*!< Debugging */
|
extern int option_debug; /*!< Debugging */
|
||||||
extern int option_maxcalls; /*!< Maximum number of simultaneous channels */
|
extern int option_maxcalls; /*!< Maximum number of simultaneous channels */
|
||||||
extern double option_maxload;
|
extern double option_maxload;
|
||||||
|
@@ -76,6 +76,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
|
|||||||
#include "asterisk/acl.h"
|
#include "asterisk/acl.h"
|
||||||
#include "asterisk/utils.h"
|
#include "asterisk/utils.h"
|
||||||
#include "asterisk/http.h"
|
#include "asterisk/http.h"
|
||||||
|
#include "asterisk/version.h"
|
||||||
#include "asterisk/threadstorage.h"
|
#include "asterisk/threadstorage.h"
|
||||||
#include "asterisk/linkedlists.h"
|
#include "asterisk/linkedlists.h"
|
||||||
|
|
||||||
@@ -2158,6 +2159,52 @@ static int action_userevent(struct mansession *s, const struct message *m)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char mandescr_coresettings[] =
|
||||||
|
"Description: Query for Core PBX settings.\n"
|
||||||
|
"Variables: (Names marked with * are optional)\n"
|
||||||
|
" *ActionID: ActionID of this transaction\n";
|
||||||
|
|
||||||
|
/*! \brief Show PBX core settings information */
|
||||||
|
static int action_coresettings(struct mansession *s, const struct message *m)
|
||||||
|
{
|
||||||
|
const char *actionid = astman_get_header(m, "ActionID");
|
||||||
|
char idText[150];
|
||||||
|
|
||||||
|
if (!ast_strlen_zero(actionid)) {
|
||||||
|
snprintf(idText, sizeof(idText), "ActionID: %s\r\n", actionid);
|
||||||
|
}
|
||||||
|
|
||||||
|
astman_append(s, "Response: Success\r\n"
|
||||||
|
"%s"
|
||||||
|
"AMIversion: %s\r\n"
|
||||||
|
"AsteriskVersion: %s\r\n"
|
||||||
|
"SystemName: %s\r\n"
|
||||||
|
"CoreMaxCalls: %d\r\n"
|
||||||
|
"CoreMaxLoadAvg: %f\r\n"
|
||||||
|
"CoreRunUser: %s\r\n"
|
||||||
|
"CoreRunGroup: %s\r\n"
|
||||||
|
"CoreMaxFilehandles: %d\r\n"
|
||||||
|
"CoreRealTimeEnabled: %s\r\n"
|
||||||
|
"CoreCDRenabled: %s\r\n"
|
||||||
|
"CoreHTTPenabled: %s\r\n"
|
||||||
|
,
|
||||||
|
AMI_VERSION,
|
||||||
|
idText,
|
||||||
|
ASTERISK_VERSION,
|
||||||
|
ast_config_AST_SYSTEM_NAME,
|
||||||
|
option_maxcalls,
|
||||||
|
option_maxload,
|
||||||
|
ast_config_AST_RUN_USER,
|
||||||
|
ast_config_AST_RUN_GROUP,
|
||||||
|
option_maxfiles,
|
||||||
|
ast_realtime_enabled() ? "Yes" : "No",
|
||||||
|
check_cdr_enabled() ? "Yes" : "No",
|
||||||
|
check_webmanager_enabled() ? "Yes" : "No"
|
||||||
|
);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Done with the action handlers here, we start with the code in charge
|
* Done with the action handlers here, we start with the code in charge
|
||||||
* of accepting connections and serving them.
|
* of accepting connections and serving them.
|
||||||
@@ -2354,7 +2401,7 @@ static void *session_do(void *data)
|
|||||||
/* Hook to the tail of the event queue */
|
/* Hook to the tail of the event queue */
|
||||||
s->last_ev = grab_last();
|
s->last_ev = grab_last();
|
||||||
s->f = ser->f;
|
s->f = ser->f;
|
||||||
astman_append(s, "Asterisk Call Manager/1.0\r\n"); /* welcome prompt */
|
astman_append(s, "Asterisk Call Manager/%s\r\n", AMI_VERSION); /* welcome prompt */
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if ((res = do_message(s)) < 0)
|
if ((res = do_message(s)) < 0)
|
||||||
break;
|
break;
|
||||||
@@ -3124,6 +3171,7 @@ int init_manager(void)
|
|||||||
ast_manager_register2("SendText", EVENT_FLAG_CALL, action_sendtext, "Send text message to channel", mandescr_sendtext);
|
ast_manager_register2("SendText", EVENT_FLAG_CALL, action_sendtext, "Send text message to channel", mandescr_sendtext);
|
||||||
ast_manager_register2("UserEvent", EVENT_FLAG_USER, action_userevent, "Send an arbitrary event", mandescr_userevent);
|
ast_manager_register2("UserEvent", EVENT_FLAG_USER, action_userevent, "Send an arbitrary event", mandescr_userevent);
|
||||||
ast_manager_register2("WaitEvent", 0, action_waitevent, "Wait for an event to occur", mandescr_waitevent);
|
ast_manager_register2("WaitEvent", 0, action_waitevent, "Wait for an event to occur", mandescr_waitevent);
|
||||||
|
ast_manager_register2("CoreSettings", EVENT_FLAG_SYSTEM, action_coresettings, "Show PBX core settings (version etc)", mandescr_coresettings);
|
||||||
|
|
||||||
ast_cli_register_multiple(cli_manager, sizeof(cli_manager) / sizeof(struct ast_cli_entry));
|
ast_cli_register_multiple(cli_manager, sizeof(cli_manager) / sizeof(struct ast_cli_entry));
|
||||||
ast_extension_state_add(NULL, NULL, manager_state_cb, NULL);
|
ast_extension_state_add(NULL, NULL, manager_state_cb, NULL);
|
||||||
|
Reference in New Issue
Block a user