summaryrefslogtreecommitdiff
path: root/channels/sip/include/config_parser.h
diff options
context:
space:
mode:
authorTerry Wilson <twilson@digium.com>2012-02-09 18:14:39 +0000
committerTerry Wilson <twilson@digium.com>2012-02-09 18:14:39 +0000
commite5c51ee44c79950ff90660f29ae4b78ce8cc06d2 (patch)
tree4a25b55ca8c3dcb00699c36ec270f0ff25750ca3 /channels/sip/include/config_parser.h
parent8f5c33f95a44347308fa9987ddad0598ba060522 (diff)
Add auto_force_rport and auto_comedia NAT options
This patch adds the auto_force_rport and auto_comedia NAT options. It also converts the nat= setting to a list of comma-separated combinable options: no, force_rport, comedia, auto_force_rport, and auto_comedia. nat=yes remains as an undocumented option equal to "force_rport,comedia". The first instance of 'yes' or 'no' in the list stops parsing and overrides any previously set options. If an auto_* option is specified with its non-auto_ counterpart, the auto setting takes precedence. This patch builds upon the patch posted to ASTERISK-17860 by JIRA user pedro-garcia. (closes issue ASTERISK-17860) Review: https://reviewboard.asterisk.org/r/1698/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@354597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/sip/include/config_parser.h')
-rw-r--r--channels/sip/include/config_parser.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/channels/sip/include/config_parser.h b/channels/sip/include/config_parser.h
index 76fefc2c6..2737016e6 100644
--- a/channels/sip/include/config_parser.h
+++ b/channels/sip/include/config_parser.h
@@ -43,6 +43,18 @@ int sip_parse_register_line(struct sip_registry *reg, int default_expiry, const
*/
int sip_parse_host(char *line, int lineno, char **hostname, int *portnum, enum sip_transport *transport);
+/*! \brief Parse the comma-separated nat= option values
+ * \param value The comma-separated value
+ * \param mask An array of ast_flags that will be set by this function
+ * and used as a mask for copying the flags later
+ * \param flags An array of ast_flags that will be set by this function
+ *
+ * \note The nat-related values in both mask and flags are assumed to empty. This function
+ * will treat the first "yes" or "no" value in a list of values as overiding all other values
+ * and will stop parsing. Auto values will override their non-auto counterparts.
+ */
+void sip_parse_nat_option(const char *value, struct ast_flags *mask, struct ast_flags *flags);
+
/*!
* \brief register config parsing tests
*/