|
|
|
@ -29,22 +29,22 @@
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\file
|
|
|
|
|
\brief The AMI - Asterisk Manager Interface - is a TCP protocol created to
|
|
|
|
|
\brief The AMI - Asterisk Manager Interface - is a TCP protocol created to
|
|
|
|
|
manage Asterisk with third-party software.
|
|
|
|
|
|
|
|
|
|
Manager protocol packages are text fields of the form a: b. There is
|
|
|
|
|
always exactly one space after the colon.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The first header type is the "Event" header. Other headers vary from
|
|
|
|
|
event to event. Headers end with standard \r\n termination.
|
|
|
|
|
The last line of the manager response or event is an empty line.
|
|
|
|
|
(\r\n)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
** Please try to re-use existing headers to simplify manager message parsing in clients.
|
|
|
|
|
Don't re-use an existing header with a new meaning, please.
|
|
|
|
|
You can find a reference of standard headers in doc/manager.txt
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#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 */
|
|
|
|
@ -100,10 +100,10 @@ int ast_carefulwrite(int fd, char *s, int len, int timeoutms);
|
|
|
|
|
\param synopsis Help text (one line, up to 30 chars) for CLI manager show commands
|
|
|
|
|
\param description Help text, several lines
|
|
|
|
|
*/
|
|
|
|
|
int ast_manager_register2(
|
|
|
|
|
const char *action,
|
|
|
|
|
int authority,
|
|
|
|
|
int (*func)(struct mansession *s, struct message *m),
|
|
|
|
|
int ast_manager_register2(
|
|
|
|
|
const char *action,
|
|
|
|
|
int authority,
|
|
|
|
|
int (*func)(struct mansession *s, struct message *m),
|
|
|
|
|
const char *synopsis,
|
|
|
|
|
const char *description);
|
|
|
|
|
|
|
|
|
@ -116,28 +116,28 @@ int ast_manager_unregister( char *action );
|
|
|
|
|
/*! \param category Event category, matches manager authorization
|
|
|
|
|
\param event Event name
|
|
|
|
|
\param contents Contents of event
|
|
|
|
|
*/
|
|
|
|
|
extern int manager_event(int category, const char *event, const char *contents, ...)
|
|
|
|
|
*/
|
|
|
|
|
int manager_event(int category, const char *event, const char *contents, ...)
|
|
|
|
|
__attribute__ ((format (printf, 3,4)));
|
|
|
|
|
|
|
|
|
|
/*! Get header from mananger transaction */
|
|
|
|
|
extern char *astman_get_header(struct message *m, char *var);
|
|
|
|
|
char *astman_get_header(struct message *m, char *var);
|
|
|
|
|
|
|
|
|
|
/*! Get a linked list of the Variable: headers */
|
|
|
|
|
struct ast_variable *astman_get_variables(struct message *m);
|
|
|
|
|
|
|
|
|
|
/*! Send error in manager transaction */
|
|
|
|
|
extern void astman_send_error(struct mansession *s, struct message *m, char *error);
|
|
|
|
|
extern void astman_send_response(struct mansession *s, struct message *m, char *resp, char *msg);
|
|
|
|
|
extern void astman_send_ack(struct mansession *s, struct message *m, char *msg);
|
|
|
|
|
void astman_send_error(struct mansession *s, struct message *m, char *error);
|
|
|
|
|
void astman_send_response(struct mansession *s, struct message *m, char *resp, char *msg);
|
|
|
|
|
void astman_send_ack(struct mansession *s, struct message *m, char *msg);
|
|
|
|
|
|
|
|
|
|
extern void astman_append(struct mansession *s, const char *fmt, ...)
|
|
|
|
|
void astman_append(struct mansession *s, const char *fmt, ...)
|
|
|
|
|
__attribute__ ((format (printf, 2, 3)));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*! Called by Asterisk initialization */
|
|
|
|
|
extern int init_manager(void);
|
|
|
|
|
int init_manager(void);
|
|
|
|
|
/*! Called by Asterisk initialization */
|
|
|
|
|
extern int reload_manager(void);
|
|
|
|
|
int reload_manager(void);
|
|
|
|
|
|
|
|
|
|
#endif /* _ASTERISK_MANAGER_H */
|
|
|
|
|