aboutsummaryrefslogtreecommitdiffstats
path: root/main/channel.c
diff options
context:
space:
mode:
authormnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b>2010-04-22 22:11:23 +0000
committermnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b>2010-04-22 22:11:23 +0000
commit7209afbe01d26e5f97878f16e15b34c41db75f25 (patch)
tree0eed31dacfb4d771dd49768248ef4618b9e473a9 /main/channel.c
parent9dae2747e3a106ee65219006fb4ac49a6a78ee98 (diff)
Fix previous commit.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@258675 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/channel.c')
-rw-r--r--main/channel.c29
1 files changed, 11 insertions, 18 deletions
diff --git a/main/channel.c b/main/channel.c
index 712da3d2b..b0366adab 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -4522,8 +4522,19 @@ struct ast_channel *__ast_request_and_dial(const char *type, format_t format, co
break;
case AST_CONTROL_BUSY:
+ ast_cdr_busy(chan->cdr);
+ *outstate = f->subclass.integer;
+ timeout = 0;
+ break;
+
case AST_CONTROL_CONGESTION:
+ ast_cdr_failed(chan->cdr);
+ *outstate = f->subclass.integer;
+ timeout = 0;
+ break;
+
case AST_CONTROL_ANSWER:
+ ast_cdr_answer(chan->cdr);
*outstate = f->subclass.integer;
timeout = 0; /* trick to force exit from the while() */
break;
@@ -6141,24 +6152,6 @@ enum ast_bridge_result ast_channel_bridge(struct ast_channel *c0, struct ast_cha
ast_clear_flag(c0, AST_FLAG_NBRIDGE);
ast_clear_flag(c1, AST_FLAG_NBRIDGE);
- case AST_CONTROL_BUSY:
- ast_cdr_busy(chan->cdr);
- *outstate = f->subclass;
- timeout = 0;
- break;
-
- case AST_CONTROL_CONGESTION:
- ast_cdr_failed(chan->cdr);
- *outstate = f->subclass;
- timeout = 0;
- break;
-
- case AST_CONTROL_ANSWER:
- ast_cdr_answer(chan->cdr);
- *outstate = f->subclass;
- timeout = 0; /* trick to force exit from the while() */
- break;
-
if (c0->_softhangup == AST_SOFTHANGUP_UNBRIDGE || c1->_softhangup == AST_SOFTHANGUP_UNBRIDGE)
continue;