紀錄一些在 A2Billing 管理上的技巧
Q:如何設置 A2B Customer 的 SIP 帳戶作互撥
Ans: 必須決定一個 prefix code 用來作 SIP 帳戶互撥的撥號規則,例如是 666。
- PROVIDERS >
- Providers)
Provider Name: LocalHost - Trunks)
Provider Name: LocalHost
Label: LocalA2B
Remove Prefix: 666
Provider Tech: SIP
Provider IP: %dialingnumber%
- RATES > (假設已經完成 CallPlan & RateCard 的設定)
- RateCard: <自訂,必須包含在 customer 的 CallPlan 內>
- Dial Prefix: 666
- Destination Prefix: 666
- Buying Rate, Buyrate Min Duration, Selling Rate, Sellrate Min Duration.... <依據收費標準來設>
Q:為何 Customer UI 無法顯示 Ratecard
Ans: 請確認以下事項:
- Admin UI > Customer > Customer Group: 請確定這 group 有 RATECARD 權限。
- 檢查 DB Schema 是否包含有 VIEW 'cc_callplan_lcr'。
Q:暫時關閉某個帳號的通話功能
Ans: A2B Admin > CUSTOMERS > 選擇帳戶
STATUS = 所有非 ACTIVE 項目
Q:經銷商如何作管理
Ans: 在 A2B 系統,經銷商稱為 Agent,專屬的登入介面位址是 http://123.123.123.123/agent/,注意事項有:
- 管理員為經銷商建立帳號
A2B Admin > AGENTS >Add AGENT
- LOGIN: 網頁登入帳號
- PASSWORD: 登入密碼
- PERMISSION: 操作權限
- ACTIVE:
- BALANCE:
- CALL PLAN USABLE: 可用的 Call Plan
- 經銷商新增 Customer
- 必須指定 CUSTOMER GROUP
- 經銷商無法為 Customer 儲值
-
Q:如何開啟除錯的 log
Ans: A2B Admin > SYSTEM SETTINGS > Global List > Select Group: agi-conf#
verbosity_level = 4 (預設是 0)
logging_level = 4 (預設是 0)
Q:如何重設網頁登入管理者(root)的密碼
登入 DB 後,執行這行 SQL,可以將密碼重設為 changepassword :
reference to undefined name 'syntax' Exception of type 'MindTouch.Deki.Script.Runtime.DekiScriptUndefinedNameException' was thrown. (click for details)Callstack:
at User:alang/Private_Zone/A2Billing_專區/A2Billing_管理技巧
MindTouch.Deki.Script.Runtime.DekiScriptUndefinedNameException: reference to undefined name 'syntax' Exception of type 'MindTouch.Deki.Script.Runtime.DekiScriptUndefinedNameException' was thrown.
at MindTouch.Deki.Script.Compiler.DekiScriptExpressionEvaluation.Visit (MindTouch.Deki.Script.Expr.DekiScriptVar expr, DekiScriptExpressionEvaluationState state) [0x00000] in <filename unknown>:0
at MindTouch.Deki.Script.Expr.DekiScriptVar.VisitWith[DekiScriptExpressionEvaluationState,Range] (IDekiScriptExpressionVisitor`2 visitor, DekiScriptExpressionEvaluationState state) [0x00000] in <filename unknown>:0
at MindTouch.Deki.Script.Compiler.DekiScriptExpressionEvaluation.Evaluate (MindTouch.Deki.Script.Expr.DekiScriptAccess expr, DekiScriptExpressionEvaluationState state, Boolean evaluateProperties) [0x00000] in <filename unknown>:0
at MindTouch.Deki.Script.Compiler.DekiScriptExpressionEvaluation.Visit (MindTouch.Deki.Script.Expr.DekiScriptAccess expr, DekiScriptExpressionEvaluationState state) [0x00000] in <filename unknown>:0
at MindTouch.Deki.Script.Expr.DekiScriptAccess.VisitWith[DekiScriptExpressionEvaluationState,Range] (IDekiScriptExpressionVisitor`2 visitor, DekiScriptExpressionEvaluationState state) [0x00000] in <filename unknown>:0
at MindTouch.Deki.Script.Compiler.DekiScriptExpressionEvaluation.Visit (MindTouch.Deki.Script.Expr.DekiScriptCall expr, DekiScriptExpressionEvaluationState state) [0x00000] in <filename unknown>:0
at MindTouch.Deki.Script.Expr.DekiScriptCall.VisitWith[DekiScriptExpressionEvaluationState,Range] (IDekiScriptExpressionVisitor`2 visitor, DekiScriptExpressionEvaluationState state) [0x00000] in <filename unknown>:0
at MindTouch.Deki.Script.Compiler.DekiScriptExpressionEvaluation.Visit (MindTouch.Deki.Script.Expr.DekiScriptSequence expr, DekiScriptExpressionEvaluationState state) [0x00000] in <filename unknown>:0
at MindTouch.Deki.Script.Expr.DekiScriptSequence.VisitWith[DekiScriptExpressionEvaluationState,Range] (IDekiScriptExpressionVisitor`2 visitor, DekiScriptExpressionEvaluationState state) [0x00000] in <filename unknown>:0
at MindTouch.Deki.Script.Compiler.DekiScriptExpressionEvaluation.Visit (MindTouch.Deki.Script.Expr.DekiScriptReturnScope expr, DekiScriptExpressionEvaluationState state) [0x00000] in <filename unknown>:0
Q:增加招呼語(Welcome XXX, ...)
Ans: A2B 內建可以設定招呼語的語音檔,這個招呼與會在應用程式啟動後開始播放(如果有啟動多國語音,會先進入語言選擇)。
A2B Admin > SYSTEM SETTINGS > agi-conf#
intro_prompt=welcome
Q:網頁有時會出現 Connection Failed?
Ans: 檢查 MySQL 最大連線數是否已被 active calls 用完,增加一些可以讓網頁程式可用的連線。
Q:為何maximum active calls 始終無法超過 100 以上?
Ans: 請檢查 MySQL 的最大連線數設定,預設是 100。
指令:
#mysqladmin variables -uroot -p | grep max_connections
修改設定:
#vi /etc/my.cnf
...
...
[mysqld]
....
max_connections = 300
存檔後重啟 MySQL 服務。
Q:如果 Customer 那端是另一台 Asterisk 主機,應該如何設定可對接的帳號
Ans: 以 SIP 連結為例,在 A2B Admin > Customer
host = <對方的 asterisk IP>
type = peer
insecure = port,invite
在對方的 Asterisk 主機,以 FreePBX 為例,在 FreePBX > Trunks
Outgoing Settings
Trunk Name = <自訂名稱>
PEER Details =
host= <A2B 的 IP>
type=peer
Incoming Settings
USER context = <空白>
USER details = <空白>
Register String = <空白>
Q:用在 Auto-Dialer 時,如何關掉語音,避免客戶發生假接通情形
Ans: 編輯 agiconf,除了關掉這些語音
use_dnid = yes ; 預設 no, 提示:輸入目的地電話號碼
say_balance_after_auth = no ; 預設 yes, 提示餘額
say_timetocall = no ;預設 yes, 提示剩餘時間
還有這一個
play_audio = no ; 預設 yes, 當號碼不正確時,系統會提示:輸入目的地電話號碼; 要設為 no 時,必須 number_try =1
number_try = 1 ; 預設 3, 撥號失敗時的提示重撥語音的次數
answer_call = no ; 預設 Yes
say_goodbye = no ; 預設 no
play_menulanguage = no ; 預設 no
notenoughcredit_cardnumber = no ; 預設 no
say_rateinitial = no ; 預設 no
cid_enable = no ; 預設 no
cid_askpincode_ifnot_callerid = no ;預設 yes
Q:在 Customer UI > BUY NOW > continue 發生頁面找不到
Ans: 錯誤原因為該 hyperlink 字串有錯誤,修正方法如下:
Admin UI > SYSTEM SETTINGS > Global List
Select Group = epayment_method
HTTP Server Customer = http://your.server.domain/
HTTPS Server Customer = https://your.server.domain/
Q:匯入 rate 時,出現錯誤:File size is greater than allowed limit
A2B Admin > SYSTEM SETTINGS > Global List
SELECT GROUP = webui
my_max_file_size_import = 2048000 (2048000 為 2MB)
Q:如何限制 SIP 用戶的最大通話數
例如 SIP 用戶的帳戶(username)為 1234567
編輯 /etc/asterisk/sip_custom_post.conf
[1234567](+)
call-limit=5
記得 reload asterisk。
Q:如何限制 Provider > Trunk 的最大通話數
CURRENT CONNECTIONS = 0 (這兒要設 0)
MAXIMUM CONNECTIONS = 50 (這裡設限制最大通話量)