当前位置: 首页>>代码示例>>PHP>>正文


PHP A2Billing::callingcard_ivr_authenticate方法代码示例

本文整理汇总了PHP中A2Billing::callingcard_ivr_authenticate方法的典型用法代码示例。如果您正苦于以下问题:PHP A2Billing::callingcard_ivr_authenticate方法的具体用法?PHP A2Billing::callingcard_ivr_authenticate怎么用?PHP A2Billing::callingcard_ivr_authenticate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在A2Billing的用法示例。


在下文中一共展示了A2Billing::callingcard_ivr_authenticate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: DATEDIFF

		$QUERY = "SELECT src, cc_card.username, cc_card.recalltime, continuewithdid FROM cc_card, cc_call
			LEFT JOIN cc_did ON cc_did.id_trunk=cc_call.id_trunk
			WHERE cc_card.id=card_id AND did='$mydnid' AND DATEDIFF(NOW(),stoptime) < cc_card.recalldays
			AND ('$A2B->CallerID' LIKE CONCAT('%',SUBSTRING(calledstation,2)) OR calledstation LIKE CONCAT('%','$A2B->CallerID'))
			AND LENGTH(calledstation) > 6 AND LENGTH(TRIM(LEADING '+' FROM '$A2B->CallerID'))-LENGTH(calledstation) < 3 ORDER BY cc_call.id DESC LIMIT 1";
		$result = $A2B -> instance_table -> SQLExec ($A2B->DBHandle, $QUERY);

		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'];
开发者ID:nixonch,项目名称:a2billing,代码行数:31,代码来源:a2billing.php

示例2:

}
if ($mode == 'standard') {
    if ($A2B->agiconfig['answer_call'] == 1) {
        $A2B->debug(INFO, $agi, __FILE__, __LINE__, '[ANSWER CALL]');
        $agi->answer();
        $status_channel = 6;
    } else {
        $A2B->debug(INFO, $agi, __FILE__, __LINE__, '[NO ANSWER CALL]');
        $status_channel = 4;
    }
    $A2B->play_menulanguage($agi);
    // Play intro message
    if (strlen($A2B->agiconfig['intro_prompt']) > 0) {
        $agi->stream_file($A2B->agiconfig['intro_prompt'], '#');
    }
    $cia_res = $A2B->callingcard_ivr_authenticate($agi);
    $A2B->debug(DEBUG, $agi, __FILE__, __LINE__, "[TRY : callingcard_ivr_authenticate]");
    // CALL AUTHENTICATE AND WE HAVE ENOUGH CREDIT TO GO AHEAD
    if ($cia_res == 0) {
        // RE-SET THE CALLERID
        $A2B->callingcard_auto_setcallerid($agi);
        for ($i = 0; $i < $A2B->agiconfig['number_try']; $i++) {
            $RateEngine->Reinit();
            $A2B->Reinit();
            // RETRIEVE THE CHANNEL STATUS AND LOG : STATUS - CREIT - MIN_CREDIT_2CALL
            $stat_channel = $agi->channel_status($A2B->channel);
            $A2B->debug(INFO, $agi, __FILE__, __LINE__, '[CHANNEL STATUS : ' . $stat_channel["result"] . ' = ' . $stat_channel["data"] . ']' . "\n[CREDIT : " . $A2B->credit . "][CREDIT MIN_CREDIT_2CALL : " . $A2B->agiconfig['min_credit_2call'] . "]");
            // CHECK IF THE CHANNEL IS UP
            if ($A2B->agiconfig['answer_call'] == 1 && $stat_channel["result"] != $status_channel && $A2B->CC_TESTING != 1) {
                if ($A2B->set_inuse == 1) {
                    $A2B->callingcard_acct_start_inuse($agi, 0);
开发者ID:saydulk,项目名称:a2billing,代码行数:31,代码来源:a2billing.php


注:本文中的A2Billing::callingcard_ivr_authenticate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。