1. Business Process

Giải thích:
Step 1: Kỹ thuật tạo gateway tới nhà cung cấp và tổng đài của khách hàng
Step 2: Sale tạo tài khoản cho khách hàng/ đại lý mới trên SBC
Step 3: Sale mua số từ nhà cung cấp và nhập vào hệ thống bằng cách tạo manual hoặc import file
Step 4: Sale thiết lập gói cước để gán vào đầu số, bao gồm Fee, Bill rate, Callplan
Step 5: Sale gán đầu số cho partner và chọn callplan tương ứng cho đầu số đó
Step 6: Nhận thông tin cấu hình đầu số từ sale, kỹ thuật tiến hành cấu hình trên SBC. Thực hiện tạo pool mới và phân bổ đầu số vào pool theo các rule cuộc gọi.
Step 7: Tạo số ảo và gán số ảo cho pool tương ứng tại Routing table.
Step 8: Cấu hình Dialplan, chỉnh sửa routing số thật nếu cần
Step 9: Kiểm thử cuộc gọi
Step 10: Gửi lại thông tin đấu nối đầu số để đấu nối phía PBX.
2. Function Scope
No. | Category | Code | Functions |
1 | SBC billing | A1 | Partner |
2 | A2 | Users | |
3 | A3 | Sale Number | |
4 | A4 | Tarrif | |
5 | A5 | Assign phone number to partner | |
6 | A6 | Assign phone number to pool | |
7 | SBC | B1 | Pools |
8 | B2 | RTP Server | |
9 | B3 | Gateway | |
10 | B4 | Group of gateway | |
11 | B5 | Dialplan | |
12 | B6 | Routing table | |
13 | B7 | Testing phone number | |
14 | B8 | Transactions | |
15 | B9 | CDRs | |
16 | B10 | Changes log | |
17 | B11 | File exported |
3. Functional Requirement
3.1 Partner
- Menu Partner chứa danh sách các khách hàng hoặc đại lý cấp con của user đang đăng nhập. Có thể add partner bằng cách bấm vào + Add

Thông số:
Partner code: mã code của partner
Partner name: tên partner
Partner type: loại partner( Distributor or End Customer)
Account code: mã account code của partner, account code sẽ gán cho mỗi tài khoản để tính cước, ví dụ có thể gán account cho extension/gateway hoặc outbound route
Status: trạng thái của partner
Super distributor: cha của partner tương ứng
Sub distributor: con của partner tương ứng
- Để tạo mới partner, chọn vào Billing → Partner và chọn Add để thêm partner mới:

- Nhập thông tin cấu hình group telegram nếu muốn partner nhận thông tin notify qua group riêng:
Giải thích thông số:
- Remaining backup phone – Telegram group id: id của group telegram muốn nhận notify khi pool gần hết số backup. Nếu partner
- không được cấu hình group, hệ thống sẽ notify vào group chung mặc định.
- Blocked phone numbers – Telegram group id: id của group telegram muốn nhận notify khi số bị block. Nếu partner không được cấu hình group, hệ thống sẽ notify vào group chung mặc định.
- Telegram token: token của chat bot, nếu không điền token, hệ thống sẽ notify bằng bot mặc định, nhưng phải add bot mặc định vào group telegram. Tuy nhiên bot có giới hạn số lần notify/phút, nên có thể tạo thêm bot để không bị giới hạn notify.
Để lấy được ID group telegram, thực hiện các bước sau:
-
- Tạo group telegram notify mới & add chatbot vào
- Đăng nhập telegram bằng web
- Mở chọn vào group và lấy ID của group lại URL bắt đầu từ dấu –

Để tạo chatbot mới:
-
- Đăng nhập vào telegram và tìm kiếm BotFather
- Nhập: /start và chọn Enter.
- Nhập: /newbot và chọn Enter.
- Nhập tên bot muốn đặt, tên bot không trùng với bot có sẵn, nếu trùng sẽ yêu cầu nhập lại.
- Nếu tạo thành công, sẽ nhận lại được token của bot, dùng token này nhập vào phần cấu hình Telegram token.

3.2 Users
- Menu users sẽ hiển thị tất cả user của cấp partner hiện tại, partner có thể tạo user cho các partner cấp con của mình:

