예제 #1
0
				// 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);

					// PERFORM THE CALL
					$result_callperf = $RateEngine->rate_engine_performcall($agi, $A2B -> destination, $A2B);

					if (!$result_callperf) {
						$prompt="prepaid-dest-unreachable";
						$agi-> stream_file($prompt, '#');
					}
					// INSERT CDR  & UPDATE SYSTEM
					$RateEngine->rate_engine_updatesystem($A2B, $agi, $A2B -> destination);
					if ($result[0][3] && $RateEngine->dialstatus != "ANSWER") {
						$A2B -> mode = $mode = 'did';
						$A2B -> agiconfig['cid_enable']=0;