[asterisk-commits] mjordan: branch mjordan/terrys_parting_shot r379607 - in /team/mjordan/terrys...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Sun Jan 20 18:18:01 CST 2013
Author: mjordan
Date: Sun Jan 20 18:17:56 2013
New Revision: 379607
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=379607
Log:
Clean up the last of the documentation
Get the config types to display their match info, clean up the res_xmpp
documentation, chan_motif documentation, and remove some stuff from
the dtd that we probably aren't going to use.
Modified:
team/mjordan/terrys_parting_shot/apps/confbridge/conf_config_parser.c
team/mjordan/terrys_parting_shot/channels/chan_motif.c
team/mjordan/terrys_parting_shot/doc/appdocsxml.dtd
team/mjordan/terrys_parting_shot/main/config_options.c
team/mjordan/terrys_parting_shot/main/xmldoc.c
team/mjordan/terrys_parting_shot/res/res_xmpp.c
Modified: team/mjordan/terrys_parting_shot/apps/confbridge/conf_config_parser.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/terrys_parting_shot/apps/confbridge/conf_config_parser.c?view=diff&rev=379607&r1=379606&r2=379607
==============================================================================
--- team/mjordan/terrys_parting_shot/apps/confbridge/conf_config_parser.c (original)
+++ team/mjordan/terrys_parting_shot/apps/confbridge/conf_config_parser.c Sun Jan 20 18:17:56 2013
@@ -43,6 +43,7 @@
/*** DOCUMENTATION
<configInfo name="app_confbridge" language="en_US">
+ <synopsis>Conference Bridge Application</synopsis>
<configFile name="confbridge.conf">
<configObject name="global">
<synopsis>Unused, but reserved.</synopsis>
@@ -51,7 +52,7 @@
<synopsis>A named profile to apply to specific callers.</synopsis>
<description><para>Callers in a ConfBridge have a profile associated with them
that determine their options. A configuration section is determined to be a
- user_profile when the <replaceable>type</replaceable> parameter has a value
+ user_profile when the <literal>type</literal> parameter has a value
of <literal>user</literal>.
</para></description>
<configOption name="type">
@@ -227,7 +228,7 @@
<synopsis>A named profile to apply to specific bridges.</synopsis>
<description><para>ConfBridge bridges have a profile associated with them
that determine their options. A configuration section is determined to be a
- <literal>bridge_profile</literal> when the <replaceable>type</replaceable> parameter has a value
+ <literal>bridge_profile</literal> when the <literal>type</literal> parameter has a value
of <literal>bridge</literal>.
</para></description>
<configOption name="type">
@@ -383,6 +384,12 @@
</configOption>
</configObject>
<configObject name="menu">
+ <synopsis>A conference user menu</synopsis>
+ <description>
+ <para>Conference users, as defined by a <literal>conf_user</literal>,
+ can have a DTMF menu assigned to their profile when they enter the
+ <literal>ConfBridge</literal> application.</para>
+ </description>
<configOption name="type">
<synopsis>Define this configuration category as a menu</synopsis>
<description><para>The type parameter determines how a context in the
Modified: team/mjordan/terrys_parting_shot/channels/chan_motif.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/terrys_parting_shot/channels/chan_motif.c?view=diff&rev=379607&r1=379606&r2=379607
==============================================================================
--- team/mjordan/terrys_parting_shot/channels/chan_motif.c (original)
+++ team/mjordan/terrys_parting_shot/channels/chan_motif.c Sun Jan 20 18:17:56 2013
@@ -79,11 +79,77 @@
/*** DOCUMENTATION
<configInfo name="chan_motif" language="en_US">
+ <synopsis>Jingle Channel Driver</synopsis>
+ <description>
+ <para><emphasis>Transports</emphasis></para>
+ <para>There are three different transports and protocol derivatives
+ supported by <literal>chan_motif</literal>. They are in order of
+ preference: Jingle using ICE-UDP, Google Jingle, and Google-V1.</para>
+ <para>Jingle as defined in XEP-0166 supports the widest range of
+ features. It is referred to as <literal>ice-udp</literal>. This is
+ the specification that Jingle clients implement.</para>
+ <para>Google Jingle follows the Jingle specification for signaling
+ but uses a custom transport for media. It is supported by the
+ Google Talk Plug-in in Gmail and by some other Jingle clients. It
+ is referred to as <literal>google</literal> in this file.</para>
+ <para>Google-V1 is the original Google Talk signaling protocol
+ which uses an initial preliminary version of Jingle. It also uses
+ the same custom transport as Google Jingle for media. It is
+ supported by Google Voice, some other Jingle clients, and the
+ Windows Google Talk client. It is referred to as <literal>google-v1</literal>
+ in this file.</para>
+ <para>Incoming sessions will automatically switch to the correct
+ transport once it has been determined.</para>
+ <para>Outgoing sessions are capable of determining if the target
+ is capable of Jingle or a Google transport if the target is in the
+ roster. Unfortunately it is not possible to differentiate between
+ a Google Jingle or Google-V1 capable resource until a session
+ initiate attempt occurs. If a resource is determined to use a
+ Google transport it will initially use Google Jingle but will fall
+ back to Google-V1 if required.</para>
+ <para>If an outgoing session attempt fails due to failure to
+ support the given transport <literal>chan_motif</literal> will
+ fall back in preference order listed previously until all
+ transports have been exhausted.</para>
+ <para><emphasis>Dialing and Resource Selection Strategy</emphasis></para>
+ <para>Placing a call through an endpoint can be accomplished using the
+ following dial string:</para>
+ <para><literal>Motif/[endpoint name]/[target]</literal></para>
+ <para>When placing an outgoing call through an endpoint the requested
+ target is searched for in the roster list. If present the first Jingle
+ or Google Jingle capable resource is specifically targeted. Since the
+ capabilities of the resource are known the outgoing session initiation
+ will disregard the configured transport and use the determined one.</para>
+ <para>If the target is not found in the roster the target will be used
+ as-is and a session will be initiated using the transport specified
+ in this configuration file. If no transport has been specified the
+ endpoint defaults to <literal>ice-udp</literal>.</para>
+ <para><emphasis>Video Support</emphasis></para>
+ <para>Support for video does not need to be explicitly enabled.
+ Configuring any video codec on your endpoint will automatically enable
+ it.</para>
+ <para><emphasis>DTMF</emphasis></para>
+ <para>The only supported method for DTMF is RFC2833. This is always
+ enabled on audio streams and negotiated if possible.</para>
+ <para><emphasis>Incoming Calls</emphasis></para>
+ <para>Incoming calls will first look for the extension matching the
+ name of the endpoint in the configured context. If no such extension
+ exists the call will automatically fall back to the <literal>s</literal> extension.</para>
+ <para><emphasis>CallerID</emphasis></para>
+ <para>The incoming caller id number is populated with the username of
+ the caller and the name is populated with the full identity of the
+ caller. If you would like to perform authentication or filtering
+ of incoming calls it is recommended that you use these fields to do so.</para>
+ <para>Outgoing caller id can <emphasis>not</emphasis> be set.</para>
+ <warning>
+ <para>Multiple endpoints using the
+ same connection is <emphasis>NOT</emphasis> supported. Doing so
+ may result in broken calls.</para>
+ </warning>
+ </description>
<configFile name="motif.conf">
<configObject name="endpoint">
<synopsis>The configuration for an endpoint.</synopsis>
- <description><para>
- </para></description>
<configOption name="context">
<synopsis>Default dialplan context that incoming sessions will be routed to</synopsis>
</configOption>
@@ -117,41 +183,25 @@
<configOption name="transport">
<synopsis>The transport to use for the endpoint.</synopsis>
<description>
- <para>There are three different transports and protocol derivatives supported
- by <literal>chan_motif</literal>. They are in order of preference:</para>
- <para>Jingle using ICE-UDP, Google Jingle, and Google-V1.</para>
- <para>Jingle as defined in XEP-0166 supports the widest range of features.
- It is referred to as <literal>ice-udp</literal>. This is
- the specification that Jingle clients implement.</para>
- <para>Google Jingle follows the Jingle specification for signaling but
- uses a custom transport for media. It is supported by the Google Talk Plug-in
- in Gmail and by some other Jingle clients. It is referred to as
- <literal>google</literal> in this file.</para>
- <para>Google-V1 is the original Google Talk signaling protocol which uses
- an initial preliminary version of Jingle. It also uses the same
- custom transport as Google Jingle for media. It is supported by
- Google Voice, some other Jingle clients, and the Windows Google
- Talk client. It is referred to as <literal>google-v1</literal>
- in this file.</para>
- <para>Incoming sessions will automatically switch to the correct
- transport once it has been determined.</para>
- <para>Outgoing sessions are capable of determining if the target
- is capable of Jingle or a Google transport if the target is
- in the roster. Unfortunately it is not possible to differentiate
- between a Google Jingle or Google-V1 capable resource until a
- session initiate attempt occurs. If a resource is determined to
- use a Google transport it will initially use Google Jingle but
- will fall back to Google-V1 if required.</para>
- <para>If an outgoing session attempt fails due to failure to
- support the given transport <literal>chan_motif</literal> will
- fall back in preference order listed previously until all
- transports have been exhausted.</para>
- <para>Choose the transport for this endpoint. Allowed transports are
- <literal>ice-udp</literal>, <literal>google</literal>, or <literal>google-v1</literal>.</para>
+ <para>The default outbound transport for this endpoint. Inbound
+ messages are inferred. Allowed transports are <literal>ice-udp</literal>,
+ <literal>google</literal>, or <literal>google-v1</literal>. Note
+ that <literal>chan_motif</literal> will fall back to transport
+ preference order if the transport value chosen here fails.</para>
<enumlist>
- <enum name="ice-udp"></enum>
- <enum name="google"></enum>
- <enum name="google-v1"></enum>
+ <enum name="ice-udp">
+ <para>The Jingle protocol, as defined in XEP 0166.</para>
+ </enum>
+ <enum name="google">
+ <para>The Google Jingle protocol, which follows the Jingle
+ specification for signaling but uses a custom transport for
+ media.</para>
+ </enum>
+ <enum name="google-v1">
+ <para>Google-V1 is the original Google Talk signaling
+ protocol which uses an initial preliminary version of Jingle.
+ It also uses the same custom transport as <literal>google</literal> for media.</para>
+ </enum>
</enumlist>
</description>
</configOption>
Modified: team/mjordan/terrys_parting_shot/doc/appdocsxml.dtd
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/terrys_parting_shot/doc/appdocsxml.dtd?view=diff&rev=379607&r1=379606&r2=379607
==============================================================================
--- team/mjordan/terrys_parting_shot/doc/appdocsxml.dtd (original)
+++ team/mjordan/terrys_parting_shot/doc/appdocsxml.dtd Sun Jan 20 18:17:56 2013
@@ -39,7 +39,7 @@
<!ELEMENT managerEventInstance (synopsis?,syntax?,description?,see-also?)*>
<!ATTLIST managerEventInstance class CDATA #REQUIRED>
- <!ELEMENT configInfo (configFile+)>
+ <!ELEMENT configInfo (synopsis?,description?,configFile+)>
<!ATTLIST configInfo name CDATA #REQUIRED>
<!ATTLIST configInfo language CDATA #REQUIRED>
@@ -62,11 +62,6 @@
<!ELEMENT field (#PCDATA)>
<!ATTLIST field name CDATA #REQUIRED>
-
- <!ELEMENT dataType EMPTY>
- <!ATTLIST dataType type (string|uint|integer|boolean|float|enum) #REQUIRED>
- <!ATTLIST dataType max CDATA #IMPLIED>
- <!ATTLIST dataType min CDATA #IMPLIED>
<!ELEMENT info (para|note|warning|variablelist|enumlist|info|xi:include)*>
<!ATTLIST info name CDATA #REQUIRED>
Modified: team/mjordan/terrys_parting_shot/main/config_options.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/terrys_parting_shot/main/config_options.c?view=diff&rev=379607&r1=379606&r2=379607
==============================================================================
--- team/mjordan/terrys_parting_shot/main/config_options.c (original)
+++ team/mjordan/terrys_parting_shot/main/config_options.c Sun Jan 20 18:17:56 2013
@@ -722,26 +722,6 @@
return 0;
}
-#ifdef AST_XML_DOCS
-static void update_runtime_type_docs(const char *module, struct aco_type *type)
-{
- RAII_VAR(struct ast_xml_doc_item *, config_info, ao2_find(xmldocs, module, OBJ_KEY), ao2_cleanup);
- struct ast_xml_doc_item *config_type;
-
- if (!config_info || !(config_type = find_xmldoc_type(config_info, type->name))) {
- return;
- }
- if (ast_str_strlen(config_type->syntax)) {
- return;
- }
-
- ast_str_set(&config_type->syntax, 0, "category %s /%s/\n", type->category_match == ACO_WHITELIST ? "=~" : "!~", type->category);
- if (!ast_strlen_zero(type->matchfield)) {
- ast_str_append(&config_type->syntax, 0, "matchfield: %s = %s\n", type->matchfield, type->matchvalue);
- }
-}
-#endif /* AST_XML_DOCS */
-
int aco_info_init(struct aco_info *info)
{
size_t x = 0, y = 0;
@@ -761,7 +741,6 @@
if (xmldoc_update_config_type(info->module, type->name, type->category, type->matchfield, type->matchvalue, type->category_match == ACO_WHITELIST)) {
goto error;
}
- update_runtime_type_docs(info->module, type);
#endif /* AST_XML_DOCS */
}
}
@@ -895,159 +874,6 @@
return c;
}
-
-static char *cli_show_types(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
- RAII_VAR(struct ast_xml_doc_item *, item, NULL, ao2_cleanup);
- struct ast_xml_doc_item *tmp;
-
- switch (cmd) {
- case CLI_INIT:
- e->command = "config show types";
- e->usage =
- "Usage: config show types <module>\n"
- " Lists a module's different config object types.\n";
- return NULL;
- case CLI_GENERATE:
- return complete_config_module(a->word, a->pos, a->n);
- }
-
- if (a->argc != 4) {
- return CLI_SHOWUSAGE;
- }
-
- if (!(item = ao2_find(xmldocs, a->argv[3], OBJ_KEY))) {
- ast_cli(a->fd, "Module %s not found.\n", a->argv[3]);
- return NULL;
- }
-
- tmp = item;
- ast_cli(a->fd, "Config option types for %s:\n", tmp->name);
- while ((tmp = tmp->next)) {
- if (!strcasecmp(tmp->type, "configObject")) {
- ast_cli(a->fd, "%20.20s: %-78.78s\n", tmp->name, ast_str_buffer(tmp->synopsis));
- }
- }
- return CLI_SUCCESS;
-}
-
-static char *cli_show_type(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
- RAII_VAR(struct ast_xml_doc_item *, item, NULL, ao2_cleanup);
- struct ast_xml_doc_item *tmp;
-
- switch (cmd) {
- case CLI_INIT:
- e->command = "config show type";
- e->usage =
- "Usage: config show type <module> <type>\n"
- " Display detailed information about a config object type.\n";
- return NULL;
- case CLI_GENERATE:
- switch(a->pos) {
- case 3: return complete_config_module(a->word, a->pos, a->n);
- case 4: return complete_config_type(a->argv[3], a->word, a->pos, a->n);
- default: return NULL;
- }
- }
-
- if (a->argc != 5) {
- return CLI_SHOWUSAGE;
- }
-
- if (!(item = ao2_find(xmldocs, a->argv[3], OBJ_KEY))) {
- return NULL;
- }
- tmp = item;
- while ((tmp = tmp->next)) {
- if (!strcasecmp(tmp->type, "configObject") && !strcasecmp(tmp->name, a->argv[4])) {
- ast_cli(a->fd, "%s\n", tmp->name);
- ast_cli(a->fd, "Synopsis: %s\n", AS_OR(tmp->synopsis, "n/a"));
- ast_cli(a->fd, "Description:\n\t%s\n", AS_OR(tmp->description, "n/a"));
- ast_cli(a->fd, "Syntax:\n\t%s\n", AS_OR(tmp->syntax, "n/a"));
- }
- }
-
- return CLI_SUCCESS;
-}
-
-static char *cli_show_options(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
- RAII_VAR(struct ast_xml_doc_item *, item, NULL, ao2_cleanup);
- struct ast_xml_doc_item *tmp;
-
- switch (cmd) {
- case CLI_INIT:
- e->command = "config show options";
- e->usage =
- "Usage: config show options <module> [<type>]\n"
- " Lists a module's different config options.\n";
- return NULL;
- case CLI_GENERATE:
- switch(a->pos) {
- case 3: return complete_config_module(a->word, a->pos, a->n);
- case 4: return complete_config_type(a->argv[3], a->word, a->pos, a->n);
- default: return NULL;
- }
- }
-
- if (a->argc < 4 || a->argc > 5) {
- return CLI_SHOWUSAGE;
- }
-
- if (!(item = ao2_find(xmldocs, a->argv[3], OBJ_KEY))) {
- return NULL;
- }
- tmp = item;
- while ((tmp = tmp->next)) {
- if (!strcasecmp(tmp->type, "configOption") && (a->argc == 4 || !strcasecmp(tmp->ref, a->argv[4]))) {
- ast_cli(a->fd, "<%s> %s\n", tmp->ref, tmp->name);
- }
- }
-
- return CLI_SUCCESS;
-}
-
-static char *cli_show_option(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
- RAII_VAR(struct ast_xml_doc_item *, item, NULL, ao2_cleanup);
- struct ast_xml_doc_item *tmp;
-
- switch (cmd) {
- case CLI_INIT:
- e->command = "config show option";
- e->usage =
- "Usage: config show option <module> <type> <name>\n"
- " Display detailed information about a config option.\n";
- return NULL;
- case CLI_GENERATE:
- switch(a->pos) {
- case 3: return complete_config_module(a->word, a->pos, a->n);
- case 4: return complete_config_type(a->argv[3], a->word, a->pos, a->n);
- case 5: return complete_config_option(a->argv[3], a->argv[4], a->word, a->pos, a->n);
- default: return NULL;
- }
- }
-
- if (a->argc != 6) {
- return CLI_SHOWUSAGE;
- }
-
- if (!(item = ao2_find(xmldocs, a->argv[3], OBJ_KEY))) {
- return NULL;
- }
- tmp = item;
- while ((tmp = tmp->next)) {
- if (!strcasecmp(tmp->type, "configOption") && !strcasecmp(tmp->ref, a->argv[4]) && !strcasecmp(tmp->name, a->argv[5])) {
- ast_cli(a->fd, "<%s> %s\n", tmp->ref, tmp->name);
- ast_cli(a->fd, "Syntax:\n\t%s\n", AS_OR(tmp->syntax, "n/a"));
- ast_cli(a->fd, "Synopsis: %s\n", AS_OR(tmp->synopsis, "n/a"));
- ast_cli(a->fd, "Description:\n\t%s\n", AS_OR(tmp->description, "n/a"));
- }
- }
- return CLI_SUCCESS;
-}
-
#ifdef AST_XML_DOCS
#define XMLDOC_STRICT 1
@@ -1055,6 +881,8 @@
static int xmldoc_update_config_type(const char *module, const char *name, const char *category, const char *matchfield, const char *matchvalue, unsigned int matches)
{
RAII_VAR(struct ast_xml_xpath_results *, results, NULL, ast_xml_xpath_results_free);
+ RAII_VAR(struct ast_xml_doc_item *, config_info, ao2_find(xmldocs, module, OBJ_KEY), ao2_cleanup);
+ struct ast_xml_doc_item *config_type;
struct ast_xml_node *type, *syntax, *matchinfo, *tmp;
/* If we already have a syntax element, bail. This isn't an error, since we may unload a module which
@@ -1075,17 +903,17 @@
if (!(syntax = ast_xml_new_child(type, "syntax"))) {
ast_log(LOG_WARNING, "Could not create syntax node for type '%s' in module '%s'\n", name, module);
- return -1;
+ return XMLDOC_STRICT ? -1 : 0;
}
if (!(matchinfo = ast_xml_new_child(syntax, "matchInfo"))) {
ast_log(LOG_WARNING, "Could not create matchInfo node for type '%s' in module '%s'\n", name, module);
- return -1;
+ return XMLDOC_STRICT ? -1 : 0;
}
if (!(tmp = ast_xml_new_child(matchinfo, "category"))) {
ast_log(LOG_WARNING, "Could not create category node for type '%s' in module '%s'\n", name, module);
- return -1;
+ return XMLDOC_STRICT ? -1 : 0;
}
ast_xml_set_text(tmp, category);
@@ -1093,11 +921,21 @@
if (!ast_strlen_zero(matchfield) && !(tmp = ast_xml_new_child(matchinfo, "field"))) {
ast_log(LOG_WARNING, "Could not add %s attribute for type '%s' in module '%s'\n", matchfield, name, module);
- return -1;
+ return XMLDOC_STRICT ? -1 : 0;
}
ast_xml_set_attribute(tmp, "name", matchfield);
ast_xml_set_text(tmp, matchvalue);
+
+ if (!config_info || !(config_type = find_xmldoc_type(config_info, name))) {
+ ast_log(LOG_WARNING, "Could not obtain XML documentation item for config type %s\n", name);
+ return XMLDOC_STRICT ? -1 : 0;
+ }
+
+ if (ast_xmldoc_regenerate_doc_item(config_type)) {
+ ast_log(LOG_WARNING, "Could not update type '%s' with values from config type registration\n", name);
+ return XMLDOC_STRICT ? -1 : 0;
+ }
return 0;
}
@@ -1172,6 +1010,13 @@
return;
}
+ if (ast_str_strlen(item->synopsis)) {
+ ast_cli(a->fd, "%s\n\n", ast_xmldoc_printable(ast_str_buffer(item->synopsis), 1));
+ }
+ if (ast_str_strlen(item->description)) {
+ ast_cli(a->fd, "%s\n\n", ast_xmldoc_printable(ast_str_buffer(item->description), 1));
+ }
+
tmp = item;
ast_cli(a->fd, "Configuration option types for %s:\n", tmp->name);
while ((tmp = tmp->next)) {
@@ -1185,6 +1030,7 @@
{
RAII_VAR(struct ast_xml_doc_item *, item, NULL, ao2_cleanup);
struct ast_xml_doc_item *tmp;
+ char option_type[64];
int match = 0;
ast_assert(a->argc == 5);
@@ -1198,8 +1044,16 @@
while ((tmp = tmp->next)) {
if (!strcasecmp(tmp->type, "configObject") && !strcasecmp(tmp->name, a->argv[4])) {
match = 1;
- ast_cli(a->fd, "[%s]\n\n", tmp->name);
- ast_cli(a->fd, "%s\n\n", AS_OR(tmp->synopsis, "No information available"));
+ term_color(option_type, tmp->name, COLOR_MAGENTA, COLOR_BLACK, sizeof(option_type));
+ ast_cli(a->fd, "%s", option_type);
+ if (ast_str_strlen(tmp->syntax)) {
+ ast_cli(a->fd, ": [%s]\n\n", ast_xmldoc_printable(ast_str_buffer(tmp->syntax), 1));
+ } else {
+ ast_cli(a->fd, "\n\n");
+ }
+ if (ast_str_strlen(tmp->synopsis)) {
+ ast_cli(a->fd, "%s\n\n", ast_xmldoc_printable(ast_str_buffer(tmp->synopsis), 1));
+ }
if (ast_str_strlen(tmp->description)) {
ast_cli(a->fd, "%s\n\n", ast_xmldoc_printable(ast_str_buffer(tmp->description), 1));
}
@@ -1307,14 +1161,8 @@
return CLI_SUCCESS;
}
-
-
static struct ast_cli_entry cli_aco[] = {
AST_CLI_DEFINE(cli_show_help, "Show configuration help for a module"),
- AST_CLI_DEFINE(cli_show_types, "List a module's config object types"),
- AST_CLI_DEFINE(cli_show_type, "Display detailed information about a config object type"),
- AST_CLI_DEFINE(cli_show_options, "List a module's config options"),
- AST_CLI_DEFINE(cli_show_option, "Display detailed information about a config option"),
};
static void aco_deinit(void)
Modified: team/mjordan/terrys_parting_shot/main/xmldoc.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/terrys_parting_shot/main/xmldoc.c?view=diff&rev=379607&r1=379606&r2=379607
==============================================================================
--- team/mjordan/terrys_parting_shot/main/xmldoc.c (original)
+++ team/mjordan/terrys_parting_shot/main/xmldoc.c Sun Jan 20 18:17:56 2013
@@ -1148,14 +1148,14 @@
if (attr_value) {
match = ast_true(attr_value);
text = ast_xml_get_text(tmp);
- ast_str_set(&syntax, 0, "category %s /%s/\n", match ? "=~" : "!~", text);
+ ast_str_set(&syntax, 0, "category %s /%s/", match ? "=~" : "!~", text);
ast_xml_free_attr(attr_value);
}
if ((tmp = ast_xml_find_element(ast_xml_node_get_children(matchinfo), "field", NULL, NULL))) {
text = ast_xml_get_text(tmp);
attr_value = ast_xml_get_attribute(tmp, "name");
- ast_str_append(&syntax, 0, "matchfield: %s = %s\n", S_OR(attr_value, "Unknown"), text);
+ ast_str_append(&syntax, 0, " matchfield: %s = %s", S_OR(attr_value, "Unknown"), text);
ast_xml_free_attr(attr_value);
}
return ast_strdup(ast_str_buffer(syntax));
@@ -1194,6 +1194,7 @@
MANAGER_SYNTAX,
MANAGER_EVENT_SYNTAX,
CONFIG_INFO_SYNTAX,
+ CONFIG_FILE_SYNTAX,
CONFIG_OPTION_SYNTAX,
CONFIG_OBJECT_SYNTAX,
COMMAND_SYNTAX
@@ -1209,6 +1210,7 @@
{ "manager", MANAGER_SYNTAX },
{ "managerEvent", MANAGER_EVENT_SYNTAX },
{ "configInfo", CONFIG_INFO_SYNTAX },
+ { "configFile", CONFIG_FILE_SYNTAX },
{ "configOption", CONFIG_OPTION_SYNTAX },
{ "configObject", CONFIG_OBJECT_SYNTAX },
{ "agi", COMMAND_SYNTAX },
Modified: team/mjordan/terrys_parting_shot/res/res_xmpp.c
URL: http://svnview.digium.com/svn/asterisk/team/mjordan/terrys_parting_shot/res/res_xmpp.c?view=diff&rev=379607&r1=379606&r2=379607
==============================================================================
--- team/mjordan/terrys_parting_shot/res/res_xmpp.c (original)
+++ team/mjordan/terrys_parting_shot/res/res_xmpp.c Sun Jan 20 18:17:56 2013
@@ -289,10 +289,12 @@
Note that this field is required for XMPP messages.</para>
</info>
<configInfo name="res_xmpp" language="en_US">
+ <synopsis>XMPP Messaging</synopsis>
<configFile name="xmpp.conf">
<configObject name="global">
+ <synopsis>Global configuration settings</synopsis>
<configOption name="debug">
- <synopsis>Enable debugging</synopsis>
+ <synopsis>Enable/disable XMPP message debugging</synopsis>
</configOption>
<configOption name="autoprune">
<synopsis>Auto-remove users from buddy list.</synopsis>
@@ -302,7 +304,7 @@
</para></description>
</configOption>
<configOption name="autoregister">
- <synopsis>Auto-register users bfrom buddy list</synopsis>
+ <synopsis>Auto-register users from buddy list</synopsis>
</configOption>
<configOption name="collection_nodes">
<synopsis>Enable support for XEP-0248 for use with distributed device state</synopsis>
@@ -315,6 +317,7 @@
</configOption>
</configObject>
<configObject name="client">
+ <synopsis>Configuration options for an XMPP client</synopsis>
<configOption name="username">
<synopsis>XMPP username with optional resource</synopsis>
</configOption>
@@ -343,7 +346,7 @@
<synopsis>Timeout in seconds to hold incoming messages</synopsis>
<description><para>Timeout (in seconds) on the message stack. Messages stored longer
than this value will be deleted by Asterisk. This option applies to incoming messages only
- which are intended to be processed by the JABBER_RECEIVE dialplan function.
+ which are intended to be processed by the <literal>JABBER_RECEIVE</literal> dialplan function.
</para></description>
</configOption>
<configOption name="debug">
@@ -365,7 +368,7 @@
<synopsis>Force the use of old-style SSL for the connection</synopsis>
</configOption>
<configOption name="keepalive">
- <synopsis></synopsis>
+ <synopsis>If enabled, periodically send an XMPP message from this client with an empty message</synopsis>
</configOption>
<configOption name="autoprune">
<synopsis>Auto-remove users from buddy list.</synopsis>
@@ -384,7 +387,16 @@
<synopsis>Send incoming messages into the dialplan</synopsis>
</configOption>
<configOption name="status">
- <synopsis>XMPP status-chat, available, away, xaway, or dnd</synopsis>
+ <synopsis>Default XMPP status for the client</synopsis>
+ <description><para>Can be one of the following XMPP statuses:</para>
+ <enumlist>
+ <enum name="chat"/>
+ <enum name="available"/>
+ <enum name="away"/>
+ <enum name="xaway"/>
+ <enum name="dnd"/>
+ </enumlist>
+ </description>
</configOption>
<configOption name="buddy">
<synopsis>Manual addition of buddy to list</synopsis>
More information about the asterisk-commits
mailing list