[asterisk-bugs] [JIRA] (ASTERISK-21010) No CDR created after call has been split and then bridged back

Rusty Newton (JIRA) noreply at issues.asterisk.org
Tue Jan 29 09:47:59 CST 2013


Rusty Newton created ASTERISK-21010:
---------------------------------------

             Summary: No CDR created after call has been split and then bridged back
                 Key: ASTERISK-21010
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-21010
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: CDR/General, Core/Bridging
    Affects Versions: 1.8.14.1, 1.8.15.1, 1.8.19.1
         Environment: CentOS 5 using Digium yum repositories
            Reporter: Alex Barnes
            Assignee: Alex Barnes


Scenario
===========================

No CDR record is created after a call has been split and then bridged back.  See example dialplan below where a CDR record is created at all points right up to the Bridge command but not after.  Reversing which channel gets bridged still results in no CDR, i.e. the caller doing the bridging or the callee.

In our case the VoiceSafe is acting as an ISDN middle-man to record and log calls before being passed onto the PBX or telco.  I haven't tested purely SIP but I imagine it would be the same outcome.

Note that this was working in 1.8.13 but appears to have been broken in 1.8.14 and above.



Versions
===========================
All packages installed via Yum.

* 1.8.13.1-1_centos5 = OK
* 1.8.14.1-1_centos5 = No CDR
* 1.8.15.1-1_centos5 = No CDR
* 1.8.15-0.cert1.1_centos5 = No CDR
* 1.8.19.1-1_centos5 = No CDR


Dialplan
===========================
{code}
[from-inside]
exten => 321,1,SET(__DYNAMIC_FEATURES=testBridge)
exten => 321,n,Dial(DAHDI/g1/321,300,)

[macro-test-bridge]
exten => s,1,NoOp(In test-bridge)
exten => s,n,Set(operator-channel=${CHANNEL})
exten => s,n,Set(caller-channel=${BRIDGEPEER})

; Sync variables on both channels
exten => s,n,NoOp(Syncing channel vars)
exten => s,n,Set(SHARED(operator-channel,${operator-channel})=${operator-channel})
exten => s,n,Set(SHARED(caller-channel,${operator-channel})=${caller-channel})
exten => s,n,Set(SHARED(operator-channel,${caller-channel})=${operator-channel})
exten => s,n,Set(SHARED(caller-channel,${caller-channel})=${caller-channel})

exten => s,n,ChannelRedirect(${caller-channel},test-wait-bridge,1,1)
exten => s,n,ChannelRedirect(${operator-channel},test-wait,1,1)

[test-wait-bridge]
exten => 1,1,NoOp(In test-wait-bridge)
exten => 1,n,Wait(5)
; Hanging up here rather than bridging will results in CDR correctly being created
; exten => 1,n,Hangup
exten => 1,n,Bridge(${SHARED(operator-channel)})

[test-wait]
exten => 1,1,NoOp(In test-wait)
exten => 1,n,Wait(30)
exten => 1,n,Hangup
{code}

features.conf
===========================
{code}
testBridge  => #2,peer,Macro,test-bridge
{code}

Example Output
===========================
See attachments


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list