Giải thích thông số:
- Code: mã user
- Username: tên tài khoản dùng để đăng nhập
- Level: thường chọn là Admin
- Partner name: partner của user
- Password: mật khẩu của user
- Fullname: tên đầy đủ của user
- Email: tên email
Role user:
- Sale: user được thực hiện các chức năng liên quan đến billing như quản lý đầu số, gói cước, user..
- Operator: user thực hiện các chức năng thiên về kĩ thuật như quản lý đầu số, cấu hình routing, pool số…
- Admin: user sẽ có cả 2 role chức năng trên
3.3 Sale Number
- Quản lý số thật: Billing → Sale number → Phone number
Sale Number – menu quản lý đầu số mua từ nhà cung cấp, chứa danh sách tất cả đầu số mà partner đã tạo hoặc các số được assign từ partner cấp cha.

Giải thích thông số:
- Phone number: số phone number
- Pool: pool mà số được assign
- Partner: partner mà số được assign
- Source: tên nhà mạng của đầu số. Nhà mạng thuộc danh sách source của mỗi partner, nếu đó là số mà partner được assign từ partner cha thì Source sẽ là tên của partner cha.
- Brandname: tên định danh của đầu số
- Activated date: ngày kích hoạt số
- Assignment: số được assign cho End customer (khách hàng cuối) hay Distributor (đại lý)
- Telco status: trạng thái của đầu số, trạng thái từ nhà mạng
- Created date: thời gian số được tạo
Có thể nhập phone number lên hệ thống bằng cách add manual hoặc import file excel.
Add manual, chọn + Add và nhập thông tin của đầu số:

Để import danh sách phone number, ta chọn vào Import, tải file template về và điền thông tin:

Giải thích thông số:
- Phone number: danh sách đầu số muốn import
- Source: tên nhà mạng của đầu số muốn import
- IP: địa chỉ IP của telco, cần tạo sẵn gateway của telco trước, khi import hệ thống sẽ auto tạo routing của đầu số theo thông tin IP portal đã import
- Port: thông tin port của telco
- Brandname: tên định danh của đầu số
- Activated date: ngày kích hoạt đầu số
- Telco status: trạng thái của đầu số, trạng thái từ nhà mạng
- Telco date: thời gian cập nhật status của telco
- Partner ID: partner muốn assign số (partner code)
- Partner Callplan: gói cước assign cho partner theo đầu số, ID của mỗi callplan
- Partner Effective date: ngày hiệu lực của số khi assign cho partner
- Partner Expired date: ngày hết hạn của số khi assign cho partner
Quản lý số ảo: Billing → Sale number → Virtual Phone number
- Màn hình Virtual number hiển thị các số ảo mà partner đã tạo:

Giải thích thông số:
- Phone number: đầu số ảo
- Routing pool: pool được gán số ảo
- Activated date: thời gian số được kích hoạt
- Created date: thời gian số được tạo
Để thêm mới số ảo, chọn vào + Add và chọn Is Virtual:

3.4 Tariff
Tariff là menu để cấu hình các gói cước gán cho mỗi đầu số và partner, bao gồm các loại phí (fee), billrate và callplan.
- Fee
Billing → Tariff → Fee
Cấu hình các loại phí và số tiền tương ứng, phí có thể được tính theo chu kì hàng tháng, hàng năm… vd phí kích hoạt, phí duy trì

- Bill rate
Billing → Tariff → Bill rate
Bill rate là phần cấu hình chi phí/ cách thức tính cước cho các cuộc gọi dựa vào các yếu tố như thời lượng cuộc gọi, loại cuộc gọi, nội địa/quốc tế…

Thêm mới bill rate:

