aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-14 14:13:45 +0000
committermurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-14 14:13:45 +0000
commitc9a9959fcb3f1d3107e49be8cecf19a535820e63 (patch)
tree9f4c3429c50d7a4ec110f77f39cc4cee1fe613bb
parentd0cd2b86bfe60cc245297db9656c878ac808ce53 (diff)
Merged revisions 64193 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r64193 | murf | 2007-05-14 07:58:42 -0600 (Mon, 14 May 2007) | 1 line As per 9570, worrisome CDR warnings have been removed, that are either not helpful, or not relevant. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@64208 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_local.c16
-rw-r--r--main/cdr.c10
-rw-r--r--main/pbx.c14
3 files changed, 14 insertions, 26 deletions
diff --git a/channels/chan_local.c b/channels/chan_local.c
index 4b3484b4b..8d588d79a 100644
--- a/channels/chan_local.c
+++ b/channels/chan_local.c
@@ -594,10 +594,22 @@ static struct ast_channel *local_new(struct local_pvt *p, int state)
{
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)
diff --git a/main/cdr.c b/main/cdr.c
index eaad66f05..297769bed 100644
--- a/main/cdr.c
+++ b/main/cdr.c
@@ -426,15 +426,6 @@ static void check_post(struct ast_cdr *cdr)
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)
{
@@ -634,7 +625,6 @@ void ast_cdr_start(struct ast_cdr *cdr)
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();
}
}
diff --git a/main/pbx.c b/main/pbx.c
index 9b2d9cc31..c294501a9 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -5018,20 +5018,6 @@ int ast_pbx_outgoing_exten(const char *type, int format, void *data, int timeout
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); /* initialize our channel's cdr */
- ast_cdr_start(chan->cdr);
- }
if (chan->_state == AST_STATE_UP) {
res = 0;
if (option_verbose > 3)