diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-10-03 19:59:46 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-10-03 19:59:46 +0000 |
commit | f5b9309f832295b9b9a8a56d98d303a3df69bfa0 (patch) | |
tree | 75e84fb01621cf0053588251a8211b1dcf6822b0 /channels/chan_sip.c | |
parent | c27495c54c403f2a2045a42cf8ff6b4edd9a0f82 (diff) |
Correct CDR's for supervised transfer (bug #1595)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3902 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_sip.c')
-rwxr-xr-x | channels/chan_sip.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 94e4aa6d5..591e306f7 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -7005,6 +7005,14 @@ static int attempt_transfer(struct sip_pvt *p1, struct sip_pvt *p2) ast_moh_stop(p1->owner->bridge); ast_moh_stop(p1->owner); ast_moh_stop(p2->owner); + if (p1->owner->cdr) { + p2->owner->cdr = ast_cdr_append(p2->owner->cdr, p1->owner->cdr); + p1->owner->cdr = NULL; + } + if (p1->owner->bridge->cdr) { + p2->owner->cdr = ast_cdr_append(p2->owner->cdr, p1->owner->bridge->cdr); + p1->owner->bridge->cdr = NULL; + } if (ast_channel_masquerade(p2->owner, p1->owner->bridge)) { ast_log(LOG_WARNING, "Failed to masquerade %s into %s\n", p2->owner->name, p1->owner->bridge->name); return -1; @@ -7013,6 +7021,14 @@ static int attempt_transfer(struct sip_pvt *p1, struct sip_pvt *p2) ast_moh_stop(p2->owner->bridge); ast_moh_stop(p2->owner); ast_moh_stop(p1->owner); + if (p2->owner->cdr) { + p1->owner->cdr = ast_cdr_append(p1->owner->cdr, p2->owner->cdr); + p2->owner->cdr = NULL; + } + if (p2->owner->bridge->cdr) { + p1->owner->cdr = ast_cdr_append(p1->owner->cdr, p2->owner->bridge->cdr); + p2->owner->bridge->cdr = NULL; + } if (ast_channel_masquerade(p1->owner, p2->owner->bridge)) { ast_log(LOG_WARNING, "Failed to masquerade %s into %s\n", p1->owner->name, p2->owner->bridge->name); return -1; |