aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authormnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b>2009-05-08 21:01:25 +0000
committermnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b>2009-05-08 21:01:25 +0000
commitdc9fc091c725c0a8b54dbdf92eb449718482af98 (patch)
tree830b6f2515eb1bc3c7716ece15fcdf76cccda4ff /main
parent23ec08946d536e682e170e507ecb3fe3cd65d7b5 (diff)
Set the proper disposition on originated calls.
(closes issue #14167) Reported by: jpt Patches: call-file-missing-cdr2.diff uploaded by mnicholson (license 96) Tested by: dlotina, rmartinez, mnicholson git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@193391 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-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;