Merged revisions 70656 via svnmerge from
authorSteve Murphy <murf@digium.com>
Thu, 21 Jun 2007 13:18:12 +0000 (13:18 +0000)
committerSteve Murphy <murf@digium.com>
Thu, 21 Jun 2007 13:18:12 +0000 (13:18 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r70656 | murf | 2007-06-21 07:00:39 -0600 (Thu, 21 Jun 2007) | 1 line

Via complaints aired in asterisk-users, I submit these changes, which allow cdr updates to see macro context/exten, whether hung up or not
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@70676 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/cdr.c

index 5d447e0..d19f6a8 100644 (file)
@@ -775,8 +775,8 @@ int ast_cdr_init(struct ast_cdr *cdr, struct ast_channel *c)
                        cdr->amaflags = c->amaflags ? c->amaflags :  ast_default_amaflags;
                        ast_copy_string(cdr->accountcode, c->accountcode, sizeof(cdr->accountcode));
                        /* Destination information */
-                       ast_copy_string(cdr->dst, c->exten, sizeof(cdr->dst));
-                       ast_copy_string(cdr->dcontext, c->context, sizeof(cdr->dcontext));
+                       ast_copy_string(cdr->dst, S_OR(c->macroexten,c->exten), sizeof(cdr->dst));
+                       ast_copy_string(cdr->dcontext, S_OR(c->macrocontext,c->context), sizeof(cdr->dcontext));
                        /* Unique call identifier */
                        ast_copy_string(cdr->uniqueid, c->uniqueid, sizeof(cdr->uniqueid));
                }
@@ -891,11 +891,10 @@ int ast_cdr_update(struct ast_channel *c)
 
                        /* Copy account code et-al */   
                        ast_copy_string(cdr->accountcode, c->accountcode, sizeof(cdr->accountcode));
-                       if (!ast_check_hangup(c)) {
-                               /* Destination information */ /* XXX privilege macro* ? */
-                               ast_copy_string(cdr->dst, S_OR(c->macroexten, c->exten), sizeof(cdr->dst));
-                               ast_copy_string(cdr->dcontext, S_OR(c->macrocontext, c->context), sizeof(cdr->dcontext));
-                       }
+                       
+                       /* Destination information */ /* XXX privilege macro* ? */
+                       ast_copy_string(cdr->dst, S_OR(c->macroexten, c->exten), sizeof(cdr->dst));
+                       ast_copy_string(cdr->dcontext, S_OR(c->macrocontext, c->context), sizeof(cdr->dcontext));
                }
        }