aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/channel.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/main/channel.c b/main/channel.c
index 6a2f7f77c..6683d2b91 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -3089,8 +3089,19 @@ struct ast_channel *__ast_request_and_dial(const char *type, int format, void *d
break;
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;