本文整理汇总了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'];
示例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);