Klaus Darilion
2009-Aug-04 10:34 UTC
[asterisk-users] CDR Problem - No CDRs when call is not bridged
Hi! I just found out that Asterisk (1.4) does not write CDRs if the incoming call was not forwarded but handled internally without answering the call. E.g.: [from_pstn] exten => 997,1,Answer() exten => 997,2,Playback(tt-weasels) exten => 997,3,Hangup() exten => 999,1,Playback(tt-weasels|noanswer) exten => 999,4,Hangup() For incoming calls to 997 a CDR will be written, but not for 999. How can I change this behavior? Thanks Klaus
Alex Balashov
2009-Aug-04 11:14 UTC
[asterisk-users] CDR Problem - No CDRs when call is not bridged
Klaus Darilion wrote:> [from_pstn] > exten => 997,1,Answer() > exten => 997,2,Playback(tt-weasels) > exten => 997,3,Hangup() > > exten => 999,1,Playback(tt-weasels|noanswer) > exten => 999,4,Hangup() > > > For incoming calls to 997 a CDR will be written, but not for 999.It seems to me that this has to do with the fact that in 999, the dialog is kept in an early state and is never actually answered. Thus, technically tt-weasels is in-band ringback, and no actual call took place. What I'm a little hazy on is which dial plan applications imply a full Answer() and which don't; I do not remember if Playback() is one of the ones that doesn't imply it, but if that's so, it would explain the lack of CDR. Its cousin Background() implies an answer for sure, as that requires a bidirectional media path for possible DTMF input from the user that may preempt the announcement. There is a very limited amount of things that can actually take place in the dial plan that don't require picking up the call (200 OK) and establishing a bidirectional media path; basically, it's the set of actions that involve playing things to the user unidirectionally. Everything else will trigger an answer if an answer is not required but not explicitly enacted with Answer(). -- Alex -- Alex Balashov Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 Mobile : (+1) (678) 237-1775
Miguel Molina
2009-Aug-04 13:38 UTC
[asterisk-users] CDR Problem - No CDRs when call is not bridged
Klaus Darilion escribi?:> Hi! > > I just found out that Asterisk (1.4) does not write CDRs if the incoming > call was not forwarded but handled internally without answering the call. > > E.g.: > > [from_pstn] > exten => 997,1,Answer() > exten => 997,2,Playback(tt-weasels) > exten => 997,3,Hangup() > > exten => 999,1,Playback(tt-weasels|noanswer) > exten => 999,4,Hangup() > > > For incoming calls to 997 a CDR will be written, but not for 999. > > How can I change this behavior? > > Thanks > Klaus >Try unanswered = yes on cdr.conf Cheers, -- Ing. Miguel Molina Grupo de Tecnolog?a Millenium Phone Center
Klaus Darilion
2009-Aug-05 10:22 UTC
[asterisk-users] CDR Problem - No CDRs when call is not bridged
Miguel Molina schrieb:> Klaus Darilion escribi?: >> Hi! >> >> I just found out that Asterisk (1.4) does not write CDRs if the incoming >> call was not forwarded but handled internally without answering the call. >> >> E.g.: >> >> [from_pstn] >> exten => 997,1,Answer() >> exten => 997,2,Playback(tt-weasels) >> exten => 997,3,Hangup() >> >> exten => 999,1,Playback(tt-weasels|noanswer) >> exten => 999,4,Hangup() >> >> >> For incoming calls to 997 a CDR will be written, but not for 999. >> >> How can I change this behavior? >> >> Thanks >> Klaus >> > Try unanswered = yes on cdr.confI tried, but it did not worked. Also, reading the documentation, it seems as this parameter set the behavior for outgoing channels (e.g. failed Dial()) . regards klaus
Klaus Darilion
2009-Aug-05 12:17 UTC
[asterisk-users] CDR Problem - No CDRs when call is not bridged
FYI: I checked the sources and Asterisk does write CDRs only if the call in answered locally or forwarded to an outgoing channel. Thus, as workaround I wrapped the extensions behind Dial(Local/...) regards klaus Klaus Darilion schrieb:> Hi! > > I just found out that Asterisk (1.4) does not write CDRs if the incoming > call was not forwarded but handled internally without answering the call. > > E.g.: > > [from_pstn] > exten => 997,1,Answer() > exten => 997,2,Playback(tt-weasels) > exten => 997,3,Hangup() > > exten => 999,1,Playback(tt-weasels|noanswer) > exten => 999,4,Hangup() > > > For incoming calls to 997 a CDR will be written, but not for 999. > > How can I change this behavior? > > Thanks > Klaus > > _______________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > AstriCon 2009 - October 13 - 15 Phoenix, Arizona > Register Now: http://www.astricon.net > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users