[asterisk-bugs] [JIRA] (ASTERISK-29547) Wrong CDR(dst) after blind transfer

Miroslav Baskakov (JIRA) noreply at issues.asterisk.org
Tue Aug 10 06:51:33 CDT 2021


Miroslav Baskakov created ASTERISK-29547:
--------------------------------------------

             Summary: Wrong CDR(dst) after blind transfer
                 Key: ASTERISK-29547
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29547
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: CDR/General, Core/Bridging
    Affects Versions: 18.0.0, 16.0.0, 13.7.0
            Reporter: Miroslav Baskakov


Alice <100> calls to Bob <200>
Bob answers and he blind transfers call to Charlie <300>
Charlie answers and she blind transfers call to David <400>
Alice and David talk for awhile until Alice decides to hang up

I expect the following entries in CDR (as per spec https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+CDR+Specification#Asterisk12CDRSpecification-BlindTransfer):

{noformat}
"","100","200","default","""Alice"" <100>","SIP/alice-00000000","SIP/bob-00000001","Dial","SIP/bob,,Tt","2021-08-10 10:32:56","2021-08-10 10:33:01","2021-08-10 10:33:08",12,7,"ANSWERED","DOCUMENTATION","1628591576.0",""
"","100","300","default","""Alice"" <100>","SIP/alice-00000000","SIP/charlie-00000002","Dial","SIP/charlie,,Tt","2021-08-10 10:33:08","2021-08-10 10:33:08","2021-08-10 10:33:16",7,7,"ANSWERED","DOCUMENTATION","1628591576.0",""
"","100","400","default","""Alice"" <100>","SIP/alice-00000000","SIP/david-00000003","Dial","SIP/david,,Tt","2021-08-10 10:33:16","2021-08-10 10:33:16","2021-08-10 10:33:26",10,10,"ANSWERED","DOCUMENTATION","1628591576.0",""
{noformat}

But now I see the wrong dst in the CDR (dst in every previous record is set to current dst):

{noformat}
"","100","300","default","""Alice"" <100>","SIP/alice-00000000","SIP/bob-00000001","Dial","SIP/bob,,Tt","2021-08-10 10:38:22","2021-08-10 10:38:24","2021-08-10 10:38:27",4,3,"ANSWERED","DOCUMENTATION","1628591902.0",""
"","100","400","default","""Alice"" <100>","SIP/alice-00000000","SIP/charlie-00000002","Dial","SIP/charlie,,Tt","2021-08-10 10:38:27","2021-08-10 10:38:27","2021-08-10 10:38:32",4,4,"ANSWERED","DOCUMENTATION","1628591902.0",""
"","100","400","default","""Alice"" <100>","SIP/alice-00000000","SIP/david-00000003","Dial","SIP/david,,Tt","2021-08-10 10:38:32","2021-08-10 10:38:32","2021-08-10 10:38:38",5,5,"ANSWERED","DOCUMENTATION","1628591902.0",""
{noformat}

CDR with blind transfer worked correctly up to version 13.6.0. All versions after (13.7.0, 16.0, 18.0) contain ASTERISK-25600 and CDR sets wrong dst.

As a solution, I reverted the changes in the main/bridge_channel.c:
{code}
-	ast_channel_lock(bridge_channel->chan);
-	ast_bridge_vars_set(bridge_channel->chan, NULL, NULL);
-	ast_channel_unlock(bridge_channel->chan);
{code}
and CDR works as in the specification, suitable for any asterisk version.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list