[asterisk-users] CDR Problem - No CDRs when call is not bridged
Alex Balashov
abalashov at evaristesys.com
Tue Aug 4 06:16:58 CDT 2009
Alex Balashov wrote:
> 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().
It seems that you're already a step ahead of me. By specifying the
"noanswer" option, you're specifically telling Playback() not to answer
the channel first, which leads to no CDR.
I do not know if there is a way to generate CDRs for early dialogs as
well. I would presume there is.
-- 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
More information about the asterisk-users
mailing list