aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_dial.c
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-05 22:32:10 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-05 22:32:10 +0000
commit277beb94a0f5aa85eeb0603f6d11319cce02c3cd (patch)
tree32a4e75de52a4d00eb32bb5917c271f775d0743e /apps/app_dial.c
parent1de0d5b8308435068cf5a04314bfd98cc712c8ee (diff)
Add a control frame to indicate the source of media has changed. Depending on the underlying technology it may need to change some things.
(closes issue #12148) Reported by: jcomellas git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@106235 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_dial.c')
-rw-r--r--apps/app_dial.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c
index 4cf7153cb..2465bfc1d 100644
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -635,6 +635,11 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, struct dial_l
ast_verbose (VERBOSE_PREFIX_3 "%s requested a video update, passing it to %s\n", c->name, in->name);
ast_indicate(in, AST_CONTROL_VIDUPDATE);
break;
+ case AST_CONTROL_SRCUPDATE:
+ if (option_verbose > 2)
+ ast_verbose (VERBOSE_PREFIX_3 "%s requested a source update, passing it to %s\n", c->name, in->name);
+ ast_indicate(in, AST_CONTROL_SRCUPDATE);
+ break;
case AST_CONTROL_PROCEEDING:
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "%s is proceeding passing it to %s\n", c->name, in->name);
@@ -745,7 +750,8 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, struct dial_l
if (single && (f->frametype == AST_FRAME_CONTROL) &&
((f->subclass == AST_CONTROL_HOLD) ||
(f->subclass == AST_CONTROL_UNHOLD) ||
- (f->subclass == AST_CONTROL_VIDUPDATE))) {
+ (f->subclass == AST_CONTROL_VIDUPDATE) ||
+ (f->subclass == AST_CONTROL_SRCUPDATE))) {
if (option_verbose > 2)
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);