Thông số:
- Rate code: mã của mỗi billrate.
VD: ALL_ALL_ALL_A1_B1_6_1_600
Rate code được đặt tên theo mỗi scope của billrate:
Nation scope_Direction_ Network scope_Caller type_Callee type_Init block_Increment Block _ Price per minutes
- Nation scope: phạm vi cuộc gọi, quốc tế (International – INT), nội địa (Domestic – DOM), ALL là cả quốc tế và nội địa
- Direction: chiều cuộc gọi, outbound (OUT), inbound (IN), ALL là cả outbound và inbound
- Caller Type: số thực hiện cuộc gọi, ALL (A1), Mobile (A2), Landline (A3)
- Callee type: số được gọi, ALL (A1), Mobile (B2), Landline (B3)
- Network scope: cuộc gọi nội mạng (On-net – ON), cuộc gọi ngoại mạng (Off-net – OFF), ALL là cả ngoại mạng và nội mạng
- Price per minutes: số tiền trên một phút
- Init block (s): block tính cước cuộc gọi, số giây tính cước đầu. Vd init block = 6 thì cuộc goi <= 6s sẽ tính cước của 6s
- Increment Block (s):, số giây tính cước tiếp theo, vd bằng 1 thì sau 1s sẽ tính 1 giá. Hiện tại các nhà mạng Việt Nam đang sử dụng gói cước 6s +1
Ví dụ setting như hình:

Số tiền cước mỗi giây: 600/60=10
Cuộc gọi 1s sẽ có số cước là: 60đ
Cuộc gọi 3s sẽ có số cước là: 60đ
Cuộc gọi 6s sẽ có số cước là: 60đ
Cuộc gọi 7s sẽ có số cước là: 60đ + 1*10đ= 70đ
Cuộc gọi 9s sẽ có số cước là: 60đ + 3*10đ= 90đ
Cuộc gọi 15s sẽ có số cước là: 60đ + 9*10đ= 150đ
- Callplan
Callplan được sử dụng để tạo các gói cước gồm billrate và phí để gán cho mỗi đầu số, partner.

Thêm mới callplan:

Một callplan có thể bao gồm nhiều loại phí và bill rate. Luôn luôn có 1 bill rate sẽ được chọn là default, để các cuộc gọi nào không thỏa các điều kiện của các bill rate thì sẽ được tính cước theo bill rate default này.
3.5 Assign phone number to Partner
Sau khi tạo sale number và callplan. User có thể tiến hành assign số phone number cho Partner và chọn callplan tương ứng
Bước 1: Chọn danh sách số muốn assign cho partner

Bước 2: Chọn Bulk Action → Assign partner

Giải thích thông số:
- Select partner: chọn partner muốn assign
- Select callplan: chọn gói cước muốn assign
- Effective date: ngày hiệu lực của số
- Expire date: ngày số hết hạn
Một số phone number có thể được assign cho một end customer hoặc một distributor và cấp con của partner đó.

3.6 Assign phone number to Pool
- Gom các số vào các pool để hệ thống có thể tự động thay số trong pool khi số bị block, hoặc dùng cho các trường hợp PBX đẩy cuộc gọi tới SBC nhưng chỉ muốn truyền một caller, SBC sẽ thực hiện việc pickup số caller để gọi ra.
- Để assign số vào pool, có thể tạo pool sẵn ở menu pool rồi assign số vào pool, hoặc tạo pool ngay lúc assign số.
Lưu ý: số phải được assign cho partner trước khi assign pool, partner được assign pool và partner được assign số phải là một. Một số có thể được assign vào nhiều pool nhưng các pool phải là của cùng 1 partner, số không thể assign vào pool của các partner khác nhau.
Bước 1: Chọn danh sách số muốn assign vào pool

Bước 2: Chọn Bulk Action → Assign/Unassign Pool

Giải thích thông số:
- Select Existing pool: chọn pool đã được tạo sẵn từ menu pool
- New pool: nếu chọn tạo pool mới, cần nhập 1 số thông tin cơ bản của pool
- Pool ID: nhập id của pool để tạo pool mới
- Pool Name: nhập tên pool để tạo pool mới
- Select partner: chọn partner được assign pool
- Total main: chọn số lượng số main muốn set trong pool, hệ thống sẽ tự lấy đủ số lượng số trong pool set là số main, nếu nhập quá số lượng số có sẵn trong pool, sẽ set số lượng số main tối đa.
Khi setup xong, chọn Assign, hệ thống sẽ tự assign các số vào pool và setup số lượng số main, có thể xem lại thông tin pool tại menu pool.
Nếu muốn xóa số ra khỏi pool, có thể thực hiện tương tự, chọn các số muốn unassign → chọn Assign/Unassign pool → chọn pool muốn unassign và chọn Unassign.
3.7 Pools
Màn hình Pools sẽ show danh sách các pool mà partner đó đã tạo hoặc các pool mà partner đó được assign.

