main/cdr: Set the end time on a CDR if endbeforehexten is Yes
authorMatt Jordan <mjordan@digium.com>
Sat, 2 Jan 2016 16:23:39 +0000 (10:23 -0600)
committerMatt Jordan <mjordan@digium.com>
Sat, 2 Jan 2016 16:36:10 +0000 (10:36 -0600)
commit153547a9b14937e04c0c97dc23ba756f50330c57
treee6dd762e583a8c061339d1e413f01db04bd468bb
parent11d99e0809058841b3f0db4771b212c683ff92a9
main/cdr: Set the end time on a CDR if endbeforehexten is Yes

Prior to this patch, the CDR engine attempted to set the end time on a CDR
that was executing hangup logic and with endbeforehexten set to Yes by
calling a function that inspects the properties on the Party A snapshot to
determine if we are ready to set the end time. That always failed. This is
because a Party A snapshot is not updated for CDRs that are executing hangup
logic with endbeforehexten=Yes.

Instead of calling a function that looks at the Party A snapshot, we just
simply set the end time on the CDR. This is safe to call multiple times, and is
safe to call at this point as we know that (a) we are executing hangup logic,
and (b) we are supposed to set the end time at this point.

ASTERISK-25458

Change-Id: I0c27b493861f9c13c43addbbb21257f79047a3b3
main/cdr.c