• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            八葉草

            學習資料記錄

            轉 a2billing

            A2Billing 安裝篇 http://www.osslab.com.tw/VoIP/IP_PBX/%e8%bb%9f%e9%ab%94%e5%bc%8f_IP_PBX/Asterisk/Addons/A2Billing_%e5%ae%89%e8%a3%9d%e7%af%87

            A2Billing 管理篇

              前言

              A2Billing 是目前社群開發最熱門的計費系統套件,因為是開放原始碼授權所以可以合法免費使用。

              本篇主要在是教導如何使用這套件,若還沒完成安裝的朋友,請先前往閱讀 A2Billing 安裝篇

              初始化設定

              系統在完成安裝後,第一個所要做的設定有:

              // FreePBX UI > Trunks

              新增 Outbound Trunk,本篇以 Voxalot 為例。

              Outgoing Settings
              Trunk Name = voxalot

              host=us.voxalot.com
              username=<sip_number>
              fromuser=<sip_number>
              secret=<sip_pass>
              fromdomain=voxalot.com
              nat=yes
              insecure=port,invite
              qualify=yes
              canreinvite=yes
              dtmfmode=auto
              disallow=all
              allow=ulaw&alaw
              type=peer
              context=from-trunk

              新增 Inbound Trunk,這個主要在展示國際電話卡及 DID 轉接的應用,本篇以 iptel 為例。

              Outgoing Settings
              Trunk Name: iptel

              username=<sip_username>
              type=friend
              secret=<sip_pass>
              qualify=yes
              insecure=port,invite
              host=iptel.org
              fromuser=osslab
              fromdomain=iptel.org
              context=a2billing
              

              Register String: <sip_username>:<sip_pass>@iptel.org/<sip_number>

              注意:context 必須是 a2billing

              // A2Billing Admin UI > Trunk > Create Provider

              provider name = VOXALOT_PROVIDER
              description = Voxalot Provider

              // A2Billing Admin UI > Trunk > Add Trunk

              voip-provider = VOXALOT_PROVIDER
              label = VOXALOT_TRUNK
              add prefix = 空白
              provider tech = SIP
              provider ip = voxalot
              status = Active

              TIPs:

              provider ip 必須與 FreePBX 的 trunk name 相同

              // A2Billing Admin UI > Ratecard > Create call plan

              name = VOXALOT_CALLPLAN
              remove inter prefix = YES

              TIPs:

              remove inter prefix = YES 若撥號有包含 00 或 011 開頭的國際冠碼,在套用 ratecard 的規則前會被去除。

              // A2Billing Admin UI > Ratecard > Create new ratecard

              tariffname = VOXALOT_RATECARD
              trunk = VOXALOT_TRUNK
              description = through voxalot trunk

              // A2Billing Admin UI > Ratecard > Add Rate

              ratecard = VOXALOT_RATECARD
              dialprefix = 1800
              destination = US-Tollfree
              buying rate = 1
              buyrate min duration = 6
              buyrate billing block = 6
              selling rate = 1.5
              sellrate min duration = 60
              sellrate billing block = 60
              trunk = VOXALOT_TRUNK

              TIPs:

              * dialprefix 若撥號規則符合,會以此費率計算
              * destination 用來敘述此費率的區域

              //新增 rate 後要再回到 call plan 將 rate card 加入到 call plan
              A2Billing Admin UI > Ratecard > List Call Plan > Edit: VOXALOT_CALLPLAN

              ratecard = 選擇 VOXALOT_RATECARD, Add Ratecard

              應用一:國際電話卡模式

              客戶操作流程:
              ① 使用手機或一般電話機撥打系統號碼(Access Number)

              ② 語音提示:輸入電話卡號+#

              ③ 語音提示餘額,輸入目的地電話號碼(00+國碼+區碼+電話號碼+#)

              // A2Billing Admin UI > Customers > Create Customers

              card number = <隨機產生>
              card alias = <隨機產生>;web 登入帳號
              webui password = <隨機產生>;web 登入密碼
              balance = 50.0;不可為零,且必須以 USD 計算
              call plan = VOXALOT_CALLPLAN
              activated = YES
              simultaneous access = INDIVIDUAL ACCESS
              card type = PREPAID CARD
              country = TAIWAN
              sip account = NO
              iax account = NO

              實際操作:

              因為本篇實做是以 iptel 的號碼作為系統號碼,所以用其他 IPTel 帳號撥入系統號碼,系統會提示語音:請輸入 card number,將剛剛新增的卡號輸入,完成後按#,若正確,系統會提示餘額及可用通話時間,並提示:請輸入目的地電話號碼,將完整電話號碼 011 + 國碼 + 區碼 + 電話號碼 輸入,完成後按#。

              TIPs:

              * 新增電話卡(Customer),有一些主要的設定,例如 card number, card alias, password,這些是由系統隨機產生,且沒有任何規則,hacker 無法事先計算出這些資訊。
              * 附加在 card number 的 另一組代號 alias,這個號碼或 email 地址都可以用來登入用戶的網頁,密碼就是 webui password。
              * 若用戶撥號時有加 00,請注意 Call PlanREMOVE INTER PREFIX 建議設為 YES,以避免 outbound 路由錯誤。

              應用二:DID 轉接業務

              A2Billing 提供 DID 接駁至經由 outbound trunk 的外部號碼、SIP URI、

              // A2Billing Admin UI > DID > Add DID Group

              name = DID TWN

              // A2Billing Admin UI > DID > Add DID

              DID = 99474
              billing = only dialout rate
              DID group = DID TWN
              country = TAIWAN
              activated = YES
              monthly rate = 0

              // A2Billing Admin UI > Customers > Create Customers

              balance = 50.0
              call plan = VOXALOT_CALLPLAN
              didgroup = DID TWN
              activated = YES
              card type = PREPAID CARD
              country = TAIWAN
              sip account = NO
              iax account = NO

              設定轉接的目的號碼,可以透過 Admin UI 或 Customer UI 來作
              客戶自行購買 DID 號碼
              // A2Billing Customer UI > DID

              select country = TAIWAN
              select virtual phone number = 99474
              voip call = NO
              destination = 8864123456

              TIPs:

              * select country 這裡內容會與 DID 的 country 相同
              * 若沒有出現 DID number 可選擇,請檢查所登入的 customer 帳號的 DIDGROUP 是否正確
              * voip call 若是 NO,輸入外部的 PSTN/SIP 號碼;若是 YES,輸入 SIP URI。

              管理員分配 DID 號碼給指定的客戶
              // A2Billing Admin UI > INBOUND DID > Destination

              destination = 8864123456
              customer ID = 選擇適當的 customer
              DID = 選擇適當的 DID
              activated = yes
              validated = 皆可
              voip_call = no

              TIPs:

              * voip call 若是 NO,輸入外部的 PSTN/SIP 號碼;若是 YES,輸入 SIP URI。

              * 若需 DID 接入內部分機號碼(不經過 A2B 的 trunk),可以這樣設
              -- destination = Local/101@from-internal (適用 FreePBX 的分機 101)
              -- destination = SIP/123456 (適用 A2Billing card number 123456)
              -- voip_call = yes

              * 如果 destination number 要走 A2B 的 trunk,不管該 trunk 是 SIP 或 Zaptel,voip_call 必須是 no。

              相關文章連結:

              應用三:預付制、月付制會員模式

              用戶操作流程:
              ① 用戶使用 X-Lite 或 ATA 設備透過網路註冊為分機。

              ② 直接撥目的地電話號碼,例如 886+XXXXXXXX,886 是國碼。
              過程中不會有任何額外的提示音,就像一般的 SIP 分機操作相同。

              // A2Billing Admin UI > Customers > Create Customers

              card number = <隨機產生>
              card alias = <隨機產生>;web 登入帳號
              webui password = <隨機產生>;web 登入密碼
              balance = 50.0;不可為零,且必須以 USD 計算
              call plan = VOXALOT_CALLPLAN
              activated = YES
              simultaneous access = INDIVIDUAL ACCESS
              card type = PREPAID CARD
              country = TAIWAN
              sip account = YES
              iax account = YES

              TIPs:

              * 這裡與(應用一)模式設定相同,只差在 sip/iax account 為 YES。
              * 新增 customer 後,要 reload Asterisk 後,SIP 用戶端才能註冊使用。

              // 取消 "輸入目的地號碼" 及其他提示音
              // A2Billing Admin UI > System Settings > Global List
              如果這裡的所有項目沒有 GROUP 為 agi-conf2 的(可善用 GROUP 搜尋功能),請先前往 Add agi-conf > CREATE AGI-CONF2

              回到 Global List 找到 GROUP 為 agi-conf2 且 KEY/VALUE 按以下所述修改:

              use_dnid = yes

              這個SIP帳號除了要撥外部的路由外,如果還要撥內部的其他 SIP 分機號,需要繼續下面的修改:

              sip_iax_friends = yes
              sip_iax_pstn_direct_call_prefix = 555
              sip_iax_pstn_direct_call = yes

              ※是否要提示餘額的語音

              say_balance_after_auth = no
              say_timetocall = no

              如果電話不通,不要提示輸入目的地號碼的語音

              number_try = 1

              TIPs:

              * 參數說明:

              - Use DNID : YES 表示使用 DNID,並且不會提示 輸入目的地電話號碼的語音
              - SIP Call = yes, SIP Call Prefix, Direct Call: 這三個參數是用來使 SIP 註冊帳號後,也能撥其他分機號碼,撥法為 555+SIP Extension
              - Say Balance After Auth: 認證後是否提示餘額
              - Say Duration: 是否提示剩餘通話時間

              - 另一種比較快速的設定是:play_audio = no, use_dnid=yes, number_try=1。

              //為此模式新增 dialplan
              //編輯 /etc/asterisk/extensions_a2billing.conf,在底下加入:

              [custom-a2billing-sipclient]
              exten => _X.,1,Answer
              exten => _X.,n,Wait(1)
              exten => _X.,n,deadAGI(a2billing.php|2)
              exten => _X.,n,Hangup
              

               

              // 在 A2Billing 套用新增的 dialplan
              // A2Billing Admin UI > Customer > VoIP Settings
              找到 SIP 分機項目,按編輯

              Context = custom-a2billing-sipclient

              // 最後,執行指令套用所有的修改

              # asterisk -rx "reload"

              TIPs:

              由於版本 1.7.x 的 bug 關係,在 UI 做完操作後,並不會同步修改 asterisk 的設定檔,所以請依照方式作手動修改:
              編輯 /etc/asterisk/additional_a2billing_sip.conf ,修改 context 的內容。
              要避免每次都要作手動修改,可以參考 F.A.Q 的方法。

              應用四:整合 FreePBX 的應用

              用途:FreePBX 的分機用戶,在 Outbound Calling 時可以透過 A2Billing 來計費,但其他原有PBX的功能都不會有影響。

              // 編輯 /etc/asterisk/extensions_custom.conf

              [macro-dialout-trunk-predial-hook]
              exten => s,1,GotoIf($["${OUT_${DIAL_TRUNK}:4:4}" = "A2B/"]?custom-freepbx-a2billing,${OUTNUM},1:2)
              exten => s,2,MacroExit
              
              [custom-freepbx-a2billing]
              exten => _X.,1,DeadAGI(a2billing.php,${OUT_${DIAL_TRUNK}:8})
              exten => _X.,n,Hangup()
              

               

              // FreePBX UI > Trunks > Add Custom Trunk

              Custom Dial String = A2B/2

              Tips:

              2 代表是 agi-conf 2

              // FreePBX UI > Outbound Routes
              自行設定需要的參數,並導向剛剛的 Trunk。

              // FreePBX UI > Extensions
              在需要計費的分機設定裡,參數 accountcode 填入 A2Billing 的 Card Number。

              Tips:

              分機在外撥的路由規則,除了 outbound route 外,還要考慮 A2Billing 的,也就是 RATES 的相關設定。

              延伸閱讀

              應用五:Caller ID 認證模式

              用途:設定電話卡時除了使用輸入卡號的認證方式以外,還能以來電號碼(Caller ID) 辨識來認證。

              • 啟用 Caller ID 後,用戶不需要先輸入卡號,就可以直接撥目的地號碼。
              • 一個卡號可以設定一組或多組的來電號碼。
              • 使用 Admin UI 來管理來電號碼。
              • 一旦啟用後,當用戶的來電號碼並非系統所允許時,系統會提示卡號的認證的方式。

               

              // 啟用方式
              A2Billing Admin UI > Syetem Settings >

              以 agi-conf 的方式來設,可以很容易啟用/關閉這功能,需要用到的參數(Key)如下:

              • cid_enable = yes ;yes 啟用,no 關閉,預設是關閉的
              • cid_askpincode_ifnot_callerid = yes ; 預設 yes,若 CID 認證失敗,系統會提示輸入 Card Number。
              • cid_auto_assign_card_to_cid = yes ; 預設 yes,用戶撥入系統後,如果 CID 認證失敗,系統會提示輸入 Card Number,一旦用戶輸入資訊正確,系統會自動新增 CID,以致於該用戶下次再撥入時,就可以通過 CID 認證,且不會再提示輸入 Card Number。
              • cid_auto_create_card = no

              // 新增 Caller ID

              A2Billing Admin UI > Customers > Caller-ID

              CallerID = <用戶的來電號碼>
              Activated = yes
              ID Card = <選擇卡號>

              F.A.Q

              Q:如何大量刪除 Customers?

              Ans: A2Billing UI > Customers > Add::Search > Search Customers

              設定搜尋條件 > 按 Search > 再按旁邊的 Delete All

              注意:這個方法無法將 VoIP Setting 一併刪除。

              Q:如何大量刪除 VoIP Settings?

              Ans: 目前沒有合適的作法。

              Q:如何變更系統預設幣別 USD

              Ans: 要改兩個地方,修改 base_currency 的參數及更新 currency list。

              1. A2Billing UI > System Settings > Global List
                搜尋 GROUP = global, Key = base_currency
                base_curreny = twd
              2. 即使修改了幣別,系統預設的 currency list 仍是以美金 1:1 計算,所以必須修改這個匯率對照表為 TWD 1:1。
                A2Billing UI > BILLING > Currency List > CLICK HERE TO UPDATE NOW
              Q:匯入 ratecard 時總是出現錯誤 ERROR: file type is not allowed: application/force-download

              Ans: 將副檔名 csv 改成 txt。

              發現 Bug

               

              版本 問題描述
              1.7.0/1 修改 VoIP Settings 的 內容,不會同步更新 Asterisk 設定
              Ans:這是因為 A2Billing 預設是啟動了 Realtime Asterisk 模式(Asterisk 以資料庫型式儲存設定),若只是檢查 *.conf 來判斷 Asterisk 是否更新是不準確的,然而這 bug 卻造成 A2Billing 無法以 relatime 模式更新 Asterisk。暫時的解決方法是使 A2Billing 關閉 realtime asterisk 模式,恢復成 *.conf 方式來更新 asterisk,步驟如下:

              A2Billing UI > System Settings > Global List
              搜尋 GROUP = global

              use_realtime = no (預設為 yes)

              Notes: 當關閉了 Realtime 後,爾後若有新增/編輯 VoIP Settings 時,在 CONFIRM DATA 之後,需要在作以下步驟完成 Asterisk 的更新:

              1. 點選 GENERATE ADDITIONAL_A2BILLING_SIP.CONF
              2. click here to reload your asterisk server
              1.7.0 新增 CUSTOMER 時,若 balance 欄位維持預設的 0,仍可以存檔
              Ans: 這項不確定是否為 bug,但在 1.3.x 穩定版,存檔前系統會檢查 balance 不可為 0。
              1.7.0 若建立電話卡是有 SIP 註冊帳號的,刪除這個電話卡後,SIP 終端仍可以註冊,但已無法正常撥出。
              1.7.0 在 Customer UI 的 DID 功能,操作 Release DID,按下 Release 後,雖然 DID 有 release,但畫面會成空白頁。
              1.7.0 在 Customer UI 的 DID 功能,從項目列表中刪除 destination number 時,所有欄位的值會出現空白,再按下 Delete 後,雖然資料仍會刪除,但需要再做一次 Release DID。

              posted on 2012-10-11 10:56 八葉草 閱讀(1024) 評論(0)  編輯 收藏 引用 所屬分類: asterisk

              国产精品狼人久久久久影院| 成人久久久观看免费毛片| 美女久久久久久| 亚洲精品乱码久久久久久按摩| 日韩精品久久无码中文字幕| 久久精品一区二区| 午夜福利91久久福利| 久久综合给合久久狠狠狠97色69| 久久天堂电影网| 99久久精品免费看国产一区二区三区| 久久精品人人做人人爽电影蜜月| 国产一区二区精品久久凹凸| 久久SE精品一区二区| 91精品国产91热久久久久福利| 日本亚洲色大成网站WWW久久| 久久精品水蜜桃av综合天堂 | 国产69精品久久久久9999APGF| 国内精品九九久久久精品| 久久久久国产视频电影| 国产V综合V亚洲欧美久久| 久久精品视频一| 无码人妻久久一区二区三区蜜桃| 777米奇久久最新地址| 久久精品国产亚洲AV不卡| 国产亚洲精久久久久久无码AV| 国产亚洲欧美成人久久片| 午夜不卡久久精品无码免费| 亚洲欧洲精品成人久久曰影片| 亚洲国产天堂久久综合网站| 久久久久人妻精品一区| 中文字幕久久久久人妻| 中文字幕无码久久精品青草 | 国产高潮久久免费观看| 久久精品99久久香蕉国产色戒| 波多野结衣AV无码久久一区| 97香蕉久久夜色精品国产| 久久久久亚洲精品无码网址| 久久精品中文字幕第23页| 久久精品免费大片国产大片| 国产日韩久久久精品影院首页| 青青草原综合久久大伊人精品|