Giải thích thông số:
- Created: thời gian tạo pool
- ID: mã code của pool
- Pool name: tên pool
- Replace threshold: ngưỡng thay số của pool
- Total main: tổng số lượng số main trong pool
- Failover strategy: rule pickup số trong pool để gọi ra
- Partner: partner được assign pool
- Create by: partner tạo pool
Khi bấm vào từng pool sẽ là thông tin chi tiết của mỗi pool:

Giải thích thông số:
- Pool ID: ID của mỗi pool
- Pool name: tên của pool
- Select partner: partner được assign pool
- Replace threshold (%): ngưỡng thay số của pool, tính theo số lượng số main ready/ tổng số main. Khi số lượng số main Ready < ngưỡng thì hệ thống sẽ thực hiện thay số, lấy số backup thay vào số main và chuyển số main bị blocked thành số backup
- Threshold (num): ngưỡng thay số dưới dạng number
- Failover Strategy: chế độ pickup số thật trong pool. Có 2 chế độ là Round robin và Linear.
-
- Round robin: thì hệ thống sẽ xoay vòng các số thật, cuộc đầu tiên dùng số thứ nhất, cuộc 2 dùng số thứ 2,… đến khi hết số main thì quay lại dùng số thứ nhất.
- Linear: thì có thêm phần setup failover theo sip code hoặc theo reason, chế độ linear thì hệ thống sẽ luôn dùng số thứ nhất để gọi đến khi nào số bị failed (dựa vào sip code hoặc reason) thì sẽ dùng số tiếp theo để gọi ngay trong cuộc gọi đó.
- Remain backup threshold (%): ngưỡng notify khi pool gần hết số backup, tính theo tổng số lượng số backup ready/ tổng số lượng số backup. Khi số lượng số backup ready < ngưỡng thì hệ thống sẽ notify cho partner biết để kịp thời bổ sung số.
- Threshold (num): tỷ lệ ngưỡng tính dưới dạng number
- Failover By, Failover sip code: sip code hoặc reason dùng để failover khi dùng chế độ Linear
- Total number: tổng số lượng số trong pool
- Count main: tổng số lượng số main trong pool, trong ngoặc: tổng số lượng số main còn ready. Số main là số sẽ được dùng để gọi ra.
- Count backup: tổng số lượng số dự phòng trong pool, trong ngoặc: tổng số lượng số dự phòng còn ready
Danh sách số trong pool:

Giải thích thông số:
- Phone number: danh sách số
- Network: mạng của số hotline
- Telco status: trạng thái của số
- Main: số được tick là số main, số không được tick thì là số backup
3.8 RTP Server
RTP Server để cấu hình với trường hợp PBX hoặc Telco có sử dụng RTP Server riêng. RTP Server sẽ được chọn trong phần cấu hình gateway tương ứng

3.9 Gateway
Menu Gateway để cấu hình các đường SIP Trunk kết nối tới nhà mạng, PBX thông qua IP, port.

Thông số:
ID: ID của mỗi gateway
Type: loại gateway
IP Address: địa chỉ IP của gateway
RTP Proxy: nếu có rtp server thì sẽ là yes
RTP Server: id của RTP Server
Ví dụ cấu hình 1 luồng outbound từ PBX1 → SBC → Telco1, sẽ cần cấu hình 2 gateway từ SBC tới PBX1 và SBC tới Telco 1
3.10 Group of Gateway
Group of gateway được sử dụng để nhóm nhiều gateway thành 1 group, khi cấu hình Routing table cho outbound có thể cấu hình cho cuộc gọi đẩy tới group gateway đó.

3.11 Dialplan
- Menu dialplan để cấu hình các định dạng số được phép gọi, Khi caller/callee được setup dialplan tương ứng thì format số phải khớp với định dạng dialplan đã được setup sẵn với rule gọi theo nhà mạng, hoặc thay thế prefix 84 thành 0…

3.12 Routing table
Routing table để cấu hình định tuyến rule gọi cho mỗi số phone number.

Thêm mới routing table:

