]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
As per 9570, worrisome CDR warnings have been removed, that are either not helpful...
authorSteve Murphy <murf@digium.com>
Mon, 14 May 2007 13:58:42 +0000 (13:58 +0000)
committerSteve Murphy <murf@digium.com>
Mon, 14 May 2007 13:58:42 +0000 (13:58 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@64193 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_local.c
main/cdr.c
main/pbx.c

index 2277c6a0c33088c345010ec4f0a65eb3032de107..ff462ad4beed66eba2acf96d596d44b9c6d4d31b 100644 (file)
@@ -582,10 +582,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)
index 9b62760c1f3b0fc257ecbb3b169ff9b28b97bb76..44081bf1f50c3250cc1c119d55af833c9bca5151 100644 (file)
@@ -421,15 +421,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)
 {
 
@@ -629,7 +620,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();
                }
        }
index 068b638e4289f7ea31db2365e199b9e15663266b..56e291175a9a7208ea65b3ff3a92ee029b6d8870 100644 (file)
@@ -4972,20 +4972,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);  /* 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 @@ int ast_pbx_outgoing_exten(const char *type, int format, void *data, int timeout
                                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))