Chương 4 : GIỚI THIỆU A2BILLING
3. Cấu trúc và nguyên tắc hoạt độngcủa A2Billing
Asterisk xuất ra một CDR (Call Detail Record) cho mỗi cuộc gọi. Thường thì tập tin lưu trữ này sẽ được Asterisk xuất ra trong thư mục /var/log/asterisk/cdr-csv. CDR sẽ chứa đựng những
thông tin chi tiết về các cuộc gọi trong asterisk. Và để thực hiện chức năng tính tiền, chúng ta sẽ phải tìm hiểu về CDR.
Trong mỗi file CDR sẽ bao gồm những thành phần chính sau:
accountcode: account number được sử dụng (là dãy gồm 20 kí tự). src: CallerID number (là dãy gồm 80 kí tự).
dst: Destination extension (là dãy gồm 80 kí tự). dcontext: Destination context (là dãy gồm 80 kí tự). clid: CallerID (dãy gồm 80 kí tự).
dstchannel: Destination channel (80 kí tự). lastapp: Ứng dụng cuối cùng sử dụng (80 kí tự). lastdata: Dữ liệu ra của ứng dụng cuối cùng (80 kí tự). start: Thời gian bắt đầu cuộc gọi (date/time).
answer: Thời gian trả lời cuộc gọi (date/time). end: Thời gian kết thúc cuộc gọi (date/time). duration: Thời gian cuộc gọi từ lúc quay số (giây). billsec: Tổng thời gian gọi từ lúc có tín hiệu trả lời (giây).
disposition: Trạng thái cuộc gọi: ANSWERED, NO ANSWER, BUSY, FAILED. amaflags: AMA = Automated Message Accounting.
omit: Không record calls.
billing: Đánh dấu để thực hiện billing.
documentation: Đánh dấu cho documentation.
user field: Người dùng tự định nghĩa (tối đa 255 kí tự).
Trong một mạng lưới điện thoại thông thường, hệ thống tạo ra CDR từ các thành phần của mạng. Còn những ứng dụng mà thực thi trên cơ sở dữ liệu CDR sẽ sử dụng cơ sở dữ liệu đó ở dạng khác. Và OSS (operations support systems) là một quá trình được biết như chuyển cơ sở dữ liệu của CDR sang một dạng cơ sở dữ liệu khác mà ta có thể thực thi được dễ dàng. Với trường hợp của
A2Billing thì cơ sở dữ liệu mà ta sẽ sử dụng để thực thi chức năng tính tiền, quản lý cuộc gọi là
Hình 4.3. Chức năng của OSS
Trong Asterisk thì CDR được sinh ra trong cùng hệ thống máy chủ với Asterisk. Khi CDR được sinh ra, một quá trình tính tốn cho mỗi cuộc gọi sẽ được thực hiện dựa trên cơ sở dữ liệu của
một hoặc nhiều file CDR. Quá trình này được gọi là đánh giá và có thể được thực thi trên một bộ
máy khác. Điều này cho phép chúng ta thực thi ứng dụng ở một máy chủ khác không phải là máy chủ Asterisk.
Hệ thống đánh giá này là một phần của hệ thống tính tiền. Và hệ thống tính tiền của chúng ta sẽ quyết định thời gian cuộc gọi, tính tốn số dư tài khoản và cho phép cuộc gọi được thiết lập hay khơng. Từ đó sẽ tương tác trở lại hệ thống máy chủ Asterisk thông qua các các hàm AGI.