aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authormmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-07-01 21:16:33 +0000
committermmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-07-01 21:16:33 +0000
commit313e1c1737b71ada31011ced35d33c1f76b0d836 (patch)
tree47b8b00dbd57a8c2986c1422b8e67aabf2ea8e02 /main
parentc899481fc0e99ce08d774156ea56eb79d9f8515b (diff)
Merged revisions 127157 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r127157 | mmichelson | 2008-07-01 16:16:00 -0500 (Tue, 01 Jul 2008) | 8 lines Place the delay in __ast_answer prior to the channel-specific answer callback. This change differs from commit 127113 in that now the channel is not set to AST_STATE_UP until after the answer callback. (closes issue #12924) Reported by: snyfer ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@127158 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/channel.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/main/channel.c b/main/channel.c
index 2c6dba1d0..d64fcd4d0 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -1682,7 +1682,6 @@ int __ast_answer(struct ast_channel *chan, unsigned int delay)
if (delay) {
int needanswer = (chan->tech->answer != NULL);
- ast_setstate(chan, AST_STATE_UP);
ast_cdr_answer(chan->cdr);
ast_channel_unlock(chan);
ast_safe_sleep(chan, delay);
@@ -1695,6 +1694,7 @@ int __ast_answer(struct ast_channel *chan, unsigned int delay)
res = chan->tech->answer(chan);
ast_channel_unlock(chan);
}
+ ast_setstate(chan, AST_STATE_UP);
} else {
if (chan->tech->answer) {
res = chan->tech->answer(chan);