Changed the order of missed_call conditions

Move billsec condition near the end but before voicemail.

If a call center call was missed but answered by an extension with the exit action then the call wasn't technically missed.
This commit is contained in:
FusionPBX
2024-07-03 14:35:13 -06:00
committed by GitHub
parent 9beef70b94
commit c0e1b1a6b5

View File

@@ -486,10 +486,6 @@ if (!class_exists('xml_cdr')) {
&& $xml->variables->hangup_cause == 'ORIGINATOR_CANCEL') {
$missed_call = 'true';
}
if (isset($xml->variables->billsec) && $xml->variables->billsec > 0) {
//answered call
$missed_call = 'false';
}
if (isset($xml->variables->cc_side) && $xml->variables->cc_side == 'agent') {
//call center
$missed_call = 'false';
@@ -506,6 +502,15 @@ if (!class_exists('xml_cdr')) {
//ring group or multi destination bridge statement
$missed_call = 'false';
}
if (isset($xml->variables->cc_side) && $xml->variables->cc_side == 'member'
&& isset($xml->variables->cc_cause) && $xml->variables->cc_cause == 'cancel') {
//call center
$missed_call = 'true';
}
if (isset($xml->variables->billsec) && $xml->variables->billsec > 0) {
//answered call
$missed_call = 'false';
}
if (isset($xml->variables->destination_number) && substr($xml->variables->destination_number, 0, 3) == '*99') {
//voicemail
$missed_call = 'true';
@@ -514,11 +519,6 @@ if (!class_exists('xml_cdr')) {
//voicemail
$missed_call = 'true';
}
if (isset($xml->variables->cc_side) && $xml->variables->cc_side == 'member'
&& isset($xml->variables->cc_cause) && $xml->variables->cc_cause == 'cancel') {
//call center
$missed_call = 'true';
}
//read the bridge statement variables
if (isset($xml->variables->last_app)) {