2 * Asterisk -- An open source telephony toolkit.
4 * Copyright (C) 2013 Digium, Inc.
6 * Richard Mudgett <rmudgett@digium.com>
8 * See http://www.asterisk.org for more information about
9 * the Asterisk project. Please do not directly contact
10 * any of the maintainers of this project for assistance;
11 * the project provides a web site, mailing lists and IRC
12 * channels for your use.
14 * This program is free software, distributed under the terms of
15 * the GNU General Public License Version 2. See the LICENSE file
16 * at the top of the source tree.
21 * \brief Basic bridge subclass API.
23 * \author Richard Mudgett <rmudgett@digium.com>
26 * \arg \ref AstCREDITS
29 #ifndef _ASTERISK_BRIDGING_BASIC_H
30 #define _ASTERISK_BRIDGING_BASIC_H
32 #if defined(__cplusplus) || defined(c_plusplus)
36 /* ------------------------------------------------------------------- */
39 * \brief Get DTMF feature flags from the channel.
42 * \param chan Channel to get DTMF features datastore.
44 * \note The channel should be locked before calling this function.
46 * \retval flags on success.
47 * \retval NULL on error.
49 struct ast_flags *ast_bridge_features_ds_get(struct ast_channel *chan);
52 * \brief Set basic bridge DTMF feature flags datastore on the channel.
55 * \param chan Channel to set DTMF features datastore.
56 * \param flags Builtin DTMF feature flags. (ast_bridge_config flags)
58 * \note The channel must be locked before calling this function.
60 * \retval 0 on success.
61 * \retval -1 on error.
63 int ast_bridge_features_ds_set(struct ast_channel *chan, struct ast_flags *flags);
66 * \brief Setup DTMF feature hooks using the channel features datastore property.
69 * \param bridge_channel What to setup DTMF features on.
71 * \retval 0 on success.
72 * \retval -1 on error.
74 int ast_bridge_channel_setup_features(struct ast_bridge_channel *bridge_channel);
76 /*! \brief Bridge basic class virtual method table. */
77 extern struct ast_bridge_methods ast_bridge_basic_v_table;
80 * \brief Create a new basic class bridge
82 * \retval a pointer to a new bridge on success
83 * \retval NULL on failure
88 * struct ast_bridge *bridge;
89 * bridge = ast_bridge_basic_new();
92 * This creates a basic two party bridge with any configured
93 * DTMF features enabled that will be destroyed once one of the
96 struct ast_bridge *ast_bridge_basic_new(void);
98 /*! Initialize the basic bridge class for use by the system. */
99 void ast_bridging_init_basic(void);
101 /* ------------------------------------------------------------------- */
103 #if defined(__cplusplus) || defined(c_plusplus)
107 #endif /* _ASTERISK_BRIDGING_BASIC_H */