summaryrefslogtreecommitdiff
path: root/apps/app_dial.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2006-07-08 02:24:07 +0000
committerMark Spencer <markster@digium.com>2006-07-08 02:24:07 +0000
commit4c90cf59b7964955fb457326fbd204ff64a5ad2f (patch)
treeec518bd7b27a9f005244e746dcaa79c215c85745 /apps/app_dial.c
parenta7d62fd60c64f1257fe8f1e9307fc7dd84f811ec (diff)
Support hold/unhold in Zap, update IAX2 parser to know about modern commands, forward hold/unhold in dial, add hold device state
and implement holding in the SLA. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_dial.c')
-rw-r--r--apps/app_dial.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c
index 25fa15aba..f2834885d 100644
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -728,10 +728,13 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, struct dial_l
if (ast_write(outgoing->chan, f))
ast_log(LOG_WARNING, "Unable to forward voice\n");
}
- if (single && (f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_VIDUPDATE)) {
+ if (single && (f->frametype == AST_FRAME_CONTROL) &&
+ ((f->subclass == AST_CONTROL_HOLD) ||
+ (f->subclass == AST_CONTROL_UNHOLD) ||
+ (f->subclass == AST_CONTROL_VIDUPDATE))) {
if (option_verbose > 2)
- ast_verbose(VERBOSE_PREFIX_3 "%s requested a video update, passing it to %s\n", in->name,outgoing->chan->name);
- ast_indicate(outgoing->chan, AST_CONTROL_VIDUPDATE);
+ ast_verbose(VERBOSE_PREFIX_3 "%s requested special control %d, passing it to %s\n", in->name, f->subclass, outgoing->chan->name);
+ ast_indicate_data(outgoing->chan, f->subclass, f->data, f->datalen);
}
ast_frfree(f);
}