Thông số:
ID: ID của routing table
Phone number: số điện thoại
Direction: chiều cuộc gọi (outbound/inbound)
CCU limit: giới hạn số lượng cuộc gọi đồng thời
Caller DPID: format số caller, chọn dialplan tương ứng hoặc chọn none
ACL: access list control – chọn nhóm group gateway được phép gọi tới và dùng số phone number này
Caller DPID: format số callee được phép thực hiện cuộc gọi, chọn dialplan tương ứng hoặc chọn none
Callee DPID: chọn định dạng số gọi ra theo dialplan, các số callee sai format sẽ không gọi được
Callee MNP: chọn định dạng số gọi ra, check được các số chuyển mạng giữ số, các số callee sai format sẽ không gọi được
Routing By: chọn gateway hoặc group gateway tương ứng để SBC đẩy cuộc gọi tới destination này
- Nếu số được tạo từ file import hệ thống sẽ tự động tạo routing table của số đó theo các thông tin IP, Port từ file import.
3.13 Testing phone number
- Tính năng kiểm thử số để kiểm tra xem số đã thông luồng outbound hay chưa.
Bước 1: Để thực hiện chức năng kiểm thử, user vào menu Sale number và tick chọn các số muốn kiểm thử

Bước 2: Chọn vào Bulk action → Test number

Bước 3: Nhập thông tin số callee nhận cuộc gọi, hệ thống sẽ dùng số caller đã chọn gọi tới số callee đã nhập, có thể nhập số mobile hoặc số SIP.

Bước 4: Hệ thống sẽ make call lần lượt, user có thể download report trong menu File Exported

Kết quả test:

Giải thích thông số:
- Hotline: đầu số cần test
- Direction: chiều cuộc gọi test
- Caller/Callee: số đích gọi tới (test outbound)
- Status: trạng thái: failed (thất bại), success (thành công)
- Reason: kết quả test chi tiết hơn. Success là các cuộc có kết nối/ đàm thoại. Failed Telco: trạng thái failed do telco trả mã lỗi. Failed System: failed có hệ thống trả mã lỗi, có thể do cấu hình thiếu.
3.14 Transactions
Transactions → CDRs sẽ chứa tất cả lịch sử cuộc gọi đã được tính cước, lợi nhuận. Nếu cuộc gọi được thực hiện nhưng không có account code thì sẽ không có data trong transaction.

Thông số:
Account code: account code của partner đã thực hiện cuộc gọi này
Time: thời gian khởi tạo cuộc gọi
Caller: số thực hiện cuộc gọi
Callee: số nhận cuộc gọi
Direction: chiều cuộc gọi
Duration: thời gian đàm thoại của cuộc gọi (billsec)
Total duration: tổng thời gian của cuộc gọi, tính từ lúc cuộc gọi bắt đầu đến lúc cuộc gọi kết thúc
Buy cost: số tiền cước cuộc gọi được tính theo giá mua
Sell cost: số tiền cước cuộc gọi được tính theo giá bán
Margin: % tỷ lệ lợi nhuận, được tính theo công thức (profit/sell cost)*100
Profit: số tiền lợi nhuận của từng cuộc gọi, tính theo chênh lệch từ giá mua và giá bán
3.15 CDRs
Menu Log → Call Detail Records lưu tất cả lịch sử cuộc gọi của hệ thống. Mỗi partner sẽ xem được CDR của mình và các partner cấp con (cuộc gọi cần truyền account code để hệ thống biết đó là cuộc gọi của partner nào)

Thông số:
Time: thời gian khởi tạo cuộc gọi
Caller: số thực hiện cuộc gọi
Callee: số nhận cuộc gọi
Direction: chiều cuộc gọi
SIP Code: mã sip code cuộc gọi
Duration: thời gian đàm thoại của cuộc gọi (billsec)
Setup time: thời gian khởi tạo cuộc gọi
Source IP: IP thực hiện cuộc gọi
Network: nhà mạng của số callee
3.16 Change logs
Menu change logs lưu lại các lịch sử thay đổi trên hệ thống, hiện tại changes log chỉ phân cho user Superadmin. Có thể filter theo thời gian để thấy được các lịch sử thay đổi:

3.17 File exported
Menu file exported chứa danh sách các file được export, user có thể download về máy:
