[asterisk-bugs] [JIRA] (ASTERISK-24439) Wrong billsec of a new call on an already answered channel

Farzan Doroodgar (JIRA) noreply at issues.asterisk.org
Sat Oct 18 16:25:28 CDT 2014


     [ https://issues.asterisk.org/jira/browse/ASTERISK-24439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Farzan Doroodgar updated ASTERISK-24439:
----------------------------------------

    Description: 
*What I want to do:*
Answer an incoming call and Dial another number. When call is finished I need to have the correct conversation time of the newly made call (which is supposed to be stored in $\{CDR(billsec)\}).
*What I am getting:*
Since the channel is answered, the C option in Dial application is only resetting the answer variable of CDR to current time therefore the resulting billsec is equal to duration variable of CDR and is equal to channel seize time not actual call conversation time.
*My dial plan:*
{code}
exten => 333333,1,NoOp(Here I answer the channel and make another call)
    same => n,Answer
    same => n,Dial(DAHDI/g0/123456789,,gC)
    same => n,NoOP(Billsec: ${CDR(billsec) }) // Here billsec is equal to CDR(duration)
{code}

*Note:* If I simply remove Answer CMD from dialplan then billsec variable is showing the correct call time and this makes sense because channel was not answered and CDR(answer) will be assigned as soon as called party answers the channel. But the problem is that in my complete dialplan I have to answer the channel before making the call because I need to interact with user beforehand and it needs the channel to be answered.

BTW, I was using Asterisk 13.0.0-beta1 until I upgraded to beta2 based on the hints received by asking help from community and SO but unfortunately the problem persists. Also I've used ResetCDR and ForkCDR but those had no effect.


  was:
*What I want to do:*
Answer an incoming call and Dial another number. When call is finished I need to have the correct conversation time of the newly made call (which is supposed to be stored in $\{CDR(billsec)\}).
*What I am getting:*
Since the channel is answered, the C option in Dial application is only resetting the answer variable of CDR to current time therefore the resulting billsec is equal to duration variable of CDR and is equal to channel seize time not actual call conversation time.
*My dial plan:*
{code}
exten => 333333,1,NoOp(Here I answer the channel and make another call)
    same => n,Answer
    same => n,Dial(DAHDI/g0/123456789,,gC)
    same => n,NoOP(Billsec: ${CDR(billsec) }) // Here billsec is equal to CDR(duration)
{code}

*Note:* If I simply remove Answer CMD from dialplan then billsec variable is showing the correct call time and this makes sense because channel was not answered and CDR(answer) will be assigned as soon as called party answers the channel. But the problem is that in my complete dialplan I have to answer the channel before making the call because I need to interact with user beforehand and it needs the channel to be answered.

BTW, I was using Asterisk 13.0.0-beta1 until I upgraded to beta2 based on the hints received by asking help from community and SO but unfortunately the problem persists.



> Wrong billsec of a new call on an already answered channel
> ----------------------------------------------------------
>
>                 Key: ASTERISK-24439
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24439
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: CDR/General
>    Affects Versions: 13.0.0-beta1, 13.0.0-beta2
>         Environment: CentOS 6.5
> TE410P Digium Card
> libss7
>            Reporter: Farzan Doroodgar
>
> *What I want to do:*
> Answer an incoming call and Dial another number. When call is finished I need to have the correct conversation time of the newly made call (which is supposed to be stored in $\{CDR(billsec)\}).
> *What I am getting:*
> Since the channel is answered, the C option in Dial application is only resetting the answer variable of CDR to current time therefore the resulting billsec is equal to duration variable of CDR and is equal to channel seize time not actual call conversation time.
> *My dial plan:*
> {code}
> exten => 333333,1,NoOp(Here I answer the channel and make another call)
>     same => n,Answer
>     same => n,Dial(DAHDI/g0/123456789,,gC)
>     same => n,NoOP(Billsec: ${CDR(billsec) }) // Here billsec is equal to CDR(duration)
> {code}
> *Note:* If I simply remove Answer CMD from dialplan then billsec variable is showing the correct call time and this makes sense because channel was not answered and CDR(answer) will be assigned as soon as called party answers the channel. But the problem is that in my complete dialplan I have to answer the channel before making the call because I need to interact with user beforehand and it needs the channel to be answered.
> BTW, I was using Asterisk 13.0.0-beta1 until I upgraded to beta2 based on the hints received by asking help from community and SO but unfortunately the problem persists. Also I've used ResetCDR and ForkCDR but those had no effect.



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



More information about the asterisk-bugs mailing list