[asterisk-commits] murf: branch 1.4 r64193 - in /branches/1.4: channels/ main/

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Mon May 14 06:58:42 MST 2007


Author: murf
Date: Mon May 14 08:58:42 2007
New Revision: 64193

URL: http://svn.digium.com/view/asterisk?view=rev&rev=64193
Log:
As per 9570, worrisome CDR warnings have been removed, that are either not helpful, or not relevant.

Modified:
    branches/1.4/channels/chan_local.c
    branches/1.4/main/cdr.c
    branches/1.4/main/pbx.c

Modified: branches/1.4/channels/chan_local.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/channels/chan_local.c?view=diff&rev=64193&r1=64192&r2=64193
==============================================================================
--- branches/1.4/channels/chan_local.c (original)
+++ branches/1.4/channels/chan_local.c Mon May 14 08:58:42 2007
@@ -582,10 +582,22 @@
 {
 	struct ast_channel *tmp = NULL, *tmp2 = NULL;
 	int randnum = ast_random() & 0xffff, fmt = 0;
+	const char *t;
+	int ama;
 
 	/* Allocate two new Asterisk channels */
-	if (!(tmp = ast_channel_alloc(1, state, 0, 0, "", p->exten, p->context, 0, "Local/%s@%s-%04x,1", p->exten, p->context, randnum)) 
-			|| !(tmp2 = ast_channel_alloc(1, AST_STATE_RING, 0, 0, "", p->exten, p->context, 0, "Local/%s@%s-%04x,2", p->exten, p->context, randnum))) {
+	/* safe accountcode */
+	if (p->owner && p->owner->accountcode)
+		t = p->owner->accountcode;
+	else
+		t = "";
+
+	if (p->owner)
+		ama = p->owner->amaflags;
+	else
+		ama = 0;
+	if (!(tmp = ast_channel_alloc(1, state, 0, 0, t, p->exten, p->context, ama, "Local/%s@%s-%04x,1", p->exten, p->context, randnum)) 
+			|| !(tmp2 = ast_channel_alloc(1, AST_STATE_RING, 0, 0, t, p->exten, p->context, ama, "Local/%s@%s-%04x,2", p->exten, p->context, randnum))) {
 		if (tmp)
 			ast_channel_free(tmp);
 		if (tmp2)

Modified: branches/1.4/main/cdr.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/main/cdr.c?view=diff&rev=64193&r1=64192&r2=64193
==============================================================================
--- branches/1.4/main/cdr.c (original)
+++ branches/1.4/main/cdr.c Mon May 14 08:58:42 2007
@@ -421,15 +421,6 @@
 		ast_log(LOG_NOTICE, "CDR on channel '%s' already posted\n", S_OR(cdr->channel, "<unknown>"));
 }
 
-/*! \brief  print a warning if cdr already started */
-static void check_start(struct ast_cdr *cdr)
-{
-	if (!cdr)
-		return;
-	if (!ast_tvzero(cdr->start))
-		ast_log(LOG_NOTICE, "CDR on channel '%s' already started\n", S_OR(cdr->channel, "<unknown>"));
-}
-
 void ast_cdr_free(struct ast_cdr *cdr)
 {
 
@@ -629,7 +620,6 @@
 		if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) {
 			chan = S_OR(cdr->channel, "<unknown>");
 			check_post(cdr);
-			check_start(cdr);
 			cdr->start = ast_tvnow();
 		}
 	}

Modified: branches/1.4/main/pbx.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/main/pbx.c?view=diff&rev=64193&r1=64192&r2=64193
==============================================================================
--- branches/1.4/main/pbx.c (original)
+++ branches/1.4/main/pbx.c Mon May 14 08:58:42 2007
@@ -4972,20 +4972,6 @@
 				ast_channel_lock(chan);
 		}
 		if (chan) {
-			if (chan->cdr) { /* check if the channel already has a cdr record, if not give it one */
-				ast_log(LOG_WARNING, "%s already has a call record??\n", chan->name);
-			} else {
-				chan->cdr = ast_cdr_alloc();   /* allocate a cdr for the channel */
-				if (!chan->cdr) {
-					/* allocation of the cdr failed */
-					free(chan->pbx);
-					res = -1;
-					goto outgoing_exten_cleanup;
-				}
-				/* allocation of the cdr was successful */
-				ast_cdr_init(chan->cdr, chan);  /* initilize our channel's cdr */
-				ast_cdr_start(chan->cdr);
-			}
 			if (chan->_state == AST_STATE_UP) {
 					res = 0;
 				if (option_verbose > 3)
@@ -5016,7 +5002,7 @@
 				if (option_verbose > 3)
 					ast_verbose(VERBOSE_PREFIX_4 "Channel %s was never answered.\n", chan->name);
 
-				if(chan->cdr) { /* update the cdr */
+				if (chan->cdr) { /* update the cdr */
 					/* here we update the status of the call, which sould be busy.
 					 * if that fails then we set the status to failed */
 					if (ast_cdr_disposition(chan->cdr, chan->hangupcause))



More information about the asterisk-commits mailing list