Elastix 的计费模块位于 Reports->Billing 下
其实严格意义来说,Elastix 的计费并非是实时计费,更像是秋后算账的意思。所以在通话时,并不会切入计费,而是通过拨号号码的前缀,来匹配计算费用。
我们可以通过 Billing 下的 Billing Setup 及 Rates 进行计费的设置,这块比较简单,大家可以我引用的另一篇关于 billing 的介绍。
费用统计是通过 Billing Report 来查看计费情况。但是这个模块统计出来的,明显与我们的意愿有冲突,我们定义费率时,是以 分钟的方式来计费的,但是实际系统是按秒来计费的,导致计费公式为:
费用 = 通话时长(秒)/ 60 * 费率 + RateOffset(这个是指除了正常费用外的服务费之类,一般我们设置为0)
但是我们的意愿收费是:
费用 = 通话时长(转换为分钟,floor(通话时长(秒)+ 1)) * 费率 + RateOffset
要修改这段代码,需要打开:
/var/www/html/modules/billing_report/index.php 并找到
$charge=(($value['duration']/60)*$rate_value)+$rate_offset;
将其改为:
$charge = (floor($value['duration']/60)+1)*$rate_value + $rate_offset;
注意:共有两个 $charge 需要修改,一个是页面查询的,一个是导出结果的。