本文作者:liuyuquan
主程式,直接在 extensions 呼叫。
a2billing.php|參數1|參數2|
libs_a2billing/Class.A2Billing.php A2Billing類的實現,主要是業務計費與AGI的接口
libs_a2billing/Misc.php 常用函數
libs_a2billing/Class.RateEngine.php RateEngine類的實現,實現費率的加載、查詢、轉換以及通話計費功能
libs_a2billing/phpagi_2_14phpagi-asmanger.php AGI_AsteriskManager類實現,phpagi管理
libs_a2billing/phpagi_2_14phpagi.php AGI類實現,php與AGI的接口
libs_a2billing/db_php_lib/Class.Table.php Table類實現
A2Billing()
Reinit () 重置(清空)類私有變量
conlog($str, $vbl=1) 輸出信息到控制台
debug( $debug, $agi, $file, $line, $buffer_debug) 輸出信息到控制台,並且寫入日誌文件,a2billing.conf[agi-conf]debug決定是否輸出到控制台
write_log($output, $tobuffer = 1, $line_file_info = '') (a2billing.conf|debugshell決定是否寫日誌文件) 日誌文件默認在 /tmp/a2biling.log
set_dbhandler ($DBHandle) 設置數據庫操作句柄,程序中沒有使用。
set_instance_table ($instance_table) 為class.Table實例
load_conf( &$agi, $config=NULL, $webui=0, $idconfig=1, $optconfig=array()) 加載/etc/asterisk/a2billing.conf
play_menulanguage ($agi) 如果設置了a2billiing.conf|play_menulanguage,播放語言選擇語音,如果沒有設置play_menulanguage而設置了force_language,採用force_language設置的語言
get_agi_request_parameter($agi) 獲取AGI送過來的參數,主要包括agi_callerid、agi_channel、agi_uniqueid、agi_accountcode、agi_extension
isolate_cid() 去掉主叫號碼前後的'<'、'>' callingcard_acct_start_inuse($agi, $inuse) 設置卡正在使用的標誌
callingcard_ivr_authorize($agi, &$RateEngine, $try_num) 授權,如果a2billiing.conf|use_dnid等於1(默認為0),直接使用用戶所撥號碼,則提示輸入被叫號碼,取得號碼後如果是速撥號碼就查詢相應的正式號碼。如果輸入'*0',播放balance。根據被叫號碼查詢費率組。播放可以撥打的時間。
call_sip_iax_buddy($agi, &$RateEngine, $try_num) 判斷呼叫號碼是否在cc_sip_buddies和cc_iax_buddies中,如果存在,免費通話??。如果設置了a2billing|record_call,則錄音。通話完成後記錄通話到cc_call表。
call_did($agi, &$RateEngine, $listdestination) 直撥電話,錄音,實時記錄通話記錄
fct_say_balance ($agi, $credit, $fromvoucher = 0) 播放賬戶餘額
fct_say_rate ($agi, $rate) 播放費率,每分鐘多少錢
refill_card_with_voucher ($agi, $try_num) voucher refill card
MDP() 生成卡號
apply_rules ($phonenumber) 除去a2billing.conf|international_prefixes
callingcard_cid_sanitize($agi) 獲取設置的對外公佈號碼
callingcard_auto_setcallerid($agi)
callingcard_ivr_authenticate($agi) 驗證卡,負責函數
callingcard_ivr_authenticate_light (&$error_msg)
DbConnect() 連接數據庫
DbDisconnect() 斷開數據庫
splitable_data ($splitable_value) 分裂數據
Images 0 | ||
---|---|---|
No images to display in the gallery. |