SS7 marked the start of an open season for trunk again but here's something minor - abstract early bridging into the technology so that we don't always assume they use RTP and try it.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2006-09-21 19:27:26 +00:00
parent 19b22887ca
commit 1c764935f2
6 changed files with 64 additions and 42 deletions

View File

@@ -238,6 +238,9 @@ struct ast_channel_tech {
enum ast_bridge_result (* const bridge)(struct ast_channel *c0, struct ast_channel *c1, int flags,
struct ast_frame **fo, struct ast_channel **rc, int timeoutms);
/*! \brief Bridge two channels of the same type together (early) */
enum ast_bridge_result (* const early_bridge)(struct ast_channel *c0, struct ast_channel *c1);
/*! \brief Indicate a particular condition (e.g. AST_CONTROL_BUSY or AST_CONTROL_RINGING or AST_CONTROL_CONGESTION */
int (* const indicate)(struct ast_channel *c, int condition, const void *data, size_t datalen);
@@ -965,6 +968,13 @@ int ast_readstring_full(struct ast_channel *c, char *s, int len, int timeout, in
* \return Returns 0 on success and -1 if it could not be done */
int ast_channel_make_compatible(struct ast_channel *c0, struct ast_channel *c1);
/*! Bridge two channels together (early)
* \param c0 first channel to bridge
* \param c1 second channel to bridge
* Bridge two channels (c0 and c1) together early. This implies either side may not be answered yet.
* \return Returns 0 on success and -1 if it could not be done */
int ast_channel_early_bridge(struct ast_channel *c0, struct ast_channel *c1);
/*! Bridge two channels together
* \param c0 first channel to bridge
* \param c1 second channel to bridge