diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-05-10 12:24:11 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-05-10 12:24:11 +0000 |
commit | 91ad35ce5445a2f9c958968672338869bd4ce8a5 (patch) | |
tree | 503e8c1d20f6c0594ff9ceebe29a789bcc3ebc4b /include | |
parent | 8abb5a32f2e1226a24279c81b71cbd63456aad34 (diff) |
ensure that control frames with payload can be sent to channel drivers via ->indicate()
update iax2_indicate to pass control frame payload to the connected channel
add an API call for sending an indication with payload, and use it for control frames with payload
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@26417 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r-- | include/asterisk/channel.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h index 00001f059..be2bac4d4 100644 --- a/include/asterisk/channel.h +++ b/include/asterisk/channel.h @@ -250,7 +250,7 @@ struct ast_channel_tech { struct ast_frame **fo, struct ast_channel **rc, int timeoutms); /*! 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); + int (* const indicate)(struct ast_channel *c, int condition, const void *data, size_t datalen); /*! Fix up a channel: If a channel is consumed, this is called. Basically update any ->owner links */ int (* const fixup)(struct ast_channel *oldchan, struct ast_channel *newchan); @@ -764,6 +764,16 @@ int ast_call(struct ast_channel *chan, char *addr, int timeout); */ int ast_indicate(struct ast_channel *chan, int condition); +/*! \brief Indicates condition of channel, with payload + * \note Indicate a condition such as AST_CONTROL_BUSY, AST_CONTROL_RINGING, or AST_CONTROL_CONGESTION on a channel + * \param chan channel to change the indication + * \param condition which condition to indicate on the channel + * \param data pointer to payload data + * \param datalen size of payload data + * \return Returns 0 on success, -1 on failure + */ +int ast_indicate_data(struct ast_channel *chan, int condition, const void *data, size_t datalen); + /* Misc stuff ------------------------------------------------ */ /*! \brief Wait for input on a channel |