예제 #1
0
		if (is_array($result)) {
			$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 {