diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2006-05-10 12:24:11 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2006-05-10 12:24:11 +0000 |
commit | fdcfd6469bc41e123c44e520add8fac221651ddb (patch) | |
tree | 503e8c1d20f6c0594ff9ceebe29a789bcc3ebc4b /channels/chan_iax2.c | |
parent | 1904069f71db2133fb2c87b4481adf80a4caf95a (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: https://origsvn.digium.com/svn/asterisk/trunk@26417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r-- | channels/chan_iax2.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 2f16f5557..862875185 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -791,7 +791,7 @@ static int iax2_digit(struct ast_channel *c, char digit); static int iax2_do_register(struct iax2_registry *reg); static int iax2_fixup(struct ast_channel *oldchannel, struct ast_channel *newchan); static int iax2_hangup(struct ast_channel *c); -static int iax2_indicate(struct ast_channel *c, int condition); +static int iax2_indicate(struct ast_channel *c, int condition, const void *data, size_t datalen); static int iax2_poke_peer(struct iax2_peer *peer, int heldcall); static int iax2_provision(struct sockaddr_in *end, int sockfd, char *dest, const char *template, int force); static int iax2_send(struct chan_iax2_pvt *pvt, struct ast_frame *f, unsigned int ts, int seqno, int now, int transfer, int final); @@ -3493,12 +3493,12 @@ static int iax2_answer(struct ast_channel *c) return send_command_locked(callno, AST_FRAME_CONTROL, AST_CONTROL_ANSWER, 0, NULL, 0, -1); } -static int iax2_indicate(struct ast_channel *c, int condition) +static int iax2_indicate(struct ast_channel *c, int condition, const void *data, size_t datalen) { unsigned short callno = PTR_TO_CALLNO(c->tech_pvt); if (option_debug && iaxdebug) ast_log(LOG_DEBUG, "Indicating condition %d\n", condition); - return send_command_locked(callno, AST_FRAME_CONTROL, condition, 0, NULL, 0, -1); + return send_command_locked(callno, AST_FRAME_CONTROL, condition, 0, data, datalen, -1); } static int iax2_transfer(struct ast_channel *c, const char *dest) |