Exemple #1
0
			$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);
Exemple #2
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);