Summary:ASTERISK-22884: hangup_handler end with h extension: tests currently fail in Asterisk 12 +
Reporter:Matt Jordan (mjordan)Labels:
Date Opened:2013-11-21 15:21:34.000-0600Date Closed:2014-01-12 16:01:03.000-0600
Status:Closed/CompleteComponents:CDR/General PBX/General Tests/testsuite
Versions:12.0.0-beta1 Frequency of
Description:The hangup handler tests that cover endbeforehexten logic from {{cdr.conf}} are currently failing constantly.

Some failure can be seen here:


In general, the logic that covers CDR behavior during the {{h}} extension or a hangup handler is tricky. It hasn't really been conveyed well what it should be, as CDRs now typically have a more well defined lifetime.

This behavior needs to be defined in the CDR specification, and the tests need to pass (one way or another).

Comments:By: Matt Jordan (mjordan) 2013-12-19 10:21:20.060-0600

This wasn't quite fixed.

As it turns out, synchronizing two-way data (which is what is needed for the CDR function to properly query things in the {{h}} extension/hangup handlers) requires more than the synchronization provided by a new Stasis subscription. Since messages are ordered based on subscription, the application/function modules have to synchronize on the actual CDR subscription, and not on a new one. Today, there's isn't a built in mechanism in Stasis to provide that synchronization.

We can do it manually in the various CDR modules, but it's probably better to have this built in as a function of Stasis. That should be developed for trunk, at the very least.