aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authortwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-01 01:30:37 +0000
committertwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-01 01:30:37 +0000
commit50fe8fd5ecdd11cfedfd2ac57459f2a18d84aee3 (patch)
tree99aebf0c221138d2a0e289daf5c3a45463439e3a /include
parentaf55d60c2d4db57136933aa2668674832af68875 (diff)
Asterisk, when parking can drop rights a caller when a parking timeout occurs. Also, when doing built-in attended transfers, sometimes incorrectly passes rights from the transferrer to the transferee. This patch tries to fixes the parking issue and lays some groundwork for later fixing the transfer issue.
(closes issue #11520) Reported by: pliew Tested by: otherwiseguy git-svn-id: http://svn.digium.com/svn/asterisk/trunk@105477 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/app.h12
-rw-r--r--include/asterisk/global_datastores.h11
2 files changed, 21 insertions, 2 deletions
diff --git a/include/asterisk/app.h b/include/asterisk/app.h
index 6d9aaa72c..7c66d47a1 100644
--- a/include/asterisk/app.h
+++ b/include/asterisk/app.h
@@ -461,8 +461,16 @@ int ast_app_parse_options(const struct ast_app_option *options, struct ast_flags
*/
int ast_app_parse_options64(const struct ast_app_option *options, struct ast_flags64 *flags, char **args, char *optstr);
-/*! \brief Present a dialtone and collect a certain length extension.
- \return Returns 1 on valid extension entered, -1 on hangup, or 0 on invalid extension.
+/*! \brief Given a list of options array, return an option string based on passed flags
+ \param options The array of possible options declared with AST_APP_OPTIONS
+ \param flags The flags of the options that you wish to populate the buffer with
+ \param buf The buffer to fill with the string of options
+ \param len The maximum length of buf
+*/
+void ast_app_options2str64(const struct ast_app_option *options, struct ast_flags64 *flags, char *buf, size_t len);
+
+/*! \brief Present a dialtone and collect a certain length extension.
+ \return Returns 1 on valid extension entered, -1 on hangup, or 0 on invalid extension.
\note Note that if 'collect' holds digits already, new digits will be appended, so be sure it's initialized properly */
int ast_app_dtget(struct ast_channel *chan, const char *context, char *collect, size_t size, int maxlen, int timeout);
diff --git a/include/asterisk/global_datastores.h b/include/asterisk/global_datastores.h
index 72edabac5..510034b0d 100644
--- a/include/asterisk/global_datastores.h
+++ b/include/asterisk/global_datastores.h
@@ -26,11 +26,22 @@
#include "asterisk/channel.h"
+#define MAX_DIAL_FEATURE_OPTIONS 30
+
extern const struct ast_datastore_info dialed_interface_info;
+extern const struct ast_datastore_info dial_features_info;
+
struct ast_dialed_interface {
AST_LIST_ENTRY(ast_dialed_interface) list;
char interface[1];
};
+struct ast_dial_features {
+ struct ast_flags features_caller;
+ struct ast_flags features_callee;
+ char options[MAX_DIAL_FEATURE_OPTIONS];
+ int is_caller;
+};
+
#endif