$RateEngine->Reinit(); $A2B -> agiconfig['answer_call'] = 0; $A2B -> agiconfig['play_audio'] = 0; $A2B -> agiconfig['use_dnid'] = 1; $A2B -> destination = $A2B -> dnid = $A2B -> extension = preg_replace('/\+/','',$result[0][0]); $accountback = $result[0][1]; $A2B -> recalltime = $result[0][2]; $cia_res = $A2B -> callingcard_ivr_authenticate($agi,$accountback); if ($cia_res==0) { // RE-SET THE CALLERID $A2B->callingcard_auto_setcallerid($agi); // Feature to switch the Callplan from a customer : callplan_deck_minute_threshold $A2B-> deck_switch($agi); if (!$A2B -> enough_credit_to_call()) break; if ($A2B->agiconfig['sip_iax_friends']==1) { if ( (strlen($A2B -> destination)>0) && ( strlen($A2B -> agiconfig['sip_iax_pstn_direct_call_prefix']) > 0) && (strncmp($A2B -> agiconfig['sip_iax_pstn_direct_call_prefix'], $A2B -> destination,strlen($A2B -> agiconfig['sip_iax_pstn_direct_call_prefix'])) == 0) ) { $A2B -> sip_iax_buddy = $A2B->agiconfig['sip_iax_pstn_direct_call_prefix']; $A2B -> dnid = substr($A2B -> dnid,strlen($A2B -> agiconfig['sip_iax_pstn_direct_call_prefix'])); } } if ( strlen($A2B-> sip_iax_buddy) > 0 || ($A2B-> sip_iax_buddy == $A2B->agiconfig['sip_iax_pstn_direct_call_prefix'])) { $cia_res = $A2B-> call_sip_iax_buddy($agi, $RateEngine, 0); } else { $ans = $A2B-> callingcard_ivr_authorize($agi, $RateEngine, 0);
$try++; $return = TRUE; } if ($try > 3) { if ($A2B->set_inuse == 1) { $A2B->callingcard_acct_start_inuse($agi, 0); } $agi->hangup(); exit; } } while ($return); } } // Feature to switch the Callplan from a customer : callplan_deck_minute_threshold $A2B->deck_switch($agi); if (!$A2B->enough_credit_to_call() && $A2B->agiconfig['jump_voucher_if_min_credit'] == 1) { $A2B->debug(DEBUG, $agi, __FILE__, __LINE__, "[NOTENOUGHCREDIT - Refill with vouchert]"); $vou_res = $A2B->refill_card_with_voucher($agi, 2); if ($vou_res == 1) { $A2B->debug(DEBUG, $agi, __FILE__, __LINE__, "[ADDED CREDIT - refill_card_withvoucher Success] "); } else { $A2B->debug(DEBUG, $agi, __FILE__, __LINE__, "[NOTENOUGHCREDIT - refill_card_withvoucher fail] "); } } if ($A2B->agiconfig['ivr_enable_account_information'] == 1) { $A2B->debug(DEBUG, $agi, __FILE__, __LINE__, " [GET ACCOUNT INFORMATION]"); $res_dtmf = $agi->get_data('prepaid-press4-info', 5000, 1, '#'); //Press 4 to get information about your account if ($res_dtmf['result'] == "4") { $QUERY = "SELECT UNIX_TIMESTAMP(c.lastuse) as lastuse, UNIX_TIMESTAMP(c.lock_date) as lock_date, UNIX_TIMESTAMP(c.firstusedate) as firstuse\n FROM cc_card c\n WHERE username = '******'\n LIMIT 1"; $result = $A2B->instance_table->SQLExec($A2B->DBHandle, $QUERY);