} 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