diff options
author | Eliel C. Sardanons <eliels@gmail.com> | 2009-05-22 17:52:35 +0000 |
---|---|---|
committer | Eliel C. Sardanons <eliels@gmail.com> | 2009-05-22 17:52:35 +0000 |
commit | 2c882626a0ebbfe6dfe9d89cb495765a218e978d (patch) | |
tree | e1c6ca80d913c0e0aa3166a40d7b8e4461cd62d1 /channels | |
parent | 3c7db3b7e84c8dbf1f561f8e37b23add5332d456 (diff) |
Implement a new element in AstXML for AMI actions documentation.
A new xml element was created to manage the AMI actions documentation,
using AstXML.
To register a manager action using XML documentation it is now possible
using ast_manager_register_xml().
The CLI command 'manager show command' can be used to show the parsed
documentation.
Example manager xml documentation:
<manager name="ami action name" language="en_US">
<synopsis>
AMI action synopsis.
</synopsis>
<syntax>
<xi:include xpointer="xpointer(...)" /> <-- for ActionID
<parameter name="header1" required="true">
<para>Description</para>
</parameter>
...
</syntax>
<description>
<para>AMI action description</para>
</description>
<see-also>
...
</see-also>
</manager>
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_agent.c | 42 | ||||
-rw-r--r-- | channels/chan_dahdi.c | 107 | ||||
-rw-r--r-- | channels/chan_iax2.c | 49 | ||||
-rw-r--r-- | channels/chan_sip.c | 118 | ||||
-rw-r--r-- | channels/chan_skinny.c | 95 |
5 files changed, 309 insertions, 102 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c index d922d4927..17b20cd8b 100644 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -167,6 +167,34 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") </syntax> <description /> </function> + <manager name="Agents" language="en_US"> + <synopsis> + Lists agents and their status. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + </syntax> + <description> + <para>Will list info about all possible agents.</para> + </description> + </manager> + <manager name="AgentLogoff" language="en_US"> + <synopsis> + Sets an agent as no longer logged in. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="Agent" required="true"> + <para>Agent ID of the agent to log off.</para> + </parameter> + <parameter name="Soft"> + <para>Set to <literal>true</literal> to not hangup existing calls.</para> + </parameter> + </syntax> + <description> + <para>Sets an agent as no longer logged in.</para> + </description> + </manager> ***/ static const char tdesc[] = "Call Agent Proxy Channel"; @@ -175,16 +203,6 @@ static const char config[] = "agents.conf"; static const char app[] = "AgentLogin"; static const char app3[] = "AgentMonitorOutgoing"; -static const char mandescr_agents[] = -"Description: Will list info about all possible agents.\n" -"Variables: NONE\n"; - -static const char mandescr_agent_logoff[] = -"Description: Sets an agent as no longer logged in.\n" -"Variables: (Names marked with * are required)\n" -" *Agent: Agent ID of the agent to log off\n" -" Soft: Set to 'true' to not hangup existing calls\n"; - static char moh[80] = "default"; #define AST_MAX_AGENT 80 /*!< Agent ID or Password max length */ @@ -2559,8 +2577,8 @@ static int load_module(void) ast_register_application_xml(app3, agentmonitoroutgoing_exec); /* Manager commands */ - ast_manager_register2("Agents", EVENT_FLAG_AGENT, action_agents, "Lists agents and their status", mandescr_agents); - ast_manager_register2("AgentLogoff", EVENT_FLAG_AGENT, action_agent_logoff, "Sets an agent as no longer logged in", mandescr_agent_logoff); + ast_manager_register_xml("Agents", EVENT_FLAG_AGENT, action_agents); + ast_manager_register_xml("AgentLogoff", EVENT_FLAG_AGENT, action_agent_logoff); /* CLI Commands */ ast_cli_register_multiple(cli_agents, ARRAY_LEN(cli_agents)); diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index 5971539b0..f4b6d3aca 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -154,6 +154,89 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") <para>This application will Accept the R2 call either with charge or no charge.</para> </description> </application> + <manager name="DAHDITransfer" language="en_US"> + <synopsis> + Transfer DAHDI Channel. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="DAHDIChannel" required="true"> + <para>DAHDI channel name to transfer.</para> + </parameter> + </syntax> + <description> + <para>Transfer a DAHDI channel.</para> + </description> + </manager> + <manager name="DAHDIHangup" language="en_US"> + <synopsis> + Hangup DAHDI Channel. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="DAHDIChannel" required="true"> + <para>DAHDI channel name to hangup.</para> + </parameter> + </syntax> + <description> + <para>Hangup a DAHDI channel.</para> + </description> + </manager> + <manager name="DAHDIDialOffhook" language="en_US"> + <synopsis> + Dial over DAHDI channel while offhook. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="DAHDIChannel" required="true" /> + <parameter name="Number" required="true" /> + </syntax> + <description> + </description> + </manager> + <manager name="DAHDIDNDon" language="en_US"> + <synopsis> + Toggle DAHDI channel Do Not Disturb status ON. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="DAHDIChannel" required="true" /> + </syntax> + <description> + </description> + </manager> + <manager name="DAHDIDNDoff" language="en_US"> + <synopsis> + Toggle DAHDI channel Do Not Disturb status OFF. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="DAHDIChannel" required="true" /> + </syntax> + <description> + </description> + </manager> + <manager name="DAHDIShowChannels" language="en_US"> + <synopsis> + Show status DAHDI channels. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="DAHDIChannel" required="true" /> + </syntax> + <description> + </description> + </manager> + <manager name="DAHDIRestart" language="en_US"> + <synopsis> + Fully Restart DAHDI channels (terminates calls). + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + </syntax> + <description> + </description> + </manager> ***/ #define SMDI_MD_WAIT_TIMEOUT 1500 /* 1.5 seconds */ @@ -16193,11 +16276,11 @@ static int __unload_module(void) #endif ast_cli_unregister_multiple(dahdi_cli, ARRAY_LEN(dahdi_cli)); - ast_manager_unregister( "DAHDIDialOffhook" ); - ast_manager_unregister( "DAHDIHangup" ); - ast_manager_unregister( "DAHDITransfer" ); - ast_manager_unregister( "DAHDIDNDoff" ); - ast_manager_unregister( "DAHDIDNDon" ); + ast_manager_unregister("DAHDIDialOffhook"); + ast_manager_unregister("DAHDIHangup"); + ast_manager_unregister("DAHDITransfer"); + ast_manager_unregister("DAHDIDNDoff"); + ast_manager_unregister("DAHDIDNDon"); ast_manager_unregister("DAHDIShowChannels"); ast_manager_unregister("DAHDIRestart"); ast_channel_unregister(&dahdi_tech); @@ -17640,13 +17723,13 @@ static int load_module(void) ast_cli_register_multiple(dahdi_cli, ARRAY_LEN(dahdi_cli)); memset(round_robin, 0, sizeof(round_robin)); - ast_manager_register( "DAHDITransfer", 0, action_transfer, "Transfer DAHDI Channel" ); - ast_manager_register( "DAHDIHangup", 0, action_transferhangup, "Hangup DAHDI Channel" ); - ast_manager_register( "DAHDIDialOffhook", 0, action_dahdidialoffhook, "Dial over DAHDI channel while offhook" ); - ast_manager_register( "DAHDIDNDon", 0, action_dahdidndon, "Toggle DAHDI channel Do Not Disturb status ON" ); - ast_manager_register( "DAHDIDNDoff", 0, action_dahdidndoff, "Toggle DAHDI channel Do Not Disturb status OFF" ); - ast_manager_register("DAHDIShowChannels", 0, action_dahdishowchannels, "Show status DAHDI channels"); - ast_manager_register("DAHDIRestart", 0, action_dahdirestart, "Fully Restart DAHDI channels (terminates calls)"); + ast_manager_register_xml("DAHDITransfer", 0, action_transfer); + ast_manager_register_xml("DAHDIHangup", 0, action_transferhangup); + ast_manager_register_xml("DAHDIDialOffhook", 0, action_dahdidialoffhook); + ast_manager_register_xml("DAHDIDNDon", 0, action_dahdidndon); + ast_manager_register_xml("DAHDIDNDoff", 0, action_dahdidndoff); + ast_manager_register_xml("DAHDIShowChannels", 0, action_dahdishowchannels); + ast_manager_register_xml("DAHDIRestart", 0, action_dahdirestart); ast_cond_init(&ss_thread_complete, NULL); diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 383f97ed9..e6e1280cc 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -175,6 +175,47 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") </syntax> <description /> </function> + <manager name="IAXpeers" language="en_US"> + <synopsis> + List IAX peers. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + </syntax> + <description> + </description> + </manager> + <manager name="IAXpeerlist" language="en_US"> + <synopsis> + List IAX Peers. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + </syntax> + <description> + <para>List all the IAX peers.</para> + </description> + </manager> + <manager name="IAXnetstats" language="en_US"> + <synopsis> + Show IAX Netstats. + </synopsis> + <syntax /> + <description> + <para>Show IAX channels network statistics.</para> + </description> + </manager> + <manager name="IAXregistry" language="en_US"> + <synopsis> + Show IAX registrations. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + </syntax> + <description> + <para>Show IAX registrations.</para> + </description> + </manager> ***/ /* Define SCHED_MULTITHREADED to run the scheduler in a special @@ -12720,10 +12761,10 @@ static int load_module(void) ast_register_application_xml(papp, iax2_prov_app); - ast_manager_register( "IAXpeers", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_iax2_show_peers, "List IAX Peers" ); - ast_manager_register( "IAXpeerlist", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_iax2_show_peer_list, "List IAX Peers" ); - ast_manager_register( "IAXnetstats", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_iax2_show_netstats, "Show IAX Netstats" ); - ast_manager_register( "IAXregistry", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_iax2_show_registry, "Show IAX registrations"); + ast_manager_register_xml("IAXpeers", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_iax2_show_peers); + ast_manager_register_xml("IAXpeerlist", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_iax2_show_peer_list); + ast_manager_register_xml("IAXnetstats", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_iax2_show_netstats); + ast_manager_register_xml("IAXregistry", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_iax2_show_registry); if ((timer = ast_timer_open())) { ast_timer_set_rate(timer, trunkfreq); diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 02762691e..35fedb9ad 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -473,6 +473,79 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") Check the <literal>domain=</literal> configuration in <filename>sip.conf</filename>.</para> </description> </function> + <manager name="SIPpeers" language="en_US"> + <synopsis> + List SIP peers (text format). + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + </syntax> + <description> + <para>Lists SIP peers in text format with details on current status. + Peerlist will follow as separate events, followed by a final event called + PeerlistComplete.</para> + </description> + </manager> + <manager name="SIPshowpeer" language="en_US"> + <synopsis> + show SIP peer (text format). + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="Peer" required="true"> + <para>The peer name you want to check.</para> + </parameter> + </syntax> + <description> + <para>Show one SIP peer with details on current status.</para> + </description> + </manager> + <manager name="SIPqualifypeer" language="en_US"> + <synopsis> + Qualify SIP peers. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="Peer" required="true"> + <para>The peer name you want to qualify.</para> + </parameter> + </syntax> + <description> + <para>Qualify a SIP peer.</para> + </description> + </manager> + <manager name="SIPshowregistry" language="en_US"> + <synopsis> + Show SIP registrations (text format). + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + </syntax> + <description> + <para>Lists all registration requests and status. Registrations will follow as separate + events. followed by a final event called RegistrationsComplete.</para> + </description> + </manager> + <manager name="SIPnotify" language="en_US"> + <synopsis> + Send a SIP notify. + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="Channel" required="true"> + <para>Peer to receive the notify.</para> + </parameter> + <parameter name="Variable" required="true"> + <para>At least one variable pair must be specified. + <replaceable>name</replaceable>=<replaceable>value</replaceable></para> + </parameter> + </syntax> + <description> + <para>Sends a SIP Notify event.</para> + <para>All parameters for this event must be specified in the body of this request + via multiple Variable: name=value sequences.</para> + </description> + </manager> ***/ #ifndef FALSE @@ -10859,15 +10932,6 @@ static int manager_sipnotify(struct mansession *s, const struct message *m) return 0; } -static const char mandescr_sipnotify[] = -"Description: Sends a SIP Notify event\n" -"All parameters for this event must be specified in the body of this request\n" -"via multiple Variable: name=value sequences.\n" -"Variables: \n" -" *Channel: <peername> Peer to receive the notify. Required.\n" -" *Variable: <name>=<value> At least one variable pair must be specified.\n" -" ActionID: <id> Action ID for this transaction. Will be returned.\n"; - /*! \brief Send a provisional response indicating that a call was redirected */ static void update_redirecting(struct sip_pvt *p, const void *data, size_t datalen) @@ -14166,14 +14230,6 @@ static char *sip_show_users(struct ast_cli_entry *e, int cmd, struct ast_cli_arg #undef FORMAT } -/*! \brief Manager Action SIPShowRegistry description */ -static const char mandescr_show_registry[] = -"Description: Lists all registration requests and status\n" -"Registrations will follow as separate events. followed by a final event called\n" -"RegistrationsComplete.\n" -"Variables: \n" -" ActionID: <id> Action ID for this transaction. Will be returned.\n"; - /*! \brief Show SIP registrations in the manager API */ static int manager_show_registry(struct mansession *s, const struct message *m) { @@ -14212,13 +14268,6 @@ static int manager_show_registry(struct mansession *s, const struct message *m) return 0; } -static const char mandescr_show_peers[] = -"Description: Lists SIP peers in text format with details on current status.\n" -"Peerlist will follow as separate events, followed by a final event called\n" -"PeerlistComplete.\n" -"Variables: \n" -" ActionID: <id> Action ID for this transaction. Will be returned.\n"; - /*! \brief Show SIP peers in the manager API */ /* Inspired from chan_iax2 */ static int manager_sip_show_peers(struct mansession *s, const struct message *m) @@ -14837,12 +14886,6 @@ static char *sip_show_domains(struct ast_cli_entry *e, int cmd, struct ast_cli_a } #undef FORMAT -static const char mandescr_show_peer[] = -"Description: Show one SIP peer with details on current status.\n" -"Variables: \n" -" Peer: <name> The peer name you want to check.\n" -" ActionID: <id> Optional action ID for this AMI transaction.\n"; - /*! \brief Show SIP peers in the manager API */ static int manager_sip_show_peer(struct mansession *s, const struct message *m) { @@ -25478,16 +25521,11 @@ static int load_module(void) ast_custom_function_register(&checksipdomain_function); /* Register manager commands */ - ast_manager_register2("SIPpeers", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_sip_show_peers, - "List SIP peers (text format)", mandescr_show_peers); - ast_manager_register2("SIPshowpeer", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_sip_show_peer, - "Show SIP peer (text format)", mandescr_show_peer); - ast_manager_register2("SIPqualifypeer", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_sip_qualify_peer, - "Show SIP peer (text format)", mandescr_show_peer); /*! \todo Fix this XXX This must be all wrong XXXX */ - ast_manager_register2("SIPshowregistry", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_show_registry, - "Show SIP registrations (text format)", mandescr_show_registry); - ast_manager_register2("SIPnotify", EVENT_FLAG_SYSTEM, manager_sipnotify, - "Send a SIP notify", mandescr_sipnotify); + ast_manager_register_xml("SIPpeers", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_sip_show_peers); + ast_manager_register_xml("SIPshowpeer", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_sip_show_peer); + ast_manager_register_xml("SIPqualifypeer", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_sip_qualify_peer); + ast_manager_register_xml("SIPshowregistry", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_show_registry); + ast_manager_register_xml("SIPnotify", EVENT_FLAG_SYSTEM, manager_sipnotify); sip_poke_all_peers(); sip_send_all_registers(); sip_send_all_mwi_subscriptions(); diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index dbb90a5d5..0aea73b07 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -71,6 +71,63 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/indications.h" #include "asterisk/linkedlists.h" +/*** DOCUMENTATION + <manager name="SKINNYdevices" language="en_US"> + <synopsis> + List SKINNY devices (text format). + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + </syntax> + <description> + <para>Lists Skinny devices in text format with details on current status. + Devicelist will follow as separate events, followed by a final event called + DevicelistComplete.</para> + </description> + </manager> + <manager name="SKINNYshowdevice" language="en_US"> + <synopsis> + Show SKINNY device (text format). + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="Device" required="true"> + <para>The device name you want to check.</para> + </parameter> + </syntax> + <description> + <para>Show one SKINNY device with details on current status.</para> + </description> + </manager> + <manager name="SKINNYlines" language="en_US"> + <synopsis> + List SKINNY lines (text format). + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + </syntax> + <description> + <para>Lists Skinny lines in text format with details on current status. + Linelist will follow as separate events, followed by a final event called + LinelistComplete.</para> + </description> + </manager> + <manager name="SKINNYshowline" language="en_US"> + <synopsis> + Show SKINNY line (text format). + </synopsis> + <syntax> + <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" /> + <parameter name="Line" required="true"> + <para>The line name you want to check.</para> + </parameter> + </syntax> + <description> + <para>Show one SKINNY line with details on current status.</para> + </description> + </manager> + ***/ + #ifdef SKINNY_DEVMODE #define SKINNY_DEVONLY(code) \ code @@ -3049,13 +3106,6 @@ static char *_skinny_show_devices(int fd, int *total, struct mansession *s, cons return CLI_SUCCESS; } -static const char mandescr_show_devices[] = -"Description: Lists Skinny devices in text format with details on current status.\n" -"Devicelist will follow as separate events, followed by a final event called\n" -"DevicelistComplete.\n" -"Variables: \n" -" ActionID: <id> Action ID for this transaction. Will be returned.\n"; - /*! \brief Show SKINNY devices in the manager API */ /* Inspired from chan_sip */ static int manager_skinny_show_devices(struct mansession *s, const struct message *m) @@ -3194,12 +3244,6 @@ static char *_skinny_show_device(int type, int fd, struct mansession *s, const s return CLI_SUCCESS; } -static const char mandescr_show_device[] = -"Description: Show one SKINNY device with details on current status.\n" -"Variables: \n" -" Device: <name> The device name you want to check.\n" -" ActionID: <id> Optional action ID for this AMI transaction.\n"; - static int manager_skinny_show_device(struct mansession *s, const struct message *m) { const char *a[4]; @@ -3310,13 +3354,6 @@ static char *_skinny_show_lines(int fd, int *total, struct mansession *s, const return CLI_SUCCESS; } -static const char mandescr_show_lines[] = -"Description: Lists Skinny lines in text format with details on current status.\n" -"Linelist will follow as separate events, followed by a final event called\n" -"LinelistComplete.\n" -"Variables: \n" -" ActionID: <id> Action ID for this transaction. Will be returned.\n"; - /*! \brief Show Skinny lines in the manager API */ /* Inspired from chan_sip */ static int manager_skinny_show_lines(struct mansession *s, const struct message *m) @@ -3502,12 +3539,6 @@ static char *_skinny_show_line(int type, int fd, struct mansession *s, const str return CLI_SUCCESS; } -static const char mandescr_show_line[] = -"Description: Show one SKINNY line with details on current status.\n" -"Variables: \n" -" Line: <name> The line name you want to check.\n" -" ActionID: <id> Optional action ID for this AMI transaction.\n"; - static int manager_skinny_show_line(struct mansession *s, const struct message *m) { const char *a[4]; @@ -7347,14 +7378,10 @@ static int load_module(void) ast_rtp_glue_register(&skinny_rtp_glue); ast_cli_register_multiple(cli_skinny, ARRAY_LEN(cli_skinny)); - ast_manager_register2("SKINNYdevices", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_skinny_show_devices, - "List SKINNY devices (text format)", mandescr_show_devices); - ast_manager_register2("SKINNYshowdevice", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_skinny_show_device, - "Show SKINNY device (text format)", mandescr_show_device); - ast_manager_register2("SKINNYlines", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_skinny_show_lines, - "List SKINNY lines (text format)", mandescr_show_lines); - ast_manager_register2("SKINNYshowline", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_skinny_show_line, - "Show SKINNY line (text format)", mandescr_show_line); + ast_manager_register_xml("SKINNYdevices", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_skinny_show_devices); + ast_manager_register_xml("SKINNYshowdevice", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_skinny_show_device); + ast_manager_register_xml("SKINNYlines", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_skinny_show_lines); + ast_manager_register_xml("SKINNYshowline", EVENT_FLAG_SYSTEM | EVENT_FLAG_REPORTING, manager_skinny_show_line); sched = sched_context_create(); if (!sched) { |