[asterisk-users] CDR Problem - No CDRs when call is not bridged

Alex Balashov abalashov at evaristesys.com
Tue Aug 4 06:14:15 CDT 2009


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



More information about the asterisk-users mailing list