Esempio n. 1
0
            }
            if (!empty($rule['Number'])) {
                $callerid['Number'] = $rule['Number'];
            }
        } elseif ($rule['Type'] == 'Multiple') {
            $callerid['Number'] = $callerid['Number'] + $rule['Add'];
            $callerid['Number'] = $rule['PrependDigits'] . $callerid['Number'];
        }
    }
    return $callerid;
}
$agi = new AGI();
$logger = new AGI_Logger($agi);
$cdr = new AGI_CDR($agi);
//CDR : Flush existing entry if both called and caller are known
if ($cdr->caller_known() && $cdr->called_known()) {
    $cdr->flush_cdr();
}
// Get Called Extension informations
$called_ext = $agi->request['agi_extension'];
// Get Caller Extension infomation
$cid = $agi->parse_callerid();
$caller_ext = $cid['username'];
$Extension_S = DB_Extension($caller_ext);
//CDR: Set caller information
$cdr->set_caller($Extension_S['PK_Extension'], $Extension_S['Type'], DB_Extension_Name($caller_ext), $caller_ext);
//CDR: Set called information
$cdr->set_called(0, '', '', $called_ext);
// CDR: Push dial event
$cdr->push_event("DIAL", $called_ext);
// See if we can match any outgoing rule